mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
sigmab98: added preliminary sound to the Sammy medal games [Andrew Gardner]
New games added or promoted from NOT_WORKING status --------------------------------------------------- Hae Hae Ka Ka Ka [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
This commit is contained in:
parent
ae80966c9b
commit
7dd297d676
@ -74,15 +74,20 @@ To Do:
|
||||
to "coin" (it probably changes the number of reads from port $C0).
|
||||
I guess the reset_delay mechanism should be implemented with a timer in eeprom.c.
|
||||
|
||||
Notes:
|
||||
|
||||
- "BACKUP RAM NG" error: in test mode, choose "SET MODE" -> "RAM CLEAR" and keep the button pressed for long.
|
||||
|
||||
*************************************************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "deprecat.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/okim9810.h"
|
||||
#include "sound/ymz280b.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/ticket.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/ticket.h"
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -168,9 +173,9 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
|
||||
dx = (dx & 0x1ff) - (dx & 0x200);
|
||||
dy = (dy & 0x1ff) - (dy & 0x200);
|
||||
|
||||
// Add shift
|
||||
sx += dx;
|
||||
sy += dy;
|
||||
// Add shift (negated, as it seems more correct in haekaka)
|
||||
sx -= dx;
|
||||
sy -= dy;
|
||||
|
||||
// Use fixed point values (16.16), for accuracy
|
||||
sx <<= 16;
|
||||
@ -631,10 +636,6 @@ static WRITE8_HANDLER( sammymdl_hopper_w )
|
||||
show_3_outputs();
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( sammymdl_sound_w )
|
||||
{
|
||||
}
|
||||
|
||||
static READ8_HANDLER( sammymdl_coin_hopper_r )
|
||||
{
|
||||
UINT8 ret = input_port_read(space->machine, "COIN");
|
||||
@ -645,6 +646,20 @@ static READ8_HANDLER( sammymdl_coin_hopper_r )
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Sound
|
||||
static WRITE8_DEVICE_HANDLER( sammymdl_sound_w )
|
||||
{
|
||||
if (offset)
|
||||
downcast<okim9810_device *>(device)->write_TMP_register(data);
|
||||
else
|
||||
downcast<okim9810_device *>(device)->write_command(data);
|
||||
}
|
||||
static READ8_DEVICE_HANDLER( sammymdl_sound_r )
|
||||
{
|
||||
// Needed for haekaka (Oki read status is not implemented yet)
|
||||
return device->machine->rand();
|
||||
}
|
||||
|
||||
static UINT8 *nvram;
|
||||
static ADDRESS_MAP_START( animalc_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
|
||||
@ -656,7 +671,7 @@ static ADDRESS_MAP_START( animalc_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0xb000, 0xbfff ) AM_RAMBANK("sprbank")
|
||||
|
||||
AM_RANGE( 0xd000, 0xd1ff ) AM_RAM_WRITE( paletteram_xRRRRRGGGGGBBBBB_be_w ) AM_BASE_GENERIC( paletteram )
|
||||
AM_RANGE( 0xd800, 0xd87f ) AM_RAM // ?
|
||||
AM_RANGE( 0xd800, 0xd87f ) AM_RAM // table?
|
||||
|
||||
AM_RANGE( 0xe011, 0xe011 ) AM_WRITENOP // IRQ Enable? Screen disable?
|
||||
AM_RANGE( 0xe013, 0xe013 ) AM_READWRITE( vblank_r, vblank_w ) // IRQ Ack?
|
||||
@ -675,7 +690,229 @@ static ADDRESS_MAP_START( animalc_io, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE( 0x31, 0x31 ) AM_WRITE( sammymdl_coin_w )
|
||||
AM_RANGE( 0x32, 0x32 ) AM_WRITE( sammymdl_leds_w )
|
||||
AM_RANGE( 0x34, 0x34 ) AM_READ( unk_34_r )
|
||||
AM_RANGE( 0x90, 0x91 ) AM_WRITE( sammymdl_sound_w )
|
||||
AM_RANGE( 0x90, 0x91 ) AM_DEVWRITE("oki", sammymdl_sound_w )
|
||||
AM_RANGE( 0x92, 0x92 ) AM_DEVWRITE("oki", sammymdl_sound_r )
|
||||
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE( sammymdl_hopper_w )
|
||||
AM_RANGE( 0xc0, 0xc0 ) AM_WRITE( watchdog_reset_w ) // 1
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/***************************************************************************
|
||||
Hae Hae Ka Ka Ka
|
||||
***************************************************************************/
|
||||
|
||||
// rombank
|
||||
static WRITE8_HANDLER( haekaka_rombank_w )
|
||||
{
|
||||
if (offset == 0)
|
||||
{
|
||||
reg = data;
|
||||
return;
|
||||
}
|
||||
|
||||
switch ( reg )
|
||||
{
|
||||
case 0x2b:
|
||||
rombank = data;
|
||||
switch (data)
|
||||
{
|
||||
case 0x10: // ROM
|
||||
case 0x11: // ROM
|
||||
case 0x13: // ROM
|
||||
case 0x15: // ROM
|
||||
case 0x17: // ROM
|
||||
case 0x19: // ROM
|
||||
case 0x1b: // ROM
|
||||
case 0x65: // SPRITERAM
|
||||
case 0x67: // PALETTE RAM + TABLE + REGS
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown rom bank = %02x, reg = %02x\n", space->machine->describe_context(), data, reg);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown reg written: %02x = %02x\n", space->machine->describe_context(), reg, data);
|
||||
}
|
||||
}
|
||||
static READ8_HANDLER( haekaka_rombank_r )
|
||||
{
|
||||
if (offset == 0)
|
||||
return reg;
|
||||
|
||||
switch ( reg )
|
||||
{
|
||||
case 0x2b:
|
||||
return rombank;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown reg read: %02x\n", space->machine->describe_context(), reg);
|
||||
return 0x00;
|
||||
}
|
||||
}
|
||||
|
||||
// rambank
|
||||
static WRITE8_HANDLER( haekaka_rambank_w )
|
||||
{
|
||||
if (offset == 0)
|
||||
{
|
||||
reg2 = data;
|
||||
return;
|
||||
}
|
||||
|
||||
switch ( reg2 )
|
||||
{
|
||||
case 0x33:
|
||||
rambank = data;
|
||||
switch (data)
|
||||
{
|
||||
case 0x53:
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown ram bank = %02x, reg2 = %02x\n", space->machine->describe_context(), data, reg2);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown reg2 written: %02x = %02x\n", space->machine->describe_context(), reg2, data);
|
||||
}
|
||||
}
|
||||
static READ8_HANDLER( haekaka_rambank_r )
|
||||
{
|
||||
if (offset == 0)
|
||||
return reg2;
|
||||
|
||||
switch ( reg2 )
|
||||
{
|
||||
case 0x33:
|
||||
return rambank;
|
||||
|
||||
default:
|
||||
logerror("%s: unknown reg2 read: %02x\n", space->machine->describe_context(), reg2);
|
||||
return 0x00;
|
||||
}
|
||||
}
|
||||
|
||||
static READ8_HANDLER( haekaka_vblank_r )
|
||||
{
|
||||
return space->machine->primary_screen->vblank() ? 0 : 0x1c;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( haekaka_b000_r )
|
||||
{
|
||||
switch (rombank)
|
||||
{
|
||||
case 0x10: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0xb400];
|
||||
|
||||
case 0x11: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0xc400];
|
||||
|
||||
case 0x15: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0x10400];
|
||||
|
||||
case 0x17: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0x12400];
|
||||
|
||||
case 0x19: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0x14400];
|
||||
|
||||
case 0x1b: // ROM
|
||||
return space->machine->region("maincpu")->base()[offset + 0x16400];
|
||||
|
||||
case 0x65: // SPRITERAM
|
||||
if (offset < 0x1000)
|
||||
return space->machine->generic.spriteram.u8[offset];
|
||||
|
||||
case 0x67: // PALETTERAM + TABLE? + REGS
|
||||
if (offset < 0x200)
|
||||
return space->machine->generic.paletteram.u8[offset];
|
||||
else if (offset == (0xc013-0xb000))
|
||||
return haekaka_vblank_r(space, offset);
|
||||
break;
|
||||
}
|
||||
|
||||
logerror("%s: unknown read from %02x with rombank = %02x\n", space->machine->describe_context(), offset+0xb000, rombank);
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( haekaka_b000_w )
|
||||
{
|
||||
switch (rombank)
|
||||
{
|
||||
case 0x65: // SPRITERAM
|
||||
if (offset < 0x1000)
|
||||
{
|
||||
space->machine->generic.spriteram.u8[offset] = data;
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x67: // PALETTERAM + TABLE? + REGS
|
||||
if (offset < 0x200)
|
||||
{
|
||||
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
|
||||
// space->machine->generic.paletteram.u8[offset] = data;
|
||||
return;
|
||||
}
|
||||
else if ((offset >= 0x800) && (offset < 0x880))
|
||||
{
|
||||
// table?
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
logerror("%s: unknown write to %02x = %02x with rombank = %02x\n", space->machine->describe_context(), offset+0xb000, data, rombank);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( haekaka_leds_w )
|
||||
{
|
||||
// All used
|
||||
set_led_status(space->machine, 0, data & 0x01);
|
||||
set_led_status(space->machine, 1, data & 0x02);
|
||||
set_led_status(space->machine, 2, data & 0x04);
|
||||
set_led_status(space->machine, 3, data & 0x08);
|
||||
set_led_status(space->machine, 4, data & 0x10);
|
||||
set_led_status(space->machine, 5, data & 0x20);
|
||||
set_led_status(space->machine, 6, data & 0x40);
|
||||
set_led_status(space->machine, 7, data & 0x80);
|
||||
|
||||
out[1] = data;
|
||||
show_3_outputs();
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( haekaka_coin_w )
|
||||
{
|
||||
set_led_status(space->machine, 8, data & 0x01);
|
||||
// data & 0x02 ?
|
||||
// data & 0x04 ?
|
||||
// data & 0x10 ?
|
||||
|
||||
out[0] = data;
|
||||
show_3_outputs();
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( haekaka_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
|
||||
AM_RANGE( 0xb000, 0xcfff ) AM_READWRITE( haekaka_b000_r, haekaka_b000_w )
|
||||
AM_RANGE( 0xd000, 0xefff ) AM_RAM AM_SHARE( "nvram" ) AM_BASE( &nvram )
|
||||
AM_RANGE( 0xfe00, 0xffff ) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( haekaka_io, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE( 0x02, 0x03 ) AM_READWRITE( haekaka_rombank_r, haekaka_rombank_w )
|
||||
AM_RANGE( 0x04, 0x05 ) AM_READWRITE( haekaka_rambank_r, haekaka_rambank_w )
|
||||
|
||||
AM_RANGE( 0x2c, 0x2c ) AM_DEVREADWRITE( "eeprom", sammymdl_eeprom_r, sammymdl_eeprom_w )
|
||||
AM_RANGE( 0x2e, 0x2e ) AM_READ( sammymdl_coin_hopper_r )
|
||||
AM_RANGE( 0x30, 0x30 ) AM_READ_PORT( "BUTTON" )
|
||||
AM_RANGE( 0x31, 0x31 ) AM_WRITE( haekaka_coin_w )
|
||||
AM_RANGE( 0x32, 0x32 ) AM_WRITE( haekaka_leds_w )
|
||||
AM_RANGE( 0x90, 0x91 ) AM_DEVWRITE("oki", sammymdl_sound_w )
|
||||
AM_RANGE( 0x92, 0x92 ) AM_DEVWRITE("oki", sammymdl_sound_r )
|
||||
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE( sammymdl_hopper_w )
|
||||
AM_RANGE( 0xc0, 0xc0 ) AM_WRITE( watchdog_reset_w ) // 1
|
||||
ADDRESS_MAP_END
|
||||
@ -892,7 +1129,7 @@ static ADDRESS_MAP_START( itazuram_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x4800, 0x57ff ) AM_READ_BANK( "rombank1" ) AM_WRITE_BANK( "sprbank1" )
|
||||
|
||||
AM_RANGE( 0x5800, 0x59ff ) AM_READWRITE( itazuram_palette_r, itazuram_palette_w )
|
||||
AM_RANGE( 0x6000, 0x607f ) AM_RAM // ?
|
||||
AM_RANGE( 0x6000, 0x607f ) AM_RAM // table?
|
||||
|
||||
AM_RANGE( 0x6811, 0x6811 ) AM_WRITENOP // IRQ Enable? Screen disable?
|
||||
AM_RANGE( 0x6813, 0x6813 ) AM_WRITENOP // IRQ Ack?
|
||||
@ -911,7 +1148,8 @@ static ADDRESS_MAP_START( itazuram_io, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE( 0x30, 0x30 ) AM_READ_PORT( "BUTTON" )
|
||||
AM_RANGE( 0x31, 0x31 ) AM_WRITE( sammymdl_coin_w )
|
||||
AM_RANGE( 0x32, 0x32 ) AM_WRITE( sammymdl_leds_w )
|
||||
AM_RANGE( 0x90, 0x91 ) AM_WRITE( sammymdl_sound_w ) // sound
|
||||
AM_RANGE( 0x90, 0x91 ) AM_DEVWRITE("oki", sammymdl_sound_w )
|
||||
AM_RANGE( 0x92, 0x92 ) AM_DEVWRITE("oki", sammymdl_sound_r )
|
||||
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE( sammymdl_hopper_w )
|
||||
AM_RANGE( 0xc0, 0xc0 ) AM_WRITE( watchdog_reset_w ) // 1
|
||||
ADDRESS_MAP_END
|
||||
@ -1020,6 +1258,28 @@ static INPUT_PORTS_START( sammymdl )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( haekaka )
|
||||
PORT_START("BUTTON")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(5) // medal in
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) // test sw
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) // button
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("hopper", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service coin / set in test mode
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -1150,7 +1410,69 @@ static MACHINE_CONFIG_START( animalc, driver_device )
|
||||
MCFG_VIDEO_EOF(sammymdl)
|
||||
|
||||
// sound hardware
|
||||
// OKI MSM981x ?
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_OKIM9810_ADD("oki", 16000) // OKI MSM981x? Clock?
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/***************************************************************************
|
||||
Hae Hae Ka Ka Ka
|
||||
***************************************************************************/
|
||||
|
||||
static INTERRUPT_GEN( haekaka )
|
||||
{
|
||||
switch (cpu_getiloops(device))
|
||||
{
|
||||
case 0:
|
||||
cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x04);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x1a);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x1c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Everything here is a guess:
|
||||
static MACHINE_CONFIG_START( haekaka, driver_device )
|
||||
MCFG_CPU_ADD("maincpu", Z80, 8000000) // ???
|
||||
MCFG_CPU_PROGRAM_MAP( haekaka_map )
|
||||
MCFG_CPU_IO_MAP( haekaka_io )
|
||||
MCFG_CPU_VBLANK_INT_HACK(haekaka, 3) // IM 2 needs a vector on the data bus
|
||||
|
||||
MCFG_MACHINE_RESET( sammymdl )
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram") // battery
|
||||
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C46_8bit)
|
||||
|
||||
MCFG_TICKET_DISPENSER_ADD("hopper", 200, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // game reads vblank state
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_SIZE(0x140, 0x100)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xf0-1)
|
||||
|
||||
MCFG_GFXDECODE(sigmab98)
|
||||
MCFG_PALETTE_LENGTH(0x100)
|
||||
|
||||
MCFG_VIDEO_UPDATE(sigmab98)
|
||||
// MCFG_VIDEO_EOF(sammymdl)
|
||||
|
||||
// sound hardware
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_OKIM9810_ADD("oki", 16000/2) // OKI MSM981x? Clock?
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/***************************************************************************
|
||||
@ -1203,7 +1525,11 @@ static MACHINE_CONFIG_START( itazuram, driver_device )
|
||||
// MCFG_VIDEO_EOF(sammymdl)
|
||||
|
||||
// sound hardware
|
||||
// OKI MSM981x ?
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_OKIM9810_ADD("oki", 16000) // OKI MSM981x? Clock?
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1298,11 +1624,11 @@ static DRIVER_INIT( gegege )
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( animalc )
|
||||
ROM_REGION( 0x200000, "samples", 0 )
|
||||
ROM_REGION( 0x1000000, "oki", 0 )
|
||||
ROM_LOAD( "vx2302l01.u021", 0x00000, 0x200000, CRC(84cf123b) SHA1(d8b425c93ff1a560e3f92c70d7eb93a05c3581af) )
|
||||
|
||||
ROM_REGION( 0x40000, "maincpu", 0 )
|
||||
ROM_COPY( "samples", 0x1c0000, 0x00000, 0x40000 )
|
||||
ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 )
|
||||
ROM_LOAD( "vx2301l01.u016", 0x00000, 0x200000, CRC(4ae14ff9) SHA1(1273d15ea642452fecacff572655cd3ab47a5884) ) // 1xxxxxxxxxxxxxxxxxxxx = 0x00
|
||||
@ -1333,11 +1659,11 @@ static DRIVER_INIT( animalc )
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( itazuram )
|
||||
ROM_REGION( 0x200000, "samples", 0 )
|
||||
ROM_REGION( 0x1000000, "oki", 0 )
|
||||
ROM_LOAD( "vx2002l01.u021", 0x00000, 0x200000, CRC(ddbdd2f3) SHA1(91f67a938929be0261442e066e3d2c03b5e9f06a) )
|
||||
|
||||
ROM_REGION( 0x40000, "maincpu", 0 )
|
||||
ROM_COPY( "samples", 0x1c0000, 0x00000, 0x40000 )
|
||||
ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 )
|
||||
ROM_LOAD( "vx2001l01.u016", 0x00000, 0x200000, CRC(9ee95222) SHA1(7154d43ef312a48a882207ca37e1c61e8b215a9b) )
|
||||
@ -1388,11 +1714,11 @@ static DRIVER_INIT( itazuram )
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( tdoboon )
|
||||
ROM_REGION( 0x200000, "samples", 0 )
|
||||
ROM_REGION( 0x1000000, "oki", 0 )
|
||||
ROM_LOAD( "em4210l01.u021.bin", 0x00000, 0x200000, CRC(3523e314) SHA1(d07c5d17d3f285be4cde810547f427e84f98968f) )
|
||||
|
||||
ROM_REGION( 0x40000, "maincpu", 0 )
|
||||
ROM_COPY( "samples", 0x1c0000, 0x00000, 0x40000 )
|
||||
ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 )
|
||||
ROM_LOAD( "em4209l01.u016.bin", 0x00000, 0x200000, CRC(aca220fa) SHA1(7db441add16af554700e597fd9926b6ccd19d628) ) // 1xxxxxxxxxxxxxxxxxxxx = 0xFF
|
||||
@ -1408,11 +1734,11 @@ ROM_END
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( pyenaget )
|
||||
ROM_REGION( 0x200000, "samples", 0 )
|
||||
ROM_REGION( 0x1000000, "oki", 0 )
|
||||
ROM_LOAD( "vx1802l01.u021", 0x00000, 0x200000, CRC(7a22a657) SHA1(2a98085862fd958209253c5401e41eae4f7c06ea) )
|
||||
|
||||
ROM_REGION( 0x40000, "maincpu", 0 )
|
||||
ROM_COPY( "samples", 0x1c0000, 0x00000, 0x40000 )
|
||||
ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 )
|
||||
ROM_LOAD( "vx1801l01.u016", 0x00000, 0x200000, CRC(c4607403) SHA1(f4f4699442afccc5ed4354447f91b1bee36ae3e5) )
|
||||
@ -1442,26 +1768,40 @@ ROM_END
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( haekaka )
|
||||
ROM_REGION( 0x200000, "samples", 0 )
|
||||
ROM_REGION( 0x1000000, "oki", 0 )
|
||||
ROM_LOAD( "em4208l01.u021.bin", 0x00000, 0x200000, CRC(d23bb748) SHA1(38d5b6c4b2cd470b3a68574aeca3f9fa9032245e) )
|
||||
|
||||
ROM_REGION( 0x40000, "maincpu", 0 )
|
||||
ROM_COPY( "samples", 0x1c0000, 0x00000, 0x40000 )
|
||||
ROM_COPY( "oki", 0x1c0000, 0x00000, 0x40000 )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 )
|
||||
ROM_LOAD( "em4207l01.u016.bin", 0x00000, 0x200000, CRC(3876961c) SHA1(3d842c1f63ea5aa7e799967928b86c5fabb4e65e) )
|
||||
ROM_END
|
||||
|
||||
static DRIVER_INIT( haekaka )
|
||||
{
|
||||
// RAM banks
|
||||
machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200);
|
||||
memset(machine->generic.paletteram.u8, 0, 0x200);
|
||||
|
||||
machine->generic.spriteram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
|
||||
memset(machine->generic.spriteram.u8, 0, 0x1000);
|
||||
machine->generic.spriteram_size = 0x1000;
|
||||
|
||||
rombank = 0x65;
|
||||
rambank = 0x53;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Game Drivers
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
GAME( 1997, gegege, 0, gegege, gegege, gegege, ROT0, "Banpresto / Sigma", "GeGeGe no Kitarou Youkai Slot", 0 )
|
||||
GAME( 1997, gegege, 0, gegege, gegege, gegege, ROT0, "Banpresto / Sigma", "GeGeGe no Kitarou Youkai Slot", 0 )
|
||||
// Sammy Medal Games:
|
||||
GAME( 2000, animalc, 0, animalc, sammymdl, animalc, ROT0, "Sammy", "Animal Catch", GAME_NO_SOUND )
|
||||
GAME( 2000, itazuram, 0, itazuram, sammymdl, itazuram, ROT0, "Sammy", "Itazura Monkey", GAME_NO_SOUND )
|
||||
GAME( 2000, pyenaget, 0, animalc, sammymdl, 0, ROT0, "Sammy", "Pye-nage Taikai", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 2002, haekaka, 0, animalc, sammymdl, 0, ROT0, "Sammy", "Hae Hae Ka Ka Ka", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 2002, tdoboon, 0, animalc, sammymdl, 0, ROT0, "Sammy", "Taihou de Doboon", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 2000, animalc, 0, animalc, sammymdl, animalc, ROT0, "Sammy", "Animal Catch", GAME_IMPERFECT_SOUND )
|
||||
GAME( 2000, itazuram, 0, itazuram, sammymdl, itazuram, ROT0, "Sammy", "Itazura Monkey", GAME_IMPERFECT_SOUND )
|
||||
GAME( 2000, pyenaget, 0, animalc, sammymdl, 0, ROT0, "Sammy", "Pye-nage Taikai", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 2001, haekaka, 0, haekaka, haekaka, haekaka, ROT0, "Sammy", "Hae Hae Ka Ka Ka", GAME_IMPERFECT_SOUND )
|
||||
GAME( 2002, tdoboon, 0, animalc, sammymdl, 0, ROT0, "Sammy", "Taihou de Doboon", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
|
||||
|
@ -8529,11 +8529,11 @@ Other Sun games
|
||||
|
||||
/* Sigma B98 */
|
||||
DRIVER( gegege ) /* (c) 1997 Banpresto / Sigma */
|
||||
DRIVER( animalc ) /* 2000 Sammy */
|
||||
DRIVER( itazuram ) /* 2000 Sammy */
|
||||
DRIVER( pyenaget ) /* 2000 Sammy */
|
||||
DRIVER( haekaka ) /* 2002 Sammy */
|
||||
DRIVER( tdoboon ) /* 2002 Sammy */
|
||||
DRIVER( animalc ) /* (c) 2000 Sammy */
|
||||
DRIVER( itazuram ) /* (c) 2000 Sammy */
|
||||
DRIVER( pyenaget ) /* (c) 2000 Sammy */
|
||||
DRIVER( haekaka ) /* (c) 2001 Sammy */
|
||||
DRIVER( tdoboon ) /* (c) 2002 Sammy */
|
||||
|
||||
/* IGS games ( www.igs.com.tw ) */
|
||||
DRIVER( goldstar ) /* (c) 198? IGS */
|
||||
|
Loading…
Reference in New Issue
Block a user