From 171de63d8665cfe2e7858b211f1e89118563cda9 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 17 Dec 2017 22:01:55 -0500 Subject: [PATCH] backgamn: Split off to separate driver (nw) --- scripts/target/mame/arcade.lua | 10 +++- src/mame/drivers/adp.cpp | 34 ------------ src/mame/drivers/backgamn.cpp | 96 ++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 4 +- 4 files changed, 107 insertions(+), 37 deletions(-) create mode 100644 src/mame/drivers/backgamn.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 9f9b679ba2a..67620931109 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -731,6 +731,7 @@ FORMATS["BASICDSK"] = true function linkProjects_mame_arcade(_target, _subtarget) links { "acorn", + "adp", "alba", "alliedl", "alpha", @@ -908,6 +909,13 @@ files { MAME_DIR .. "src/mame/video/archimds.cpp", } +createMAMEProjects(_target, _subtarget, "adp") +files { + MAME_DIR .. "src/mame/drivers/adp.cpp", + MAME_DIR .. "src/mame/drivers/backgamn.cpp", + MAME_DIR .. "src/mame/drivers/stellafr.cpp", +} + createMAMEProjects(_target, _subtarget, "alba") files { MAME_DIR .. "src/mame/drivers/albazc.cpp", @@ -4416,7 +4424,6 @@ files { MAME_DIR .. "src/mame/drivers/acefruit.cpp", MAME_DIR .. "src/mame/drivers/aces1.cpp", MAME_DIR .. "src/mame/drivers/acesp.cpp", - MAME_DIR .. "src/mame/drivers/adp.cpp", MAME_DIR .. "src/mame/drivers/age_candy.cpp", MAME_DIR .. "src/mame/drivers/alinvade.cpp", MAME_DIR .. "src/mame/drivers/amaticmg.cpp", @@ -4715,7 +4722,6 @@ files { MAME_DIR .. "src/mame/drivers/ssingles.cpp", MAME_DIR .. "src/mame/drivers/sstrangr.cpp", MAME_DIR .. "src/mame/drivers/statriv2.cpp", - MAME_DIR .. "src/mame/drivers/stellafr.cpp", MAME_DIR .. "src/mame/drivers/stuntair.cpp", MAME_DIR .. "src/mame/drivers/su2000.cpp", MAME_DIR .. "src/mame/drivers/subhuntr.cpp", diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp index 0b981e43963..edfb981c915 100644 --- a/src/mame/drivers/adp.cpp +++ b/src/mame/drivers/adp.cpp @@ -17,7 +17,6 @@ Supported games : - Skat TV ("COPYRIGHT BY ADP LUEBBECKE GERMANY 1994") - Skat TV v. TS3 ("COPYRIGHT BY ADP LUEBBECKE GERMANY 1995") - Fashion Gambler ("COPYRIGHT BY ADP LUEBBECKE GERMANY 1997") -- Backgammon ("COPYRIGHT BY ADP LUEBBECKE GERMANY 1994") - Funny Land de Luxe ("Copyright 1992-99 by Stella International Germany") - Fun Station Spielekoffer 9 Spiele ("COPYRIGHT BY ADP LUEBBECKE GERMANY 2000") @@ -158,7 +157,6 @@ Quick Jack administration/service mode: #include "emu.h" #include "cpu/m68000/m68000.h" -#include "machine/68230pit.h" #include "machine/mc68681.h" #include "machine/microtch.h" #include "machine/msm6242.h" @@ -323,16 +321,6 @@ static ADDRESS_MAP_START( quickjac_mem, AS_PROGRAM, 16, adp_state ) AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END -static ADDRESS_MAP_START( backgamn_mem, AS_PROGRAM, 16, adp_state ) - AM_RANGE(0x000000, 0x01ffff) AM_ROM - AM_RANGE(0x100000, 0x10003f) AM_DEVREADWRITE8("pit", pit68230_device, read, write, 0x00ff) - AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff) - AM_RANGE(0x300000, 0x300003) AM_NOP // ? - AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff) - AM_RANGE(0x500000, 0x503fff) AM_RAM AM_SHARE("nvram") //work RAM - AM_RANGE(0x600006, 0x600007) AM_NOP //(r) is discarded (watchdog?) -ADDRESS_MAP_END - static ADDRESS_MAP_START( funland_mem, AS_PROGRAM, 16, adp_state ) AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff) @@ -591,17 +579,6 @@ static MACHINE_CONFIG_DERIVED( skattva, quickjac ) MCFG_NVRAM_REPLACE_CUSTOM_DRIVER("nvram", adp_state, skattva_nvram_init) MACHINE_CONFIG_END -static MACHINE_CONFIG_DERIVED( backgamn, skattv ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_PROGRAM_MAP(backgamn_mem) - - MCFG_DEVICE_ADD("pit", PIT68230, 800000) - - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(640, 480) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( fashiong, skattv ) MCFG_DEVICE_MODIFY("acrtc") MCFG_HD63484_ADDRESS_MAP(fashiong_hd63484_map) @@ -666,16 +643,6 @@ ROM_START( skattva ) ROM_LOAD16_BYTE( "skat_tv_videoprom_t2.2.u5.bin", 0x00001, 0x20000, CRC(af3e60f9) SHA1(c88976ea42cf29a092fdee18377b32ffe91e9f33) ) ROM_END -ROM_START( backgamn ) - ROM_REGION( 0x100000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "b_f2_i.bin", 0x00000, 0x10000, CRC(9e42937c) SHA1(85d462a560b85b03ee9d341e18815b7c396118ac) ) - ROM_LOAD16_BYTE( "b_f2_ii.bin", 0x00001, 0x10000, CRC(8e0ee50c) SHA1(2a05c337db1131b873646aa4109593636ebaa356) ) - - ROM_REGION16_BE( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b_f1_i.bin", 0x00000, 0x20000, NO_DUMP ) - ROM_LOAD16_BYTE( "b_f1_ii.bin", 0x00001, 0x20000, NO_DUMP ) -ROM_END - ROM_START( fashiong ) ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "fashion_gambler_s6_i.bin", 0x00000, 0x80000, CRC(827a164d) SHA1(dc16380226cabdefbfd893cb50cbfca9e134be40) ) @@ -727,7 +694,6 @@ ROM_START( fstation ) ROM_END -GAME( 1990, backgamn, 0, backgamn, skattv, adp_state, 0, ROT0, "ADP", "Backgammon", MACHINE_NOT_WORKING ) GAME( 1993, quickjac, 0, quickjac, quickjac, adp_state, 0, ROT0, "ADP", "Quick Jack", MACHINE_NOT_WORKING ) GAME( 1994, skattv, 0, skattv, skattv, adp_state, 0, ROT0, "ADP", "Skat TV", MACHINE_NOT_WORKING ) GAME( 1995, skattva, skattv, skattva, skattva, adp_state, 0, ROT0, "ADP", "Skat TV (version TS3)", MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/backgamn.cpp b/src/mame/drivers/backgamn.cpp new file mode 100644 index 00000000000..33b3ad05ad9 --- /dev/null +++ b/src/mame/drivers/backgamn.cpp @@ -0,0 +1,96 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/*************************************************************************** + + Backgammon - "COPYRIGHT BY ADP LUEBBECKE GERMANY 1990" + + Skeleton driver. + +***************************************************************************/ + +#include "emu.h" +#include "cpu/m68000/m68000.h" +#include "machine/68230pit.h" +#include "machine/mc68681.h" +#include "machine/msm6242.h" +#include "sound/saa1099.h" +#include "speaker.h" + +class backgamn_state : public driver_device +{ +public: + backgamn_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_duart(*this, "duart"), + m_pit(*this, "pit") + { } + + required_device m_maincpu; + required_device m_duart; + required_device m_pit; + + IRQ_CALLBACK_MEMBER(iack_handler); + +private: + virtual void machine_start() override; +}; + + +void backgamn_state::machine_start() +{ +} + + +IRQ_CALLBACK_MEMBER(backgamn_state::iack_handler) +{ + // TODO: fetch 68230 vector + return m_duart->get_irq_vector(); +} + + +static ADDRESS_MAP_START( backgamn_mem, AS_PROGRAM, 16, backgamn_state ) + AM_RANGE(0x000000, 0x01ffff) AM_ROM + AM_RANGE(0x100000, 0x10003f) AM_DEVREADWRITE8("pit", pit68230_device, read, write, 0x00ff) + AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff) + AM_RANGE(0x300000, 0x300003) AM_DEVWRITE8("saa", saa1099_device, write, 0x00ff) AM_READNOP + AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff) + AM_RANGE(0x500000, 0x503fff) AM_RAM //work RAM + AM_RANGE(0x600006, 0x600007) AM_NOP //(r) is discarded (watchdog?) +ADDRESS_MAP_END + + +static INPUT_PORTS_START( backgamn ) +INPUT_PORTS_END + + +static MACHINE_CONFIG_START( backgamn ) + MCFG_CPU_ADD("maincpu", M68000, XTAL_8MHz) + MCFG_CPU_PROGRAM_MAP(backgamn_mem) + MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(backgamn_state, iack_handler) + + MCFG_DEVICE_ADD("pit", PIT68230, XTAL_8MHz / 10) // clock not verified + + MCFG_DEVICE_ADD("duart", MC68681, XTAL_3_6864MHz) + MCFG_MC68681_IRQ_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4)) + + MCFG_DEVICE_ADD("rtc", MSM6242, XTAL_32_768kHz) + + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("saa", SAA1099, XTAL_8MHz / 2) // clock not verified + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) +MACHINE_CONFIG_END + + +ROM_START( backgamn ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "b_f2_i.bin", 0x00000, 0x10000, CRC(9e42937c) SHA1(85d462a560b85b03ee9d341e18815b7c396118ac) ) + ROM_LOAD16_BYTE( "b_f2_ii.bin", 0x00001, 0x10000, CRC(8e0ee50c) SHA1(2a05c337db1131b873646aa4109593636ebaa356) ) + + ROM_REGION16_BE( 0x40000, "gfx1", 0 ) + ROM_LOAD16_BYTE( "b_f1_i.bin", 0x00000, 0x20000, NO_DUMP ) + ROM_LOAD16_BYTE( "b_f1_ii.bin", 0x00001, 0x20000, NO_DUMP ) +ROM_END + + +GAME( 1990, backgamn, 0, backgamn, backgamn, backgamn_state, 0, ROT0, "ADP", "Backgammon", MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 8ffdde6e894..3f85e7f83a4 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -887,7 +887,6 @@ viruscl // (c) 2004 Access Gmbh adam // Coleco Adam @source:adp.cpp -backgamn // (c) 1990 fashiong // (c) 1997 fashiong2 // (c) 1997 fstation // (c) 2000 @@ -2661,6 +2660,9 @@ babbage // backfire // MBZ (c) 1995 backfirea // MBZ (c) 1995 +@source:backgamn.cpp +backgamn // (c) 1990 + @source:badlands.cpp badlands // 136074 (c) 1989 badlandsb // bootleg