summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/emu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockboy/emu.c')
-rw-r--r--apps/plugins/rockboy/emu.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/apps/plugins/rockboy/emu.c b/apps/plugins/rockboy/emu.c
index 50fc442713..7f24bde01e 100644
--- a/apps/plugins/rockboy/emu.c
+++ b/apps/plugins/rockboy/emu.c
@@ -41,23 +41,21 @@ void emu_run(void)
41#ifdef HAVE_ADJUSTABLE_CPU_FREQ 41#ifdef HAVE_ADJUSTABLE_CPU_FREQ
42 rb->cpu_boost(true); 42 rb->cpu_boost(true);
43#endif 43#endif
44
44 while(!shut) 45 while(!shut)
45 { 46 {
46 cpu_emulate(2280); 47 cpu_emulate(2280);
47 while (R_LY > 0 && R_LY < 144) 48 while (R_LY > 0 && R_LY < 144)
48 emu_step(); 49 emu_step();
49 50
50 /* rtc_tick(); */ /* RTC support not implemented */ 51 rtc_tick(); /* RTC support not implemented */
51 52
52 if(options.sound) 53 if(options.sound || !plugbuf)
53 {
54 sound_mix(); 54 sound_mix();
55 pcm_submit(); 55
56 }
57
58 doevents(); 56 doevents();
59 vid_begin(); 57 vid_begin();
60 58
61 if (!(R_LCDC & 0x80)) 59 if (!(R_LCDC & 0x80))
62 cpu_emulate(32832); 60 cpu_emulate(32832);
63 61
@@ -70,11 +68,11 @@ void emu_run(void)
70 frames++; 68 frames++;
71 framesin++; 69 framesin++;
72 70
73 if(*rb->current_tick-timeten>=20) 71 if(*rb->current_tick-timeten>=10)
74 { 72 {
75 timeten=*rb->current_tick; 73 timeten=*rb->current_tick;
76 if(framesin<12) options.frameskip++; 74 if(framesin<6) options.frameskip++;
77 if(framesin>12) options.frameskip--; 75 if(framesin>6) options.frameskip--;
78 if(options.frameskip>options.maxskip) options.frameskip=options.maxskip; 76 if(options.frameskip>options.maxskip) options.frameskip=options.maxskip;
79 if(options.frameskip<0) options.frameskip=0; 77 if(options.frameskip<0) options.frameskip=0;
80 framesin=0; 78 framesin=0;