mirror of
https://github.com/cc65/cc65.git
synced 2024-12-24 11:31:31 +00:00
1a80cd1071
git-svn-id: svn://svn.cc65.org/cc65/trunk@5859 b7a2c559-68d2-44c3-8de9-860c34a00d81
54 lines
913 B
ArmAsm
54 lines
913 B
ArmAsm
;
|
|
; Oliver Schmidt, 2012-10-17
|
|
;
|
|
|
|
.export diskinit
|
|
.import opencmdchannel, closecmdchannel
|
|
.import writefndiskcmd, readdiskerror
|
|
.import isdisk, fnunit, fncmd
|
|
|
|
;------------------------------------------------------------------------------
|
|
; diskinit
|
|
|
|
.proc diskinit
|
|
|
|
; Save device
|
|
|
|
sta fnunit
|
|
|
|
; Check for disk device
|
|
|
|
tax
|
|
jsr isdisk
|
|
bcc open
|
|
lda #9 ; "Ilegal device"
|
|
rts
|
|
|
|
; Open channel
|
|
|
|
open: jsr opencmdchannel
|
|
bne done
|
|
|
|
; Write command
|
|
|
|
lda #'i' ; Init command
|
|
sta fncmd
|
|
jsr writefndiskcmd
|
|
bne close
|
|
|
|
; Read error
|
|
|
|
ldx fnunit
|
|
jsr readdiskerror
|
|
|
|
; Close channel
|
|
|
|
close: pha
|
|
ldx fnunit
|
|
jsr closecmdchannel
|
|
pla
|
|
|
|
done: rts
|
|
|
|
.endproc
|