summaryrefslogtreecommitdiff
path: root/apps/plugins/chip8.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/chip8.c')
-rw-r--r--apps/plugins/chip8.c50
1 files changed, 17 insertions, 33 deletions
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index bbea442d8e..84e8e709c4 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -57,7 +57,7 @@
57#ifndef EXTERN 57#ifndef EXTERN
58#define EXTERN extern 58#define EXTERN extern
59#endif 59#endif
60 60
61typedef unsigned char byte; /* sizeof(byte)==1 */ 61typedef unsigned char byte; /* sizeof(byte)==1 */
62typedef unsigned short word; /* sizeof(word)>=2 */ 62typedef unsigned short word; /* sizeof(word)>=2 */
63 63
@@ -390,11 +390,11 @@ static void op_system (word opcode)
390 break; 390 break;
391 case 0xfc: 391 case 0xfc:
392 scroll_left(); 392 scroll_left();
393 break; 393 break;
394 case 0xfd: 394 case 0xfd:
395 DBG_(printf("SUPER: quit the emulator\n")); 395 DBG_(printf("SUPER: quit the emulator\n"));
396 chip8_reset(); 396 chip8_reset();
397 break; 397 break;
398 case 0xfe: 398 case 0xfe:
399 DBG_(printf("SUPER: set CHIP-8 graphic mode\n")); 399 DBG_(printf("SUPER: set CHIP-8 graphic mode\n"));
400 memset (chip8_display,0,sizeof(chip8_display)); 400 memset (chip8_display,0,sizeof(chip8_display));
@@ -404,7 +404,7 @@ static void op_system (word opcode)
404 DBG_(printf("SUPER: set SCHIP graphic mode\n")); 404 DBG_(printf("SUPER: set SCHIP graphic mode\n"));
405 memset (chip8_display,0,sizeof(chip8_display)); 405 memset (chip8_display,0,sizeof(chip8_display));
406 chip8_super = 1; 406 chip8_super = 1;
407 break; 407 break;
408#endif 408#endif
409 case 0xe0: 409 case 0xe0:
410 memset (chip8_display,0,sizeof(chip8_display)); 410 memset (chip8_display,0,sizeof(chip8_display));
@@ -553,7 +553,7 @@ static void op_sprite (word opcode)
553 x &= 64-1; 553 x &= 64-1;
554 y &= 32-1; 554 y &= 32-1;
555 q=chip8_display+y*CHIP8_WIDTH*2; 555 q=chip8_display+y*CHIP8_WIDTH*2;
556 if(n == 0) 556 if(n == 0)
557 n = 16; 557 n = 16;
558 if (n+y>32) 558 if (n+y>32)
559 n=32-y; 559 n=32-y;
@@ -838,7 +838,7 @@ STATIC void chip8_execute(void)
838 --chip8_regs.delay; 838 --chip8_regs.delay;
839 if (chip8_regs.sound) 839 if (chip8_regs.sound)
840 if (--chip8_regs.sound == 0) 840 if (--chip8_regs.sound == 0)
841 chip8_sound_off(); 841 chip8_sound_off();
842 842
843 /* Update the machine status */ 843 /* Update the machine status */
844 chip8_interrupt (); 844 chip8_interrupt ();
@@ -1092,7 +1092,7 @@ CONFIG_KEYPAD == SANSA_M200_PAD
1092#define CHIP8_KEY8 BUTTON_DOWN 1092#define CHIP8_KEY8 BUTTON_DOWN
1093#define CHIP8_KEY9 BUTTON_VIEW 1093#define CHIP8_KEY9 BUTTON_VIEW
1094#define CHIP8_KEY0 BUTTON_VOL_DOWN 1094#define CHIP8_KEY0 BUTTON_VOL_DOWN
1095 1095
1096#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD 1096#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
1097#define CHIP8_OFF BUTTON_POWER 1097#define CHIP8_OFF BUTTON_POWER
1098#define CHIP8_KEY1 BUTTON_LEFT 1098#define CHIP8_KEY1 BUTTON_LEFT
@@ -1251,23 +1251,7 @@ CONFIG_KEYPAD == MROBE500_PAD
1251#define CHIP8_KEY6 BUTTON_RIGHT 1251#define CHIP8_KEY6 BUTTON_RIGHT
1252#define CHIP8_KEY8 BUTTON_LEFT 1252#define CHIP8_KEY8 BUTTON_LEFT
1253 1253
1254#elif CONFIG_KEYPAD == XDUOO_X3_PAD 1254#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
1255#define CHIP8_OFF BUTTON_POWER
1256#define CHIP8_KEY2 BUTTON_HOME
1257#define CHIP8_KEY4 BUTTON_PREV
1258#define CHIP8_KEY5 BUTTON_PLAY
1259#define CHIP8_KEY6 BUTTON_NEXT
1260#define CHIP8_KEY8 BUTTON_OPTION
1261
1262#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
1263#define CHIP8_OFF BUTTON_POWER
1264#define CHIP8_KEY2 BUTTON_HOME
1265#define CHIP8_KEY4 BUTTON_PREV
1266#define CHIP8_KEY5 BUTTON_PLAY
1267#define CHIP8_KEY6 BUTTON_NEXT
1268#define CHIP8_KEY8 BUTTON_OPTION
1269
1270#elif CONFIG_KEYPAD == XDUOO_X20_PAD
1271#define CHIP8_OFF BUTTON_POWER 1255#define CHIP8_OFF BUTTON_POWER
1272#define CHIP8_KEY2 BUTTON_HOME 1256#define CHIP8_KEY2 BUTTON_HOME
1273#define CHIP8_KEY4 BUTTON_PREV 1257#define CHIP8_KEY4 BUTTON_PREV
@@ -1283,7 +1267,7 @@ CONFIG_KEYPAD == MROBE500_PAD
1283#define CHIP8_KEY6 BUTTON_NEXT 1267#define CHIP8_KEY6 BUTTON_NEXT
1284#define CHIP8_KEY8 BUTTON_OPTION 1268#define CHIP8_KEY8 BUTTON_OPTION
1285 1269
1286#elif CONFIG_KEYPAD == IHIFI_770_PAD 1270#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
1287#define CHIP8_OFF BUTTON_POWER 1271#define CHIP8_OFF BUTTON_POWER
1288#define CHIP8_KEY2 BUTTON_NEXT 1272#define CHIP8_KEY2 BUTTON_NEXT
1289#define CHIP8_KEY4 BUTTON_HOME 1273#define CHIP8_KEY4 BUTTON_HOME
@@ -1291,12 +1275,12 @@ CONFIG_KEYPAD == MROBE500_PAD
1291#define CHIP8_KEY6 BUTTON_VOL_DOWN 1275#define CHIP8_KEY6 BUTTON_VOL_DOWN
1292#define CHIP8_KEY8 BUTTON_PREV 1276#define CHIP8_KEY8 BUTTON_PREV
1293 1277
1294#elif CONFIG_KEYPAD == IHIFI_800_PAD 1278#elif CONFIG_KEYPAD == EROSQ_PAD
1295#define CHIP8_OFF BUTTON_POWER 1279#define CHIP8_OFF BUTTON_POWER
1296#define CHIP8_KEY2 BUTTON_NEXT 1280#define CHIP8_KEY2 BUTTON_NEXT
1297#define CHIP8_KEY4 BUTTON_HOME 1281#define CHIP8_KEY4 BUTTON_MENU
1298#define CHIP8_KEY5 BUTTON_VOL_UP 1282#define CHIP8_KEY5 BUTTON_PLAY
1299#define CHIP8_KEY6 BUTTON_VOL_DOWN 1283#define CHIP8_KEY6 BUTTON_BACK
1300#define CHIP8_KEY8 BUTTON_PREV 1284#define CHIP8_KEY8 BUTTON_PREV
1301 1285
1302#else 1286#else
@@ -1342,15 +1326,15 @@ static unsigned long cycles; /* Number of update cycles (50Hz) */
1342/****************************************************************************/ 1326/****************************************************************************/
1343/* Turn sound on */ 1327/* Turn sound on */
1344/****************************************************************************/ 1328/****************************************************************************/
1345static void chip8_sound_on (void) 1329static void chip8_sound_on (void)
1346{ 1330{
1347} 1331}
1348 1332
1349/****************************************************************************/ 1333/****************************************************************************/
1350/* Turn sound off */ 1334/* Turn sound off */
1351/****************************************************************************/ 1335/****************************************************************************/
1352static void chip8_sound_off (void) 1336static void chip8_sound_off (void)
1353{ 1337{
1354} 1338}
1355 1339
1356/****************************************************************************/ 1340/****************************************************************************/
@@ -1587,7 +1571,7 @@ enum plugin_status plugin_start(const void* parameter)
1587 } 1571 }
1588 else 1572 else
1589 { 1573 {
1590 filename = (char*) parameter; 1574 filename = (char*) parameter;
1591 } 1575 }
1592 1576
1593 /* now go ahead and have fun! */ 1577 /* now go ahead and have fun! */