]> git.sur5r.net Git - cc65/blob - libsrc/apple2/mli.inc
New version from Oliver Schmidt
[cc65] / libsrc / apple2 / mli.inc
1 ;
2 ; Oliver Schmidt, 30.12.2004
3 ;
4 ; Apple ProDOS 8 MLI
5 ;
6
7 CREATE_CALL     = $C0
8 CREATE_COUNT    = 7
9
10 ON_LINE_CALL    = $C5
11 ON_LINE_COUNT   = 2
12
13 OPEN_CALL       = $C8
14 OPEN_COUNT      = 3
15
16 READ_CALL       = $CA
17 WRITE_CALL      = $CB
18 RW_COUNT        = 4
19
20 CLOSE_CALL      = $CC
21 CLOSE_COUNT     = 1
22
23 SET_MARK_CALL   = $CE
24 GET_MARK_CALL   = $CF
25 MARK_COUNT      = 2
26
27 SET_EOF_CALL    = $D0
28 GET_EOF_CALL    = $D1
29 EOF_COUNT       = 2
30
31         .struct MLI
32                 .union
33                         .struct CREATE
34                                 PARAM_COUNT     .byte
35                                 PATHNAME        .addr
36                                 ACCESS          .byte
37                                 FILE_TYPE       .byte
38                                 AUX_TYPE        .word
39                                 STORAGE_TYPE    .byte
40                                 CREATE_DATE     .word
41                                 CREATE_TIME     .word
42                         .endstruct
43                         .struct ON_LINE
44                                 PARAM_COUNT     .byte
45                                 UNIT_NUM        .byte
46                                 DATA_BUFFER     .addr
47                         .endstruct
48                         .struct OPEN
49                                 PARAM_COUNT     .byte
50                                 PATHNAME        .addr
51                                 IO_BUFFER       .addr
52                                 REF_NUM         .byte
53                         .endstruct
54                         .struct RW
55                                 PARAM_COUNT     .byte
56                                 REF_NUM         .byte
57                                 DATA_BUFFER     .addr
58                                 REQUEST_COUNT   .word
59                                 TRANS_COUNT     .word
60                         .endstruct
61                         .struct CLOSE
62                                 PARAM_COUNT     .byte
63                                 REF_NUM         .byte
64                         .endstruct
65                         .struct MARK
66                                 PARAM_COUNT     .byte
67                                 REF_NUM         .byte
68                                 POSITION        .byte 3
69                         .endstruct
70                         .struct EOF
71                                 PARAM_COUNT     .byte
72                                 REF_NUM         .byte
73                                 EOF             .byte 3
74                         .endstruct
75                 .endunion
76         .endstruct
77
78         .global         mliparam
79         .global         callmli
80
81 ENTRY   :=      $BF00           ; MLI call entry point
82 DEVNUM  :=      $BF30           ; Most recent accessed device
83 PFIXPTR :=      $BF9A           ; If = 0, no prefix active
84 KVERSION:=      $BFFF           ; Kernel version number