+
+ if (need_confirm) {
+ strcpy(tmp, (acts & EACT_LOAD_STATE) ?
+ "LOAD STATE?" : "OVERWRITE SAVE?");
+ len = strlen(tmp);
+ nm = in_get_key_name(-1, -PBTN_MA3);
+ snprintf(tmp + len, sizeof(tmp) - len, "(%s=yes, ", nm);
+ len = strlen(tmp);
+ nm = in_get_key_name(-1, -PBTN_MBACK);
+ snprintf(tmp + len, sizeof(tmp) - len, "%s=no)", nm);
+
+ FCEU_DispMessage(tmp);
+ FCEU_PutImage();
+ FCEUD_Update(XBuf+8, NULL, 0);
+
+ in_set_config_int(0, IN_CFG_BLOCKING, 1);
+ while (in_menu_wait_any(NULL, 50) & (PBTN_MA3|PBTN_MBACK))
+ ;
+ while ( !((keys = in_menu_wait_any(NULL, 50)) & (PBTN_MA3|PBTN_MBACK)) )
+ ;
+ if (keys & PBTN_MBACK)
+ do_it = 0;
+ while (in_menu_wait_any(NULL, 50) & (PBTN_MA3|PBTN_MBACK))
+ ;
+ in_set_config_int(0, IN_CFG_BLOCKING, 0);
+
+ FCEU_CancelDispMessage();
+ }
+ if (do_it) {
+ if (acts & EACT_LOAD_STATE)
+ FCEUI_LoadState();
+ else
+ FCEUI_SaveState();
+ }
+