mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Super 21 improvements... [Roberto Fresca, Grull Osgo]
- Change setname from paradiss to super21. - Change game description to Super 21. - Added year and manufacturer. - Descramble the program properly, eliminating the skull warning screen. - Identified and set the correct CPU. - Mapped PIAs, CRTC, and AY8910 in the correct offsets. - Inputs from scratch. - Mapped both DIP switches banks with their own defaults and diplocations. - Rearrange the ROM load, graphics banks and gfxdecode. - Reworked the video hardware since palette system and attr RAM is quite different from the standard for this kind of hardware. - Promoted to working. New working machines -------------------- Super 21 [Roberto Fresca, Grull Osgo, Team Europe]
This commit is contained in:
parent
042294d9b0
commit
0d67ef6cd5
@ -1273,8 +1273,6 @@
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65sc02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "cpu/m6805/m68705.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/6821pia.h"
|
||||
@ -1325,7 +1323,7 @@ public:
|
||||
void pottnpkr(machine_config &config);
|
||||
void goldnpkr(machine_config &config);
|
||||
void wcrdxtnd(machine_config &config);
|
||||
void paradiss(machine_config &config);
|
||||
void super21p(machine_config &config);
|
||||
|
||||
void init_vkdlswwh();
|
||||
void init_icp1db();
|
||||
@ -1365,6 +1363,7 @@ protected:
|
||||
DECLARE_WRITE8_MEMBER(goldnpkr_colorram_w);
|
||||
|
||||
void witchcrd_palette(palette_device &palette) const;
|
||||
void super21p_palette(palette_device &palette) const;
|
||||
|
||||
void goldnpkr_base(machine_config &config);
|
||||
|
||||
@ -1391,8 +1390,10 @@ private:
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(super21p_get_bg_tile_info);
|
||||
void goldnpkr_palette(palette_device &palette) const;
|
||||
DECLARE_VIDEO_START(wcrdxtnd);
|
||||
DECLARE_VIDEO_START(super21p);
|
||||
void wcrdxtnd_palette(palette_device &palette) const;
|
||||
DECLARE_MACHINE_START(mondial);
|
||||
DECLARE_MACHINE_RESET(mondial);
|
||||
@ -1409,7 +1410,7 @@ private:
|
||||
void wildcrdb_mcu_map(address_map &map);
|
||||
void witchcrd_falcon_map(address_map &map);
|
||||
void witchcrd_map(address_map &map);
|
||||
void paradiss_map(address_map &map);
|
||||
void super21p_map(address_map &map);
|
||||
|
||||
required_shared_ptr<uint8_t> m_videoram;
|
||||
required_shared_ptr<uint8_t> m_colorram;
|
||||
@ -1508,16 +1509,56 @@ TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
}
|
||||
|
||||
TILE_GET_INFO_MEMBER(goldnpkr_state::super21p_get_bg_tile_info)
|
||||
{
|
||||
/* 4 graphics banks system for Super 21 extended graphics.
|
||||
|
||||
- bits -
|
||||
7654 3210
|
||||
-xxx ---- tiles color.
|
||||
x--- --xx tiles bank.
|
||||
*/
|
||||
|
||||
int attr = m_colorram[tile_index];
|
||||
int code = ((attr & 1) << 8) | m_videoram[tile_index];
|
||||
int bank = (attr & 0x03); // bits 0-1, switch the gfx banks
|
||||
int color = (attr & 0x70) >> 3; // bits 4-5-6 for color, shifted x2 to match the color groups used.
|
||||
|
||||
SET_TILE_INFO_MEMBER(bank, code, color, 0);
|
||||
|
||||
/*
|
||||
Color codes GFX bank 0 (chars)
|
||||
|
||||
00 = Black.
|
||||
10 = Red.
|
||||
20 = Green.
|
||||
30 = Yellow.
|
||||
40 = Blue.
|
||||
50 = Magenta.
|
||||
60 = Cyan.
|
||||
70 = White.
|
||||
|
||||
In test mode, the DIP switches status are assigned with code 00,
|
||||
so you can't see them since they are black on black background.
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
void goldnpkr_state::video_start()
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(goldnpkr_state,wcrdxtnd)
|
||||
VIDEO_START_MEMBER(goldnpkr_state, wcrdxtnd)
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(goldnpkr_state, super21p)
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::super21p_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
uint32_t goldnpkr_state::screen_update_goldnpkr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
@ -1641,6 +1682,48 @@ void goldnpkr_state::wcrdxtnd_palette(palette_device &palette) const
|
||||
}
|
||||
}
|
||||
|
||||
void goldnpkr_state::super21p_palette(palette_device &palette) const
|
||||
{
|
||||
/*
|
||||
Each graphics bank has its own palette. The first 3 are tied to
|
||||
bipolar PROMs, and the las one is RGB direct.
|
||||
|
||||
GFX bank 0 ---> bipolar PROM 1
|
||||
GFX bank 1 ---> bipolar PROM 2
|
||||
GFX bank 2 ---> bipolar PROM 3
|
||||
GFX bank 3 ---> RGB direct.
|
||||
|
||||
7654 3210
|
||||
---- ---x red component.
|
||||
---- --x- green component.
|
||||
---- -x-- blue component.
|
||||
---- x--- unknown (maybe intensity).
|
||||
xxxx ---- unused.
|
||||
*/
|
||||
|
||||
// 0000?BGR
|
||||
uint8_t const *const color_prom = memregion("proms")->base();
|
||||
if (!color_prom)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < (palette.entries() * 3) / 4; i++)
|
||||
{
|
||||
// last quarter of palette is RGB direct, for gfx bank 3 (title)
|
||||
// todo: implement bit 3.
|
||||
|
||||
// red component
|
||||
int const r = BIT(color_prom[i], 0) * 0xff;
|
||||
|
||||
// green component
|
||||
int const g = BIT(color_prom[i], 1) * 0xff;
|
||||
|
||||
// blue component
|
||||
int const b = BIT(color_prom[i], 2) * 0xff;
|
||||
|
||||
palette.set_pen_color(i, rgb_t(r, g, b));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************************
|
||||
* R/W Handlers *
|
||||
@ -1923,7 +2006,6 @@ void goldnpkr_state::witchcrd_falcon_map(address_map &map)
|
||||
|
||||
void goldnpkr_state::wildcard_map(address_map &map)
|
||||
{
|
||||
// ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
|
||||
map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
|
||||
map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
|
||||
@ -2041,22 +2123,18 @@ void goldnpkr_state::bchancep_map(address_map &map)
|
||||
map(0x2000, 0x7fff).rom();
|
||||
}
|
||||
|
||||
void goldnpkr_state::paradiss_map(address_map &map)
|
||||
void goldnpkr_state::super21p_map(address_map &map)
|
||||
{
|
||||
// ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
|
||||
map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
|
||||
map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
|
||||
map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x0884, 0x0887).ram(); // unknown
|
||||
map(0x0888, 0x088b).ram(); // unknown
|
||||
map(0x0804, 0x0807).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x0808, 0x080b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
||||
map(0x1000, 0x13ff).ram().w(FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
|
||||
map(0x1800, 0x1bff).ram().w(FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
|
||||
map(0x2000, 0x2000).portr("SW2");
|
||||
map(0x2200, 0x27ff).rom(); /* for VK set */
|
||||
map(0x2800, 0x2fff).ram(); /* for VK set */
|
||||
map(0x3000, 0xffff).rom(); /* for VK set. bootleg starts from 4000 */
|
||||
map(0x2000, 0x2000).w("crtc", FUNC(mc6845_device::address_w));
|
||||
map(0x2001, 0x2001).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
|
||||
@ -4191,6 +4269,99 @@ static INPUT_PORTS_START( bonuspkr )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( super21p )
|
||||
/* Multiplexed - 4x5bits */
|
||||
PORT_START("IN0-0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meters")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double Up")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Hit")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Not Use")
|
||||
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("IN0-1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("Not Use") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Key Pay") PORT_CODE(KEYCODE_W)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take Score")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
|
||||
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("IN0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
|
||||
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("IN0-3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("Not Use") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("C.A.R.") PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(3)
|
||||
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("SW1")
|
||||
PORT_DIPNAME( 0x03, 0x03, "Limit" ) PORT_DIPLOCATION("SW1:8,7")
|
||||
PORT_DIPSETTING( 0x03, "3000" )
|
||||
PORT_DIPSETTING( 0x02, "5000" )
|
||||
PORT_DIPSETTING( 0x01, "10000" )
|
||||
PORT_DIPSETTING( 0x00, "30000" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "4 Of a Kind" ) PORT_DIPLOCATION("SW1:6")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Credit Limit" ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Cr. Limit" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "W. Point" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Fever Chance" ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Game Mode" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x80, "Play" )
|
||||
PORT_DIPSETTING( 0x00, "Port Check" )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x07, 0x07, "Coin1-Coin2-NoteIn" ) PORT_DIPLOCATION("SW2:8,7,6")
|
||||
PORT_DIPSETTING( 0x07, "10-100-50" )
|
||||
PORT_DIPSETTING( 0x06, "5-50-25" )
|
||||
PORT_DIPSETTING( 0x05, "4-40-20" )
|
||||
PORT_DIPSETTING( 0x04, "3-30-15" )
|
||||
PORT_DIPSETTING( 0x03, "2-20-10" )
|
||||
PORT_DIPSETTING( 0x02, "1-10-5" )
|
||||
PORT_DIPSETTING( 0x01, "1/2 - 6 - 3" )
|
||||
PORT_DIPSETTING( 0x00, "1/5 - 2 - 1" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "PayOut" ) PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPSETTING( 0x08, "Direct" )
|
||||
PORT_DIPSETTING( 0x00, "Credit" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Win-Up Win" ) PORT_DIPLOCATION("SW2:4")
|
||||
PORT_DIPSETTING( 0x10, "90%" )
|
||||
PORT_DIPSETTING( 0x00, "80%" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Duty" ) PORT_DIPLOCATION("SW2:3")
|
||||
PORT_DIPSETTING( 0x20, "Weak" )
|
||||
PORT_DIPSETTING( 0x00, "Strong" )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, "Game Win" ) PORT_DIPLOCATION("SW2:2,1")
|
||||
PORT_DIPSETTING( 0xc0, "90%" )
|
||||
PORT_DIPSETTING( 0x80, "80%" )
|
||||
PORT_DIPSETTING( 0x40, "70%" )
|
||||
PORT_DIPSETTING( 0x00, "60%" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Graphics Layouts *
|
||||
@ -4207,6 +4378,17 @@ static const gfx_layout tilelayout =
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout fixedtilelayout =
|
||||
{
|
||||
8, 8,
|
||||
0x100,
|
||||
3,
|
||||
{ 0, RGN_FRAC(1,3), RGN_FRAC(2,3) },
|
||||
{ 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
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Graphics Decode Information *
|
||||
@ -4236,10 +4418,11 @@ static GFXDECODE_START( gfx_wcrdxtnd )
|
||||
GFXDECODE_ENTRY( "gfx15", 0, tilelayout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_paradiss )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
|
||||
// GFXDECODE_ENTRY( "gfx1", 0x1000, tilelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x1000, tilelayout, 16, 16 )
|
||||
static GFXDECODE_START( gfx_super21p )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, fixedtilelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, fixedtilelayout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, fixedtilelayout, 0x200, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, fixedtilelayout, 0x300, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -4500,13 +4683,12 @@ void goldnpkr_state::wcfalcon(machine_config &config)
|
||||
AY8910(config, m_ay8910, MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00); /* guess, seems ok */
|
||||
}
|
||||
|
||||
void goldnpkr_state::paradiss(machine_config &config)
|
||||
void goldnpkr_state::super21p(machine_config &config)
|
||||
{
|
||||
goldnpkr_base(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &goldnpkr_state::paradiss_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &goldnpkr_state::super21p_map);
|
||||
|
||||
m_pia[0]->writepa_handler().set(FUNC(goldnpkr_state::mux_port_w));
|
||||
m_pia[0]->writepb_handler().set(FUNC(goldnpkr_state::ay8910_control_w));
|
||||
@ -4514,12 +4696,16 @@ void goldnpkr_state::paradiss(machine_config &config)
|
||||
m_pia[1]->writepa_handler().set(FUNC(goldnpkr_state::ay8910_data_w));
|
||||
|
||||
/* video hardware */
|
||||
m_palette->set_init(FUNC(goldnpkr_state::witchcrd_palette));
|
||||
m_gfxdecode->set_info(gfx_paradiss);
|
||||
MCFG_VIDEO_START_OVERRIDE(goldnpkr_state, super21p)
|
||||
m_gfxdecode->set_info(gfx_super21p);
|
||||
|
||||
PALETTE(config.replace(), m_palette, FUNC(goldnpkr_state::super21p_palette), 1024);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
AY8910(config, m_ay8910, MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00); /* guess, seems ok */
|
||||
AY8910(config, m_ay8910, MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00); // guess, seems ok
|
||||
m_ay8910->port_a_read_callback().set_ioport("SW1");
|
||||
m_ay8910->port_b_read_callback().set_ioport("SW2");
|
||||
}
|
||||
|
||||
void goldnpkr_state::wildcard(machine_config &config)
|
||||
@ -10357,7 +10543,7 @@ ROM_START( falcnwldc )
|
||||
ROM_LOAD( "3.b4", 0x1800, 0x0800, CRC(d9246780) SHA1(4ceb24131ec6208b742ba80373201aa53c50732d) )
|
||||
|
||||
ROM_REGION( 0x1800, "gfx1", 0 )
|
||||
ROM_FILL( 0x0000, 0x1000, 0x0000 ) /* filling bitplanes */
|
||||
ROM_FILL( 0x0000, 0x1000, 0x0000 ) /* filling bitplanes */
|
||||
ROM_COPY( "temp", 0x0800, 0x1000, 0x0800 ) /* second half of 1.b1 */
|
||||
|
||||
ROM_REGION( 0x1800, "gfx2", 0 )
|
||||
@ -11254,14 +11440,15 @@ ROM_END
|
||||
|
||||
|
||||
/*
|
||||
SE Paradise.
|
||||
Paradais PCB
|
||||
"SUPN-072"
|
||||
Super 21.
|
||||
|
||||
ROMs stickered with "SE Paradise".
|
||||
PCB stickered with "Paradais" and etched "SUPN-072"
|
||||
|
||||
1x Scratched CPU (seems 6502 family)
|
||||
1x GI AY-3-8910.
|
||||
2x Hitachi HD6821P.
|
||||
1x IC CIC8645BE (seems 6845 CRTC type)
|
||||
1x IC CIC8645BE (looks like a 6845 CRTC variant)
|
||||
|
||||
3x 27256 EPROMs.
|
||||
3x N82S129AN Bipolar PROMs.
|
||||
@ -11271,26 +11458,46 @@ ROM_END
|
||||
1x 10.000 MHz. Xtal.
|
||||
2x 8 DIP switches bank.
|
||||
|
||||
Edge connector adapter from 2x 22+10 ro 2x 32+10, with optoisolators
|
||||
and one big relay, with unknown purposes. Etched "PS Public Softwear".
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( paradiss )
|
||||
ROM_START( super21p )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "13.ic4", 0xc000, 0x2000, CRC(6f414354) SHA1(290e97b876ce7aa9e273fe5f597caaa2e31992a8) ) // ok
|
||||
ROM_CONTINUE( 0x8000, 0x2000) // to check...
|
||||
ROM_CONTINUE( 0xe000, 0x2000) // ok
|
||||
ROM_CONTINUE( 0xa000, 0x2000) // to check...
|
||||
ROM_LOAD( "13.ic4", 0xa000, 0x2000, CRC(6f414354) SHA1(290e97b876ce7aa9e273fe5f597caaa2e31992a8) ) // ok
|
||||
ROM_CONTINUE( 0x8000, 0x2000) // ok
|
||||
ROM_CONTINUE( 0xe000, 0x2000) // ok
|
||||
ROM_CONTINUE( 0xc000, 0x2000) // ok
|
||||
|
||||
ROM_REGION( 0x6000, "gfx1", 0 )
|
||||
ROM_LOAD( "1.ic10", 0x0000, 0x4000, CRC(40bb114e) SHA1(be4636455c6dd303255d21799cd17c590d8f1423) ) // identical halves, 2 bitplanes.
|
||||
ROM_IGNORE( 0x4000) // discarding the 2nd half.
|
||||
ROM_LOAD( "2.ic9", 0x4000, 0x2000, CRC(51c08823) SHA1(123dab7485cac23ee1d72fd50e4af273c946fc56) ) // identical halves, 1 bitplane.
|
||||
ROM_IGNORE( 0x6000) // discarding the 2nd half and the unused 0x2000.
|
||||
ROM_REGION( 0x6000, "gfxpool", 0 )
|
||||
ROM_LOAD( "1.ic10", 0x0000, 0x4000, CRC(40bb114e) SHA1(be4636455c6dd303255d21799cd17c590d8f1423) ) // identical halves, 2 bitplanes.
|
||||
ROM_IGNORE( 0x4000) // discarding the 2nd half.
|
||||
ROM_LOAD( "2.ic9", 0x4000, 0x2000, CRC(51c08823) SHA1(123dab7485cac23ee1d72fd50e4af273c946fc56) ) // identical halves, 1 bitplane.
|
||||
ROM_IGNORE( 0x6000) // discarding the 2nd half and the unused 0x2000.
|
||||
|
||||
ROM_REGION( 0x6000, "gfx2", 0 )
|
||||
ROM_LOAD( "1.ic10", 0x0000, 0x4000, CRC(40bb114e) SHA1(be4636455c6dd303255d21799cd17c590d8f1423) ) // identical halves, 2 bitplanes.
|
||||
ROM_IGNORE( 0x4000) // discarding the 2nd half.
|
||||
ROM_LOAD( "2.ic9", 0x4000, 0x2000, CRC(51c08823) SHA1(123dab7485cac23ee1d72fd50e4af273c946fc56) ) // identical halves, 1 bitplane.
|
||||
ROM_IGNORE( 0x6000) // discarding the 2nd half and the unused 0x2000.
|
||||
ROM_REGION( 0x1800, "gfx1", 0 )
|
||||
ROM_COPY( "gfxpool", 0x0000, 0x1000, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x2000, 0x0800, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x4000, 0x0000, 0x0800 ) // src-dest-size
|
||||
|
||||
ROM_REGION( 0x1800, "gfx2", 0 )
|
||||
ROM_COPY( "gfxpool", 0x0800, 0x1000, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x2800, 0x0800, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x4800, 0x0000, 0x0800 ) // src-dest-size
|
||||
|
||||
ROM_REGION( 0x1800, "gfx3", 0 )
|
||||
ROM_COPY( "gfxpool", 0x1000, 0x1000, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x3000, 0x0800, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x5000, 0x0000, 0x0800 ) // src-dest-size
|
||||
|
||||
ROM_REGION( 0x1800, "gfx4", 0 )
|
||||
ROM_COPY( "gfxpool", 0x1800, 0x1000, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x3800, 0x0800, 0x0800 ) // src-dest-size
|
||||
ROM_COPY( "gfxpool", 0x5800, 0x0000, 0x0800 ) // src-dest-size
|
||||
|
||||
// ROM_FILL( 0x0000, 0x1000, 0x0000 ) /* filling the R-G bitplanes */
|
||||
// ROM_FILL( 0x2000, 0x1000, 0x0000 ) /* filling the R-G bitplanes */
|
||||
|
||||
ROM_REGION( 0x0300, "proms", 0 )
|
||||
ROM_LOAD( "82s129_1.ic31", 0x0000, 0x0100, CRC(c3d777b4) SHA1(5a3c0325dcbddde3f8ae2ffbc1cb56cfccda308d) )
|
||||
@ -11800,7 +12007,7 @@ GAMEL( 1990, falcnwlda, falcnwld, wildcard, wildcard, goldnpkr_state, empty_init
|
||||
GAMEL( 1990, falcnwldb, falcnwld, wildcard, wildcard, goldnpkr_state, empty_init, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 2)", 0, layout_goldnpkr )
|
||||
GAME( 1983, falcnwldc, falcnwld, wildcrdb, wildcard, goldnpkr_state, init_flcnw, ROT0, "Falcon", "Falcons Wild - World Wide Poker (Falcon original)", MACHINE_NOT_WORKING )
|
||||
|
||||
GAME( 1987, paradiss, 0, paradiss, wildcard, goldnpkr_state, empty_init, ROT0, "Paradise", "Paradise 21", MACHINE_NOT_WORKING )
|
||||
GAME( 1987, super21p, 0, super21p, super21p, goldnpkr_state, empty_init, ROT0, "Public MNG", "Super 21", MACHINE_IMPERFECT_COLORS )
|
||||
|
||||
GAMEL( 1991, witchcrd, 0, witchcrd, witchcrd, goldnpkr_state, init_vkdlsc, ROT0, "Video Klein?", "Witch Card (Video Klein CPU box, set 1)", 0, layout_goldnpkr )
|
||||
GAME( 1991, witchcda, witchcrd, witchcrd, witchcda, goldnpkr_state, empty_init, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 1)", 0 )
|
||||
|
@ -14437,7 +14437,6 @@ megadpkrb // (c) 1990 Blitz System Inc
|
||||
ngold // 198? Unknown
|
||||
ngolda // 198? Unknown
|
||||
ngoldb // 198? Unknown
|
||||
paradiss // 1987 Paradise
|
||||
pmpoker // (c) 1981 PlayMan
|
||||
poker91 // 1991, Unknown
|
||||
pokerdub // 198?, Unknown
|
||||
@ -14461,6 +14460,7 @@ royalea // Unknown
|
||||
silverga // 1983, Unknown
|
||||
sloco93 // 1993, Unknown
|
||||
sloco93a // 1993, Unknown
|
||||
super21p // 1987, Public MNG
|
||||
super98 // 199?, Unknown
|
||||
superdbl // 198? Karateco
|
||||
videtrna // Unknown
|
||||
|
Loading…
Reference in New Issue
Block a user