mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
Galaxian rewrite. Ultimately will combine the existing drivers
for galaxian, scramble, frogger, scobra, amidar, and dambustr. For the moment, only a subset of games are implemented in the new system; the remainder are running on the old code. Main features are accurate video timing, correct stars implementation, better organization, simplified input ports, and many other smaller fixes. In addition, the following MAMETesters bugs are addressed: - 01598: [Graphics] 4in1, gmgalax, pacmanbl: Sprites are cut off on the top row - 01563: [DIP/Input] gmgalax: Duplicated Inputs - 00300: [Graphics] zigzag: in cocktail mode player 2 screen is shift over to the right - 01454: [Graphics] mshuttle, mshuttlj, mshutlj2: The display of the screen is shifted - 01473: [Graphics] orbitron: Orbitron graphics not correctly displayed - 01600: [Graphics] pacmanbl, batman2: The background is shifted to the right and cut off on the right side - 01602: [Misc.] luctoday: Messed up graphics. (Screen Offset) - 01599: [Graphics] omega: Screen is vertically offset - 01605: [Graphics] gteikokb, gteikob2: Wrong screen offset (aaron)
This commit is contained in:
parent
ec36f9c06f
commit
6979179c11
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1175,7 +1175,6 @@ src/mame/drivers/alg.c svneol=native#text/plain
|
||||
src/mame/drivers/aliens.c svneol=native#text/plain
|
||||
src/mame/drivers/alpha68k.c svneol=native#text/plain
|
||||
src/mame/drivers/ambush.c svneol=native#text/plain
|
||||
src/mame/drivers/amidar.c svneol=native#text/plain
|
||||
src/mame/drivers/ampoker2.c svneol=native#text/plain
|
||||
src/mame/drivers/amspdwy.c svneol=native#text/plain
|
||||
src/mame/drivers/angelkds.c svneol=native#text/plain
|
||||
@ -1430,7 +1429,6 @@ src/mame/drivers/flyball.c svneol=native#text/plain
|
||||
src/mame/drivers/foodf.c svneol=native#text/plain
|
||||
src/mame/drivers/fortecar.c svneol=native#text/plain
|
||||
src/mame/drivers/freekick.c svneol=native#text/plain
|
||||
src/mame/drivers/frogger.c svneol=native#text/plain
|
||||
src/mame/drivers/fromanc2.c svneol=native#text/plain
|
||||
src/mame/drivers/fromance.c svneol=native#text/plain
|
||||
src/mame/drivers/funkybee.c svneol=native#text/plain
|
||||
@ -1445,7 +1443,9 @@ src/mame/drivers/gaelco3d.c svneol=native#text/plain
|
||||
src/mame/drivers/gaiden.c svneol=native#text/plain
|
||||
src/mame/drivers/galaga.c svneol=native#text/plain
|
||||
src/mame/drivers/galaxia.c svneol=native#text/plain
|
||||
src/mame/drivers/galaxian.c svneol=native#text/plain
|
||||
src/mame/drivers/galaxold.c svneol=native#text/plain
|
||||
src/mame/drivers/galdrvr.c svneol=native#text/plain
|
||||
src/mame/drivers/galivan.c svneol=native#text/plain
|
||||
src/mame/drivers/galpani2.c svneol=native#text/plain
|
||||
src/mame/drivers/galpani3.c svneol=native#text/plain
|
||||
@ -2189,6 +2189,7 @@ src/mame/includes/foodf.h svneol=native#text/plain
|
||||
src/mame/includes/fromance.h svneol=native#text/plain
|
||||
src/mame/includes/gaelco3d.h svneol=native#text/plain
|
||||
src/mame/includes/galaga.h svneol=native#text/plain
|
||||
src/mame/includes/galaxian.h svneol=native#text/plain
|
||||
src/mame/includes/galaxold.h svneol=native#text/plain
|
||||
src/mame/includes/gameplan.h svneol=native#text/plain
|
||||
src/mame/includes/gauntlet.h svneol=native#text/plain
|
||||
@ -2791,6 +2792,7 @@ src/mame/video/gaelco2.c svneol=native#text/plain
|
||||
src/mame/video/gaelco3d.c svneol=native#text/plain
|
||||
src/mame/video/gaiden.c svneol=native#text/plain
|
||||
src/mame/video/galaga.c svneol=native#text/plain
|
||||
src/mame/video/galaxian.c svneol=native#text/plain
|
||||
src/mame/video/galaxold.c svneol=native#text/plain
|
||||
src/mame/video/galivan.c svneol=native#text/plain
|
||||
src/mame/video/galpani2.c svneol=native#text/plain
|
||||
|
@ -105,6 +105,36 @@ static void tone_update(void *param, stream_sample_t **input, stream_sample_t **
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( galaxian_sound_w )
|
||||
{
|
||||
data &= 0x01;
|
||||
switch (offset & 7)
|
||||
{
|
||||
case 0: /* FS1 (controls 555 timer at 8R) */
|
||||
case 1: /* FS2 (controls 555 timer at 8S) */
|
||||
case 2: /* FS3 (controls 555 timer at 8T) */
|
||||
galaxian_background_enable_w(machine, offset, data);
|
||||
break;
|
||||
|
||||
case 3: /* HIT */
|
||||
galaxian_noise_enable_w(machine, 0, data);
|
||||
break;
|
||||
|
||||
case 4: /* n/c */
|
||||
break;
|
||||
|
||||
case 5: /* FIRE */
|
||||
galaxian_shoot_enable_w(machine, 0, data);
|
||||
break;
|
||||
|
||||
case 6: /* VOL1 */
|
||||
case 7: /* VOL2 */
|
||||
galaxian_vol_w(machine, offset & 1, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( galaxian_pitch_w )
|
||||
{
|
||||
stream_update(tone_stream);
|
||||
@ -528,3 +558,10 @@ const struct Samplesinterface galaxian_samples_interface =
|
||||
NULL,
|
||||
galaxian_sh_start
|
||||
};
|
||||
|
||||
const struct Samplesinterface galaxian_custom_interface =
|
||||
{
|
||||
5,
|
||||
NULL,
|
||||
galaxian_sh_start
|
||||
};
|
||||
|
@ -1,538 +0,0 @@
|
||||
/***************************************************************************
|
||||
|
||||
Amidar hardware
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "galaxold.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/8255ppi.h"
|
||||
|
||||
|
||||
static const gfx_layout amidar_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(0,2), RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout amidar_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(0,2), RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( amidar )
|
||||
GFXDECODE_ENTRY( REGION_GFX1, 0x0000, amidar_charlayout, 0, 8 )
|
||||
GFXDECODE_ENTRY( REGION_GFX1, 0x0000, amidar_spritelayout, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static UINT8 *amidar_soundram;
|
||||
|
||||
static READ8_HANDLER(amidar_soundram_r)
|
||||
{
|
||||
return amidar_soundram[offset & 0x03ff];
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(amidar_soundram_w)
|
||||
{
|
||||
amidar_soundram[offset & 0x03ff] = data;
|
||||
}
|
||||
|
||||
static const struct AY8910interface amidar_ay8910_interface_2 =
|
||||
{
|
||||
soundlatch_r,
|
||||
scramble_portB_r
|
||||
};
|
||||
|
||||
static READ8_HANDLER(amidar_ppi8255_0_r)
|
||||
{
|
||||
return ppi8255_0_r(machine, offset >> 4);
|
||||
}
|
||||
|
||||
static READ8_HANDLER(amidar_ppi8255_1_r)
|
||||
{
|
||||
return ppi8255_1_r(machine, offset >> 4);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(amidar_ppi8255_0_w)
|
||||
{
|
||||
ppi8255_0_w(machine, offset >> 4, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(amidar_ppi8255_1_w)
|
||||
{
|
||||
ppi8255_1_w(machine, offset >> 4, data);
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ(watchdog_reset_r)
|
||||
AM_RANGE(0xb000, 0xb03f) AM_READ(amidar_ppi8255_0_r)
|
||||
AM_RANGE(0xb800, 0xb83f) AM_READ(amidar_ppi8255_1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram)
|
||||
AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram)
|
||||
AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size)
|
||||
AM_RANGE(0x9860, 0x98ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0xa008, 0xa008) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0xa010, 0xa010) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0xa018, 0xa018) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0xa020, 0xa020) AM_WRITE(scramble_background_green_w)
|
||||
AM_RANGE(0xa028, 0xa028) AM_WRITE(scramble_background_blue_w)
|
||||
AM_RANGE(0xa030, 0xa030) AM_WRITE(galaxold_coin_counter_0_w)
|
||||
AM_RANGE(0xa038, 0xa038) AM_WRITE(galaxold_coin_counter_1_w)
|
||||
AM_RANGE(0xb000, 0xb03f) AM_WRITE(amidar_ppi8255_0_w)
|
||||
AM_RANGE(0xb800, 0xb83f) AM_WRITE(amidar_ppi8255_1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( amidar_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x8fff) AM_READ(amidar_soundram_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( amidar_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x8fff) AM_WRITE(amidar_soundram_w)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_NOP) AM_BASE(&amidar_soundram) /* only here to initialize pointer */
|
||||
AM_RANGE(0x9000, 0x9fff) AM_WRITE(scramble_filter_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( amidar_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x20, 0x20) AM_READ(AY8910_read_port_0_r)
|
||||
AM_RANGE(0x80, 0x80) AM_READ(AY8910_read_port_1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( amidar_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_1_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_write_port_1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
#define AMIDAR_IN0 \
|
||||
PORT_START_TAG("IN0") \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
#define AMIDAR_IN1 \
|
||||
PORT_START_TAG("IN1")\
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )\
|
||||
PORT_DIPSETTING( 0x03, "3" )\
|
||||
PORT_DIPSETTING( 0x02, "4" )\
|
||||
PORT_DIPSETTING( 0x01, "5" )\
|
||||
PORT_DIPSETTING( 0x00, "255 (Cheat)")\
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */\
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL\
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL\
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )\
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
#define AMIDAR_DSW \
|
||||
PORT_START_TAG("DSW")\
|
||||
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )\
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )\
|
||||
PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )\
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )\
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )\
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )\
|
||||
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )\
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )\
|
||||
PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )\
|
||||
PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )\
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )\
|
||||
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )\
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )\
|
||||
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )\
|
||||
PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )\
|
||||
PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )\
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )\
|
||||
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )\
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )\
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )\
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )\
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )\
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )\
|
||||
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )\
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )\
|
||||
PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )\
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )\
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )\
|
||||
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )\
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )\
|
||||
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )\
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )\
|
||||
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )\
|
||||
PORT_DIPSETTING( 0x00, "Disable All Coins" )
|
||||
|
||||
|
||||
static INPUT_PORTS_START( amidar )
|
||||
AMIDAR_IN0
|
||||
|
||||
AMIDAR_IN1
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "30000 50000" )
|
||||
PORT_DIPSETTING( 0x04, "Every 50000" )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
AMIDAR_DSW
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* absolutely identical to amidar, the only difference is the BONUS dip switch */
|
||||
static INPUT_PORTS_START( amidaru )
|
||||
PORT_INCLUDE( amidar )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "30000 70000" )
|
||||
PORT_DIPSETTING( 0x04, "50000 80000" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( amidaro )
|
||||
PORT_INCLUDE( amidar )
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x03, "1" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_DIPNAME( 0x02, 0x00, "Level Progression" )
|
||||
PORT_DIPSETTING( 0x00, "Slow" )
|
||||
PORT_DIPSETTING( 0x02, "Fast" )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "30000 70000" )
|
||||
PORT_DIPSETTING( 0x04, "50000 80000" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* similar to Amidar, dip switches are different and port 3, which in Amidar */
|
||||
/* selects coins per credit, is not used. */
|
||||
static INPUT_PORTS_START( turtles )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for button 2 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "4" )
|
||||
PORT_DIPSETTING( 0x02, "5" )
|
||||
PORT_DIPSETTING( 0x03, "126 (Cheat)")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably space for player 2 button 2 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" )
|
||||
PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" )
|
||||
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* same as Turtles, but dip switches are different. */
|
||||
static INPUT_PORTS_START( turpin )
|
||||
PORT_INCLUDE( turtles )
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "5" )
|
||||
PORT_DIPSETTING( 0x02, "7" )
|
||||
PORT_DIPSETTING( 0x03, "126 (Cheat)")
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( amidar )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
|
||||
MDRV_CPU_ADD(Z80,14318000/8)
|
||||
/* audio CPU */ /* 1.78975 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(amidar_sound_readmem,amidar_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(amidar_sound_readport,amidar_sound_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(scramble)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(16000.0/132/2)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
MDRV_GFXDECODE(amidar)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+8)
|
||||
|
||||
MDRV_PALETTE_INIT(turtles)
|
||||
MDRV_VIDEO_START(turtles)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD(AY8910, 14318000/8)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
|
||||
MDRV_SOUND_ADD(AY8910, 14318000/8)
|
||||
MDRV_SOUND_CONFIG(amidar_ay8910_interface_2)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Game driver(s)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( amidar )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "amidar.2c", 0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) )
|
||||
ROM_LOAD( "amidar.2e", 0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) )
|
||||
ROM_LOAD( "amidar.2f", 0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) )
|
||||
ROM_LOAD( "amidar.2h", 0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "amidar.5c", 0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) )
|
||||
ROM_LOAD( "amidar.5d", 0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "amidar.5f", 0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) )
|
||||
ROM_LOAD( "amidar.5h", 0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( amidaru )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "amidarus.2c", 0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) )
|
||||
ROM_LOAD( "amidarus.2e", 0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) )
|
||||
ROM_LOAD( "amidarus.2f", 0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) )
|
||||
ROM_LOAD( "amidarus.2h", 0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) )
|
||||
ROM_LOAD( "amidarus.2j", 0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
|
||||
ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
|
||||
ROM_LOAD( "amidarus.5h", 0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( amidaro )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "107.2cd", 0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) )
|
||||
ROM_LOAD( "108.2fg", 0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
|
||||
ROM_LOAD( "109.2fg", 0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) )
|
||||
ROM_LOAD( "110.2h", 0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
|
||||
ROM_LOAD( "111.2j", 0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
|
||||
ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
|
||||
ROM_LOAD( "113.5h", 0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) ) /* The letter 'S' is slightly different */
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( amidarb )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) )
|
||||
ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
|
||||
ROM_LOAD( "3.2j", 0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) )
|
||||
ROM_LOAD( "4.2m", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "8.11d", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
|
||||
ROM_LOAD( "9.9d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "5.5f", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
|
||||
ROM_LOAD( "6.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "n82s123n.6e", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( amigo )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "2732.a1", 0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) )
|
||||
ROM_LOAD( "2732.a2", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
|
||||
ROM_LOAD( "2732.a3", 0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) )
|
||||
ROM_LOAD( "2732.a4", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
|
||||
ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
|
||||
ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( turtles )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "turt_vid.2c", 0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) )
|
||||
ROM_LOAD( "turt_vid.2e", 0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) )
|
||||
ROM_LOAD( "turt_vid.2f", 0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) )
|
||||
ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
|
||||
ROM_LOAD( "turt_vid.2j", 0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
|
||||
ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
|
||||
ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( turpin )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "m1", 0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) )
|
||||
ROM_LOAD( "m2", 0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) )
|
||||
ROM_LOAD( "m3", 0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) )
|
||||
ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
|
||||
ROM_LOAD( "m5", 0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
|
||||
ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
|
||||
ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( 600 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) )
|
||||
ROM_LOAD( "600_vid.2e", 0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) )
|
||||
ROM_LOAD( "600_vid.2f", 0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) )
|
||||
ROM_LOAD( "600_vid.2h", 0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) )
|
||||
ROM_LOAD( "600_vid.2j", 0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "600_snd.5c", 0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) )
|
||||
ROM_LOAD( "600_snd.5d", 0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "600_vid.5h", 0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) )
|
||||
ROM_LOAD( "600_vid.5f", 0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
GAME( 1981, amidar, 0, amidar, amidar, amidar, ROT90, "Konami", "Amidar", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, amidaru, amidar, amidar, amidaru, amidar, ROT90, "Konami (Stern license)", "Amidar (Stern)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, amidaro, amidar, amidar, amidaro, amidar, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, amidarb, amidar, amidar, amidaru, amidar, ROT90, "bootleg", "Amidar (Bootleg)", GAME_SUPPORTS_SAVE ) /* Simular to Amigo bootleg */
|
||||
GAME( 1982, amigo, amidar, amidar, amidaru, amidar, ROT90, "bootleg", "Amigo", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, turtles, 0, amidar, turtles, scramble_ppi, ROT90, "[Konami] (Stern license)", "Turtles", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, turpin, turtles, amidar, turpin, scramble_ppi, ROT90, "[Konami] (Sega license)", "Turpin", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, 600, turtles, amidar, turtles, scramble_ppi, ROT90, "Konami", "600", GAME_SUPPORTS_SAVE )
|
@ -190,7 +190,7 @@ static MACHINE_DRIVER_START( dambustr )
|
||||
MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(dambustr_readmem, dambustr_writemem)
|
||||
|
||||
MDRV_MACHINE_RESET(galaxian)
|
||||
MDRV_MACHINE_RESET(galaxold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1,368 +0,0 @@
|
||||
/***************************************************************************
|
||||
|
||||
Frogger hardware
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "galaxold.h"
|
||||
#include "machine/8255ppi.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
static const gfx_layout frogger_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(0,2), RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout frogger_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(0,2), RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
|
||||
16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( frogger )
|
||||
GFXDECODE_ENTRY( REGION_GFX1, 0x0000, frogger_charlayout, 0, 8 )
|
||||
GFXDECODE_ENTRY( REGION_GFX1, 0x0000, frogger_spritelayout, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static READ8_HANDLER(frogger_ppi8255_0_r)
|
||||
{
|
||||
return ppi8255_0_r(machine, offset >> 1);
|
||||
}
|
||||
|
||||
static READ8_HANDLER(frogger_ppi8255_1_r)
|
||||
{
|
||||
return ppi8255_1_r(machine, offset >> 1);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(frogger_ppi8255_0_w)
|
||||
{
|
||||
ppi8255_0_w(machine, offset >> 1, data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(frogger_ppi8255_1_w)
|
||||
{
|
||||
ppi8255_1_w(machine, offset >> 1, data);
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x8800, 0x8800) AM_READ(watchdog_reset_r)
|
||||
AM_RANGE(0xa800, 0xabff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xd000, 0xd007) AM_READ(frogger_ppi8255_1_r)
|
||||
AM_RANGE(0xe000, 0xe007) AM_READ(frogger_ppi8255_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa800, 0xabff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram)
|
||||
AM_RANGE(0xb000, 0xb03f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram)
|
||||
AM_RANGE(0xb040, 0xb05f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size)
|
||||
AM_RANGE(0xb060, 0xb0ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xb808, 0xb808) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0xb80c, 0xb80c) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0xb810, 0xb810) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0xb818, 0xb818) AM_WRITE(galaxold_coin_counter_0_w)
|
||||
AM_RANGE(0xb81c, 0xb81c) AM_WRITE(galaxold_coin_counter_1_w)
|
||||
AM_RANGE(0xd000, 0xd007) AM_WRITE(frogger_ppi8255_1_w)
|
||||
AM_RANGE(0xe000, 0xe007) AM_WRITE(frogger_ppi8255_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( froggrmc_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x9400, 0x97ff) AM_READ(galaxold_videoram_r)
|
||||
AM_RANGE(0x9800, 0x98ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( froggrmc_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram)
|
||||
AM_RANGE(0x9800, 0x983f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram)
|
||||
AM_RANGE(0x9840, 0x985f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size)
|
||||
AM_RANGE(0x9860, 0x98ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0xa800, 0xa800) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0xb001, 0xb001) AM_WRITE(froggrmc_sh_irqtrigger_w)
|
||||
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_control_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( frogger )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x01, "5" )
|
||||
PORT_DIPSETTING( 0x02, "7" )
|
||||
PORT_DIPSETTING( 0x03, "256 (Cheat)")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" )
|
||||
PORT_DIPSETTING( 0x00, "A 1/1 B 1/1 C 1/1" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/1 B 1/6 C 1/1" )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( froggrmc )
|
||||
PORT_START_TAG("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0xc0, "3" )
|
||||
PORT_DIPSETTING( 0x80, "5" )
|
||||
PORT_DIPSETTING( 0x40, "7" )
|
||||
PORT_DIPSETTING( 0x00, "256 (Cheat)")
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/1 B 1/1 C 1/1" )
|
||||
PORT_DIPSETTING( 0x00, "A 1/1 B 1/6 C 1/1" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const struct AY8910interface frogger_ay8910_interface =
|
||||
{
|
||||
soundlatch_r,
|
||||
frogger_portB_r
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( frogger )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", Z80, 18432000/6) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
|
||||
MDRV_CPU_ADD(Z80,14318000/8)
|
||||
/* audio CPU */ /* 1.78975 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(scramble)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_REFRESH_RATE(16000.0/132/2)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
|
||||
MDRV_GFXDECODE(frogger)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
|
||||
|
||||
MDRV_PALETTE_INIT(frogger)
|
||||
MDRV_VIDEO_START(frogger)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD(AY8910, 14318000/8)
|
||||
MDRV_SOUND_CONFIG(frogger_ay8910_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.33)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( froggrmc )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(frogger)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(froggrmc_readmem,froggrmc_writemem)
|
||||
|
||||
MDRV_VIDEO_START(froggers)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Game driver(s)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( frogger )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) )
|
||||
ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
|
||||
ROM_LOAD( "frsm3.7", 0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
|
||||
ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
|
||||
ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( frogseg1 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) )
|
||||
ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
|
||||
ROM_LOAD( "frogger.34", 0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
|
||||
ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
|
||||
ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( frogseg2 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "frogger.ic5", 0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) )
|
||||
ROM_LOAD( "frogger.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) )
|
||||
ROM_LOAD( "frogger.ic7", 0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) )
|
||||
ROM_LOAD( "frogger.ic8", 0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
|
||||
ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
|
||||
ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( froggrmc )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "epr-1031.15", 0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) )
|
||||
ROM_LOAD( "epr-1032.16", 0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) )
|
||||
ROM_LOAD( "epr-1033.33", 0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) )
|
||||
ROM_LOAD( "epr-1034.34", 0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "epr-1082.42", 0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) )
|
||||
ROM_LOAD( "epr-1035.43", 0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
GAME( 1981, frogger, 0, frogger, frogger, frogger, ROT90, "Konami", "Frogger", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, frogseg1, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, frogseg2, frogger, frogger, frogger, frogger, ROT90, "[Konami] (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, froggrmc, frogger, froggrmc, froggrmc, froggers, ROT90, "bootleg?", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
|
2590
src/mame/drivers/galaxian.c
Normal file
2590
src/mame/drivers/galaxian.c
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4857
src/mame/drivers/galdrvr.c
Normal file
4857
src/mame/drivers/galdrvr.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -350,7 +350,7 @@ static ADDRESS_MAP_START( anteatg_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2621, 0x2621) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0x2624, 0x2624) AM_WRITE(galaxold_stars_enable_w)
|
||||
AM_RANGE(0x2647, 0x2647) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0x2653, 0x2653) AM_WRITE(scramble_background_enable_w)
|
||||
AM_RANGE(0x2653, 0x2653) AM_WRITE(scrambold_background_enable_w)
|
||||
AM_RANGE(0x2702, 0x2702) AM_WRITE(galaxold_coin_counter_w)
|
||||
AM_RANGE(0x2736, 0x2736) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM)
|
||||
@ -388,7 +388,7 @@ static ADDRESS_MAP_START( anteatgb_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1171, 0x1171) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0x1174, 0x1174) AM_WRITE(galaxold_stars_enable_w)
|
||||
AM_RANGE(0x1177, 0x1177) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0x1173, 0x1173) AM_WRITE(scramble_background_enable_w)
|
||||
AM_RANGE(0x1173, 0x1173) AM_WRITE(scrambold_background_enable_w)
|
||||
AM_RANGE(0x1172, 0x1172) AM_WRITE(galaxold_coin_counter_w)
|
||||
AM_RANGE(0x1176, 0x1176) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0x4600, 0x4fff) AM_WRITE(SMH_ROM)
|
||||
@ -1404,9 +1404,9 @@ static MACHINE_DRIVER_START( type1 )
|
||||
MDRV_GFXDECODE(scobra)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
|
||||
|
||||
MDRV_PALETTE_INIT(scramble)
|
||||
MDRV_VIDEO_START(scramble)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
MDRV_PALETTE_INIT(scrambold)
|
||||
MDRV_VIDEO_START(scrambold)
|
||||
MDRV_VIDEO_UPDATE(galaxold)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -1428,7 +1428,7 @@ static MACHINE_DRIVER_START( armorcar )
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
|
||||
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(theend)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
@ -1561,9 +1561,9 @@ static MACHINE_DRIVER_START( hustler )
|
||||
MDRV_GFXDECODE(scobra)
|
||||
MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
|
||||
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_VIDEO_START(scramble)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(scrambold)
|
||||
MDRV_VIDEO_UPDATE(galaxold)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -2221,29 +2221,19 @@ ROM_START( mimonsco )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1981, scobra, 0, type1, scobra, scobra, ROT90, "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, scobras, scobra, type1, scobras, scobra, ROT90, "[Konami] (Stern license)", "Super Cobra (Stern)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, scobrase, scobra, type1, scobras, scobra, ROT90, "[Konami] (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, scobrab, scobra, type1, scobras, scobra, ROT90, "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, stratgyx, 0, stratgyx, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, stratgyx, ROT0, "[Konami] (Stern license)", "Strategy X (Stern)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, armorcar, 0, armorcar, armorcar, scramble_ppi, ROT90, "Stern", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, armorca2, armorcar, armorcar, armorcar, scramble_ppi, ROT90, "Stern", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, moonwar, 0, moonwar, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, moonwara, moonwar, moonwar, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1984, spdcoin, 0, type1, spdcoin, scramble_ppi, ROT90, "Stern", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, darkplnt, 0, darkplnt, darkplnt, darkplnt, ROT180, "Stern", "Dark Planet", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, tazmania, 0, type1, tazmania, scobra, ROT90, "Stern", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, tazmani2, tazmania, type2, tazmania, tazmani2, ROT90, "Stern", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, calipso, 0, calipso, calipso, scobra, ROT90, "[Stern] (Tago license)", "Calipso", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, anteater, 0, type1, anteater, anteater, ROT90, "[Stern] (Tago license)", "Anteater", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, anteatg, anteater, anteatg, anteatg, scramble_ppi, ROT90, "TV-Tuning (F.E.G. license)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, anteatgb, anteater, anteatgb, anteatgb, scramble_ppi, ROT90, "Free Enterprise Games", "The Anteater (UK)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, rescue, 0, rescue, rescue, rescue, ROT90, "Stern", "Rescue", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, aponow, rescue, rescue, rescue, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, minefld, 0, minefld, minefld, minefld, ROT90, "Stern", "Minefield", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, losttomb, 0, type1, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, losttmbh, losttomb, type1, losttomb, losttomb, ROT90, "Stern", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 198?, superbon, 0, type1, superbon, superbon, ROT90, "bootleg", "Super Bond", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, hustler, 0, hustler, hustler, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, billiard, hustler, hustler, hustler, billiard, ROT90, "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
|
||||
|
@ -33,50 +33,6 @@ Notes:
|
||||
#include "galaxold.h"
|
||||
|
||||
|
||||
//cpu #0 (PC=00003F6C): warning - op-code execute on mapped I/O
|
||||
extern int monsterz_count;
|
||||
static READ8_HANDLER( monsterz_prot_r )
|
||||
{
|
||||
int pc = activecpu_get_pc();
|
||||
if(pc != 0xc5e0 && pc != 0xC604 && pc != 0xc62c)
|
||||
printf("%X\n",pc);
|
||||
|
||||
if( !(monsterz_count % 0x200) )
|
||||
{
|
||||
|
||||
UINT8 ret = memory_region(REGION_CPU1)[0x19 - monsterz_count / 0x200];
|
||||
|
||||
printf("count = %X\n",monsterz_count );
|
||||
|
||||
ret ^= memory_region(REGION_CPU1)[0x100 + monsterz_count / 2];
|
||||
monsterz_count++;
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 ret;
|
||||
|
||||
if(monsterz_count & 0x100)
|
||||
// missing data?
|
||||
ret = 0;//memory_region(REGION_CPU1)[0xc000 + monsterz_count2+ (monsterz_count / 0x200) * 0x100 + (monsterz_count % 0x200)];
|
||||
else
|
||||
ret = memory_region(REGION_CPU1)[0x100 + (monsterz_count / 0x200) * 0x100 + (monsterz_count % 0x200)];
|
||||
|
||||
printf("count = %X\n",monsterz_count);
|
||||
|
||||
monsterz_count++;
|
||||
|
||||
if(monsterz_count == 0x200*9)
|
||||
{
|
||||
UINT8 *ROM = memory_region(REGION_CPU1);
|
||||
memcpy(&ROM[0x3800],&ROM[0xc01f],0x800);
|
||||
monsterz_count = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( scramble_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
@ -379,100 +335,6 @@ static ADDRESS_MAP_START( hunchbks_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sfx_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x4bff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x4c00, 0x4fff) AM_READ(galaxold_videoram_r) /* mirror */
|
||||
AM_RANGE(0x5000, 0x50ff) AM_READ(SMH_RAM)
|
||||
AM_RANGE(0x7000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8100, 0x8103) AM_READ(ppi8255_0_r)
|
||||
AM_RANGE(0x8200, 0x8203) AM_READ(ppi8255_1_r)
|
||||
AM_RANGE(0xc000, 0xefff) AM_READ(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sfx_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x4800, 0x4bff) AM_WRITE(galaxold_videoram_w) AM_BASE(&galaxold_videoram)
|
||||
AM_RANGE(0x4c00, 0x4fff) AM_WRITE(galaxold_videoram_w) /* mirror address */
|
||||
AM_RANGE(0x5000, 0x503f) AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram)
|
||||
AM_RANGE(0x5040, 0x505f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size)
|
||||
AM_RANGE(0x5060, 0x507f) AM_WRITE(SMH_RAM) AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size)
|
||||
AM_RANGE(0x5080, 0x50ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x6800, 0x6800) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w)
|
||||
AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w)
|
||||
AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w)
|
||||
AM_RANGE(0x6805, 0x6805) AM_WRITE(scramble_background_green_w)
|
||||
AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0x7000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8100, 0x8103) AM_WRITE(ppi8255_0_w)
|
||||
AM_RANGE(0x8200, 0x8203) AM_WRITE(ppi8255_1_w)
|
||||
AM_RANGE(0xc000, 0xefff) AM_WRITE(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sfx_sample_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sfx_sample_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sfx_sample_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x04, 0x07) AM_READ(ppi8255_2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sfx_sample_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x04, 0x07) AM_WRITE(ppi8255_2_w)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(DAC_0_signed_data_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static READ8_HANDLER( monsterz_sound_status_r )
|
||||
{
|
||||
return 0x80;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( monsterz_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x37ff) AM_ROM
|
||||
AM_RANGE(0x3800, 0x3fff) AM_RAM
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
AM_RANGE(0x4800, 0x4bff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_BASE(&galaxold_videoram)
|
||||
AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror address */
|
||||
AM_RANGE(0x5000, 0x503f) AM_RAM AM_WRITE(galaxold_attributesram_w) AM_BASE(&galaxold_attributesram)
|
||||
AM_RANGE(0x5040, 0x505f) AM_RAM AM_BASE(&galaxold_spriteram) AM_SIZE(&galaxold_spriteram_size)
|
||||
AM_RANGE(0x5060, 0x507f) AM_RAM AM_BASE(&galaxold_bulletsram) AM_SIZE(&galaxold_bulletsram_size)
|
||||
AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
|
||||
AM_RANGE(0x8100, 0x8103) AM_READWRITE(ppi8255_0_r, ppi8255_0_w)
|
||||
AM_RANGE(0x8200, 0x8203) AM_READWRITE(ppi8255_1_r, ppi8255_1_w)
|
||||
AM_RANGE(0x6800, 0x6800) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_w)
|
||||
AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w)
|
||||
AM_RANGE(0x6804, 0x6804) AM_WRITE(galaxold_stars_enable_w)
|
||||
AM_RANGE(0x6805, 0x6805) AM_WRITE(scramble_background_green_w)
|
||||
AM_RANGE(0x6806, 0x6806) AM_WRITE(galaxold_flip_screen_x_w)
|
||||
AM_RANGE(0x6807, 0x6807) AM_WRITE(galaxold_flip_screen_y_w)
|
||||
AM_RANGE(0xc000, 0xd7ff) AM_ROM
|
||||
AM_RANGE(0xd800, 0xd800) AM_READ(monsterz_prot_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( monsterz_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x04, 0x04) AM_READ(monsterz_sound_status_r)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(AY8910_control_port_0_w)
|
||||
AM_RANGE(0x20, 0x20) AM_READWRITE(AY8910_read_port_0_r, AY8910_write_port_0_w)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_control_port_1_w)
|
||||
AM_RANGE(0x80, 0x80) AM_READWRITE(AY8910_read_port_1_r, AY8910_write_port_1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mimonscr_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_READ(galaxold_videoram_r) /* mirror address?, probably not */
|
||||
@ -551,10 +413,10 @@ static ADDRESS_MAP_START( ad2083_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6800, 0x6800) AM_WRITE(galaxold_coin_counter_2_w)
|
||||
AM_RANGE(0x6801, 0x6801) AM_WRITE(galaxold_nmi_enable_w)
|
||||
AM_RANGE(0x6802, 0x6802) AM_WRITE(galaxold_coin_counter_0_w)
|
||||
AM_RANGE(0x6803, 0x6803) AM_WRITE(scramble_background_blue_w)
|
||||
AM_RANGE(0x6803, 0x6803) AM_WRITE(scrambold_background_blue_w)
|
||||
AM_RANGE(0x6805, 0x6805) AM_WRITE(galaxold_coin_counter_1_w)
|
||||
AM_RANGE(0x6806, 0x6806) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0x6807, 0x6807) AM_WRITE(scramble_background_green_w)
|
||||
AM_RANGE(0x6806, 0x6806) AM_WRITE(scrambold_background_red_w)
|
||||
AM_RANGE(0x6807, 0x6807) AM_WRITE(scrambold_background_green_w)
|
||||
AM_RANGE(0x8000, 0x8000) AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x9000, 0x9000) AM_WRITE(hotshock_sh_irqtrigger_w)
|
||||
AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
|
||||
@ -2009,9 +1871,9 @@ static MACHINE_DRIVER_START( scramble )
|
||||
MDRV_GFXDECODE(scramble)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
|
||||
MDRV_PALETTE_INIT(scramble)
|
||||
MDRV_VIDEO_START(scramble)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
MDRV_PALETTE_INIT(scrambold)
|
||||
MDRV_VIDEO_START(scrambold)
|
||||
MDRV_VIDEO_UPDATE(galaxold)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -2080,86 +1942,11 @@ static MACHINE_DRIVER_START( theend )
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(theend)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
|
||||
AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM)
|
||||
AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x40, 0x40) AM_READ(AY8910_read_port_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( frogger_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(AY8910_write_port_0_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(AY8910_control_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static const struct AY8910interface frogger_ay8910_interface =
|
||||
{
|
||||
soundlatch_r,
|
||||
frogger_portB_r
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( froggers )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(scramble)
|
||||
MDRV_CPU_MODIFY("audio")
|
||||
MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_INIT(frogger)
|
||||
MDRV_VIDEO_START(froggers)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
MDRV_SOUND_CONFIG(frogger_ay8910_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
|
||||
|
||||
MDRV_SOUND_REMOVE("8910.2")
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( frogf )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(scramble)
|
||||
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(frogf_map,0)
|
||||
|
||||
MDRV_CPU_MODIFY("audio")
|
||||
MDRV_CPU_PROGRAM_MAP(frogger_sound_readmem,frogger_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(frogger_sound_readport,frogger_sound_writeport)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_INIT(frogger)
|
||||
MDRV_VIDEO_START(froggers)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
MDRV_SOUND_CONFIG(frogger_ay8910_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
|
||||
|
||||
MDRV_SOUND_REMOVE("8910.2")
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( mars )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2169,7 +1956,7 @@ static MACHINE_DRIVER_START( mars )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( devilfsh )
|
||||
@ -2182,7 +1969,7 @@ static MACHINE_DRIVER_START( devilfsh )
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(devilfsh)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( newsin7 )
|
||||
@ -2195,7 +1982,7 @@ static MACHINE_DRIVER_START( newsin7 )
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(newsin7)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(newsin7)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
@ -2209,7 +1996,7 @@ static MACHINE_DRIVER_START( mrkougar )
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(mrkougar)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( mrkougb )
|
||||
@ -2221,7 +2008,7 @@ static MACHINE_DRIVER_START( mrkougb )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( ckongs )
|
||||
@ -2233,7 +2020,7 @@ static MACHINE_DRIVER_START( ckongs )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(ckongs)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
@ -2247,11 +2034,11 @@ static MACHINE_DRIVER_START( hotshock )
|
||||
MDRV_CPU_MODIFY("audio")
|
||||
MDRV_CPU_IO_MAP(hotshock_sound_readport,hotshock_sound_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(galaxian)
|
||||
MDRV_MACHINE_RESET(galaxold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(pisces)
|
||||
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
@ -2269,89 +2056,15 @@ static MACHINE_DRIVER_START( cavelon )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MDRV_VIDEO_START(ckongs)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( sfx )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(scramble)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(sfx_readmem,sfx_writemem)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 14318000/8) /* 1.78975 MHz */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sfx_sample_readmem,sfx_sample_writemem)
|
||||
MDRV_CPU_IO_MAP(sfx_sample_readport,sfx_sample_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(sfx)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_VISIBLE_AREA(2*8, 30*8-1, 2*8, 30*8-1)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
|
||||
MDRV_GFXDECODE(sfx)
|
||||
MDRV_PALETTE_INIT(turtles)
|
||||
MDRV_VIDEO_START(sfx)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
MDRV_SOUND_CONFIG(sfx_ay8910_interface_1)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
|
||||
MDRV_SOUND_MODIFY("8910.2")
|
||||
MDRV_SOUND_CONFIG(scramble_ay8910_interface_2)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
|
||||
MDRV_SOUND_ADD(DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( monsterz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(scramble)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(monsterz_map,0)
|
||||
MDRV_CPU_PERIODIC_INT(irq0_line_hold,16*4) //?
|
||||
|
||||
MDRV_CPU_MODIFY("audio")
|
||||
MDRV_CPU_IO_MAP(monsterz_sound_io_map,0)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 14318000/8) /* 1.78975 MHz */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sfx_sample_readmem,sfx_sample_writemem)
|
||||
MDRV_CPU_IO_MAP(sfx_sample_readport,sfx_sample_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(monsterz)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_VISIBLE_AREA(2*8, 30*8-1, 2*8, 30*8-1)
|
||||
MDRV_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
|
||||
MDRV_GFXDECODE(sfx)
|
||||
MDRV_PALETTE_INIT(turtles)
|
||||
MDRV_VIDEO_START(sfx)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
MDRV_SOUND_CONFIG(sfx_ay8910_interface_1)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
|
||||
MDRV_SOUND_MODIFY("8910.2")
|
||||
MDRV_SOUND_CONFIG(scramble_ay8910_interface_2)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
|
||||
|
||||
MDRV_SOUND_ADD(DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( mimonscr )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2376,7 +2089,7 @@ static MACHINE_DRIVER_START( triplep )
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */
|
||||
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_MODIFY("8910.1")
|
||||
@ -2414,7 +2127,7 @@ static MACHINE_DRIVER_START( hunchbks )
|
||||
/* video hardware */
|
||||
MDRV_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */
|
||||
|
||||
MDRV_PALETTE_INIT(galaxian)
|
||||
MDRV_PALETTE_INIT(galaxold)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( hncholms )
|
||||
@ -2455,7 +2168,7 @@ static MACHINE_DRIVER_START( ad2083 )
|
||||
MDRV_CPU_ADD(Z80, 18432000/6) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(ad2083_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(galaxian)
|
||||
MDRV_MACHINE_RESET(galaxold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -2470,7 +2183,7 @@ static MACHINE_DRIVER_START( ad2083 )
|
||||
|
||||
MDRV_PALETTE_INIT(turtles)
|
||||
MDRV_VIDEO_START(ad2083)
|
||||
MDRV_VIDEO_UPDATE(galaxian)
|
||||
MDRV_VIDEO_UPDATE(galaxold)
|
||||
|
||||
/* sound hardware */
|
||||
|
||||
@ -2671,72 +2384,6 @@ ROM_START( theends )
|
||||
ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( froggers )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "vid_d2.bin", 0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) )
|
||||
ROM_LOAD( "vid_e2.bin", 0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) )
|
||||
ROM_LOAD( "vid_f2.bin", 0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) )
|
||||
ROM_LOAD( "vid_h2.bin", 0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) )
|
||||
ROM_LOAD( "vid_j2.bin", 0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) )
|
||||
ROM_LOAD( "vid_l2.bin", 0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
|
||||
ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
|
||||
ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
ROM_START( frogf )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "6.bin", 0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) )
|
||||
ROM_LOAD( "7.bin", 0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) )
|
||||
ROM_LOAD( "8.bin", 0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
|
||||
ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
|
||||
ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
|
||||
ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( amidars )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "am2d", 0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) )
|
||||
ROM_LOAD( "am2e", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) )
|
||||
ROM_LOAD( "am2f", 0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) )
|
||||
ROM_LOAD( "am2h", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
|
||||
ROM_LOAD( "am2j", 0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) )
|
||||
ROM_LOAD( "am2l", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
|
||||
ROM_LOAD( "am2m", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) )
|
||||
ROM_LOAD( "am2p", 0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
|
||||
ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) /* Same graphics ROMs as Amigo */
|
||||
ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( triplep )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "triplep.2g", 0x0000, 0x1000, CRC(c583a93d) SHA1(2bd4a02f945d64ef3ff814d0b8cbf32380d3f790) )
|
||||
@ -3098,37 +2745,6 @@ ROM_START( cavelon )
|
||||
ROM_LOAD( "cavelon.clr", 0x0000, 0x0020, CRC(d133356b) SHA1(58db4013a9ad77107f0d462c96363d7c38d86fa2) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sfx )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "sfx_b-0.1j", 0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) )
|
||||
ROM_CONTINUE( 0xe000, 0x1000 )
|
||||
ROM_LOAD( "1.1c", 0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) )
|
||||
ROM_LOAD( "22.1d", 0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) )
|
||||
ROM_LOAD( "23.1e", 0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) )
|
||||
ROM_LOAD( "27.1a", 0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) )
|
||||
ROM_LOAD( "24.1g", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
|
||||
ROM_LOAD( "5.1h", 0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
|
||||
ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 64k for the sample CPU */
|
||||
ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
|
||||
ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
|
||||
ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
|
||||
ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
|
||||
ROM_LOAD( "10.3h", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
|
||||
ROM_LOAD( "11.4h", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
|
||||
|
||||
ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "28.5a", 0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) )
|
||||
ROM_LOAD( "29.5c", 0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( skelagon )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
/* first half of 36.bin is missing */
|
||||
@ -3160,50 +2776,6 @@ ROM_START( skelagon )
|
||||
ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
Monster Zero
|
||||
|
||||
CPU: Z80 (x3)
|
||||
Sound: AY-3-8910 (x2)
|
||||
Other: 8255 (x3)
|
||||
RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5)
|
||||
PAL: 16R8C (protected x2)
|
||||
PROM: 82S123
|
||||
X1: 1431818
|
||||
X2: 16000
|
||||
*/
|
||||
|
||||
ROM_START( monsterz )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "b-1e.a1", 0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) )
|
||||
ROM_LOAD( "b-2e.c1", 0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) )
|
||||
ROM_LOAD( "b-3e.d1", 0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) )
|
||||
ROM_LOAD( "b-4e.e1", 0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) )
|
||||
ROM_LOAD( "b-5e.g1", 0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) )
|
||||
ROM_LOAD( "b-6e.h1", 0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "a-1e.k1", 0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) )
|
||||
ROM_LOAD( "a-2.k2", 0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) )
|
||||
ROM_LOAD( "a-3e.k3", 0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) )
|
||||
ROM_LOAD( "a-4.k4", 0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 64k for the sample CPU */
|
||||
ROM_LOAD( "a-5e.k5", 0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) )
|
||||
ROM_LOAD( "a-6.k6", 0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) )
|
||||
ROM_LOAD( "a-7e.k7", 0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) )
|
||||
// 0x3000 empty ?
|
||||
ROM_LOAD( "a-8.k8", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
|
||||
ROM_LOAD( "a-9.k9", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
|
||||
|
||||
ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "b-7e.a5", 0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) )
|
||||
ROM_LOAD( "b-8e.c5", 0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "prom.g9", 0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mimonscr )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "mm1", 0x0000, 0x1000, CRC(0399a0c4) SHA1(8314124f9b535ce531663625d19cd3a76782ed3b) )
|
||||
@ -3355,17 +2927,6 @@ ROM_START( turpins )
|
||||
ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1981, scramble, 0, fscramble,scramble, scramble, ROT90, "Konami", "Scramble", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, scrambls, scramble, fscramble,scramble, scrambls, ROT90, "[Konami] (Stern license)", "Scramble (Stern)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, explorer, scramble, explorer, explorer, 0, ROT90, "bootleg", "Explorer", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, strfbomb, scramble, scramble, strfbomb, scramble, ROT90, "Omni", "Strafe Bomb", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, atlantis, 0, scramble, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, atlants2, atlantis, scramble, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, theend, 0, theend, theend, theend, ROT90, "Konami", "The End", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1980, theends, theend, theend, theend, theend, ROT90, "[Konami] (Stern license)", "The End (Stern)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, froggers, frogger, froggers, froggers, froggers, ROT90, "bootleg", "Frog", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, frogf, frogger, frogf, froggers, froggers, ROT90, "Falcon", "Frogger (Falcon bootleg)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, amidars, amidar, scramble, amidars, atlantis, ROT90, "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, triplep, 0, triplep, triplep, scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, knockout, triplep, triplep, triplep, scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1981, mariner, 0, mariner, scramble, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
|
||||
@ -3383,12 +2944,6 @@ GAME( 1982, conquer, 0, hotshock, hotshock, 0, ROT90, "<unkno
|
||||
GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1984, hncholms, huncholy, hncholms, hncholms, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, cavelon, 0, cavelon, cavelon, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, sfx, 0, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1983, skelagon, sfx, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
|
||||
GAME( 198?, monsterz, 0, monsterz, sfx, monsterz, ORIENTATION_FLIP_X, "Nihon", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 198?, mimonscr, mimonkey, mimonscr, mimonscr, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1982, scorpion, 0, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
|
||||
GAME( 1982, scrpiona, scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
|
||||
GAME( 1982, scrpionb, scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
|
||||
GAME( 1983, ad2083, 0, ad2083, ad2083, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
|
||||
GAME( 1981, turpins, turtles, turpins, turpins, 0, ROT90, "[Sega] (bootleg)", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
DRIVER_INIT( cclimber );
|
||||
DRIVER_INIT( cclimbrj );
|
||||
DRIVER_INIT( mshuttle );
|
||||
void cclimbrj_decode(void);
|
||||
void mshuttle_decode(void);
|
||||
DRIVER_INIT( cannonb );
|
||||
DRIVER_INIT( cannonb2 );
|
||||
DRIVER_INIT( ckongb );
|
||||
|
128
src/mame/includes/galaxian.h
Normal file
128
src/mame/includes/galaxian.h
Normal file
@ -0,0 +1,128 @@
|
||||
/***************************************************************************
|
||||
|
||||
Galaxian hardware family
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/* we scale horizontally by 3 to render stars correctly */
|
||||
#define GALAXIAN_XSCALE 3
|
||||
|
||||
/* master clocks */
|
||||
#define GALAXIAN_MASTER_CLOCK (18432000)
|
||||
#define GALAXIAN_PIXEL_CLOCK (GALAXIAN_XSCALE*GALAXIAN_MASTER_CLOCK/3)
|
||||
|
||||
/* H counts from 128->511, HBLANK starts at 130 and ends at 250 */
|
||||
/* we normalize this here so that we count 0->383 with HBLANK */
|
||||
/* from 264-383 */
|
||||
#define GALAXIAN_HTOTAL (384*GALAXIAN_XSCALE)
|
||||
#define GALAXIAN_HBEND (0*GALAXIAN_XSCALE)
|
||||
//#define GALAXIAN_H0START (6*GALAXIAN_XSCALE)
|
||||
//#define GALAXIAN_HBSTART (264*GALAXIAN_XSCALE)
|
||||
#define GALAXIAN_H0START (0*GALAXIAN_XSCALE)
|
||||
#define GALAXIAN_HBSTART (256*GALAXIAN_XSCALE)
|
||||
|
||||
#define GALAXIAN_VTOTAL (264)
|
||||
#define GALAXIAN_VBEND (16)
|
||||
#define GALAXIAN_VBSTART (224+16)
|
||||
|
||||
|
||||
/*----------- defined in video/galaxian.c -----------*/
|
||||
|
||||
extern UINT8 galaxian_frogger_adjust;
|
||||
extern UINT8 galaxian_sfx_tilemap;
|
||||
|
||||
PALETTE_INIT( galaxian );
|
||||
|
||||
VIDEO_START( galaxian );
|
||||
VIDEO_UPDATE( galaxian );
|
||||
|
||||
WRITE8_HANDLER( galaxian_videoram_w );
|
||||
WRITE8_HANDLER( galaxian_objram_w );
|
||||
|
||||
WRITE8_HANDLER( galaxian_flip_screen_x_w );
|
||||
WRITE8_HANDLER( galaxian_flip_screen_y_w );
|
||||
WRITE8_HANDLER( galaxian_flip_screen_xy_w );
|
||||
|
||||
WRITE8_HANDLER( galaxian_stars_enable_w );
|
||||
WRITE8_HANDLER( scramble_background_enable_w );
|
||||
WRITE8_HANDLER( scramble_background_red_w );
|
||||
WRITE8_HANDLER( scramble_background_green_w );
|
||||
WRITE8_HANDLER( scramble_background_blue_w );
|
||||
|
||||
WRITE8_HANDLER( galaxian_gfxbank_w );
|
||||
|
||||
TIMER_CALLBACK( galaxian_stars_blink_timer );
|
||||
|
||||
/* video extension callbacks */
|
||||
typedef void (*galaxian_extend_tile_info_func)(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
typedef void (*galaxian_extend_sprite_info_func)(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
typedef void (*galaxian_draw_bullet_func)(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y);
|
||||
typedef void (*galaxian_draw_background_func)(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
|
||||
extern galaxian_extend_tile_info_func galaxian_extend_tile_info_ptr;
|
||||
extern galaxian_extend_sprite_info_func galaxian_extend_sprite_info_ptr;
|
||||
extern galaxian_draw_bullet_func galaxian_draw_bullet_ptr;
|
||||
extern galaxian_draw_background_func galaxian_draw_background_ptr;
|
||||
|
||||
/* special purpose background rendering */
|
||||
void galaxian_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
void frogger_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
void amidar_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
void turtles_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
void scramble_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
void jumpbug_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
|
||||
/* special purpose bullet rendering */
|
||||
void galaxian_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y);
|
||||
void mshuttle_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y);
|
||||
void scramble_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y);
|
||||
void theend_draw_bullet(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int offs, int x, int y);
|
||||
|
||||
/* generic extensions */
|
||||
void upper_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void upper_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Frogger extensions */
|
||||
void frogger_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void frogger_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Ghostmuncher Galaxian extensions */
|
||||
void gmgalax_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void gmgalax_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Pisces extensions */
|
||||
void pisces_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void pisces_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Batman Part 2 extensions */
|
||||
void batman2_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void batman2_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Moon Cresta extensions */
|
||||
void mooncrst_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void mooncrst_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Moon Quasar extensions */
|
||||
void moonqsr_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void moonqsr_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Moon Shuttle extensions */
|
||||
void mshuttle_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void mshuttle_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
/* Jumpbug extensions */
|
||||
void jumpbug_extend_tile_info(UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
|
||||
void jumpbug_extend_sprite_info(const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
|
||||
|
||||
|
||||
|
||||
/*----------- defined in audio/galaxian.c -----------*/
|
||||
|
||||
extern const struct Samplesinterface galaxian_custom_interface;
|
||||
WRITE8_HANDLER( galaxian_sound_w );
|
||||
WRITE8_HANDLER( galaxian_pitch_w );
|
||||
WRITE8_HANDLER( galaxian_vol_w );
|
||||
WRITE8_HANDLER( galaxian_noise_enable_w );
|
||||
WRITE8_HANDLER( galaxian_background_enable_w );
|
||||
WRITE8_HANDLER( galaxian_shoot_enable_w );
|
||||
WRITE8_HANDLER( galaxian_lfo_freq_w );
|
@ -26,17 +26,16 @@ extern size_t galaxold_spriteram_size;
|
||||
extern size_t galaxold_spriteram2_size;
|
||||
extern size_t galaxold_bulletsram_size;
|
||||
|
||||
PALETTE_INIT( galaxian );
|
||||
PALETTE_INIT( scramble );
|
||||
PALETTE_INIT( turtles );
|
||||
PALETTE_INIT( galaxold );
|
||||
PALETTE_INIT( scrambold );
|
||||
PALETTE_INIT( moonwar );
|
||||
PALETTE_INIT( darkplnt );
|
||||
PALETTE_INIT( rescue );
|
||||
PALETTE_INIT( minefld );
|
||||
PALETTE_INIT( stratgyx );
|
||||
PALETTE_INIT( mariner );
|
||||
PALETTE_INIT( frogger );
|
||||
PALETTE_INIT( rockclim );
|
||||
PALETTE_INIT( turtles );
|
||||
|
||||
WRITE8_HANDLER( galaxold_videoram_w );
|
||||
READ8_HANDLER( galaxold_videoram_r );
|
||||
@ -48,28 +47,26 @@ READ8_HANDLER( rockclim_videoram_r );
|
||||
WRITE8_HANDLER( galaxold_attributesram_w );
|
||||
|
||||
WRITE8_HANDLER( galaxold_stars_enable_w );
|
||||
WRITE8_HANDLER( scramble_background_enable_w );
|
||||
WRITE8_HANDLER( scramble_background_red_w );
|
||||
WRITE8_HANDLER( scramble_background_green_w );
|
||||
WRITE8_HANDLER( scramble_background_blue_w );
|
||||
WRITE8_HANDLER( scrambold_background_enable_w );
|
||||
WRITE8_HANDLER( scrambold_background_red_w );
|
||||
WRITE8_HANDLER( scrambold_background_green_w );
|
||||
WRITE8_HANDLER( scrambold_background_blue_w );
|
||||
WRITE8_HANDLER( hotshock_flip_screen_w );
|
||||
WRITE8_HANDLER( darkplnt_bullet_color_w );
|
||||
WRITE8_HANDLER( racknrol_tiles_bank_w );
|
||||
|
||||
VIDEO_START( galaxold_plain );
|
||||
VIDEO_START( galaxian );
|
||||
VIDEO_START( gmgalax );
|
||||
VIDEO_START( galaxold );
|
||||
VIDEO_START( mooncrst );
|
||||
VIDEO_START( mooncrgx );
|
||||
VIDEO_START( moonqsr );
|
||||
VIDEO_START( mshuttle );
|
||||
VIDEO_START( pisces );
|
||||
VIDEO_START( gteikob2 );
|
||||
VIDEO_START( batman2 );
|
||||
VIDEO_START( jumpbug );
|
||||
VIDEO_START( azurian );
|
||||
VIDEO_START( dkongjrm );
|
||||
VIDEO_START( scramble );
|
||||
VIDEO_START( scrambold );
|
||||
VIDEO_START( theend );
|
||||
VIDEO_START( darkplnt );
|
||||
VIDEO_START( rescue );
|
||||
@ -91,7 +88,7 @@ VIDEO_START( scorpion );
|
||||
VIDEO_START( racknrol );
|
||||
VIDEO_START( ad2083 );
|
||||
|
||||
VIDEO_UPDATE( galaxian );
|
||||
VIDEO_UPDATE( galaxold );
|
||||
|
||||
WRITE8_HANDLER( galaxold_gfxbank_w );
|
||||
WRITE8_HANDLER( galaxold_flip_screen_x_w );
|
||||
@ -113,7 +110,6 @@ DRIVER_INIT( mooncrst );
|
||||
DRIVER_INIT( mooncrgx );
|
||||
DRIVER_INIT( moonqsr );
|
||||
DRIVER_INIT( checkman );
|
||||
DRIVER_INIT( gteikob2 );
|
||||
DRIVER_INIT( azurian );
|
||||
DRIVER_INIT( 4in1 );
|
||||
DRIVER_INIT( ladybugg );
|
||||
@ -121,7 +117,7 @@ DRIVER_INIT( gmgalax );
|
||||
|
||||
WRITE8_HANDLER( galaxold_nmi_enable_w );
|
||||
|
||||
MACHINE_RESET( galaxian );
|
||||
MACHINE_RESET( galaxold );
|
||||
MACHINE_RESET( devilfsg );
|
||||
|
||||
WRITE8_HANDLER( galaxold_coin_lockout_w );
|
||||
|
@ -50,7 +50,7 @@ DRIVER_INIT( cclimber )
|
||||
cclimber_decode(convtable);
|
||||
}
|
||||
|
||||
DRIVER_INIT( cclimbrj )
|
||||
void cclimbrj_decode(void)
|
||||
{
|
||||
static const UINT8 convtable[8][16] =
|
||||
{
|
||||
@ -67,7 +67,12 @@ DRIVER_INIT( cclimbrj )
|
||||
cclimber_decode(convtable);
|
||||
}
|
||||
|
||||
DRIVER_INIT( mshuttle )
|
||||
DRIVER_INIT( cclimbrj )
|
||||
{
|
||||
cclimbrj_decode();
|
||||
}
|
||||
|
||||
void mshuttle_decode(void)
|
||||
{
|
||||
static const UINT8 convtable[8][16] =
|
||||
{
|
||||
|
@ -89,7 +89,7 @@ static void machine_reset_common(running_machine *machine, int line)
|
||||
timer_adjust_oneshot(int_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0), 0);
|
||||
}
|
||||
|
||||
MACHINE_RESET( galaxian )
|
||||
MACHINE_RESET( galaxold )
|
||||
{
|
||||
machine_reset_common(machine, INPUT_LINE_NMI);
|
||||
}
|
||||
@ -100,7 +100,6 @@ MACHINE_RESET( devilfsg )
|
||||
}
|
||||
|
||||
|
||||
|
||||
WRITE8_HANDLER( galaxold_coin_lockout_w )
|
||||
{
|
||||
coin_lockout_global_w(~data & 1);
|
||||
@ -129,24 +128,6 @@ WRITE8_HANDLER( galaxold_leds_w )
|
||||
}
|
||||
|
||||
|
||||
READ8_HANDLER( jumpbug_protection_r )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x0114: return 0x4f;
|
||||
case 0x0118: return 0xd3;
|
||||
case 0x0214: return 0xcf;
|
||||
case 0x0235: return 0x02;
|
||||
case 0x0311: return 0x00; /* not checked */
|
||||
default:
|
||||
logerror("Unknown protection read. Offset: %04X PC=%04X\n",0xb000+offset,activecpu_get_pc());
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static READ8_HANDLER( checkmaj_protection_r )
|
||||
{
|
||||
switch (activecpu_get_pc())
|
||||
@ -492,14 +473,6 @@ Pin layout is such that links can replace the PAL if encryption is not used.
|
||||
}
|
||||
}
|
||||
|
||||
DRIVER_INIT( gteikob2 )
|
||||
{
|
||||
DRIVER_INIT_CALL(pisces);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7006, 0x7006, 0, 0, gteikob2_flip_screen_x_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x7007, 0x7007, 0, 0, gteikob2_flip_screen_y_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( azurian )
|
||||
{
|
||||
DRIVER_INIT_CALL(pisces);
|
||||
|
@ -20,7 +20,7 @@ static UINT8 security_2B_counter;
|
||||
|
||||
MACHINE_RESET( scramble )
|
||||
{
|
||||
MACHINE_RESET_CALL(galaxian);
|
||||
MACHINE_RESET_CALL(galaxold);
|
||||
|
||||
if (cpu_gettotalcpu() > 1)
|
||||
{
|
||||
@ -61,7 +61,7 @@ MACHINE_RESET( explorer )
|
||||
UINT8 *RAM = memory_region(REGION_CPU1);
|
||||
RAM[0x47ff] = 0; /* If not set, it doesn't reset after the 1st time */
|
||||
|
||||
MACHINE_RESET_CALL(galaxian);
|
||||
MACHINE_RESET_CALL(galaxold);
|
||||
}
|
||||
|
||||
static READ8_HANDLER( scrambls_input_port_2_r )
|
||||
@ -333,14 +333,14 @@ DRIVER_INIT( scobra )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa803, 0xa803, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa803, 0xa803, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( atlantis )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6803, 0x6803, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6803, 0x6803, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( scramble )
|
||||
@ -371,9 +371,9 @@ DRIVER_INIT( stratgyx )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0, scramble_background_green_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scramble_background_blue_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb00a, 0xb00a, 0, 0, scramble_background_red_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb000, 0xb000, 0, 0, scrambold_background_green_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scrambold_background_blue_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb00a, 0xb00a, 0, 0, scrambold_background_red_w);
|
||||
|
||||
ppi8255_set_portCread(0, stratgyx_input_port_2_r);
|
||||
ppi8255_set_portCread(1, stratgyx_input_port_3_r);
|
||||
@ -383,7 +383,7 @@ DRIVER_INIT( tazmani2 )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xb002, 0xb002, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( amidar )
|
||||
@ -576,21 +576,21 @@ DRIVER_INIT( mimonkey )
|
||||
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( mimonsco )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xa804, 0xa804, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
DRIVER_INIT( mimonscr )
|
||||
{
|
||||
DRIVER_INIT_CALL(scramble_ppi);
|
||||
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6804, 0x6804, 0, 0, scramble_background_enable_w);
|
||||
memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x6804, 0x6804, 0, 0, scrambold_background_enable_w);
|
||||
}
|
||||
|
||||
|
||||
|
@ -818,7 +818,6 @@ $(MAMEOBJ)/konami.a: \
|
||||
$(DRIVERS)/88games.o $(VIDEO)/88games.o \
|
||||
$(DRIVERS)/ajax.o $(MACHINE)/ajax.o $(VIDEO)/ajax.o \
|
||||
$(DRIVERS)/aliens.o $(VIDEO)/aliens.o \
|
||||
$(DRIVERS)/amidar.o \
|
||||
$(DRIVERS)/asterix.o $(VIDEO)/asterix.o \
|
||||
$(DRIVERS)/battlnts.o $(VIDEO)/battlnts.o \
|
||||
$(DRIVERS)/bishi.o $(VIDEO)/bishi.o \
|
||||
@ -838,7 +837,6 @@ $(MAMEOBJ)/konami.a: \
|
||||
$(DRIVERS)/finalizr.o $(VIDEO)/finalizr.o \
|
||||
$(DRIVERS)/firebeat.o \
|
||||
$(DRIVERS)/flkatck.o $(VIDEO)/flkatck.o \
|
||||
$(DRIVERS)/frogger.o \
|
||||
$(DRIVERS)/gberet.o $(VIDEO)/gberet.o \
|
||||
$(DRIVERS)/gbusters.o $(VIDEO)/gbusters.o \
|
||||
$(DRIVERS)/gijoe.o $(VIDEO)/gijoe.o \
|
||||
@ -961,7 +959,8 @@ $(MAMEOBJ)/namco.a: \
|
||||
$(DRIVERS)/baraduke.o $(VIDEO)/baraduke.o \
|
||||
$(DRIVERS)/dambustr.o \
|
||||
$(DRIVERS)/galaga.o $(AUDIO)/galaga.o $(VIDEO)/galaga.o \
|
||||
$(DRIVERS)/galaxold.o $(MACHINE)/galaxold.o $(AUDIO)/galaxian.o $(VIDEO)/galaxold.o \
|
||||
$(DRIVERS)/galaxian.o $(AUDIO)/galaxian.o $(VIDEO)/galaxian.o \
|
||||
$(DRIVERS)/galaxold.o $(MACHINE)/galaxold.o $(VIDEO)/galaxold.o \
|
||||
$(DRIVERS)/gaplus.o $(MACHINE)/gaplus.o $(VIDEO)/gaplus.o \
|
||||
$(DRIVERS)/mappy.o $(VIDEO)/mappy.o \
|
||||
$(DRIVERS)/namcofl.o $(VIDEO)/namcofl.o \
|
||||
@ -1741,5 +1740,6 @@ $(DRIVERS)/zac2650.o: $(LAYOUT)/tinv2650.lh
|
||||
# misc dependencies
|
||||
#-------------------------------------------------
|
||||
|
||||
$(DRIVERS)/neogeo.o: $(MAMESRC)/drivers/neodrvr.c
|
||||
$(DRIVERS)/galaxian.o: $(MAMESRC)/drivers/galdrvr.c
|
||||
$(DRIVERS)/mpu4.o: $(MAMESRC)/drivers/mpu4drvr.c
|
||||
$(DRIVERS)/neogeo.o: $(MAMESRC)/drivers/neodrvr.c
|
||||
|
1369
src/mame/video/galaxian.c
Normal file
1369
src/mame/video/galaxian.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -51,40 +51,25 @@ static UINT8 color_mask;
|
||||
static tilemap *dambustr_tilemap2;
|
||||
static UINT8 *dambustr_videoram2;
|
||||
static void (*modify_charcode)(UINT16 *code,UINT8 x); /* function to call to do character banking */
|
||||
static void gmgalax_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void mooncrst_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void mooncrgx_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void moonqsr_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void mshuttle_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void pisces_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void mimonkey_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void batman2_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void mariner_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void jumpbug_modify_charcode(UINT16 *code,UINT8 x);
|
||||
static void dambustr_modify_charcode(UINT16 *code,UINT8 x);
|
||||
|
||||
static void (*modify_spritecode)(UINT8 *spriteram,int*,int*,int*,int); /* function to call to do sprite banking */
|
||||
static void gmgalax_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void mooncrgx_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void moonqsr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void mshuttle_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void calipso_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void mimonkey_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void batman2_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void jumpbug_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void dkongjrm_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void ad2083_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
static void dambustr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs);
|
||||
|
||||
static void (*modify_color)(UINT8 *color); /* function to call to do modify how the color codes map to the PROM */
|
||||
static void frogger_modify_color(UINT8 *color);
|
||||
static void gmgalax_modify_color(UINT8 *color);
|
||||
static void drivfrcg_modify_color(UINT8 *color);
|
||||
|
||||
static void (*modify_ypos)(UINT8*); /* function to call to do modify how vertical positioning bits are connected */
|
||||
static void frogger_modify_ypos(UINT8 *sy);
|
||||
|
||||
static TIMER_CALLBACK( stars_blink_callback );
|
||||
static TIMER_CALLBACK( stars_scroll_callback );
|
||||
@ -112,7 +97,6 @@ static void noop_draw_stars(running_machine *machine, bitmap_t *bitmap, cons
|
||||
static void scramble_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void rescue_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void mariner_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void jumpbug_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void start_stars_blink_timer(double ra, double rb, double c);
|
||||
static void start_stars_scroll_timer(running_machine *machine);
|
||||
|
||||
@ -120,9 +104,7 @@ static void start_stars_scroll_timer(running_machine *machine);
|
||||
static UINT8 darkplnt_bullet_color;
|
||||
static void (*draw_bullets)(bitmap_t *,int,int,int,const rectangle *); /* function to call to draw a bullet */
|
||||
static void galaxold_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
static void gteikob2_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
static void scramble_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
static void darkplnt_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
static void dambustr_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect);
|
||||
|
||||
@ -134,7 +116,6 @@ static void galaxold_draw_background(bitmap_t *bitmap, const rectangle *cliprect
|
||||
static void scramble_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void turtles_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void mariner_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void frogger_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void stratgyx_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void minefld_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
static void rescue_draw_background(bitmap_t *bitmap, const rectangle *cliprect);
|
||||
@ -183,7 +164,7 @@ static bitmap_t *dambustr_tmpbitmap;
|
||||
The RGB outputs have a 470 ohm pull-down each.
|
||||
|
||||
***************************************************************************/
|
||||
PALETTE_INIT( galaxian )
|
||||
PALETTE_INIT( galaxold )
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -222,9 +203,9 @@ PALETTE_INIT( galaxian )
|
||||
palette_set_color(machine,BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef));
|
||||
}
|
||||
|
||||
PALETTE_INIT( scramble )
|
||||
PALETTE_INIT( scrambold )
|
||||
{
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* blue background - 390 ohm resistor */
|
||||
@ -233,43 +214,19 @@ PALETTE_INIT( scramble )
|
||||
|
||||
PALETTE_INIT( moonwar )
|
||||
{
|
||||
PALETTE_INIT_CALL(scramble);
|
||||
PALETTE_INIT_CALL(scrambold);
|
||||
|
||||
|
||||
/* wire mod to connect the bullet blue output to the 220 ohm resistor */
|
||||
palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x97));
|
||||
}
|
||||
|
||||
PALETTE_INIT( turtles )
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
|
||||
|
||||
/* The background color generator is connected this way:
|
||||
|
||||
RED - 390 ohm resistor
|
||||
GREEN - 470 ohm resistor
|
||||
BLUE - 390 ohm resistor */
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
int r = BIT(i,0) * 0x55;
|
||||
int g = BIT(i,1) * 0x47;
|
||||
int b = BIT(i,2) * 0x55;
|
||||
|
||||
palette_set_color_rgb(machine,BACKGROUND_COLOR_BASE+i,r,g,b);
|
||||
}
|
||||
}
|
||||
|
||||
PALETTE_INIT( stratgyx )
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* The background color generator is connected this way:
|
||||
@ -288,15 +245,6 @@ PALETTE_INIT( stratgyx )
|
||||
}
|
||||
}
|
||||
|
||||
PALETTE_INIT( frogger )
|
||||
{
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
|
||||
|
||||
/* blue background - 470 ohm resistor */
|
||||
palette_set_color(machine,BACKGROUND_COLOR_BASE,MAKE_RGB(0,0,0x47));
|
||||
}
|
||||
|
||||
PALETTE_INIT( rockclim )
|
||||
{
|
||||
int i;
|
||||
@ -384,7 +332,7 @@ PALETTE_INIT( minefld )
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* set up background colors */
|
||||
@ -415,7 +363,7 @@ PALETTE_INIT( rescue )
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* set up background colors */
|
||||
@ -436,7 +384,7 @@ PALETTE_INIT( mariner )
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* set up background colors */
|
||||
@ -465,7 +413,7 @@ PALETTE_INIT( dambustr )
|
||||
{
|
||||
int i;
|
||||
|
||||
PALETTE_INIT_CALL(galaxian);
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/*
|
||||
@ -487,6 +435,30 @@ PALETTE_INIT( dambustr )
|
||||
}
|
||||
|
||||
|
||||
PALETTE_INIT( turtles )
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
PALETTE_INIT_CALL(galaxold);
|
||||
|
||||
|
||||
/* The background color generator is connected this way:
|
||||
|
||||
RED - 390 ohm resistor
|
||||
GREEN - 470 ohm resistor
|
||||
BLUE - 390 ohm resistor */
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
int r = BIT(i,0) * 0x55;
|
||||
int g = BIT(i,1) * 0x47;
|
||||
int b = BIT(i,2) * 0x55;
|
||||
|
||||
palette_set_color_rgb(machine,BACKGROUND_COLOR_BASE+i,r,g,b);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -557,7 +529,7 @@ VIDEO_START( galaxold_plain )
|
||||
tilemap_set_scroll = tilemap_set_scrolly;
|
||||
}
|
||||
|
||||
VIDEO_START( galaxian )
|
||||
VIDEO_START( galaxold )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
|
||||
@ -566,72 +538,7 @@ VIDEO_START( galaxian )
|
||||
draw_bullets = galaxold_draw_bullets;
|
||||
}
|
||||
|
||||
VIDEO_START( gmgalax )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = gmgalax_modify_charcode;
|
||||
modify_spritecode = gmgalax_modify_spritecode;
|
||||
modify_color = gmgalax_modify_color;
|
||||
}
|
||||
|
||||
VIDEO_START( mooncrst )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = mooncrst_modify_charcode;
|
||||
modify_spritecode = mooncrst_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( mooncrgx )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = mooncrgx_modify_charcode;
|
||||
modify_spritecode = mooncrgx_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( moonqsr )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = moonqsr_modify_charcode;
|
||||
modify_spritecode = moonqsr_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( mshuttle )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = mshuttle_modify_charcode;
|
||||
modify_spritecode = mshuttle_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( pisces )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = pisces_modify_charcode;
|
||||
modify_spritecode = pisces_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( gteikob2 )
|
||||
{
|
||||
VIDEO_START_CALL(pisces);
|
||||
|
||||
draw_bullets = gteikob2_draw_bullets;
|
||||
}
|
||||
|
||||
VIDEO_START( batman2 )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
modify_charcode = batman2_modify_charcode;
|
||||
modify_spritecode = batman2_modify_spritecode;
|
||||
|
||||
}
|
||||
|
||||
VIDEO_START( scramble )
|
||||
VIDEO_START( scrambold )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
|
||||
@ -647,34 +554,6 @@ VIDEO_START( scramble )
|
||||
draw_background = scramble_draw_background;
|
||||
}
|
||||
|
||||
VIDEO_START( sfx )
|
||||
{
|
||||
video_start_common(machine,tilemap_scan_cols);
|
||||
|
||||
tilemap_set_scroll_rows(bg_tilemap, 32);
|
||||
tilemap_set_scroll = tilemap_set_scrollx;
|
||||
|
||||
draw_stars = scramble_draw_stars;
|
||||
|
||||
draw_bullets = scramble_draw_bullets;
|
||||
|
||||
draw_background = turtles_draw_background;
|
||||
}
|
||||
|
||||
VIDEO_START( turtles )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
|
||||
draw_background = turtles_draw_background;
|
||||
}
|
||||
|
||||
VIDEO_START( theend )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
|
||||
draw_bullets = theend_draw_bullets;
|
||||
}
|
||||
|
||||
VIDEO_START( darkplnt )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
@ -685,7 +564,7 @@ VIDEO_START( darkplnt )
|
||||
|
||||
VIDEO_START( rescue )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
draw_stars = rescue_draw_stars;
|
||||
|
||||
@ -694,7 +573,7 @@ VIDEO_START( rescue )
|
||||
|
||||
VIDEO_START( minefld )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
draw_stars = rescue_draw_stars;
|
||||
|
||||
@ -710,7 +589,7 @@ VIDEO_START( stratgyx )
|
||||
|
||||
VIDEO_START( ckongs )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
modify_spritecode = mshuttle_modify_spritecode;
|
||||
}
|
||||
@ -739,42 +618,9 @@ VIDEO_START( mariner )
|
||||
modify_charcode = mariner_modify_charcode;
|
||||
}
|
||||
|
||||
VIDEO_START( froggers )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
|
||||
draw_background = frogger_draw_background;
|
||||
modify_color = frogger_modify_color;
|
||||
}
|
||||
|
||||
VIDEO_START( frogger )
|
||||
{
|
||||
VIDEO_START_CALL(froggers);
|
||||
|
||||
modify_ypos = frogger_modify_ypos;
|
||||
}
|
||||
|
||||
VIDEO_START( jumpbug )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
|
||||
draw_stars = jumpbug_draw_stars;
|
||||
|
||||
modify_charcode = jumpbug_modify_charcode;
|
||||
modify_spritecode = jumpbug_modify_spritecode;
|
||||
}
|
||||
|
||||
VIDEO_START( azurian )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold_plain);
|
||||
|
||||
draw_stars = galaxold_draw_stars;
|
||||
draw_bullets = scramble_draw_bullets; /* Shots are yellow like in Scramble */
|
||||
}
|
||||
|
||||
VIDEO_START( mimonkey )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
modify_charcode = mimonkey_modify_charcode;
|
||||
modify_spritecode = mimonkey_modify_spritecode;
|
||||
@ -792,7 +638,7 @@ VIDEO_START( dkongjrm )
|
||||
|
||||
VIDEO_START( newsin7 )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
spritevisiblearea = &_spritevisibleareaflipx;
|
||||
spritevisibleareaflipx = &_spritevisiblearea;
|
||||
@ -800,11 +646,81 @@ VIDEO_START( newsin7 )
|
||||
|
||||
VIDEO_START( scorpion )
|
||||
{
|
||||
VIDEO_START_CALL(scramble);
|
||||
VIDEO_START_CALL(scrambold);
|
||||
|
||||
modify_spritecode = batman2_modify_spritecode;
|
||||
}
|
||||
|
||||
static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= (gfxbank[0] << 6);
|
||||
}
|
||||
|
||||
VIDEO_START( pisces )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold);
|
||||
|
||||
modify_charcode = pisces_modify_charcode;
|
||||
modify_spritecode = pisces_modify_spritecode;
|
||||
}
|
||||
|
||||
static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
/* same as Galaxian, but all bullets are yellow */
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
x--;
|
||||
|
||||
if ((x >= cliprect->min_x) && (x <= cliprect->max_x) && (y >= cliprect->min_y) && (y <= cliprect->max_y))
|
||||
*BITMAP_ADDR16(bitmap, y, x) = BULLETS_COLOR_BASE;
|
||||
}
|
||||
}
|
||||
|
||||
VIDEO_START( theend )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold);
|
||||
|
||||
draw_bullets = theend_draw_bullets;
|
||||
}
|
||||
|
||||
static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
if (gfxbank[2] && ((*code & 0x30) == 0x20))
|
||||
{
|
||||
*code = (*code & 0x0f) | (gfxbank[0] << 4) | (gfxbank[1] << 5) | 0x40;
|
||||
}
|
||||
}
|
||||
|
||||
VIDEO_START( mooncrst )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold);
|
||||
|
||||
modify_charcode = mooncrst_modify_charcode;
|
||||
modify_spritecode = mooncrst_modify_spritecode;
|
||||
}
|
||||
|
||||
static void batman2_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (*code & 0x80)
|
||||
{
|
||||
*code |= (gfxbank[0] << 8);
|
||||
}
|
||||
}
|
||||
|
||||
VIDEO_START( batman2 )
|
||||
{
|
||||
VIDEO_START_CALL(galaxold);
|
||||
|
||||
modify_charcode = batman2_modify_charcode;
|
||||
modify_spritecode = batman2_modify_spritecode;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void rockclim_draw_background(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,rockclim_tilemap, 0,0);
|
||||
@ -817,7 +733,7 @@ static void rockclim_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int
|
||||
|
||||
VIDEO_START( rockclim )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
VIDEO_START_CALL(galaxold);
|
||||
rockclim_tilemap = tilemap_create(rockclim_get_tile_info,tilemap_scan_rows,8,8,64,32);
|
||||
draw_background = rockclim_draw_background;
|
||||
modify_charcode = mooncrst_modify_charcode;
|
||||
@ -1003,7 +919,7 @@ static TILE_GET_INFO( dambustr_get_tile_info2 )
|
||||
|
||||
VIDEO_START( dambustr )
|
||||
{
|
||||
VIDEO_START_CALL(galaxian);
|
||||
VIDEO_START_CALL(galaxold);
|
||||
|
||||
dambustr_bg_split_line = 0;
|
||||
dambustr_bg_color_1 = 0;
|
||||
@ -1107,22 +1023,22 @@ WRITE8_HANDLER( hotshock_flip_screen_w )
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( scramble_background_enable_w )
|
||||
WRITE8_HANDLER( scrambold_background_enable_w )
|
||||
{
|
||||
background_enable = data & 0x01;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( scramble_background_red_w )
|
||||
WRITE8_HANDLER( scrambold_background_red_w )
|
||||
{
|
||||
background_red = data & 0x01;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( scramble_background_green_w )
|
||||
WRITE8_HANDLER( scrambold_background_green_w )
|
||||
{
|
||||
background_green = data & 0x01;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( scramble_background_blue_w )
|
||||
WRITE8_HANDLER( scrambold_background_blue_w )
|
||||
{
|
||||
background_blue = data & 0x01;
|
||||
}
|
||||
@ -1200,11 +1116,6 @@ WRITE8_HANDLER( dambustr_bg_color_w )
|
||||
|
||||
/* character banking functions */
|
||||
|
||||
static void gmgalax_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
*code |= (gfxbank[0] << 9);
|
||||
}
|
||||
|
||||
static void mooncrst_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (gfxbank[2] && ((*code & 0xc0) == 0x80))
|
||||
@ -1213,24 +1124,6 @@ static void mooncrst_modify_charcode(UINT16 *code,UINT8 x)
|
||||
}
|
||||
}
|
||||
|
||||
static void mooncrgx_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (gfxbank[2] && ((*code & 0xc0) == 0x80))
|
||||
{
|
||||
*code = (*code & 0x3f) | (gfxbank[1] << 6) | (gfxbank[0] << 7) | 0x0100;
|
||||
}
|
||||
}
|
||||
|
||||
static void moonqsr_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
*code |= ((galaxold_attributesram[(x << 1) | 1] & 0x20) << 3);
|
||||
}
|
||||
|
||||
static void mshuttle_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
*code |= ((galaxold_attributesram[(x << 1) | 1] & 0x30) << 4);
|
||||
}
|
||||
|
||||
static void pisces_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
*code |= (gfxbank[0] << 8);
|
||||
@ -1241,14 +1134,6 @@ static void mimonkey_modify_charcode(UINT16 *code,UINT8 x)
|
||||
*code |= (gfxbank[0] << 8) | (gfxbank[2] << 9);
|
||||
}
|
||||
|
||||
static void batman2_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (*code & 0x80)
|
||||
{
|
||||
*code |= (gfxbank[0] << 8);
|
||||
}
|
||||
}
|
||||
|
||||
static void mariner_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
UINT8 *prom;
|
||||
@ -1261,18 +1146,6 @@ static void mariner_modify_charcode(UINT16 *code,UINT8 x)
|
||||
*code |= ((prom[x] & 0x01) << 8);
|
||||
}
|
||||
|
||||
static void jumpbug_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (((*code & 0xc0) == 0x80) &&
|
||||
(gfxbank[2] & 0x01))
|
||||
{
|
||||
*code += 128 + (( gfxbank[0] & 0x01) << 6) +
|
||||
(( gfxbank[1] & 0x01) << 7) +
|
||||
((~gfxbank[4] & 0x01) << 8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void dambustr_modify_charcode(UINT16 *code,UINT8 x)
|
||||
{
|
||||
if (dambustr_char_bank == 0) { // text mode
|
||||
@ -1290,32 +1163,6 @@ static void dambustr_modify_charcode(UINT16 *code,UINT8 x)
|
||||
|
||||
/* sprite banking functions */
|
||||
|
||||
static void gmgalax_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= (gfxbank[0] << 7) | 0x40;
|
||||
}
|
||||
|
||||
static void mooncrst_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
if (gfxbank[2] && ((*code & 0x30) == 0x20))
|
||||
{
|
||||
*code = (*code & 0x0f) | (gfxbank[0] << 4) | (gfxbank[1] << 5) | 0x40;
|
||||
}
|
||||
}
|
||||
|
||||
static void mooncrgx_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
if (gfxbank[2] && ((*code & 0x30) == 0x20))
|
||||
{
|
||||
*code = (*code & 0x0f) | (gfxbank[1] << 4) | (gfxbank[0] << 5) | 0x40;
|
||||
}
|
||||
}
|
||||
|
||||
static void moonqsr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= ((spriteram[offs + 2] & 0x20) << 1);
|
||||
}
|
||||
|
||||
static void mshuttle_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= ((spriteram[offs + 2] & 0x30) << 2);
|
||||
@ -1329,11 +1176,6 @@ static void calipso_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int
|
||||
*flipy = 0;
|
||||
}
|
||||
|
||||
static void pisces_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= (gfxbank[0] << 6);
|
||||
}
|
||||
|
||||
static void mimonkey_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
*code |= (gfxbank[0] << 6) | (gfxbank[2] << 7);
|
||||
@ -1345,17 +1187,6 @@ static void batman2_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int
|
||||
*code |= 0x40;
|
||||
}
|
||||
|
||||
static void jumpbug_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
if (((*code & 0x30) == 0x20) &&
|
||||
(gfxbank[2] & 0x01) != 0)
|
||||
{
|
||||
*code += 32 + (( gfxbank[0] & 0x01) << 4) +
|
||||
(( gfxbank[1] & 0x01) << 5) +
|
||||
((~gfxbank[4] & 0x01) << 6);
|
||||
}
|
||||
}
|
||||
|
||||
static void dkongjrm_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int *flipy,int offs)
|
||||
{
|
||||
/* No x flip */
|
||||
@ -1378,16 +1209,6 @@ static void dambustr_modify_spritecode(UINT8 *spriteram,int *code,int *flipx,int
|
||||
|
||||
/* color PROM mapping functions */
|
||||
|
||||
static void frogger_modify_color(UINT8 *color)
|
||||
{
|
||||
*color = ((*color >> 1) & 0x03) | ((*color << 2) & 0x04);
|
||||
}
|
||||
|
||||
static void gmgalax_modify_color(UINT8 *color)
|
||||
{
|
||||
*color |= (gfxbank[0] << 3);
|
||||
}
|
||||
|
||||
static void drivfrcg_modify_color(UINT8 *color)
|
||||
{
|
||||
*color = ((*color & 0x40) >> 3) | (*color & 7);
|
||||
@ -1395,11 +1216,6 @@ static void drivfrcg_modify_color(UINT8 *color)
|
||||
|
||||
/* y position mapping functions */
|
||||
|
||||
static void frogger_modify_ypos(UINT8 *sy)
|
||||
{
|
||||
*sy = (*sy << 4) | (*sy >> 4);
|
||||
}
|
||||
|
||||
|
||||
/* bullet drawing functions */
|
||||
|
||||
@ -1425,11 +1241,6 @@ static void galaxold_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, cons
|
||||
}
|
||||
}
|
||||
|
||||
static void gteikob2_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect)
|
||||
{
|
||||
galaxold_draw_bullets(bitmap, offs, 260 - x, y, cliprect);
|
||||
}
|
||||
|
||||
static void scramble_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect)
|
||||
{
|
||||
if (flipscreen_x) x++;
|
||||
@ -1451,21 +1262,6 @@ static void darkplnt_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, cons
|
||||
*BITMAP_ADDR16(bitmap, y, x) = 32 + darkplnt_bullet_color;
|
||||
}
|
||||
|
||||
static void theend_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
/* same as Galaxian, but all bullets are yellow */
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
x--;
|
||||
|
||||
if ((x >= cliprect->min_x) && (x <= cliprect->max_x) && (y >= cliprect->min_y) && (y <= cliprect->max_y))
|
||||
*BITMAP_ADDR16(bitmap, y, x) = BULLETS_COLOR_BASE;
|
||||
}
|
||||
}
|
||||
|
||||
static void dambustr_draw_bullets(bitmap_t *bitmap, int offs, int x, int y, const rectangle *cliprect)
|
||||
{
|
||||
int i, color;
|
||||
@ -1517,21 +1313,6 @@ static void turtles_draw_background(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
fillbitmap(bitmap,BACKGROUND_COLOR_BASE + color,cliprect);
|
||||
}
|
||||
|
||||
static void frogger_draw_background(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
/* color split point verified on real machine */
|
||||
if (flipscreen_x)
|
||||
{
|
||||
plot_box(bitmap, 0, 0, 128, 256, 0);
|
||||
plot_box(bitmap, 128, 0, 128, 256, BACKGROUND_COLOR_BASE);
|
||||
}
|
||||
else
|
||||
{
|
||||
plot_box(bitmap, 0, 0, 128, 256, BACKGROUND_COLOR_BASE);
|
||||
plot_box(bitmap, 128, 0, 128, 256, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void stratgyx_draw_background(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
UINT8 x;
|
||||
@ -1929,58 +1710,6 @@ static void mariner_draw_stars(running_machine *machine, bitmap_t *bitmap, const
|
||||
}
|
||||
}
|
||||
|
||||
static void jumpbug_draw_stars(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
int offs;
|
||||
|
||||
|
||||
if (!timer_adjusted)
|
||||
{
|
||||
start_stars_blink_timer(100000, 10000, 0.00001);
|
||||
start_stars_scroll_timer(machine);
|
||||
timer_adjusted = 1;
|
||||
}
|
||||
|
||||
|
||||
for (offs = 0;offs < STAR_COUNT;offs++)
|
||||
{
|
||||
int x,y;
|
||||
|
||||
|
||||
x = stars[offs].x >> 1;
|
||||
y = stars[offs].y;
|
||||
|
||||
/* determine when to skip plotting */
|
||||
if ((y & 0x01) ^ ((x >> 3) & 0x01))
|
||||
{
|
||||
switch (stars_blink_state & 0x03)
|
||||
{
|
||||
case 0:
|
||||
if (!(stars[offs].color & 0x01)) continue;
|
||||
break;
|
||||
case 1:
|
||||
if (!(stars[offs].color & 0x04)) continue;
|
||||
break;
|
||||
case 2:
|
||||
if (!(stars[offs].y & 0x02)) continue;
|
||||
break;
|
||||
case 3:
|
||||
/* always plot */
|
||||
break;
|
||||
}
|
||||
|
||||
x = ((stars[offs].x + stars_scrollpos) & 0x01ff) >> 1;
|
||||
y = ( stars[offs].y + ((stars_scrollpos + stars[offs].x) >> 9)) & 0xff;
|
||||
|
||||
/* no stars in the status area */
|
||||
if (x >= 240) continue;
|
||||
|
||||
plot_star(bitmap, x, y, stars[offs].color, cliprect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static TIMER_CALLBACK( stars_blink_callback )
|
||||
{
|
||||
stars_blink_state++;
|
||||
@ -2122,7 +1851,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, UINT8 *spri
|
||||
}
|
||||
|
||||
|
||||
VIDEO_UPDATE( galaxian )
|
||||
VIDEO_UPDATE( galaxold )
|
||||
{
|
||||
draw_background(bitmap, cliprect);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user