2 SHARP MZ-2800 Emulator 'EmuZ-2800'
4 Author : Takeda.Toshiya
14 void JOYSTICK::initialize()
17 joy_stat = emu->get_joy_buffer();
20 void JOYSTICK::write_io8(uint32_t addr, uint32_t data)
25 uint32_t JOYSTICK::read_io8(uint32_t addr)
28 int num = (mode & 0x40) ? 1 : 0;
33 if(!(mode & 0x04)) val &= ~0x20;
34 if(!(mode & 0x08)) val &= ~0x10;
35 dir = ((mode & 0x20) == 0);
37 if(!(mode & 0x01)) val &= ~0x20;
38 if(!(mode & 0x02)) val &= ~0x10;
39 dir = ((mode & 0x10) == 0);
44 if(joy_stat[num] & 0x08) val &= ~0x08;
45 if(joy_stat[num] & 0x04) val &= ~0x04;
46 if(joy_stat[num] & 0x02) val &= ~0x02;
47 if(joy_stat[num] & 0x01) val &= ~0x01;
51 if(joy_stat[num] & 0x10) val &= ~0x20;
52 if(joy_stat[num] & 0x20) val &= ~0x10;
56 #define STATE_VERSION 2
58 bool JOYSTICK::process_state(FILEIO* state_fio, bool loading)
60 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
63 if(!state_fio->StateCheckInt32(this_device_id)) {
66 state_fio->StateUint32(mode);