url="funcref.html" name="function reference"> for declaration and usage.
 
 <itemize>
+<item>detect_c128
 <item>detect_scpu
-<item>scpu_get_speed
-<item>scpu_set_speed
+<item>get_c128_speed
+<item>get_scpu_speed
+<item>set_c128_speed
+<item>set_scpu_speed
 </itemize>
 
 
 
 
 <quote>
 <descrip>
-<tag/Function/Check for the presence of a C128 in C64 mode.
+<tag/Function/Check if a C128 CPU is the current CPU.
 <tag/Header/<tt/<ref id="accelerator.h" name="accelerator.h">/
 <tag/Declaration/<tt/unsigned char detect_c128 (void);/
-<tag/Description/The function returns a 1 if a C128 in C64 mode has been detected.
+<tag/Description/The function returns a 1 if a C128 CPU is the current CPU.
 <tag/Notes/<itemize>
-<item>The function is specific to the C64.
+<item>The function is specific to the C64 and C128.
 </itemize>
 <tag/Availability/cc65 (not all platforms)
 <tag/See also/
 
 <quote>
 <descrip>
-<tag/Function/Get the current speed of the C128 in C64 mode.
+<tag/Function/Get the current speed of the C128 CPU.
 <tag/Header/<tt/<ref id="accelerator.h" name="accelerator.h">/
 <tag/Declaration/<tt/unsigned char get_c128_speed (void);/
-<tag/Description/The function returns the current speed of the C128 in C64 mode.
+<tag/Description/The function returns the current speed of the C128 CPU.
 <tag/Notes/<itemize>
-<item>The function is specific to the C64.
-<item>The function does not check for the presence of a C128 in C64 mode.
+<item>The function is specific to the C64 and C128.
+<item>The function does not check if the C128 CPU is the current CPU.
 <item>See the accelerator.h header for the speed definitions.
 </itemize>
 <tag/Availability/cc65 (not all platforms)
 
 <quote>
 <descrip>
-<tag/Function/Set the current speed of a C128 in C64 mode.
+<tag/Function/Set the current speed of a C128 CPU.
 <tag/Header/<tt/<ref id="accelerator.h" name="accelerator.h">/
 <tag/Declaration/<tt/unsigned char __fastcall__ set_c128_speed (unsigned char speed);/
-<tag/Description/The function returns the speed after trying to set the speed of the C128 in C64 mode.
+<tag/Description/The function returns the speed after trying to set the speed of the C128 CPU.
 <tag/Notes/<itemize>
-<item>The function is specific to the C64.
-<item>The function does not check for the presence of a C128 in C64 mode.
+<item>The function is specific to the C64 and C128.
+<item>The function does not check if the C128 CPU is the current CPU.
 <item>See the accelerator.h header for the speed definitions.
 </itemize>
 <tag/Availability/cc65 (not all platforms)
 
  */
 
 
-/* C128 in C64 mode */
+/* C128 8502 CPU */
 
 extern unsigned char __fastcall__ set_c128_speed (unsigned char speed);
 
-/* Set the speed of the C128 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 does not check for the presence of a C128 in C64 mode,
- * make sure you use 'detect_c128();' before using.
+ * This function does not check if the C128 CPU is the current CPU, make sure
+ * you use 'detect_c128();' before using.
  */
 
 extern unsigned char get_c128_speed (void);
 
-/* Get the speed of the C128 CPU.
+/* Get the speed of the C128 8502 CPU.
  *
  * Possible return values:
  * SPEED_SLOW  : Slow mode
  * SPEED_2X    : Fast mode
  *
- * This function does not check for the presence of a C128 in C64 mode,
- * make sure you use 'detect_c128();' before using.
+ * This function does not check if the C128 CPU is the current CPU, make sure
+ * you use 'detect_c128();' before using.
  */
 
 extern unsigned char detect_c128 (void);
 
