Previous 15994 Revisions Next

r15544 Friday 6th July, 2012 at 11:01:12 UTC by Robbbert
P8000_16: connected the io & terminal; shows bootup screen.
[src/mess/drivers]p8k.c

src/mess/drivers/p8k.c
r15543r15544
4444   DECLARE_WRITE8_MEMBER(p8k_port0_w);
4545   DECLARE_READ8_MEMBER(p8k_port24_r);
4646   DECLARE_WRITE8_MEMBER(p8k_port24_w);
47   DECLARE_READ16_MEMBER(portff82_r);
48   DECLARE_WRITE16_MEMBER(portff82_w);
4749   DECLARE_WRITE8_MEMBER(kbd_put);
4850   UINT8 m_term_data;
4951   required_device<cpu_device> m_maincpu;
r15543r15544
153155};
154156
155157
156#if 0 // we need a real Z8001 CPU core for the 16 bit IO map
158//#if 0 // we need a real Z8001 CPU core for the 16 bit IO map
157159// TODO: could any of the following be implemented through a DEVREADWRITE8 + suitable mask?
158160
159161static READ16_DEVICE_HANDLER( p8k_16_sio_r )
r15543r15544
196198
197199static READ16_DEVICE_HANDLER( p8k_16_pio_r )
198200{
199   return (UINT16)z80pio_r(device, (offset & 0x06) >> 1);
201   return 0; //(UINT16)z80pio_r(device, (offset & 0x06) >> 1);
200202}
201203
202204static WRITE16_DEVICE_HANDLER( p8k_16_pio_w )
203205{
204   z80pio_w(device, (offset & 0x06) >> 1, (UINT8)(data & 0xff));
206   //z80pio_w(device, (offset & 0x06) >> 1, (UINT8)(data & 0xff));
205207}
206208
207209static READ16_DEVICE_HANDLER( p8k_16_ctc_r )
r15543r15544
214216   z80ctc_w(device, (offset & 0x06) >> 1, (UINT8)(data & 0xff));
215217}
216218
219READ16_MEMBER( p8k_state::portff82_r )
220{
221   if (offset == 3) // FF87
222      return 0xff;
223   return 0;
224}
225
226WRITE16_MEMBER( p8k_state::portff82_w )
227{
228   if (offset == 1) // FF83
229      m_terminal->write(space, 0, data);
230}
231
232
217233static ADDRESS_MAP_START(p8k_16_iomap, AS_IO, 16, p8k_state)
218234//  AM_RANGE(0x0fef0, 0x0feff) // clock
219   AM_RANGE(0x0ff80, 0x0ff87) AM_DEVREADWRITE("z80sio_0", p8k_16_sio_r, p8k_16_sio_w)
220   AM_RANGE(0x0ff88, 0x0ff8f) AM_DEVREADWRITE("z80sio_1", p8k_16_sio_r, p8k_16_sio_w)
221   AM_RANGE(0x0ff90, 0x0ff97) AM_DEVREADWRITE("z80pio_0", p8k_16_pio_r, p8k_16_pio_w)
222   AM_RANGE(0x0ff98, 0x0ff9f) AM_DEVREADWRITE("z80pio_1", p8k_16_pio_r, p8k_16_pio_w)
223   AM_RANGE(0x0ffa0, 0x0ffa7) AM_DEVREADWRITE("z80pio_2", p8k_16_pio_r, p8k_16_pio_w)
224   AM_RANGE(0x0ffa8, 0x0ffaf) AM_DEVREADWRITE("z80ctc_0", p8k_16_ctc_r, p8k_16_ctc_w)
225   AM_RANGE(0x0ffb0, 0x0ffb7) AM_DEVREADWRITE("z80ctc_1", p8k_16_ctc_r, p8k_16_ctc_w)
235   //AM_RANGE(0x0ff80, 0x0ff87) AM_DEVREADWRITE_LEGACY("z80sio_0", p8k_16_sio_r, p8k_16_sio_w)
236   AM_RANGE(0x0ff80, 0x0ff87) AM_READWRITE(portff82_r,portff82_w)
237   AM_RANGE(0x0ff88, 0x0ff8f) AM_DEVREADWRITE_LEGACY("z80sio_1", p8k_16_sio_r, p8k_16_sio_w)
238   AM_RANGE(0x0ff90, 0x0ff97) AM_DEVREADWRITE_LEGACY("z80pio_0", p8k_16_pio_r, p8k_16_pio_w)
239   AM_RANGE(0x0ff98, 0x0ff9f) AM_DEVREADWRITE_LEGACY("z80pio_1", p8k_16_pio_r, p8k_16_pio_w)
240   AM_RANGE(0x0ffa0, 0x0ffa7) AM_DEVREADWRITE_LEGACY("z80pio_2", p8k_16_pio_r, p8k_16_pio_w)
241   AM_RANGE(0x0ffa8, 0x0ffaf) AM_DEVREADWRITE_LEGACY("z80ctc_0", p8k_16_ctc_r, p8k_16_ctc_w)
242   AM_RANGE(0x0ffb0, 0x0ffb7) AM_DEVREADWRITE_LEGACY("z80ctc_1", p8k_16_ctc_r, p8k_16_ctc_w)
226243//  AM_RANGE(0x0ffc0, 0x0ffc1) // SCR
227244//  AM_RANGE(0x0ffc8, 0x0ffc9) // SBR
228245//  AM_RANGE(0x0ffd0, 0x0ffd1) // NBR
r15543r15544
232249//  AM_RANGE(0x0fff8, 0x0fff9) // IF1L
233250ADDRESS_MAP_END
234251
235#endif
252//#endif
236253
237254
238255/* Input ports */
r15543r15544
274291   //memcpy(state->m_p_ram, ROM, 0x2000);
275292}
276293
277static VIDEO_START( p8k )
278{
279}
280294
281static SCREEN_UPDATE_IND16( p8k )
282{
283   return 0;
284}
285295
286
287296/***************************************************************************
288297
289298    P8000 8bit Peripherals
r15543r15544
672681   MCFG_CPU_ADD("maincpu", Z8001, XTAL_4MHz )   // actually z8001, appropriate changes pending
673682   MCFG_CPU_CONFIG(p8k_16_daisy_chain)
674683   MCFG_CPU_PROGRAM_MAP(p8k_16_memmap)
675//  MCFG_CPU_IO_MAP(p8k_16_iomap)
676
677//  MCFG_MACHINE_START( p8000_16 )
684   MCFG_CPU_IO_MAP(p8k_16_iomap)
678685   MCFG_MACHINE_RESET(p8k_16)
679686
680687   /* peripheral hardware */
r15543r15544
692699   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
693700
694701   /* video hardware */
695   MCFG_SCREEN_ADD("screen", RASTER)
696   MCFG_SCREEN_REFRESH_RATE(50)
697   MCFG_SCREEN_SIZE(640,480)
698   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
699   MCFG_VIDEO_START(p8k)
700   MCFG_SCREEN_UPDATE_STATIC(p8k)
701   MCFG_GFXDECODE(p8k)
702   MCFG_PALETTE_LENGTH(2)
703   MCFG_PALETTE_INIT(black_and_white)
702   MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
704703MACHINE_CONFIG_END
705704
706705/* ROM definition */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team