About:
DF-DOS is a subproject of DFOS, it is designed to be a simple OS to help me learn some of the principles.
The end product should be very MS-DOS like in style and contain a certain degree of support with MS-DOS binaries and files.
This will probably branch off into a Monolith, Micro and more usefull versions. (I never seem to be happy with just 1 type, lol).
Aims:
To learn about real mode Operating Systems
To create a MS-DOS substitute
To have decent network/internet support
To contain a very simple multi-tasking system
Technical:
To create a decent professional looking and working real mode operating system.
It is designed not like freeDOS which aims to copy MS-DOS exactly but to setup an OS which has MS-DOS support where possible.
But to have no limitations but to change and mutate as I see fit in the early stages with no hard and fast standards needed.
I would like to have a simple multi-tasking (time share) system. But this could be interesting in the early stages.
I want a seperate driver file's supported, and loaded by the kernel on startup.
I want a FAT12 filesystem initally, then to work with adding support for other filesystems.
I will aim to setup a mouse and network driver initally, then some sort of VGA system.
Kernel:
Hope to have basic MS-DOS binary support. (In process of adding)
Floppy disk FAT12 support. (In process)
Seperate driver files support.
Config file support.
Basic set of built in commands initally.
Drivers/Apps/Utilities/Seperate files:
Drivers-
Advanced filesystem and hard drive drivers + support.
Network driver + support.
Internet/Modem drivers + support.
Mouse driver + support.
Printer driver.
Utilities-
NASM16 compiled and working.
Python port working.
A password option/simple security.
Applications-
Simple text program/word processor.
A simple browser.
Current status:
I have a working kernel :-D
It currently has a simple builtin prompt, however I hope to at a later date move the prompt out of the kernel.
Interrupt handler up and running.
Most interrupt functions made, odd one being added from time to time though.
FAT12 driver was able to write files until recent hard drive crash, needs to be re-written for 0.04 to be released properly.
FAT12 (write) driver and Printer driver soon to appear. Directorys and attribute features of the filesystem will be added in a later version (0.05 or 0.06 I hope)
Planned next stages:
FAT12 filesystem support (almost complete, 65%)
Application support (Very simple .com file support done, .exe yet to be done)
Printer driver
External driver support
Mouse driver
Multi tasking (or similar) the drivers
Moving the main prompt out of the kernel.
Installer (In Progress)
If I get to this point I would be very happy, the list will be updated when/if this point is reached.
Downloads: Please check the notices further down the page before downloading
We have no installer yet so you will have to follow the instructions within
the package itself, existing scripts are more place holders and may well not work as expected.
Version 0.01 (Contains bootloader Ver 0.4 and DF-DOS kernel ver 0.01) - Size: 21kb
Version 0.02 (Contains bootloader Ver 0.5 (FAT12) and DF-DOS kernel ver 0.02) - Size: 39kb
Version 0.03 (Contains bootloader Ver 0.5 and DF-DOS kernel ver 0.03) - Size 50kb
Version 0.04a (Contains bootloader Ver 0.5 and DF-DOS kernel ver 0.04a) - Size 53kb
Version 0.04a is a snapshot and not a final release, tho tested and should be as bug free as the earlier versions. The .com header code is more complete and an early ls command is present.
Version 0.04 will be released shortly now the FAT12 driver is almost complete - Due to computer crash this release has been put on hold. (NOT linked to OS development but physical harddrive failer)
Coming in the next version: (0.05)
Filesystem - Directory support (to some degree)
Driver - Printer driver
App - Simple text editor
App - Text calculator
Screen shots:
Those pictures were taken using XV to grab a bochs window. (Bochs has been giving me some hassle lately however so the pictures are going to be few and far between for a while)
Picture 1 (Version 0.01, booted using version 0.4 of the bootloader, in bochs)
All versions since are very similar so screen shots are not really required, though more will be taken soon with the next couple of versions adding functionality to the OS.
Version 0.04 will probably contain only command prompt commands but by version 0.05 I hope to have a small text word processor like MSDOS's edit program among other things.
Note:
* There is a bug installing DFDOS, this is mentioned on the previous osdev home page in further detail. (Windows not updating after installation of boot loader causing the need to force windows to re-read the floppy by reboot or changing disks).
* There was an error in the code that halted compiling due to a conflicting function name (thanks to Caleb Olson for pointing this out) as a result I have fixed this in all versions and taken the time to do some basic testing. All kernels and bootloader 0.5 will compile under nasm (DOS 16bit) version 0.98.38 and each kernel will load using the 0.5 version of the bootloader. Some documentation may have been modified/updated during this process also.
* Version 0.04a has the ability to run simple DOS programs. You can find some possibly compatible demos at www.256b.com but I don't endorse/support them in any way and I'm not responsible for damage caused by running those programs.
Note - Any software on this site could damage your computer, though that is unlikely and not intended the author accepts no responsibility.