diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 8c68c0fcd2b..cd8fcdb4463 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -4834,6 +4834,7 @@ files { MAME_DIR .. "src/mame/drivers/itgambl3.cpp", MAME_DIR .. "src/mame/drivers/itgamble.cpp", MAME_DIR .. "src/mame/drivers/jackpool.cpp", + MAME_DIR .. "src/mame/drivers/jackpot.cpp", MAME_DIR .. "src/mame/drivers/jankenmn.cpp", MAME_DIR .. "src/mame/drivers/jokrwild.cpp", MAME_DIR .. "src/mame/drivers/joystand.cpp", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index 211480765e4..81f8a8e1369 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -583,6 +583,7 @@ jack.cpp jackal.cpp jackie.cpp jackpool.cpp +jackpot.cpp jaguar.cpp jailbrek.cpp jalmah.cpp diff --git a/src/mame/drivers/jackpot.cpp b/src/mame/drivers/jackpot.cpp new file mode 100644 index 00000000000..48f85a854bc --- /dev/null +++ b/src/mame/drivers/jackpot.cpp @@ -0,0 +1,230 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Jackpot by Electronic Projects + +The title is wrongly spelt as 'Jeckpot' in the main CPU ROM + +PCB: GAME CPU MOD.02 + +1x TMPZ84C0010PEC or compatible 8-bit Microprocessor - main +1x MC6845P CRT Controller (CRTC) +1x Z84C0010PEC or compatible 8-bit Microprocessor - sound +1x AY-3-8910 Programmable Sound Generator - sound +1x YM3526 FM Operator Type-L (OPL) - sound (not populated on one PCB, possibly removed?) +1x LM324N Quad Operational Amplifier - sound +2x LM358N Dual Operational Amplifier - sound +1x Y3014B D/A Converter (DAC) - sound +1x TLC7524CN 8-bit Multiplying Digital-to-Analog Converter (DAC) +1x TDA2003 Audio Amplifier - sound +1x oscillator 13.000MHz +1x oscillator 3.579545 +1x yellow resonator 500 +1x 28x2 JAMMA edge connector +1x pushbutton (TEST) +1x trimmer (VOLUME) +1x green LED +1x red LED + +In the same period Electronic Projects also released games on different platforms (see jackpool.cpp and spool99.cpp) +*/ + +#include "emu.h" +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "cpu/z80/z80.h" +#include "machine/eepromser.h" +#include "sound/3526intf.h" +#include "sound/ay8910.h" +#include "video/mc6845.h" + +class jackpot_state : public driver_device +{ +public: + jackpot_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + { + } + + void jackpot(machine_config &config); + +private: + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void prg_map(address_map &map); + void sound_io_map(address_map &map); + void sound_prg_map(address_map &map); +}; + + +uint32_t jackpot_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + return 0; +} + + +void jackpot_state::prg_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); // after this, ROM is 0xff filled but in the range 0x1e000 - 0x1efff. Where does it get mapped? + map(0xd800, 0xdfff).ram(); // MK48Z02B? + map(0xe000, 0xffff).ram(); +} + +void jackpot_state::sound_prg_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + // bank? + map(0xe000, 0xe7ff).ram(); +} + +void jackpot_state::sound_io_map(address_map &map) +{ + map.global_mask(0xff); + map.unmap_value_high(); +} + + +static INPUT_PORTS_START( jackpot ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + // no dips on PCB +INPUT_PORTS_END + + +static const gfx_layout jackpot_layout = // taken from jackpool.cpp, needs work +{ + 8,8, + RGN_FRAC(1,4), + 4, + { RGN_FRAC(0,4),RGN_FRAC(1,4),RGN_FRAC(2,4),RGN_FRAC(3,4) }, + { 0, 1, 2, 3, 4, 5, 6, 7 }, + { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, + 8*8 +}; + +static GFXDECODE_START( gfx_jackpot ) + GFXDECODE_ENTRY( "gfx", 0, jackpot_layout, 0x00, 0x20 ) +GFXDECODE_END + + +void jackpot_state::jackpot(machine_config &config) // clocks not verified +{ + z80_device &maincpu(Z80(config, "maincpu", 3.579545_MHz_XTAL)); + maincpu.set_addrmap(AS_PROGRAM, &jackpot_state::prg_map); + + z80_device &audiocpu(Z80(config, "audiocpu", 3.579545_MHz_XTAL)); + audiocpu.set_addrmap(AS_PROGRAM, &jackpot_state::sound_prg_map); + audiocpu.set_addrmap(AS_IO, &jackpot_state::sound_io_map); + + EEPROM_93C66_8BIT(config, "eeprom"); + + // all wrong + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea_full(); + screen.set_screen_update(FUNC(jackpot_state::screen_update)); + screen.set_palette("palette"); + + GFXDECODE(config, "gfxdecode", "palette", gfx_jackpot); + PALETTE(config, "palette").set_entries(0x100); + + mc6845_device &crtc(MC6845(config, "crtc", 13_MHz_XTAL / 8)); // divisor guessed + crtc.set_screen("screen"); + crtc.set_show_border_area(false); + crtc.set_char_width(8); // to be verified + + SPEAKER(config, "mono").front_center(); + + YM3526(config, "ymsnd", 3.579545_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.30); + + AY8910(config, "aysnd", 3.579545_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.30); +} + + +ROM_START( jackpot ) + ROM_REGION(0x20000, "maincpu", 0) + ROM_LOAD( "electronic_projects_ver_0.16.16l.bin", 0x00000, 0x20000, CRC(9affed89) SHA1(397b5698468a61acd98c7ab50449aaf9fae8fab8) ) + + ROM_REGION(0x110000, "audiocpu", 0) + ROM_LOAD( "electronic_projects_ver_snd02.bin", 0x000000, 0x10000, CRC(91ff806e) SHA1(4035ed34bf00e655865a096863381e84bde02bbc) ) + ROM_LOAD( "electronic_projects_ver_wav1.bin", 0x010000, 0x80000, CRC(83c8f52c) SHA1(216009aeceee7ed8883cde708895d06934d33092) ) + ROM_LOAD( "electronic_projects_ver_wav2.bin", 0x090000, 0x80000, CRC(993a8a01) SHA1(91f9e61dd1844dba079886f97582f74d6191c645) ) + + ROM_REGION(0xc0000, "gfx", 0) + ROM_LOAD( "electronic_projects_ver_cf0116.bin", 0x00000, 0x20000, CRC(a1c35934) SHA1(bad97a660b2f039c7274496cdf9c4d5dd38eeea4) ) + ROM_LOAD( "electronic_projects_ver_cf0216.bin", 0x20000, 0x20000, CRC(00d66627) SHA1(67185474181b10b7a2fc1f7a43f0c8e2a9d8eee3) ) + ROM_LOAD( "electronic_projects_ver_cf0316.bin", 0x40000, 0x20000, CRC(7d8c8781) SHA1(5085301332c4f642f8c6157eda1aaad1866da246) ) + ROM_LOAD( "electronic_projects_ver_cf0416.bin", 0x60000, 0x20000, CRC(c266c470) SHA1(5042c6a2d554e1e2437d2d79c5aa7c9c3642e173) ) + ROM_LOAD( "electronic_projects_ver_cm0116.bin", 0x80000, 0x10000, CRC(48828c6c) SHA1(45769616ca3d88b3fe36fd4c7cfad47478e26825) ) + ROM_LOAD( "electronic_projects_ver_cm0216.bin", 0x90000, 0x10000, CRC(29e37e9c) SHA1(cc6db27f0d6d45cdfd93c89cac0b8c975e96ea97) ) + ROM_LOAD( "electronic_projects_ver_cm0316.bin", 0xa0000, 0x10000, CRC(ac70bfaf) SHA1(1b76110a90685c1a285f1ce2312890d630129515) ) + ROM_LOAD( "electronic_projects_ver_cm0416.bin", 0xb0000, 0x10000, CRC(7a2490bd) SHA1(1ca35afb6231247f898310c088997e7645657bc8) ) + + ROM_REGION(0x800, "nvram", 0) + ROM_LOAD( "mk48z02b.bin", 0x000, 0x800, CRC(b182f4f3) SHA1(b6f04c343fefca2c506a99fb3293697e6e8522f6) ) + + ROM_REGION(0x200, "eeprom", 0) + ROM_LOAD( "93c66.bin", 0x000, 0x200, CRC(6c81bdb6) SHA1(1514bc690f66950862c2f7732a9d5b951ae83666) ) + + ROM_REGION(0x700, "plds", 0) // all read protected + ROM_LOAD( "palce22v8h-25pc-4", 0x000, 0x2dd, NO_DUMP ) + ROM_LOAD( "palce20v8h-25pc-4", 0x300, 0x157, NO_DUMP ) + ROM_LOAD( "gal16v8s-20hb1", 0x500, 0x117, NO_DUMP ) +ROM_END + +ROM_START( jackpota ) + ROM_REGION(0x20000, "maincpu", 0) + ROM_LOAD( "new16.bin", 0x00000, 0x20000, CRC(d20ef98a) SHA1(a7d4384c7b965a7a2bbe2ef11ffdd40328e74345) ) + + ROM_REGION(0x110000, "audiocpu", 0) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.10.bin", 0x000000, 0x10000, CRC(91ff806e) SHA1(4035ed34bf00e655865a096863381e84bde02bbc) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.12.bin", 0x010000, 0x80000, CRC(83c8f52c) SHA1(216009aeceee7ed8883cde708895d06934d33092) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.11.bin", 0x090000, 0x80000, CRC(993a8a01) SHA1(91f9e61dd1844dba079886f97582f74d6191c645) ) + + ROM_REGION(0x180000, "gfx", 0) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.2.bin", 0x000000, 0x20000, CRC(c1fcc900) SHA1(7c2e8f3e59fa2af99a358127705e8b49d577d777) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.3.bin", 0x020000, 0x20000, CRC(6f9eac8e) SHA1(a775d23fb70b69e573a94f2cd33dfc7664f158c2) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.4.bin", 0x040000, 0x20000, CRC(6301c5ca) SHA1(6ca1d4c34ad5a25608ffd44e3e0ab40d546a3d7c) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.5.bin", 0x060000, 0x20000, CRC(b60fb8ef) SHA1(5597bdff871d5a80efe1f054d0a7bf9820d4f75f) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.6.bin", 0x080000, 0x40000, CRC(1c6cde6c) SHA1(89d0274083e4b94b9c6715084b30b5ee5db1d96e) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.7.bin", 0x0c0000, 0x40000, CRC(07f1f69e) SHA1(ff966f1b1da8ea81a06f909dae3fa57d88bbd496) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.8.bin", 0x100000, 0x40000, CRC(e7090d10) SHA1(1a72b13d68b7e6c9182ec4786f6bb578e9fc8f0e) ) + ROM_LOAD( "jackpot_electronic_projects_eprom_n.9.bin", 0x140000, 0x40000, CRC(ee76110c) SHA1(5634f8de0cc8613b3f016abc7614a2abb0730060) ) + + ROM_REGION(0x800, "nvram", 0) + ROM_LOAD( "mk48z02b.bin", 0x000, 0x800, CRC(005d9ae1) SHA1(cd738ed44c7f016948a42612d37d00b0a56658c3) ) + + ROM_REGION(0x200, "eeprom", 0) + ROM_LOAD( "93c66.bin", 0x000, 0x200, CRC(4a3811bf) SHA1(dfebaeacd2dcf11d1ed08c1317f1b9669c0bad54) ) + + ROM_REGION(0x600, "plds", 0) // all read protected + ROM_LOAD( "gal20v8a-25lp", 0x000, 0x157, NO_DUMP ) + ROM_LOAD( "yp20v8e-25pc", 0x200, 0x157, NO_DUMP ) + ROM_LOAD( "hy18cv8s-25", 0x400, 0x117, NO_DUMP ) +ROM_END + + +GAME( 1988, jackpot, 0, jackpot, jackpot, jackpot_state, empty_init, ROT0, "Electronic Projects", "Jackpot (Ver 16.16L)", MACHINE_IS_SKELETON ) // 08.09.98 +GAME( 1988, jackpota, jackpot, jackpot, jackpot, jackpot_state, empty_init, ROT0, "Electronic Projects", "Jackpot (Ver 1.16L)", MACHINE_IS_SKELETON ) // 01.09.98 diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 8acec270d11..a6e2b2baca9 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16946,6 +16946,10 @@ jackie // (c) 1993 IGS @source:jackpool.cpp jackpool // (c) 1997 Electronic Projects +@source:jackpot.cpp +jackpot +jackpota + @source:jade.cpp jade //