]> git.sur5r.net Git - cc65/blobdiff - include/accelerator.h
Merge pull request #656 from Compyx/master
[cc65] / include / accelerator.h
index d29b734670053bfb5bbe027f0428a7caa05451ba..fdd2ebaf707ae75d556c37aab8bb85df8050abfd 100644 (file)
@@ -60,7 +60,7 @@
 
 /* C64/C128 SuperCPU cartridge */
 
-extern unsigned char __fastcall__ set_scpu_speed (unsigned char speed);
+unsigned char __fastcall__ set_scpu_speed (unsigned char speed);
 
 /* Set the speed of the SuperCPU cartridge, using SPEED_SLOW will switch to
  * 1 Mhz mode, SPEED_20X or SPEED_FAST will switch to 20 Mhz mode.
@@ -226,6 +226,84 @@ unsigned char detect_chameleon (void);
  * 0x01  : C64 Chameleon cartridge present
  */
 
+
+/* C65/C64DX in C64 mode */
+
+unsigned char __fastcall__ set_c65_speed (unsigned char speed);
+
+/* Set the speed of the C65/C64DX CPU, using SPEED_SLOW will switch to
+ * 1 Mhz mode, SPEED_3X or SPEED_FAST will switch to 3.5 Mhz (fast) mode.
+ *
+ * Note that any value higher or equal to SPEED_3X 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 C65/C64DX in C64 mode,
+ * make sure you use 'detect_c65();' before using.
+ */
+
+unsigned char get_c65_speed (void);
+
+/* Get the speed of the C65/C64DX CPU.
+ *
+ * Possible return values:
+ * SPEED_SLOW  : Slow mode
+ * SPEED_3X    : Fast mode
+ *
+ * This function does not check for the presence of a C65/C64DX in C64 mode,
+ * make sure you use 'detect_c65();' before using.
+ */
+
+unsigned char detect_c65 (void);
+
+/* Check for the presence of a C65/C64DX in C64 mode.
+ *
+ * Possible return values:
+ * 0x00  : C65/C64DX in C64 mode not present
+ * 0x01  : C65/C64DX in C64 mode present
+ */
+
+
+/* C64 Turbo Master cartridge */
+
+unsigned char __fastcall__ set_turbomaster_speed (unsigned char speed);
+
+/* Set the speed of the Turbo Master cartridge, using SPEED_SLOW will switch to
+ * 1 Mhz mode, SPEED_4X or SPEED_FAST will switch to 4 Mhz mode.
+ *
+ * Note that any value higher or equal to SPEED_4X will switch to 4 Mhz mode,
+ * any value lower than SPEED_4X will switch to 1 Mhz mode.
+ *
+ * This function will return the actual speed the CPU is at after trying
+ * to set the requested speed, if the speed is different it might indicate
+ * that the hardware switch has locked the speed.
+ *
+ * This function does not check for the presence of a Turbo Master cartridge,
+ * make sure you use 'detect_turbomaster();' before using.
+ */
+
+unsigned char get_turbomaster_speed (void);
+
+/* Get the speed of the Turbo Master cartridge.
+ *
+ * Possible return values:
+ * SPEED_SLOW  : 1 Mhz mode
+ * SPEED_4X    : 4 Mhz mode
+ *
+ * This function does not check for the presence of a Turbo Master cartridge,
+ * make sure you use 'detect_turbomaster();' before using.
+ */
+
+unsigned char detect_turbomaster (void);
+
+/* Check for the presence of a C64 Turbo Master cartridge.
+ *
+ * Possible return values:
+ * 0x00  : C64 Turbo Master cartridge not present
+ * 0x01  : C64 Turbo Master cartridge present
+ */
+
 /* End of accelerator.h */
 #endif