-
Notifications
You must be signed in to change notification settings - Fork 85
/
romtbl
169 lines (169 loc) · 2.84 KB
/
romtbl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.PAGE 'ROMTBL'
;
; JUMP TABLE TO ROUTINES
;
*=$FF00
GETBUF
JMP JGETBF
FREBUF
JMP JFREBF
FRETS
JMP JFRETS
USEDTS
JMP JUSED
NXTTS
JMP JNXTTS
INTTS
JMP JINTTS
MAXSEC
JMP JMXSEC
ERROR
JMP JERROR
AUTOI
JMP JAUTOI
SETH
JMP JSETH
ERRMSG
JMP JERRMS
SETLDS
JMP JSETLD
ILLTS
JMP JILLTS
IDLE
JMP (VECIDL)
SCRBAM
JMP JSCRBM
CMDERR
JMP JCMDER
CMDER2
JMP JCDER2
TSTJOB
JMP JTSTJB
.PAGE
*=$FF50
BMSIZE .BYT 4,5 ; # BYTES/TRACK IN BAM
MPOFF .BYT 4,6 ; OFFSET OF BAM IN SECTOR
LOWTRK .BYT 1,4 ; LOW TRACK IN BAM
DISKNM .BYT 144,6 ; OFFSET OF DISK NAME
;
; COMMAND SEARCH TABLE
;
CMDTBL
.BYT 'VIDMBUP&CRSN'
NCMDS =*-CMDTBL
;
; JUMP TABLE LOW
;
CJUMPL
.BYT <VERDIR
.BYT <INTDRV
.BYT <DUPLCT
.BYT <MEM
.BYT <BLOCK
.BYT <USER
.BYT <RECORD
.BYT <UTLODR
.BYT <DSKCPY
.BYT <RENAME
.BYT <SCRTCH
.BYT <NEW
*=CJUMPL+NCMDS
;
; JUMP TABLE HIGH
;
CJUMPH
.BYT >VERDIR
.BYT >INTDRV
.BYT >DUPLCT
.BYT >MEM
.BYT >BLOCK
.BYT >USER
.BYT >RECORD
.BYT >UTLODR
.BYT >DSKCPY
.BYT >RENAME
.BYT >SCRTCH
.BYT >NEW
*=CJUMPH+NCMDS
.SKIP
VAL=0 ; VALIDATE (VERIFY) CMD #
.SKIP
;
; STRUCTURE IMAGES FOR CMDS
;
PCMD = 9 ; # OF PARSED COMMANDS
.BYT %01010001 ; DISKCOPY
STRUCT =*-PCMD ; CMDS NOT PARSED
.BYT %11011101 ; RENAME
.BYT %00011100 ; SCRATCH
.BYT %10011110 ; NEW
LDCMD =*-STRUCT ; LOAD CMD IMAGE
.BYT %00011100 ; LOAD
; --- ---
; PGDRPGDR
; FS1 FS2
.SKIP
; BIT REPS: NOT PATTERN
; NOT GREATER THAN ONE FILE
; NOT DEFAULT DRIVE(S)
; REQUIRED FILENAME
.SKIP
MODLST .BYT 'RWAM' ; MODE TABLE
NMODES =*-MODLST
;
; FILE TYPE TABLE
;
TPLST .BYT 'DSPUL'
TYPLST .BYT 'DSPUR' ; DEL, SEQ, PRG, USR, REL
NTYPES =*-TYPLST
TP1LST .BYT 'EERSE'
TP2LST .BYT 'LQGRL'
;
; ERROR FLAG VARS FOR BIT
;
ER00 .BYT 0
ER0 .BYT $3F
ER1 .BYT $7F
ER2 .BYT $BF
ER3 .BYT $FF
;
IPBM .BYTE $41,$42
NTRK40 ; TRACK ZONE BOUNDARIES (4040)
.BYTE 36,31,25,18
NSEC40 ; # OF SECTORS/ZONE (4040)
.BYTE 17,18,19,21
GAPS40 ; FORMAT GAPS 1 AND 2
.BYTE 9,4,255
NTRK80 ; TRACK ZONE BOUNDARIES (8050)
.BYTE 78,65,54,40
.BYTE 155,142,131,117
NSEC80 ; # OF SECTORS/ZONE (8050)
.BYTE 23,25,27,29
GAPS80 ; FORMAT GAPS 1 AND 2 (8050)
.BYTE 19,18,76
BMT80S ; BAM TRACK 8050 SINGLE SIDED
.BYTE 38,38,39
BMS80S ; BAM SECTOR 8050 SINGLE SIDED
.BYTE 0,3,1
BMT80D ; BAM TRACK 8050 DOUBLE SIDED
.BYTE 38,38,38,38,39
BMS80D ; BAM SECTOR 8050 DOUBLE SIDED
.BYTE 0,3,6,9,1
;
; COMMON BETWEEN 4040 AND 8050
;
MSCCOM
.BYTE 4 ; # OF ZONES
.BYTE 3 ; PLL SYNC DELAY
.BYTE 1 ; WRITE PROTECT DRIVE 0
.BYTE 1 ; WRITE PROTECT DRIVE 1
.BYTE 0 ; LAST WRITE PROTECT DRIVE 0
.BYTE 0 ; LAST WRITE PROTECT DRIVE 1
.BYTE 7 ; HEADER FLAG
.BYTE 0 ; CONTROLLER FLAG
;
; RECOVER OFFSET TABLE (MICROP DRIVE)
;
OFFSET
.BYTE 1,$FF,$FF,1,2,$FE,$FE,2,0
.END