src/mess/drivers/mbee.c
| r3440 | r3441 | |
| 62 | 62 | return device_list_find_by_tag( machine->config->devicelist, CASSETTE, "cassette" ); |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | static READ8_DEVICE_HANDLER( mbee_z80pio_r ) |
| 66 | { |
| 67 | int channel = BIT(offset, 1); |
| 68 | |
| 69 | if (BIT(offset, 0)) |
| 70 | { |
| 71 | return z80pio_c_r(device, channel); |
| 72 | } |
| 73 | else |
| 74 | { |
| 75 | return z80pio_d_r(device, channel); |
| 76 | } |
| 77 | } |
| 78 | |
| 79 | static WRITE8_DEVICE_HANDLER( mbee_z80pio_w ) |
| 80 | { |
| 81 | int channel = BIT(offset, 1); |
| 82 | |
| 83 | if (BIT(offset, 0)) |
| 84 | { |
| 85 | z80pio_c_w(device, channel, data); |
| 86 | } |
| 87 | else |
| 88 | { |
| 89 | z80pio_d_w(device, channel, data); |
| 90 | } |
| 91 | } |
| 92 | |
| 65 | 93 | static QUICKLOAD_LOAD( mbee ); |
| 66 | 94 | static Z80BIN_EXECUTE( mbee ); |
| 67 | 95 | |
| r3440 | r3441 | |
| 100 | 128 | static ADDRESS_MAP_START(mbee_ports, ADDRESS_SPACE_IO, 8) |
| 101 | 129 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 102 | 130 | ADDRESS_MAP_UNMAP_HIGH |
| 103 | | AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE(Z80PIO, "z80pio", z80pio_r, z80pio_w) |
| 131 | AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE(Z80PIO, "z80pio", mbee_z80pio_r, mbee_z80pio_w) |
| 104 | 132 | AM_RANGE(0x0b, 0x0b) AM_MIRROR(0x10) AM_READWRITE(mbee_video_bank_r, mbee_video_bank_w) |
| 105 | 133 | AM_RANGE(0x0c, 0x0c) AM_MIRROR(0x10) AM_READWRITE(m6545_status_r, m6545_index_w) |
| 106 | 134 | AM_RANGE(0x0d, 0x0d) AM_MIRROR(0x10) AM_READWRITE(m6545_data_r, m6545_data_w) |
| r3440 | r3441 | |
| 109 | 137 | static ADDRESS_MAP_START(mbeeic_ports, ADDRESS_SPACE_IO, 8) |
| 110 | 138 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 111 | 139 | ADDRESS_MAP_UNMAP_HIGH |
| 112 | | AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE(Z80PIO, "z80pio", z80pio_r, z80pio_w) |
| 140 | AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE(Z80PIO, "z80pio", mbee_z80pio_r, mbee_z80pio_w) |
| 113 | 141 | AM_RANGE(0x08, 0x08) AM_MIRROR(0x10) AM_READWRITE(mbee_pcg_color_latch_r, mbee_pcg_color_latch_w) |
| 114 | 142 | // AM_RANGE(0x09, 0x09) AM_MIRROR(0x10) Listed as "Colour Wait Off" or "USART 2651" but doesn't appear in the schematics |
| 115 | 143 | AM_RANGE(0x0a, 0x0a) AM_MIRROR(0x10) AM_READWRITE(mbee_color_bank_r, mbee_color_bank_w) |
| r3440 | r3441 | |
| 290 | 318 | |
| 291 | 319 | static Z80PIO_ON_INT_CHANGED( pio_interrupt ) |
| 292 | 320 | { |
| 293 | | cpunum_set_input_line(device->machine, 0, 0, state ? ASSERT_LINE : CLEAR_LINE); |
| 321 | cpunum_set_input_line(device->machine, 0, 0, state); |
| 294 | 322 | } |
| 295 | 323 | |
| 296 | 324 | static READ8_DEVICE_HANDLER( pio_port_b_r ) |