-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatatbls.s
More file actions
98 lines (85 loc) · 3.38 KB
/
datatbls.s
File metadata and controls
98 lines (85 loc) · 3.38 KB
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
; @**********************************************************
; @ ---- Added call $41 & its count - see rev note 20 --------
scNums EQU *
DFB $D3,0,0,0 ;(zeros are reserved for bfm)
DFB $40,$41,$00,0 ;(zero is reserved for interrupt calls)
DFB $80,$81,$82,$65
DFB $C0,$C1,$C2,$C3
DFB $C4,$C5,$C6,$C7
DFB $C8,$C9,$CA,$CB
DFB $CC,$CD,$CE,$CF
DFB $00,$D0,$D1,$D2 ;zero is non-existent.
pCntTbl EQU * ;parameter counts for the calls
DFB $02,$FF,$FF,$FF
DFB $02,$01,$FF,$FF
DFB $03,$03,$00,$04
DFB $07,$01,$02,$07
DFB $0A,$02,$01,$01
DFB $03,$03,$04,$04
DFB $01,$01,$02,$02
DFB $FF,$02,$02,$02
; @-------------------------------------------------
; @ JMP table
cmdTable EQU *
DA Create
DA Destroy
DA Rename
DA SetInfo
DA GetInfo
DA Online
DA SetPrefix
DA GetPrefix
DA Open
DA NewLine
DA Read
DA Write
DA Close
DA Flush
DA SetMark
DA GetMark
DA SetEOF
DA GetEOF
DA SetBuf
DA GetBuf
; @-------------------------------------------------
; @ Function bits for MLI codes $C0-$D3
Dispatch EQU *
DB prePath+preTime+0;create
DB prePath+preTime+1;destroy
DB prePath+preTime+2;rename
DB prePath+preTime+3;setinfo
DB prePath+4 ;getinfo
DB $05 ;volume
DB $06 ;setprefix, pathname moved to prefix buffer
DB $07 ;getprefix
DB prePath+8 ;open
DB preRef+$9 ;newline
DB preRef+$a ;read
DB preRef+$b ;write
DB preTime+$c ;close
DB preTime+$d ;flush, refnum may be zero to flush all
DB preRef+$e ;setmark
DB preRef+$f ;getmark
DB preRef+$10 ;set eof
DB preRef+$11 ;get eof
DB preRef+$12 ;set buffer address (move)
DB preRef+$13 ;get buffer address
; @-------------------------------------------------
; @ Constants
dIncTbl DB 1,0,0,2,0 ;Table to increment directory usage/EOF counts
Pass DB $75
XDOSver DB $0,0,$C3,$27,$0D,0,0,0
compat EQU XDOSver+1
rootStuff DB $0F,2,0,4
DB 0,0,8,0
WhichBit DB $80,$40,$20,$10,$08,$04,$02,$01
; @ The following table is used in the 'Open@loop1' (posn/open).
; @ Offsets into file control blocks (FCBs)
oFCBTbl DFB fcbFirst,fcbFirst+1,fcbBlksUsed,fcbBlksUsed+1
DFB fcbEOF,fcbEOF+1,fcbEOF+2
; @ Set/Get file info offsets
; @ The following with $80+ are ignored by SetInfo
InfoTabl DFB d_attr,d_fileID,d_auxID,d_auxID+1
DFB $80+d_stor,$80+d_usage,$80+d_usage+1,d_modDate
DFB d_modDate+1,d_modTime,d_modTime+1,d_creDate
DFB d_creDate+1,d_creTime,d_creTime+1