]> git.sur5r.net Git - cc65/commitdiff
Set FNAM_BANK *after* calling constructors
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 28 Apr 2004 09:47:57 +0000 (09:47 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 28 Apr 2004 09:47:57 +0000 (09:47 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2989 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/c128/crt0.s

index 247fdb7433b4d14ccb52b50c33707b7a08eaf833..3e3576a215af43715caaff262db40e5c96fbf955 100644 (file)
@@ -50,11 +50,6 @@ Head:   .word   @Next
        lda     #14
        jsr     BSOUT
 
-; Set the bank for the file name our execution bank
-
-        lda     #0
-        sta     FNAM_BANK
-
 ; Before doing anything else, we have to setup our banking configuration.
 ; Otherwise just the lowest 16K are actually RAM. Writing through the ROM
 ; to the underlying RAM works, but it is bad style.
@@ -93,6 +88,13 @@ L1:  lda     sp,x
 
        jsr     initlib
 
+; Set the bank for the file name to our execution bank. We must do this, 
+; *after* calling constructors, because some of them may depend on the 
+; original value of this register.
+
+        lda     #0
+        sta     FNAM_BANK
+
 ; If we have IRQ functions, chain our stub into the IRQ vector
 
         lda     #<__IRQFUNC_COUNT__