UINT8 a2bus_floppy_device::read_c0nx(address_space &space, UINT8 offset) { return applefdc_r(m_fdc, offset); }
static READ8_HANDLER( apple3_c0xx_r ) { UINT8 result = 0xFF; switch(offset) { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: result = AY3600_keydata_strobe_r(); break; case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0E: case 0x0F: /* modifier keys */ result = 0x7d; break; case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: AY3600_anykey_clearstrobe_r(); break; case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: /* graphics softswitches */ if (offset & 1) a3 |= 1 << ((offset - 0x50) / 2); else a3 &= ~(1 << ((offset - 0x50) / 2)); break; case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F: /* unsure what these are */ result = 0x00; break; case 0xC0: case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: /* profile */ result = apple3_profile_r(offset); break; case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: /* external drive stuff */ if (offset & 1) a3 |= VAR_EXTA0 << ((offset - 0xD0) / 2); else a3 &= ~(VAR_EXTA0 << ((offset - 0xD0) / 2)); apple3_update_drives(); result = 0x00; break; case 0xDB: apple3_write_charmem(); break; case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: result = applefdc_r(offset); break; case 0xF0: case 0xF1: case 0xF2: case 0xF3: result = acia_6551_r(offset & 0x03); break; } return result; }