Emulated the Video Klein extended hardware, with Dallas Timekeeper,

and the insane 16 graphics banks scheme. Improved the Wild Witch and
Jolli Witch inputs, and switched them to the extended hardware. Got
accurate colors for all the extended sets. Worked inputs and lamps
from the scratch. Added technical notes. [Roberto Fresca]


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Witch Up & Down (Export, 6T/12T ver 0.99) [Roberto Fresca, Team Europe, Marcus Jendroska, Video Klein]
Witch Up & Down (Export, 6T/12T ver 1.02) [Roberto Fresca, Team Europe, Marcus Jendroska, Video Klein]
Wild Witch (Export, 6T/12T ver 1.74A) [Roberto Fresca]
This commit is contained in:
Roberto Fresca 2012-03-13 06:01:19 +00:00
parent e4d9e49667
commit b4cf60c026
5 changed files with 754 additions and 186 deletions

1
.gitattributes vendored
View File

@ -4101,6 +4101,7 @@ src/mame/layout/topspeed.lay svneol=native#text/plain
src/mame/layout/turbo.lay svneol=native#text/plain
src/mame/layout/turbotag.lay svneol=native#text/plain
src/mame/layout/tx1.lay svneol=native#text/plain
src/mame/layout/upndown.lay svneol=native#text/plain
src/mame/layout/victor21.lay svneol=native#text/plain
src/mame/layout/victor5.lay svneol=native#text/plain
src/mame/layout/videocba.lay svneol=native#text/plain

View File

