Previous 15994 Revisions Next

r3441 Sunday 12th October, 2008 at 18:43:55 UTC by Curt Coder
[MBEE] Fixed Z80PIO regression (bug #1702).
[src/emu/machine]z80pio.c
[src/mess/drivers]mbee.c

src/emu/machine/z80pio.c
r3440r3441
198198   switch (z80pio->mode[channel])
199199   {
200200   case PIO_MODE_BIDIRECTIONAL:
201   case PIO_MODE_CONTROL:
202201      /* mask out input bits */
203202      data &= ~z80pio->ddr[channel];
204203      break;
src/mess/drivers/mbee.c
r3440r3441
6262   return device_list_find_by_tag( machine->config->devicelist, CASSETTE, "cassette" );
6363}
6464
65static 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
79static 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
6593static QUICKLOAD_LOAD( mbee );
6694static Z80BIN_EXECUTE( mbee );
6795
r3440r3441
100128static ADDRESS_MAP_START(mbee_ports, ADDRESS_SPACE_IO, 8)
101129   ADDRESS_MAP_GLOBAL_MASK(0xff)
102130   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)
104132   AM_RANGE(0x0b, 0x0b) AM_MIRROR(0x10) AM_READWRITE(mbee_video_bank_r, mbee_video_bank_w)
105133   AM_RANGE(0x0c, 0x0c) AM_MIRROR(0x10) AM_READWRITE(m6545_status_r, m6545_index_w)
106134   AM_RANGE(0x0d, 0x0d) AM_MIRROR(0x10) AM_READWRITE(m6545_data_r, m6545_data_w)
r3440r3441
109137static ADDRESS_MAP_START(mbeeic_ports, ADDRESS_SPACE_IO, 8)
110138   ADDRESS_MAP_GLOBAL_MASK(0xff)
111139   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)
113141   AM_RANGE(0x08, 0x08) AM_MIRROR(0x10) AM_READWRITE(mbee_pcg_color_latch_r, mbee_pcg_color_latch_w)
114142   // AM_RANGE(0x09, 0x09) AM_MIRROR(0x10)  Listed as "Colour Wait Off" or "USART 2651" but doesn't appear in the schematics
115143   AM_RANGE(0x0a, 0x0a) AM_MIRROR(0x10) AM_READWRITE(mbee_color_bank_r, mbee_color_bank_w)
r3440r3441
290318
291319static Z80PIO_ON_INT_CHANGED( pio_interrupt )
292320{
293   cpunum_set_input_line(device->machine, 0, 0, state ? ASSERT_LINE : CLEAR_LINE);
321   cpunum_set_input_line(device->machine, 0, 0, state);
294322}
295323
296324static READ8_DEVICE_HANDLER( pio_port_b_r )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team