From 50dc4936ec8cbe6f1a7d015b36ec2e3990e14316 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 19 Jun 2017 22:20:24 -0400 Subject: tail2nos, f1gp, f1gp2: Preliminary device hookups for multiboard communications (nw) --- src/mame/drivers/f1gp.cpp | 22 ++++++++++++++++++---- src/mame/drivers/tail2nos.cpp | 17 +++++++++++++---- src/mame/includes/f1gp.h | 5 ++++- src/mame/includes/tail2nos.h | 5 ++++- 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp index 8fe048c30ad..a99ea5b8d1f 100644 --- a/src/mame/drivers/f1gp.cpp +++ b/src/mame/drivers/f1gp.cpp @@ -104,6 +104,8 @@ static ADDRESS_MAP_START( f1gp_cpu2_map, AS_PROGRAM, 16, f1gp_state ) AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram") + AM_RANGE(0xfff030, 0xfff031) AM_DEVREADWRITE8("acia", acia6850_device, status_r, control_w, 0x00ff) + AM_RANGE(0xfff032, 0xfff033) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff) ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, f1gp_state ) @@ -181,7 +183,8 @@ static ADDRESS_MAP_START( f1gpb_cpu2_map, AS_PROGRAM, 16, f1gp_state ) AM_RANGE(0x000000, 0x01ffff) AM_ROM AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram") - AM_RANGE(0xfff030, 0xfff031) AM_NOP //? + AM_RANGE(0xfff030, 0xfff031) AM_DEVREADWRITE8("acia", acia6850_device, status_r, control_w, 0x00ff) + AM_RANGE(0xfff032, 0xfff033) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff) ADDRESS_MAP_END static INPUT_PORTS_START( f1gp ) @@ -356,6 +359,9 @@ GFXDECODE_END MACHINE_START_MEMBER(f1gp_state,f1gpb) { + m_acia->write_cts(0); + m_acia->write_dcd(0); + save_item(NAME(m_roz_bank)); save_item(NAME(m_flipscreen)); save_item(NAME(m_gfxctrl)); @@ -398,6 +404,10 @@ static MACHINE_CONFIG_START( f1gp ) MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gp) MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp) + MCFG_DEVICE_ADD("acia", ACIA6850, 0) + //MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("link", rs232_port_device, write_txd)) + //MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("link", rs232_port_device, write_rts)) + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -463,6 +473,10 @@ static MACHINE_CONFIG_START( f1gpb ) MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gpb) MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp) + MCFG_DEVICE_ADD("acia", ACIA6850, 0) + //MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("link", rs232_port_device, write_txd)) + //MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("link", rs232_port_device, write_rts)) + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -660,7 +674,7 @@ ROM_START( f1gp2 ) ROM_END -GAME( 1991, f1gp, 0, f1gp, f1gp, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) -GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, f1gp_state, 0, ROT90, "bootleg (Playmark)", "F-1 Grand Prix (Playmark bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // PCB marked 'Super Formula II', manufactured by Playmark. +GAME( 1991, f1gp, 0, f1gp, f1gp, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix", MACHINE_NO_COCKTAIL | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) +GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, f1gp_state, 0, ROT90, "bootleg (Playmark)", "F-1 Grand Prix (Playmark bootleg)", MACHINE_NOT_WORKING | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) // PCB marked 'Super Formula II', manufactured by Playmark. -GAME( 1992, f1gp2, 0, f1gp2, f1gp2, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1992, f1gp2, 0, f1gp2, f1gp2, f1gp_state, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", MACHINE_NO_COCKTAIL | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/tail2nos.cpp b/src/mame/drivers/tail2nos.cpp index f5d6e9ddb62..d6f6753ae2d 100644 --- a/src/mame/drivers/tail2nos.cpp +++ b/src/mame/drivers/tail2nos.cpp @@ -52,7 +52,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state ) AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_RANGE(0xfff008, 0xfff009) AM_READ8(sound_semaphore_r, 0x00ff) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff) AM_RANGE(0xfff020, 0xfff023) AM_DEVWRITE8("gga", vsystem_gga_device, write, 0x00ff) -// AM_RANGE(0xfff030, 0xfff031) link comms + AM_RANGE(0xfff030, 0xfff031) AM_DEVREADWRITE8("acia", acia6850_device, status_r, control_w, 0x00ff) + AM_RANGE(0xfff032, 0xfff033) AM_DEVREADWRITE8("acia", acia6850_device, data_r, data_w, 0x00ff) ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tail2nos_state ) @@ -210,6 +211,9 @@ void tail2nos_state::machine_start() membank("bank3")->configure_entries(0, 2, &ROM[0x10000], 0x8000); membank("bank3")->set_entry(0); + m_acia->write_cts(0); + m_acia->write_dcd(0); + m_txbank = 0; m_txpalette = 0; m_video_enable = false; @@ -237,6 +241,11 @@ static MACHINE_CONFIG_START( tail2nos ) MCFG_CPU_IO_MAP(sound_port_map) /* IRQs are triggered by the YM2608 */ + MCFG_DEVICE_ADD("acia", ACIA6850, 0) + MCFG_ACIA6850_IRQ_HANDLER(INPUTLINE("maincpu", M68K_IRQ_3)) + //MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("link", rs232_port_device, write_txd)) + //MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("link", rs232_port_device, write_rts)) + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -375,6 +384,6 @@ ROM_START( sformulaa ) ROM_LOAD( "osb", 0x00000, 0x20000, CRC(d49ab2f5) SHA1(92f7f6c8f35ac39910879dd88d2cfb6db7c848c9) ) ROM_END -GAME( 1989, tail2nos, 0, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Tail to Nose - Great Championship", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, sformula, tail2nos, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Super Formula (Japan, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, sformulaa, tail2nos, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Super Formula (Japan, set 2)", MACHINE_SUPPORTS_SAVE ) // No Japan warning, but Japanese version +GAME( 1989, tail2nos, 0, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Tail to Nose - Great Championship", MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, sformula, tail2nos, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Super Formula (Japan, set 1)", MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) +GAME( 1989, sformulaa, tail2nos, tail2nos, tail2nos, tail2nos_state, 0, ROT90, "V-System Co.", "Super Formula (Japan, set 2)", MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE ) // No Japan warning, but Japanese version diff --git a/src/mame/includes/f1gp.h b/src/mame/includes/f1gp.h index ebb815ff28a..479c0197110 100644 --- a/src/mame/includes/f1gp.h +++ b/src/mame/includes/f1gp.h @@ -1,6 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Nicola Salmoria +#include "machine/6850acia.h" #include "machine/gen_latch.h" #include "video/vsystem_spr.h" #include "video/vsystem_spr2.h" @@ -32,7 +33,8 @@ public: m_audiocpu(*this, "audiocpu"), m_k053936(*this, "k053936"), m_palette(*this, "palette"), - m_soundlatch(*this, "soundlatch") { } + m_soundlatch(*this, "soundlatch"), + m_acia(*this, "acia") { } /* memory pointers */ required_shared_ptr m_sharedram; @@ -73,6 +75,7 @@ public: optional_device m_k053936; required_device m_palette; optional_device m_soundlatch; // not f1gpb + required_device m_acia; DECLARE_WRITE8_MEMBER(f1gp_sh_bankswitch_w); DECLARE_READ8_MEMBER(command_pending_r); diff --git a/src/mame/includes/tail2nos.h b/src/mame/includes/tail2nos.h index 398a645c532..0642c432e5a 100644 --- a/src/mame/includes/tail2nos.h +++ b/src/mame/includes/tail2nos.h @@ -6,6 +6,7 @@ *************************************************************************/ +#include "machine/6850acia.h" #include "machine/gen_latch.h" #include "video/k051316.h" @@ -22,7 +23,8 @@ public: m_k051316(*this, "k051316"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), - m_soundlatch(*this, "soundlatch") { } + m_soundlatch(*this, "soundlatch"), + m_acia(*this, "acia") { } /* memory pointers */ required_shared_ptr m_txvideoram; @@ -43,6 +45,7 @@ public: required_device m_gfxdecode; required_device m_palette; required_device m_soundlatch; + required_device m_acia; DECLARE_CUSTOM_INPUT_MEMBER(analog_in_r); DECLARE_WRITE16_MEMBER(tail2nos_txvideoram_w); -- cgit v1.2.3