]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/getdefdev.s
Implement packed mode
[cc65] / libsrc / atari / getdefdev.s
index 8878f80601a0e13bcf41b8d81fcce50108e87391..a6d13e86e84e97d66bfbe36ff495d357a2f2761d 100644 (file)
@@ -1,7 +1,7 @@
 ;
-; Freddy Offenga & Christian Groessler, August 2003
+; Freddy Offenga & Christian Groessler, December 2004
 ;
-; function to get default device: char *getdefdev(void);
+; function to get default device: char *_getdefdev(void);
 ;
 ; SpartaDOS:
 ; the ZCRNAME routine is only used to get the default drive because
 
        .include        "atari.inc"
        .import         __dos_type
-       .export         _getdefdev              ; get default device (e.g. "D1:")
+       .export         __getdefdev             ; get default device
+       .export         __defdev                ; this is the default device string (e.g. "D1:")
+.ifdef DYNAMIC_DD
+       .constructor    __getdefdev,24
+.endif
 
 ; Get default device (LBUF will be destroyed!!)
 
-_getdefdev:
+__getdefdev:
 
        lda     __dos_type      ; which DOS?
        cmp     #ATARIDOS
@@ -62,21 +66,25 @@ crvec:      jsr     $FFFF           ; will be set to crunch vector
 
        ldy     #COMFNAM        ;  COMFNAM is always "Dn:"
        lda     (DOSVEC),y
-       sta     defdev
+       sta     __defdev
        iny
        lda     (DOSVEC),y
-       sta     defdev+1
+       sta     __defdev+1
 
-; return ointer to default device
+; Return pointer to default device
 
-finish:        lda     #<defdev
-       ldx     #>defdev
+finish:        lda     #<__defdev
+       ldx     #>__defdev
        rts
 
        .data
 
 ; Default device
 
-defdev:
+__defdev:
+.ifdef DEFAULT_DEVICE
+       .byte   'D', '0'+DEFAULT_DEVICE, ':', 0
+.else
        .byte   "D1:", 0
+.endif