mirror of
https://github.com/holub/mame
synced 2025-04-28 11:11:48 +03:00
Fixed palette / priority handling in Lucky Girl (Newer Z180 hardware) [David Haywood]
new clones ---------- Phantoms II (Space Invaders hardware) [Andrew Welburn] (enigma2b) Toki (US, set 2) [Corrado Tomaselli] (tokiua) new not working --------------- Unknown Meyco Game [Trevor Brown, Antwon Barajas] (unkmeyco)
This commit is contained in:
parent
cc4ff7570d
commit
f5e34d9b12
@ -4,17 +4,20 @@ Enigma 2 (c) Zilec Electronics
|
|||||||
|
|
||||||
driver by Pierpaolo Prazzoli and Tomasz Slanina
|
driver by Pierpaolo Prazzoli and Tomasz Slanina
|
||||||
|
|
||||||
Two sets:
|
|
||||||
|
|
||||||
Enigma2 (1981)
|
enigma2 (1981)
|
||||||
2xZ80 + AY8910
|
2xZ80 + AY8910
|
||||||
|
Original dedicated board
|
||||||
|
|
||||||
Enigma2a (1984?)
|
enigma2a (1984?)
|
||||||
Conversion applied to a Taito Space Invaders Part II board set. Bootleg ?
|
Conversion applied to a Taito Space Invaders Part II board set with 1984 copyrighy. hack / Bootleg ?
|
||||||
|
|
||||||
|
enigma2b (1981)
|
||||||
|
Conversion like enigma2a, but boots with 1981 copyright and Phantoms II title
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- enigma2 - Star blinking frequency
|
- enigma2 - Star blinking frequency
|
||||||
- enigma2a - bad sound ROM
|
- enigma2a + enigma2b - bad sound ROM?
|
||||||
|
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
@ -695,6 +698,19 @@ ROM_START( enigma2a )
|
|||||||
ROM_LOAD( "sound.bin", 0x0000, 0x0800, BAD_DUMP CRC(5f092d3c) SHA1(17c70f6af1b5560a45e6b1bdb330a98b27570fe9) )
|
ROM_LOAD( "sound.bin", 0x0000, 0x0800, BAD_DUMP CRC(5f092d3c) SHA1(17c70f6af1b5560a45e6b1bdb330a98b27570fe9) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( enigma2b )
|
||||||
|
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||||
|
ROM_LOAD( "ic36.bin", 0x0000, 0x0800, CRC(71dc9ecc) SHA1(a41260259cf0a36b01b5e8ad35cf968e920d22d9) )
|
||||||
|
ROM_LOAD( "ic35.bin", 0x0800, 0x0800, CRC(e841072f) SHA1(6ab02fd9fdeac5ab887cd25eee3d6b70ab01f849) )
|
||||||
|
ROM_LOAD( "ic34.bin", 0x1000, 0x0800, CRC(1384073d) SHA1(7a3a910c0431e680cc952a10a040b02f3df0532a) )
|
||||||
|
ROM_LOAD( "ic33.bin", 0x1800, 0x0800, CRC(ac6c2410) SHA1(d35565a5ffe795d0c36970bd9c2f948bf79e0ed8) )
|
||||||
|
ROM_LOAD( "ic32.bin", 0x4000, 0x0800, CRC(098ac15b) SHA1(cce28a2540a9eabb473391fff92895129ae41751) )
|
||||||
|
ROM_LOAD( "ic42.bin", 0x4800, 0x0800, CRC(240a9d4b) SHA1(ca1c69fafec0471141ce1254ddfaef54fecfcbf0) )
|
||||||
|
|
||||||
|
/* this rom was completely broken on this pcb.. */
|
||||||
|
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||||
|
ROM_LOAD( "sound.bin", 0x0000, 0x0800, BAD_DUMP CRC(5f092d3c) SHA1(17c70f6af1b5560a45e6b1bdb330a98b27570fe9) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
static DRIVER_INIT(enigma2)
|
static DRIVER_INIT(enigma2)
|
||||||
@ -712,3 +728,4 @@ static DRIVER_INIT(enigma2)
|
|||||||
|
|
||||||
GAME( 1981, enigma2, 0, enigma2, enigma2, enigma2, ROT270, "GamePlan (Zilec Electronics license)", "Enigma II", GAME_SUPPORTS_SAVE )
|
GAME( 1981, enigma2, 0, enigma2, enigma2, enigma2, ROT270, "GamePlan (Zilec Electronics license)", "Enigma II", GAME_SUPPORTS_SAVE )
|
||||||
GAME( 1984, enigma2a, enigma2, enigma2a, enigma2a, enigma2, ROT270, "Zilec Electronics", "Enigma II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
|
GAME( 1984, enigma2a, enigma2, enigma2a, enigma2a, enigma2, ROT270, "Zilec Electronics", "Enigma II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
|
||||||
|
GAME( 1981, enigma2b, enigma2, enigma2a, enigma2a, enigma2, ROT270, "Zilec Electronics", "Phantoms II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
|
||||||
|
@ -118,8 +118,7 @@ static TILE_GET_INFO( get_luckgrln_reel1_tile_info )
|
|||||||
{
|
{
|
||||||
int code = reel1_ram[tile_index];
|
int code = reel1_ram[tile_index];
|
||||||
int attr = reel1_attr[tile_index];
|
int attr = reel1_attr[tile_index];
|
||||||
int col = (attr & 0x03)<<1;
|
int col = (attr & 0x1f);
|
||||||
col |= (attr & 0x4)>>2;
|
|
||||||
|
|
||||||
code |= (attr & 0xe0)<<3;
|
code |= (attr & 0xe0)<<3;
|
||||||
|
|
||||||
@ -149,8 +148,7 @@ static TILE_GET_INFO( get_luckgrln_reel2_tile_info )
|
|||||||
{
|
{
|
||||||
int code = reel2_ram[tile_index];
|
int code = reel2_ram[tile_index];
|
||||||
int attr = reel2_attr[tile_index];
|
int attr = reel2_attr[tile_index];
|
||||||
int col = (attr & 0x03)<<1;
|
int col = (attr & 0x1f);
|
||||||
col |= (attr & 0x4)>>2;
|
|
||||||
|
|
||||||
code |= (attr & 0xe0)<<3;
|
code |= (attr & 0xe0)<<3;
|
||||||
|
|
||||||
@ -179,8 +177,7 @@ static TILE_GET_INFO( get_luckgrln_reel3_tile_info )
|
|||||||
{
|
{
|
||||||
int code = reel3_ram[tile_index];
|
int code = reel3_ram[tile_index];
|
||||||
int attr = reel3_attr[tile_index];
|
int attr = reel3_attr[tile_index];
|
||||||
int col = (attr & 0x03)<<1;
|
int col = (attr & 0x1f);
|
||||||
col |= (attr & 0x4)>>2;
|
|
||||||
|
|
||||||
code |= (attr & 0xe0)<<3;
|
code |= (attr & 0xe0)<<3;
|
||||||
|
|
||||||
@ -208,8 +205,7 @@ static TILE_GET_INFO( get_luckgrln_reel4_tile_info )
|
|||||||
{
|
{
|
||||||
int code = reel4_ram[tile_index];
|
int code = reel4_ram[tile_index];
|
||||||
int attr = reel4_attr[tile_index];
|
int attr = reel4_attr[tile_index];
|
||||||
int col = (attr & 0x03)<<1;
|
int col = (attr & 0x1f);
|
||||||
col |= (attr & 0x4)>>2;
|
|
||||||
|
|
||||||
code |= (attr & 0xe0)<<3;
|
code |= (attr & 0xe0)<<3;
|
||||||
|
|
||||||
@ -227,8 +223,15 @@ static VIDEO_START(luckgrln)
|
|||||||
reel3_tilemap = tilemap_create(machine,get_luckgrln_reel3_tile_info,tilemap_scan_rows, 8, 32, 64, 8);
|
reel3_tilemap = tilemap_create(machine,get_luckgrln_reel3_tile_info,tilemap_scan_rows, 8, 32, 64, 8);
|
||||||
reel4_tilemap = tilemap_create(machine,get_luckgrln_reel4_tile_info,tilemap_scan_rows, 8, 32, 64, 8);
|
reel4_tilemap = tilemap_create(machine,get_luckgrln_reel4_tile_info,tilemap_scan_rows, 8, 32, 64, 8);
|
||||||
|
|
||||||
//machine->gfx[0]->color_granularity = 16;
|
tilemap_set_scroll_cols(reel1_tilemap, 64);
|
||||||
|
tilemap_set_scroll_cols(reel2_tilemap, 64);
|
||||||
|
tilemap_set_scroll_cols(reel3_tilemap, 64);
|
||||||
|
tilemap_set_scroll_cols(reel4_tilemap, 64);
|
||||||
|
|
||||||
|
tilemap_set_transparent_pen( reel1_tilemap, 0 );
|
||||||
|
tilemap_set_transparent_pen( reel2_tilemap, 0 );
|
||||||
|
tilemap_set_transparent_pen( reel3_tilemap, 0 );
|
||||||
|
tilemap_set_transparent_pen( reel4_tilemap, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static VIDEO_UPDATE(luckgrln)
|
static VIDEO_UPDATE(luckgrln)
|
||||||
@ -240,8 +243,6 @@ static VIDEO_UPDATE(luckgrln)
|
|||||||
|
|
||||||
rectangle clip;
|
rectangle clip;
|
||||||
|
|
||||||
bitmap_fill(bitmap, cliprect, 0x3f); /* is there a register controling the colour?, we currently use the last colour of the tx palette */
|
|
||||||
|
|
||||||
clip.min_x = visarea.min_x;
|
clip.min_x = visarea.min_x;
|
||||||
clip.max_x = visarea.max_x;
|
clip.max_x = visarea.max_x;
|
||||||
clip.min_y = visarea.min_y;
|
clip.min_y = visarea.min_y;
|
||||||
@ -284,7 +285,6 @@ static VIDEO_UPDATE(luckgrln)
|
|||||||
/*
|
/*
|
||||||
luck_vram1 tttt tttt (t = low tile bits)
|
luck_vram1 tttt tttt (t = low tile bits)
|
||||||
luck_vram2 tttt ppp? (t = high tile bits) (p = pal select)?
|
luck_vram2 tttt ppp? (t = high tile bits) (p = pal select)?
|
||||||
luck_vram3 --ee --t- (t = tile bank) (e = select which of the reel tiles to display here too?)
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -293,19 +293,41 @@ static VIDEO_UPDATE(luckgrln)
|
|||||||
if (tileattr & 0x02) tile |= 0x1000;
|
if (tileattr & 0x02) tile |= 0x1000;
|
||||||
|
|
||||||
// ?? low bit is used too
|
// ?? low bit is used too
|
||||||
col = (tile_high>>1)&0x7;
|
col = tile_high&0xf;
|
||||||
col += 8;
|
|
||||||
|
// --ss fbt- luck_vram3
|
||||||
|
// - = unused?
|
||||||
|
// s = reel layer select for this 8x8 region
|
||||||
|
// f = fg enabled for this 8x8 region (or priority?)
|
||||||
|
// b = reel enabled for this 8x8 region (not set on startup screens)
|
||||||
|
// t = tile bank
|
||||||
|
|
||||||
// other bits are used.. do they affect palette of reels, or..?
|
|
||||||
bgenable = (tileattr &0x30)>>4;
|
bgenable = (tileattr &0x30)>>4;
|
||||||
|
|
||||||
|
#if 0 // treat bit as fg enable
|
||||||
|
if (tileattr&0x04)
|
||||||
|
{
|
||||||
if (bgenable==0) tilemap_draw(bitmap, &clip, reel1_tilemap, 0, 0);
|
if (bgenable==0) tilemap_draw(bitmap, &clip, reel1_tilemap, 0, 0);
|
||||||
if (bgenable==1) tilemap_draw(bitmap, &clip, reel2_tilemap, 0, 0);
|
if (bgenable==1) tilemap_draw(bitmap, &clip, reel2_tilemap, 0, 0);
|
||||||
if (bgenable==2) tilemap_draw(bitmap, &clip, reel3_tilemap, 0, 0);
|
if (bgenable==2) tilemap_draw(bitmap, &clip, reel3_tilemap, 0, 0);
|
||||||
if (bgenable==3) tilemap_draw(bitmap, &clip, reel4_tilemap, 0, 0);
|
if (bgenable==3) tilemap_draw(bitmap, &clip, reel4_tilemap, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
drawgfx_transpen(bitmap,&clip,screen->machine->gfx[region],tile,col,0,0,x*8,y*8, 0);
|
if (tileattr&0x08) drawgfx_transpen(bitmap,&clip,screen->machine->gfx[region],tile,col,0,0,x*8,y*8, 0);
|
||||||
|
|
||||||
|
#else // treat it as priority flag instead (looks better in non-adult title screen - needs verifying)
|
||||||
|
if (!(tileattr&0x08)) drawgfx_transpen(bitmap,&clip,screen->machine->gfx[region],tile,col,0,0,x*8,y*8, 0);
|
||||||
|
|
||||||
|
if (tileattr&0x04)
|
||||||
|
{
|
||||||
|
if (bgenable==0) tilemap_draw(bitmap, &clip, reel1_tilemap, 0, 0);
|
||||||
|
if (bgenable==1) tilemap_draw(bitmap, &clip, reel2_tilemap, 0, 0);
|
||||||
|
if (bgenable==2) tilemap_draw(bitmap, &clip, reel3_tilemap, 0, 0);
|
||||||
|
if (bgenable==3) tilemap_draw(bitmap, &clip, reel4_tilemap, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((tileattr&0x08)) drawgfx_transpen(bitmap,&clip,screen->machine->gfx[region],tile,col,0,0,x*8,y*8, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
@ -348,7 +370,7 @@ static ADDRESS_MAP_START( mainmap, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0xf0000, 0xfffff) AM_RAM
|
AM_RANGE(0xf0000, 0xfffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
#if 1
|
|
||||||
static WRITE8_HANDLER( output_w )
|
static WRITE8_HANDLER( output_w )
|
||||||
{
|
{
|
||||||
/* correct? */
|
/* correct? */
|
||||||
@ -358,22 +380,19 @@ static WRITE8_HANDLER( output_w )
|
|||||||
nmi_enable = 1;
|
nmi_enable = 1;
|
||||||
else
|
else
|
||||||
printf("output_w unk data %02x\n",data);
|
printf("output_w unk data %02x\n",data);
|
||||||
|
|
||||||
// other values unknown
|
|
||||||
// printf("%02x\n",data);
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static int palette_count = 0;
|
static int palette_count = 0;
|
||||||
static UINT8 palette_ram[0x10000];
|
static UINT8 palette_ram[0x10000];
|
||||||
|
|
||||||
static WRITE8_HANDLER( palette_offset_low_w )
|
static WRITE8_HANDLER( palette_offset_low_w )
|
||||||
{
|
{
|
||||||
palette_count = data;
|
palette_count = data<<1;
|
||||||
}
|
}
|
||||||
static WRITE8_HANDLER( palette_offset_high_w )
|
static WRITE8_HANDLER( palette_offset_high_w )
|
||||||
{
|
{
|
||||||
palette_count = palette_count | data<<8;
|
palette_count = palette_count | data<<9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -632,10 +651,26 @@ static INPUT_PORTS_START( luckgrln )
|
|||||||
PORT_DIPNAME( 0x20, 0x20, "Minimum Bet" )
|
PORT_DIPNAME( 0x20, 0x20, "Minimum Bet" )
|
||||||
PORT_DIPSETTING( 0x20, "1" )
|
PORT_DIPSETTING( 0x20, "1" )
|
||||||
PORT_DIPSETTING( 0x00, "5" )
|
PORT_DIPSETTING( 0x00, "5" )
|
||||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) //causes POST errors otherwise
|
PORT_DIPNAME( 0x40, 0x40, "DSW1-40 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
PORT_DIPNAME( 0x80, 0x80, "DSW1-80 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("DSW2") //DIP SW 2
|
PORT_START("DSW2") //DIP SW 2
|
||||||
PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) //causes POST errors otherwise
|
PORT_DIPNAME( 0x01, 0x01, "DSW2-01 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
PORT_DIPNAME( 0x02, 0x02, "DSW2-02 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
PORT_DIPNAME( 0x04, 0x04, "DSW2-04 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
PORT_DIPNAME( 0x08, 0x08, "DSW2-08 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x10, 0x10, "DSW2-10" )
|
PORT_DIPNAME( 0x10, 0x10, "DSW2-10" )
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
@ -707,7 +742,12 @@ static INPUT_PORTS_START( luckgrln )
|
|||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("DSW5") //DIP SW 5
|
PORT_START("DSW5") //DIP SW 5
|
||||||
PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED ) //causes POST errors otherwise
|
PORT_DIPNAME( 0x01, 0x01, "DSW5-01 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
PORT_DIPNAME( 0x02, 0x02, "DSW5-02 (Do Not Use)" )
|
||||||
|
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||||
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x04, 0x04, "DSW5-04" )
|
PORT_DIPNAME( 0x04, 0x04, "DSW5-04" )
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
@ -751,7 +791,7 @@ static const gfx_layout tiles8x32_layout =
|
|||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( luckgrln )
|
static GFXDECODE_START( luckgrln )
|
||||||
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout, 0x100, 64 )
|
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout, 0x400, 64 )
|
||||||
GFXDECODE_ENTRY( "reels", 0, tiles8x32_layout, 0, 64 )
|
GFXDECODE_ENTRY( "reels", 0, tiles8x32_layout, 0, 64 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
@ -771,11 +811,8 @@ static const mc6845_interface mc6845_intf =
|
|||||||
|
|
||||||
static INTERRUPT_GEN( luckgrln_irq )
|
static INTERRUPT_GEN( luckgrln_irq )
|
||||||
{
|
{
|
||||||
#if 1
|
|
||||||
//nmi_enable = 1;
|
|
||||||
if(nmi_enable)
|
if(nmi_enable)
|
||||||
cputag_set_input_line(device->machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
|
cputag_set_input_line(device->machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_DRIVER_START( luckgrln )
|
static MACHINE_DRIVER_START( luckgrln )
|
||||||
@ -862,5 +899,5 @@ ROM_END
|
|||||||
**********************************************
|
**********************************************
|
||||||
|
|
||||||
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
||||||
GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", GAME_IMPERFECT_GRAPHICS|GAME_NO_SOUND, layout_luckgrln )
|
GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", GAME_NO_SOUND, layout_luckgrln )
|
||||||
|
|
||||||
|
@ -563,6 +563,36 @@ ROM_START( tokia )
|
|||||||
ROM_LOAD( "tokijp.009", 0x00000, 0x20000, CRC(ae7a6b8b) SHA1(1d410f91354ffd1774896b2e64f20a2043607805) )
|
ROM_LOAD( "tokijp.009", 0x00000, 0x20000, CRC(ae7a6b8b) SHA1(1d410f91354ffd1774896b2e64f20a2043607805) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( tokiua )
|
||||||
|
ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
|
||||||
|
ROM_LOAD16_BYTE( "tokijp.006", 0x00000, 0x20000, CRC(03d726b1) SHA1(bbe3a1ea1943cd73b821b3de4d5bf3dfbffd2168) )
|
||||||
|
ROM_LOAD16_BYTE( "4u.k10", 0x00001, 0x20000, CRC(ca2f50d9) SHA1(e2660a9627850fa39469804a3ff563caedd0782b) )
|
||||||
|
ROM_LOAD16_BYTE( "tokijp.005", 0x40000, 0x10000, CRC(d6a82808) SHA1(9fcd3e97f7eaada5374347383dc8a6cea2378f7f) )
|
||||||
|
ROM_LOAD16_BYTE( "tokijp.003", 0x40001, 0x10000, CRC(a01a5b10) SHA1(76d6da114105402aab9dd5167c0c00a0bddc3bba) )
|
||||||
|
|
||||||
|
ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code, banked data */
|
||||||
|
ROM_LOAD( "tokijp.008", 0x00000, 0x02000, CRC(6c87c4c5) SHA1(d76822bcde3d42afae72a0945b6acbf3c6a1d955) ) /* encrypted */
|
||||||
|
ROM_LOAD( "tokijp.007", 0x10000, 0x10000, CRC(a67969c4) SHA1(99781fbb005b6ba4a19a9cc83c8b257a3b425fa6) ) /* banked stuff */
|
||||||
|
|
||||||
|
ROM_REGION( 0x020000, "gfx1", 0 )
|
||||||
|
ROM_LOAD( "tokijp.001", 0x000000, 0x10000, CRC(8aa964a2) SHA1(875129bdd5f699ee30a98160718603a3bc958d84) ) /* chars */
|
||||||
|
ROM_LOAD( "tokijp.002", 0x010000, 0x10000, CRC(86e87e48) SHA1(29634d8c58ef7195cd0ce166f1b7fae01bbc110b) )
|
||||||
|
|
||||||
|
ROM_REGION( 0x100000, "gfx2", 0 )
|
||||||
|
ROM_LOAD( "toki.ob1", 0x000000, 0x80000, CRC(a27a80ba) SHA1(3dd3b6b0ace6ca6653603bea952b828b154a2223) ) /* sprites */
|
||||||
|
ROM_LOAD( "toki.ob2", 0x080000, 0x80000, CRC(fa687718) SHA1(f194b742399d8124d97cfa3d59beb980c36cfb3c) )
|
||||||
|
|
||||||
|
ROM_REGION( 0x080000, "gfx3", 0 )
|
||||||
|
ROM_LOAD( "toki.bk1", 0x000000, 0x80000, CRC(fdaa5f4b) SHA1(ea850361bc8274639e8433bd2a5307fd3a0c9a24) ) /* tiles 1 */
|
||||||
|
|
||||||
|
ROM_REGION( 0x080000, "gfx4", 0 )
|
||||||
|
ROM_LOAD( "toki.bk2", 0x000000, 0x80000, CRC(d86ac664) SHA1(bcb64d8e7ad29b8201ebbada1f858075eb8a0f1d) ) /* tiles 2 */
|
||||||
|
|
||||||
|
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
|
||||||
|
ROM_LOAD( "tokijp.009", 0x00000, 0x20000, CRC(ae7a6b8b) SHA1(1d410f91354ffd1774896b2e64f20a2043607805) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( tokiu )
|
ROM_START( tokiu )
|
||||||
ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
|
ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
|
||||||
ROM_LOAD16_BYTE( "6b.10m", 0x00000, 0x20000, CRC(3674d9fe) SHA1(7c610bee23b0f7e6a9e3d5d72d6084e025eb89ec) )
|
ROM_LOAD16_BYTE( "6b.10m", 0x00000, 0x20000, CRC(3674d9fe) SHA1(7c610bee23b0f7e6a9e3d5d72d6084e025eb89ec) )
|
||||||
@ -836,10 +866,15 @@ static DRIVER_INIT(jujub)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GAME( 1989, toki, 0, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World set 1)", 0 )
|
// these 2 are both unique revisions
|
||||||
GAME( 1989, tokia, toki, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World set 2)", 0 )
|
GAME( 1989, toki, 0, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World, set 1)", 0 )
|
||||||
GAME( 1989, tokiu, toki, toki, toki, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US)", 0 )
|
GAME( 1989, tokiu, toki, toki, toki, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 1)", 0 )
|
||||||
|
|
||||||
|
// these 3 are all the same revision, only the region byte differs
|
||||||
|
GAME( 1989, tokia, toki, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World, set 2)", 0 )
|
||||||
|
GAME( 1989, tokiua,toki, toki, toki, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 2)", 0 )
|
||||||
GAME( 1989, juju, toki, toki, toki, toki, ROT0, "TAD Corporation", "JuJu Densetsu (Japan)", 0 )
|
GAME( 1989, juju, toki, toki, toki, toki, ROT0, "TAD Corporation", "JuJu Densetsu (Japan)", 0 )
|
||||||
GAME( 1990, tokib, toki, tokib, tokib, tokib, ROT0, "bootleg", "Toki (Datsu bootleg)", 0 )
|
|
||||||
|
GAME( 1990, tokib, toki, tokib, tokib, tokib, ROT0, "bootleg (Datsu)", "Toki (Datsu bootleg)", 0 )
|
||||||
/* Sound hardware seems to have been slightly modified, the coins are handled ok, but there is no music and bad sfx. Program roms have a slight bitswap, Flipscreen also seems to be ignored */
|
/* Sound hardware seems to have been slightly modified, the coins are handled ok, but there is no music and bad sfx. Program roms have a slight bitswap, Flipscreen also seems to be ignored */
|
||||||
GAME( 1989, jujub, toki, toki, toki, jujub, ROT180, "bootleg", "JuJu Densetsu (Japan, bootleg)", GAME_IMPERFECT_SOUND ) // bootleg of tokia/tokij revison
|
GAME( 1989, jujub, toki, toki, toki, jujub, ROT180, "bootleg", "JuJu Densetsu (Japan, bootleg)", GAME_IMPERFECT_SOUND ) // bootleg of tokia/juju revison
|
||||||
|
@ -13,6 +13,10 @@ RAM: 411A (x48)
|
|||||||
|
|
||||||
XTal: 20.0
|
XTal: 20.0
|
||||||
|
|
||||||
|
todo:
|
||||||
|
how are the games checking the battery
|
||||||
|
state?
|
||||||
|
|
||||||
**********************************/
|
**********************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
@ -160,7 +164,7 @@ static WRITE8_DEVICE_HANDLER( wldarrow_dac_4_w )
|
|||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
static ADDRESS_MAP_START( wldarrow_map, ADDRESS_SPACE_PROGRAM, 8 )
|
static ADDRESS_MAP_START( wldarrow_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||||
AM_RANGE(0x0000, 0x2fff) AM_ROM
|
AM_RANGE(0x0000, 0x37ff) AM_ROM
|
||||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0")
|
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0")
|
||||||
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&wldarrow_videoram_0) AM_SIZE(&wldarrow_videoram_size)
|
AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&wldarrow_videoram_0) AM_SIZE(&wldarrow_videoram_size)
|
||||||
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE(&wldarrow_videoram_1)
|
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE(&wldarrow_videoram_1)
|
||||||
@ -451,6 +455,17 @@ ROM_START( mdrawpkra )
|
|||||||
ROM_LOAD( "meyco.k3", 0x2800, 0x0800, CRC(72aee07f) SHA1(a6d6086f3a6181d5111d05ae779c3f7b363c7f14) )
|
ROM_LOAD( "meyco.k3", 0x2800, 0x0800, CRC(72aee07f) SHA1(a6d6086f3a6181d5111d05ae779c3f7b363c7f14) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( unkmeyco )
|
||||||
|
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||||
|
ROM_LOAD( "k8", 0x0000, 0x0800, CRC(c6d8a2f7) SHA1(1fcd3ad72a29f832ffaf37edcb74e84e21909496) )
|
||||||
|
ROM_LOAD( "k7", 0x0800, 0x0800, CRC(6e30e5ae) SHA1(980096adefce4d4d97607b22f56f3acf246986ed) )
|
||||||
|
ROM_LOAD( "k6", 0x1000, 0x0800, CRC(7e2cb0e1) SHA1(3ea8f3c051ba730a39404b718d93bcdd762834c3) )
|
||||||
|
ROM_LOAD( "k5", 0x1800, 0x0800, CRC(536c83f9) SHA1(0dc9171c14f96bde68dc3b175abe31fa25753b48) )
|
||||||
|
ROM_LOAD( "k4", 0x2000, 0x0800, CRC(178b0f95) SHA1(cea5922f5294958c59cacd42e30399fc329426d9) )
|
||||||
|
ROM_LOAD( "k3", 0x2800, 0x0800, CRC(9cd6b843) SHA1(fb9c5c5ba96ebb75dc42e7c891d6da2a8a1ea6c1) )
|
||||||
|
ROM_LOAD( "k2", 0x3000, 0x0800, CRC(5f82eafa) SHA1(4f5a4dc773ceae9a69ec532166047867db4ddadf) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
@ -463,7 +478,7 @@ static DRIVER_INIT( wldarrow )
|
|||||||
offs_t i;
|
offs_t i;
|
||||||
UINT8 *rom = memory_region(machine, "maincpu");
|
UINT8 *rom = memory_region(machine, "maincpu");
|
||||||
|
|
||||||
for (i = 0; i < 0x3000; i++)
|
for (i = 0; i < 0x3800; i++)
|
||||||
rom[i] ^= 0xff;
|
rom[i] ^= 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -471,3 +486,4 @@ static DRIVER_INIT( wldarrow )
|
|||||||
GAME( 1982, wldarrow, 0, wldarrow, wldarrow, wldarrow, ROT0, "Meyco Games", "Wild Arrow (Standard V4.8)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
|
GAME( 1982, wldarrow, 0, wldarrow, wldarrow, wldarrow, ROT0, "Meyco Games", "Wild Arrow (Standard V4.8)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
|
||||||
GAME( 198?, mdrawpkr, 0, wldarrow, mdrawpkr, wldarrow, ROT0, "Meyco Games", "Draw Poker Joker's Wild (Standard)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
GAME( 198?, mdrawpkr, 0, wldarrow, mdrawpkr, wldarrow, ROT0, "Meyco Games", "Draw Poker Joker's Wild (Standard)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||||
GAME( 198?, mdrawpkra, mdrawpkr, wldarrow, mdrawpkr, wldarrow, ROT0, "Meyco Games", "Draw Poker Joker's Wild (02-11)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
GAME( 198?, mdrawpkra, mdrawpkr, wldarrow, mdrawpkr, wldarrow, ROT0, "Meyco Games", "Draw Poker Joker's Wild (02-11)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||||
|
GAME( 198?, unkmeyco, 0, wldarrow, mdrawpkr, wldarrow, ROT0, "Meyco Games", "Unknown Meyco Game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
|
||||||
|
@ -7347,6 +7347,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
|
|||||||
DRIVER( toki ) /* (c) 1989 Tad (World) */
|
DRIVER( toki ) /* (c) 1989 Tad (World) */
|
||||||
DRIVER( tokia ) /* (c) 1989 Tad (World) */
|
DRIVER( tokia ) /* (c) 1989 Tad (World) */
|
||||||
DRIVER( tokiu ) /* (c) 1989 Tad + Fabtek license (US) */
|
DRIVER( tokiu ) /* (c) 1989 Tad + Fabtek license (US) */
|
||||||
|
DRIVER( tokiua ) /* (c) 1989 Tad + Fabtek license (US) */
|
||||||
DRIVER( tokib ) /* bootleg */
|
DRIVER( tokib ) /* bootleg */
|
||||||
DRIVER( juju ) /* (c) 1989 Tad (Japan) */
|
DRIVER( juju ) /* (c) 1989 Tad (Japan) */
|
||||||
DRIVER( jujub ) /* (c) 1989 Tad (Japan) */
|
DRIVER( jujub ) /* (c) 1989 Tad (Japan) */
|
||||||
@ -9013,6 +9014,7 @@ Other Sun games
|
|||||||
DRIVER( portraita ) /* (c) 1983 Olympia */
|
DRIVER( portraita ) /* (c) 1983 Olympia */
|
||||||
DRIVER( enigma2 ) /* (c) 1981 Game Plan (Zilec Electronics license) */
|
DRIVER( enigma2 ) /* (c) 1981 Game Plan (Zilec Electronics license) */
|
||||||
DRIVER( enigma2a ) /* (c) 1984 Zilec Electronics (bootleg?) */
|
DRIVER( enigma2a ) /* (c) 1984 Zilec Electronics (bootleg?) */
|
||||||
|
DRIVER( enigma2b ) /* (c) 1981 Zilec Electronics */
|
||||||
DRIVER( ltcasino ) /* (c) 1982 Digital Controls Inc */
|
DRIVER( ltcasino ) /* (c) 1982 Digital Controls Inc */
|
||||||
DRIVER( mv4in1 ) /* (c) 1983 Entertainment Enterprises */
|
DRIVER( mv4in1 ) /* (c) 1983 Entertainment Enterprises */
|
||||||
DRIVER( ltcasinn ) /* (c) 1984 Digital Controls Inc */
|
DRIVER( ltcasinn ) /* (c) 1984 Digital Controls Inc */
|
||||||
@ -9170,6 +9172,7 @@ Other Sun games
|
|||||||
DRIVER( gunpey ) /* (c) 2000 Banpresto */
|
DRIVER( gunpey ) /* (c) 2000 Banpresto */
|
||||||
DRIVER( spaceg ) /* (c) 19?? */
|
DRIVER( spaceg ) /* (c) 19?? */
|
||||||
DRIVER( wldarrow ) /* (c) 1982 */
|
DRIVER( wldarrow ) /* (c) 1982 */
|
||||||
|
DRIVER( unkmeyco ) /* (c) 198? */
|
||||||
DRIVER( mdrawpkr ) /* (c) 19?? */
|
DRIVER( mdrawpkr ) /* (c) 19?? */
|
||||||
DRIVER( mdrawpkra ) /* (c) 19?? */
|
DRIVER( mdrawpkra ) /* (c) 19?? */
|
||||||
DRIVER( laserbas ) /* (c) 1981 Amstar/HOEI */
|
DRIVER( laserbas ) /* (c) 1981 Amstar/HOEI */
|
||||||
|
Loading…
Reference in New Issue
Block a user