Merge pull request #303 from groessler/something_to_pull

Atari: get current drive on XDOS
This commit is contained in:
Oliver Schmidt
2016-05-31 12:47:11 +02:00
2 changed files with 14 additions and 5 deletions

View File

@@ -1021,6 +1021,7 @@ XGLIN = $0871 ; get line
XSKIP = $0874 ; skip parameter
XMOVE = $0877 ; move filename
XGNUM = $087A ; get number
XDEFDEV = $0816 ; current drive * undocumented *
;-------------------------------------------------------------------------
; End of atari.inc

View File

@@ -27,9 +27,10 @@
__getdefdev:
lda __dos_type ; which DOS?
cmp #OSADOS+1
bcs finish ; only supported on OS/A+ and SpartaDOS
; (TODO: add XDOS support)
cmp #XDOS
beq xdos ; only supported on XDOS ...
; cmp #OSADOS+1 ; (redundant: #OSADOS+1 = #XDOS)
bcs finish ; ... and on OS/A+ and SpartaDOS
ldy #BUFOFF
lda #0
@@ -59,7 +60,7 @@ __getdefdev:
lda (DOSVEC),y
sta crvec+2
crvec: jsr $FFFF ; will be set to crunch vector
jsr crvec
; Get default device
@@ -68,7 +69,7 @@ crvec: jsr $FFFF ; will be set to crunch vector
sta __defdev
iny
lda (DOSVEC),y
sta __defdev+1
done: sta __defdev+1
; Return pointer to default device
@@ -76,8 +77,15 @@ finish: lda #<__defdev
ldx #>__defdev
rts
; XDOS version
xdos: lda XDEFDEV
bne done
.data
crvec: jmp $FFFF ; target address will be set to crunch vector
; Default device
__defdev: