-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathromtbl.src
86 lines (86 loc) · 3.43 KB
/
romtbl.src
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
.messg "romtbl"
.subttl "romtbl"
.page
; command tables and information
cmdtbb .word fstrd ; fast read drv #0 - 0000
.word ndkrd ; fast read drv #1 - 0001
.word fstwrt ; fast write drv #0 - 0010
.word ndkwrt ; fast write drv #1 - 0011
.word fstsek ; seek disk drv #0 - 0100
.word ndkrd ; seek disk drv #1 - 0101
.word fstfmt ; format disk drv #0 - 0110
.word fstfmt ; format disk drv #1 - 0111
.word cpmint ; interleave disk drv #0 - 1000
.word cpmint ; interleave disk drv #1 - 1001
.word querdk ; query disk format - 1010
.word ndkrd ; seek disk drv #1 - 1011
.word inqst ; return disk status - 1100
.word ndkrd ; return disk status - 1101
.word duplc1 ; backup drv0 to drv1 - 1110
.word duplc1 ; backup drv1 to drv0 - 1111
.word fstrd ; fast read drv #0 -1 0000
.word ndkrd ; fast read drv #1 -1 0001
.word fstwrt ; fast write drv #0 -1 0010
.word ndkwrt ; fast write drv #1 -1 0011
.word fstsek ; seek disk drv #0 -1 0100
.word ndkrd ; seek disk drv #1 -1 0101
.word fstfmt ; format disk drv #0 -1 0110
.word fstfmt ; format disk drv #1 -1 0111
.word unused
.word unused
.word querdk ; query disk format -1 1010
.word ndkrd ; seek disk drv #1 -1 1011
.word dumpbuf ; dump track cache buffer -1 1100
.word dumpbuf ; dump track cache buffer -1 1101
.word chgutl ; utility -1 1110
.word fstload ; fast load utility -1 1111
.page
bamsiz .byt 6 ; # bytes/track in bam
dsknam .byt 4 ; offset of dsk name in bam sec
; command search table
cmdtbl .byt 'VI/MBUP&CRSN'
; validate-dir init-drive duplicate
; memory-op block-op user
; position dskcpy utlodr rename scratch new
ncmds =*-cmdtbl
; jump table low
cjumpl .byt <jverdir,<jintdrv,<jpart
.byt <jmem,<jblock,<juser
.byt <jrecord
.byt <jutlodr
.byt <jdskcpy
.byt <jrename,<jscrtch,<jnew
cjumph .byt >jverdir,>jintdrv,>jpart
.byt >jmem,>jblock,>juser
.byt >jrecord
.byt >jutlodr
.byt >jdskcpy
.byt >jrename,>jscrtch,>jnew
val=0 ; validate (verify) cmd #
pcmd =9 ; images for cmds
.byt %01010001 ; dskcpy
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
; bit reps: not pattern
; not greater than one file
; not default drive(s)
; required filename
modlst .byt 'RWAM' ; mode table
nmodes =*-modlst
tplst .byt 'DSPULC' ; file type table
typlst .byt 'DSPURC' ; del,seq,prog,user,rel,cbm
ntypes =*-typlst
tp1lst .byt 'EERSEB'
tp2lst .byt 'LQGRLM'
er00 .byt 0 ; err flg vars for bit
er0 .byt $3f
er1 .byt $7f
er2 .byt $bf
er3 .byt $ff
offset .byt 1,$ff,$ff,1,0 ; for recovery