Home |
Search |
Today's Posts |
#12
![]() |
|||
|
|||
![]() "Lancer" wrote in message ews.com... On Sun, 29 Aug 2004 01:20:38 -0400, "Leland C. Scott" wrote: I didn't use any OS calls at all. The only BIOS functions I used were direct calls to read/write absolute disk sectors. Everything else I had to write from scratch. As simple as the DOS file system was there was still a lot to handle. What made thing more interesting was all I had to work with was a Windows 98 machine. That made thing more complicated because Windows always wanted to create long file names which messed things up a bit when you format a disk. I had to put extra routines in to the code to filter that crap out so when the disk was defragmented I had wiped all the Windows file system extensions out, thus generating a valid DOS disk. Windows 98 runs on a DOS kernel, so all windows 98 systems run on a "valid" DOS disk. Edit your msdos.sys and turn your GUI off. Or just make yourself a boot disk and format the drive. Yeah, however I didn't feel like rebooting the computer 20 - 30 times going through the design - test - debug routine each time I worked on the project. The complier runs under Windows, but the defrag program runs under DOS. When the program failed I ended up with a wrecked disk format. It was easier to format the disk in a DOS window and just filter the long file name directory entries out during the defrag process. It was rather easy to do anyway since the long file name extension is done by using extra directory entries, 11 characters per entry, following the normal DOS directory entry for a given file. The long file name directory entry is marked with an invalid set of attribute bits that can't be set by the user under any condition so its easy to detect. Also it just so happens that DOS ignores the directory entries with the invalid attribute bit settings. The long file name ability using Windows is a real hack on the part of Microsoft. Each directory entry uses 32 bytes, and only 11 are used, the old DOS 8 dot 3 file name format, the rest is wasted. Enough of these directory entries are used as required until there is enough 11 byte blocks to hold the long file name. -- Leland C. Scott KC8LDO Wireless Network Mobile computing on the go brought to you by Micro$oft |
Thread Tools | Search this Thread |
Display Modes | |
|
|