Sat, 17 Nov 2012 19:18:29 +0000

Philip Pemberton <>
Sat, 17 Nov 2012 19:18:29 +0000
changeset 112
parent 14

add HDD support + fixes

Patch-Author: Andrew Warkentin <andreww591!gmail>
Patch-Message-ID: <>

I have added floppy write support, full hard disk emulation, and proper handling of DMA page faults to FreeBee. I also fixed the floppy step commands, changed the "force interrupt" floppy command to generate a type 1 status, and changed the DMA address counter to reset to 3fff when a transfer completes (which is what Unix seems to expect - without it, the kernel says that the floppy isn't ready). The floppy, hard disk, and DMA page fault tests all pass. Initializing hard disks and floppies also works (the geometry for both is still fixed by the size of the image, though, and format commands only appear to succeed, but they don't modify the image). Unix still doesn't run, though (it hangs after reading some sectors from the floppy).

philpem@13 1 #define VER_COMPILE_DATETIME "@@datetime@@"
philpem@14 2 #define VER_COMPILE_DATE "@@date@@"
philpem@14 3 #define VER_COMPILE_TIME "@@time@@"
philpem@14 4 #define VER_COMPILE_BY "@@whoami@@"
philpem@14 5 #define VER_COMPILE_HOST "@@hostname@@"
philpem@14 6 #define VER_COMPILER "@@compiler@@"
philpem@14 7 #define VER_BUILD_TYPE "@@buildtype@@"
philpem@14 8 #define VER_CFLAGS "@@cflags@@"
philpem@0 9
philpem@14 10 #define VER_MAJOR @@majorver@@
philpem@14 11 #define VER_MINOR @@minorver@@
philpem@14 12 #define VER_BUILDNUM @@buildnum@@
philpem@14 13 #define VER_EXTRA "@@extraver@@"
philpem@14 14 #define VER_VCSREV "@@vcsstr@@"
philpem@0 15
philpem@13 16 #define VER_FULLSTR "@@fullverstr@@"
philpem@0 17