static void order(void) { void *f; char *text; int x, y; int size = 0; SDLTexture *restore = NULL; restore = render.createScreenTexture(); f = loadfile("pic\\order.pcx", &size); text = (char *)loadfile("stuff\\order1.txt", NULL); fadeout(FADE_PALETTE); render.clear(0, 0, 0); showpcx(f, 20, size); blue->print_c(XMAX/2, 0, "ORDER RAVAGE NOW"); x = 0; y = 30; beauty(tiny, x, y, text); unloadfile(text); fadein(NULL); input_wait(); input_fire(); input_wait(); fadeout(FADE_PALETTE); text = (char *)loadfile("stuff\\order2.txt", NULL); render.clear(0, 0, 0); showpcx(f, 20, size); blue->print_c(XMAX/2, 0, "HOW TO ORDER"); x = 0; y = 30; beauty(tiny, x, y, text); unloadfile(text); fadein(NULL); unloadfile(f); input_wait(); input_fire(); input_wait(); fadeout(FADE_PALETTE); render.drawTexture(restore, 0, 0); fadein(level.palette); restore->destroy(); delete restore; }
void prefetch_abort(uint32_t *registers) { printf("\n\nPREFETCH ABORT:\n"); print_all_registers(registers); input_wait(); ctr_system_poweroff(); }
void undefined_instruction(uint32_t *registers) { printf("\n\nUNDEFINED INSTRUCTION:\n"); print_all_registers(registers); input_wait(); ctr_system_poweroff(); }
static int a_sound(int index, int subindex) { int i; if (index == M_INIT) { b_sound(1); b_sound(2); b_sound(3); //b_sound(4); backoff = optionmenu; return 0; } switch (index) { /*case 1: // WAV voices. if ((subindex == 0) && (settings.voices < 6)) settings.voices++; if ((subindex == 1) && (settings.voices > 1)) settings.voices--; //s_setvoices(settings.voices); b_sound(index); break; case 2: // Mixing frequency. if (++sfreq_now > 2) sfreq_now = 0; settings.mix_freq = sfreq[sfreq_now]; return M_SOUND; */ case 1: // MOD volume. if ((subindex == 0) && (settings.mod_vol < 64)) settings.mod_vol++; if ((subindex == 1) && (settings.mod_vol > 0)) settings.mod_vol--; s_setmodvol(settings.mod_vol); b_sound(index); break; case 2: // WAV volume. if ((subindex == 0) && (settings.wav_vol < 64)) settings.wav_vol++; if ((subindex == 1) && (settings.wav_vol > 0)) settings.wav_vol--; s_setwavvol(settings.wav_vol); b_sound(index); break; case 3: // Loop Music settings.loop_music = settings.loop_music ? 0 : 1; s_startmod(); input_wait(); b_sound(index); break; } return 0; }
static void showpicture(char *file) { void *f; int size = 0; SDLTexture *restore; restore = render.createScreenTexture(); f = loadfile(file, &size); fadeout(FADE_PALETTE); render.clear(0, 0, 0); showpcx(f, 0, size); unloadfile(f); fadein(NULL); input_wait(); input_fire(); input_wait(); fadeout(FADE_PALETTE); render.drawTexture(restore, 0, 0); fadein(level.palette); restore->destroy(); delete restore; }
bool input_wait(char & ret_ch, int delay_ms) { while(true) { ret_ch = '\0'; timeout(delay_ms); long ch = getch(); switch (ch) { case KEY_UP: ret_ch = 'k'; break; case KEY_LEFT: ret_ch = 'h'; break; case KEY_RIGHT: ret_ch = 'l'; break; case KEY_DOWN: ret_ch = 'j'; break; case KEY_NPAGE: ret_ch = '>'; break; case KEY_PPAGE: ret_ch = '<'; break; case 459: ret_ch = '\n'; break; case ERR: if(errno == EINTR) return input_wait(ret_ch, delay_ms); break; default: ret_ch = ch; break; } timeout(-1); if( ret_ch != '\0' ) return true; return false; } }
void abort_interrupt(uint32_t *registers) { printf("\n\nDATA ABORT:\n"); print_all_registers(registers); input_wait(); uint32_t cpsr = registers[0]; if (cpsr & 0x20) { registers[3] -= 6; printf("Ret. Thumb: 0x%08X\n", registers[2]); } else { registers[3] -= 4; printf("Ret. ARM: 0x%08X\n", registers[2]); } }