• Please review our updated Terms and Rules here

Setting up a DOS 2.11 FAT structure

per

Veteran Member
Joined
Jan 21, 2008
Messages
3,050
Location
Western Norway
I'm in a bit of a problem right now. I want to try to set up DOS 2.11 on a harddrive in a non-PC computer I have, (after the old disk crashed), but the standard floppy release doesn't have a device driver for the harddisk. I do have a backup of the original IO.SYS with an internal driver for the harddisk, but I have never been able to get that to boot from floppy. I have a format utility, but it's of no use unless the harddrive is mapped to a drive letter.

So my best bet right now is to manually piece together some kind of FAT12 implementation, and write it to the drive sector by sector.

Layout overview:
1 sector reserved for boot (allthough it's not used; DOS is loaded from harddisk with a program in a simpler OS)
16 sectors of FAT, 8 tables if I'm not mistaken.
32 sectors directory
The remaining 10355 sectors make up the data area.

The loader blindly assumes IO.SYS and MSDOS.SYS are in the start of the data area if their entries are in the directory table. What I need to do is just reconstruct a good enough implementation such that MSDOS.SYS will be able to load and run COMMAND.COM. From there I should be able to run the proper harddrive formatting tool.

-------

I have also tried to look into patching IO.SYS. There are not that many differences between the floppy and the HDD version of this file, but for some reason the HDD version will utterly fail to load if you attempt to boot it from diskette. If I could get it to map the HDD as drive B or C instead of A on boot, then it would problably work.
 
Exactly what system is this?

Is the DOS supposed to be able to boot on IBM PCs and clones? Perhaps if you post your "HD version" of MSDOS.SYS and IO.SYS and FORMAT.COM (for the matching boot sector) perhaps someone can piece together a bootable disk image.
 
It's the Z-80 based "Tiki-100" with an 8088 expansion card. It's wiered such that the Z80 and the 8088 can run simoultaneously in parallel, or the 8088 can take over the entire bus in order to access the Z80 memory space. Absolutely not PC-compatible at all.

There is even 3 different format.com editions. One for 40-track disks, one for 80-track disks and one for the HDD.

Right now I still haven't given up on the modifying IO.SYS approach. I think I might be spotting some trouble with the way the OEM releases of IO.SYS is implemented already. The "CURRENT_DOS_LOCATION" variable (see sysinit.txt in the DOS 2 source code) is hardcoded on load here, so if cluster-size (or file size of IO.SYS at all) is different this will be wrong. The hard-drive IO.SYS does use a large value due to the bigger cluster size on the HDD, but once booted from a floppy this is simply pointing to nowhere and MSDOS.SYS will be scrambled when it's relocated.

*UPDATE*

Reajusted the hardcoded values and I now get a stable boot, but "bad or missing command interperator" (as it's trying to load it from the unformatted HDD).

*Even more updates*

Got it booting by changing the "default startup drive" to B. Now the next problem is that it seems like the formatting program expects the HDD on a different letter than what I have it on. Again, the DOS 2 source code is of great help so I'm working on a patch.

*Final update*

Okay, got it working! :)

-----------------

Conclusion:
The FDD release boots with floppy drive on drive A-D. There was problably once a version that had a device driver for the harddisk as drive E, but in any way installing to hard drive must have been pretty convoluted even with that (custom sys files and the need to load from another OS). Very few of these machines had the 8088 expansion card and even less had the harddisk expansion, which might explain the akward implementation.
 
Last edited:
I wouldn't be surprised. Only some of the later machines had the 8088 expansion, and the DOS implementation was not PC-compatible. The did briefly try to make a PC-Compatible version of the machine as well, but quickly switched to making PC-clones with a Z80 expansion. In the end they had no chance to keep up the competition with the big PC-suppliers.

I'd love to make a demonstration video, but I'm terrible at acting/presenting things so I have not really done it yet. I can post a picture of the motherboard, though. It's almost the definition of PCB-pr0n :p The expansion cards are the HDD controller and the 8088 expansion. The small card is a prototype memory expansion I made for the 8088 expansion; it works sometimes if you push it around a bit (factory-made PCBs are on their way).
 

Attachments

  • RIMG0012.jpg
    RIMG0012.jpg
    96.9 KB · Views: 1
Last edited:
Back
Top