2 SHARP MZ-2800 Emulator 'EmuZ-2800'
4 Author : Takeda.Toshiya
12 void JOYSTICK::initialize()
15 joy_stat = emu->get_joy_buffer();
18 void JOYSTICK::write_io8(uint32_t addr, uint32_t data)
23 uint32_t JOYSTICK::read_io8(uint32_t addr)
26 int num = (mode & 0x40) ? 1 : 0;
31 if(!(mode & 0x04)) val &= ~0x20;
32 if(!(mode & 0x08)) val &= ~0x10;
33 dir = ((mode & 0x20) == 0);
35 if(!(mode & 0x01)) val &= ~0x20;
36 if(!(mode & 0x02)) val &= ~0x10;
37 dir = ((mode & 0x10) == 0);
42 if(joy_stat[num] & 0x08) val &= ~0x08;
43 if(joy_stat[num] & 0x04) val &= ~0x04;
44 if(joy_stat[num] & 0x02) val &= ~0x02;
45 if(joy_stat[num] & 0x01) val &= ~0x01;
49 if(joy_stat[num] & 0x10) val &= ~0x20;
50 if(joy_stat[num] & 0x20) val &= ~0x10;
54 #define STATE_VERSION 2
56 bool JOYSTICK::process_state(FILEIO* state_fio, bool loading)
58 if(!state_fio->StateCheckUint32(STATE_VERSION)) {
61 if(!state_fio->StateCheckInt32(this_device_id)) {
64 state_fio->StateUint32(mode);