mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New working systems
------------------- Aka Mahjong (Double Bet) [Hammy] New systems marked not working ------------------------------ Double 8 Lines [Ioannis Bampoulas] Super Cherry Master Plus [Ioannis Bampoulas] New clones marked not working ----------------------------- Turbo PK (Ver 2.3B2, encrypted) [Hammy]
This commit is contained in:
parent
4d06a147d7
commit
b2f608fe69
@ -4469,6 +4469,19 @@ ROM_START( ippatsu )
|
||||
ROM_LOAD( "82s123an", 0x00, 0x20, CRC(3bde1bbd) SHA1(729498483943f960e38c4ada992b099b698b497a) )
|
||||
ROM_END
|
||||
|
||||
// has NEW DOUBLE BET MOJHONG (sic) in ROM but title screen shows 赤麻雀 (Red Mahjong)
|
||||
ROM_START( akamj )
|
||||
ROM_REGION( 0x18000, "maincpu", 0 )
|
||||
ROM_LOAD( "b3.bin", 0x00000, 0x8000, CRC(fb2e5a3e) SHA1(6a06b36dd3baa4c0aba339aaf2e00d82d08cbb22) )
|
||||
ROM_LOAD( "bc2.bin", 0x08000, 0x8000, CRC(38d2aa91) SHA1(b0469803265c6359dc5680e669324a41b84548d7) )
|
||||
ROM_LOAD( "bc1.bin", 0x10000, 0x8000, CRC(38d2aa91) SHA1(b0469803265c6359dc5680e669324a41b84548d7) ) // yes, same ROM 2 times
|
||||
|
||||
ROM_REGION( 0x20, "proms", 0 )
|
||||
// taken from Royal Mahjong, might or might not be the same.
|
||||
ROM_LOAD( "82s123.prm", 0x00, 0x20, BAD_DUMP CRC(d3007282) SHA1(e4d863ab193e49208ed0f59dcddb1da0492314f6) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( suzume )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD( "p1.bin", 0x00000, 0x1000, CRC(e9706967) SHA1(2e3d78178623de6552c9036da90e02f240d94055) )
|
||||
@ -6181,7 +6194,8 @@ GAME( 1984?, chalgirl, 0, chalgirl, royalmah, royalmah_prgbank_state, ini
|
||||
GAME( 1983, seljan, 0, seljan, seljan, royalmah_state, empty_init, ROT0, "Jem / Dyna Corp", "Sel-Jan (Japan)", 0 )
|
||||
GAME( 1983, janyoup2, royalmj, janyoup2, janyoup2, royalmah_state, empty_init, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 )
|
||||
GAME( 1985, tahjong, royalmj, tahjong, tahjong, royalmah_prgbank_state, init_tahjong, ROT0, "Bally Pond / Nasco", "Tahjong Yakitori (ver. 2-1)", 0 ) // 1985 Jun. 17
|
||||
GAME( 1981, janputer, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Mes)", "New Double Bet Mahjong (bootleg of Royal Mahjong)", 0 ) // MT #05392
|
||||
GAME( 1981, janputer, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd. / Mes)", "New Double Bet Mahjong (bootleg of Royal Mahjong", 0 ) // MT #05392
|
||||
GAME( 1981, akamj, 0, ippatsu, ippatsu, royalmah_state, empty_init, ROT0, "bootleg (Paradise Denshi Ltd.)", "Aka Mahjong (Double Bet)", 0 )
|
||||
GAME( 1984, rkjanoh2, 0, rkjanoh2, royalmah, royalmah_prgbank_state, init_chalgirl, ROT0, "SNK / Dyna Corp", "Royal King Jang Oh 2 (v4.00 1984 Jun 10th)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING ) // never seems to set the palette bank?
|
||||
GAME( 1984, janoh, 0, janoh, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 1)", MACHINE_NOT_WORKING )
|
||||
GAME( 1984, janoha, janoh, janoha, royalmah, royalmah_state, empty_init, ROT0, "Toaplan", "Jan Oh (set 2)", MACHINE_NOT_WORKING ) // this one is complete?
|
||||
|
@ -1,5 +1,6 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Mirko Buffoni, David Haywood
|
||||
// copyright-holders: Mirko Buffoni, David Haywood
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Cabaret (AMT)
|
||||
@ -15,6 +16,8 @@ TODO:
|
||||
- Remove patches after finding why there are so many pitfalls. Maybe the
|
||||
game expects to read inputs via an external device and expects certain
|
||||
timings
|
||||
- Trojan out internal ROMs for kungfua and double8l
|
||||
- kungfua and double8l have 5 8-DIP banks (sheets available for double8l)
|
||||
|
||||
Press F1+F2 during reset to see 'pork*ish' test mode :P
|
||||
|
||||
@ -24,9 +27,11 @@ are the same of IGS. AMT may be previous IGS name.
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/z180/z180.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "sound/ymopl.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
@ -40,16 +45,45 @@ class cabaret_state : public driver_device
|
||||
public:
|
||||
cabaret_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
, m_palette(*this, "palette")
|
||||
, m_fg_tile_ram(*this, "fg_tile_ram")
|
||||
, m_fg_color_ram(*this, "fg_color_ram")
|
||||
, m_bg_scroll(*this, "bg_scroll")
|
||||
, m_bg_tile_ram(*this, "bg_tile_ram")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
, m_palette(*this, "palette")
|
||||
, m_led(*this, "led6")
|
||||
{ }
|
||||
|
||||
void cabaret(machine_config &config);
|
||||
|
||||
void init_cabaret();
|
||||
void init_double8l();
|
||||
void init_kungfua();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override { m_led.resolve(); }
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<uint8_t> m_fg_tile_ram;
|
||||
required_shared_ptr<uint8_t> m_fg_color_ram;
|
||||
required_shared_ptr<uint8_t> m_bg_scroll;
|
||||
required_shared_ptr<uint8_t> m_bg_tile_ram;
|
||||
|
||||
output_finder<> m_led;
|
||||
|
||||
tilemap_t *m_bg_tilemap = nullptr;
|
||||
tilemap_t *m_fg_tilemap = nullptr;
|
||||
|
||||
uint8_t m_nmi_enable = 0;
|
||||
uint8_t m_out[3]{};
|
||||
|
||||
void bg_scroll_w(offs_t offset, uint8_t data);
|
||||
void bg_tile_w(offs_t offset, uint8_t data);
|
||||
void fg_tile_w(offs_t offset, uint8_t data);
|
||||
@ -58,43 +92,22 @@ public:
|
||||
void ppi2_b_w(uint8_t data);
|
||||
void ppi2_c_w(uint8_t data);
|
||||
void show_out();
|
||||
void init_cabaret();
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
uint32_t screen_update_cabaret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(cabaret_interrupt);
|
||||
void cabaret(machine_config &config);
|
||||
void cabaret_map(address_map &map);
|
||||
void cabaret_portmap(address_map &map);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
INTERRUPT_GEN_MEMBER(interrupt_cb);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override { m_led.resolve(); }
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
required_shared_ptr<uint8_t> m_fg_tile_ram;
|
||||
required_shared_ptr<uint8_t> m_fg_color_ram;
|
||||
required_shared_ptr<uint8_t> m_bg_scroll;
|
||||
required_shared_ptr<uint8_t> m_bg_tile_ram;
|
||||
tilemap_t *m_bg_tilemap = nullptr;
|
||||
tilemap_t *m_fg_tilemap = nullptr;
|
||||
int m_nmi_enable = 0;
|
||||
uint8_t m_out[3]{};
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
output_finder<> m_led;
|
||||
void program_map(address_map &map);
|
||||
void port_map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Video Hardware
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
void cabaret_state::bg_scroll_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
m_bg_scroll[offset] = data;
|
||||
@ -109,14 +122,14 @@ void cabaret_state::bg_tile_w(offs_t offset, uint8_t data)
|
||||
|
||||
TILE_GET_INFO_MEMBER(cabaret_state::get_bg_tile_info)
|
||||
{
|
||||
int code = m_bg_tile_ram[tile_index];
|
||||
int const code = m_bg_tile_ram[tile_index];
|
||||
tileinfo.set(1, code & 0xff, 0, 0);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(cabaret_state::get_fg_tile_info)
|
||||
{
|
||||
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
int tile = code & 0x1fff;
|
||||
int const code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
|
||||
int const tile = code & 0x1fff;
|
||||
tileinfo.set(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
|
||||
}
|
||||
|
||||
@ -134,14 +147,14 @@ void cabaret_state::fg_color_w(offs_t offset, uint8_t data)
|
||||
|
||||
void cabaret_state::video_start()
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cabaret_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cabaret_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cabaret_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
|
||||
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(cabaret_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
|
||||
m_fg_tilemap->set_transparent_pen(0);
|
||||
m_bg_tilemap->set_scroll_cols(64);
|
||||
}
|
||||
|
||||
|
||||
uint32_t cabaret_state::screen_update_cabaret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
uint32_t cabaret_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
bitmap.fill(m_palette->black_pen(), cliprect);
|
||||
|
||||
@ -169,14 +182,14 @@ void cabaret_state::nmi_and_coins_w(uint8_t data)
|
||||
{
|
||||
if ((m_nmi_enable ^ data) & (~0xdd))
|
||||
{
|
||||
logerror("PC %06X: nmi_and_coins = %02x\n",m_maincpu->pc(),data);
|
||||
logerror("PC %06X: nmi_and_coins = %02x\n", m_maincpu->pc(), data);
|
||||
// popmessage("%02x",data);
|
||||
}
|
||||
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x01); // coin_a
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x04); // coin_c
|
||||
machine().bookkeeping().coin_counter_w(2, data & 0x08); // key in
|
||||
machine().bookkeeping().coin_counter_w(3, data & 0x10); // coin m_out mech
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x01); // coin_a
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x04); // coin_c
|
||||
machine().bookkeeping().coin_counter_w(2, data & 0x08); // key in
|
||||
machine().bookkeeping().coin_counter_w(3, data & 0x10); // coin m_out mech
|
||||
|
||||
m_led = BIT(data, 6); // led for coin m_out / hopper active
|
||||
|
||||
@ -200,13 +213,13 @@ void cabaret_state::ppi2_c_w(uint8_t data)
|
||||
|
||||
|
||||
|
||||
void cabaret_state::cabaret_map(address_map &map)
|
||||
void cabaret_state::program_map(address_map &map)
|
||||
{
|
||||
map(0x00000, 0x0efff).rom();
|
||||
map(0x0f000, 0x0ffff).ram();
|
||||
}
|
||||
|
||||
void cabaret_state::cabaret_portmap(address_map &map)
|
||||
void cabaret_state::port_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x003f).ram(); // Z180 internal regs
|
||||
|
||||
@ -214,20 +227,20 @@ void cabaret_state::cabaret_portmap(address_map &map)
|
||||
map(0x0090, 0x0093).rw("ppi2", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0x00a0, 0x00a3).rw("ppi3", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
|
||||
map(0x00b0, 0x00b0).portr("DSW3"); /* DSW3 */
|
||||
map(0x00b0, 0x00b0).portr("DSW3");
|
||||
|
||||
map(0x00e0, 0x00e1).w("ymsnd", FUNC(ym2413_device::write));
|
||||
|
||||
map(0x2000, 0x27ff).ram().w(FUNC(cabaret_state::fg_tile_w)).share("fg_tile_ram");
|
||||
map(0x2800, 0x2fff).ram().w(FUNC(cabaret_state::fg_color_w)).share("fg_color_ram");
|
||||
map(0x2000, 0x27ff).ram().w(FUNC(cabaret_state::fg_tile_w)).share(m_fg_tile_ram);
|
||||
map(0x2800, 0x2fff).ram().w(FUNC(cabaret_state::fg_color_w)).share(m_fg_color_ram);
|
||||
|
||||
map(0x3000, 0x37ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
|
||||
map(0x3800, 0x3fff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext");
|
||||
|
||||
map(0x1000, 0x103f).ram().w(FUNC(cabaret_state::bg_scroll_w)).share("bg_scroll");
|
||||
map(0x1000, 0x103f).ram().w(FUNC(cabaret_state::bg_scroll_w)).share(m_bg_scroll);
|
||||
|
||||
map(0x1800, 0x19ff).ram().w(FUNC(cabaret_state::bg_tile_w)).share("bg_tile_ram");
|
||||
map(0x8000, 0xffff).rom().region("gfx3", 0);
|
||||
map(0x1800, 0x19ff).ram().w(FUNC(cabaret_state::bg_tile_w)).share(m_bg_tile_ram);
|
||||
map(0x8000, 0xffff).rom().region("bgmaps", 0);
|
||||
}
|
||||
|
||||
|
||||
@ -346,8 +359,8 @@ static const gfx_layout layout_8x32x6i =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_cabaret )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, layout_8x8x6, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, layout_8x32x6i, 0, 16 )
|
||||
GFXDECODE_ENTRY( "fgtiles", 0x00000, layout_8x8x6, 0, 16 )
|
||||
GFXDECODE_ENTRY( "bgtiles", 0x00000, layout_8x32x6i, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -359,10 +372,10 @@ GFXDECODE_END
|
||||
|
||||
void cabaret_state::machine_reset()
|
||||
{
|
||||
m_nmi_enable = 0;
|
||||
m_nmi_enable = 0;
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(cabaret_state::cabaret_interrupt)
|
||||
INTERRUPT_GEN_MEMBER(cabaret_state::interrupt_cb)
|
||||
{
|
||||
if (m_nmi_enable & 0x80)
|
||||
device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
@ -370,11 +383,11 @@ INTERRUPT_GEN_MEMBER(cabaret_state::cabaret_interrupt)
|
||||
|
||||
void cabaret_state::cabaret(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
// basic machine hardware
|
||||
Z80180(config, m_maincpu, XTAL(12'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cabaret_state::cabaret_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &cabaret_state::cabaret_portmap);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(cabaret_state::cabaret_interrupt));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cabaret_state::program_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &cabaret_state::port_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(cabaret_state::interrupt_cb));
|
||||
|
||||
i8255_device &ppi1(I8255(config, "ppi1"));
|
||||
ppi1.in_pa_callback().set_ioport("BUTTONS2");
|
||||
@ -392,19 +405,19 @@ void cabaret_state::cabaret(machine_config &config)
|
||||
ppi3.in_pb_callback().set_ioport("DSW1");
|
||||
ppi3.in_pc_callback().set_ioport("DSW2");
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
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(512, 256);
|
||||
screen.set_visarea_full();
|
||||
screen.set_screen_update(FUNC(cabaret_state::screen_update_cabaret));
|
||||
screen.set_screen_update(FUNC(cabaret_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cabaret);
|
||||
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x800);
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
YM2413(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
}
|
||||
@ -414,13 +427,13 @@ void cabaret_state::init_cabaret()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
/* decrypt the program ROM */
|
||||
// decrypt the program ROM
|
||||
for (int i = 0; i < 0xf000; i++)
|
||||
{
|
||||
if ((i & 0x2206) == 0x2002) rom[i] ^= 0x01;
|
||||
}
|
||||
|
||||
/* Patch pitfalls */
|
||||
// Patch pitfalls
|
||||
rom[0x1012] =
|
||||
rom[0x1013] = 0;
|
||||
rom[0x13b8] = 0x18;
|
||||
@ -432,25 +445,139 @@ void cabaret_state::init_cabaret()
|
||||
rom[0xc6c4] = 0x18;
|
||||
}
|
||||
|
||||
ROM_START( cabaret )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
|
||||
ROM_LOAD( "cg-8v204.u97", 0x0000, 0x10000, CRC(44cebf77) SHA1(e3f4e4abf41388f0eed50cf9a0fd0b14aa2f8b93) )
|
||||
void cabaret_state::init_double8l()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
ROM_REGION( 0x60000, "gfx1", 0 )
|
||||
// TODO: verify if/when the internal ROM gets dumped
|
||||
for (int i = 0x4000; i < 0x10000; i++)
|
||||
if ((i & 0x3206) == 0x2002)
|
||||
rom[i] = rom[i] ^ 0x01;
|
||||
}
|
||||
|
||||
void cabaret_state::init_kungfua()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
for (int i = 0x4000; i < 0x10000; i++)
|
||||
{
|
||||
rom[i] = rom[i] ^ 0x01;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ROM_START( cabaret )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "cg-8v204.u97", 0x00000, 0x10000, CRC(44cebf77) SHA1(e3f4e4abf41388f0eed50cf9a0fd0b14aa2f8b93) )
|
||||
|
||||
ROM_REGION( 0x60000, "fgtiles", 0 )
|
||||
ROM_LOAD( "cg-4.u43", 0x40000, 0x20000, CRC(e509f50a) SHA1(7e68ca54642c92cdb348d5cf9466065938d0e027) )
|
||||
ROM_LOAD( "cg-5.u44", 0x20000, 0x20000, CRC(e2cbf489) SHA1(3a15ed7efd5696656e6d55b54ec0ff779bdb0d98) )
|
||||
ROM_LOAD( "cg-6.u45", 0x00000, 0x20000, CRC(4f2fced7) SHA1(b954856ffdc97fbc99fd3ec087376fbf466d2d5a) )
|
||||
|
||||
ROM_REGION( 0xc000, "gfx2", 0 )
|
||||
ROM_REGION( 0xc000, "bgtiles", 0 )
|
||||
ROM_LOAD( "cg-1.u40", 0x8000, 0x4000, CRC(7dee8b1f) SHA1(80dbdf6aab9b02cc000956b7894023552428e6a1) )
|
||||
ROM_LOAD( "cg-2.u41", 0x0000, 0x4000, CRC(ce8dea39) SHA1(b30d1678a7b98cd821d2ce7383a83cb7c9f31b5f) )
|
||||
ROM_LOAD( "cg-3.u42", 0x4000, 0x4000, CRC(7e1f821f) SHA1(b709d49f9d1890fe3b8ca7f90affc0017a0ad95e) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 )
|
||||
ROM_LOAD( "cg-7.u98", 0x0000, 0x8000, CRC(b93ae6f8) SHA1(accb87045c278d5d79fff65bb763aa6e8025a945) ) /* background maps, read by the CPU */
|
||||
ROM_REGION( 0x8000, "bgmaps", 0 )
|
||||
ROM_LOAD( "cg-7.u98", 0x0000, 0x8000, CRC(b93ae6f8) SHA1(accb87045c278d5d79fff65bb763aa6e8025a945) ) // background maps, read by the CPU
|
||||
ROM_END
|
||||
|
||||
// custom CPU package DB8LN CPUV1.0 1991 (almost surely Z180 based).
|
||||
ROM_START( double8l )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
// contains leftover x86 code at 0-3fff
|
||||
ROM_LOAD( "db8ln_cpuv1.0_1991.u80", 0x00000, 0x04000, NO_DUMP )
|
||||
ROM_LOAD( "u97", 0x00000, 0x10000, CRC(84686a43) SHA1(9e41c725a4fe9c674979c8437715e5c3197e4aa2) ) // 27C512, didn't have an original sticker
|
||||
|
||||
ROM_REGION( 0x60000, "fgtiles", 0 ) // all Intel 27C010A
|
||||
ROM_LOAD( "d8ln_cgf4.u43", 0x40000, 0x20000, CRC(d16b724d) SHA1(37ad925b07ef64d28670a8937ef6edfb00708d59) )
|
||||
ROM_LOAD( "d8ln_cgf5.u44", 0x20000, 0x20000, CRC(7c4aa36f) SHA1(0d1fe127a300b3341b0f15c6bdaeffde1564b204) )
|
||||
ROM_LOAD( "d8ln_cgf6.u45", 0x00000, 0x20000, CRC(759a8b81) SHA1(9b885d0eab72c7257005f1da21269ce490888640) )
|
||||
|
||||
ROM_REGION( 0xc000, "bgtiles", 0 )
|
||||
ROM_LOAD( "d8ln_cgf1.u40", 0x8000, 0x4000, CRC(969bb2e9) SHA1(5aecce965f558a11ec117ab5ccb82b841de6051f) ) // Microchip 27C128
|
||||
ROM_LOAD( "d8ln_cgf2.u41", 0x0000, 0x4000, CRC(bf6ef240) SHA1(a79e16ba259f03c0479e87a647a3a6a2ce0a1aac) ) // Microchip 27C128
|
||||
ROM_LOAD( "d8ln_cgf3.u42", 0x4000, 0x4000, CRC(f432f709) SHA1(a203c01358b42f6b8639ce45afa70a86afdc79cf) ) // Intel 27128A
|
||||
|
||||
ROM_REGION( 0x8000, "bgmaps", 0 )
|
||||
ROM_LOAD( "d8ln_cgf7.u98", 0x0000, 0x8000, CRC(5268ae60) SHA1(9e5d819fc5a5623cc3e81384ba542391c59ab7f1) ) // 27C256, background maps, read by the CPU
|
||||
|
||||
ROM_REGION( 0x100, "proms", 0 )
|
||||
ROM_LOAD( "dm74s287.u38", 0x000, 0x100, CRC(935d8c14) SHA1(04e90b01ef1e3485d3bfcf9473a18b7afea25d1d) )
|
||||
|
||||
ROM_REGION( 0x600, "plds", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "ami18cv8.u46", 0x000, 0x155, NO_DUMP )
|
||||
ROM_LOAD( "pal16l8an.u47", 0x200, 0x104, NO_DUMP )
|
||||
ROM_LOAD( "ami18cv8.u48", 0x400, 0x155, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
Cherry master looking board
|
||||
|
||||
Big chip with no markings at U80 stickered KUNG FU
|
||||
V1.0
|
||||
1992
|
||||
|
||||
Board silkscreend on top PCB NO.0013-B
|
||||
|
||||
.45 27010 stickered 6
|
||||
.44 27010 stickered 5
|
||||
.43 27010 stickered 4
|
||||
.42 27128 stickered 3
|
||||
.41 27128 stickered 2
|
||||
.40 27128 stickered 1
|
||||
.98 27256 stickered 7 couldn't read chip, but board was silkscreened 27c256
|
||||
.97 27512 stickered ? looked like Japanese writing
|
||||
.38 74s287
|
||||
.46 18cv8 <--- same checksum as .48
|
||||
.47 pal16l8a <--- checksum was 0
|
||||
.48 18cv8 <--- same checksum as .46
|
||||
|
||||
unknown 24 pin chip @ u29
|
||||
open 24 pin socket @ u54
|
||||
12 MHz crystal
|
||||
|
||||
5 x DSW8
|
||||
3 x NEC D8255AC
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( kungfua )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
// u97 contains leftover x86 code at 0-3fff (compiled with Borland Turbo-C).
|
||||
// You can rename the rom to kungfu.exe and run it (DOS MZ executable)!
|
||||
// The rest is Z80 code, so the CPU at u80 is probably a variant with internal ROM.
|
||||
ROM_LOAD( "kungfu-internal.u80", 0x00000, 0x04000, NO_DUMP )
|
||||
ROM_LOAD( "kungfu.u97", 0x00000, 0x10000, CRC(5c8e16de) SHA1(4af3795753d6e08f528b861d3a771c782e173556) )
|
||||
|
||||
ROM_REGION( 0x60000, "fgtiles", 0 )
|
||||
ROM_LOAD( "kungfu-4.u43", 0x40000, 0x20000, CRC(df4afedb) SHA1(56ab18c46a199653c284417a8e9edc9f32374318) )
|
||||
ROM_LOAD( "kungfu-5.u44", 0x20000, 0x20000, CRC(25c9c98e) SHA1(2d3a399d8d53ee5cb8106d2b35d1ab1778439f81) )
|
||||
ROM_LOAD( "kungfu-6.u45", 0x00000, 0x20000, CRC(f1ec5f0d) SHA1(0aa888e13312ed5d98953c81f03a61c6175c7fec) )
|
||||
|
||||
ROM_REGION( 0xc000, "bgtiles", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "kungfu-1.u40", 0x8000, 0x4000, CRC(abaada6b) SHA1(a6b910db7451e8ca737f43f32dfc8fc5ecf865f4) )
|
||||
ROM_LOAD( "kungfu-2.u41", 0x0000, 0x4000, CRC(927b3060) SHA1(a780ea5aaee04287cc9533c2d258dc18f8426530) )
|
||||
ROM_LOAD( "kungfu-3.u42", 0x4000, 0x4000, CRC(bbf78e03) SHA1(06fee093e75e2611d00c076c2e0a681938fa8b74) )
|
||||
|
||||
ROM_REGION( 0x8000, "bgmaps", 0 )
|
||||
ROM_LOAD( "kungfu-7.u98", 0x0000, 0x8000, CRC(1d3f0c79) SHA1(0a33798b69fbdc0fb7c47c51f5759e42acd2c608) ) // background maps, read by the CPU
|
||||
|
||||
ROM_REGION( 0x100, "proms", 0 )
|
||||
ROM_LOAD( "kungfu.u38", 0x000, 0x100, CRC(2074f729) SHA1(eb9a60dec57a029ae6d3fc53aa7bc78e8ac34392) )
|
||||
|
||||
ROM_REGION( 0x1000, "plds", 0 ) // TODO: convert with jedutil
|
||||
ROM_LOAD( "kungfu.u46", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
|
||||
ROM_LOAD( "kungfu.u47", 0x000, 0xaee, CRC(5c7e25b5) SHA1(7d37e4abfe1256bd9cb168e0f02e651118dfb304) )
|
||||
ROM_LOAD( "kungfu.u48", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAME( 1992, cabaret, 0, cabaret, cabaret, cabaret_state, init_cabaret, ROT0, "AMT Co. Ltd.", "Cabaret Show", MACHINE_NOT_WORKING )
|
||||
GAME( 1992, cabaret, 0, cabaret, cabaret, cabaret_state, init_cabaret, ROT0, "AMT Co. Ltd.", "Cabaret Show", MACHINE_NOT_WORKING )
|
||||
GAME( 1992, double8l, 0, cabaret, cabaret, cabaret_state, init_double8l, ROT0, "AMT Co. Ltd.", "Double 8 Lines", MACHINE_NOT_WORKING ) // missing internal ROM dump
|
||||
GAME( 1992, kungfua, kungfu, cabaret, cabaret, cabaret_state, init_kungfua, ROT0, "IGS", "Kung Fu Fighters (IGS, v100)", MACHINE_NOT_WORKING ) // missing internal ROM dump
|
||||
|
@ -125,7 +125,6 @@ public:
|
||||
void init_cpoker300us();
|
||||
void init_igs_ncs2();
|
||||
void init_cpokerpk();
|
||||
void init_kungfua();
|
||||
|
||||
int hopper_r();
|
||||
|
||||
@ -2964,76 +2963,7 @@ void igspoker_state::init_pktet346()
|
||||
rom[0xbb0c] = 0xc3;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Cherry master looking board
|
||||
|
||||
Big chip with no markings at U80 stickered KUNG FU
|
||||
V1.0
|
||||
1992
|
||||
|
||||
Board silkscreend on top PCB NO.0013-B
|
||||
|
||||
.45 27010 stickered 6
|
||||
.44 27010 stickered 5
|
||||
.43 27010 stickered 4
|
||||
.42 27128 stickered 3
|
||||
.41 27128 stickered 2
|
||||
.40 27128 stickered 1
|
||||
.98 27256 stickered 7 couldn't read chip, but board was silkscreened 27c256
|
||||
.97 27512 stickered ? looked like Japanese writing
|
||||
.38 74s287
|
||||
.46 18cv8 <--- same checksum as .48
|
||||
.47 pal16l8a <--- checksum was 0
|
||||
.48 18cv8 <--- same checksum as .46
|
||||
|
||||
unknown 24 pin chip @ u29
|
||||
open 24 pin socket @ u54
|
||||
12 MHz crystal
|
||||
|
||||
5 x DSW8
|
||||
3 x NEC D8255AC
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( kungfua )
|
||||
ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 )
|
||||
// u97 contains leftover x86 code at 0-3fff (compiled with Borland Turbo-C).
|
||||
// You can rename the rom to kungfu.exe and run it (DOS MZ executable)!
|
||||
// The rest is Z80 code, so the CPU at u80 is probably a variant with internal ROM.
|
||||
ROM_LOAD( "kungfu-internal.u80", 0x00000, 0x04000, NO_DUMP )
|
||||
ROM_LOAD( "kungfu.u97", 0x00000, 0x10000, CRC(5c8e16de) SHA1(4af3795753d6e08f528b861d3a771c782e173556) )
|
||||
ROM_LOAD( "kungfu-7.u98", 0x10000, 0x08000, CRC(1d3f0c79) SHA1(0a33798b69fbdc0fb7c47c51f5759e42acd2c608) )
|
||||
|
||||
ROM_REGION( 0x60000, "gfx1", 0 )
|
||||
ROM_LOAD( "kungfu-4.u43", 0x00000, 0x20000, CRC(df4afedb) SHA1(56ab18c46a199653c284417a8e9edc9f32374318) )
|
||||
ROM_LOAD( "kungfu-5.u44", 0x20000, 0x20000, CRC(25c9c98e) SHA1(2d3a399d8d53ee5cb8106d2b35d1ab1778439f81) )
|
||||
ROM_LOAD( "kungfu-6.u45", 0x40000, 0x20000, CRC(f1ec5f0d) SHA1(0aa888e13312ed5d98953c81f03a61c6175c7fec) )
|
||||
|
||||
ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "kungfu-1.u40", 0x00000, 0x4000, CRC(abaada6b) SHA1(a6b910db7451e8ca737f43f32dfc8fc5ecf865f4) )
|
||||
ROM_LOAD( "kungfu-2.u41", 0x10000, 0x4000, CRC(927b3060) SHA1(a780ea5aaee04287cc9533c2d258dc18f8426530) )
|
||||
ROM_LOAD( "kungfu-3.u42", 0x20000, 0x4000, CRC(bbf78e03) SHA1(06fee093e75e2611d00c076c2e0a681938fa8b74) )
|
||||
|
||||
ROM_REGION( 0x1000, "plds", 0 )
|
||||
ROM_LOAD( "kungfu.u38", 0x000, 0x100, CRC(2074f729) SHA1(eb9a60dec57a029ae6d3fc53aa7bc78e8ac34392) )
|
||||
ROM_LOAD( "kungfu.u46", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
|
||||
ROM_LOAD( "kungfu.u47", 0x000, 0xaee, CRC(5c7e25b5) SHA1(7d37e4abfe1256bd9cb168e0f02e651118dfb304) )
|
||||
ROM_LOAD( "kungfu.u48", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
|
||||
ROM_END
|
||||
|
||||
void igspoker_state::init_kungfua()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
for (int A = 0x4000; A < 0x10000; A++)
|
||||
{
|
||||
rom[A] = rom[A] ^ 0x01;
|
||||
}
|
||||
memset( &rom[0xf000], 0, 0x1000);
|
||||
}
|
||||
|
||||
} // Anonymous namespace
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAMEL( 1993?,cpoker, 0, igspoker, cpoker, igspoker_state, init_cpoker, ROT0, "IGS", "Champion Poker (v220I)", 0, layout_igspoker )
|
||||
@ -3068,5 +2998,3 @@ GAMEL( 1998, stellecu, 0, number10, number10, igspoker_state, empty_in
|
||||
GAMEL( 1993?,pktet346, 0, pktetris, pktet346, igspoker_state, init_pktet346, ROT0, "IGS", "PK Tetris (v346I)", 0, layout_igspoker )
|
||||
GAMEL( 199?, igstet341, pktet346, pktetris, igstet341,igspoker_state, init_tet341, ROT0, "IGS", "Tetris (v341R)", 0, layout_igspoker )
|
||||
GAMEL( 199?, igstet342, pktet346, pktetris, igstet341,igspoker_state, init_tet341, ROT0, "IGS", "Tetris (v342R)", 0, layout_igspoker )
|
||||
|
||||
GAMEL( 1992, kungfua, kungfu, igspoker, cpoker, igspoker_state, init_kungfua, ROT0, "IGS", "Kung Fu Fighters (IGS, v100)", MACHINE_NOT_WORKING, layout_igspoker ) // missing internal ROM dump
|
||||
|
@ -17535,6 +17535,7 @@ realbrkk // "600" Billiard Academy Real Break 1998 (Korea
|
||||
realbrko // "600" Billiard Academy Real Break 1998 (Europe)
|
||||
|
||||
@source:dynax/royalmah.cpp
|
||||
akamj // bootleg
|
||||
cafebrk // "528" Mahjong Cafe Break (C) 1999 Nakanihon / Dynax
|
||||
cafedoll // "76" (c) 1993 Dynax
|
||||
cafedollg // "76" (c) 1993 Dynax
|
||||
@ -17550,7 +17551,7 @@ janoh // (c) 1984 Toaplan
|
||||
janoha // (c) 1984 Toaplan
|
||||
janptr96 // "503" (c) 1996 Dynax
|
||||
janptrsp // "511" (c) 1997 Dynax
|
||||
janputer // (c) 1982 Taito
|
||||
janputer // bootleg
|
||||
jansou // (c) 1985 Dyna
|
||||
jansoua // (c) 1985 Dyna
|
||||
janyoup2 // Falcon bootleg
|
||||
@ -19959,6 +19960,8 @@ zoofari // (c) 2006 ICE/Play Mechanix
|
||||
|
||||
@source:igs/cabaret.cpp
|
||||
cabaret // (c) 1992 AMT
|
||||
double8l // (c) 1992 AMT
|
||||
kungfua // (c) 1992 IGS
|
||||
|
||||
@source:igs/dunhuang.cpp
|
||||
dunhuang // (c) 1995
|
||||
@ -20306,7 +20309,6 @@ igs_ncs // (c) 198? IGS
|
||||
igs_ncs2 // (c) 2000 IGS
|
||||
igstet341 // (c) 199? IGS
|
||||
igstet342 // (c) 199? IGS
|
||||
kungfua // (c) 1992 IGS
|
||||
number10 // (c) IGS (Board labeled Playmark Srl)
|
||||
numbr10l // (c) IGS (Board labeled Playmark Srl)
|
||||
pktet346 // (c) 199? IGS
|
||||
@ -29142,7 +29144,8 @@ castrev // Revolution
|
||||
@source:misc/cb2001.cpp
|
||||
cb2001 // (c) 2001 Dyna Electronics
|
||||
ndongmul2 // (c) 1999 Dyna Electronics
|
||||
scherrym // (c) 2001? Dyna Electronics
|
||||
scherrym // (c) 1997 Dyna Electronics
|
||||
scherrymp // (c) 1997 Dyna Electronics
|
||||
|
||||
@source:misc/chameleonrx1.cpp
|
||||
chamrx1 // 2003
|
||||
@ -41897,6 +41900,7 @@ boo1000
|
||||
@source:skeleton/boramz80.cpp
|
||||
pkboram
|
||||
tpkboram
|
||||
tpkborama
|
||||
|
||||
@source:skeleton/bpmmicro.cpp
|
||||
bp1200 // (c) 1991 BP Microsystems
|
||||
|
@ -1079,6 +1079,19 @@ ROM_START( scherrym ) // DYNA D9702 PCB; DYNA PLUS V1.6 in bookkeeping screen
|
||||
ROM_LOAD( "n82s135-2.bin", 0x200, 0x100, CRC(a19821db) SHA1(62dda90dd67dfbc0b96f161f1f2b7a46a5805eae) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( scherrymp ) // DYNA D9702 PCB; DYNA PLUS V1.0U in bookkeeping screen
|
||||
ROM_REGION16_LE( 0x040000, "boot_prg", 0 )
|
||||
ROM_LOAD16_WORD( "m27c2001.bin", 0x000000, 0x40000, CRC(6e797b3f) SHA1(cc333e3dc2d416f1059559ce958bfe25a3869fc8) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx", ROMREGION_ERASEFF )
|
||||
// this board uses an unmarked MASK ROM at 12c, 12a is unpopulated. Size unknown. The bootleg PCB uses an mx29f1610ml, so possibly the same or compatible
|
||||
ROM_LOAD( "gfx.12c", 0x000000, 0x80000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x400, "proms", 0 )
|
||||
ROM_LOAD( "82s147.9b", 0x000, 0x200, CRC(dcf976d2) SHA1(73a08e4587f3516d694a8060b79470cf71df3925) )
|
||||
ROM_LOAD( "82s147.11b", 0x200, 0x200, CRC(a67e7a63) SHA1(b23e0eb9af13e57bbc8602ddc7fb381ba5c8267e) )
|
||||
ROM_END
|
||||
|
||||
/* New DongmulDongmul 2 (뉴 동물동물 2, New AnimalAnimal 2) runs on slightly different hardware, but with same CPU, custom and I/O.
|
||||
Video from the real hardware: https://youtu.be/1K9e_7RzeiM
|
||||
_______________________________________________________________________________
|
||||
@ -1138,7 +1151,8 @@ ROM_END
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
|
||||
GAME( 2001, cb2001, 0, cb2001, cb2001, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus 2001", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1999, ndongmul2, 0, ndongmul2, ndongmul2, cb2001_state, empty_init, ROT0, "Dyna", "New DongmulDongmul 2", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // goes into the weeds at various point, due to either missing MCU dump or incomplete decryption. Bad reels GFX.
|
||||
GAME( 2001, scherrym, 0, cb2001, cb2001, cb2001_state, empty_init, ROT0, "Dyna", "Super Cherry Master", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 2001 version? (we have bootlegs running on z80 hw of a 1996 version)
|
||||
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
|
||||
GAME( 2001, cb2001, 0, cb2001, cb2001, cb2001_state, empty_init, ROT0, "Dyna", "Cherry Bonus 2001", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1999, ndongmul2, 0, ndongmul2, ndongmul2, cb2001_state, empty_init, ROT0, "Dyna", "New DongmulDongmul 2", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // goes into the weeds at various point, due to either missing MCU dump or incomplete decryption. Bad reels GFX.
|
||||
GAME( 1997, scherrym, 0, cb2001, cb2001, cb2001_state, empty_init, ROT0, "Dyna", "Super Cherry Master", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 2001 version? (we have bootlegs running on z80 hw of a 1996 version)
|
||||
GAME( 1997, scherrymp, 0, cb2001, cb2001, cb2001_state, empty_init, ROT0, "Dyna", "Super Cherry Master Plus", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) //
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
|
||||
void pk(machine_config &config) ATTR_COLD;
|
||||
|
||||
void init_tpkborama();
|
||||
|
||||
protected:
|
||||
virtual void video_start() override ATTR_COLD;
|
||||
|
||||
@ -261,8 +263,50 @@ ROM_START( tpkboram )
|
||||
ROM_LOAD( "10.pg8", 0x38000, 0x8000, CRC(4a293afa) SHA1(be532e6a476f78638e7f558bf8093e1914bc3688) )
|
||||
ROM_END
|
||||
|
||||
// this runs on a newer ATPK-BORAM 0500 PCB. Given all GFX match tpkboram, it's probably a newer revision.
|
||||
// code is encrypted
|
||||
ROM_START( tpkborama )
|
||||
ROM_REGION( 0x8000, "maincpu", 0 )
|
||||
ROM_LOAD( "223.rom", 0x0000, 0x8000, CRC(1d776d37) SHA1(6918cddb0b47d28cf8145823f869dfd2296c0eed) )
|
||||
|
||||
ROM_REGION( 0x4000, "chars", 0 ) // these are same as tpkboram
|
||||
ROM_LOAD( "1.cg1", 0x0000, 0x2000, CRC(69f44d04) SHA1(2f98805e4b70ce3426078f35ff260a3bc97fab86) )
|
||||
ROM_LOAD( "2.cg2", 0x2000, 0x2000, CRC(c1adf009) SHA1(0d5d8b39d40c807b9b5ed7418ba871c4d683286a) )
|
||||
|
||||
ROM_REGION( 0x40000, "tiles", 0 ) // these are all 1st and 2nd half identical, but same as tpkboram if split
|
||||
ROM_LOAD( "3.pg1", 0x00000, 0x8000, CRC(612c5b39) SHA1(9682167b1fbbcd34b71c2628641b646a2993f61b) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "4.pg2", 0x08000, 0x8000, CRC(14ee6437) SHA1(a046b3efb14a400d201f7ce1c3ee0e01badb46a6) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "5.pg3", 0x10000, 0x8000, CRC(ce87f0c5) SHA1(96379856182bb0c81c805906551ec2e4aa2eb1d5) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "6.pg4", 0x18000, 0x8000, CRC(0a8a6106) SHA1(ac88f1ef2eb39cd24a236b2f18e85367c0736ae8) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "7.pg5", 0x20000, 0x8000, CRC(484a0eec) SHA1(6e32da2d4d78fb4c4bae2d2da945a71231051d5f) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "8.pg6", 0x28000, 0x8000, CRC(772d8996) SHA1(bd0412d0656a26a80b0f00ff5d6bcff2c4adb6c7) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "9.pg7", 0x30000, 0x8000, CRC(ff052a99) SHA1(7523ab2eeef1e44107710c8a68897daa7bf2ce12) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_LOAD( "10.pg8", 0x38000, 0x8000, CRC(61a4e0f3) SHA1(8d9f0efd3b691eaf93c933c63ba6aa34ebad71b1) )
|
||||
ROM_IGNORE( 0x8000 )
|
||||
ROM_END
|
||||
|
||||
|
||||
void boramz80_state::init_tpkborama()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
for (int i = 0; i < 0x8000; i++)
|
||||
{
|
||||
// TODO
|
||||
rom[i] = rom[i];
|
||||
}
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAME( 1987, pkboram, 0, pk, pkboram, boramz80_state, empty_init, ROT0, "Boram", "PK - New Exciting Poker!", MACHINE_IS_SKELETON ) // PK-BORAM 0211 aug.04.1987. BORAM CORP
|
||||
GAME( 1988, tpkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "Turbo PK", MACHINE_IS_SKELETON ) // PK-TURBO jan.29.1988. BORAM CORP.
|
||||
GAME( 1987, pkboram, 0, pk, pkboram, boramz80_state, empty_init, ROT0, "Boram", "PK - New Exciting Poker!", MACHINE_IS_SKELETON ) // PK-BORAM 0211 aug.04.1987. BORAM CORP
|
||||
GAME( 1988, tpkboram, 0, pk, tpkboram, boramz80_state, empty_init, ROT0, "Boram", "Turbo PK", MACHINE_IS_SKELETON ) // PK-TURBO jan.29.1988. BORAM CORP.
|
||||
GAME( 1998, tpkborama, tpkboram, pk, tpkboram, boramz80_state, init_tpkborama, ROT0, "Boram", "Turbo PK (Ver 2.3B2, encrypted)", MACHINE_IS_SKELETON ) // dep inctype-23B1998 0519Ver 2.3B2
|
||||
|
Loading…
Reference in New Issue
Block a user