usotsuki
Experienced Member
- Joined
- Nov 30, 2010
- Messages
- 86
It seems fairly well known DR DOS is able to boot off a 1.44 MB floppy drive installed in an XT.
I'm trying to find the logic to how DR DOS does it, so I can modify the MS-DOS 3.3 bootloader to do this - it looks like that should be the only place where this matters. (Mike Chambers and I made an attempt to get it to work by fudging some values in RAM. He has such a system to test on.) The goal would be, as I find MS-DOS 3.3 the most ideal for an 8088 box with no hard drive, to allow it to be booted directly from a 1.44 MB disk on such a computer.
ETA:
Code added before the first STI.
Code added directly before the "Non-system disk" error (which I reduced in size):
I'm trying to find the logic to how DR DOS does it, so I can modify the MS-DOS 3.3 bootloader to do this - it looks like that should be the only place where this matters. (Mike Chambers and I made an attempt to get it to work by fudging some values in RAM. He has such a system to test on.) The goal would be, as I find MS-DOS 3.3 the most ideal for an 8088 box with no hard drive, to allow it to be booted directly from a 1.44 MB disk on such a computer.
ETA:
Code added before the first STI.
Code:
push ax
push cx
push si
push di
mov ax, ttlsec ; are we by chance...
cmp ax, 2880 ; a 1.44 MB floppy?
jne not144 ; no, don't worry about it.
xor ah, ah
mov al, patcon ; how much to patch?
push ax
pop si
mov ax, 07C2Ah ; location of patch
push ax
pop di
xor ch, ch
mov cl, patlen
rep movsb
pop di
pop si
pop cx
pop ax
not144:
Code added directly before the "Non-system disk" error (which I reduced in size):
Code:
patlen db 23
patcon db 01h, 0AFh, 02h, 25h, 02h, 12h, 1Bh, 0FFh
db 6Ch, 0F6h, 01h, 08h, 0FAh, 21h, 00h, 00h
db 00h, 02h, 00h, 7Ch, 16h, 13h, 0BBh
Last edited: