static READ16_HANDLER( port1_r ) { int result = fake_inputs(1, 4); if (atarigen_sound_to_cpu_ready) result ^= 0x0004; if (atarigen_cpu_to_sound_ready) result ^= 0x0008; result ^= 0x0010; return result; }
static READ_HANDLER( special_input_r ) { int result = 0; switch (offset & 0x10) { case 0x00: result = fake_inputs(0, 3); break; case 0x10: result = fake_inputs(1, 4); if (atarigen_sound_to_cpu_ready) result ^= 0x0004; if (atarigen_cpu_to_sound_ready) result ^= 0x0008; result ^= 0x0010; break; } return result; }
int vindictr_input_r (int offset) { int result = 0; switch (offset & 0x30) { case 0x00: result = 0xff | (fake_inputs (0, 5) << 8); break; case 0x10: result = input_port_2_r (offset) + (fake_inputs (1, 6) << 8); if (atarigen_sound_to_cpu_ready) result ^= 0x04; if (atarigen_cpu_to_sound_ready) result ^= 0x08; result ^= 0x10; break; case 0x20: result = 0xff | (input_port_3_r (offset) << 8); break; } return result; }
static READ16_HANDLER( port0_r ) { return fake_inputs(0, 3); }