static void blit2(const char *fps, const char *notice, int lagging_behind);
static void clearArea(int full);
-void emu_noticeMsgUpdated(void)
+void plat_status_msg(const char *format, ...)
{
+ va_list vl;
+
+ va_start(vl, format);
+ vsnprintf(noticeMsg, sizeof(noticeMsg), fmt, vl);
+ va_end(vl);
+
noticeMsgTime = sceKernelGetSystemTimeLow();
}
static void emu_msg_tray_open(void)
{
- strcpy(noticeMsg, "CD tray opened");
- noticeMsgTime = sceKernelGetSystemTimeLow();
+ plat_status_msg("CD tray opened");
}
ret = sceAudio_38553111(samples_block/2, PsndRate, 2); // seems to not need that stupid 64byte alignment
if (ret < 0) {
lprintf("sceAudio_38553111() failed: %i\n", ret);
- sprintf(noticeMsg, "sound init failed (%i), snd disabled", ret);
- noticeMsgTime = sceKernelGetSystemTimeLow();
- currentConfig.EmuOpt &= ~4;
+ plat_status_msg("sound init failed (%i), snd disabled", ret);
+ currentConfig.EmuOpt &= ~EOPT_EN_SOUND;
} else {
PicoWriteSound = writeSound;
memset32((int *)(void *)sndBuffer, 0, sizeof(sndBuffer)/4);
vidResetMode();
- if (PicoOpt&0x10)
- strcpy(noticeMsg, "fast renderer");
+ if (PicoOpt & POPT_ALT_RENDERER)
+ plat_status_msg("fast renderer");
else if (currentConfig.EmuOpt&0x80)
- strcpy(noticeMsg, "accurate renderer");
-
- noticeMsgTime = sceKernelGetSystemTimeLow();
+ plat_status_msg("accurate renderer");
}
if (which & 0x0300)
{
state_slot += 1;
if(state_slot > 9) state_slot = 0;
}
- sprintf(noticeMsg, "SAVE SLOT %i [%s]", state_slot, emu_checkSaveFile(state_slot) ? "USED" : "FREE");
- noticeMsgTime = sceKernelGetSystemTimeLow();
+ plat_status_msg("SAVE SLOT %i [%s]", state_slot,
+ emu_checkSaveFile(state_slot) ? "USED" : "FREE");
}
}
static unsigned int prevEvents = 0;
int i;
+ /* FIXME: port to input fw, merge with emu.c:emu_update_input() */
keys = psp_pad_read(0);
if (keys & PSP_CTRL_HOME)
sceDisplayWaitVblankStart();
keys &= CONFIGURABLE_KEYS;
- for (i = 0; i < 32; i++)
- {
- if (keys & (1 << i))
- {
- int pl, acts = currentConfig.KeyBinds[i];
- if (!acts) continue;
- pl = (acts >> 16) & 1;
- if (kb_combo_keys & (1 << i))
- {
- int u = i+1, acts_c = acts & kb_combo_acts;
- // let's try to find the other one
- if (acts_c) {
- for (; u < 32; u++)
- if ( (keys & (1 << u)) && (currentConfig.KeyBinds[u] & acts_c) ) {
- allActions[pl] |= acts_c & currentConfig.KeyBinds[u];
- keys &= ~((1 << i) | (1 << u));
- break;
- }
- }
- // add non-combo actions if combo ones were not found
- if (!acts_c || u == 32)
- allActions[pl] |= acts & ~kb_combo_acts;
- } else {
- allActions[pl] |= acts;
- }
- }
- }
-
PicoPad[0] = allActions[0] & 0xfff;
PicoPad[1] = allActions[1] & 0xfff;
clearArea(1);
Pico.m.dirtyPal = 1;
oldmodes = ((Pico.video.reg[12]&1)<<2) ^ 0xc;
- emu_findKeyBindCombos();
// pal/ntsc might have changed, reset related stuff
target_fps = Pico.m.pal ? 50 : 60;