]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm/filevars.s
Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a construct...
[cc65] / libsrc / cbm / filevars.s
index 54f247d4cb035288a5c0e4f92e3c96cebe0b92cf..3b6bdb750a023dbb3901bca9f7a8d48dac89f648 100644 (file)
@@ -4,15 +4,33 @@
 ; Variables used for CBM file I/O
 ;
 
-        .export         __curunit
         .export         __filetype
+        .export         __curunit
+        .constructor    initcurunit, 30
+        .importzp       devnum
 
 
 .data
 
-__curunit:
-        .byte   8               ; Default is disk
-
 __filetype:
         .byte   'u'             ; Create user files by default
 
+
+.bss
+
+__curunit:
+        .res    1
+
+
+.segment "INIT"
+
+.proc   initcurunit
+
+        lda     devnum
+        bne     @L0
+        lda     #8              ; Default is disk
+        sta     devnum
+@L0:    sta     __curunit
+        rts
+
+.endproc