2005-03-30 18:25:04 +00:00
|
|
|
;
|
|
|
|
; Oliver Schmidt, 30.12.2004
|
|
|
|
;
|
|
|
|
; Apple ProDOS 8 MLI
|
|
|
|
;
|
|
|
|
|
2005-04-20 16:52:10 +00:00
|
|
|
.import __dos_type
|
2005-03-30 18:25:04 +00:00
|
|
|
|
2018-09-08 21:29:59 +00:00
|
|
|
.include "apple2.inc"
|
2005-04-20 16:52:10 +00:00
|
|
|
.include "mli.inc"
|
2005-03-30 18:25:04 +00:00
|
|
|
|
|
|
|
.bss
|
|
|
|
|
2005-04-20 16:52:10 +00:00
|
|
|
mliparam:.tag MLI
|
2005-03-30 18:25:04 +00:00
|
|
|
|
|
|
|
.data
|
|
|
|
|
|
|
|
callmli:
|
|
|
|
; Store parameters
|
2005-04-20 16:52:10 +00:00
|
|
|
sta call
|
|
|
|
stx mliparam
|
2005-03-30 18:25:04 +00:00
|
|
|
|
|
|
|
; Check for ProDOS 8
|
2005-04-20 16:52:10 +00:00
|
|
|
lda __dos_type
|
|
|
|
beq oserr
|
2005-03-30 18:25:04 +00:00
|
|
|
|
2018-09-08 21:29:59 +00:00
|
|
|
; Save random counter
|
|
|
|
lda RNDL
|
|
|
|
pha
|
|
|
|
lda RNDH
|
|
|
|
pha
|
|
|
|
|
|
|
|
; Call MLI
|
2013-05-09 11:56:54 +00:00
|
|
|
jsr $BF00 ; MLI call entry point
|
2005-04-20 16:52:10 +00:00
|
|
|
call: .byte $00
|
|
|
|
.addr mliparam
|
2018-09-08 21:29:59 +00:00
|
|
|
|
|
|
|
; Restore random counter and return
|
|
|
|
tax
|
|
|
|
pla
|
|
|
|
sta RNDH
|
|
|
|
pla
|
|
|
|
sta RNDL
|
|
|
|
txa
|
2009-09-11 19:54:29 +00:00
|
|
|
rts
|
2005-03-30 18:25:04 +00:00
|
|
|
|
|
|
|
; Load oserror code and return
|
2013-05-09 11:56:54 +00:00
|
|
|
oserr: lda #$01 ; "Bad system call number"
|
2005-03-30 18:25:04 +00:00
|
|
|
sec
|
2009-09-10 09:59:26 +00:00
|
|
|
rts
|