trunk/src/mess/drivers/pve500.c
| r31086 | r31087 | |
| 41 | 41 | DECLARE_READ8_MEMBER(dualport_ram_left_r); |
| 42 | 42 | DECLARE_READ8_MEMBER(dualport_ram_right_r); |
| 43 | 43 | DECLARE_WRITE_LINE_MEMBER(GPI_w); |
| 44 | | DECLARE_WRITE_LINE_MEMBER(buzzer_w); |
| 45 | 44 | DECLARE_WRITE_LINE_MEMBER(external_monitor_w); |
| 46 | 45 | |
| 47 | 46 | DECLARE_WRITE8_MEMBER(io_expander_w); |
| r31086 | r31087 | |
| 64 | 63 | /* TODO: Implement-me */ |
| 65 | 64 | } |
| 66 | 65 | |
| 67 | | WRITE_LINE_MEMBER( pve500_state::buzzer_w ) |
| 68 | | { |
| 69 | | m_buzzer->set_state(state); |
| 70 | | } |
| 71 | | |
| 72 | 66 | WRITE_LINE_MEMBER( pve500_state::external_monitor_w ) |
| 73 | 67 | { |
| 74 | 68 | /* TODO: Implement-me */ |
| r31086 | r31087 | |
| 82 | 76 | { NULL } |
| 83 | 77 | }; |
| 84 | 78 | |
| 85 | | static const z80_daisy_config subcpu_daisy_chain[] = |
| 86 | | { |
| 87 | | TMPZ84C015_DAISY_INTERNAL, |
| 88 | | { NULL } |
| 89 | | }; |
| 90 | 79 | |
| 91 | | |
| 92 | 80 | static ADDRESS_MAP_START(maincpu_io, AS_IO, 8, pve500_state) |
| 93 | 81 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 94 | 82 | AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("external_sio", z80sio0_device, cd_ba_r, cd_ba_w) |
| r31086 | r31087 | |
| 327 | 315 | MCFG_CPU_IO_MAP(maincpu_io) |
| 328 | 316 | MCFG_CPU_CONFIG(maincpu_daisy_chain) |
| 329 | 317 | MCFG_TMPZ84C015_OUT_DTRA_CB(WRITELINE(pve500_state, GPI_w)) |
| 330 | | MCFG_TMPZ84C015_OUT_DTRB_CB(WRITELINE(pve500_state, buzzer_w)) |
| 318 | MCFG_TMPZ84C015_OUT_DTRB_CB(DEVWRITELINE("buzzer", beep_device, set_state)) |
| 331 | 319 | MCFG_TMPZ84C015_OUT_TXDA_CB(DEVWRITELINE("recorder", rs232_port_device, write_txd)) |
| 332 | 320 | MCFG_TMPZ84C015_OUT_TXDB_CB(DEVWRITELINE("player1", rs232_port_device, write_txd)) |
| 333 | 321 | |
| r31086 | r31087 | |
| 343 | 331 | MCFG_CPU_ADD("subcpu", TMPZ84C015, XTAL_12MHz / 2) /* TMPZ84C015BF-6 */ |
| 344 | 332 | MCFG_CPU_PROGRAM_MAP(subcpu_prg) |
| 345 | 333 | MCFG_CPU_IO_MAP(subcpu_io) |
| 346 | | MCFG_CPU_CONFIG(subcpu_daisy_chain) |
| 347 | 334 | MCFG_TMPZ84C015_OUT_DTRB_CB(WRITELINE(pve500_state, external_monitor_w)) |
| 348 | 335 | MCFG_TMPZ84C015_OUT_TXDA_CB(DEVWRITELINE("switcher", rs232_port_device, write_txd)) |
| 349 | 336 | MCFG_TMPZ84C015_OUT_TXDB_CB(DEVWRITELINE("serial_mixer", rs232_port_device, write_txd)) |
| 350 | 337 | |
| 351 | 338 | /* FIX-ME: These are actually RS422 ports (except EDL IN/OUT which is indeed an RS232 port)*/ |
| 352 | 339 | MCFG_RS232_PORT_ADD("recorder", default_rs232_devices, NULL) |
| 353 | | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu:tmpz84c015_sio", z80dart_device, rxa_w)) |
| 340 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu", tmpz84c015_device, rxa_w)) |
| 354 | 341 | |
| 355 | 342 | MCFG_RS232_PORT_ADD("player1", default_rs232_devices, NULL) |
| 356 | | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu:tmpz84c015_sio", z80dart_device, rxb_w)) |
| 343 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu", tmpz84c015_device, rxb_w)) |
| 357 | 344 | |
| 358 | 345 | MCFG_RS232_PORT_ADD("player2", default_rs232_devices, NULL) |
| 359 | 346 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("external_sio", z80dart_device, rxa_w)) |
| r31086 | r31087 | |
| 362 | 349 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("external_sio", z80dart_device, rxb_w)) |
| 363 | 350 | |
| 364 | 351 | MCFG_RS232_PORT_ADD("switcher", default_rs232_devices, NULL) |
| 365 | | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("subcpu:tmpz84c015_sio", z80dart_device, rxa_w)) |
| 352 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("subcpu", tmpz84c015_device, rxa_w)) |
| 366 | 353 | |
| 367 | 354 | MCFG_RS232_PORT_ADD("serial_mixer", default_rs232_devices, NULL) |
| 368 | | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("subcpu:tmpz84c015_sio", z80dart_device, rxb_w)) |
| 355 | MCFG_RS232_RXD_HANDLER(DEVWRITELINE("subcpu", tmpz84c015_device, rxb_w)) |
| 369 | 356 | |
| 370 | 357 | /* TODO: |
| 371 | 358 | -> There are a few LEDs and a sequence of 7-seg displays with atotal of 27 digits |
| r31086 | r31087 | |
| 377 | 364 | /* audio hardware */ |
| 378 | 365 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 379 | 366 | MCFG_SOUND_ADD("buzzer", BEEP, 0) |
| 380 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 367 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 381 | 368 | |
| 382 | 369 | MACHINE_CONFIG_END |
| 383 | 370 | |