home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
SOURCE
/
MLI.SRC.txt
< prev
next >
Wrap
Text File
|
2020-08-13
|
2KB
|
80 lines
JMP DOMLI
;
FILENAME DFB $06 ;LENGTH OF FILENAME
ASC '/HARD/ '
;
MLIERROR JSR $FDDA ;PRINT RETURN CODE AND ABEND IF MLI ERROR
BRK
;
DOMLI JSR MLI
DFB $C8 ;OPEN FILE
DFB >OPENPRM,<OPENPRM
BCS MLIERROR
;
LDA OPENREF
STA POSNREF
STA READREF
STA CLOSREF
LDX CURRTRK
;
LDX CURRTRK
LDA BUFRADRL,X
STA READBUF
LDA BUFRADRH,X
STA READBUF+1
LDA BUFRLENL,X
STA READLEN
LDA BUFRLENH,X
STA READLEN+1
;
JSR MLI
DFB $CA ; READ REQUEST
DFB >READPARM,<READPARM
BCS MLIERROR
;
JSR MLI
DFB $CC ; CLOSE REQUEST
DFB >CLOSPARM,<CLOSPARM
BCS MLIERROR
;
; UPDATE POINTERS AFTER SUCCESSFUL READ FROM RAMDISK
;
LDX CURRTRK
LDA BUFRADRL,X
STA CURADRL,X
LDA BUFRADRH,X
STA CURADRH,X
;
JSR PRCSDLY ;DO THE DELAY & JUMP BACK
JMP MAINLINE
;
;
OPENPRM DFB $03
DFB >FILENAME,<FILENAME ;PATHNAME ADDRESS
DFB >MLIBUFR,<MLIBUFR ;FILE BUFFER ADDRESS
OPENREF DFB $00 ;REFERENCE NUMBER
;
;
POSNPARM DFB $02
POSNREF DFB $01 ;FILE REFERENCE #
POSNL DFB $00 ;NEW FILE POSITION
POSNM DFB $00
POSNH DFB $00
;
READPARM DFB $04
READREF DFB $01 ;FILE REFERENCE #
READBUF DFB $00,$20 ;DATA BUFFER ADDRESS
READLEN DFB $00,$08 ; REQUESTED LENGTH
DFB $00,$00 ; ACTUAL LENGTH
;
CLOSPARM DFB $01
CLOSREF DFB $01 ;REFERENCE #
;
;
EOF DFB $FF ;EOF MARKER
;
;ADJUST ORIGIN BELOW DEPENDING ON LENGTH OF CODE
;
ORG START+$600
MLIBUFR DS $400