mirror of
https://github.com/cc65/cc65.git
synced 2025-02-09 17:33:00 +00:00
really use default drive
git-svn-id: svn://svn.cc65.org/cc65/trunk@4834 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
3386876fd3
commit
f0d0e4e543
@ -6,6 +6,10 @@
|
|||||||
.import findfreeiocb, clriocb
|
.import findfreeiocb, clriocb
|
||||||
.import __oserror, return0, __do_oserror
|
.import __oserror, return0, __do_oserror
|
||||||
.importzp ptr1, tmp1
|
.importzp ptr1, tmp1
|
||||||
|
.ifdef DEFAULT_DEVICE
|
||||||
|
.import __defdev
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
.proc _opendir
|
.proc _opendir
|
||||||
sta ptr1
|
sta ptr1
|
||||||
@ -16,19 +20,36 @@
|
|||||||
@iocbok: stx diriocb
|
@iocbok: stx diriocb
|
||||||
jsr clriocb
|
jsr clriocb
|
||||||
ldx diriocb
|
ldx diriocb
|
||||||
|
ldy #0 ; '.' -> "D:*.*"
|
||||||
|
lda (ptr1),y
|
||||||
|
cmp #'.'
|
||||||
|
bne @use_parm
|
||||||
|
|
||||||
|
; "." was given as parameter, use default device/dir
|
||||||
|
|
||||||
|
.ifdef DEFAULT_DEVICE
|
||||||
|
; construct a "Dn:*.*" like string from the default drive
|
||||||
|
lda __defdev+1
|
||||||
|
sta dddefdev+1 ; copy drive number (overwrite 2nd 'D')
|
||||||
|
lda #<dddefdev
|
||||||
|
sta ICBAL,x
|
||||||
|
lda #>dddefdev
|
||||||
|
sta ICBAH,x
|
||||||
|
bne @cont
|
||||||
|
.else
|
||||||
lda #<defdev
|
lda #<defdev
|
||||||
sta ICBAL,x
|
sta ICBAL,x
|
||||||
lda #>defdev
|
lda #>defdev
|
||||||
sta ICBAH,x
|
sta ICBAH,x
|
||||||
ldy #0 ; '.' -> "D:*.*"
|
bne @cont
|
||||||
lda (ptr1),y
|
.endif
|
||||||
cmp #'.'
|
|
||||||
beq @default
|
@use_parm: lda ptr1
|
||||||
lda ptr1
|
|
||||||
sta ICBAL,x
|
sta ICBAL,x
|
||||||
lda ptr1+1
|
lda ptr1+1
|
||||||
sta ICBAH,x
|
sta ICBAH,x
|
||||||
@default: lda #OPEN
|
|
||||||
|
@cont: lda #OPEN
|
||||||
sta ICCOM,x
|
sta ICCOM,x
|
||||||
lda #OPNIN|DIRECT
|
lda #OPNIN|DIRECT
|
||||||
sta ICAX1,x
|
sta ICAX1,x
|
||||||
@ -127,7 +148,10 @@ copychar: lda (ptr1),y ; src=y dest=tmp1
|
|||||||
@cioerr: jmp __do_oserror
|
@cioerr: jmp __do_oserror
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.rodata
|
.data
|
||||||
|
.ifdef DEFAULT_DEVICE
|
||||||
|
dddefdev: .byte "D"
|
||||||
|
.endif
|
||||||
defdev: .asciiz "D:*.*"
|
defdev: .asciiz "D:*.*"
|
||||||
|
|
||||||
.bss
|
.bss
|
||||||
|
Loading…
x
Reference in New Issue
Block a user