mirror of
https://github.com/holub/mame
synced 2025-04-16 05:24:54 +03:00
jvh.cpp: WIP (no time to finish this atm, committing what's done so far).
This commit is contained in:
parent
8b965ef95a
commit
9ac7673f4f
@ -2,11 +2,25 @@
|
||||
// copyright-holders:Robbbert
|
||||
/*******************************************************************************
|
||||
|
||||
PINBALL
|
||||
JVH : Escape, and Movie Masters
|
||||
PINBALL
|
||||
Jac Van Ham (Holland)
|
||||
|
||||
Games:
|
||||
- Escape
|
||||
- Formula 1
|
||||
- Ice Mania
|
||||
- Movie Masters (IMDB says this is a Bally conversion by IDI)
|
||||
- Royal Flippers
|
||||
|
||||
Status:
|
||||
- Skeletons
|
||||
|
||||
ToDo:
|
||||
- Everything
|
||||
|
||||
********************************************************************************/
|
||||
#include "emu.h"
|
||||
#include "machine/genpin.h"
|
||||
#include "cpu/tms9900/tms9980a.h"
|
||||
#include "cpu/tms9900/tms9995.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
@ -14,13 +28,18 @@
|
||||
#include "machine/6522via.h"
|
||||
//#include "machine/74259.h"
|
||||
//#include "sound/ay8910.h"
|
||||
//#include "jvh.lh"
|
||||
|
||||
class jvh_state : public driver_device
|
||||
namespace {
|
||||
|
||||
class jvh_state : public genpin_class
|
||||
{
|
||||
public:
|
||||
jvh_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu")
|
||||
: genpin_class(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_digits(*this, "digit%d", 0U)
|
||||
, m_io_outputs(*this, "out%d", 0U)
|
||||
{ }
|
||||
|
||||
void common(machine_config &config);
|
||||
@ -28,23 +47,21 @@ public:
|
||||
void jvh2(machine_config &config);
|
||||
void jvh3(machine_config &config);
|
||||
|
||||
void init_jvh();
|
||||
|
||||
private:
|
||||
void escape_io(address_map &map);
|
||||
void jvh_map(address_map &map);
|
||||
void jvh_sub_map(address_map &map);
|
||||
void main_map(address_map &map);
|
||||
void audio_map(address_map &map);
|
||||
void movmastr_io(address_map &map);
|
||||
// devices
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
// driver_device overrides
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
output_finder<50> m_digits;
|
||||
output_finder<80> m_io_outputs; // ?? solenoids + ?? lamps
|
||||
};
|
||||
|
||||
|
||||
|
||||
void jvh_state::jvh_map(address_map &map)
|
||||
void jvh_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3bff).rom();
|
||||
map(0x3c00, 0x3cff).ram();
|
||||
@ -105,7 +122,7 @@ void jvh_state::movmastr_io(address_map &map)
|
||||
//map(0x75, 0x7f).w(FUNC(jvh_state::sol_w));
|
||||
}
|
||||
|
||||
void jvh_state::jvh_sub_map(address_map &map)
|
||||
void jvh_state::audio_map(address_map &map)
|
||||
{
|
||||
map(0x0080, 0x008f).m("via", FUNC(via6522_device::map));
|
||||
map(0xc000, 0xdfff).mirror(0x2000).rom();
|
||||
@ -114,25 +131,39 @@ void jvh_state::jvh_sub_map(address_map &map)
|
||||
static INPUT_PORTS_START( jvh )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void jvh_state::machine_reset()
|
||||
void jvh_state::machine_start()
|
||||
{
|
||||
genpin_class::machine_start();
|
||||
m_io_outputs.resolve();
|
||||
m_digits.resolve();
|
||||
|
||||
//save_item(NAME(m_t_c));
|
||||
}
|
||||
|
||||
void jvh_state::init_jvh()
|
||||
void jvh_state::machine_reset()
|
||||
{
|
||||
genpin_class::machine_reset();
|
||||
for (u8 i = 0; i < m_io_outputs.size(); i++)
|
||||
m_io_outputs[i] = 0;
|
||||
}
|
||||
|
||||
void jvh_state::common(machine_config &config)
|
||||
{
|
||||
// CPU TMS9980A; no line connections
|
||||
TMS9980A(config, m_maincpu, 10000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &jvh_state::jvh_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &jvh_state::main_map);
|
||||
|
||||
m6802_cpu_device &soundcpu(M6802(config, "soundcpu", XTAL(4'000'000)));
|
||||
soundcpu.set_addrmap(AS_PROGRAM, &jvh_state::jvh_sub_map);
|
||||
m6802_cpu_device &audiocpu(M6802(config, "audiocpu", XTAL(4'000'000)));
|
||||
audiocpu.set_addrmap(AS_PROGRAM, &jvh_state::audio_map);
|
||||
|
||||
via6522_device &via(MOS6522(config, "via", XTAL(4'000'000) / 4)); // MC6802 E clock
|
||||
via.irq_handler().set_inputline("soundcpu", M6802_IRQ_LINE);
|
||||
via.irq_handler().set_inputline("audiocpu", M6802_IRQ_LINE);
|
||||
|
||||
// Video
|
||||
//config.set_default_layout(layout_jvh);
|
||||
|
||||
// Sound
|
||||
genpin_audio(config);
|
||||
}
|
||||
|
||||
void jvh_state::jvh(machine_config &config)
|
||||
@ -151,11 +182,17 @@ void jvh_state::jvh3(machine_config &config)
|
||||
{
|
||||
TMS9995(config, m_maincpu, 12000000);
|
||||
|
||||
M6809(config, "soundcpu", 2000000);
|
||||
M6809(config, "audiocpu", 2000000);
|
||||
|
||||
M6809(config, "soundcpu2", 2000000);
|
||||
M6809(config, "audiocpu2", 2000000);
|
||||
|
||||
// YM2203, YM3812, DAC
|
||||
|
||||
// Video
|
||||
//config.set_default_layout(layout_jvh);
|
||||
|
||||
// Sound
|
||||
genpin_audio(config);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
@ -166,7 +203,7 @@ ROM_START(icemania)
|
||||
ROM_LOAD("1c1_ic1.bin", 0x0000, 0x2000, CRC(eae16d52) SHA1(9151e0ccec938d268a157cea30b4a23b69e194b8))
|
||||
ROM_LOAD("2b1_ic7.bin", 0x2000, 0x2000, CRC(7b5fc604) SHA1(22c1c1a030877df99c3db50e7dd41dffe6c21dec))
|
||||
|
||||
ROM_REGION(0x10000, "soundcpu", 0)
|
||||
ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("im_snd.bin", 0xc000, 0x2000, CRC(0d861f65) SHA1(6c17d1f674c95a4c877b42100ab6e0ae8213264b))
|
||||
ROM_END
|
||||
|
||||
@ -178,7 +215,7 @@ ROM_START(escape)
|
||||
ROM_LOAD("cpu_ic1.bin", 0x0000, 0x2000, CRC(fadb8f9a) SHA1(b7e7ea8e33847c14a3414f5e367e304f12c0bc00))
|
||||
ROM_LOAD("cpu_ic7.bin", 0x2000, 0x2000, CRC(2f9402b4) SHA1(3d3bae7e4e5ad40e3c8019d55392defdffd21cc4))
|
||||
|
||||
ROM_REGION(0x10000, "soundcpu", 0)
|
||||
ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("snd.bin", 0xc000, 0x2000, CRC(2477bbe2) SHA1(f636952822153f43e9d09f8211edde1057249203))
|
||||
ROM_END
|
||||
|
||||
@ -190,7 +227,7 @@ ROM_START(movmastr)
|
||||
ROM_LOAD("mm_ic1.764", 0x0000, 0x2000, CRC(fb59920d) SHA1(05536c4c036a8d73516766e14f4449665b2ec180))
|
||||
ROM_LOAD("mm_ic7.764", 0x2000, 0x2000, CRC(9b47af41) SHA1(ae795c22aa437d6c71312d93de8a87f43ee500fb))
|
||||
|
||||
ROM_REGION(0x10000, "soundcpu", 0)
|
||||
ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("snd.bin", 0xc000, 0x2000, NO_DUMP)
|
||||
ROM_END
|
||||
|
||||
@ -201,15 +238,16 @@ ROM_START(formula1)
|
||||
ROM_REGION(0x4000, "maincpu", 0)
|
||||
ROM_LOAD("f1_ic4.bin", 0x0000, 0x4000, CRC(6ca345da) SHA1(5532c5786d304744a69c7e892924edd03abe8209))
|
||||
|
||||
ROM_REGION(0x10000, "soundcpu", 0)
|
||||
ROM_REGION(0x10000, "audiocpu", 0)
|
||||
ROM_LOAD("f1_snd.bin", 0x8000, 0x8000, CRC(00562594) SHA1(3325ad4c0ec04457f4d5b78b9ac48218d6c7aef3))
|
||||
|
||||
ROM_REGION(0x10000, "soundcpu2", 0)
|
||||
ROM_REGION(0x10000, "audiocpu2", 0)
|
||||
ROM_LOAD("f1_samples.bin", 0x0000, 0x10000, CRC(ecb7ff04) SHA1(1c11c8ce62ec2f0a4f7dae3b1661baddb04ad55a))
|
||||
ROM_END
|
||||
|
||||
} // Anonymous namespace
|
||||
|
||||
GAME( 1986, icemania, 0, jvh, jvh, jvh_state, init_jvh, ROT0, "Jac Van Ham (Royal)", "Ice Mania", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME( 1987, escape, 0, jvh, jvh, jvh_state, init_jvh, ROT0, "Jac Van Ham (Royal)", "Escape", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME( 19??, movmastr, 0, jvh2, jvh, jvh_state, init_jvh, ROT0, "Jac Van Ham (Royal)", "Movie Masters", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME( 1988, formula1, 0, jvh3, jvh, jvh_state, init_jvh, ROT0, "Jac Van Ham (Royal)", "Formula 1", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME( 1986, icemania, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Ice Mania", MACHINE_IS_SKELETON_MECHANICAL )
|
||||
GAME( 1987, escape, 0, jvh, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Escape", MACHINE_IS_SKELETON_MECHANICAL )
|
||||
GAME( 19??, movmastr, 0, jvh2, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Movie Masters", MACHINE_IS_SKELETON_MECHANICAL )
|
||||
GAME( 1988, formula1, 0, jvh3, jvh, jvh_state, empty_init, ROT0, "Jac Van Ham (Royal)", "Formula 1", MACHINE_IS_SKELETON_MECHANICAL )
|
||||
|
Loading…
Reference in New Issue
Block a user