2 SHARP MZ-2800 Emulator 'EmuZ-2800'
\r
4 Author : Takeda.Toshiya
\r
10 #include "joystick.h"
\r
12 void JOYSTICK::initialize()
\r
16 joy_stat = emu->joy_buffer();
\r
17 register_frame_event(this);
\r
20 void JOYSTICK::write_io8(uint32 addr, uint32 data)
\r
25 uint32 JOYSTICK::read_io8(uint32 addr)
\r
28 int num = (mode & 0x40) ? 1 : 0;
\r
33 if(!(mode & 0x04)) val &= ~0x20;
\r
34 if(!(mode & 0x08)) val &= ~0x10;
\r
35 dir = ((mode & 0x20) == 0);
\r
37 if(!(mode & 0x01)) val &= ~0x20;
\r
38 if(!(mode & 0x02)) val &= ~0x10;
\r
39 dir = ((mode & 0x10) == 0);
\r
44 if(joy_stat[num] & 0x08) val &= ~0x08;
\r
45 if(joy_stat[num] & 0x04) val &= ~0x04;
\r
46 if(joy_stat[num] & 0x02) val &= ~0x02;
\r
47 if(joy_stat[num] & 0x01) val &= ~0x01;
\r
51 if(joy_stat[num] & 0x10) val &= ~0x20;
\r
52 if(joy_stat[num] & 0x20) val &= ~0x10;
\r
54 if(joy_stat[num] & 0x40) val &= ~0x20;
\r
55 if(joy_stat[num] & 0x80) val &= ~0x10;
\r
60 void JOYSTICK::event_frame()
\r
63 full_auto = (full_auto + 1) & 3;
\r