Esempio n. 1
0
static void
psp_cheat_menu_enable_all_cheat()
{
  int cheat_id;
  int cur_type = CPC_CHEAT_NONE;

  for (cheat_id = 0; cheat_id < CPC_MAX_CHEAT; cheat_id++) {
    CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cheat_id];
    if (a_cheat->type != CPC_CHEAT_NONE) {
      if (cur_type == CPC_CHEAT_NONE) {
        if (a_cheat->type == CPC_CHEAT_ENABLE) cur_type = CPC_CHEAT_DISABLE;
        else                                   cur_type = CPC_CHEAT_ENABLE;
      }
      a_cheat->type = cur_type;
    }
  }
  if (cur_type == CPC_CHEAT_NONE) {

    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Cheats are empty !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);

    return;
  }
}
Esempio n. 2
0
static void
psp_cheat_menu_reset_cheat()
{
  psp_display_screen_cheat_menu();
  psp_sdl_back2_print(150, 180, "Reset cheat !", PSP_MENU_NOTE_COLOR);
  psp_sdl_flip();
  sleep(1);

  memset(CPC.cpc_cheat, 0, sizeof(CPC.cpc_cheat));
}
Esempio n. 3
0
static void
psp_cheat_menu_save_ram()
{
  memcpy(scan_prev_ram, pbRAM, CPC.ram_size*1024);
  psp_cheat_update_match();

  psp_display_screen_cheat_menu();
  psp_sdl_back2_print(150, 180, "Ram saved !", 
                      PSP_MENU_NOTE_COLOR);
  psp_sdl_flip();
  sleep(1);
}
Esempio n. 4
0
static void
psp_cheat_menu_save_ram()
{
  memcpy(scan_prev_ram, ram, DVE_CHEAT_RAM_SIZE);
  psp_cheat_update_match();

  psp_display_screen_cheat_menu();
  psp_sdl_back2_print(150, 180, "Ram saved !", 
                      PSP_MENU_NOTE_COLOR);
  psp_sdl_flip();
  sleep(1);
}
Esempio n. 5
0
static void
psp_cheat_menu_save_ram()
{
  memcpy(scan_prev_ram, RAMData, MSX.msx_ram_pages*0x4000);
  psp_cheat_update_match();

  psp_display_screen_cheat_menu();
  psp_sdl_back2_print(150, 180, "Ram saved !", 
                      PSP_MENU_NOTE_COLOR);
  psp_sdl_flip();
  sleep(1);
}
Esempio n. 6
0
static void
psp_cheat_menu_save()
{
  int error;

  error = cap32_save_cheat();

  if (! error) /* save OK */
  {
    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "File saved !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);
  }
  else 
  {
    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Can't save file !", 
                       PSP_MENU_WARNING_COLOR);
    psp_sdl_flip();
    sleep(1);
  }
}
Esempio n. 7
0
static void
psp_cheat_menu_load(int format)
{
  int ret;

  ret = psp_fmgr_menu(format, 0);
  if (ret ==  1) /* load OK */
  {
    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "File loaded !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);
  }
  else 
  if (ret == -1) /* Load Error */
  {
    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Can't load file !", 
                       PSP_MENU_WARNING_COLOR);
    psp_sdl_flip();
    sleep(1);
  }
}
Esempio n. 8
0
static void
psp_cheat_menu_del_cheat()
{
  CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cur_cheat];

  if (a_cheat->type == CPC_CHEAT_NONE) {

    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Cheat is empty !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);

    return;
  }
  memset(a_cheat, 0, sizeof(*a_cheat));
}
Esempio n. 9
0
static void
psp_cheat_menu_add_cheat()
{
  int cheat_id;
  int addr;

  if (! scan_addr_found) {
    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "No address to add !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);

    return;
  }

  int num_free  = 0;
  for (cheat_id = 0; cheat_id < CPC_MAX_CHEAT; cheat_id++) {
    CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cheat_id];
    if (a_cheat->type == CPC_CHEAT_NONE) num_free++;
  }
  if (! num_free) num_free = 1;

  int num_add = 0;
  for (addr = 0; addr < CPC.ram_size*1024; addr++) {
    if ((scan_prev_ram[addr] == scan_old_value) &&
        (pbRAM[addr]         == scan_new_value  )) {

      for (cheat_id = 0; cheat_id < CPC_MAX_CHEAT; cheat_id++) {
        CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cheat_id];
        if (a_cheat->type == CPC_CHEAT_NONE) break;
      }
      if (cheat_id >= CPC_MAX_CHEAT) {
        cheat_id = cur_cheat;
      }
      CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cheat_id];
      memset(a_cheat, 0, sizeof(*a_cheat));
      a_cheat->type  = CPC_CHEAT_ENABLE;
      a_cheat->addr  = addr;
      a_cheat->value = scan_poke_value;
      sprintf(a_cheat->comment, "Cheat %04X", addr);
      if (++num_add >= num_free) break;
    }
  }
}
Esempio n. 10
0
static void
psp_cheat_menu_enable_cheat()
{
  CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cur_cheat];

  if (a_cheat->type == CPC_CHEAT_NONE) {

    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Cheat is empty !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);

    return;
  }

  if (a_cheat->type == CPC_CHEAT_ENABLE) a_cheat->type = CPC_CHEAT_DISABLE;
  else                                    a_cheat->type = CPC_CHEAT_ENABLE;
}
Esempio n. 11
0
static void
psp_cheat_menu_value_cheat(int step)
{
  CPC_cheat_t* a_cheat = &CPC.cpc_cheat[cur_cheat];

  if (a_cheat->type == CPC_CHEAT_NONE) {

    psp_display_screen_cheat_menu();
    psp_sdl_back2_print(150, 180, "Cheat is empty !", 
                       PSP_MENU_NOTE_COLOR);
    psp_sdl_flip();
    sleep(1);

    return;
  }

  if (step ==  1) a_cheat->value++;
  else
  if (step == -1) a_cheat->value--;
}
Esempio n. 12
0
int 
psp_cheat_menu(void)
{
  gp2xCtrlData c;
  long        new_pad;
  long        old_pad;
  int         last_time;
  int         end_menu;

  psp_kbd_wait_no_button();

  old_pad   = 0;
  last_time = 0;
  end_menu  = 0;

  psp_cheat_menu_init();

  while (! end_menu)
  {
    psp_display_screen_cheat_menu();
    psp_sdl_flip();

    while (1)
    {
      gp2xCtrlPeekBufferPositive(&c, 1);
      c.Buttons &= PSP_ALL_BUTTON_MASK;

# ifdef USE_PSP_IRKEYB
      psp_irkeyb_set_psp_key(&c);
# endif
      if (c.Buttons) break;
    }

    new_pad = c.Buttons;

    if ((old_pad != new_pad) || ((c.TimeStamp - last_time) > PSP_MENU_MIN_TIME)) {
      last_time = c.TimeStamp;
      old_pad = new_pad;

    } else continue;

    if ((c.Buttons & (GP2X_CTRL_LTRIGGER|GP2X_CTRL_RTRIGGER|GP2X_CTRL_START)) ==
        (GP2X_CTRL_LTRIGGER|GP2X_CTRL_RTRIGGER|GP2X_CTRL_START)) {
      /* Exit ! */
      psp_sdl_exit(0);
    } else
    if ((c.Buttons & GP2X_CTRL_LTRIGGER) == GP2X_CTRL_LTRIGGER) {
      psp_keyboard_menu();
      end_menu = 1;
    } else
    if ((c.Buttons & GP2X_CTRL_RTRIGGER) == GP2X_CTRL_RTRIGGER) {
      psp_cheat_menu_reset_cheat();
    } else
    if ((new_pad == GP2X_CTRL_LEFT ) || 
        (new_pad == GP2X_CTRL_RIGHT) ||
        (new_pad == GP2X_CTRL_CROSS) || 
        (new_pad == GP2X_CTRL_CIRCLE))
    {
      int step;
      int step2;

      if (new_pad & GP2X_CTRL_LEFT)  step = -1;
      else 
      if (new_pad & GP2X_CTRL_RIGHT) step =  1;
      else                          step =  0;

      if (new_pad & GP2X_CTRL_CROSS)  step2 = -1;
      else 
      if (new_pad & GP2X_CTRL_CIRCLE) step2 =  1;
      else                           step2 =  0;

      switch (cur_menu_id ) 
      {
        case MENU_CHEAT_OLD_VAL : psp_cheat_menu_old_val(step);
        break;
        case MENU_CHEAT_NEW_VAL : psp_cheat_menu_new_val(step);
        break;
        case MENU_CHEAT_POKE    : psp_cheat_menu_poke_val(step);
        break;
        case MENU_CHEAT_RAM     : psp_cheat_menu_save_ram();
        break;
        case MENU_CHEAT_ADD     : psp_cheat_menu_add_cheat();
        break;
        case MENU_CHEAT_ENABLE : if (step) psp_cheat_menu_cur_cheat(step);
                                 else      psp_cheat_menu_enable_cheat();
        break;
        case MENU_CHEAT_ALL    : psp_cheat_menu_enable_all_cheat();
        break;
        case MENU_CHEAT_VALUE  : if (step) psp_cheat_menu_cur_cheat(step);
                                 else psp_cheat_menu_value_cheat(step2);
        break;
        case MENU_CHEAT_IMPORT : if (step) psp_cheat_menu_cur_cheat(step);
                                 else      psp_cheat_menu_cheat_list();
        break;
        case MENU_CHEAT_EDIT   : psp_cheat_menu_edit_list();
        break;

        case MENU_CHEAT_DEL : if (step) psp_cheat_menu_cur_cheat(step);
                              else      psp_cheat_menu_del_cheat();
        break;
        case MENU_CHEAT_LOAD : psp_cheat_menu_load(FMGR_FORMAT_CHT);
                               old_pad = new_pad = 0;
        break;              
        case MENU_CHEAT_SAVE : psp_cheat_menu_save();
                               old_pad = new_pad = 0;
        break;              
        case MENU_CHEAT_RESET : psp_cheat_menu_reset_cheat();
        break;

        case MENU_CHEAT_BACK : end_menu = 1;
        break;
      }


    } else
    if(new_pad & GP2X_CTRL_UP) {

      if (cur_menu_id > 0) cur_menu_id--;
      else                 cur_menu_id = MAX_MENU_CHEAT_ITEM-1;

    } else
    if(new_pad & GP2X_CTRL_DOWN) {

      if (cur_menu_id < (MAX_MENU_CHEAT_ITEM-1)) cur_menu_id++;
      else                                       cur_menu_id = 0;

    } else  
    if(new_pad & GP2X_CTRL_SQUARE) {
      /* Cancel */
      end_menu = -1;
    } else 
    if(new_pad & GP2X_CTRL_SELECT) {
      /* Back to MENU */
      end_menu = 1;
    }
  }
 
  psp_kbd_wait_no_button();

  psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR );
  psp_sdl_flip();
  psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR );
  psp_sdl_flip();

  return 1;
}