diff --git a/verilator/sim/sim_input.cpp b/verilator/sim/sim_input.cpp index 8c8c0eb..4f4cfea 100644 --- a/verilator/sim/sim_input.cpp +++ b/verilator/sim/sim_input.cpp @@ -533,7 +533,7 @@ bool ReadKeyboard() #else m_keyboardState = SDL_GetKeyboardState(&m_keyboardStateCount); if (!m_keyboardState_last) m_keyboardState_last = (Uint8 *)calloc(m_keyboardStateCount,sizeof(Uint8)); - //fprintf(stderr,"count: %d\n",m_keyboardStateCount); + ////fprintf(stderr,"count: %d\n",m_keyboardStateCount); #endif return true; @@ -618,6 +618,7 @@ void SimInput::CleanUp() { unsigned ps2_key_temp; bool ps2_clock = 1; + void SimInput::BeforeEval() { if (keyEventTimer == 0) { @@ -625,7 +626,7 @@ void SimInput::BeforeEval() if (keyEvents.size() > 0) { // Get chunk from queue SimInput_PS2KeyEvent evt = keyEvents.front(); -//fprintf(stderr,"evt = %x\n",evt); +//fprintf(stderr,"evt = %x\n",evt.code); keyEvents.pop(); ps2_key_temp = ev2ps2[evt.code]; diff --git a/verilator/sim/sim_input.h b/verilator/sim/sim_input.h index 9ce505a..484433c 100644 --- a/verilator/sim/sim_input.h +++ b/verilator/sim/sim_input.h @@ -12,11 +12,11 @@ struct SimInput_PS2KeyEvent { public: - char code; + unsigned char code; bool pressed; bool extended; - SimInput_PS2KeyEvent(char code, bool pressed, bool extended) { + SimInput_PS2KeyEvent(unsigned char code, bool pressed, bool extended) { this->code = code; this->pressed = pressed; this->extended = extended; diff --git a/verilator/sim_main.cpp b/verilator/sim_main.cpp index de094de..4c6d35a 100644 --- a/verilator/sim_main.cpp +++ b/verilator/sim_main.cpp @@ -173,13 +173,14 @@ int main(int argc, char** argv, char** env) { input.SetMapping(input_right, SDL_SCANCODE_RIGHT); input.SetMapping(input_down, SDL_SCANCODE_DOWN); input.SetMapping(input_left, SDL_SCANCODE_LEFT); - input.SetMapping(input_fire1, SDL_SCANCODE_SPACE); - input.SetMapping(input_start_1, SDL_SCANCODE_1); - input.SetMapping(input_start_2, SDL_SCANCODE_2); - input.SetMapping(input_coin_1, SDL_SCANCODE_3); - input.SetMapping(input_coin_2, SDL_SCANCODE_4); - input.SetMapping(input_coin_3, SDL_SCANCODE_5); - input.SetMapping(input_pause, SDL_SCANCODE_P); + input.SetMapping(input_a, SDL_SCANCODE_A); + input.SetMapping(input_b, SDL_SCANCODE_B); + input.SetMapping(input_x, SDL_SCANCODE_X); + input.SetMapping(input_y, SDL_SCANCODE_Y); + input.SetMapping(input_l, SDL_SCANCODE_L); + input.SetMapping(input_r, SDL_SCANCODE_R); + input.SetMapping(input_select, SDL_SCANCODE_1); + input.SetMapping(input_start, SDL_SCANCODE_2); #endif // Setup video output if (video.Initialise(windowTitle) == 1) { return 1; }