New working clones

------------------
Fruit Bonus 2004 (Version 1.4) [Ioannis Bampoulas]

New systems marked not working
------------------------------
Dream 9 (v1.52) [Hammy]

New clones marked not working
-----------------------------
Cherry Bonus IV (V1.2) [Hammy]
Speed Up / Kkot Bi Nyo (Korea) [taksangs, charlie]
The Roulette (Visco, medal) [Hammy]

- modelracing/sshot.cpp: redumped sshota [f205v]
This commit is contained in:
Ivan Vangelista 2025-01-29 18:50:17 +01:00
parent 8fe51a873d
commit 72212bb918
9 changed files with 403 additions and 71 deletions

View File

@ -6064,6 +6064,24 @@ static INPUT_PORTS_START( kotbinyo )
INPUT_PORTS_END
static INPUT_PORTS_START( kotbinyosu )
PORT_INCLUDE( kotbinyo )
PORT_MODIFY("DSW2")
PORT_DIPNAME( 0x08, 0x08, "Unknown 2-3" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, "Unknown 2-4" )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) // Shows Kkot Bi Nyo title regardless of the setting of 2-9
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Shows Speed Up title, but only if 2-9 is On
PORT_MODIFY("DSW5")
PORT_DIPNAME( 0x08, 0x00, "Unknown 2-9" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) // Shows Kkot Bi Nyo title regardless of the setting of 2-4
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) // Shows Speed Up title, but only if 2-4 is On
INPUT_PORTS_END
static INPUT_PORTS_START( kotbinsp )
PORT_START("SYSTEM")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
@ -10863,6 +10881,31 @@ ROM_START( kotbinyo )
ROM_REGION( 0x80000, "oki", 0 ) // samples
ROM_LOAD( "snd.1c", 0x00000, 0x40000, CRC(d3a739a7) SHA1(f21009f588202f36e4d4e1ab7566c162b5118424) )
ROM_RELOAD( 0x40000, 0x40000 )
ROM_REGION( 0x104, "plds", ROMREGION_ERASE00 )
ROM_LOAD( "ampal16l8.7a", 0x000, 0x104, NO_DUMP )
ROM_END
// 9090123-1 PCB. Title can be chosen via DSWs between Kkot Bi Nyo and Speed Up (스피드업)
// Speed Up seems to be just the minigames, with the Hanafuda main game disabled.
ROM_START( kotbinyosu )
ROM_REGION( 0x80000, "maincpu", 0 ) // ! KL5C80 Code !
ROM_LOAD( "prg.5b", 0x00000, 0x80000, CRC(ce35efe7) SHA1(4d76d9540936e9de34bfe6ffabd13a44fa892ed7) ) // only this differs, SLDH
ROM_REGION( 0x280000, "blitter", 0 )
ROM_LOAD16_BYTE( "gfx.8b", 0x000000, 0x80000, CRC(126f3591) SHA1(f21236587f555035ec25f1a9f5eb651a533446b2) )
ROM_LOAD16_BYTE( "gfx.8c", 0x000001, 0x80000, CRC(ab52b33d) SHA1(05edeb5def0fda9b2028bc64f7484abe0f8705a3) )
ROM_LOAD16_BYTE( "gfx.10b", 0x100000, 0x80000, CRC(2e9d35f9) SHA1(a412fbfc400d2ccb308c7d5c6ed0da6080a88ee0) )
ROM_LOAD16_BYTE( "gfx.10c", 0x100001, 0x80000, CRC(83851ae1) SHA1(9fbf84d9abc81448105582cea8cdb43cbf82f857) )
ROM_LOAD16_BYTE( "gfx.12b", 0x200000, 0x40000, CRC(bf5ae6c2) SHA1(ac22c3e4e954c116e2e33ce2db0250c608f13a71) )
ROM_LOAD16_BYTE( "gfx.12c", 0x200001, 0x40000, CRC(2f476026) SHA1(79b62cedd6d703af7b02db3916bb373ad1e7da85) )
ROM_REGION( 0x80000, "oki", 0 ) // samples
ROM_LOAD( "snd.1c", 0x00000, 0x40000, CRC(d3a739a7) SHA1(f21009f588202f36e4d4e1ab7566c162b5118424) )
ROM_RELOAD( 0x40000, 0x40000 )
ROM_REGION( 0x104, "plds", ROMREGION_ERASE00 )
ROM_LOAD( "palce16v8h-25.7a", 0x000, 0x104, NO_DUMP ) // locked
ROM_END
@ -12480,6 +12523,7 @@ GAME( 1996, ddenlovr, ddenlovj, ddenlovr, ddenlovr, ddenlovr_state, empty_init
GAME( 1996, hanakanz, 0, hanakanz, hanakanz, hanakanz_state, empty_init, ROT0, "Dynax", "Hana Kanzashi (Japan)", MACHINE_NO_COCKTAIL )
GAME( 1997, kotbinyo, hanakanz, kotbinyo, kotbinyo, hanakanz_state, empty_init, ROT0, "Dynax / Shinwhajin", "Kkot Bi Nyo (Korea)", MACHINE_NO_COCKTAIL )
GAME( 1997, kotbinyosu, hanakanz, kotbinyo, kotbinyosu, hanakanz_state, empty_init, ROT0, "Dynax / Shinwhajin", "Speed Up / Kkot Bi Nyo (Korea)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL )
GAME( 1997, kotbinsp, 0, kotbinsp, kotbinsp, hanakanz_state, empty_init, ROT0, "Dynax / Shinwhajin", "Kkot Bi Nyo Special (Korea)", MACHINE_NO_COCKTAIL )

View File

@ -0,0 +1,201 @@
// license:BSD-3-Clause
// copyright-holders:
/*
Excellent System's ES-8906B PCB
Main components:
R6502AP CPU
6116ALSP-12 RAM (near CPU)
20.0000 MHz XTAL (near CPU)
HD46505SP CRTC
Excellent ES-8712 custom
4x 6116ALSP-12 RAM (near ES-8712)
4x bank of 8 DIP switches (SW2-5)
reset button (SW1)
NE555P (near SW1)
TODO: everything
*/
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "sound/es8712.h"
#include "video/mc6845.h"
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
#include "tilemap.h"
namespace {
class es8906_state : public driver_device
{
public:
es8906_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_screen(*this, "screen"),
m_gfxdecode(*this, "gfxdecode")
{ }
void es8906(machine_config &config);
protected:
virtual void video_start() override ATTR_COLD;
private:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
required_device<gfxdecode_device> m_gfxdecode;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void program_map(address_map &map) ATTR_COLD;
};
void es8906_state::video_start()
{
}
uint32_t es8906_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
return 0;
}
void es8906_state::program_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x07ff).ram();
map(0x0800, 0x0800).w("crtc", FUNC(hd6845s_device::address_w));
map(0x0801, 0x0801).rw("crtc", FUNC(hd6845s_device::register_r), FUNC(hd6845s_device::register_w));
map(0x1000, 0x2fff).ram();
map(0x8000, 0xffff).rom();
}
static INPUT_PORTS_START( dream9 )
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 )
PORT_START("SW2")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8")
PORT_START("SW3")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW3:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW3:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW3:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW3:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW3:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW3:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW3:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW3:8")
PORT_START("SW4")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW4:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW4:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW4:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW4:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW4:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW4:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW4:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW4:8")
PORT_START("SW5")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW5:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW5:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW5:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW5:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW5:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW5:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW5:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW5:8")
INPUT_PORTS_END
static GFXDECODE_START( gfx_es8906 )
GFXDECODE_ENTRY( "tiles1", 0, gfx_8x8x4_planar, 0, 16 )
GFXDECODE_ENTRY( "tiles2", 0, gfx_8x8x4_planar, 0, 16 )
GFXDECODE_END
void es8906_state::es8906(machine_config &config)
{
M6502(config, m_maincpu, 20_MHz_XTAL / 10); // TODO: divider not verified
m_maincpu->set_addrmap(AS_PROGRAM, &es8906_state::program_map);
hd6845s_device &crtc(HD6845S(config, "crtc", 20_MHz_XTAL / 10)); // TODO: verify
crtc.set_screen(m_screen);
crtc.set_show_border_area(false);
crtc.set_char_width(8);
crtc.out_vsync_callback().set_inputline(m_maincpu, 0);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER); // TODO: everything
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(40*8, 32*8);
m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
m_screen->set_screen_update(FUNC(es8906_state::screen_update));
m_screen->set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_es8906);
PALETTE(config, "palette", palette_device::RGB_444_PROMS, "proms", 256); // TODO
SPEAKER(config, "speaker").front_center();
ES8712(config, "essnd", 0);
}
ROM_START( dream9 ) // (C)1989 EXCELLENT SYSTEM SUPER 9 Ver1.52 PROGRAM by KAY/AMTECH Feb,6 1990, but pics show "Dream 9"
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "d5-00_excellent.3h", 0x00000, 0x10000, CRC(7c0ad390) SHA1(b173f7d4521a4bea4246b988e6b4fce179ac12bc) )
ROM_REGION( 0x20000, "tiles1", 0 ) // all labels have "エクセレント システム" (means "Excellent System") before what's below
ROM_LOAD( "9l.9l", 0x00000, 0x10000, CRC(63692c62) SHA1(ef06ffe4204b0c1e40f9685b62f403b94a9b6693) )
ROM_LOAD( "11l.11l", 0x10000, 0x10000, CRC(9251d1a6) SHA1(ccce3240d825e7611a4e4412b4f37710d0957179) )
ROM_REGION( 0x20000, "tiles2", 0 ) // idem
ROM_LOAD( "12l.12l", 0x00000, 0x10000, CRC(25395909) SHA1(d5e8caac642847450896a855e293431ad6620a77) )
ROM_LOAD( "14l.14l", 0x10000, 0x10000, CRC(45757954) SHA1(bda96f437e5b65058e2f068b73998bad4b0bd5a3) )
ROM_REGION( 0x300, "proms", 0 )
ROM_LOAD( "r.11b", 0x0000, 0x0100, CRC(b41df116) SHA1(5cae3e6c70775ad63bccbfc4847b4feee5b79ddf) )
ROM_LOAD( "g.12b", 0x0100, 0x0100, CRC(70ac57cd) SHA1(fe238c363f09f20cdc1c6f7f6279201671664750) )
ROM_LOAD( "b.13b", 0x0200, 0x0100, CRC(99458711) SHA1(0be119f928b9085e36056b9b6b7e8623765eef44) )
ROM_END
} // anonymous namespace
GAME( 1990, dream9, 0, es8906, dream9, es8906_state, empty_init, ROT0, "Excellent System", "Dream 9 (v1.52)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING )

View File

@ -17580,6 +17580,7 @@ jongtei // "532" Mahjong Jong-Tei (C) 1999 Dynax
jongteia // Mahjong Jong-Tei (C) 2000 Techno-Top
kotbinsp // "909" 1997 Dynax / Shinwhajin
kotbinyo // 1997 Dynax / Shinwhajin
kotbinyosu // 1997 Dynax / Shinwhajin
mjchuuka // "121" (c) 1998 Dynax
mjdchuka // "111" (c) 1995 Nakanihon
mjflove // "500" (c) 1996 Dynax
@ -17984,6 +17985,9 @@ rpanic // (c) 1992 Excellent System / Jaleco
@source:excellent/dblcrown.cpp
dblcrown // (c) 1994 Excellent System
@source:excellent/es8906.cpp
dream9
@source:excellent/es9501.cpp
d9flower
specd9
@ -29467,6 +29471,7 @@ castrev // Revolution
@source:misc/cb2001.cpp
cb2001 // (c) 2000 Dyna Electronics
cb4 // (c) 1997 Dyna Electronics
cb4a // (c) 1997 Dyna Electronics
cb5 // (c) 1997 Dyna Electronics
cb5_11 // (c) 1997 Dyna Electronics
crzybell // (c) 1995 Dyna Electronics
@ -32180,6 +32185,7 @@ fb2ndv1 // (c) 2004 Amcoe
fb2ndv2 // (c) 2004 Amcoe
fb3g // (c) 200? Amcoe - Fruit Bonus 3G
fb4 // (c) 2004 Amcoe - Fruit Bonus 2004
fb4_14 // (c) 2004 Amcoe
fb4b2 // (c) 2004 Amcoe
fb4c1 // (c) 2004 Amcoe
fb4c2 // (c) 2004 Amcoe
@ -41840,6 +41846,7 @@ rezon // (c) 1992 Allumer
rezono // (c) 1991 Allumer
setaroul // UF (c) 1989? Visco
setaroula // hack (CODERE)
setaroulm // UF (c) 1989? Visco
simpsonjr // bootleg of J. J. Squawkers by Daigom
sokonuke // (c) 1995 Sammy Industries
stg // (c) 1991 Athena / Tecmo

View File

@ -7,7 +7,7 @@ This driver covers Dyna games running on the DYNA CPU91A-011 custom CPU.
It is an encrypted NEC V25 or V35.
It has been seen on the following PCBs:
D9203
D9205 (sub PCB)
D9205 or D9205B (sub PCB)
D9304
D9401
D9701 (sub PCB)
@ -1597,7 +1597,7 @@ ROM_END
ROM_START( cb4 ) // Wing W4 board + DYNA D9205 subboard; DYNA CB4 V5.0 in bookkeeping screen.
ROM_REGION16_LE( 0x040000, "boot_prg", 0 )
ROM_LOAD16_WORD( "5mk.2g", 0x020000, 0x10000, CRC(ecc6f80e) SHA1(b6de63cd5231ef9481ee79d841a6ea591add7e4d) )
ROM_LOAD16_WORD( "5mk.2g", 0x20000, 0x10000, CRC(ecc6f80e) SHA1(b6de63cd5231ef9481ee79d841a6ea591add7e4d) )
ROM_RELOAD( 0x30000, 0x10000)
ROM_REGION( 0x100000, "gfx", 0 )
@ -1609,6 +1609,20 @@ ROM_START( cb4 ) // Wing W4 board + DYNA D9205 subboard; DYNA CB4 V5.0 in bookke
ROM_LOAD( "82s147.11b", 0x200, 0x200, BAD_DUMP CRC(a67e7a63) SHA1(b23e0eb9af13e57bbc8602ddc7fb381ba5c8267e) )
ROM_END
ROM_START( cb4a ) // DYNA D9300 + DYNA D9205 subboard; DYNA CB4T V1.2 in bookkeeping screen.
ROM_REGION16_LE( 0x040000, "boot_prg", 0 )
ROM_LOAD16_WORD( "12fb.2g", 0x20000, 0x10000, CRC(2d0e519a) SHA1(a538e3003d8a008dd45ea9fd10b249744b87f3a6) )
ROM_RELOAD( 0x30000, 0x10000)
ROM_REGION( 0x100000, "gfx", 0 ) // not dumped for this set
ROM_LOAD16_BYTE( "cb4.4i", 0x000000, 0x040000, BAD_DUMP CRC(c1799150) SHA1(50e80607b93f6ee35e3e8ff5d854dc83afe76505) )
ROM_LOAD16_BYTE( "cb4.4j", 0x000001, 0x040000, BAD_DUMP CRC(3a12cf69) SHA1(232eeca78cdabcd952825aba0ad397e3dde79747) )
ROM_REGION( 0x400, "proms", 0 ) // not dumped yet
ROM_LOAD( "82s147.9b", 0x000, 0x200, BAD_DUMP CRC(dcf976d2) SHA1(73a08e4587f3516d694a8060b79470cf71df3925) )
ROM_LOAD( "82s147.11b", 0x200, 0x200, BAD_DUMP CRC(a67e7a63) SHA1(b23e0eb9af13e57bbc8602ddc7fb381ba5c8267e) )
ROM_END
ROM_START( cb5 ) // Wing W4 board + DYNA D9701 subboard; DYNA CB5 V1.3 in bookkeeping screen. Appears to be the missing link to igs/goldstar.cpp hw.
ROM_REGION16_LE( 0x040000, "boot_prg", 0 )
ROM_LOAD16_WORD( "cb5-131.1g", 0x020000, 0x20000, CRC(7d47192c) SHA1(bc65f0b3223789fbcd78a7f3ba4f1c0e2a1ee4da) )
@ -1767,6 +1781,7 @@ GAME( 1993, scherrym12 , scherrym, scherrym, cb2001, cb2001_state, init_sm
GAME( 1997, scherrymp, 0, scherrymp, scherrymp, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Super Cherry Master Plus (V1.6)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1997, scherrymp10u, scherrymp, scherrymp, scherrymp, cb2001_state, empty_init, ROT0, "Dyna", "Super Cherry Master Plus (V1.0U)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1993, cb4, 0, cb5, cb5, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus IV (V5.0)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1993, cb4a, cb4, cb5, cb5, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus IV (V1.2)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1997, cb5, 0, cb5, cb5, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Cherry Bonus V Five (V1.3)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1997, cb5_11, cb5, cb5, cb5, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Cherry Bonus V Five (V1.1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1998, mystjb, 0, scherrymp, scherrymp, cb2001_state, init_smaller_proms, ROT0, "Dyna", "Mystery J & B (V1.3G)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )

View File

@ -3699,6 +3699,25 @@ ROM_START( fb4d2 )
ROM_LOAD( "fb415lt.id", 0x00, 0x20, CRC(f44d3e8c) SHA1(af462959a37c271c840324d74b2619691fadf8bd) )
ROM_END
ROM_START( fb4_14 )
ROM_REGION( 0x80000, "maincpu", 0 ) /* Z80 Code */
ROM_LOAD( "rom1.bin", 0x00000, 0x40000, CRC(166fc16c) SHA1(aa571cf010a308c9f615df3aa11c956ee246dc6a) )
ROM_REGION( 0x040000, "oki", ROMREGION_ERASE00 ) /* Samples */
ROM_LOAD( "rom2.bin", 0x00000, 0x40000, CRC(f0bfb08e) SHA1(521a277bd0445d677afe33ec245b2b3f501771d0) )
ROM_REGION( 0x100000, "gfx1", 0 )
ROM_LOAD16_BYTE( "rom3.bin", 0x00000, 0x80000, CRC(4176937d) SHA1(dbde944a154f648a86628a8165fa27032115c417) )
ROM_LOAD16_BYTE( "rom4.bin", 0x00001, 0x80000, CRC(f8c57041) SHA1(ca8f58e89d31563b363a78db89e2711402f3ba80) )
ROM_REGION( 0x100000, "gfx2", 0 )
ROM_LOAD16_BYTE( "rom5.bin", 0x00000, 0x80000, CRC(41ad506c) SHA1(19086ab859a60e5127af0e51381cbb9fda6de74a) )
ROM_LOAD16_BYTE( "rom6.bin", 0x00001, 0x80000, CRC(f6c07f3d) SHA1(709fe2a443fdd32a3f9ab9161d5321a01c0119bb) )
ROM_REGION( 0x1000, "nvram", ROMREGION_ERASE00 ) /* default settings */
ROM_LOAD( "fb415lt.id", 0x00, 0x20, CRC(1e27e3e1) SHA1(c2111ed7b3afa24457bca3fa4a4bc5947113b370) )
ROM_END
ROM_START( fb4v1 )
ROM_REGION( 0x80000, "maincpu", 0 ) /* Z80 Code */
ROM_LOAD( "fb4v15r.bin", 0x00000, 0x40000, CRC(891f119f) SHA1(1823826cd958a951a930b9a1a23f7cf092ed6ab2) )
@ -5853,7 +5872,7 @@ void sfbonus_state::sfbonus_bitswap(
void sfbonus_state::init_abnudge() { sfbonus_bitswap( 0x33, 0,3,7,6,5,2,1,4, 0xff, 3,7,6,5,1,0,4,2, 0x36, 4,2,3,7,6,5,1,0, 0xa8, 3,2,4,0,1,7,6,5, 0x2c, 0,1,7,6,5,2,4,3, 0xff, 3,7,6,5,1,0,4,2, 0x26, 2,4,3,7,6,5,1,0, 0xbe, 4,1,3,0,2,7,6,5); }
void sfbonus_state::init_abnudged() { sfbonus_bitswap( 0x3b, 0,1,7,6,5,4,3,2, 0xef, 0,7,6,5,4,3,2,1, 0x21, 0,2,1,7,6,5,4,3, 0xa9, 4,3,0,1,2,7,6,5, 0x3d, 2,1,7,6,5,4,3,0, 0xed, 2,7,6,5,4,3,1,0, 0x21, 0,2,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5); }
void sfbonus_state::init_abnudgev() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 0,1,7,6,5,4,3,2, 0xee, 1,7,6,5,4,3,0,2, 0x25, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
void sfbonus_state::init_act2000() { sfbonus_bitswap( 0x25, 1,2,7,6,5,4,3,0, 0xE6, 1,7,6,5,4,3,0,2, 0x20, 2,4,1,7,6,5,0,3, 0xBF, 0,3,1,2,4,7,6,5, 0x2E, 1,3,7,6,5,2,0,4, 0xE0, 3,7,6,5,2,0,4,1, 0x2D, 4,1,2,7,6,5,0,3, 0xB2, 2,0,4,1,3,7,6,5); }
void sfbonus_state::init_act2000() { sfbonus_bitswap( 0x25, 1,2,7,6,5,4,3,0, 0xe6, 1,7,6,5,4,3,0,2, 0x20, 2,4,1,7,6,5,0,3, 0xbf, 0,3,1,2,4,7,6,5, 0x2e, 1,3,7,6,5,2,0,4, 0xe0, 3,7,6,5,2,0,4,1, 0x2d, 4,1,2,7,6,5,0,3, 0xb2, 2,0,4,1,3,7,6,5); }
void sfbonus_state::init_act2000d() { sfbonus_bitswap( 0x3d, 0,2,7,6,5,4,3,1, 0xef, 1,7,6,5,4,3,2,0, 0x27, 0,2,1,7,6,5,4,3, 0xad, 4,3,0,1,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xaa, 4,3,1,2,0,7,6,5); }
void sfbonus_state::init_act2000v() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x23, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3b, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
void sfbonus_state::init_act2000v2() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x21, 2,1,0,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 0,1,7,6,5,4,3,2, 0xe9, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
@ -5879,7 +5898,7 @@ void sfbonus_state::init_classiced() { sfbonus_bitswap( 0x38, 0,2,7,6,5,4
void sfbonus_state::init_classiced3() { sfbonus_bitswap( 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x24, 2,1,0,7,6,5,4,3, 0xaa, 4,3,2,0,1,7,6,5, 0x3e, 1,0,7,6,5,4,3,2, 0xe8, 0,7,6,5,4,3,1,2, 0x24, 2,1,0,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5); }
void sfbonus_state::init_classicev() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3a, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
void sfbonus_state::init_classicev3() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 2,1,7,6,5,4,3,0, 0xe9, 2,7,6,5,4,3,1,0, 0x22, 2,1,0,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
void sfbonus_state::init_dblchal() { sfbonus_bitswap( 0x3D, 0,3,7,6,5,2,1,4, 0xF3, 3,7,6,5,1,0,4,2, 0x3D, 2,0,1,7,6,5,3,4, 0xA8, 3,4,2,0,1,7,6,5, 0x3D, 2,3,7,6,5,1,0,4, 0xEF, 2,7,6,5,1,0,3,4, 0x3A, 4,2,3,7,6,5,1,0, 0xBA, 2,4,1,0,3,7,6,5); }
void sfbonus_state::init_dblchal() { sfbonus_bitswap( 0x3d, 0,3,7,6,5,2,1,4, 0xf3, 3,7,6,5,1,0,4,2, 0x3d, 2,0,1,7,6,5,3,4, 0xa8, 3,4,2,0,1,7,6,5, 0x3d, 2,3,7,6,5,1,0,4, 0xef, 2,7,6,5,1,0,3,4, 0x3a, 4,2,3,7,6,5,1,0, 0xba, 2,4,1,0,3,7,6,5); }
void sfbonus_state::init_dblchald() { sfbonus_bitswap( 0x3c, 0,1,7,6,5,4,3,2, 0xed, 0,7,6,5,4,3,2,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,0,2,7,6,5, 0x3b, 2,1,7,6,5,4,3,0, 0xea, 2,7,6,5,4,3,0,1, 0x27, 0,2,1,7,6,5,4,3, 0xae, 4,3,1,2,0,7,6,5); }
void sfbonus_state::init_dblchalv() { sfbonus_bitswap( 0x39, 1,2,7,6,5,4,3,0, 0xef, 2,7,6,5,4,3,0,1, 0x22, 2,0,1,7,6,5,4,3, 0xa8, 4,3,1,2,0,7,6,5, 0x3f, 1,0,7,6,5,4,3,2, 0xec, 1,7,6,5,4,3,0,2, 0x21, 1,0,2,7,6,5,4,3, 0xac, 4,3,0,1,2,7,6,5); }
void sfbonus_state::init_fb2gen() { sfbonus_bitswap( 0x35, 0,3,7,6,5,2,1,4, 0xe8, 2,7,6,5,4,3,1,0, 0x23, 4,3,2,7,6,5,1,0, 0xb8, 2,1,4,0,3,7,6,5, 0x2d, 0,1,7,6,5,4,2,3, 0xf8, 2,7,6,5,1,4,3,0, 0x23, 4,0,3,7,6,5,2,1, 0xb8, 2,1,4,0,3,7,6,5); }
@ -6118,6 +6137,7 @@ GAME( 2004, fb4b2, fb4, sfbonus, amcoe2_reels3, sfbonus_state, init_f
GAME( 2004, fb4c2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, init_fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, fb4d2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, init_fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 3)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, fb4v2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, init_fb4v, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT Dual)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, fb4_14, fb4, sfbonus, amcoe1_reels3, sfbonus_state, init_fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.4)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, fb4o, fb4, sfbonus, amcoe2_reels3, sfbonus_state, init_fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.3XT)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, fb4o2, fb4, sfbonus, amcoe2_reels3, sfbonus_state, init_fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.2)", MACHINE_SUPPORTS_SAVE )

View File

@ -418,17 +418,14 @@ ROM_END
ROM_START( sshota )
ROM_REGION( 0x2000, "maincpu", 0 )
ROM_LOAD( "ss_1.a6", 0x0000, 0x0400, CRC(45572eac) SHA1(17f59d651793fbfb1359327f85bf32e25c29e43d) )
ROM_LOAD( "ss_1.a6", 0x0000, 0x0400, CRC(ec1cbcd0) SHA1(6e4bcc7e83b1237a25f830b96c0bcb76b876ace4) )
ROM_LOAD( "ss_2.a7", 0x0400, 0x0400, CRC(2d63c338) SHA1(3b082ddd8dc42d68805c0a5d24e1eca3ad808f5c) )
ROM_LOAD( "ss_3.a9", 0x0800, 0x0400, CRC(79aae3e3) SHA1(7d9132b1a5663e118587bcebe9b467badaf51be5) )
ROM_LOAD( "ss_4.a10", 0x0c00, 0x0400, BAD_DUMP CRC(b7f6f5e8) SHA1(d02a84360ca746c1cc0d55198bfbff5a41183911) )
ROM_LOAD( "ss_4.a10", 0x0c00, 0x0400, CRC(3d4fbcbf) SHA1(a7d05fa2c65ce2f4f2d732f562f3b8b0effc6de7) )
ROM_LOAD( "ss_5.a11", 0x1000, 0x0400, CRC(d4f71cd9) SHA1(aab7e33c51e180c2486c59758105359d15e73a1e) )
ROM_LOAD( "ss_6.a12", 0x1400, 0x0400, CRC(9d2f087e) SHA1(9c64d6a872395f6097db740199a30bcbc803ac16) )
ROM_LOAD( "ss_7.a13", 0x1800, 0x0400, CRC(20185164) SHA1(b7ada6150a05539e9a788e6e28786a9a6832744a) )
ROM_LOAD( "ss_8.a15", 0x1c00, 0x0400, CRC(95a01a0e) SHA1(72c233bb94a45780fa061c603eedde9cd7df3998) )
// This seems a problem in the dump (it's 00 - HALT - here while it's 0xc4 - LDI - in the other set).
// This causes the game to hang when pressing start. Routine is otherwise identical to the other set.
ROM_FILL( 0x0c00, 0x0001, 0xc4 )
ROM_REGION( 0x0800, "gfx", 0 )
ROM_LOAD( "ss_a.b9", 0x0000, 0x0400, CRC(ad3413e0) SHA1(ea4c2728755fe52a00fdceddca0b641965045005) )

View File

@ -161,7 +161,7 @@
/*
* The noice generator consists of three LS164 8+8+8
* The noise generator consists of three LS164 8+8+8
* the output signal is taken after the xor, so
* taking bit 0 is not exact
*/

View File

@ -1551,6 +1551,7 @@ public:
{ }
void setaroul(machine_config &config);
void setaroulm(machine_config &config);
DECLARE_INPUT_CHANGED_MEMBER(coin_drop_start);
ioport_value coin_sensors_r();
@ -1582,7 +1583,7 @@ private:
void setaroul_palette(palette_device &palette) const;
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
template <uint8_t Irq1, uint8_t Irq2> TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
void setaroul_map(address_map &map) ATTR_COLD;
@ -4664,6 +4665,15 @@ static INPUT_PORTS_START( setaroul )
PORT_DIPSETTING( 0x00, "Active High" )
INPUT_PORTS_END
static INPUT_PORTS_START( setaroulm )
PORT_INCLUDE( setaroul )
PORT_MODIFY("DSW2-B")
PORT_DIPNAME( 0x01, 0x01, "Show Reels" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
/***************************************************************************
Eight Force
@ -7764,15 +7774,16 @@ void seta_state::qzkklgy2(machine_config &config)
The Roulette
***************************************************************************/
template <uint8_t Irq1, uint8_t Irq2>
TIMER_DEVICE_CALLBACK_MEMBER(setaroul_state::interrupt)
{
int scanline = param;
if ((scanline % 32) == 0) // every 2ms?
m_maincpu->set_input_line(2, HOLD_LINE); // read 1 board column (out of 26) every other call
m_maincpu->set_input_line(Irq1, HOLD_LINE); // read 1 board column (out of 26) every other call
if (scanline == 248)
m_maincpu->set_input_line(4, HOLD_LINE); // vblank
m_maincpu->set_input_line(Irq2, HOLD_LINE); // vblank
// lev 6: RS232
}
@ -7782,7 +7793,7 @@ void setaroul_state::setaroul(machine_config &config)
// basic machine hardware
M68000(config, m_maincpu, 16_MHz_XTAL / 2); // 8 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &setaroul_state::setaroul_map);
TIMER(config, "scantimer").configure_scanline(FUNC(setaroul_state::interrupt), "screen", 0, 1);
TIMER(config, "scantimer").configure_scanline(*this, NAME((&setaroul_state::interrupt<2, 4>)), "screen", 0, 1);
WATCHDOG_TIMER(config, m_watchdog);
@ -7827,6 +7838,13 @@ void setaroul_state::setaroul(machine_config &config)
config.set_default_layout(layout_setaroul);
}
void setaroul_state::setaroulm(machine_config &config)
{
setaroul(config);
TIMER(config.replace(), "scantimer").configure_scanline(*this, NAME((&setaroul_state::interrupt<5, 4>)), "screen", 0, 1);
}
/***************************************************************************
Eight Force
@ -11173,6 +11191,35 @@ ROM_START( setaroula )
ROM_LOAD16_BYTE( "uf0-018.u51", 0x001, 0x200, CRC(1c584d5f) SHA1(f1c7e3da8b108d78b459cae53fabb6e28d3a7ee8) )
ROM_END
ROM_START( setaroulm )
ROM_REGION( 0x0c0000, "maincpu", 0 ) // 68000 Code
ROM_LOAD16_BYTE( "uf011.002.5a", 0x000000, 0x010000, CRC(285f41ba) SHA1(b5ff09cae1e178526145f113cc3c85892e35ec34) )
ROM_LOAD16_BYTE( "uf011.003.7a", 0x000001, 0x010000, CRC(2ab925b0) SHA1(f02de8a6643330c833027dd99006ac2d5d07e2f0) )
ROM_REGION( 0x020000, "gfx1", 0 ) // Sprites
ROM_LOAD16_BYTE( "uf1.005.1j", 0x010001, 0x008000, CRC(12ee9729) SHA1(29f621811d52413ae37137035ad687fabfe9e56e) )
ROM_LOAD16_BYTE( "uf1.006.1l", 0x010000, 0x008000, CRC(5eb35519) SHA1(1af240ae725102f310a101829539d1ca5323e96c) )
ROM_LOAD16_BYTE( "uf1.007.1n", 0x000001, 0x008000, CRC(b287ddcf) SHA1(70d291fcb6a60be2c45e6ad61f1c3922d45ef7e0) )
ROM_LOAD16_BYTE( "uf1.008.1r", 0x000000, 0x008000, CRC(6de9a30b) SHA1(308468079b535d1b0ca437251c3135d7f0c91dce) )
ROM_REGION( 0x400000, "gfx2", 0 ) // Layer 1 - 8bpp, not dumped for this set, but MASK ROM codes match
ROM_LOAD32_BYTE( "uf0-010.u15", 0x000000, 0x080000, CRC(0af13a56) SHA1(c294b7947d004c0e0b280ca44636e4059e05a57e) )
ROM_LOAD32_BYTE( "uf0-012.u29", 0x000001, 0x080000, CRC(cba2a6b7) SHA1(8627eda24c6980a0e786fd9dc06176893a33c58f) )
ROM_LOAD32_BYTE( "uf0-014.u38", 0x000002, 0x080000, CRC(da2bd4e4) SHA1(244af8705f2fa4ab3f3a002af16a0e4d60e03de8) )
ROM_LOAD32_BYTE( "uf0-015.u40", 0x000003, 0x080000, CRC(11dc19fa) SHA1(e7084f61d075a61249d924a523c32e7993d9ae46) )
ROM_LOAD32_BYTE( "uf0-009.u13", 0x200000, 0x080000, CRC(20f2d7f5) SHA1(343a8fac76d6ee7f845f9988c491698ebd0150d4) )
ROM_LOAD32_BYTE( "uf0-011.u22", 0x200001, 0x080000, CRC(af60adf9) SHA1(6505cbce6e066d75b779fdbe2c034ba4daabbefe) )
ROM_LOAD32_BYTE( "uf0-013.u37", 0x200002, 0x080000, CRC(645ec3c3) SHA1(e9b8056c68bf33b0b7130a5ce2bafd11dfd6c29b) )
ROM_LOAD32_BYTE( "uf0-016.u48", 0x200003, 0x080000, CRC(10f99fa8) SHA1(7ef9a3f71dd071483cf3513ef57e2fcfe8702994) )
ROM_REGION( 0x100000, "x1snd", ROMREGION_ERASE00 ) // Samples
ROM_LOAD( "uf1-004.14a", 0x040000, 0x020000, CRC(d63ea334) SHA1(93aaf58c90c4f704caae19b63785e471b2c1281a) ) // 1xxxxxxxxxxxxxxxx = 0xFF, possibly bad
ROM_REGION( 0x400, "proms", 0 ) // not dumped for this set, but stickers match
ROM_LOAD16_BYTE( "uf0-017.u50", 0x000, 0x200, CRC(bf50c303) SHA1(31685ed4849e5c27654f02945678db425d54bf5e) )
ROM_LOAD16_BYTE( "uf0-018.u51", 0x001, 0x200, CRC(1c584d5f) SHA1(f1c7e3da8b108d78b459cae53fabb6e28d3a7ee8) )
ROM_END
void seta_state::init_bankx1()
{
@ -11237,6 +11284,7 @@ void jockeyc_state::init_inttoote()
GAME( 1989?, setaroul, 0, setaroul, setaroul, setaroul_state, empty_init, ROT270, "Visco", "The Roulette (Visco)", 0 )
GAME( 1989?, setaroula, setaroul, setaroul, setaroul, setaroul_state, empty_init, ROT270, "hack (CODERE)", "Super Ruleta 36 (Spanish hack of The Roulette)", 0 )
GAME( 1989?, setaroulm, setaroul, setaroulm, setaroulm, setaroul_state, empty_init, ROT270, "Visco", "The Roulette (Visco, medal)", MACHINE_NOT_WORKING ) // check if game plays correctly, I/O..
GAME( 1989, drgnunit, 0, drgnunit, drgnunit, seta_state, empty_init, ROT0, "Athena / Seta", "Dragon Unit / Castle of Dragon", 0 ) // Country/License: DSW

View File

@ -46,7 +46,7 @@ static const discrete_dac_r1_ladder spiders_sound_dac =
0 // no cap
};
/* The noice generator consists of two LS164 plus a LS74, so the length is 8+8+1 */
/* The noise generator consists of two LS164 plus a LS74, so the length is 8+8+1 */
static const discrete_lfsr_desc spiders_lfsr =
{
DISC_CLK_IS_FREQ,