Loading IS-DOS
ZXNet echo conference «real.speccy»
From Kirill Frolov → To All 16 June 1999
As I understand it, to carry out the subject you need:
1. Find 0 disk block and read the FBC from is_dos.sys
2. Read is_dos.sys itself which can be either continuous or
segmented.
3. Run...
For Points 1 and 2 on the screw, you need to know the geometry of the screw and the initial
surface/track/sector for reading 0 disk block. All this data
is contained in the screw driver, which is located in is_dos.sys or is loaded
separately... Insanity.
Here is an interesting question - do the number of tracks,
sectors and surfaces read from the screw correspond to reality? IMHO no. But in any
case, THIS cannot be guided by because... in the driver for isdos you can
set other values manually.
There are only 2 options - reserving space on the screw for the boot
record as is done in normal PCs, at the same time the screw will be split
into logical drives as in the PC. The second option is to store everything in space and this
will even work on screws with bb on the initial blocks. For the first
option it is also necessary that the is-dos disks do not start from the very beginning
of the screw. For standard isdos floppy disks there is always a boot record - in the 9th
sector. Option 1 is more correct, but somewhat more complicated.
There should be no questions about how to load is_dos.sys. There is a
file descriptor and it saysthe initial block of a file or descriptor block
of segments. Either simply count several blocks sequentially, or
by numbers and length taken from the segment descriptor. I don’t know how to launch it yet
, but IMHO you can find out in 5..10 minutes in the debugger.
Kirill Frolov. [ZX]