mirror of
https://github.com/holub/mame
synced 2025-05-28 00:31:33 +03:00
Multifish for reconsideration as the HW is the same era as 'Fever Soccer' which was added in u4.
Some of these sets might not be available, they're based off operator manuals, so should be accurate. The sets which are not available will be disabled once it's been firmly established exactly which ones they are I'm not 100% sure. No credit wanted / anonymous submission
This commit is contained in:
parent
6b46f2e428
commit
bd741103e9
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1768,6 +1768,7 @@ src/mame/drivers/mrjong.c svneol=native#text/plain
|
||||
src/mame/drivers/ms32.c svneol=native#text/plain
|
||||
src/mame/drivers/msisaac.c svneol=native#text/plain
|
||||
src/mame/drivers/mugsmash.c svneol=native#text/plain
|
||||
src/mame/drivers/multfish.c svneol=native#text/plain
|
||||
src/mame/drivers/multigam.c svneol=native#text/plain
|
||||
src/mame/drivers/munchmo.c svneol=native#text/plain
|
||||
src/mame/drivers/murogem.c svneol=native#text/plain
|
||||
|
705
src/mame/drivers/multfish.c
Normal file
705
src/mame/drivers/multfish.c
Normal file
@ -0,0 +1,705 @@
|
||||
/* 'Multifish' hardware
|
||||
|
||||
four ALTERA chips - they are probably video processors
|
||||
main CPU is z80 for sure, ROM is placed near it
|
||||
there are banked ROMs 8kb each, consisted of several banks
|
||||
RAM has E000 address
|
||||
the sound is PSG - AY3-8910 analog (http://pt.wikipedia.org/wiki/KC89C72)
|
||||
z80 CPU is complete with indexed registers
|
||||
video - VGA
|
||||
|
||||
Note,
|
||||
|
||||
Payout doesn't currently work and causes 'Call Attendant' to be displayed
|
||||
Lamps not hooked up
|
||||
|
||||
To Init the games
|
||||
|
||||
Press 'F2' (Turn Service Mode ON)
|
||||
Press 'F3' (Reset)
|
||||
Use 'C' (3 Lines) to move pointer to INIT
|
||||
press 'M' (Start) to enter INIT menu
|
||||
hold 'Z' (Bet/Double) for 5 seconds while counter counts down
|
||||
press 'F2' (Turn Service Mode OFF)
|
||||
Press 'F3' (Reset)
|
||||
|
||||
RTC not emulated?
|
||||
Lights not emulated?
|
||||
Payout not emulated
|
||||
|
||||
|
||||
*/
|
||||
|
||||
// revision information comes from dat files, not all of them can be tested
|
||||
// for some only MD5 and CRC information is present
|
||||
#define ALL_REVISIONS 1
|
||||
|
||||
#include "driver.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "deprecat.h"
|
||||
|
||||
#define multfish_VIDRAM_SIZE (0x2000*0x10)
|
||||
#define multfish_BRAM_SIZE (0x2000*0x10)
|
||||
|
||||
static UINT8* multfish_vid;
|
||||
static UINT8* multfish_bram;
|
||||
|
||||
static int multfish_disp_enable;
|
||||
|
||||
/* Video Part */
|
||||
static VIDEO_START(multfish)
|
||||
{
|
||||
multfish_vid = auto_malloc(multfish_VIDRAM_SIZE);
|
||||
memset(multfish_vid,0x00,multfish_VIDRAM_SIZE);
|
||||
state_save_register_global_pointer(machine, multfish_vid, multfish_VIDRAM_SIZE);
|
||||
|
||||
multfish_bram = auto_malloc(multfish_BRAM_SIZE);
|
||||
memset(multfish_bram,0x00,multfish_BRAM_SIZE);
|
||||
state_save_register_global_pointer(machine, multfish_bram, multfish_BRAM_SIZE);
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE(multfish)
|
||||
{
|
||||
int y,x,count;
|
||||
gfx_element* gfx = screen->machine->gfx[0];
|
||||
bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine));
|
||||
|
||||
if (!multfish_disp_enable) return 0;
|
||||
|
||||
/* Draw lower part of static tilemap (low pri tiles) */
|
||||
count = 0x0000;
|
||||
for (y=0;y<64;y++)
|
||||
{
|
||||
for (x=0;x<64;x++)
|
||||
{
|
||||
int tile, pal;
|
||||
|
||||
tile = multfish_vid[count*2+0] | (multfish_vid[count*2+1] << 8);
|
||||
pal = multfish_vid[count*2+0+0x1000] | (multfish_vid[count*2+1+0x1000] << 8);
|
||||
if ((pal & 0x0100))
|
||||
{
|
||||
tile &=0x1fff;
|
||||
pal &=0x7;
|
||||
drawgfx(bitmap,gfx,tile,pal,0,0,x*16,y*16,cliprect,TRANSPARENCY_PEN,255);
|
||||
}
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Draw scrollable tilemap (used for reels etc.) */
|
||||
count = 0x1000;
|
||||
for (y=0;y<64;y++)
|
||||
{
|
||||
for (x=0;x<64;x++)
|
||||
{
|
||||
int tile, pal;
|
||||
int colscroll;
|
||||
colscroll = (multfish_vid[x*2] | multfish_vid[x*2+1] << 8);
|
||||
tile = multfish_vid[count*2+0] | (multfish_vid[count*2+1] << 8);
|
||||
pal = tile>>14;
|
||||
|
||||
tile &=0x1fff;
|
||||
tile |=0x2000;
|
||||
drawgfx(bitmap,gfx,tile,pal+8,0,0,x*16,(y*16-colscroll)&0x3ff,cliprect,TRANSPARENCY_PEN,255);
|
||||
|
||||
count++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* Draw upper part of static tilemap (high pri tiles) */
|
||||
count = 0x0000;
|
||||
for (y=0;y<64;y++)
|
||||
{
|
||||
for (x=0;x<64;x++)
|
||||
{
|
||||
int tile, pal;
|
||||
|
||||
tile = multfish_vid[count*2+0] | (multfish_vid[count*2+1] << 8);
|
||||
pal = multfish_vid[count*2+0+0x1000] | (multfish_vid[count*2+1+0x1000] << 8);
|
||||
if (!(pal & 0x0100))
|
||||
{
|
||||
tile &=0x1fff;
|
||||
pal &=0x7;
|
||||
drawgfx(bitmap,gfx,tile,pal,0,0,x*16,y*16,cliprect,TRANSPARENCY_PEN,255);
|
||||
}
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
/* set palette */
|
||||
{
|
||||
int z;
|
||||
int c = 0x4000;
|
||||
|
||||
for (z=0;z<0x1000;z++)
|
||||
{
|
||||
int r,g,b;
|
||||
int coldat;
|
||||
|
||||
coldat = multfish_vid[c+z*2+0] | (multfish_vid[c+z*2+1] << 8);
|
||||
|
||||
r = ( (coldat &0x001f)>> 0);
|
||||
g = ( (coldat &0x1f00)>> 8);
|
||||
b = ( (coldat &0x00e0)>> (5));
|
||||
b|= ( (coldat &0xe000)>> (8+5-3));
|
||||
|
||||
palette_set_color_rgb(screen->machine, z, r<<3, g<<3, b<<2);
|
||||
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( multfish_vid_w )
|
||||
{
|
||||
multfish_vid[offset]=data;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( multfish_bank_w )
|
||||
{
|
||||
memory_set_bank(space->machine, 1, data & 0x0f);
|
||||
}
|
||||
|
||||
static UINT8 rambk = 0;
|
||||
static UINT8 otherrambk = 0;
|
||||
|
||||
static READ8_HANDLER( bankedram_r )
|
||||
{
|
||||
if ((otherrambk & 0x80) == 0x00)
|
||||
{
|
||||
return multfish_bram[offset+0x2000*rambk];
|
||||
}
|
||||
else
|
||||
{
|
||||
return multfish_vid[offset+0x2000*rambk];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( bankedram_w )
|
||||
{
|
||||
if ((otherrambk & 0x80) == 0x00)
|
||||
{
|
||||
multfish_bram[offset+0x2000*rambk] = data;
|
||||
}
|
||||
else
|
||||
{
|
||||
multfish_vid[offset+0x2000*rambk] = data;
|
||||
}
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( multfish_rambank_w )
|
||||
{
|
||||
rambk = data & 0x0f;
|
||||
otherrambk = data & 0xf0;
|
||||
}
|
||||
|
||||
|
||||
static READ8_HANDLER( ray_r )
|
||||
{
|
||||
// the games read the raster beam position as part of the hardware checks..
|
||||
// with a 6mhz clock and 640x480 resolution this seems to give the right results.
|
||||
return video_screen_get_vpos(space->machine->primary_screen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( multfish_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE( multfish_vid_w )
|
||||
AM_RANGE(0x8000, 0xbfff) AM_READWRITE(SMH_BANK1, SMH_ROM )
|
||||
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
|
||||
AM_RANGE(0xe000, 0xffff) AM_READWRITE(bankedram_r, bankedram_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
// According to the self test the 7 user buttons are arranged as
|
||||
// Bet/Cancel | 1 Line | 3 Lines | 5 Lines | 7 Lines | 9 Lines | Start
|
||||
|
||||
|
||||
INPUT_PORTS_START( multfish )
|
||||
PORT_START("IN0")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Key In (35 A)" ) // Key In ( 35 A )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN B (18 B)
|
||||
PORT_DIPNAME( 0x04, 0x04, "S Reserve (14 B)" ) // S Reserve ( 14 B )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Hopper 3 ( 10 B )" ) // Hooper 3 ( 10 B )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("7 Lines") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Hopper SW (22 B)" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "BK Door (17 A)" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "P Reserve (13 A)" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Start") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN8 ) // BILL 4 (07 A)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Unused??" ) // unused?
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Call Att (17 A)" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "S Reserve (13 B)" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Hopper 2 (09 B)" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("5 Lines") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_D) // not currently working!
|
||||
PORT_DIPNAME( 0x02, 0x02, "S Reserve (16 B)" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Ticket (12 B)" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Hopper 1 (08 B)" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN5 ) // BILL 1 (04 B)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
|
||||
PORT_START("IN4")
|
||||
PORT_DIPNAME( 0x01, 0x01, "S Reserve (35 B)" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) // COIN C (19 A)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Help") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("9 Lines") PORT_CODE(KEYCODE_N)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("1 Line") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
|
||||
PORT_START("IN5")
|
||||
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 ) // COIN D (19 B)
|
||||
PORT_DIPNAME( 0x04, 0x04, "S Reserve (16 B)" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet / Double / Cancel") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN6 ) // BILL 2 (05 A)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
PORT_START("IN6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Short St (20 A)")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN A (18 A)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Max Bet") PORT_CODE(KEYCODE_A)
|
||||
PORT_DIPNAME( 0x08, 0x08, "Hopper 4 (11 A)" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("3 Lines") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
|
||||
PORT_START("IN7")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Key Out (21 B)" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Fr Door (16 A)" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "P Reserve (12 A)" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "P Reserve (11 A)" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN7 ) // BILL 3 (06 A)
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
WRITE8_HANDLER( multfish_f3_w )
|
||||
{
|
||||
//popmessage("multfish_f3_w %02x",data);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( multfish_f4_w )
|
||||
{
|
||||
//popmessage("multfish_f4_w %02x",data); // display enable?
|
||||
multfish_disp_enable = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( multfish_portmap, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x10) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x11, 0x11) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x13, 0x13) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x14, 0x14) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0x15, 0x15) AM_READ(input_port_5_r)
|
||||
AM_RANGE(0x16, 0x16) AM_READ(input_port_6_r)
|
||||
AM_RANGE(0x17, 0x17) AM_READ(input_port_7_r)
|
||||
|
||||
/* Write ports not hooked up yet (lights etc.) */
|
||||
// AM_RANGE(0x30, 0x30) AM_WRITE(multfish_port30_w)
|
||||
// AM_RANGE(0x31, 0x31) AM_WRITE(multfish_port31_w)
|
||||
// AM_RANGE(0x32, 0x32) AM_WRITE(multfish_port32_w)
|
||||
// AM_RANGE(0x33, 0x33) AM_WRITE(multfish_port33_w)
|
||||
// AM_RANGE(0x34, 0x34) AM_WRITE(multfish_port34_w)
|
||||
// AM_RANGE(0x35, 0x35) AM_WRITE(multfish_port35_w)
|
||||
// AM_RANGE(0x36, 0x36) AM_WRITE(multfish_port36_w)
|
||||
// AM_RANGE(0x37, 0x37) AM_WRITE(multfish_watchdog_reset_w)
|
||||
AM_RANGE(0x38, 0x38) AM_DEVWRITE(SOUND, "ay", ay8910_address_w)
|
||||
AM_RANGE(0x39, 0x39) AM_DEVWRITE(SOUND, "ay", ay8910_data_w)
|
||||
AM_RANGE(0x3a, 0x3a) AM_DEVREAD(SOUND, "ay", ay8910_r)
|
||||
|
||||
AM_RANGE(0x90, 0x90) AM_READ(ray_r)
|
||||
|
||||
AM_RANGE(0xe1, 0xe1) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xe5, 0xe5) AM_WRITE(multfish_bank_w)
|
||||
|
||||
AM_RANGE(0xf1, 0xf1) AM_WRITE(multfish_rambank_w)
|
||||
AM_RANGE(0xf3, 0xf3) AM_WRITE(multfish_f3_w) // from 00->01 at startup, irq enable maybe?
|
||||
AM_RANGE(0xf4, 0xf4) AM_WRITE(multfish_f4_w) // display enable?
|
||||
|
||||
/* mirrors of the rom banking */
|
||||
AM_RANGE(0xf8, 0xf8) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xf9, 0xf9) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xfa, 0xfa) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xfb, 0xfb) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xfc, 0xfc) AM_WRITE(multfish_bank_w)
|
||||
AM_RANGE(0xfd, 0xfd) AM_WRITE(multfish_bank_w)
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
static const gfx_layout tiles16x16_layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
8,
|
||||
{ RGN_FRAC(2,4)+0, RGN_FRAC(2,4)+1,RGN_FRAC(2,4)+2, RGN_FRAC(2,4)+3,0,1,2,3 },
|
||||
{ 0,4,
|
||||
RGN_FRAC(1,4)+0, RGN_FRAC(1,4)+4,
|
||||
8, 12,
|
||||
RGN_FRAC(1,4)+8, RGN_FRAC(1,4)+12,
|
||||
16, 20,
|
||||
RGN_FRAC(1,4)+16, RGN_FRAC(1,4)+20,
|
||||
24, 28,
|
||||
RGN_FRAC(1,4)+24,RGN_FRAC(1,4)+28 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,8*32,9*32,10*32,11*32,12*32,13*32,14*32,15*32 },
|
||||
8*64
|
||||
};
|
||||
|
||||
|
||||
|
||||
static GFXDECODE_START( multfish )
|
||||
GFXDECODE_ENTRY( "gfx", 0, tiles16x16_layout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
MACHINE_RESET( multfish )
|
||||
{
|
||||
memory_configure_bank(machine, 1, 0, 16, memory_region(machine, "main"), 0x4000);
|
||||
memory_set_bank(machine, 1, 0);
|
||||
}
|
||||
|
||||
static const ay8910_interface ay8910_config =
|
||||
{
|
||||
AY8910_LEGACY_OUTPUT,
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( multfish )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80,6000000) /* 6 MHz? */
|
||||
MDRV_CPU_PROGRAM_MAP(multfish_map,0)
|
||||
MDRV_CPU_IO_MAP(multfish_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT("main",irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_RESET( multfish )
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(64*16, 32*16)
|
||||
MDRV_SCREEN_VISIBLE_AREA(17*16, 1024-16*7-1, 1*16, 32*16-1*16-1)
|
||||
MDRV_GFXDECODE(multfish)
|
||||
MDRV_PALETTE_LENGTH(0x1000)
|
||||
|
||||
MDRV_NVRAM_HANDLER(generic_0fill)
|
||||
|
||||
MDRV_VIDEO_START(multfish)
|
||||
MDRV_VIDEO_UPDATE(multfish)
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD("ay", AY8910, 6000000/4)
|
||||
MDRV_SOUND_CONFIG(ay8910_config)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
/*********************************************************
|
||||
Multifish (14 sets)
|
||||
**********************************************************/
|
||||
|
||||
#if ALL_REVISIONS
|
||||
ROM_START( mfish ) // 040316
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf040316.rom", 0x00000, 0x40000, MD5(66019927201954518261652147b05e43) SHA1(c1f4d1c51632a45b533d19c8b6f63d337d84d9cd) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
#endif
|
||||
|
||||
ROM_START( mfish_2 ) // 040308
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf040308.rom", 0x00000, 0x40000, CRC(adb9c1d9) SHA1(88c69f48766dc7c98a6f03c1a0a4aa63b76560b6) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_2a ) // 040308
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf040308_alt.rom", 0x00000, 0x40000, CRC(44537648) SHA1(7bce6085778ff0b21c052ae91703de3b78b8eed0))
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
#if ALL_REVISIONS
|
||||
ROM_START( mfish_3 ) // 031124
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf031124.rom", 0x00000, 0x40000, MD5(9cd800719c6e4a2267e3c140467238d3) SHA1(c0d1b541c4b076bbc810ad637acb4a2663a919ba) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_4 ) // 031117
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf031117.rom", 0x00000, 0x40000, MD5(531a3e63c46be33a151c06bdd9479655) SHA1(1d244a332af0fb6aa593a246211ff2b6d2c48a59) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_5 ) // 031026
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf031026.rom", 0x00000, 0x40000, MD5(a0a31829705ad78786f7c1bd36cee0cf) SHA1(451b390793f89188afe2b6e82fc02b474fb97a7c) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_6 ) // 030522
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf030522.rom", 0x00000, 0x40000, MD5(17dc6bf0308a4ac53bdff0ade1216235) SHA1(fa80e12275b960374c84518bcaa1e32d0a4ff437) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_7 ) // 030511
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf030511.rom", 0x00000, 0x40000, MD5(a910910ce7963a4385e31769789842f7) SHA1(06b3e3875f036782983e29e305f67a36f78a4f06) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_8 ) // 030124
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf030124.rom", 0x00000, 0x40000, MD5(4772becb7c2b3220492c690501e174a7) SHA1(b119b086bad3f6f8acc64a5809ce449800615406) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_9 ) // 021227
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf021227.rom", 0x00000, 0x40000, MD5(1bbdff5bd2b89a0c9c474286c55d16db) SHA1(58b74c41a88a781da01dba52744dc74e41deae70) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_10 ) // 021219
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf021219.rom", 0x00000, 0x40000, MD5(c8810d803d320d9fefa46588c8ef28c0) SHA1(887d456b2ba89560329457d9eaea26fb72223a38) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_11 ) // 021124
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf021124.rom", 0x00000, 0x40000, MD5(a3bfe235ca1d2efa51cc55465a8161e4) SHA1(ea132f68e9c09c40369d4cc02c670ee6e26bdcbe) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_12 ) // 021121
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf021121.rom", 0x00000, 0x40000, MD5(727dc01459f6745caa2b19fbd4432055) SHA1(87a1fb81330cf4b66e17702c22fda694ebff58eb) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mfish_13 ) // 021120
|
||||
ROM_REGION( 0x40000, "main", 0 )
|
||||
ROM_LOAD( "mf021120.rom", 0x00000, 0x40000, MD5(6021e2bfa67abdfc0beb7f291fdc9d9c) SHA1(eb7eb5aae00a77edcf328f460970eb180d86d058) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx", 0 )
|
||||
ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
|
||||
ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
|
||||
ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
|
||||
ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
|
||||
ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
|
||||
ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
|
||||
ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
|
||||
ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
|
||||
ROM_END
|
||||
#endif
|
||||
|
||||
#if ALL_REVISIONS /* Multifish sets verified against dat */
|
||||
GAME( 2004, mfish, 0, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (040316)", 0 )
|
||||
GAME( 2004, mfish_2, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (040308, set 1)", 0 )
|
||||
GAME( 2004, mfish_2a, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (040308, set 2, hack?)", 0 )
|
||||
GAME( 2003, mfish_3, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (031124)", 0 )
|
||||
GAME( 2003, mfish_4, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (031117)", 0 )
|
||||
GAME( 2003, mfish_5, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (031026)", 0 )
|
||||
GAME( 2003, mfish_6, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (030522)", 0 )
|
||||
GAME( 2003, mfish_7, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (030511)", 0 )
|
||||
GAME( 2003, mfish_8, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (030124)", 0 )
|
||||
GAME( 2002, mfish_9, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (021227)", 0 )
|
||||
GAME( 2002, mfish_10, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (021219)", 0 )
|
||||
GAME( 2002, mfish_11, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (021124)", 0 )
|
||||
GAME( 2002, mfish_12, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (021121)", 0 )
|
||||
GAME( 2002, mfish_13, mfish, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (021120)", 0 )
|
||||
#else /* Multifish sets for which SHA1 information is available */
|
||||
GAME( 2004, mfish_2, 0, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (040308, set 1)", 0 )
|
||||
GAME( 2004, mfish_2a, mfish_2, multfish, multfish, 0, ROT0, "Igro", "Multi Fish (040308, set 2, hack?)", 0 )
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1685,6 +1685,7 @@ $(MAMEOBJ)/misc.a: \
|
||||
$(DRIVERS)/hikaru.o \
|
||||
$(DRIVERS)/cb2001.o \
|
||||
$(DRIVERS)/sfbonus.o \
|
||||
$(DRIVERS)/multfish.o \
|
||||
|
||||
#-------------------------------------------------
|
||||
# layout dependencies
|
||||
|
@ -8830,6 +8830,24 @@ Other Sun games
|
||||
/* Sanki Denshi Kogyo */
|
||||
DRIVER( pachifev ) /* (c) 1983? */
|
||||
|
||||
/* Igro */
|
||||
DRIVER( mfish )
|
||||
DRIVER( mfish_2 )
|
||||
DRIVER( mfish_2a )
|
||||
DRIVER( mfish_3 )
|
||||
DRIVER( mfish_4 )
|
||||
DRIVER( mfish_5 )
|
||||
DRIVER( mfish_6 )
|
||||
DRIVER( mfish_7 )
|
||||
DRIVER( mfish_8 )
|
||||
DRIVER( mfish_9 )
|
||||
DRIVER( mfish_10 )
|
||||
DRIVER( mfish_11 )
|
||||
DRIVER( mfish_12 )
|
||||
DRIVER( mfish_13 )
|
||||
|
||||
|
||||
|
||||
/* Drivers below are mechanical games, usually with no video display, requiring external artwork to function.
|
||||
These are currently mostly 'fruit machine' style games, although this may later be extended to system logic
|
||||
emulation for pinball machiens.
|
||||
|
Loading…
Reference in New Issue
Block a user