iS-DOS disk format
ZXNet echo conference «code.zx»
From Oleg Grigoriev → To Ivan Mak 1 September 1999
Let your enemies, Ivan, die without sons!
Wed 1 Sep 1999 at 04:52, Ivan Mak ═> All:
IM> Does anyone have complete information on the is-dos disk format?
IM> This refers to both physical and logical formats.
────[ The file app_01 .t begins here ]───────────────────────
┌─────────────────── ────────────────────┐
│APPENDIX 1. Structure of the descriptor │
│ device (disk) │
│ │
│0th BLOCK: (0th sector of 0th track) │
├─────────────────── ────────────────────┤
│small-long-comments │
│yet-on │
│nie │
├──┬──┬───────────── ────────────────────┤
│ 0│ 2│Reserve │
│ 2│ 8│Device name │
│10│ 3│iS-DOS sign: "DSK" │
│13│ 5│Reserve │
│18│ 2│Device size │
│ │ │(in blocks of 256 bytes) │
│20│ 2│Number of the 0th block of the main catalog-│
│ │ │ha │
│22│ 1│Number of tracks on device │
│23│ 1│Disk type. Bits(0/1): │
│ │ │ 0 - 40/80 tracks │
│ │ │ 1 - 1/2 sides │
│24│ 1│Sector size: │
│ │ │1/2/4: 256/512/1024 bytes │
│25│ 1│Number of sectors on the track ││26│ 1│Reserve │
│27│ 1│Checksum of 32 bytes │
│ │ │descriptor ????_dos.sys │
│28│ 2│Reserve │
│30│ 2│Date │
│32│32│Descriptor ????_dos.sys │
│64│16│Sector number table │
│ │ │on the path │
├──┴──┴───────────── ────────────────────┤
│ 1st BLOCK: Device bitmap.│
│ 1 bit/block: 0-free/1-busy│
└─────────────────── ────────────────────┘
????_dos.sys descriptor at offset 32
is placed in the 0th block by the con.com program and
read by the boot.sys loader.
.
────[The file app_01 .t ends here]────────────────────────
────[ The file app_09 .t begins here ]───────────────────────
┌──────────────────────────── ────────────────────────────┐
│ APPENDIX 9. Resident file service vector │
│ / bkfcb(#35) DUD.SYS / │
│ │
│ offset name length comment │
│ education │
│ │
│ -8 DSIZE 2 Open device size in blocks │
│ -6 BMSIZ 2 Size of the bitmap in bytes (see APPENDICES │
│ -4 FCBA 2 User file descriptor address ││ -2 1 Temporary file number │
│ -1 FNUMB 1 File number (#FF if the file is not open) │
│ │
│ 0 32 Descriptor of the current (open) file: │
│ 0 FNAME 8 Name │
│ 8 FTYPE 3 Type │
│ 11 FSTAT 1 File status register. Bits (0/1): │
│ 0 - deleted/exists │
│ 2 - read protected(1) │
│ 3 - write protected(1) │
│ 4 - visible/hidden file │
│ 5 - file/directory (root file) │
│ 6 - segmented/continuous │
│ 7 - protected from deletion(1) │
│ │
│ 12 FLSA 2 Default Load Address │
│ 14 FLENG 3 Length │
│ 17 FSDBN 2 Segment descriptor block number │
│ (For a continuous file - number zero │
│ file block) │
│ 19 WRKST 1 "Special" │
│ 20 6 Reserve │
│ 26 FSUM 2 File checksum ││ 28 FTIME 2 Time │
│ 30 FDATE 2 Date │
│ │
│ 32 23 Descriptor of the current (open) catalog │
│ (internal) │
│ 32/0 CATLG 8 Current directory name │
│ 40/8 3 spaces (directory type) │
│ 43/11 1 CSR catalog │
│ 44/12 CDLSA 2 CBBN of the parent catalog │
│ 46/14 *CSIZE 2 Directory size in bytes │
│ 48/16 *LEVEL 1 Subdirectory nesting level │
│ 49/17 CSDBN 2 Segment descriptor block number │
│ 51/19 CBBN 2 Number of the 0th catalog block │
│ 53/21 *NFILE 1 Total number of files (including itself │
│ directory and remote) │
│ 54/22 *NEFIL 1 Number of files without directory and deleted │
│ │
│ 55 1 │
│ │
│* - unused variables in the external descriptor │
│ catalogue. │
└──────────────────────────── ────────────────────────────┘
.
────[The file app_09 .t ends here]──────────────────────── [ WBR, Oleg. ]
[ 18:41 1 September XXXIV A.S. ]