]> git.sur5r.net Git - cc65/commitdiff
Renamed DEINSTALL to UNINSTALL.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 10 Feb 2003 22:48:40 +0000 (22:48 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 10 Feb 2003 22:48:40 +0000 (22:48 +0000)
Checked/fixed initialization so that some of the drivers do work now when
linked statically.

git-svn-id: svn://svn.cc65.org/cc65/trunk@1958 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/c64/c64-georam.s
libsrc/c64/c64-ram.s
libsrc/c64/c64-ramcart.s
libsrc/c64/c64-reu.s
libsrc/c64/c64-vdc.s

index bc98f6101594af78c40248c0cb8df73886619727..4e0ecd8165537c93ce221203a71920d74513ad4d 100644 (file)
@@ -1,5 +1,6 @@
 ;
-; Extended memory driver for the GEORAM cartridge
+; Extended memory driver for the GEORAM cartridge. Driver works without
+; problems when statically linked.
 ;
 ; Ullrich von Bassewitz, 2002-11-29
 ;
@@ -26,7 +27,7 @@
 ; Jump table.
 
         .word   INSTALL
-        .word   DEINSTALL
+        .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
         .word   USE
@@ -63,11 +64,11 @@ INSTALL:
         rts
 
 ; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
 ;
 
-DEINSTALL:
+UNINSTALL:
         rts
 
 
index f9e8b4f6c95fc2178d78f1fc08e00d515a3271f8..35194034d4a8cc834939c38c74a8f6d0587b20db 100644 (file)
@@ -1,5 +1,6 @@
 ;
-; Extended memory driver for the C64 hidden RAM
+; Extended memory driver for the C64 hidden RAM. Driver works without
+; problems when statically linked.
 ;
 ; Ullrich von Bassewitz, 2002-12-02
 ;
@@ -26,7 +27,7 @@
 ; Jump table.
 
         .word   INSTALL
-        .word   DEINSTALL
+        .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
         .word   USE
@@ -43,10 +44,8 @@ PAGES        = ($10000 - BASE) / 256
 ; ------------------------------------------------------------------------
 ; Data.
 
-.data
-curpage:        .byte  $FF             ; Current page number (invalid)
-
 .bss
+curpage:        .res    1               ; Current page number
 window:         .res    256             ; Memory "window"
 
 .code
@@ -59,16 +58,18 @@ window:         .res    256             ; Memory "window"
 ;
 
 INSTALL:
-        lda     #<EM_ERR_OK
-        ldx     #>EM_ERR_OK
+        ldx     #$FF
+        stx     curpage                 ; Invalidate the current page
+        inx                             ; X = 0
+        txa                             ; A = X = EM_ERR_OK
         rts
 
 ; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
 ;
 
-DEINSTALL:
+UNINSTALL:
         rts
 
 
@@ -243,7 +244,7 @@ common: ldy     #EM_COPY_COUNT+1
         sta            $01
 
 ; Transfer the bytes in the last page
-  
+
         ldy     #$00
 @L3:    lda    (ptr1),y
         sta    (ptr2),y
@@ -256,7 +257,7 @@ common: ldy     #EM_COPY_COUNT+1
         pla
         sta     $01                     ; Restore the old configuration
         cli
-                    
+
 ; Done
 
 @L4:    rts
index 194fec87150c6227ce2d22f33d05ec90c42c8619..5541e9b9f9926a222c27fc24b8808f58d38d476c 100644 (file)
@@ -1,9 +1,10 @@
 ;
-; Extended memory driver for the RamCart 64/128KB cartridge
-; (based on GEORAM code by Ullrich von Bassewitz)
+; Extended memory driver for the RamCart 64/128KB cartridge. Driver works 
+; without problems when statically linked.
+; Code is based on GEORAM code by Ullrich von Bassewitz.
 ; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
 ; 06,22.12.2002
-; 
+;
 
 
        .include        "zeropage.inc"
@@ -28,7 +29,7 @@
 ; Jump table.
 
         .word   INSTALL
-        .word   DEINSTALL
+        .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
        .word   USE
@@ -46,9 +47,9 @@ RAMC_PAGE_HI      = $DE01                 ; Page register high (only for RC128)
 ; ------------------------------------------------------------------------
 ; Data.
 
-.data
+.bss
 
-pagecount:      .word   512              ; default for RC128
+pagecount:      .res    2               ; Number of available pages
 
 .code
 
@@ -102,11 +103,11 @@ INSTALL:
        rts
 
 ; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
 ;
 
-DEINSTALL:
+UNINSTALL:
         rts
 
 
index 2c8238078a74a5e4be973146ecd25e0b2e2ca598..a5f57d1f7eecdff7965110eea9c68b897034ef1a 100644 (file)
@@ -26,7 +26,7 @@
 ; Jump table.
 
         .word   INSTALL
-        .word   DEINSTALL
+        .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
         .word   USE
@@ -53,19 +53,18 @@ OP_COPYTO       = $EC
 ; ------------------------------------------------------------------------
 ; Data.
 
-.data
+.bss
 pagecount:      .res    2               ; Number of pages available
-curpage:        .word   $FFFF           ; Current page number (invalid)
+curpage:        .res    2               ; Current page number
 
-.bss
 window:         .res    256             ; Memory "window"
 
 reu_params:     .word  $0000           ; Host address, lo, hi
-               .word   $0000           ; Exp  address, lo, hi
+               .word   $0000           ; Exp  address, lo, hi
                 .byte  $00             ; Expansion  bank no.
                        .word   $0000           ; # bytes to move, lo, hi
-                       .byte   $00             ; Interrupt mask reg.
-                       .byte   $00             ; Adress control reg.
+                       .byte   $00             ; Interrupt mask reg.
+                       .byte   $00             ; Adress control reg.
 
 .code
 
@@ -92,9 +91,12 @@ INSTALL:
         beq     @L1
         ldx     #>(256*4)               ; 256KB when size bit is set
 @L1:    stx     pagecount+1
-
-        lda     #<EM_ERR_OK
-        ldx     #>EM_ERR_OK
+         
+        ldx     #$FF
+        stx     curpage
+        stx     curpage+1               ; Invalidate the current page
+        inx
+        txa                             ; X = A = EM_ERR_OK
         rts
 
 ; No REU found
@@ -105,11 +107,11 @@ nodevice:
         rts
 
 ; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
 ;
 
-DEINSTALL:
+UNINSTALL:
         rts
 
 
index 49badc3d116af4ee70ff873c032e0d342f2f915d..86e3ad91c51a695df07fc73a4b1c001fa5fd377e 100644 (file)
@@ -26,7 +26,7 @@
 ; Jump table.
 
         .word   INSTALL
-        .word   DEINSTALL
+        .word   UNINSTALL
         .word   PAGECOUNT
         .word   MAP
        .word   USE
@@ -99,14 +99,14 @@ INSTALL:
 
        ldx     #VDC_CSET
        lda     tmp1
-       jsr     vdcputreg       ; restore 16/64k flag
-       jmp     @endok          ; and leave default values for 16k
+       jsr     vdcputreg       ; restore 16/64k flag
+       jmp     @endok          ; and leave default values for 16k
 
 @have64k:
-       lda     #<256
-       ldx     #>256
-       sta     pagecount
-       stx     pagecount+1
+       lda     #<256
+       ldx     #>256
+       sta     pagecount
+       stx     pagecount+1
 @endok:
        lda     #<EM_ERR_OK
         ldx     #>EM_ERR_OK
@@ -141,11 +141,11 @@ settestadr2:
        jmp     vdcsetsrcaddr
 
 ; ------------------------------------------------------------------------
-; DEINSTALL routine. Is called before the driver is removed from memory.
+; UNINSTALL routine. Is called before the driver is removed from memory.
 ; Can do cleanup or whatever. Must not return anything.
 ;
 
-DEINSTALL:
+UNINSTALL:
        ;on C128 restore font and clear the screen?
         rts
 
@@ -255,7 +255,7 @@ COPYFROM:
        jsr     setup
        beq     @L2                     ; Skip if no full pages
 
-; Copy full pages 
+; Copy full pages
 
 @L1:    jsr     transferin
         inc     ptr1+1
@@ -291,7 +291,7 @@ COPYTO:
        jsr     setup
        beq     @L2                     ; Skip if no full pages
 
-; Copy full pages 
+; Copy full pages
 
 @L1:    jsr     transferout
         inc     ptr1+1