annotate defs/rbf.d @ 2624:b8c7b7fbf3c9

Major changes: o os9defs, rbfdefs, scfdefs now os9.d, rbf.d, and scf.d o vtiodefs now broken into cocovtio.d (for coco and dragon) and atarivtio.d o systype now broken into coco.d, dragon.d and atari.d o all references to the above in other files have changed
author Boisy Pitre <boisy.pitre@nuance.com>
date Fri, 24 Feb 2012 08:51:08 -0600
parents
children 6bd6e348665d bfe3de781ddf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2624
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
1 IFNE RBF.D-1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
2
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
3 RBF.D SET 1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
4
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
5 ********************************************************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
6 * rbf.d - Random Block File Manager Definitions
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
7 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
8 * $Id$
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
9 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
10 * RBF stands for 'Random Block Filemanager' and is a package of subroutines
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
11 * that define the logical structure of a disk and allows access to the files
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
12 * in that structure.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
13 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
14 * The data structures in this file give RBF its 'personality' and are used
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
15 * by RBF itself, as well as applications that will require disk I/O.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
16 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
17 * Edt/Rev YYYY/MM/DD Modified by
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
18 * Comment
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
19 * ------------------------------------------------------------------
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
20 * 1982/07/13 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
21 * PD.Exten added to path descriptor and PE Entries defined.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
22 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
23 * 1982/07/15 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
24 * V.FileHd inserted in driver static storage.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
25 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
26 * 1982/09/10 WGP
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
27 * Level One/Level Two condionals added.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
28 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
29 * 1982/09/17 WGP
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
30 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
31 * 1982/09/17 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
32 * PD.SLE renamed to PD.Creat.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
33 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
34 * 1982/09/17 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
35 * V.DiskID, V.BMapSz, V.MapSct added for smart multi-sector bitmap searching.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
36 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
37 * 1982/09/20 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
38 * Reserved areas added in static storage.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
39
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
40 * 1983/06/07 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
41 * Added InDriver flag in PD.SMF.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
42 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
43 * 1983/06/13 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
44 * Added PE.Req tmp save for PE.Lock.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
45 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
46 * 1983/08/08 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
47 * Reserved PD.SToff for Japanese.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
48 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
49 * 1983/11/19 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
50 * Added V.ResBit in drive tables.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
51 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
52 * 1983/12/12 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
53 * Added PE.Prior to save process priority.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
54 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
55 * 1983/12/13 Robert F. Doggett
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
56 * Added BufBusy bit in state flag (PD.SMF).
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
57 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
58 * 1984/07/06 Mark G. Hawkins
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
59 * Added Bit Definitions for DD.FMT.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
60 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
61 * 1987/06/23 Kevin K. Darling
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
62 * Updated with Dev Desc Info
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
63 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
64 * 2003/06/02 Boisy G. Pitre
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
65 * Updated comments for clarity.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
66 * Added TYP.256-TYP.2048 definitions for future expansion.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
67 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
68 * 2004/04/14 Boisy G. Pitre
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
69 * Added new entries to device descriptor as per OS-9 Level One V2.00.00
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
70 * addendum. Pointed out by Rodney Hamilton.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
71 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
72 * 2005/05/31 P.Harvey-Smith.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
73 * Added defines for bit 2 of IT.DNS, which the format command uses to
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
74 * determine if a drive should have it's track 0 as single or double density
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
75 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
76 * 2005/11/23 Robert Gault
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
77 * Added IT.MPI giving it duplicate location with IT.TFM. This will not be
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
78 * transferred to the path descriptor, thus the equ * rahter than rmb 1.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
79 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
80 * 2005/12/11 Boisy G. Pitre
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
81 * Added IT.SOFF1-ITSOFF3 and IT.LLDRV for SuperDrivers.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
82
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
83 NAM rbf.d
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
84 TTL Random Block File Manager Definitions
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
85
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
86 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
87 *******************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
88 * RBF Device Descriptor Offsets
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
89 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
90 * These definitions are for RBF device descriptors.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
91
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
92 ORG M$DTyp
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
93 RMB 1 Device type (DT.RBF)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
94 IT.DRV RMB 1 Drive number
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
95 IT.STP RMB 1 Step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
96 IT.TYP RMB 1 Disk device type information
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
97 IT.DNS RMB 1 Density capability
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
98 IT.CYL RMB 2 Number of cylinders
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
99 IT.SID RMB 1 Number of surfaces
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
100 IT.VFY RMB 1 Verify disk writes (0 = verify, 1 = don't)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
101 IT.SCT RMB 2 Default sectors/track
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
102 IT.T0S RMB 2 Default sectors/track for track 0 sector 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
103 IT.ILV RMB 1 Sector interleave offset
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
104 IT.SAS RMB 1 Segment allocation size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
105 * The following fields are from the OS-9 Level One V2.00.00 Addendum
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
106 IT.TFM RMB 1 DMA Transfer Mode
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
107 IT.Exten RMB 2 Path Extension (PE) for record locking
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
108 IT.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
109 * The following fields are not copied to the path descriptor
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
110 IT.WPC RMB 1 Write precomp cyl/4 (HD)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
111 IT.OFS RMB 2 Starting cylinder offset (HD)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
112 IT.RWC RMB 2 Reduced write current cylinder (HD)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
113 * These fields have been added because of SuperDriver. They probably
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
114 * can be used in other drivers
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
115 ORG IT.WPC
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
116 IT.SOFF1 RMB 1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
117 IT.SOFF2 RMB 1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
118 IT.SOFF3 RMB 1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
119 IT.LLDRV RMB 2
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
120 IT.MPI RMB 1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
121
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
122
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
123 * IT.TYP Definitions
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
124 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
125 TYP.HARD EQU %10000000 Hard disk
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
126 TYP.FLP EQU %00000000 Floppy disk
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
127 TYP.NSF EQU %01000000 Non-standard format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
128 TYP.SOF EQU %00000000 Standard NitrOS-9 format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
129
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
130 * IT.TYP bit definitions if bit 7 of IT.TYP is set (hard disk)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
131 TYPH.256 EQU %00000000 256 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
132 TYPH.512 EQU %00000001 512 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
133 TYPH.1024 EQU %00000010 1024 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
134 TYPH.2048 EQU %00000011 2048 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
135 TYPH.SSM EQU %00000011 Sector size mask
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
136 TYPH.DRSV EQU %00001100 Driver-reserved bits
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
137 TYPH.DSQ EQU %00010000 Drive size query flag
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
138
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
139 * IT.TYP bit definitions if bit 7 of IT.TYP is clear (floppy disk)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
140 TYP.5 EQU %00000000 5" media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
141 TYP.3 EQU %00000001 3.5" media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
142 TYP.SBO EQU %00000010 Sector base offset (clear = 0; sect = 1)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
143 TYP.256 EQU %00000000 256 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
144 TYP.512 EQU %00000100 512 byte sector media
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
145 TYP.CCF EQU %00100000 CoCo format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
146 TYP.NCCF EQU %00000000 Non-CoCo format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
147
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
148 * IT.DNS Definitions
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
149 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
150
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
151 * If bit 7 of IT.TYP is set, IT.DNS is driver-dependent
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
152
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
153 * IT.DNS bit definitions if bit 7 of IT.TYP is clear (floppy disk)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
154 DNS.FM EQU %00000000 Single-density (FM)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
155 DNS.MFM EQU %00000001 Double-density (MFM)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
156 DNS.STD EQU %00000000 Single track distance (48/135 tpi)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
157 DNS.DTD EQU %00000010 Double track distance (96 tpi)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
158
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
159 * Added PHS,2005-05-31, as format seems to use these
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
160 DNS.FM0 EQU %00000000 Single density track 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
161 DNS.MFM0 EQU %00000100 Double density track 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
162
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
163 * Floppy disk step rate definitions
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
164 STP.30ms EQU 0 30ms step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
165 STP.20ms EQU 1 20ms step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
166 STP.12ms EQU 2 12ms step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
167 STP.6ms EQU 3 6ms step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
168
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
169 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
170 *************************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
171 * Random Block Path Descriptor Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
172 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
173 * A path descriptor is created for every new path that is open
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
174 * via the I$Open system call (processed by IOMan). Process
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
175 * descriptors track state information of a path.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
176 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
177 ORG PD.FST
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
178 PD.SMF RMB 1 State flags
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
179 PD.CP RMB 4 Current logical byte position
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
180 PD.SIZ RMB 4 File size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
181 PD.SBL RMB 3 Segment beginning lsn
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
182 PD.SBP RMB 3 Segment beginning psn
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
183 PD.SSZ RMB 3 Segment size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
184 PD.DSK RMB 2 Disk id
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
185 PD.DTB RMB 2 Drive table ptr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
186 ORG PD.OPT
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
187 RMB 1 Device type
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
188 PD.DRV RMB 1 Drive number
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
189 PD.STP RMB 1 Step rate
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
190 PD.TYP RMB 1 Disk device type (5" 8" other)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
191 PD.DNS RMB 1 Density capability
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
192 PD.CYL RMB 2 Number of cylinders
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
193 PD.SID RMB 1 Number of surfaces
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
194 PD.VFY RMB 1 0=verify disk writes
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
195 PD.SCT RMB 2 Default sectors/track
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
196 PD.T0S RMB 2 Default sectors/track tr00,s0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
197 PD.ILV RMB 1 Sector interleave offset
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
198 PD.SAS RMB 1 Segment allocation size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
199 PD.TFM RMB 1 DMA Transfer Mode
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
200 PD.Exten RMB 2 Path Extension (PE) for record locking
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
201 PD.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
202 PD.ATT RMB 1 File attributes
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
203 PD.FD RMB 3 File descriptor psn
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
204 PD.DFD RMB 3 Directory file descriptor psn
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
205 PD.DCP RMB 4 File directory entry ptr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
206 PD.DVT RMB 2 User readable dev tbl ptr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
207
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
208 * State Flags
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
209 BUFMOD EQU $01 Buffer modified
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
210 SINBUF EQU $02 Sector in buffer
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
211 FDBUF EQU $04 File descriptor in buffer
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
212 *EOFSEC equ $08 End of file sector
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
213 *EOF equ $10 End of file
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
214 InDriver EQU $20 Currently in Disk Driver, or queued
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
215 BufBusy EQU $40 Buffer is currently busy
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
216
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
217 IFNE Level-1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
218 ************************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
219 * Random Block Path Extension Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
220 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
221 * RBF paths under Level Two have additional information that
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
222 * is referenced by the path extension area.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
223 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
224 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
225 PE.PE RMB 1 PE path number
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
226 PE.PDptr RMB 2 Back ptr to this PE's Path Descriptor
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
227 PE.NxFil RMB 2 Drive Open-File list ptr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
228 PE.Confl RMB 2 Circular File Conflict list
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
229 PE.Lock RMB 1 Path lockout status
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
230 PE.LoLck RMB 4 Low Locked Logical addr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
231 PE.HiLck RMB 4 High Locked Logical addr
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
232 PE.Wait RMB 2 PE ptr to (next) locked-out PE
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
233 PE.TmOut RMB 2 Max ticks to wait for locked segment
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
234 PE.Owner RMB 1 Process ID of owner of locked segment
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
235 PE.Req RMB 1 Temp for PE.Lock in GAIN when LockSeg fails
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
236 PE.Prior RMB 1 Temp for process priority while in driver
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
237 PE.SigSg RMB 1 Signal code to send
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
238 PE.SigID RMB 1 Process ID to send the signal to
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
239 RMB 32-. Reserved
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
240 PE.FilNm RMB 32 Temp for filename during directory search
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
241
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
242 * PE.Lock status codes
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
243 Unlocked EQU 0 No portion of file is locked
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
244 RcdLock EQU 1 Record from LoLck to HiLck locked
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
245 FileLock EQU 2 Entire file locked
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
246 EofLock EQU 4 End of file is locked
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
247 ENDC
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
248
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
249
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
250 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
251 ***********************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
252 * LSN0 Disk Data Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
253 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
254 * Logical Sector Number 0 is the first sector on an RBF formatted device
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
255 * and contains information about the device's size and format.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
256 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
257 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
258 DD.TOT RMB 3 Total number of sectors
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
259 DD.TKS RMB 1 Track size in sectors
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
260 DD.MAP RMB 2 Number of bytes in allocation bit map
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
261 DD.BIT RMB 2 Number of sectors/bit
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
262 DD.DIR RMB 3 Address of root directory fd
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
263 DD.OWN RMB 2 Owner
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
264 DD.ATT RMB 1 Attributes
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
265 DD.DSK RMB 2 Disk ID
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
266 DD.FMT RMB 1 Disk format; density/sides
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
267 DD.SPT RMB 2 Sectors/track
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
268 DD.RES RMB 2 Reserved for future use
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
269 DD.SIZ EQU . Device descriptor minimum size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
270 DD.BT RMB 3 System bootstrap sector
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
271 DD.BSZ RMB 2 Size of system bootstrap
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
272 DD.DAT RMB 5 Creation date
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
273 DD.NAM RMB 32 Volume name
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
274 DD.OPT RMB 32 Option area
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
275
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
276 * DD.FMT Bit Definitions - valid only if device is a floppy disk
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
277 FMT.SIDE EQU %00000001 Single Sided=0, Double Sided=1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
278 FMT.DNS EQU %00000010 Single Density=0, Double Density=1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
279 FMT.TDNS EQU %00000100 Track Density: 48/135 TPI=0, 96 TPI=1
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
280 FMT.T0DN EQU %00100000 Track 0 Density, see FMT.DNS
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
281
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
282
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
283 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
284 ************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
285 * File Descriptor Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
286 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
287 * The file descriptor is a sector that is present for every file
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
288 * on an RBF device. It contains attributes, modification dates,
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
289 * and segment information on a file.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
290 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
291 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
292 FD.ATT RMB 1 Attributes
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
293 FD.OWN RMB 2 Owner
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
294 FD.DAT RMB 5 Date last modified
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
295 FD.LNK RMB 1 Link count
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
296 FD.SIZ RMB 4 File size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
297 FD.Creat RMB 3 File creation date (YY/MM/DD)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
298 FD.SEG EQU . Beginning of segment list
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
299 * Segment List Entry Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
300 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
301 FDSL.A RMB 3 Segment beginning physical sector number
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
302 FDSL.B RMB 2 Segment size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
303 FDSL.S EQU . Segment list entry size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
304 FD.LS1 EQU FD.SEG+((256-FD.SEG)/FDSL.S-1)*FDSL.S
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
305 FD.LS2 EQU (256/FDSL.S-1)*FDSL.S
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
306 MINSEC SET 16
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
307
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
308
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
309 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
310 ************************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
311 * Directory Entry Format
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
312 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
313 * Directory entries are part of a directory and define the name
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
314 * of the file, as well as a pointer to its file descriptor.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
315 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
316 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
317 DIR.NM RMB 29 File name
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
318 DIR.FD RMB 3 File descriptor physical sector number
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
319 DIR.SZ EQU . Directory record size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
320
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
321
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
322 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
323 ********************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
324 * RBF Static Storage
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
325 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
326 * Overall Disk Static Storage
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
327 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
328 * Note: This does not reserve any memory for drive tables. Each
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
329 * driver is responsible for reserving sufficient memory for
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
330 * the appropriate number of tables.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
331 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
332 ORG V.USER Reserve required ($06)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
333 V.NDRV RMB 1 Number of drives ($07)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
334 RMB 8 reserved ($08)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
335 DRVBEG EQU . Beginning of drive tables ($10)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
336
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
337
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
338 PAG
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
339 ****************
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
340 * Global Storage For Disk Drive Tables
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
341 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
342 * Each table contains the first 'DD.SIZ' bytes from
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
343 * LSN 0, and the current track, stepping rate,
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
344 * bitmap use flag, and disk type.
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
345 *
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
346 ORG 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
347 RMB DD.SIZ Device descriptor, LSN 0
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
348 V.TRAK RMB 2 Current track
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
349 V.BMB RMB 1 Bit-map use flag
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
350 V.FileHd RMB 2 Open file list for this drive
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
351 V.DiskID RMB 2 Disk ID
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
352 V.BMapSz RMB 1 Bitmap Size
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
353 V.MapSct RMB 1 Lowest reasonable bitmap sector
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
354 V.ResBit RMB 1 Reserved bitmap sector (for compaction)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
355 V.ScTkOf RMB 1 Sector/Track byte (Combined from descriptor)
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
356 V.ScOfst RMB 1 Sector offset split from byte above
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
357 V.TkOfst RMB 1 Track offset split from byte above
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
358 RMB 4 Reserved
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
359 DRVMEM EQU .
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
360
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
361 ENDC
b8c7b7fbf3c9 Major changes:
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
362