backgamn: Merge skeleton driver with that of manohman, which has a better description of same HW (nw)

This commit is contained in:
AJR 2017-12-17 22:27:36 -05:00
parent 01c94de408
commit 3d6eab8501
4 changed files with 57 additions and 120 deletions

View File

@ -912,7 +912,7 @@ files {
createMAMEProjects(_target, _subtarget, "adp")
files {
MAME_DIR .. "src/mame/drivers/adp.cpp",
MAME_DIR .. "src/mame/drivers/backgamn.cpp",
MAME_DIR .. "src/mame/drivers/manohman.cpp",
MAME_DIR .. "src/mame/drivers/stellafr.cpp",
}
@ -4622,7 +4622,6 @@ files {
MAME_DIR .. "src/mame/drivers/malzak.cpp",
MAME_DIR .. "src/mame/includes/malzak.h",
MAME_DIR .. "src/mame/video/malzak.cpp",
MAME_DIR .. "src/mame/drivers/manohman.cpp",
MAME_DIR .. "src/mame/drivers/marywu.cpp",
MAME_DIR .. "src/mame/drivers/mcatadv.cpp",
MAME_DIR .. "src/mame/includes/mcatadv.h",

View File

@ -1,99 +0,0 @@
// 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 "machine/nvram.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 AM_SHARE("nvram") //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) // MC68000P8
MCFG_CPU_PROGRAM_MAP(backgamn_mem)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(backgamn_state, iack_handler)
MCFG_DEVICE_ADD("pit", PIT68230, XTAL_8MHz) // MC68230P8
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) // M62X42B
MCFG_NVRAM_ADD_NO_FILL("nvram") // KM6264BL-10 x2 + MAX696CFL + battery
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

@ -133,35 +133,59 @@
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "machine/68230pit.h"
#include "machine/mc68681.h"
#include "machine/msm6242.h"
#include "machine/nvram.h"
#include "sound/saa1099.h"
#include "speaker.h"
#define MASTER_CLOCK XTAL_8MHz
#define SECONDARY_CLOCK XTAL_3_6864MHz
class manohman_state : public driver_device
{
public:
manohman_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_duart(*this, "duart"),
m_pit(*this, "pit")
{ }
IRQ_CALLBACK_MEMBER(iack_handler);
private:
virtual void machine_start() override;
required_device<cpu_device> m_maincpu;
required_device<mc68681_device> m_duart;
required_device<pit68230_device> m_pit;
};
void manohman_state::machine_start()
{
}
IRQ_CALLBACK_MEMBER(manohman_state::iack_handler)
{
// TODO: fetch 68230 vector
return m_duart->get_irq_vector();
}
/*********************************************
* Memory Map Definition *
*********************************************/
static ADDRESS_MAP_START( manohman_map, AS_PROGRAM, 16, manohman_state )
static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 16, manohman_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP // smell to MAX696 watchdog...
AM_RANGE(0x300000, 0x300003) AM_DEVWRITE8("saa", saa1099_device, write, 0x00ff)
AM_RANGE(0x500000, 0x503fff) AM_RAM
AM_RANGE(0x600006, 0x600007) AM_RAM // write bitpatterns to compare with the 500000-503ff8 RAM testing.
// AM_RANGE(0xYYYYYY, 0xYYYYYY) AM_RAM
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 AM_SHARE("nvram") //work RAM
AM_RANGE(0x600006, 0x600007) AM_NOP //(r) is discarded (watchdog?)
ADDRESS_MAP_END
/*
@ -209,14 +233,22 @@ INPUT_PORTS_END
*********************************************/
static MACHINE_CONFIG_START( manohman )
// basic machine hardware
MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK) // 8 MHz
MCFG_CPU_PROGRAM_MAP(manohman_map)
MCFG_CPU_ADD("maincpu", M68000, XTAL_8MHz) // MC68000P8
MCFG_CPU_PROGRAM_MAP(mem_map)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(manohman_state, iack_handler)
MCFG_DEVICE_ADD("pit", PIT68230, XTAL_8MHz) // MC68230P8
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) // M62X42B
MCFG_NVRAM_ADD_NO_FILL("nvram") // KM6264BL-10 x2 + MAX696CFL + battery
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SAA1099_ADD("saa", MASTER_CLOCK) // guess
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SOUND_ADD("saa", SAA1099, XTAL_8MHz / 2) // clock not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
MACHINE_CONFIG_END
@ -230,6 +262,12 @@ ROM_START( manohman )
ROM_LOAD16_BYTE( "mom_austria_vorserie_i.bin", 0x000001, 0x010000, CRC(3c9507f9) SHA1(489a6aadfb7d61be0873bf48d428e9d915268f95) )
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_END
/*********************************************
* Game Drivers *
@ -237,3 +275,4 @@ ROM_END
// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
GAME( 199?, manohman, 0, manohman, manohman, manohman_state, 0, ROT0, "Merkur", "Mann, oh-Mann", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_REQUIRES_ARTWORK )
GAME( 1990, backgamn, 0, manohman, manohman, manohman_state, 0, ROT0, "Merkur", "Backgammon", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_REQUIRES_ARTWORK )

View File

@ -2660,9 +2660,6 @@ babbage //
backfire // MBZ (c) 1995
backfirea // MBZ (c) 1995
@source:backgamn.cpp
backgamn // (c) 1990
@source:badlands.cpp
badlands // 136074 (c) 1989
badlandsb // bootleg
@ -18295,6 +18292,7 @@ malzak // (c) 1980? Kitronix
malzak2 // (c) 1980? Kitronix
@source:manohman.cpp
backgamn // (c) 1990
manohman // 199?, Merkur.
@source:mappy.cpp