backgamn: Split off to separate driver (nw)

This commit is contained in:
AJR 2017-12-17 22:01:55 -05:00
parent fddf6e4fdf
commit 171de63d86
4 changed files with 107 additions and 37 deletions

View File

@ -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",

View File

@ -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 )

View File

@ -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<cpu_device> m_maincpu;
required_device<mc68681_device> m_duart;
required_device<pit68230_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 )

View File

@ -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