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 XSKIP = $0874 ; skip parameter
XMOVE = $0877 ; move filename XMOVE = $0877 ; move filename
XGNUM = $087A ; get number XGNUM = $087A ; get number
XDEFDEV = $0816 ; current drive * undocumented *
;------------------------------------------------------------------------- ;-------------------------------------------------------------------------
; End of atari.inc ; End of atari.inc

View File

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