@ -35,6 +35,8 @@
* Witch Game (Video Klein, set 2). 1991, Video Klein.
* Jolli Witch (Export, 6T/12T ver 1.57D). 1994, Video Klein?.
* Wild Witch (Export, 6T/12T ver 1.74A). 1994, Video Klein.
* Witch Up & Down (Export, 6T/12T ver 0.99). 1998, Video Klein.
* Witch Up & Down (Export, 6T/12T ver 1.02). 1998, Video Klein.
* Buena Suerte (Spanish, set 1). 1990, Unknown.
* Buena Suerte (Spanish, set 2). 1991, Unknown.
* Buena Suerte (Spanish, set 3). 1991, Unknown.
@ -801,6 +803,18 @@
- Added technical and game notes.
[2012-03-12]
- Emulated the Video Klein extended hardware, with Dallas Timekeeper,
and the insane 16 graphics banks scheme.
- Added Witch Up & Down (Export, 6T/12T ver 0.99).
- Added Witch Up & Down (Export, 6T/12T ver 1.02).
- Switched Wild Witch and Jolli Witch to the extended hardware.
- Accurate colors.
- Inputs and lamps from the scratch.
- Added technical notes.
TODO:
@ -828,6 +842,7 @@
#include "pmpoker.lh"
#include "goldnpkr.lh"
#include "upndown.lh"
class goldnpkr_state : public driver_device
@ -882,21 +897,20 @@ static TILE_GET_INFO( get_bg_tile_info )
SET_TILE_INFO(bank, code, color, 0);
}
static TILE_GET_INFO( xtnd_get_bg_tile_info )
static TILE_GET_INFO( wcrdxtnd_get_bg_tile_info )
{
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
/* 3 graphics banks system for VK extended cards
/* 16 graphics banks system for VK extended (up & down) PCB's
- bits -
7654 3210
--xx xx-- tiles color.
x--- --x- tiles bank.
-x-- ---x unused.
xx-- --xx tiles bank.
*/
int attr = state->m_colorram[tile_index];
int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
int bank = ((attr & 0x02) >> 1) + ((attr & 0x80) >> 7); /* bit 1 & 7 switch the gfx banks */
int bank = (attr & 0x03) + ((attr & 0xc0) >> 4); /* bits 0, 1, 6 & 7 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
SET_TILE_INFO(bank, code, color, 0);
@ -911,7 +925,7 @@ static VIDEO_START( goldnpkr )
static VIDEO_START( wcrdxtnd )
{
goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
state->m_bg_tilemap = tilemap_create(machine, xtnd_get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
state->m_bg_tilemap = tilemap_create(machine, wcrdxtnd_get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( goldnpkr )
@ -1160,6 +1174,16 @@ static WRITE8_DEVICE_HANDLER( wcfalcon_snd_w )
------------------
NONE. Just they lack of lamps...
--------
wupndown
--------
7654 3210
---- ---x Bet Lamp.
---- --x- Deal Lamp.
---- -x-- Holds+Cancel Lamps.
---- x--- Take Lamp.
*/
static WRITE8_DEVICE_HANDLER( lamps_a_w )
@ -1174,6 +1198,8 @@ static WRITE8_DEVICE_HANDLER( lamps_a_w )
coin_counter_w(device->machine(), 1, data & 0x80); /* counter2 */
coin_counter_w(device->machine(), 2, data & 0x20); /* counter3 */
// popmessage("written : %02X", (0xff - data));
/* Counters:
bit 5 = Coin out
@ -2224,10 +2250,10 @@ INPUT_PORTS_END
static INPUT_PORTS_START( wldwitch )
/* Multiplexed - 4x5bits */
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Meters")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Draw")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet (Setzen)")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Bookkeeping / Test")
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("Deal (Geben)")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -2236,7 +2262,7 @@ static INPUT_PORTS_START( wldwitch )
PORT_START("IN0-1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_IMPULSE(3) PORT_NAME("Manual Collect") PORT_CODE(KEYCODE_Q)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_W)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take")
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 )
@ -2254,8 +2280,8 @@ static INPUT_PORTS_START( wldwitch )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN0-3")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // service F2?
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service") PORT_CODE(KEYCODE_F2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN3-2")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("Coin In")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Weight (Coupon In)")
@ -2343,7 +2369,7 @@ static INPUT_PORTS_START( wldwitch )
PORT_DIPNAME( 0x04, 0x04, "Game Type" ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, "Wild Witch" )
PORT_DIPSETTING( 0x00, "Witch Game" )
PORT_DIPNAME( 0x08, 0x08, "Taster?" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPNAME( 0x08, 0x08, "Control Type" ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x00, "6 Taster" )
PORT_DIPSETTING( 0x08, "12 Taster" )
PORT_DIPNAME( 0x10, 0x00, "Minimal Hand" ) PORT_DIPLOCATION("SW2:5")
@ -2360,6 +2386,101 @@ static INPUT_PORTS_START( wldwitch )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
INPUT_PORTS_END
static INPUT_PORTS_START( wupndown )
/* Multiplexed - 4x5bits */
PORT_START("IN0-0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet (Setzen)")
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Bookkeeping / Test")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal (Geben)")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
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_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Payout") PORT_CODE(KEYCODE_W)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take")
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("IN0-2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Take")
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_NAME("Hold 5 / Double-Up")
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_SERVICE ) PORT_NAME("Service") PORT_CODE(KEYCODE_F2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("Coin In")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Weight (Coupon In)")
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( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("SW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, "Minimal Hand" ) PORT_DIPLOCATION("SW2:5")
PORT_DIPSETTING( 0x10, "2 Paar" )
PORT_DIPSETTING( 0x00, "Hohes Paar" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( sloco93 )
/* Multiplexed - 4x5bits */
PORT_INCLUDE( witchcda )
@ -2831,12 +2952,24 @@ static GFXDECODE_START( goldnpkr )
GFXDECODE_END
static GFXDECODE_START( wcrdxtnd )
GFXDECODE_ENTRY( "gfx0", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx5", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx6", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx7", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx8", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx9", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx10", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx11", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx12", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx13", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx14", 0, tilelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx15", 0, tilelayout, 0, 16 )
GFXDECODE_END
/*******************************************
* PIA Interfaces *
*******************************************/
@ -4791,37 +4924,105 @@ ROM_START( pokerduc )
ROM_END
/* Jolli Witch (german)
/************************************
Jolli Witch (german)
Epoxy CPU box.
Using the whole addressing
*/
************************************/
ROM_START( witchjol )
ROM_REGION( 0x10000, "maincpu", 0 ) /* inside epoxy block with the CPU */
ROM_LOAD( "27c256.bin", 0x8000, 0x8000, CRC(14f05e3b) SHA1(83578f6a82b0974dd0325903926b2fd0d8e5c236) )
ROM_REGION( 0x6000, "temp", 0 )
ROM_LOAD( "iii.5a", 0x0000, 0x2000, CRC(5ea338da) SHA1(5e55e17689541ffb9c23e45f689dda98a79bf789) )
ROM_LOAD( "ii.4a", 0x2000, 0x2000, CRC(044dfac0) SHA1(721f8f57e05ddcbdb838d12fd3e81a45346ee6db) )
ROM_LOAD( "i.2a", 0x4000, 0x2000, CRC(d467f6e2) SHA1(6aaf4cdfb76f5efeeee45635fea120711483648e) )
ROM_REGION( 0x18000, "temp", 0 )
ROM_LOAD( "iii.5a", 0x00000, 0x2000, CRC(5ea338da) SHA1(5e55e17689541ffb9c23e45f689dda98a79bf789) )
ROM_LOAD( "ii.4a", 0x10000, 0x2000, CRC(044dfac0) SHA1(721f8f57e05ddcbdb838d12fd3e81a45346ee6db) )
ROM_LOAD( "i.2a", 0x08000, 0x2000, CRC(d467f6e2) SHA1(6aaf4cdfb76f5efeeee45635fea120711483648e) )
ROM_REGION( 0x1800, "gfx0", 0 )
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling bitplanes */
ROM_COPY( "temp", 0x0000, 0x1000, 0x0800 ) /* 0000-07ff of iii.5a - char rom, bitplane 3 */
ROM_REGION( 0x1800, "gfx1", 0 )
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling bitplanes */
ROM_COPY( "temp", 0x0000, 0x1000, 0x0800 ) /* 0000-07ff of 03.a3 - char rom, bitplane 3*/
ROM_COPY( "temp", 0x08800, 0x0000, 0x0800 ) /* 0800-0fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x10800, 0x0800, 0x0800 ) /* 0800-0fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x01000, 0x1000, 0x0800 ) /* 1000-17ff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx2", 0 )
ROM_COPY( "temp", 0x4000, 0x0000, 0x0800 ) /* 0800-0fff of 03.a3 - regular cards gfx, bitplane 3 */
ROM_COPY( "temp", 0x2000, 0x0800, 0x0800 ) /* 0000-07ff of 02.a2 - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x0800, 0x1000, 0x0800 ) /* 0000-07ff of 01.a1 - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x08000, 0x0000, 0x0800 ) /* 0000-07ff of i.2a - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x10000, 0x0800, 0x0800 ) /* 0000-07ff of ii.4a - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x00800, 0x1000, 0x0800 ) /* 0800-0fff of iii.5a - regular cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx3", 0 )
ROM_COPY( "temp", 0x05000, 0x0000, 0x0800 ) /* 1800-1fff of 03.a3 - extended cards gfx, bitplane 3 */
ROM_COPY( "temp", 0x03000, 0x0800, 0x0800 ) /* 1000-17ff of 02.a2 - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x01800, 0x1000, 0x0800 ) /* 1000-17ff of 01.a1 - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x0c000, 0x0000, 0x0800 ) /* 4000-47ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x14000, 0x0800, 0x0800 ) /* 4000-47ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x04800, 0x1000, 0x0800 ) /* 4800-4fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx4", 0 )
ROM_COPY( "temp", 0x09800, 0x0000, 0x0800 ) /* 1800-1fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x11800, 0x0800, 0x0800 ) /* 1800-1fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x02000, 0x1000, 0x0800 ) /* 1800-1fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx5", 0 )
ROM_COPY( "temp", 0x0a000, 0x0000, 0x0800 ) /* 2000-27ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x12000, 0x0800, 0x0800 ) /* 2000-27ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x02800, 0x1000, 0x0800 ) /* 2800-2fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx6", 0 )
ROM_COPY( "temp", 0x0a800, 0x0000, 0x0800 ) /* 2800-2fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x12800, 0x0800, 0x0800 ) /* 2800-2fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x03000, 0x1000, 0x0800 ) /* 3000-37ff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx7", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx8", 0 )
ROM_COPY( "temp", 0x0b800, 0x0000, 0x0800 ) /* 3800-3fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x13800, 0x0800, 0x0800 ) /* 3800-3fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x04000, 0x1000, 0x0800 ) /* 3800-3fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx9", 0 )
ROM_COPY( "temp", 0x0c800, 0x0000, 0x0800 ) /* 4800-4fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x14800, 0x0800, 0x0800 ) /* 4800-4fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x05000, 0x1000, 0x0800 ) /* 4000-47ff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx10", 0 )
ROM_COPY( "temp", 0x09000, 0x0000, 0x0800 ) /* 1000-17ff of i.2a - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x11000, 0x0800, 0x0800 ) /* 1000-17ff of ii.4a - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x01800, 0x1000, 0x0800 ) /* 1800-1fff of iii.5a - extended cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx11", 0 )
ROM_COPY( "temp", 0x0d000, 0x0000, 0x0800 ) /* 5000-57ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x15000, 0x0800, 0x0800 ) /* 5000-57ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x05800, 0x1000, 0x0800 ) /* 5800-5fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx12", 0 )
ROM_COPY( "temp", 0x0d800, 0x0000, 0x0800 ) /* 5800-5fff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x15800, 0x0800, 0x0800 ) /* 5800-5fff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x06000, 0x1000, 0x0800 ) /* 6000-67ff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx13", 0 )
ROM_COPY( "temp", 0x0e000, 0x0000, 0x0800 ) /* 6000-67ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x16000, 0x0800, 0x0800 ) /* 6000-67ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x06800, 0x1000, 0x0800 ) /* 6800-6fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx14", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx15", 0 )
ROM_COPY( "temp", 0x0f000, 0x0000, 0x0800 ) /* 7000-77ff of i.2a - empty, bitplane 1 */
ROM_COPY( "temp", 0x17000, 0x0800, 0x0800 ) /* 7000-77ff of ii.4a - empty, bitplane 2 */
ROM_COPY( "temp", 0x07800, 0x1000, 0x0800 ) /* 7800-7fff of iii.5a - empty, bitplane 3 */
ROM_REGION( 0x0100, "proms", 0 )
// ROM_LOAD( "24s10.bin", 0x0000, 0x0100, BAD_DUMP CRC(d5018fc0) SHA1(05c67d84da0a4053bcd3b9d144643d83892470ef) )
ROM_LOAD( "24s10.clr", 0x0000, 0x0100, BAD_DUMP CRC(560aafa5) SHA1(a85a72f7616146eae0d00b2fedf7b053a4794d10) )
ROM_LOAD( "witchjol_tbp.bin", 0x0000, 0x0100, BAD_DUMP CRC(ed15125b) SHA1(56fc00f2ce4ebe9cee73a45b142c33c00432b66b) )
ROM_END
/******************************************
@ -4843,26 +5044,90 @@ ROM_START( wldwitch )
ROM_REGION( 0x18000, "temp", 0 )
ROM_LOAD( "03.a3", 0x00000, 0x8000, CRC(ae474414) SHA1(6dee760cee18e125791c17b562ca8aabe1f4593e) )
ROM_LOAD( "02.a2", 0x08000, 0x8000, CRC(f6450111) SHA1(8b44c90c62d5026ccfba88b31e1113e01c6bcf85) )
ROM_LOAD( "01.a1", 0x10000, 0x8000, CRC(6d644987) SHA1(26243abe051f3266e2d1743ec599d4e8bbb692e4) )
ROM_LOAD( "02.a2", 0x10000, 0x8000, CRC(f6450111) SHA1(8b44c90c62d5026ccfba88b31e1113e01c6bcf85) )
ROM_LOAD( "01.a1", 0x08000, 0x8000, CRC(6d644987) SHA1(26243abe051f3266e2d1743ec599d4e8bbb692e4) )
ROM_REGION( 0x1800, "gfx1", 0 )
ROM_REGION( 0x1800, "gfx0", 0 )
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling bitplanes */
ROM_COPY( "temp", 0x0000, 0x1000, 0x0800 ) /* 0000-07ff of 03.a3 - char rom, bitplane 3 */
ROM_REGION( 0x1800, "gfx1", 0 )
ROM_COPY( "temp", 0x08800, 0x0000, 0x0800 ) /* 0800-0fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x10800, 0x0800, 0x0800 ) /* 0800-0fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x01000, 0x1000, 0x0800 ) /* 1000-17ff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx2", 0 )
ROM_COPY( "temp", 0x10000, 0x0000, 0x0800 ) /* 0000-07ff of 01.a1 - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x08000, 0x0800, 0x0800 ) /* 0000-07ff of 02.a2 - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x08000, 0x0000, 0x0800 ) /* 0000-07ff of 01.a1 - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x10000, 0x0800, 0x0800 ) /* 0000-07ff of 02.a2 - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x00800, 0x1000, 0x0800 ) /* 0800-0fff of 03.a3 - regular cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx3", 0 )
ROM_COPY( "temp", 0x11000, 0x0000, 0x0800 ) /* 1000-17ff of 01.a1 - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x09000, 0x0800, 0x0800 ) /* 1000-17ff of 02.a2 - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x0c000, 0x0000, 0x0800 ) /* 4000-47ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x14000, 0x0800, 0x0800 ) /* 4000-47ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x04800, 0x1000, 0x0800 ) /* 4800-4fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx4", 0 )
ROM_COPY( "temp", 0x09800, 0x0000, 0x0800 ) /* 1800-1fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x11800, 0x0800, 0x0800 ) /* 1800-1fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x02000, 0x1000, 0x0800 ) /* 1800-1fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx5", 0 )
ROM_COPY( "temp", 0x0a000, 0x0000, 0x0800 ) /* 2000-27ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x12000, 0x0800, 0x0800 ) /* 2000-27ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x02800, 0x1000, 0x0800 ) /* 2800-2fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx6", 0 )
ROM_COPY( "temp", 0x0a800, 0x0000, 0x0800 ) /* 2800-2fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x12800, 0x0800, 0x0800 ) /* 2800-2fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x03000, 0x1000, 0x0800 ) /* 3000-37ff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx7", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx8", 0 )
ROM_COPY( "temp", 0x0b800, 0x0000, 0x0800 ) /* 3800-3fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x13800, 0x0800, 0x0800 ) /* 3800-3fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x04000, 0x1000, 0x0800 ) /* 3800-3fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx9", 0 )
ROM_COPY( "temp", 0x0c800, 0x0000, 0x0800 ) /* 4800-4fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x14800, 0x0800, 0x0800 ) /* 4800-4fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x05000, 0x1000, 0x0800 ) /* 4000-47ff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx10", 0 )
ROM_COPY( "temp", 0x09000, 0x0000, 0x0800 ) /* 1000-17ff of 01.a1 - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x11000, 0x0800, 0x0800 ) /* 1000-17ff of 02.a2 - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x01800, 0x1000, 0x0800 ) /* 1800-1fff of 03.a3 - extended cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx11", 0 )
ROM_COPY( "temp", 0x0d000, 0x0000, 0x0800 ) /* 5000-57ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x15000, 0x0800, 0x0800 ) /* 5000-57ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x05800, 0x1000, 0x0800 ) /* 5800-5fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx12", 0 )
ROM_COPY( "temp", 0x0d800, 0x0000, 0x0800 ) /* 5800-5fff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x15800, 0x0800, 0x0800 ) /* 5800-5fff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x06000, 0x1000, 0x0800 ) /* 6000-67ff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx13", 0 )
ROM_COPY( "temp", 0x0e000, 0x0000, 0x0800 ) /* 6000-67ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x16000, 0x0800, 0x0800 ) /* 6000-67ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x06800, 0x1000, 0x0800 ) /* 6800-6fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx14", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx15", 0 )
ROM_COPY( "temp", 0x0f000, 0x0000, 0x0800 ) /* 7000-77ff of 01.a1 - empty, bitplane 1 */
ROM_COPY( "temp", 0x17000, 0x0800, 0x0800 ) /* 7000-77ff of 02.a2 - empty, bitplane 2 */
ROM_COPY( "temp", 0x07800, 0x1000, 0x0800 ) /* 7800-7fff of 03.a3 - empty, bitplane 3 */
ROM_REGION( 0x0100, "proms", 0 )
// ROM_LOAD( "24s10.bin", 0x0000, 0x0100, BAD_DUMP CRC(d5018fc0) SHA1(05c67d84da0a4053bcd3b9d144643d83892470ef) )
ROM_LOAD( "24s10.clr", 0x0000, 0x0100, BAD_DUMP CRC(560aafa5) SHA1(a85a72f7616146eae0d00b2fedf7b053a4794d10) )
ROM_LOAD( "wldwitch_tbp.bin", 0x0000, 0x0100, BAD_DUMP CRC(ed15125b) SHA1(56fc00f2ce4ebe9cee73a45b142c33c00432b66b) )
ROM_REGION( 0x0400, "proms2", 0 )
ROM_LOAD( "82s137.box", 0x0000, 0x0400, CRC(4ae3ecf5) SHA1(e1e540ae13e7ce5ac6391f325160ec997ea6cc2f) )
@ -4919,6 +5184,201 @@ ROM_START( caspoker )
ROM_LOAD( "24sa10.bin", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */
ROM_END
/************************************************
Witch Up & Down
(1988, Video Klein)
16 gfx banks!!!.
an insane work :)
************************************************/
ROM_START( wupndown ) /* Witch Up & Down (Export, 6T/12T ver 1.02) */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "updown_19981024.bin", 0x8000, 0x8000, CRC(cea0dcbd) SHA1(732ec0c60529f4a4a6c3d7a9bfcab741f3cb4787) )
ROM_REGION( 0x18000, "temp", 0 )
ROM_LOAD( "updown1.bin", 0x00000, 0x8000, CRC(c37aad3e) SHA1(1c957838a0d50bb8a5808a58c87d22dfc13c645d) )
ROM_LOAD( "updown2.bin", 0x08000, 0x8000, CRC(47cdd068) SHA1(fe641c66915153ae6e8e5492c225157cbd02bd4c) )
ROM_LOAD( "updown3.bin", 0x10000, 0x8000, CRC(905c3224) SHA1(6356f2bd8a1f8952b186dc6f9ed1705d1e918a64) )
ROM_REGION( 0x1800, "gfx0", 0 )
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling bitplanes */
ROM_COPY( "temp", 0x0000, 0x1000, 0x0800 ) /* 0000-07ff of updown1.bin - char rom, bitplane 3 */
ROM_REGION( 0x1800, "gfx1", 0 )
ROM_COPY( "temp", 0x08800, 0x0000, 0x0800 ) /* 0800-0fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x10800, 0x0800, 0x0800 ) /* 0800-0fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x01000, 0x1000, 0x0800 ) /* 1000-17ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx2", 0 )
ROM_COPY( "temp", 0x08000, 0x0000, 0x0800 ) /* 0000-07ff of updown2.bin - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x10000, 0x0800, 0x0800 ) /* 0000-07ff of updown3.bin - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x00800, 0x1000, 0x0800 ) /* 0800-0fff of updown1.bin - regular cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx3", 0 )
ROM_COPY( "temp", 0x0c000, 0x0000, 0x0800 ) /* 4000-47ff of updown2.bin - upper-left box tiles, bitplane 1 */
ROM_COPY( "temp", 0x14000, 0x0800, 0x0800 ) /* 4000-47ff of updown3.bin - upper-left box tiles, bitplane 2 */
ROM_COPY( "temp", 0x04800, 0x1000, 0x0800 ) /* 4800-4fff of updown1.bin - upper-left box tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx4", 0 )
ROM_COPY( "temp", 0x09800, 0x0000, 0x0800 ) /* 1800-1fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x11800, 0x0800, 0x0800 ) /* 1800-1fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x02000, 0x1000, 0x0800 ) /* 1800-1fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx5", 0 )
ROM_COPY( "temp", 0x0a000, 0x0000, 0x0800 ) /* 2000-27ff of updown2.bin - giant 'Video Klein' logo tiles, bitplane 1 */
ROM_COPY( "temp", 0x12000, 0x0800, 0x0800 ) /* 2000-27ff of updown3.bin - giant 'Video Klein' logo tiles, bitplane 2 */
ROM_COPY( "temp", 0x02800, 0x1000, 0x0800 ) /* 2800-2fff of updown1.bin - giant 'Video Klein' logo tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx6", 0 )
ROM_COPY( "temp", 0x0a800, 0x0000, 0x0800 ) /* 2800-2fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x12800, 0x0800, 0x0800 ) /* 2800-2fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x03000, 0x1000, 0x0800 ) /* 3000-37ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx7", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of updown2.bin - D-UP ladder tiles, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of updown3.bin - D-UP ladder tiles, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - D-UP ladder tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx8", 0 )
ROM_COPY( "temp", 0x0b800, 0x0000, 0x0800 ) /* 3800-3fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x13800, 0x0800, 0x0800 ) /* 3800-3fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x04000, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx9", 0 )
ROM_COPY( "temp", 0x0c800, 0x0000, 0x0800 ) /* 4800-4fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x14800, 0x0800, 0x0800 ) /* 4800-4fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x05000, 0x1000, 0x0800 ) /* 4000-47ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx10", 0 )
ROM_COPY( "temp", 0x09000, 0x0000, 0x0800 ) /* 1000-17ff of updown2.bin - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x11000, 0x0800, 0x0800 ) /* 1000-17ff of updown3.bin - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x01800, 0x1000, 0x0800 ) /* 1800-1fff of updown1.bin - extended cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx11", 0 )
ROM_COPY( "temp", 0x0d000, 0x0000, 0x0800 ) /* 5000-57ff of updown2.bin - 'Up & Down' logo tiles, bitplane 1 */
ROM_COPY( "temp", 0x15000, 0x0800, 0x0800 ) /* 5000-57ff of updown3.bin - 'Up & Down' logo tiles, bitplane 2 */
ROM_COPY( "temp", 0x05800, 0x1000, 0x0800 ) /* 5800-5fff of updown1.bin - 'Up & Down' logo tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx12", 0 )
ROM_COPY( "temp", 0x0d800, 0x0000, 0x0800 ) /* 5800-5fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x15800, 0x0800, 0x0800 ) /* 5800-5fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x06000, 0x1000, 0x0800 ) /* 6000-67ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx13", 0 )
ROM_COPY( "temp", 0x0e000, 0x0000, 0x0800 ) /* 6000-67ff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x16000, 0x0800, 0x0800 ) /* 6000-67ff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x06800, 0x1000, 0x0800 ) /* 6800-6fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx14", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of updown2.bin - D-UP ladder tiles, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of updown3.bin - D-UP ladder tiles, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - D-UP ladder tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx15", 0 )
ROM_COPY( "temp", 0x0f000, 0x0000, 0x0800 ) /* 7000-77ff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x17000, 0x0800, 0x0800 ) /* 7000-77ff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x07800, 0x1000, 0x0800 ) /* 7800-7fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "updown_tbp.bin", 0x0000, 0x0100, BAD_DUMP CRC(ed15125b) SHA1(56fc00f2ce4ebe9cee73a45b142c33c00432b66b) )
ROM_END
ROM_START( wupndowna ) /* Witch Up & Down (Export, 6T/12T ver 0.99) */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "updown_19980409.bin", 0x8000, 0x8000, CRC(f0f0da16) SHA1(06d89881347d9bf2a09734ec4d405ff1c9fea0a8) )
ROM_REGION( 0x18000, "temp", 0 )
ROM_LOAD( "updown1.bin", 0x00000, 0x8000, CRC(c37aad3e) SHA1(1c957838a0d50bb8a5808a58c87d22dfc13c645d) )
ROM_LOAD( "updown2.bin", 0x08000, 0x8000, CRC(47cdd068) SHA1(fe641c66915153ae6e8e5492c225157cbd02bd4c) )
ROM_LOAD( "updown3.bin", 0x10000, 0x8000, CRC(905c3224) SHA1(6356f2bd8a1f8952b186dc6f9ed1705d1e918a64) )
ROM_REGION( 0x1800, "gfx0", 0 )
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling bitplanes */
ROM_COPY( "temp", 0x0000, 0x1000, 0x0800 ) /* 0000-07ff of updown1.bin - char rom, bitplane 3 */
ROM_REGION( 0x1800, "gfx1", 0 )
ROM_COPY( "temp", 0x08800, 0x0000, 0x0800 ) /* 0800-0fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x10800, 0x0800, 0x0800 ) /* 0800-0fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x01000, 0x1000, 0x0800 ) /* 1000-17ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx2", 0 )
ROM_COPY( "temp", 0x08000, 0x0000, 0x0800 ) /* 0000-07ff of updown2.bin - regular cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x10000, 0x0800, 0x0800 ) /* 0000-07ff of updown3.bin - regular cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x00800, 0x1000, 0x0800 ) /* 0800-0fff of updown1.bin - regular cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx3", 0 )
ROM_COPY( "temp", 0x0c000, 0x0000, 0x0800 ) /* 4000-47ff of updown2.bin - upper-left box tiles, bitplane 1 */
ROM_COPY( "temp", 0x14000, 0x0800, 0x0800 ) /* 4000-47ff of updown3.bin - upper-left box tiles, bitplane 2 */
ROM_COPY( "temp", 0x04800, 0x1000, 0x0800 ) /* 4800-4fff of updown1.bin - upper-left box tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx4", 0 )
ROM_COPY( "temp", 0x09800, 0x0000, 0x0800 ) /* 1800-1fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x11800, 0x0800, 0x0800 ) /* 1800-1fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x02000, 0x1000, 0x0800 ) /* 1800-1fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx5", 0 )
ROM_COPY( "temp", 0x0a000, 0x0000, 0x0800 ) /* 2000-27ff of updown2.bin - giant 'Video Klein' logo tiles, bitplane 1 */
ROM_COPY( "temp", 0x12000, 0x0800, 0x0800 ) /* 2000-27ff of updown3.bin - giant 'Video Klein' logo tiles, bitplane 2 */
ROM_COPY( "temp", 0x02800, 0x1000, 0x0800 ) /* 2800-2fff of updown1.bin - giant 'Video Klein' logo tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx6", 0 )
ROM_COPY( "temp", 0x0a800, 0x0000, 0x0800 ) /* 2800-2fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x12800, 0x0800, 0x0800 ) /* 2800-2fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x03000, 0x1000, 0x0800 ) /* 3000-37ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx7", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of updown2.bin - D-UP ladder tiles, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of updown3.bin - D-UP ladder tiles, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - D-UP ladder tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx8", 0 )
ROM_COPY( "temp", 0x0b800, 0x0000, 0x0800 ) /* 3800-3fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x13800, 0x0800, 0x0800 ) /* 3800-3fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x04000, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx9", 0 )
ROM_COPY( "temp", 0x0c800, 0x0000, 0x0800 ) /* 4800-4fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x14800, 0x0800, 0x0800 ) /* 4800-4fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x05000, 0x1000, 0x0800 ) /* 4000-47ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx10", 0 )
ROM_COPY( "temp", 0x09000, 0x0000, 0x0800 ) /* 1000-17ff of updown2.bin - extended cards gfx, bitplane 1 */
ROM_COPY( "temp", 0x11000, 0x0800, 0x0800 ) /* 1000-17ff of updown3.bin - extended cards gfx, bitplane 2 */
ROM_COPY( "temp", 0x01800, 0x1000, 0x0800 ) /* 1800-1fff of updown1.bin - extended cards gfx, bitplane 3 */
ROM_REGION( 0x1800, "gfx11", 0 )
ROM_COPY( "temp", 0x0d000, 0x0000, 0x0800 ) /* 5000-57ff of updown2.bin - 'Up & Down' logo tiles, bitplane 1 */
ROM_COPY( "temp", 0x15000, 0x0800, 0x0800 ) /* 5000-57ff of updown3.bin - 'Up & Down' logo tiles, bitplane 2 */
ROM_COPY( "temp", 0x05800, 0x1000, 0x0800 ) /* 5800-5fff of updown1.bin - 'Up & Down' logo tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx12", 0 )
ROM_COPY( "temp", 0x0d800, 0x0000, 0x0800 ) /* 5800-5fff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x15800, 0x0800, 0x0800 ) /* 5800-5fff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x06000, 0x1000, 0x0800 ) /* 6000-67ff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx13", 0 )
ROM_COPY( "temp", 0x0e000, 0x0000, 0x0800 ) /* 6000-67ff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x16000, 0x0800, 0x0800 ) /* 6000-67ff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x06800, 0x1000, 0x0800 ) /* 6800-6fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x1800, "gfx14", 0 )
ROM_COPY( "temp", 0x0b000, 0x0000, 0x0800 ) /* 3000-37ff of updown2.bin - D-UP ladder tiles, bitplane 1 */
ROM_COPY( "temp", 0x13000, 0x0800, 0x0800 ) /* 3000-37ff of updown3.bin - D-UP ladder tiles, bitplane 2 */
ROM_COPY( "temp", 0x03800, 0x1000, 0x0800 ) /* 3800-3fff of updown1.bin - D-UP ladder tiles, bitplane 3 */
ROM_REGION( 0x1800, "gfx15", 0 )
ROM_COPY( "temp", 0x0f000, 0x0000, 0x0800 ) /* 7000-77ff of updown2.bin - empty, bitplane 1 */
ROM_COPY( "temp", 0x17000, 0x0800, 0x0800 ) /* 7000-77ff of updown3.bin - empty, bitplane 2 */
ROM_COPY( "temp", 0x07800, 0x1000, 0x0800 ) /* 7800-7fff of updown1.bin - empty, bitplane 3 */
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "updown_tbp.bin", 0x0000, 0x0100, BAD_DUMP CRC(ed15125b) SHA1(56fc00f2ce4ebe9cee73a45b142c33c00432b66b) )
ROM_END
/*********************************************
* Driver Init *
@ -5154,10 +5614,12 @@ GAMEL( 1985, witchcdf, witchcrd, witchcrd, witchcdf, 0, ROT0, "PM / Bec
GAMEL( 199?, witchcdg, witchcrd, wcfalcon, witchcrd, 0, ROT0, "Falcon", "Witch Card (Falcon, enhanced sound)", 0, layout_goldnpkr )
GAMEL( 1994, witchcdh, witchcrd, witchcrd, witchcdd, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 2 )", 0, layout_goldnpkr )
GAMEL( 1994, witchcdi, witchcrd, witchcrd, witchcdd, 0, ROT0, "Proma", "Witch Card (German, WC3050, 27-4-94)", 0, layout_goldnpkr )
GAMEL( 1991, witchgme, witchcrd, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 1)", 0, layout_goldnpkr )
GAMEL( 1997, witchcdk, witchcrd, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 2)", GAME_NOT_WORKING, layout_goldnpkr )
GAMEL( 1994, witchjol, witchcrd, wcrdxtnd, witchjol, vkdlsa, ROT0, "Video Klein?", "Jolli Witch (Export, 6T/12T ver 1.57D)", GAME_IMPERFECT_COLORS, layout_goldnpkr )
GAMEL( 1994, wldwitch, witchcrd, wcrdxtnd, wldwitch, vkdlsb, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A)", GAME_IMPERFECT_COLORS, layout_goldnpkr )
GAMEL( 1991, witchgme, 0, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 1)", 0, layout_goldnpkr )
GAMEL( 1997, witchcdk, witchgme, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 2)", GAME_NOT_WORKING, layout_goldnpkr )
GAMEL( 1994, witchjol, 0, wcrdxtnd, witchjol, vkdlsa, ROT0, "Video Klein", "Jolli Witch (Export, 6T/12T ver 1.57D)", 0, layout_goldnpkr )
GAMEL( 1994, wldwitch, 0, wcrdxtnd, wldwitch, vkdlsb, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A)", 0, layout_goldnpkr )
GAMEL( 1998, wupndown, 0, wcrdxtnd, wupndown, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 1.02)", 0, layout_upndown )
GAMEL( 1998, wupndowna, wupndown, wcrdxtnd, wupndown, 0, ROT0, "Video Klein", "Witch Up & Down (Export, 6T/12T ver 0.99)", 0, layout_upndown )
GAMEL( 1990, bsuerte, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 1)", 0, layout_goldnpkr )
GAMEL( 1991, bsuertea, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 2)", 0, layout_goldnpkr )

102
src/mame/layout/upndown.lay Normal file
View File

@ -0,0 +1,102 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="BET" defstate="1">
<rect state="1">
<color red="1.0" green="1.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.2" blue="0.0" />
</rect>
<text string="BET">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="DEAL" defstate="1">
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.0" green="0.2" blue="0.0" />
</rect>
<text string="DEAL">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="HOLD" defstate="1">
<rect state="1">
<color red="1.0" green="0.5" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.1" blue="0.0" />
</rect>
<text string="HOLD">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="TAKE" defstate="1">
<rect state="1">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<text string="TAKE">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="CANCEL" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="CANCEL">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<view name="Button Lamps">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<bezel name="lamp2" element="HOLD">
<bounds x="0.0" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="HOLD">
<bounds x="0.4" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="HOLD">
<bounds x="0.8" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="HOLD">
<bounds x="1.2" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="HOLD">
<bounds x="1.6" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="CANCEL">
<bounds x="2.0" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp0" element="BET">
<bounds x="2.85" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp1" element="DEAL">
<bounds x="3.25" y="3.45" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp3" element="TAKE">
<bounds x="3.65" y="3.45" width="0.35" height="0.24" />
</bezel>
</view>
</mamelayout>

View File

@ -10556,6 +10556,8 @@ witchgme // (c) 1991 Video Klein
witchcdk // (c) 1991, Video Klein
witchjol // 1994, Unknown
wldwitch // 1994, Video Klein
wupndown // 1998, Video Klein
wupndowna // 1998, Video Klein
falcnwld // 1991, TVG
falcnwlda // (c) 1990, Video Klein
falcnwldb // (c) 1983, Falcon

View File

@ -1986,7 +1986,8 @@ $(DRIVERS)/gatron.o: $(LAYOUT)/poker41.lh \
$(LAYOUT)/pulltabs.lh
$(DRIVERS)/goldnpkr.o: $(LAYOUT)/goldnpkr.lh \
$(LAYOUT)/pmpoker.lh
$(LAYOUT)/pmpoker.lh \
$(LAYOUT)/upndown.lh
$(DRIVERS)/goldstar.o: $(LAYOUT)/lucky8.lh \
$(LAYOUT)/bingowng.lh