mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-22 04:29:59 +00:00
shave some bytes
This commit is contained in:
parent
74f76609c0
commit
ee83034bf1
127
src/mli.a
127
src/mli.a
@ -330,20 +330,6 @@ SetEOF
|
|||||||
ldy #PC_SETEOF ; number of params for 'set_eof' cmd
|
ldy #PC_SETEOF ; number of params for 'set_eof' cmd
|
||||||
bne JsrMLIAndReturnPlus1
|
bne JsrMLIAndReturnPlus1
|
||||||
|
|
||||||
;-------------------------------
|
|
||||||
; close an open file
|
|
||||||
; in: ProDOS is in memory
|
|
||||||
; A = file reference number
|
|
||||||
; out: if error, C set and A contains error code
|
|
||||||
; if success, C clear
|
|
||||||
; ProDOS is in memory
|
|
||||||
;-------------------------------
|
|
||||||
CloseFile
|
|
||||||
sta mliparam+1 ; store file reference number
|
|
||||||
lda #CMD_CLOSE ; MLI close command
|
|
||||||
ldy #PC_CLOSE ; number of parameters for 'close' command
|
|
||||||
jmp mli
|
|
||||||
|
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; Create140KFile
|
; Create140KFile
|
||||||
;
|
;
|
||||||
@ -381,55 +367,6 @@ Create140KFile
|
|||||||
sec
|
sec
|
||||||
@exit rts
|
@exit rts
|
||||||
|
|
||||||
;-------------------------------
|
|
||||||
; CreateDir/CreateFile
|
|
||||||
;
|
|
||||||
; create a directory or file via ProDOS MLI
|
|
||||||
; always sets access bits to $C3 (full access)
|
|
||||||
; always sets creation to 0 (current date/time)
|
|
||||||
; always sets storage type to $0D (directory) or 1 (file)
|
|
||||||
; always sets file type to $0F (directory) or 6 (BIN file)
|
|
||||||
; in: caller has filled @mliparam+1 with address of pathname
|
|
||||||
; out: if error, C set and A contains error code
|
|
||||||
; if success, C clear and A clobbered
|
|
||||||
;-------------------------------
|
|
||||||
CreateDir
|
|
||||||
lda #$0D
|
|
||||||
ldy #$0F
|
|
||||||
bne +
|
|
||||||
CreateFile
|
|
||||||
lda #1
|
|
||||||
ldy #6
|
|
||||||
+ sta mliparam+7 ; storage type (directory or file)
|
|
||||||
sty mliparam+4 ; file type (directory or binary)
|
|
||||||
lda #FULL_ACCESS
|
|
||||||
sta mliparam+3 ; access bits (full access)
|
|
||||||
lda #0
|
|
||||||
sta mliparam+8 ; creation date (current)
|
|
||||||
sta mliparam+9
|
|
||||||
sta mliparam+10 ; creation time (current)
|
|
||||||
sta mliparam+11
|
|
||||||
lda #CMD_CREATE ; MLI create command
|
|
||||||
ldy #PC_CREATE ; number of parameters for 'create' command
|
|
||||||
jsr mli
|
|
||||||
rts
|
|
||||||
|
|
||||||
;-------------------------------
|
|
||||||
; DeleteFile
|
|
||||||
; delete a file using ProDOS MLI
|
|
||||||
;
|
|
||||||
; in: ProDOS is in memory
|
|
||||||
; caller has filled @mliparam+1 with address of pathname
|
|
||||||
; out: if error, C set and A contains error code
|
|
||||||
; if success, C clear
|
|
||||||
; ProDOS is in memory
|
|
||||||
;-------------------------------
|
|
||||||
DeleteFile
|
|
||||||
lda #CMD_DESTROY ; MLI destroy command
|
|
||||||
ldy #PC_DESTROY ; number of parameters for 'destroy' command
|
|
||||||
jsr mli
|
|
||||||
rts
|
|
||||||
|
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; WriteToFile - write memory to image file on RAM or hard disk
|
; WriteToFile - write memory to image file on RAM or hard disk
|
||||||
; if RAM or hard disk is in use
|
; if RAM or hard disk is in use
|
||||||
@ -513,8 +450,7 @@ GetVolumeName
|
|||||||
Online
|
Online
|
||||||
lda #CMD_ONLINE
|
lda #CMD_ONLINE
|
||||||
ldy #PC_ONLINE
|
ldy #PC_ONLINE
|
||||||
jsr mli
|
bne mli
|
||||||
rts
|
|
||||||
|
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; query volume information
|
; query volume information
|
||||||
@ -567,3 +503,64 @@ mli sta mlicmd ; store command code
|
|||||||
mlicmd !byte 00 ; command number
|
mlicmd !byte 00 ; command number
|
||||||
!word mliparam ; address of parameter table
|
!word mliparam ; address of parameter table
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;-------------------------------
|
||||||
|
; close an open file
|
||||||
|
; in: ProDOS is in memory
|
||||||
|
; A = file reference number
|
||||||
|
; out: if error, C set and A contains error code
|
||||||
|
; if success, C clear
|
||||||
|
; ProDOS is in memory
|
||||||
|
;-------------------------------
|
||||||
|
CloseFile
|
||||||
|
sta mliparam+1 ; store file reference number
|
||||||
|
lda #CMD_CLOSE ; MLI close command
|
||||||
|
ldy #PC_CLOSE ; number of parameters for 'close' command
|
||||||
|
bne mli ; always branches
|
||||||
|
|
||||||
|
;-------------------------------
|
||||||
|
; DeleteFile
|
||||||
|
; delete a file using ProDOS MLI
|
||||||
|
;
|
||||||
|
; in: ProDOS is in memory
|
||||||
|
; caller has filled @mliparam+1 with address of pathname
|
||||||
|
; out: if error, C set and A contains error code
|
||||||
|
; if success, C clear
|
||||||
|
; ProDOS is in memory
|
||||||
|
;-------------------------------
|
||||||
|
DeleteFile
|
||||||
|
lda #CMD_DESTROY ; MLI destroy command
|
||||||
|
ldy #PC_DESTROY ; number of parameters for 'destroy' command
|
||||||
|
bne mli ; always branches
|
||||||
|
|
||||||
|
;-------------------------------
|
||||||
|
; CreateDir/CreateFile
|
||||||
|
;
|
||||||
|
; create a directory or file via ProDOS MLI
|
||||||
|
; always sets access bits to $C3 (full access)
|
||||||
|
; always sets creation to 0 (current date/time)
|
||||||
|
; always sets storage type to $0D (directory) or 1 (file)
|
||||||
|
; always sets file type to $0F (directory) or 6 (BIN file)
|
||||||
|
; in: caller has filled @mliparam+1 with address of pathname
|
||||||
|
; out: if error, C set and A contains error code
|
||||||
|
; if success, C clear and A clobbered
|
||||||
|
;-------------------------------
|
||||||
|
CreateDir
|
||||||
|
lda #$0D
|
||||||
|
ldy #$0F
|
||||||
|
bne +
|
||||||
|
CreateFile
|
||||||
|
lda #1
|
||||||
|
ldy #6
|
||||||
|
+ sta mliparam+7 ; storage type (directory or file)
|
||||||
|
sty mliparam+4 ; file type (directory or binary)
|
||||||
|
lda #FULL_ACCESS
|
||||||
|
sta mliparam+3 ; access bits (full access)
|
||||||
|
lda #0
|
||||||
|
sta mliparam+8 ; creation date (current)
|
||||||
|
sta mliparam+9
|
||||||
|
sta mliparam+10 ; creation time (current)
|
||||||
|
sta mliparam+11
|
||||||
|
lda #CMD_CREATE ; MLI create command
|
||||||
|
ldy #PC_CREATE ; number of parameters for 'create' command
|
||||||
|
bne mli ; always branches
|
||||||
|
Loading…
Reference in New Issue
Block a user