wait states!
authorJohn Tsiombikas <nuclear@member.fsf.org>
Mon, 12 Apr 2021 13:10:29 +0000 (16:10 +0300)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Mon, 12 Apr 2021 13:10:29 +0000 (16:10 +0300)
src/gbaregs.h
src/main.c

index 586f53a..3396cc9 100644 (file)
 #define DMACNT_IEN                     0x40000000
 #define DMACNT_EN                      0x80000000
 
+/* REG_WAITCNT bits */
+#define WAITCNT_ROM_4_2                0x0000
+#define WAITCNT_ROM_3_2                0x0004
+#define WAITCNT_ROM_2_2                0x0008
+#define WAITCNT_ROM_8_2                0x000c
+#define WAITCNT_ROM_4_1                0x0010
+#define WAITCNT_ROM_3_1                0x0014
+#define WAITCNT_ROM_2_1                0x0018
+#define WAITCNT_ROM_8_1                0x001c
+#define WAITCNT_PREFETCH       0x4000
 
 #endif /* GBAREGS_H_ */
index 8f122b5..f629a13 100644 (file)
@@ -16,6 +16,8 @@ int main(void)
 {
        intr_init();
 
+       REG_WAITCNT = WAITCNT_PREFETCH | WAITCNT_ROM_2_1;
+
 #ifndef NOSOUND
        interrupt(INTR_TIMER1, AAS_Timer1InterruptHandler);
        AAS_SetConfig(AAS_CONFIG_MIX_24KHZ, AAS_CONFIG_CHANS_8, AAS_CONFIG_SPATIAL_STEREO, AAS_CONFIG_DYNAMIC_ON);