]> git.sur5r.net Git - cc65/blob - libsrc/apple2/mli.inc
2134c8785049814530a79e5ebb9e08ea32ed459f
[cc65] / libsrc / apple2 / mli.inc
1 ;
2 ; Oliver Schmidt, 30.12.2004
3 ;
4 ; Apple ProDOS 8 MLI
5 ;
6
7 READ_BLOCK_CALL = $80
8 WRITE_BLOCK_CALL= $81
9 RW_BLOCK_COUNT  = 3
10
11 GET_TIME_CALL   = $82
12 GET_TIME_COUNT  = 0
13
14 CREATE_CALL     = $C0
15 CREATE_COUNT    = 7
16
17 DESTROY_CALL    = $C1
18 DESTROY_COUNT   = 1
19
20 RENAME_CALL     = $C2
21 RENAME_COUNT    = 2
22
23 ON_LINE_CALL    = $C5
24 ON_LINE_COUNT   = 2
25
26 SET_PREFIX_CALL = $C6
27 GET_PREFIX_CALL = $C7
28 PREFIX_COUNT    = 1
29
30 OPEN_CALL       = $C8
31 OPEN_COUNT      = 3
32
33 READ_CALL       = $CA
34 WRITE_CALL      = $CB
35 RW_COUNT        = 4
36
37 CLOSE_CALL      = $CC
38 CLOSE_COUNT     = 1
39
40 SET_MARK_CALL   = $CE
41 GET_MARK_CALL   = $CF
42 MARK_COUNT      = 2
43
44 SET_EOF_CALL    = $D0
45 GET_EOF_CALL    = $D1
46 EOF_COUNT       = 2
47
48         .struct MLI
49                 .union
50                         .struct RW_BLOCK
51                                 PARAM_COUNT     .byte
52                                 UNIT_NUM        .byte
53                                 DATA_BUFFER     .addr
54                                 BLOCK_NUM       .word
55                         .endstruct
56                         .struct CREATE
57                                 PARAM_COUNT     .byte
58                                 PATHNAME        .addr
59                                 ACCESS          .byte
60                                 FILE_TYPE       .byte
61                                 AUX_TYPE        .word
62                                 STORAGE_TYPE    .byte
63                                 CREATE_DATE     .word
64                                 CREATE_TIME     .word
65                         .endstruct
66                         .struct DESTROY
67                                 PARAM_COUNT     .byte
68                                 PATHNAME        .addr
69                         .endstruct
70                         .struct RENAME
71                                 PARAM_COUNT     .byte
72                                 PATHNAME        .addr
73                                 NEW_PATHNAME    .addr
74                         .endstruct
75                         .struct ON_LINE
76                                 PARAM_COUNT     .byte
77                                 UNIT_NUM        .byte
78                                 DATA_BUFFER     .addr
79                         .endstruct
80                         .struct PREFIX
81                                 PARAM_COUNT     .byte
82                                 PATHNAME        .addr
83                         .endstruct
84                         .struct OPEN
85                                 PARAM_COUNT     .byte
86                                 PATHNAME        .addr
87                                 IO_BUFFER       .addr
88                                 REF_NUM         .byte
89                         .endstruct
90                         .struct RW
91                                 PARAM_COUNT     .byte
92                                 REF_NUM         .byte
93                                 DATA_BUFFER     .addr
94                                 REQUEST_COUNT   .word
95                                 TRANS_COUNT     .word
96                         .endstruct
97                         .struct CLOSE
98                                 PARAM_COUNT     .byte
99                                 REF_NUM         .byte
100                         .endstruct
101                         .struct MARK
102                                 PARAM_COUNT     .byte
103                                 REF_NUM         .byte
104                                 POSITION        .byte 3
105                         .endstruct
106                         .struct EOF
107                                 PARAM_COUNT     .byte
108                                 REF_NUM         .byte
109                                 EOF             .byte 3
110                         .endstruct
111                 .endunion
112         .endstruct
113
114         .global         mliparam
115         .global         callmli
116
117 DEVNUM  :=      $BF30           ; Most recent accessed device
118 DATELO  :=      $BF90           ; Bits 15-9 = Year, 8-5 = Month, 4-0 = Day
119 TIMELO  :=      $BF92           ; Bits 12-8 = Hour, 5-0 = Minute
120 PFIXPTR :=      $BF9A           ; If = 0, no prefix active
121 KVERSION:=      $BFFF           ; Kernel version number