-/* Check for the presence of a C128 in C64 mode.
+/* Check if the C128 CPU is the current CPU.
  *
  * Possible return values:
- * 0x00  : C128 in C64 mode not present
- * 0x01  : C128 in C64 mode present
+ * 0x00  : C128 CPU is not the current CPU
+ * 0x01  : C128 CPU is the current CPU
  */
 
 /* End of accelerator.h */
 
--- /dev/null
+;
+; Marco van den Heuvel, 2018-04-23
+;
+
+; extern unsigned char __fastcall__ set_c128_speed (unsigned char speed);
+;
+;/* 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.
+; *
+; * 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.
+; */
+
+; extern unsigned char get_c128_speed (void);
+;
+;/* Get the speed of the C128 8502 CPU.
+; *
+; * Possible return values:
+; * SPEED_SLOW  : Slow mode
+; * SPEED_2X    : Fast mode
+; *
+; * 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.
+; */
+
+        .export         _set_c128_speed
+        .export         _get_c128_speed
+
+        .include        "accelerator.inc"
+
+_set_c128_speed:
+        cmp     #SPEED_2X
+        bcs     high_speed
+store_speed:
+        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
+        rts
+
 
--- /dev/null
+;
+; Marco van den Heuvel, 2018-04-23
+;
+
+; unsigned char detect_c128 (void);
+;
+;/* Check if the C128 8502 CPU is the current CPU.
+; *
+; * Possible return values:
+; * 0x00  : C128 8502 is not the current CPU
+; * 0x01  : C128 8502 is the current CPU
+; */
+
+        .export         _detect_c128
+
+        .include        "accelerator.inc"
+
+_detect_c128:
+        ldx     #$00
+        lda     #$01
+
+; Make sure the CPU is a 8502
+        .byte   $3A                   ; NOP on 8502, DEA on 65(S)C(E)02, 4510 and 65816
+        rts
 
 ;
-; Marco van den Heuvel, 2018-04-20
+; Marco van den Heuvel, 2018-04-23
 ;
 
-; extern unsigned char __fastcall__ set_c128_speed (unsigned char speed);
-;
-;/* Set the speed of the C128 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 does not check for the presence of a C128 in C64 mode,
-; * make sure you use 'detect_c128();' before using.
-; */
-
-; extern unsigned char get_c128_speed (void);
-;
-;/* Get the speed of the C128 CPU.
-; *
-; * Possible return values:
-; * SPEED_SLOW  : Slow mode
-; * SPEED_2X    : Fast mode
-; *
-; * This function does not check for the presence of a C128 in C64 mode,
-; * make sure you use 'detect_c128();' before using.
-; */
-
-        .export         _set_c128_speed
-        .export         _get_c128_speed
-
-        .include        "accelerator.inc"
-
-_set_c128_speed:
-        cmp     #SPEED_2X
-        bcs     high_speed
-store_speed:
-        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
-        rts
+.include "../c128/acc_c128_speed.s"
 
 
 CL ?= cl65
 
-all: c64-scpu-test.prg c128-scpu-test.prg c64dtv-test.prg c64-c128-test.prg
+all:   c64-scpu-test.prg c128-scpu-test.prg c64dtv-test.prg \
+       c64-c128-test.prg c128-test.prg
 
 c64-scpu-test.prg: c64-c128-scpu-test.c
        $(CL) -t c64 c64-c128-scpu-test.c -o c64-scpu-test.prg
 
 c64-c128-test.prg: c64-c128-test.c
        $(CL) -t c64 c64-c128-test.c -o c64-c128-test.prg
+
+c128-test.prg: c64-c128-test.c
+       $(CL) -t c128 c64-c128-test.c -o c128-test.prg
 
 #define ACC_DETECT      detect_c128
 #define ACC_GET_SPEED   get_c128_speed
 #define ACC_SET_SPEED   set_c128_speed
-#define ACC_NAME        "C128 in C64 mode"
+#define ACC_NAME        "C128 CPU"
 
 #include "turbo-test.c"