]> git.sur5r.net Git - cc65/commitdiff
Small size optimizations
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 13 Dec 2003 15:16:11 +0000 (15:16 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 13 Dec 2003 15:16:11 +0000 (15:16 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2746 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/c128/c128-reu.s
libsrc/c64/c64-reu.s

index 9e740261890778bee987c026e148cc27bdbe9417..b097e6e9f61465f53b77993fd7ea87fdd558d6be 100644 (file)
@@ -78,35 +78,34 @@ reu_params:     .word       $0000           ; Host address, lo, hi
 ;
 
 INSTALL:
+        ldx     #$00                    ; High byte of return code
         lda     #$55
         sta     REU_REUADDR
         cmp     REU_REUADDR             ; Check for presence of REU
         bne     nodevice
-        lda     #$AA
+        asl     a                       ; A = $AA
         sta     REU_REUADDR
         cmp     REU_REUADDR             ; Check for presence of REU
         bne     nodevice
 
-        ldx     #>(128*4)               ; Assume 128KB
+        ldy     #>(128*4)               ; Assume 128KB
         lda     REU_STATUS
         and     #$10                    ; Check size bit
         beq     @L1
-        ldx     #>(256*4)               ; 256KB when size bit is set
-@L1:    stx     pagecount+1
+        ldy     #>(256*4)               ; 256KB when size bit is set
+@L1:    sty     pagecount+1
 
-        ldx     #$FF
-        stx     curpage
-        stx     curpage+1               ; Invalidate the current page
-        inx
+        ldy     #$FF
+        sty     curpage
+        sty     curpage+1               ; Invalidate the current page
         txa                             ; X = A = EM_ERR_OK
         rts
 
 ; No REU found
 
 nodevice:
-        lda     #<EM_ERR_NO_DEVICE
-        ldx     #>EM_ERR_NO_DEVICE
-        rts
+        lda     #EM_ERR_NO_DEVICE
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
index 62c7bbc2aa741b5e545d06b04c24a4fff2317dc3..4fd5e3db7100325965ea6b4c9f2961365a205191 100644 (file)
@@ -77,35 +77,34 @@ reu_params:     .word       $0000           ; Host address, lo, hi
 ;
 
 INSTALL:
+        ldx     #$00                    ; High byte of return code
         lda     #$55
         sta     REU_REUADDR
         cmp     REU_REUADDR             ; Check for presence of REU
         bne     nodevice
-        lda     #$AA
+        asl     a                       ; A = $AA
         sta     REU_REUADDR
         cmp     REU_REUADDR             ; Check for presence of REU
         bne     nodevice
 
-        ldx     #>(128*4)               ; Assume 128KB
+        ldy     #>(128*4)               ; Assume 128KB
         lda     REU_STATUS
         and     #$10                    ; Check size bit
         beq     @L1
-        ldx     #>(256*4)               ; 256KB when size bit is set
-@L1:    stx     pagecount+1
+        ldy     #>(256*4)               ; 256KB when size bit is set
+@L1:    sty     pagecount+1
 
-        ldx     #$FF
-        stx     curpage
-        stx     curpage+1               ; Invalidate the current page
-        inx
+        ldy     #$FF
+        sty     curpage
+        sty     curpage+1               ; Invalidate the current page
         txa                             ; X = A = EM_ERR_OK
         rts
 
 ; No REU found
 
 nodevice:
-        lda     #<EM_ERR_NO_DEVICE
-        ldx     #>EM_ERR_NO_DEVICE
-        rts
+        lda     #EM_ERR_NO_DEVICE
+;       rts                             ; Run into UNINSTALL instead
 
 ; ------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.