]> git.sur5r.net Git - cc65/commitdiff
Improved the accelerator code. Fixed an infinite loop.
authorGreg King <gregdk@users.sf.net>
Thu, 26 Apr 2018 09:37:27 +0000 (05:37 -0400)
committerGreg King <gregdk@users.sf.net>
Thu, 26 Apr 2018 09:46:34 +0000 (05:46 -0400)
Removed the execute permissions from some files.

libsrc/c128/acc_c128_speed.s [changed mode: 0755->0644]
libsrc/c128/acc_detect_c128.s [changed mode: 0755->0644]
libsrc/c128/acc_detect_scpu.s [changed mode: 0755->0644]
libsrc/c128/acc_scpu_speed.s [changed mode: 0755->0644]
libsrc/c64/acc_c128_speed.s [changed mode: 0755->0644]
libsrc/c64/acc_c64dtv_speed.s [changed mode: 0755->0644]
libsrc/c64/acc_detect_c128.s [changed mode: 0755->0644]
libsrc/c64/acc_detect_c64dtv.s [changed mode: 0755->0644]
testcode/lib/accelerator/c64-c128-scpu-test.c [changed mode: 0755->0644]
testcode/lib/accelerator/c64-c128-test.c [changed mode: 0755->0644]
testcode/lib/accelerator/c64dtv-test.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index c3012b2..a104aad
@@ -1,21 +1,22 @@
 ;
-; Marco van den Heuvel, 2018-04-23
+; 2018-04-23, Marco van den Heuvel
+; 2018-04-26, Greg King
 ;
 
 ; extern unsigned char __fastcall__ set_c128_speed (unsigned char speed);
 ;
-;/* Set the speed of the C128 8502 CPU, using SPEED_SLOW will switch to
+;/* Set the speed of the C128 8502 CPU; using SPEED_SLOW will switch to
 ; * 1 Mhz (slow) mode, SPEED_2X or SPEED_FAST will switch to 2Mhz (fast) mode.
 ; *
 ; * Note that any value higher or equal to SPEED_2X will switch to fast mode.
 ; *
-; * This function will return the actual speed the CPU is at after trying
-; * to set the requested speed, to my knowledge the switching should not fail.
+; * This function will return the actual speed the CPU is at, after trying
+; * to set the requested speed; to my knowledge, the switching should not fail.
 ; *
-; * For C64 programs a check for a C128 in C64 mode is needed, make sure you
+; * For C64 programs, a check for a C128 in C64 mode is needed; make sure you
 ; * use 'detect_c128();' before using.
 ; *
-; * For C128 programs no detect function call is needed.
+; * For C128 programs, no detect function call is needed.
 ; */
 
 ; extern unsigned char get_c128_speed (void);
 ; * SPEED_SLOW  : Slow mode
 ; * SPEED_2X    : Fast mode
 ; *
-; * For C64 programs a check for a C128 in C64 mode is needed, make sure you
+; * For C64 programs, a check for a C128 in C64 mode is needed; make sure you
 ; * use 'detect_c128();' before using.
 ; *
-; * For C128 programs no detect function call is needed.
+; * For C128 programs, no detect function call is needed.
 ; */
 
         .export         _set_c128_speed
 
 _set_c128_speed:
         cmp     #SPEED_2X
-        bcs     high_speed
-store_speed:
+        lda     #$00                    ; clear VIC-IIe test bit
+        rol     a                       ; carry flag is speed bit
         sta     C128_VICIIE_CLK
 
-        .byte   $2C              ; skip over the lda #$01
-high_speed:
-        lda     #$01
-        bne     store_speed
-
 _get_c128_speed:
         lda     C128_VICIIE_CLK
         and     #$01
-        ldx     #$00
+        ldx     #>$0000
         rts
-
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index bdd5594..678f52d
@@ -3,4 +3,3 @@
 ;
 
 .include "../c128/acc_c128_speed.s"
-
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 7199673..1281700
@@ -1,5 +1,6 @@
 ;
-; Marco van den Heuvel, 2018-04-20
+; 2018-04-20, Marco van den Heuvel
+; 2018-04-26, Greg King
 ;
 
 ; unsigned char detect_c128 (void);
         .include        "accelerator.inc"
 
 _detect_c128:
-        lda     #$00
-        tax
+        ldx     #>$0001
+        lda     #<$0001
 
-; Make sure the CPU is a 8502
-        .byte   $1A                   ; NOP on 8502, INA on 65(S)C(E)02, 4510 and 65816
-        beq     found
-        .byte   $3A                   ; decrement A again, so a #$00 can be returned
-        rts
-
-found:
+; Make sure the CPU is an 8502.
+        .byte   $3A     ; NOP on 8502, DEA on 65(S)C(E)02, 4510, and 65816
+        beq     detect_end
 
-; Make sure a C128 VICIIe is present
+; Make sure a C128 VIC-IIe is present.
         ldy     C128_VICIIE_CLK
         cpy     #$FF
-        beq     not_found
-        lda     #$01
-not_found:
+        bne     detect_end
+        txa             ; return zero when not VIC-IIe
+detect_end:
         rts
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)