-
Notifications
You must be signed in to change notification settings - Fork 0
/
1541.DOS.const.asm
128 lines (128 loc) · 9.42 KB
/
1541.DOS.const.asm
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
; -------------------------------------------------------------------------------------------------------------- ;
; VIC 1541 DOS - System Constants
; -------------------------------------------------------------------------------------------------------------- ;
APMODE = $02 ; open append mode
ATN = $80 ; atn in
ATNA = $10 ; atn active
BADCMD = $31 ; error: invalid command
BADFN = $33 ; error: invalid filename
BADSYN = $30 ; error: general syntax
BADTS = $66 ; error: illegal track or sector
BFCNT = $05 ; available buffer count
BIGFIL = $52 ; error: file too large
BLINDX = $05 ; bam lindx for floating bams
BUMP = $c0 ; controller JOB code: bump
BUMPC = $40 ; bump command
CBMV2 = $73 ; 'CBM DOS V2.6 VL70' message number
CBPTR = $0a ; command buffer pointer
CLKIN = $04 ; clock in
CLKOUT = $08 ; clock out
CMDCHN = $04 ; command channel number
CMDLEN = $29 ; length of command buffer
CMDSA = $0f ; command channel secondary address number
CR = $0d ; carriage return
DATIN = $01 ; data in line
DATOUT = $02 ; data out
DIRERR = $71 ; error: directory error
DIRLEN = $18 ; directory length used
DIRTYP = $07 ; open direct file type
DOSVER = $02 ; DOS version
DSKFUL = $72 ; error: diskette full
DYF1LE = $40 ; dirty flag for rr file
EOI = $08 ; not(eoi) to send
EOIOUT = $80 ; talk with eoi
EOISND = $08 ; not(eoi) to send
ERRCHN = $05 ; error channel number
ERRSA = $10 ; error channel secondary address number
EXEC = $e0 ; controller JOB code: execute
EXECD = $60 ; execute command
FILNOP = $61 ; error: file not open
FILOPN = $60 ; error: file open
FLEXST = $63 ; error: file exists error
FLNTFD = $62 ; error: file not found
FM2030 = $42 ; 2030 format version
FM4040 = $41 ; 4040 format version
GAP1 = $09 ; gap after HEADER
GAP2 = $04 ; minimum size of gap after data block
IRSA = $11 ; internal read secondary address number
IWSA = $12 ; internal write secondary address number
JMPC = $50 ; jump command
JUMPC = $d0 ; controller JOB code: jump
LDCMD = $0c ; load command image
LED0 = $08 ; active led
LED1 = $00 ; no led on
LISNER = $01 ; serial listener flag
LONGLN = $32 ; error: long line
LRF = $80 ; last record flag
LXINT = $0f ; power up logical index usage (linuse)
MASK1 = $f8 ; bit mask for GCR conversion
MASK2 = $07 ; bit mask for GCR conversion
MASK2X = $c0 ; bit mask for GCR conversion
MASK3 = $3e ; bit mask for GCR conversion
MASK4 = $01 ; bit mask for GCR conversion
MASK4X = $f0 ; bit mask for GCR conversion
MASK5 = $0f ; bit mask for GCR conversion
MASK5X = $80 ; bit mask for GCR conversion
MASK6 = $7d ; bit mask for GCR conversion
MASK7 = $03 ; bit mask for GCR conversion
MASK7X = $e0 ; bit mask for GCR conversion
MASK8 = $1f ; bit mask for GCR conversion
MAXSA = $12 ; maximum secondary address number plus one
MDMODE = $03 ; open modify mode
MISTYP = $64 ; error: file type mismatch
MSGLEN = $0c ; length of 'blocks free' message at JC817
MXCHNS = $06 ; maximum number of channels in svstem
MXFILS = $05 ; maximum number of filenames in string
NBCMDS = $06 ; number of block commands (afrwep)
NBSIZ = $1b ; nambuf text size
NCMDS = $0c ; number of commands (vidmbup&crsn)
NMODES = $04 ; number of file modes (rwam)
NOBLK = $65 ; error: no block
NOCFIL = $39 ; error: command file not found
NOCHNL = $70 ; error: no channels available
NODRIV = $74 ; error: drive not ready
NOFILE = $34 ; error: no file given
NOREC = $50 ; error: record not present
NOTFND = $06 ; format error: file not found
NOTRDY = $00 ; i/o not ready
NSSL = $06 ; number of SIDE-SECTOR links
NSSP = $78 ; number of pointers in SIDE-SECTOR
NTYPES = $05 ; number of different file types (dspur)
NUMJOB = $06 ; number of JOBs
NUMSYN = $05 ; GCR byte count for size of SYNC area
OVRFLO = $20 ; REL file record overflow
PRGTYP = $02 ; open program type
RDMAX = $06 ; sector distance wait
RDMODE = $00 ; open read mode
RDYLST = $01 ; ready to listen
RDYTLK = $88 ; talk no eoi
READ = $80 ; controller JOB code: read
RECOVF = $51 ; error: overflow in record
RELTYP = $04 ; open relative type
RNDEOI = $81 ; random with eoi
RNDRDY = $89 ; random chnrdy
SEEK = $b0 ; controller JOB code: seek
SEQTYP = $01 ; open sequential type
SKIP2 = $2c ; bit abs
SSIOFF = $10 ; offset into ss for data block pointers
SYSTS = $67 ; error: illegal system track or sector
TALKER = $80 ; talker flag
TIM = $3a ; IRQ rate for 15 ms
TOBIG = $04 ; format error: not enough space
TOLONG = $02 ; format error: can't find SYNC mark
TOMANY = $03 ; format error: too many counts
TOPRD = $45 ; top of read overflow buffer on a read
TOPWRT = $45 ; top of write overflow buffer in a write
TOSMAL = $05 ; format error: gap2 too small
TYPMSK = $07 ; mask for type bits
UNLSN = $3f ; unlisten command
UNTLK = $5f ; untalk command
USRTYP = $03 ; open user type
VAL = $00 ; controller JOB code for validate
VERERR = $07 ; controller verify error
WRITE = $90 ; controller JOB code: write
WRTMAX = $0c ; write maximum
WRTMIN = $09 ; write minimum
WTMODE = $01 ; open write mode
WVERFY = $a0 ; controller JOB code: verify
; -------------------------------------------------------------------------------------------------------------- ;