IDEDOS: Difference between revisions

Jump to navigation Jump to search
883 bytes added ,  27 March 2011
no edit summary
No edit summary
No edit summary
Line 2: Line 2:
[[category:Specifications]]
[[category:Specifications]]


IDEDOS is a hard disk formatting scheme designed for ZX Spectrum computers and clones. It was designed by Garry Lancaster for his [[+3e]] ROMs, and extended by Jarek Adamski to support his ZXVGS, CPM22QED and YaPaDOS operating systems.
IDEDOS is a hard disk formatting scheme designed for ZX Spectrum computers and clones. It was designed by Garry Lancaster for his [[+3e]] ROMs and ResiDOS RAM based operating system, and extended by Jarek Adamski to support his ZXVGS, CPM22QED and YaPaDOS operating systems.


==Format==
==Format==
Line 28: Line 28:
IDEDOS Partition entry - 64 bytes
IDEDOS Partition entry - 64 bytes
0x0000 PN PN PN PN PN PN PN PN PN PN PN PN PN PN PN PN
0x0000 PN PN PN PN PN PN PN PN PN PN PN PN PN PN PN PN
0x0010 PT SC SC SH EC EC EH LS LS LS LS XX XX XX XX XX
0x0010 PT SC SC SH EC EC EH LS LS LS LS SS V1 V2 V3 V4
0x0020 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
0x0020 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
0x0030 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
0x0030 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
Line 41: Line 41:
LS: largest logical sector. 32 bit little endian word.
LS: largest logical sector. 32 bit little endian word.
XX: partition type specific data.
XX: partition type specific data.
(Virtual Geometry for Disk Image partitions)
SS: Sector Shift.
V1: Virtual Sector Size (0-128B, 1-256B, 2-512B, 3-1024B).
V2: Virtual first sector number (0 to 240).
V3: Virtual heads.
V4: Virtual sectors.
</pre>
</pre>
====Partition Types====


There are numerous partition types [http://8bit.yarek.pl/system/fs.idedos/index.html defined]
There are numerous partition types [http://8bit.yarek.pl/system/fs.idedos/index.html defined]
Line 65: Line 74:
</pre>
</pre>


====The IDEDOS System Partition Partition Table Entry====
=====Partition Type 0x01 - The IDEDOS System Partition=====
The first partition entry in the partition table is the IDEDOS system partition.
The first partition entry in the partition table is the IDEDOS system partition.
The starting head and ending head are either zero or one depending on where the partition table has been written.
The starting head and ending head are either zero or one depending on where the partition table has been written.
Line 85: Line 94:
EA: +3 BASIC editor attribute byte
EA: +3 BASIC editor attribute byte
DD: plus3dos default drive letter
DD: plus3dos default drive letter
??: unknown
??: unused
</pre>
</pre>


====Partition Type 0x03 - +3DOS====
=====Partition Type 0x03 - +3DOS=====
The [[+3e|+3e ROMs]] create partitions of type 0x03 i.e. [[+3DOS]] partitions. The type specific data portion of the Partition Entries for these partitions contain a [[+3DOS#XDPB|+3DOS XDPB (eXtended Disc Parameter Block)]] between 0x0020 to 0x003A and also the +3DOS drive letter to which the partition has been mapped (if any)
The [[+3e|+3e ROMs]] create partitions of type 0x03 i.e. [[+3DOS]] partitions. The type specific data portion of the Partition Entries for these partitions contain a [[+3DOS#XDPB|+3DOS XDPB (eXtended Disc Parameter Block)]] between 0x0020 to 0x003A and also the +3DOS drive letter to which the partition has been mapped (if any)


Line 100: Line 109:
DP: +3DOS extended disk parameter block byte
DP: +3DOS extended disk parameter block byte
DL: plus3dos drive letter
DL: plus3dos drive letter
??: unknown
??: unused
</pre>
</pre>


Line 132: Line 141:
</pre>
</pre>


====Partition Type 0xFF - Free Space====
=====Partition Type 0x3x - Non-CP/M Disk Image Partitions=====
For partitions containing non-CP/M floppy disk images the type specific information defines a virtual geometry. More than one disk image partition can be present on each track, i.e. the partitions do not have to align to track boundaries.
This is achieved by specifying a sector shift in the partition table entry. For example for a disk with 980 cylinders, 5 heads, 17 sectors per track and 512 bytes per sector, a 800kB partition takes 1600 sectors which is equal to 18 cylinders + 4 tracks + 2 sectors, so the shift for next partition is 2.
 
=====Partition Type 0xFF - Free Space=====
A Type 0xFF partition entry as created by the +3e ROMs is all blank except for the type byte and the location and size information. The type specific information is not used.
A Type 0xFF partition entry as created by the +3e ROMs is all blank except for the type byte and the location and size information. The type specific information is not used.

Navigation menu