mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
Cleanups/version bump.
This commit is contained in:
parent
c314de71fa
commit
662dea1a21
@ -532,27 +532,27 @@ INLINE void h8itu_3007_timer_cb(int tnum)
|
||||
UINT16 count = (h8.per_regs[base + 0x2]<<8) | h8.per_regs[base + 0x3];
|
||||
count++;
|
||||
|
||||
// logerror("h8/3007 timer %d count = %04x\n",tnum,count);
|
||||
// logerror("h8/3007 timer %d count = %04x\n",tnum,count);
|
||||
|
||||
// GRA match
|
||||
if ((h8.per_regs[base + 0x1] & 0x03) && (count == ((h8.per_regs[base + 0x4]<<8) | h8.per_regs[base + 0x5])))
|
||||
{
|
||||
if ((h8.per_regs[base + 0x0] & 0x60) == 0x20)
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRA match, restarting\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRA match, restarting\n",tnum);
|
||||
count = 0;
|
||||
h8_3007_itu_refresh_timer(tnum);
|
||||
}
|
||||
else
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRA match, stopping\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRA match, stopping\n",tnum);
|
||||
timer_adjust(h8.timer[tnum], attotime_never, 0, attotime_zero);
|
||||
}
|
||||
|
||||
h8.per_regs[0x64] |= 1<<tnum;
|
||||
if(h8.per_regs[0x64] & (4<<tnum)) // interrupt enable
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRA INTERRUPT\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRA INTERRUPT\n",tnum);
|
||||
h8_3002_InterruptRequest(24+tnum*4);
|
||||
}
|
||||
}
|
||||
@ -561,31 +561,31 @@ INLINE void h8itu_3007_timer_cb(int tnum)
|
||||
{
|
||||
if ((h8.per_regs[base + 0x0] & 0x60) == 0x40)
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRB match, restarting\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRB match, restarting\n",tnum);
|
||||
count = 0;
|
||||
h8_3007_itu_refresh_timer(tnum);
|
||||
}
|
||||
else
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRB match, stopping\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRB match, stopping\n",tnum);
|
||||
timer_adjust(h8.timer[tnum], attotime_never, 0, attotime_zero);
|
||||
}
|
||||
|
||||
h8.per_regs[0x65] |= 1<<tnum;
|
||||
if(h8.per_regs[0x65] & (4<<tnum)) // interrupt enable
|
||||
{
|
||||
// logerror("h8/3007 timer %d GRB INTERRUPT\n",tnum);
|
||||
// logerror("h8/3007 timer %d GRB INTERRUPT\n",tnum);
|
||||
h8_3002_InterruptRequest(25+tnum*4);
|
||||
}
|
||||
}
|
||||
// Overflow
|
||||
if (((h8.per_regs[base + 0x1] & 0x33) == 0) && (count == 0))
|
||||
{
|
||||
// logerror("h8/3007 timer %d OVF match, restarting\n",tnum);
|
||||
// logerror("h8/3007 timer %d OVF match, restarting\n",tnum);
|
||||
h8.per_regs[0x66] |= 1<<tnum;
|
||||
if(h8.per_regs[0x66] & (4<<tnum)) // interrupt enable
|
||||
{
|
||||
// logerror("h8/3007 timer %d OVF INTERRUPT\n",tnum);
|
||||
// logerror("h8/3007 timer %d OVF INTERRUPT\n",tnum);
|
||||
h8_3002_InterruptRequest(26+tnum*4);
|
||||
}
|
||||
}
|
||||
@ -627,7 +627,7 @@ UINT8 h8_3007_itu_read8(UINT8 reg)
|
||||
|
||||
void h8_3007_itu_write8(UINT8 reg, UINT8 val)
|
||||
{
|
||||
// logerror("%06x: h8/3007 reg %02x = %02x\n",activecpu_get_pc(),reg,val);
|
||||
// logerror("%06x: h8/3007 reg %02x = %02x\n",activecpu_get_pc(),reg,val);
|
||||
h8.per_regs[reg] = val;
|
||||
switch(reg)
|
||||
{
|
||||
|
@ -257,7 +257,7 @@ static void cpuexec_reset(running_machine *machine)
|
||||
|
||||
/* initialize the various timers (suspends all CPUs at startup) */
|
||||
cpu_inittimers(machine);
|
||||
|
||||
|
||||
/* set up the watchdog timer; only start off enabled if explicitly configured */
|
||||
watchdog_enabled = (machine->drv->watchdog_vblank_count != 0 || attotime_compare(machine->drv->watchdog_time, attotime_zero) != 0);
|
||||
watchdog_reset(machine);
|
||||
@ -300,7 +300,7 @@ static void cpuexec_exit(running_machine *machine)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpuexec_timeslice - execute all CPUs for a
|
||||
cpuexec_timeslice - execute all CPUs for a
|
||||
single timeslice
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -401,7 +401,7 @@ void cpuexec_timeslice(running_machine *machine)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_boost_interleave - temporarily boosts the
|
||||
cpu_boost_interleave - temporarily boosts the
|
||||
interleave factor
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -445,7 +445,7 @@ void activecpu_abort_timeslice(void)
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_suspend - set a suspend reason for the
|
||||
given CPU
|
||||
given CPU
|
||||
-------------------------------------------------*/
|
||||
|
||||
void cpunum_suspend(int cpunum, int reason, int eatcycles)
|
||||
@ -463,7 +463,7 @@ void cpunum_suspend(int cpunum, int reason, int eatcycles)
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_resume - clear a suspend reason for the
|
||||
given CPU
|
||||
given CPU
|
||||
-------------------------------------------------*/
|
||||
|
||||
void cpunum_resume(int cpunum, int reason)
|
||||
@ -479,8 +479,8 @@ void cpunum_resume(int cpunum, int reason)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_is_suspended - returns true if the
|
||||
given CPU is suspended for any of the given
|
||||
cpunum_is_suspended - returns true if the
|
||||
given CPU is suspended for any of the given
|
||||
reasons
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -509,11 +509,11 @@ static void update_clock_information(running_machine *machine, int cpunum)
|
||||
|
||||
/* re-compute the perfect interleave factor */
|
||||
compute_perfect_interleave(machine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_get_clock - gets the given CPU's
|
||||
cpunum_get_clock - gets the given CPU's
|
||||
clock speed
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -525,7 +525,7 @@ int cpunum_get_clock(int cpunum)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_set_clock - sets the given CPU's
|
||||
cpunum_set_clock - sets the given CPU's
|
||||
clock speed
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -539,7 +539,7 @@ void cpunum_set_clock(running_machine *machine, int cpunum, int clock)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_get_clockscale - returns the current
|
||||
cpunum_get_clockscale - returns the current
|
||||
scaling factor for a CPU's clock speed
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -551,7 +551,7 @@ double cpunum_get_clockscale(int cpunum)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_set_clockscale - sets the current
|
||||
cpunum_set_clockscale - sets the current
|
||||
scaling factor for a CPU's clock speed
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -570,7 +570,7 @@ void cpunum_set_clockscale(running_machine *machine, int cpunum, double clocksca
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_get_localtime - returns the current
|
||||
cpunum_get_localtime - returns the current
|
||||
local time for a CPU
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -609,7 +609,7 @@ UINT64 activecpu_gettotalcycles(void)
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_gettotalcycles - return the total
|
||||
number of CPU cycles executed on the
|
||||
number of CPU cycles executed on the
|
||||
specified CPU
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -670,7 +670,7 @@ void cpu_yield(void)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_spin - burn CPU cycles until our timeslice
|
||||
cpu_spin - burn CPU cycles until our timeslice
|
||||
is up
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -683,7 +683,7 @@ void cpu_spin(void)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_spinuntil_trigger - burn CPU cycles until
|
||||
cpu_spinuntil_trigger - burn CPU cycles until
|
||||
a timer trigger
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -696,7 +696,7 @@ void cpu_spinuntil_trigger(int trigger)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpunum_spinuntil_trigger - burn specified CPU
|
||||
cpunum_spinuntil_trigger - burn specified CPU
|
||||
cycles until a timer trigger
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -708,7 +708,7 @@ void cpunum_spinuntil_trigger(int cpunum, int trigger)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_spinuntil_int - burn CPU cycles until the
|
||||
cpu_spinuntil_int - burn CPU cycles until the
|
||||
next interrupt
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -721,7 +721,7 @@ void cpu_spinuntil_int(void)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_spinuntil_time - burn CPU cycles for a
|
||||
cpu_spinuntil_time - burn CPU cycles for a
|
||||
specific period of time
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -771,7 +771,7 @@ void cpu_trigger(running_machine *machine, int trigger)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_triggertime - generate a trigger after a
|
||||
cpu_triggertime - generate a trigger after a
|
||||
specific period of time
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -788,7 +788,7 @@ void cpu_triggertime(attotime duration, int trigger)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_triggerint - generate a trigger
|
||||
cpu_triggerint - generate a trigger
|
||||
corresponding to an interrupt on the given CPU
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -823,7 +823,7 @@ void watchdog_reset(running_machine *machine)
|
||||
/* if we're not enabled, skip it */
|
||||
if (!watchdog_enabled)
|
||||
timer_adjust(watchdog_timer, attotime_never, 0, attotime_zero);
|
||||
|
||||
|
||||
/* VBLANK-based watchdog? */
|
||||
else if (machine->drv->watchdog_vblank_count != 0)
|
||||
watchdog_counter = machine->drv->watchdog_vblank_count;
|
||||
@ -831,7 +831,7 @@ void watchdog_reset(running_machine *machine)
|
||||
/* timer-based watchdog? */
|
||||
else if (attotime_compare(machine->drv->watchdog_time, attotime_zero) != 0)
|
||||
timer_adjust(watchdog_timer, machine->drv->watchdog_time, 0, attotime_zero);
|
||||
|
||||
|
||||
/* default to an obscene amount of time (3 seconds) */
|
||||
else
|
||||
timer_adjust(watchdog_timer, ATTOTIME_IN_SEC(3), 0, attotime_zero);
|
||||
@ -943,7 +943,7 @@ int cpu_getcurrentframe(void)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
cpu_vblankreset - hook for updating things on
|
||||
cpu_vblankreset - hook for updating things on
|
||||
cheesy fake VBLANK (once per frame)
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1122,7 +1122,7 @@ static TIMER_CALLBACK( end_interleave_boost )
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
compute_perfect_interleave - compute the
|
||||
compute_perfect_interleave - compute the
|
||||
"perfect" interleave interval
|
||||
-------------------------------------------------*/
|
||||
|
||||
|
@ -506,7 +506,7 @@ const stream_sample_t *stream_get_output_since_last_update(sound_stream *stream,
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
stream_get_sample_rate - return the currently
|
||||
stream_get_sample_rate - return the currently
|
||||
set sample rate on a given stream
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -531,8 +531,8 @@ void stream_set_sample_rate(sound_stream *stream, int sample_rate)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
stream_get_time - return the emulation time
|
||||
of the next sample to be generated on the
|
||||
stream_get_time - return the emulation time
|
||||
of the next sample to be generated on the
|
||||
stream
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -545,7 +545,7 @@ attotime stream_get_time(sound_stream *stream)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
stream_get_sample_period - return the duration
|
||||
stream_get_sample_period - return the duration
|
||||
of a single sample for a stream
|
||||
-------------------------------------------------*/
|
||||
|
||||
|
@ -273,7 +273,7 @@ void tilemap_init(running_machine *machine)
|
||||
tilemap_list = NULL;
|
||||
tilemap_tailptr = &tilemap_list;
|
||||
tilemap_instance = 0;
|
||||
|
||||
|
||||
priority_bitmap = auto_bitmap_alloc(screen_width, screen_height, BITMAP_FORMAT_INDEXED8);
|
||||
add_exit_callback(machine, tilemap_exit);
|
||||
}
|
||||
|
@ -307,7 +307,7 @@ void video_init(running_machine *machine)
|
||||
|
||||
/* allocate a timer to reset partial updates */
|
||||
info->scanline0_timer = timer_alloc(scanline0_callback, NULL);
|
||||
|
||||
|
||||
/* make pointers back to the config and state */
|
||||
info->config = &machine->drv->screen[scrnum];
|
||||
info->state = &machine->screen[scrnum];
|
||||
@ -1051,10 +1051,10 @@ static TIMER_CALLBACK( scanline_update_callback )
|
||||
video_private *viddata = machine->video_data;
|
||||
int scrnum = param & 0xff;
|
||||
int scanline = param >> 8;
|
||||
|
||||
|
||||
/* force a partial update to the current scanline */
|
||||
video_screen_update_partial(scrnum, scanline);
|
||||
|
||||
|
||||
/* compute the next visible scanline */
|
||||
scanline++;
|
||||
if (scanline > machine->screen[scrnum].visarea.max_y)
|
||||
|
@ -626,11 +626,11 @@ static void v9938_register_write (int reg, int data)
|
||||
case 2:
|
||||
/*v9938_update_command ();*/
|
||||
/*
|
||||
WTF is this? Whatever this was intended to do, it is nonsensical.
|
||||
Might as well pick a random number....
|
||||
n = cycles_currently_ran ();
|
||||
if ( (n < 28) || (n > 199) ) vdp.statReg[2] |= 0x20;
|
||||
else vdp.statReg[2] &= ~0x20;
|
||||
WTF is this? Whatever this was intended to do, it is nonsensical.
|
||||
Might as well pick a random number....
|
||||
n = cycles_currently_ran ();
|
||||
if ( (n < 28) || (n > 199) ) vdp.statReg[2] |= 0x20;
|
||||
else vdp.statReg[2] &= ~0x20;
|
||||
*/
|
||||
if (mame_rand(Machine) & 1) vdp.statReg[2] |= 0x20;
|
||||
else vdp.statReg[2] &= ~0x20;
|
||||
|
@ -206,7 +206,7 @@ MACHINE_DRIVER_END
|
||||
|
||||
MACHINE_DRIVER_START( m52_small_audio )
|
||||
MDRV_IMPORT_FROM(irem_audio_base)
|
||||
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_MODIFY("iremsound")
|
||||
MDRV_CPU_PROGRAM_MAP(m52_small_sound_map,0)
|
||||
@ -215,7 +215,7 @@ MACHINE_DRIVER_END
|
||||
|
||||
MACHINE_DRIVER_START( m52_large_audio ) /* 10 yard fight */
|
||||
MDRV_IMPORT_FROM(irem_audio_base)
|
||||
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_MODIFY("iremsound")
|
||||
MDRV_CPU_PROGRAM_MAP(m52_large_sound_map,0)
|
||||
@ -224,7 +224,7 @@ MACHINE_DRIVER_END
|
||||
|
||||
MACHINE_DRIVER_START( m62_audio )
|
||||
MDRV_IMPORT_FROM(irem_audio_base)
|
||||
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_MODIFY("iremsound")
|
||||
MDRV_CPU_PROGRAM_MAP(m62_sound_map,0)
|
||||
|
@ -172,7 +172,7 @@ MACHINE_DRIVER_START( timeplt_sound )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("tpsound",Z80,MASTER_CLOCK/8)
|
||||
MDRV_CPU_PROGRAM_MAP(timeplt_sound_map,0)
|
||||
|
||||
|
||||
MDRV_SOUND_START(timeplt)
|
||||
|
||||
/* sound hardware */
|
||||
|
@ -11,7 +11,7 @@ Birdie King / Birdie King II / Birdie King III Memory Map
|
||||
a000-bfff Unused?
|
||||
|
||||
DIP Locations verified for:
|
||||
- bking2
|
||||
- bking2
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -301,9 +301,9 @@ static INPUT_PORTS_START( cmv801 )
|
||||
PORT_DIPSETTING( 0x04, "5,000" )
|
||||
PORT_DIPSETTING( 0x02, "10,000" )
|
||||
PORT_DIPSETTING( 0x00, "20,000" )
|
||||
PORT_DIPNAME( 0x18, 0x18, "Condition For 3 Kind Of Bonus" ) PORT_DIPLOCATION("SW5:4,5")
|
||||
PORT_DIPNAME( 0x18, 0x18, "Condition For 3 Kind Of Bonus" ) PORT_DIPLOCATION("SW5:4,5")
|
||||
PORT_DIPSETTING( 0x18, "12-7-1" )
|
||||
PORT_DIPSETTING( 0x10, "9-5-1" )
|
||||
PORT_DIPSETTING( 0x10, "9-5-1" )
|
||||
PORT_DIPSETTING( 0x08, "6-3-1" )
|
||||
PORT_DIPSETTING( 0x00, "3-2-1" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Display Of Doll At All Fr. Bonus" ) PORT_DIPLOCATION("SW5:6")
|
||||
|
@ -187,8 +187,8 @@ static MACHINE_DRIVER_START( equites_sound )
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(MSM5232, XTAL_6_144MHz/2)
|
||||
/* OSC is connected to a pot which varies the frequency of M5232
|
||||
from 6.144mhz to few Khz. Here I assume a value which gives a good pitch */
|
||||
/* OSC is connected to a pot which varies the frequency of M5232
|
||||
from 6.144mhz to few Khz. Here I assume a value which gives a good pitch */
|
||||
MDRV_SOUND_CONFIG(equites_5232intf)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
|
||||
|
||||
|
@ -17,8 +17,8 @@ Supported games:
|
||||
|
||||
Notes:
|
||||
|
||||
You can swap the question ROMs arbitrarily on these boards. This means
|
||||
the ROMsets in this driver aren't true sets per se, they're just how
|
||||
You can swap the question ROMs arbitrarily on these boards. This means
|
||||
the ROMsets in this driver aren't true sets per se, they're just how
|
||||
boards were found "in the wild."
|
||||
ROMs with music questions come in hi|lo pairs.
|
||||
|
||||
|
@ -702,7 +702,7 @@ static CUSTOM_INPUT( wheelrun_wheel_r )
|
||||
if (delta > 7) delta = 7;
|
||||
else if (delta < 1) delta = 1;
|
||||
|
||||
// if (player == 0) popmessage("%x",delta);
|
||||
// if (player == 0) popmessage("%x",delta);
|
||||
return delta;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ Board silkscreend 237-0211-00
|
||||
|
||||
Cartridge based mother board
|
||||
Holds up to 4 cartridges
|
||||
Chips labeled
|
||||
Chips labeled
|
||||
GALAXY U1 V1.90 12/1/98
|
||||
GALAXY U2 V1.90 12/1/98
|
||||
|
||||
@ -30,14 +30,14 @@ Motorola MC68HC000FN12
|
||||
Xilinx XC5206
|
||||
Xilinx XC5202
|
||||
BT481AKPJ110
|
||||
NKK N341024SJ-15 x8 (128kb RAM)
|
||||
NKK N341024SJ-15 x8 (128kb RAM)
|
||||
OKI M6295 8092352-2
|
||||
|
||||
PAL16V8H-15 @ U24 Blue dot on it
|
||||
PAL16V8H-15 @ U25 Yellow dot on it
|
||||
PAL16V8H-15 @ U26 Red dot on it
|
||||
PAL16V8H-15 @ U27 Green dot on it
|
||||
PAL16V8H-15 @ U45 red dot on it
|
||||
PAL16V8H-15 @ U24 Blue dot on it
|
||||
PAL16V8H-15 @ U25 Yellow dot on it
|
||||
PAL16V8H-15 @ U26 Red dot on it
|
||||
PAL16V8H-15 @ U27 Green dot on it
|
||||
PAL16V8H-15 @ U45 red dot on it
|
||||
|
||||
----
|
||||
|
||||
@ -58,16 +58,16 @@ static READ16_HANDLER( dummy_read_01 )
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
/* AM_RANGE(0x01a900, 0x01a9ff) AM_RAM Need to install memory handlers
|
||||
... in the middle of the ROM space?
|
||||
AM_RANGE(0x01f700, 0x01f7ff) AM_RAM */
|
||||
/* AM_RANGE(0x01a900, 0x01a9ff) AM_RAM Need to install memory handlers
|
||||
... in the middle of the ROM space?
|
||||
AM_RANGE(0x01f700, 0x01f7ff) AM_RAM */
|
||||
AM_RANGE(0x200000, 0x23ffff) AM_RAM /* 2x N341024SJ-15 */
|
||||
AM_RANGE(0x400000, 0x400001) AM_RAM
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ(dummy_read_01)
|
||||
AM_RANGE(0x400000, 0x400001) AM_RAM
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ(dummy_read_01)
|
||||
AM_RANGE(0x700000, 0x700001) AM_RAM /* Writes a 0x0002 here early, reads it later */
|
||||
AM_RANGE(0x900000, 0x900001) AM_NOP /* Writes 0xffff here before each test memory access. */
|
||||
AM_RANGE(0xb00000, 0xb7ffff) AM_RAM /* 4x N341024SJ-15 */
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_RAM
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -13,61 +13,61 @@
|
||||
|
||||
****************************************************************************
|
||||
|
||||
0000-0fff tvg75
|
||||
1000-1fff tvg76
|
||||
2000-2fff tvg77
|
||||
3000-3fff tvg78
|
||||
4000-4fff tvg79
|
||||
5000-5fff tvg80
|
||||
8000-bfff VIDEO RAM (four banks)
|
||||
c000-cfff tvg83/84 (banked)
|
||||
d000-dfff tvg85/86 (banked)
|
||||
e000-e3ff RAM
|
||||
0000-0fff tvg75
|
||||
1000-1fff tvg76
|
||||
2000-2fff tvg77
|
||||
3000-3fff tvg78
|
||||
4000-4fff tvg79
|
||||
5000-5fff tvg80
|
||||
8000-bfff VIDEO RAM (four banks)
|
||||
c000-cfff tvg83/84 (banked)
|
||||
d000-dfff tvg85/86 (banked)
|
||||
e000-e3ff RAM
|
||||
|
||||
|
||||
memory mapped ports:
|
||||
read:
|
||||
e400 DSW 0
|
||||
ec00 IN 0
|
||||
ed00 IN 1
|
||||
ee00 IN 2
|
||||
efxx (4 bits wide) security chip in. It seems to work like a clock.
|
||||
memory mapped ports:
|
||||
read:
|
||||
e400 DSW 0
|
||||
ec00 IN 0
|
||||
ed00 IN 1
|
||||
ee00 IN 2
|
||||
efxx (4 bits wide) security chip in. It seems to work like a clock.
|
||||
|
||||
write:
|
||||
e800-e801 low/high byte start address of data in picture ROM for DMA
|
||||
e802-e803 low/high byte start address in bitmap RAM (where picture is to be
|
||||
written) during DMA
|
||||
e804-e805 picture size for DMA, and DMA start
|
||||
e806 vertical scroll of playfield
|
||||
e807 horizontal scroll of playfield
|
||||
e808 bank select latch
|
||||
e809 A & B bitmap control latch (A=playfield B=motion)
|
||||
bit 5 FLIP A
|
||||
bit 4 FLIP B
|
||||
bit 3 EN A
|
||||
bit 2 EN B
|
||||
bit 1 PRI A
|
||||
bit 0 PRI B
|
||||
e80a color shading latch
|
||||
ec00 command to sound CPU
|
||||
ed00 coin counters
|
||||
efxx (4 bits wide) security chip out
|
||||
write:
|
||||
e800-e801 low/high byte start address of data in picture ROM for DMA
|
||||
e802-e803 low/high byte start address in bitmap RAM (where picture is to be
|
||||
written) during DMA
|
||||
e804-e805 picture size for DMA, and DMA start
|
||||
e806 vertical scroll of playfield
|
||||
e807 horizontal scroll of playfield
|
||||
e808 bank select latch
|
||||
e809 A & B bitmap control latch (A=playfield B=motion)
|
||||
bit 5 FLIP A
|
||||
bit 4 FLIP B
|
||||
bit 3 EN A
|
||||
bit 2 EN B
|
||||
bit 1 PRI A
|
||||
bit 0 PRI B
|
||||
e80a color shading latch
|
||||
ec00 command to sound CPU
|
||||
ed00 coin counters
|
||||
efxx (4 bits wide) security chip out
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
CPU #1 (sound)
|
||||
---------------------------------------------------------------------------
|
||||
CPU #1 (sound)
|
||||
|
||||
0000 0fff tvg81
|
||||
4000 43ff RAM
|
||||
6000 command from main CPU
|
||||
0000 0fff tvg81
|
||||
4000 43ff RAM
|
||||
6000 command from main CPU
|
||||
|
||||
I/O ports:
|
||||
7000 AY-3-8910 write
|
||||
8000 AY-3-8910 control
|
||||
---------------------------------------------------------------------------
|
||||
I/O ports:
|
||||
7000 AY-3-8910 write
|
||||
8000 AY-3-8910 control
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
interrupts:
|
||||
(CPU#0) standard IM 1 interrupt mode (rst #38 every vblank)
|
||||
(CPU#1) same here
|
||||
interrupts:
|
||||
(CPU#0) standard IM 1 interrupt mode (rst #38 every vblank)
|
||||
(CPU#1) same here
|
||||
|
||||
****************************************************************************
|
||||
|
||||
@ -107,14 +107,14 @@ static UINT8 kangaroo_clock;
|
||||
*************************************/
|
||||
|
||||
static MACHINE_START( kangaroo )
|
||||
{
|
||||
{
|
||||
memory_configure_bank(1, 0, 2, memory_region(REGION_GFX1), 0x2000);
|
||||
state_save_register_global(kangaroo_clock);
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_START( kangaroo_mcu )
|
||||
{
|
||||
{
|
||||
MACHINE_START_CALL(kangaroo);
|
||||
memory_install_readwrite8_handler(0, ADDRESS_SPACE_PROGRAM, 0xef00, 0xefff, 0, 0, mcu_sim_r, mcu_sim_w);
|
||||
kangaroo_clock = 0;
|
||||
@ -385,7 +385,7 @@ static MACHINE_DRIVER_START( nomcu )
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_UPDATE_SCANLINE)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
|
||||
|
||||
MDRV_SCREEN_ADD("main", 0)
|
||||
MDRV_SCREEN_RAW_PARAMS(MASTER_CLOCK, 320*2, 0*2, 256*2, 260, 8, 248)
|
||||
|
||||
|
@ -181,7 +181,7 @@ static ADDRESS_MAP_START( main_v30, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x09000, 0x09fff) AM_READWRITE(MRA16_RAM, lockon_char_w) AM_BASE(&lockon_char_ram)
|
||||
AM_RANGE(0x0a000, 0x0a001) AM_WRITE(adrst_w)
|
||||
AM_RANGE(0x0b000, 0x0bfff) AM_WRITE(lockon_rotate_w)
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(lockon_fb_clut_w)
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_WRITE(lockon_fb_clut_w)
|
||||
AM_RANGE(0x0e000, 0x0e001) AM_WRITE(inten_w)
|
||||
AM_RANGE(0x0f000, 0x0f001) AM_WRITE(emres_w)
|
||||
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(MRA16_NOP, tst_w)
|
||||
@ -289,10 +289,10 @@ static INPUT_PORTS_START( lockon )
|
||||
PORT_DIPSETTING( 0x3800, DEF_STR( 1C_6C ) )
|
||||
|
||||
/*
|
||||
Wire jumper beside the dipswitches on PCB TF011.
|
||||
To access the menu, press the service coin during
|
||||
test mode.
|
||||
*/
|
||||
Wire jumper beside the dipswitches on PCB TF011.
|
||||
To access the menu, press the service coin during
|
||||
test mode.
|
||||
*/
|
||||
PORT_DIPNAME( 0x4000, 0x4000, "Enable H/W Tests Menu" )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -342,7 +342,7 @@ static INPUT_PORTS_START( lockone )
|
||||
|
||||
PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -512,7 +512,7 @@ static MACHINE_DRIVER_START( lockon )
|
||||
MDRV_SOUND_ROUTE(2, "f2203.2l", 1.0)
|
||||
MDRV_SOUND_ROUTE(2, "f2203.2r", 1.0)
|
||||
MDRV_SOUND_ROUTE(3, "f2203.3l", 1.0)
|
||||
MDRV_SOUND_ROUTE(3, "f2203.3r", 1.0)
|
||||
MDRV_SOUND_ROUTE(3, "f2203.3r", 1.0)
|
||||
|
||||
MDRV_SOUND_ADD_TAG("f2203.1l", FILTER_VOLUME, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "left", 1.0)
|
||||
|
@ -1,43 +1,43 @@
|
||||
/***************************************************************************
|
||||
|
||||
Irem M52 hardware
|
||||
Irem M52 hardware
|
||||
|
||||
****************************************************************************
|
||||
|
||||
Moon Patrol memory map
|
||||
Moon Patrol memory map
|
||||
|
||||
driver by Nicola Salmoria
|
||||
driver by Nicola Salmoria
|
||||
|
||||
0000-3fff ROM
|
||||
8000-83ff Video RAM
|
||||
8400-87ff Color RAM
|
||||
e000-e7ff RAM
|
||||
0000-3fff ROM
|
||||
8000-83ff Video RAM
|
||||
8400-87ff Color RAM
|
||||
e000-e7ff RAM
|
||||
|
||||
|
||||
read:
|
||||
8800 protection
|
||||
d000 IN0
|
||||
d001 IN1
|
||||
d002 IN2
|
||||
d003 DSW1
|
||||
d004 DSW2
|
||||
read:
|
||||
8800 protection
|
||||
d000 IN0
|
||||
d001 IN1
|
||||
d002 IN2
|
||||
d003 DSW1
|
||||
d004 DSW2
|
||||
|
||||
write:
|
||||
c800-c8ff sprites
|
||||
d000 sound command
|
||||
d001 flip screen
|
||||
write:
|
||||
c800-c8ff sprites
|
||||
d000 sound command
|
||||
d001 flip screen
|
||||
|
||||
I/O ports
|
||||
write:
|
||||
10-1f scroll registers
|
||||
40 background #1 x position
|
||||
60 background #1 y position
|
||||
80 background #2 x position
|
||||
a0 background #2 y position
|
||||
c0 background control
|
||||
I/O ports
|
||||
write:
|
||||
10-1f scroll registers
|
||||
40 background #1 x position
|
||||
60 background #1 y position
|
||||
80 background #2 x position
|
||||
a0 background #2 y position
|
||||
c0 background control
|
||||
|
||||
NOTE: It may be possible to remove the fake port now that conditional DIPS
|
||||
are supported. What should really be filled in for each mode?
|
||||
NOTE: It may be possible to remove the fake port now that conditional DIPS
|
||||
are supported. What should really be filled in for each mode?
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -1,45 +1,45 @@
|
||||
/****************************************************************************
|
||||
|
||||
Irem M57 hardware
|
||||
Irem M57 hardware
|
||||
|
||||
*****************************************************************************
|
||||
|
||||
Tropical Angel
|
||||
Tropical Angel
|
||||
|
||||
driver by Phil Stroffolino
|
||||
driver by Phil Stroffolino
|
||||
|
||||
IREM M57 board stack with a M52-SOUND-E sound PCB.
|
||||
IREM M57 board stack with a M52-SOUND-E sound PCB.
|
||||
|
||||
M57-A-A:
|
||||
TA-A-xx roms and proms
|
||||
NEC D780C (Z80) CPU
|
||||
NANAO KNA6032601 custom chip
|
||||
NANAO KNA6032701 custom chip
|
||||
8-way dipswitch (x2)
|
||||
M58725P RAM (x3)
|
||||
CN1 - Ribbon cable connector
|
||||
CN2 - Ribbon cable connector
|
||||
Ribbon cable connector to sound PCB
|
||||
M57-A-A:
|
||||
TA-A-xx roms and proms
|
||||
NEC D780C (Z80) CPU
|
||||
NANAO KNA6032601 custom chip
|
||||
NANAO KNA6032701 custom chip
|
||||
8-way dipswitch (x2)
|
||||
M58725P RAM (x3)
|
||||
CN1 - Ribbon cable connector
|
||||
CN2 - Ribbon cable connector
|
||||
Ribbon cable connector to sound PCB
|
||||
|
||||
M57-B-A:
|
||||
TA-B-xx roms and proms
|
||||
18.432 MHz OSC
|
||||
CN1 - Ribbon cable connector
|
||||
CN2 - Ribbon cable connector
|
||||
M57-B-A:
|
||||
TA-B-xx roms and proms
|
||||
18.432 MHz OSC
|
||||
CN1 - Ribbon cable connector
|
||||
CN2 - Ribbon cable connector
|
||||
|
||||
M52:
|
||||
HD6803 CPU
|
||||
AY-3-9810 (x2) sound chips
|
||||
MSM5205 OKI sound chip (and an unpopulated socket for a second MSM5202)
|
||||
3.579545 MHz OSC
|
||||
2764 Program rom labeled "TA S-1A-"
|
||||
Ribbon cable connector to M57-A-A PCB
|
||||
M52:
|
||||
HD6803 CPU
|
||||
AY-3-9810 (x2) sound chips
|
||||
MSM5205 OKI sound chip (and an unpopulated socket for a second MSM5202)
|
||||
3.579545 MHz OSC
|
||||
2764 Program rom labeled "TA S-1A-"
|
||||
Ribbon cable connector to M57-A-A PCB
|
||||
|
||||
New Tropical Angel:
|
||||
Roms where found on an official IREM board with genuine IREM Tropical Angel
|
||||
license seal and genuine IREM serial number sticker.
|
||||
The "new" roms have hand written labels, while those that match the current
|
||||
Tropical Angel set look to be factory labeled chips.
|
||||
New Tropical Angel:
|
||||
Roms where found on an official IREM board with genuine IREM Tropical Angel
|
||||
license seal and genuine IREM serial number sticker.
|
||||
The "new" roms have hand written labels, while those that match the current
|
||||
Tropical Angel set look to be factory labeled chips.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
/****************************************************************************
|
||||
|
||||
Irem M58 hardware
|
||||
Irem M58 hardware
|
||||
|
||||
L Taylor
|
||||
J Clegg
|
||||
L Taylor
|
||||
J Clegg
|
||||
|
||||
Loosely based on the Kung Fu Master driver.
|
||||
Loosely based on the Kung Fu Master driver.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
@ -2123,7 +2123,7 @@ static ADDRESS_MAP_START( puzzlet_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
|
||||
AM_RANGE( 0x760000, 0x76ffff ) AM_READ( metro_bankedrom_r ) // Banked ROM
|
||||
|
||||
// AM_RANGE( 0x772000, 0x773fff ) AM_RAM
|
||||
// AM_RANGE( 0x772000, 0x773fff ) AM_RAM
|
||||
AM_RANGE( 0x770000, 0x773fff ) AM_READWRITE( MRA16_RAM, metro_paletteram_w ) AM_BASE( &paletteram16 ) // Palette
|
||||
|
||||
AM_RANGE( 0x775000, 0x777fff ) AM_RAM
|
||||
@ -2161,7 +2161,7 @@ static READ8_HANDLER( puzzlet_serB_r )
|
||||
|
||||
static WRITE8_HANDLER( puzzlet_portb_w )
|
||||
{
|
||||
// popmessage("PORTB %02x",data);
|
||||
// popmessage("PORTB %02x",data);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( puzzlet_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
|
@ -1,10 +1,10 @@
|
||||
/***************************************************************************
|
||||
|
||||
Pooyan
|
||||
Pooyan
|
||||
|
||||
Original driver by Allard Van Der Bas
|
||||
|
||||
This hardware is very similar to Time Pilot.
|
||||
Original driver by Allard Van Der Bas
|
||||
|
||||
This hardware is very similar to Time Pilot.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -219,7 +219,7 @@ static MACHINE_DRIVER_START( pooyan )
|
||||
MDRV_CPU_VBLANK_INT(pooyan_interrupt,1)
|
||||
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
|
||||
|
||||
MDRV_MACHINE_START(pooyan)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -14,10 +14,10 @@
|
||||
* Pioneer Balloon G-204
|
||||
* Nibbler [4 sets] G-208
|
||||
|
||||
DIP locations verified from manual for:
|
||||
* Zarzon (Satan of Saturn uses the same code, so I guess locations are the same)
|
||||
* Vanguard
|
||||
* Nibbler
|
||||
DIP locations verified from manual for:
|
||||
* Zarzon (Satan of Saturn uses the same code, so I guess locations are the same)
|
||||
* Vanguard
|
||||
* Nibbler
|
||||
|
||||
****************************************************************************
|
||||
|
||||
@ -148,7 +148,7 @@ Stephh's notes (based on the games M6502 code and some tests) :
|
||||
PORT_DIPNAME( 0x40, 0x00, "Game Cost" ) PORT_DIPLOCATION("SW1:!7")
|
||||
PORT_DIPSETTING( 0x00, "25c / game" )
|
||||
PORT_DIPSETTING( 0x40, "50c / game" )
|
||||
or using conditional Dip Switches, I've coded this the way I did.
|
||||
or using conditional Dip Switches, I've coded this the way I did.
|
||||
- You can always continue, provided you're on the 1st pattern.
|
||||
The continue text is in English !
|
||||
- 10 letters when you enter your initials
|
||||
@ -510,9 +510,9 @@ static INPUT_PORTS_START( rockola_generic_joy8way )
|
||||
PORT_DIPSETTING ( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING ( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPSETTING ( 0x0c, DEF_STR( 1C_6C ) )
|
||||
/* PORT_DIPSETTING ( 0x06, DEF_STR( 1C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x0a, DEF_STR( 1C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x0e, DEF_STR( 1C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x06, DEF_STR( 1C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x0a, DEF_STR( 1C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x0e, DEF_STR( 1C_1C ) ) */
|
||||
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!5,!6")
|
||||
PORT_DIPSETTING( 0x00, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
@ -554,7 +554,7 @@ static INPUT_PORTS_START( satansat )
|
||||
PORT_DIPSETTING ( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING ( 0x00, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING ( 0x02, DEF_STR( 1C_2C ) )
|
||||
/* PORT_DIPSETTING ( 0x0a, DEF_STR( 2C_1C ) ) */
|
||||
/* PORT_DIPSETTING ( 0x0a, DEF_STR( 2C_1C ) ) */
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3")
|
||||
PORT_DIPSETTING ( 0x04, "5000" )
|
||||
PORT_DIPSETTING ( 0x00, "10000" )
|
||||
@ -639,7 +639,7 @@ static INPUT_PORTS_START( nibbler )
|
||||
PORT_INCLUDE(rockola_generic_joy8way)
|
||||
|
||||
/* There are no buttons on a real "Nibbler" cabinet, but I guess that the game was tested
|
||||
with a "Vanguard" cabinet so they have been mapped with debug features. */
|
||||
with a "Vanguard" cabinet so they have been mapped with debug features. */
|
||||
#if NIBBLER_HACK
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Debug 0") PORT_CODE(KEYCODE_Z) // slow down
|
||||
|
@ -7,17 +7,17 @@
|
||||
Known bugs:
|
||||
* none at this time
|
||||
|
||||
DIP locations verified from manual for:
|
||||
* aceattaa
|
||||
* aliensyn
|
||||
* aliensy1
|
||||
* pshot16a
|
||||
* quartet
|
||||
* quart2
|
||||
* shinobi
|
||||
* tetris
|
||||
* timescan
|
||||
* wb3
|
||||
DIP locations verified from manual for:
|
||||
* aceattaa
|
||||
* aliensyn
|
||||
* aliensy1
|
||||
* pshot16a
|
||||
* quartet
|
||||
* quart2
|
||||
* shinobi
|
||||
* tetris
|
||||
* timescan
|
||||
* wb3
|
||||
|
||||
***************************************************************************
|
||||
|
||||
@ -1624,8 +1624,8 @@ static INPUT_PORTS_START( tetris )
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
/* SW2:1,3,4,7,8 Unused according to manual.
|
||||
From the code SW2:3,4 looks like some kind of difficulty level,
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
From the code SW2:3,4 looks like some kind of difficulty level,
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
@ -6,28 +6,28 @@
|
||||
|
||||
Known bugs:
|
||||
* none at this time
|
||||
|
||||
DIP locations verified from manual for:
|
||||
* aceattac
|
||||
* aliensyn
|
||||
* altbeast
|
||||
* atomicp
|
||||
* aurail
|
||||
* bayroute
|
||||
* cotton
|
||||
* ddux
|
||||
* eswat
|
||||
* fpoint
|
||||
* goldnaxe
|
||||
* mvp
|
||||
* passsht
|
||||
* shinobi
|
||||
* sonicbom
|
||||
* tetris
|
||||
* timescan
|
||||
* toryumon
|
||||
* wb3
|
||||
* wrestwar
|
||||
|
||||
DIP locations verified from manual for:
|
||||
* aceattac
|
||||
* aliensyn
|
||||
* altbeast
|
||||
* atomicp
|
||||
* aurail
|
||||
* bayroute
|
||||
* cotton
|
||||
* ddux
|
||||
* eswat
|
||||
* fpoint
|
||||
* goldnaxe
|
||||
* mvp
|
||||
* passsht
|
||||
* shinobi
|
||||
* sonicbom
|
||||
* tetris
|
||||
* timescan
|
||||
* toryumon
|
||||
* wb3
|
||||
* wrestwar
|
||||
|
||||
****************************************************************************
|
||||
|
||||
@ -2152,8 +2152,8 @@ static INPUT_PORTS_START( bullet )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY PORT_PLAYER(2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||
/*
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPUNUSED( 0x01, 0x01 ) // 2p vs. 3p
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPUNUSED( 0x01, 0x01 ) // 2p vs. 3p
|
||||
*/
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -2417,16 +2417,16 @@ static INPUT_PORTS_START( goldnaxe )
|
||||
PORT_DIPSETTING( 0x2c, DEF_STR( Harder ) )
|
||||
PORT_DIPSETTING( 0x28, DEF_STR( Hardest ) )
|
||||
/*
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x08, "1" )
|
||||
PORT_DIPSETTING( 0x0c, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Energy Meter" ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x20, "2" )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x08, "1" )
|
||||
PORT_DIPSETTING( 0x0c, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Energy Meter" ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x20, "2" )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
*/
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -2856,8 +2856,8 @@ static INPUT_PORTS_START( tetris )
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
/* SW2:1,3,4,7,8 Unused according to manual.
|
||||
From the code SW2:3,4 looks like some kind of difficulty level,
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
From the code SW2:3,4 looks like some kind of difficulty level,
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
@ -4637,7 +4637,7 @@ static INPUT_PORTS_START( msgunda1 )
|
||||
PORT_MODIFY("IN2") // IN2 - Coins - $400004.w
|
||||
/* this set seems to be a japan set, english mode doesn't work correctly */
|
||||
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Language ) )
|
||||
// PORT_DIPSETTING( 0x0080, DEF_STR( English ) )
|
||||
// PORT_DIPSETTING( 0x0080, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Japanese ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -5962,7 +5962,7 @@ static INPUT_PORTS_START( zingzip )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/*************************************
|
||||
Pairs Love
|
||||
Pairs Love
|
||||
*************************************/
|
||||
|
||||
static INPUT_PORTS_START( pairlove )
|
||||
|
@ -10,7 +10,7 @@ to run on IDENTICAL hardware (they were sold by Bally-Midway as ROM swaps).
|
||||
|
||||
DIP locations verified from manual for:
|
||||
- wboy
|
||||
- chplft
|
||||
- chplft
|
||||
|
||||
TODO: - background is misplaced in wbmlju
|
||||
- sprites stick in Pitfall II
|
||||
@ -428,7 +428,7 @@ ADDRESS_MAP_END
|
||||
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 4/2 5/3 6/4" ) \
|
||||
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" ) \
|
||||
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) \
|
||||
/* PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) Not allowed by mame coinage sorting, but valid */ \
|
||||
/* PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) Not allowed by mame coinage sorting, but valid */ \
|
||||
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" ) \
|
||||
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" ) \
|
||||
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" ) \
|
||||
@ -445,7 +445,7 @@ ADDRESS_MAP_END
|
||||
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 4/2 5/3 6/4" ) \
|
||||
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" ) \
|
||||
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) \
|
||||
/* PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) Not allowed by mame coinage sorting, but valid */ \
|
||||
/* PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) Not allowed by mame coinage sorting, but valid */ \
|
||||
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" ) \
|
||||
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" ) \
|
||||
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" ) \
|
||||
|
@ -47,7 +47,7 @@ DIP locations verified from manual for:
|
||||
- shinobi
|
||||
- tetris
|
||||
- wb3
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
@ -1325,16 +1325,16 @@ static INPUT_PORTS_START( goldnaxe )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
|
||||
|
||||
/* PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x08, "1" )
|
||||
PORT_DIPSETTING( 0x0c, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Energy Meter" ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x20, "2" )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
/* PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x08, "1" )
|
||||
PORT_DIPSETTING( 0x0c, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Energy Meter" ) PORT_DIPLOCATION("SW2:5,6")
|
||||
PORT_DIPSETTING( 0x20, "2" )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x10, "4" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
*/
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -1879,7 +1879,7 @@ static INPUT_PORTS_START( tetris )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
/* From the code SW2:3,4 looks like some kind of difficulty level,
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
but all 4 levels points to the same place so it doesn't actually change anything!! */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) /* Listed as "Unused" */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Listed as "Unused" */
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
|
||||
|
@ -1290,9 +1290,9 @@ ROM_END
|
||||
|
||||
Main board marked in copper and silk screen:
|
||||
|
||||
JALECO VJ-98344
|
||||
98053 EB-00-20120-0
|
||||
MADE IN JAPAN
|
||||
JALECO VJ-98344
|
||||
98053 EB-00-20120-0
|
||||
MADE IN JAPAN
|
||||
|
||||
CPU: TMP68HC000P-12
|
||||
Sound: YMZ280B-F / YAC516-M (on sound rom board)
|
||||
@ -1463,9 +1463,9 @@ ROM_START( rockn2 )
|
||||
ROM_LOAD( "sound19", 0x5800000, 0x0400000, CRC(33c89e53) SHA1(7d216f5db6b30c9b05a9a77030498ff68ae6fbad) ) // bank 6
|
||||
ROM_LOAD( "sound20", 0x5c00000, 0x0400000, CRC(89c1b088) SHA1(9b4118815959a5fb65b2a293015f592a46f4126f) ) // bank 6
|
||||
ROM_LOAD( "sound21", 0x6000000, 0x0400000, CRC(13db74bd) SHA1(ab87438bbac97d46b1b8195b61dca1d72172a621) ) // bank 6
|
||||
// ROM_LOAD( "sound22", 0x6400000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC24)
|
||||
// ROM_LOAD( "sound23", 0x6800000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC25)
|
||||
// ROM_LOAD( "sound24", 0x6c00000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC26)
|
||||
// ROM_LOAD( "sound22", 0x6400000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC24)
|
||||
// ROM_LOAD( "sound23", 0x6800000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC25)
|
||||
// ROM_LOAD( "sound24", 0x6c00000, 0x0400000 ) // bank 7 ( ** unpopulated ** - IC26)
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
@ -1474,10 +1474,10 @@ Jaleco Rock'n 3
|
||||
|
||||
Labeled on the chips like:
|
||||
|
||||
Rock'n 3
|
||||
VJ-98344
|
||||
10
|
||||
Ver 1.0
|
||||
Rock'n 3
|
||||
VJ-98344
|
||||
10
|
||||
Ver 1.0
|
||||
|
||||
|
||||
ROM ID Label Rom type
|
||||
@ -1540,10 +1540,10 @@ ROM_START( rockn3 )
|
||||
ROM_LOAD( "mr99029-19.ic20", 0x5400000, 0x0400000, CRC(dbb2c228) SHA1(f7cd24026236e2c616376c695b9e986cc221f36d) ) // bank 5 (alt PCB number 18)
|
||||
ROM_LOAD( "mr99029-20.ic21", 0x5800000, 0x0400000, CRC(9efdae1c) SHA1(6158a1804fbaa9ce27ae7e12cfda5f49084b4998) ) // bank 6 (alt PCB number 19)
|
||||
ROM_LOAD( "mr99029-21.ic22", 0x5c00000, 0x0400000, CRC(5f301b83) SHA1(e24e85c43a62871360545aa42dfa439045334b79) ) // bank 6 (alt PCB number 20)
|
||||
// ROM_LOAD( "ic23", 0x6000000, 0x0400000 ) // bank 6 ( ** unpopulated ** - alt PCB number 21)
|
||||
// ROM_LOAD( "ic24", 0x6400000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 22)
|
||||
// ROM_LOAD( "ic25", 0x6800000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 23)
|
||||
// ROM_LOAD( "ic26", 0x6c00000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 24)
|
||||
// ROM_LOAD( "ic23", 0x6000000, 0x0400000 ) // bank 6 ( ** unpopulated ** - alt PCB number 21)
|
||||
// ROM_LOAD( "ic24", 0x6400000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 22)
|
||||
// ROM_LOAD( "ic25", 0x6800000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 23)
|
||||
// ROM_LOAD( "ic26", 0x6c00000, 0x0400000 ) // bank 7 ( ** unpopulated ** - alt PCB number 24)
|
||||
ROM_END
|
||||
|
||||
ROM_START( rockn4 ) /* Prototype */
|
||||
|
@ -1,46 +1,46 @@
|
||||
/***************************************************************************
|
||||
|
||||
Time Pilot
|
||||
Time Pilot
|
||||
|
||||
driver by Nicola Salmoria
|
||||
driver by Nicola Salmoria
|
||||
|
||||
****************************************************************************
|
||||
|
||||
memory map (preliminary)
|
||||
memory map (preliminary)
|
||||
|
||||
Main processor memory map.
|
||||
0000-5fff ROM
|
||||
a000-a3ff Color RAM
|
||||
a400-a7ff Video RAM
|
||||
a800-afff RAM
|
||||
b000-b7ff sprite RAM (only areas 0xb010 and 0xb410 are used).
|
||||
Main processor memory map.
|
||||
0000-5fff ROM
|
||||
a000-a3ff Color RAM
|
||||
a400-a7ff Video RAM
|
||||
a800-afff RAM
|
||||
b000-b7ff sprite RAM (only areas 0xb010 and 0xb410 are used).
|
||||
|
||||
memory mapped ports:
|
||||
memory mapped ports:
|
||||
|
||||
read:
|
||||
c000 video scan line. This is used by the program to multiplex the cloud
|
||||
sprites, drawing them twice offset by 128 pixels.
|
||||
c200 DSW2
|
||||
c300 IN0
|
||||
c320 IN1
|
||||
c340 IN2
|
||||
c360 DSW1
|
||||
read:
|
||||
c000 video scan line. This is used by the program to multiplex the cloud
|
||||
sprites, drawing them twice offset by 128 pixels.
|
||||
c200 DSW2
|
||||
c300 IN0
|
||||
c320 IN1
|
||||
c340 IN2
|
||||
c360 DSW1
|
||||
|
||||
write:
|
||||
c000 command for the audio CPU
|
||||
c200 watchdog reset
|
||||
c300 interrupt enable
|
||||
c302 flip screen
|
||||
c304 trigger interrupt on audio CPU
|
||||
c308 Protection ??? Stuffs in some values computed from ROM content
|
||||
c30a coin counter 1
|
||||
c30c coin counter 2
|
||||
write:
|
||||
c000 command for the audio CPU
|
||||
c200 watchdog reset
|
||||
c300 interrupt enable
|
||||
c302 flip screen
|
||||
c304 trigger interrupt on audio CPU
|
||||
c308 Protection ??? Stuffs in some values computed from ROM content
|
||||
c30a coin counter 1
|
||||
c30c coin counter 2
|
||||
|
||||
interrupts:
|
||||
standard NMI at 0x66
|
||||
interrupts:
|
||||
standard NMI at 0x66
|
||||
|
||||
SOUND BOARD:
|
||||
same as Pooyan
|
||||
SOUND BOARD:
|
||||
same as Pooyan
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -142,7 +142,7 @@ static INPUT_PORTS_START( timeplt )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
|
||||
PORT_START_TAG("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||
@ -150,7 +150,7 @@ static INPUT_PORTS_START( timeplt )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
|
||||
PORT_START_TAG("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
@ -326,7 +326,7 @@ static MACHINE_DRIVER_START( timeplt )
|
||||
MDRV_CPU_VBLANK_INT(timeplt_interrupt,1)
|
||||
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
|
||||
|
||||
MDRV_MACHINE_START(timeplt)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -1,14 +1,14 @@
|
||||
/***************************************************************************
|
||||
|
||||
Tutankham
|
||||
Tutankham
|
||||
|
||||
driver by Mirko Buffoni
|
||||
based on original work by Rob Jarrett
|
||||
driver by Mirko Buffoni
|
||||
based on original work by Rob Jarrett
|
||||
|
||||
I include here the document based on Rob Jarrett's research because it's
|
||||
really exaustive.
|
||||
I include here the document based on Rob Jarrett's research because it's
|
||||
really exaustive.
|
||||
|
||||
Sound board: uses the same board as Pooyan.
|
||||
Sound board: uses the same board as Pooyan.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -10,9 +10,9 @@
|
||||
* Ixion
|
||||
* Congo Bongo
|
||||
|
||||
DIP locations verified from manual for:
|
||||
* Zaxxon
|
||||
* Congo Bongo
|
||||
DIP locations verified from manual for:
|
||||
* Zaxxon
|
||||
* Congo Bongo
|
||||
|
||||
Known bugs:
|
||||
* discrete sound emulation
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*************************************************************************
|
||||
|
||||
Irem M52 hardware
|
||||
Irem M52 hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*************************************************************************
|
||||
|
||||
Irem M57 hardware
|
||||
Irem M57 hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*************************************************************************
|
||||
|
||||
Irem M58 hardware
|
||||
Irem M58 hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*************************************************************************
|
||||
|
||||
Irem M62 hardware
|
||||
Irem M62 hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/***************************************************************************
|
||||
|
||||
Pooyan
|
||||
|
||||
Pooyan
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/*----------- defined in video/pooyan.c -----------*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
/***************************************************************************
|
||||
|
||||
Time Pilot
|
||||
|
||||
Time Pilot
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/*----------- defined in video/timeplt.c -----------*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
/***************************************************************************
|
||||
|
||||
Tutankham
|
||||
|
||||
Tutankham
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/*----------- defined in video/tutankhm.c -----------*/
|
||||
|
@ -300,37 +300,37 @@ const UINT8 inthunt_decryption_table[256] = {
|
||||
|
||||
const UINT8 gussun_decryption_table[256] = {
|
||||
0xcd,xxxx,xxxx,0x36,xxxx,0x52,0xb1,0x5b, 0x68,0xcd,xxxx,xxxx,xxxx,0xa8,xxxx,xxxx, /* 00 */
|
||||
// 0x63 gggg gggg gggg
|
||||
// 0x63 gggg gggg gggg
|
||||
xxxx,xxxx,0x75,0x24,0x08,0x83,0x32,0xe9, xxxx,0x7d,xxxx,0x8f,0x22,xxxx,0xac,xxxx, /* 10 */
|
||||
// ???? pppp gggg
|
||||
// ???? pppp gggg
|
||||
0x5d,0xa5,0x11,0x51,0x0a,0x29,0x01,xxxx ,0xf8,0x98,0x91,0x40,0x28,0x00,0x03,0x5f, /* 20 */
|
||||
// gggg pppp ???? gggg gggg gggg gggg pppp
|
||||
// gggg pppp ???? gggg gggg gggg gggg pppp
|
||||
0x26,xxxx,xxxx,0x8b,0x2f,0x02,xxxx,xxxx, 0x8e,0xab,xxxx,xxxx,0xbc,0xf1,0xb3,xxxx, /* 30 */
|
||||
// gggg 0x90
|
||||
// gggg 0x90
|
||||
xxxx,0x19,0xc6,xxxx,xxxx,0x3a,0x01,xxxx, xxxx,0x74,0x61,xxxx,0x33,xxxx,0x01,xxxx, /* 40 */
|
||||
// ???? ???? ????
|
||||
// ???? ???? ????
|
||||
xxxx,0x53,0xa0,0xc0,0xc3,0x41,0xfc,0xe7, xxxx,0x2c,0x7e,0x2b,xxxx,xxxx,0xba,0x2a, /* 50 */
|
||||
// gggg ???? gggg pppp gggg
|
||||
// gggg ???? gggg pppp gggg
|
||||
0xb0,xxxx,0x28,0x79,xxxx,xxxx,0xb5,0x07, 0xb9,xxxx,0x27,0x46,0xf9,xxxx,xxxx,xxxx, /* 60 */
|
||||
// ???? pppp gggg gggg
|
||||
// ???? pppp gggg gggg
|
||||
xxxx,0xea,0x72,0x73,0xad,0xd1,0x3b,0x5e, 0xe5,0x57,xxxx,0x0d,xxxx,xxxx,xxxx,0x3c, /* 70 */
|
||||
// gggg ????
|
||||
// gggg ????
|
||||
xxxx,0x86,0x76,0x7f,0x08,0x25,0x2d,xxxx, 0x9a,0xeb,0x04,0x0b,0xa2,0xb8,0xf6,xxxx, /* 80 */
|
||||
// ???? pppp ???? ???? gggg
|
||||
// ???? pppp ???? ???? gggg
|
||||
xxxx,xxxx,0x9d,xxxx,0xbb,xxxx,xxxx,0xcb, 0xa9,0xcf,xxxx,0x60,0x43,0x56,xxxx,0x19, /* 90 */
|
||||
// ???? gggg ????
|
||||
// ???? gggg ????
|
||||
xxxx,0xa3,xxxx,xxxx,xxxx,xxxx,0xfa,0xb4, xxxx,0x81,0xe6,0x48,0x80,0x8c,0xd4,xxxx, /* a0 */
|
||||
// gggg ???? gggg gggg
|
||||
// gggg ???? gggg gggg
|
||||
xxxx,0x19,0x00,0x19,0x77,0x3d,0x3e,xxxx, xxxx,0xb6,0x4b,xxxx,xxxx,xxxx,xxxx,xxxx, /* b0 */
|
||||
// ???? ???? ???? gggg ???? ???? pppp
|
||||
// ???? ???? ???? gggg ???? ???? pppp
|
||||
xxxx,0xff,0x47,xxxx,0x55,0x1e,xxxx,0x59, 0x93,xxxx,xxxx,xxxx,0x88,0xc1,0x01,0xb2, /* c0 */
|
||||
// ???? pppp
|
||||
// ???? pppp
|
||||
xxxx,0x2e,0x06,0xc7,0x05,xxxx,0x8a,0x5a, 0x58,0xbe,xxxx,0x4a,xxxx,0x1f,0x23,xxxx, /* d0 */
|
||||
// ????
|
||||
// ????
|
||||
0xe8,xxxx,0x89,0xa1,0xd0,xxxx,0x11,0xe2, 0x38,0xfe,0x50,0x9c,xxxx,xxxx,xxxx,0x49, /* e0 */
|
||||
// ???? ???? gggg
|
||||
// ???? ???? gggg
|
||||
0xfb,xxxx,0xf3,xxxx,xxxx,0x0f,xxxx,xxxx, xxxx,0x7d,0xf7,0xbd,0x39,0x71,0xbf,xxxx, /* f0 */
|
||||
// pppp gggg pppp
|
||||
// pppp gggg pppp
|
||||
};
|
||||
|
||||
/*
|
||||
@ -352,20 +352,20 @@ j19 -> 79 (1df45 routine from 1df27 / 2282f - routine from 2281f to 22871) no 70
|
||||
j5a -> 7e (195eb - (222fc - routine from 222ed to ) (7x j...) no 70,71(ok),77,79,7a,7b,7d,7f ok 76,78,7c,7e
|
||||
.62 -> 28 (1cf86 1cfa3 - routine from 1cf61 to 1cff4) (water in level 1) (01 11 19 29)
|
||||
j63 -> 78 (1df7f, 1df8c, 1df95, 21f08 - routine from 1df27 to ) no 71(ok),77(ok),7f(ok) ok 70,76,78,79 7a,7b,7c,7d,7e
|
||||
j82 -> 76 (76,78,7c,7e) ->
|
||||
j82 -> 76 (76,78,7c,7e) ->
|
||||
.84 -> 18 (1d8f1 - routine from 1d8c7 to 1d8fc) - three bytes (00,08,18,28,30) (sprite animation)
|
||||
.9f -> 19 (
|
||||
ab -> 42
|
||||
.b1 -> 19
|
||||
.b2 -> 20 (20a8b - 20acc probably 20 - after the start and before the menu - to handle the player number
|
||||
.b3 -> 19 (216b6 - 216cf
|
||||
b9 -> b5 (21210 - ) 2 bytes -
|
||||
b9 -> b5 (21210 - ) 2 bytes -
|
||||
db -> (16992
|
||||
jf9 -> 7c (16d02(f 16cfa)-16598-165a1-18de7(f 18dc4) no 71,77(ok),(icons? 70,76,78,7a,7c,7e),7f maybe 79,7b,7d
|
||||
|
||||
rz probably:
|
||||
2d -> 00 (1df1d - routine from 1dee8 to 1df26) -> 00 - to handle sprite animation
|
||||
83 -> 7f (194cd - routine from) no 70,71,76,78,79,7a,7c,7d,7e ok 77(no),7b(white rocks) ok 7f
|
||||
83 -> 7f (194cd - routine from) no 70,71,76,78,79,7a,7c,7d,7e ok 77(no),7b(white rocks) ok 7f
|
||||
b4 -> 77 (1d03a, 1d57a - routine from 1d4df ) no 70,71,76,78,79,7a,7b,7c,7d,7e,7f ok 77
|
||||
ba -> 4b (1094d, 10b28 - routine from 10948 to 10b73) one byte -> probably 4b
|
||||
c2 -> 47 (22881, 220ff - routine from 22872 to 22885) (4f?)
|
||||
@ -382,7 +382,7 @@ rz guess:
|
||||
28 -> f8 (
|
||||
29 -> 98 (1df22 - routine from 1dee8 to 1df26) -> 98 - to handle sprite animation
|
||||
2b -> 40 (1d4d2 1db81 1dba9 - routine from 1d4b2 to 1d4de) -> 40
|
||||
2c -> 28 (20333 - routine from 2032a to 20366)
|
||||
2c -> 28 (20333 - routine from 2032a to 20366)
|
||||
34 -> 2f (20381 - routine from 2037b to 20391) - used to handle number of lives and game over
|
||||
52 -> a0
|
||||
59 -> 2c (220cf - 2037f - routine from 2202f to ) 2bytes (2c,
|
||||
|
@ -48,8 +48,8 @@
|
||||
0 Y offset (low bits)
|
||||
|
||||
1 7--- ---- Flip X (xor with that in spriteram)
|
||||
-6-- ---- Flip Y ""
|
||||
--54 321- Code offset
|
||||
-6-- ---- Flip Y ""
|
||||
--54 321- Code offset
|
||||
---- ---0 Y offset (high bit)
|
||||
|
||||
2 X offset (low bits)
|
||||
|
@ -148,7 +148,7 @@ WRITE8_HANDLER( jedi_video_off_w )
|
||||
WRITE8_HANDLER( jedi_PIXIRAM_w )
|
||||
{
|
||||
/* this should really be 0x07, but the PROMs were
|
||||
dumped at half size */
|
||||
dumped at half size */
|
||||
smoothing_table = data & 0x03;
|
||||
}
|
||||
|
||||
|
@ -39,13 +39,13 @@ VIDEO_START( kangaroo )
|
||||
WRITE8_HANDLER( kangaroo_video_control_w )
|
||||
{
|
||||
kangaroo_video_control[offset] = data;
|
||||
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 5: /* blitter start */
|
||||
blitter_execute();
|
||||
break;
|
||||
|
||||
|
||||
case 8: /* bank select */
|
||||
memory_set_bank(1, (data & 0x05) ? 0 : 1);
|
||||
break;
|
||||
@ -117,7 +117,7 @@ WRITE8_HANDLER( kangaroo_videoram_w )
|
||||
sx = (offset / 256) * 4;
|
||||
sy = offset % 256;
|
||||
offs = sy * 256 + sx;
|
||||
|
||||
|
||||
/* rearrange the bits to a more convenient pattern (from DCBADCBA to DDCCBBAA) */
|
||||
data = BITSWAP8(data, 7,3,6,2,5,1,4,0);
|
||||
|
||||
@ -180,16 +180,16 @@ VIDEO_UPDATE( kangaroo )
|
||||
UINT8 prib = (~kangaroo_video_control[9] & 0x01);
|
||||
rgb_t pens[8];
|
||||
int x, y;
|
||||
|
||||
|
||||
/* build up the pens arrays */
|
||||
for (x = 0; x < 8; x++)
|
||||
pens[x] = MAKE_RGB(pal1bit(x >> 2), pal1bit(x >> 1), pal1bit(x >> 0));
|
||||
|
||||
/* iterate over pixels */
|
||||
/* iterate over pixels */
|
||||
for (y = cliprect->min_y; y <= cliprect->max_y; y++)
|
||||
{
|
||||
UINT32 *dest = BITMAP_ADDR32(bitmap, y, 0);
|
||||
|
||||
|
||||
for (x = cliprect->min_x; x <= cliprect->max_x; x += 2)
|
||||
{
|
||||
UINT8 effxa = scrollx + ((x / 2) ^ xora);
|
||||
@ -199,7 +199,7 @@ VIDEO_UPDATE( kangaroo )
|
||||
UINT8 pixa = videoram[effya * 256 + effxa] & 0x0f;
|
||||
UINT8 pixb = videoram[effyb * 256 + effxb] >> 4;
|
||||
UINT8 finalpens;
|
||||
|
||||
|
||||
finalpens = 0;
|
||||
if (enaa && (pria || pixb == 0))
|
||||
finalpens |= pixa;
|
||||
@ -225,6 +225,6 @@ VIDEO_UPDATE( kangaroo )
|
||||
dest[x + 1] = pens[finalpens & 7];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -269,7 +269,7 @@ static void scene_draw(void)
|
||||
UINT32 tileidx;
|
||||
UINT16 addr = ((y_offs & ~7) << 3) + ((x_offs >> 3) & 0x3f);
|
||||
UINT16 ram_val = lockon_scene_ram[addr & ram_mask];
|
||||
|
||||
|
||||
colour = (clut[ram_val & 0x7fff] & 0x3f) << 3;
|
||||
tileidx = ((ram_val & 0x0fff) << 3) + y_gran;
|
||||
|
||||
@ -353,7 +353,7 @@ static void ground_draw(void)
|
||||
/* ROM pointers */
|
||||
const UINT8 *const gfx_rom = memory_region(REGION_GFX4);
|
||||
const UINT8 *const lut_rom = gfx_rom + 0x30000 + ((ground_ctrl >> 2) & 0x3 ? 0x10000 : 0);
|
||||
const UINT8 *const clut_rom = gfx_rom + 0x50000;
|
||||
const UINT8 *const clut_rom = gfx_rom + 0x50000;
|
||||
|
||||
UINT32 lut_a15_14 = (ground_ctrl & 0x3) << 14;
|
||||
UINT32 clut_a14_12 = (ground_ctrl & 0x70) << 8;
|
||||
@ -523,7 +523,7 @@ static void objects_draw(void)
|
||||
ypos -=1;
|
||||
|
||||
for (y = 0; y < FRAMEBUFFER_MAX_Y; y++)
|
||||
{
|
||||
{
|
||||
UINT32 cy = (y + ypos) & 0x3ff;
|
||||
UINT32 optab;
|
||||
UINT32 lutaddr;
|
||||
@ -532,7 +532,7 @@ static void objects_draw(void)
|
||||
UINT32 yidx;
|
||||
UINT16 *line = BITMAP_ADDR16(back_buffer, y, 0);
|
||||
UINT32 px = xpos;
|
||||
|
||||
|
||||
/* Outside the limits? */
|
||||
if (cy & 0x300)
|
||||
continue;
|
||||
@ -557,7 +557,7 @@ static void objects_draw(void)
|
||||
cnt ^= (0xf >> (3 - ysize)) * (1 << xsize);
|
||||
|
||||
cnt = (cnt + (opsta & 0xff));
|
||||
|
||||
|
||||
/* Draw! */
|
||||
for (tile = 0; tile < (1 << xsize); ++tile)
|
||||
{
|
||||
@ -573,7 +573,7 @@ static void objects_draw(void)
|
||||
tileaddr = (chklut[opsta15_8 + cnt] & 0x7fff);
|
||||
bank = ((tileaddr >> 12) & 3) * 0x40000;
|
||||
tileaddr = bank + ((tileaddr & ~0xf000) << 3);
|
||||
|
||||
|
||||
if (xflip)
|
||||
--cnt;
|
||||
else
|
||||
@ -648,7 +648,7 @@ static void objects_draw(void)
|
||||
|
||||
/* The mechanism used by the object CPU to update the object ASICs palette RAM */
|
||||
WRITE16_HANDLER( lockon_tza112_w )
|
||||
{
|
||||
{
|
||||
if (iden)
|
||||
{
|
||||
obj_pal_latch = data & 0xff;
|
||||
@ -740,7 +740,7 @@ static void rotate_draw(mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
|
||||
/* Accumulator values and deltas */
|
||||
UINT8 axy = x0ll & 0xff;
|
||||
UINT8 daxy = dx0ll & 0xff;
|
||||
UINT8 daxy = dx0ll & 0xff;
|
||||
UINT8 ayy = y0ll & 0xff;
|
||||
UINT8 dayy = dy0ll & 0xff;
|
||||
UINT8 dayx = dyll & 0xff;
|
||||
@ -755,7 +755,7 @@ static void rotate_draw(mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
|
||||
for (y = 0; y <= cliprect->max_y; ++y)
|
||||
{
|
||||
UINT32 carry;
|
||||
UINT32 carry;
|
||||
UINT16 *dst = BITMAP_ADDR16(bitmap, y, 0);
|
||||
UINT32 x;
|
||||
|
||||
@ -878,7 +878,7 @@ static void hud_draw(mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
UINT32 xt;
|
||||
UINT32 cy;
|
||||
|
||||
|
||||
cy = y_pos + y;
|
||||
|
||||
if (cy < 0x200)
|
||||
@ -985,5 +985,5 @@ VIDEO_EOF( lockon )
|
||||
scene_draw();
|
||||
ground_draw();
|
||||
objects_draw();
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
Irem M52 hardware
|
||||
Irem M52 hardware
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -407,7 +407,7 @@ VIDEO_UPDATE( m52 )
|
||||
|
||||
drawgfx(bitmap, machine->gfx[1],
|
||||
code, color, flipx, flipy, sx, sy,
|
||||
&clip, TRANSPARENCY_PENS,
|
||||
&clip, TRANSPARENCY_PENS,
|
||||
colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, 512+32));
|
||||
}
|
||||
return 0;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
|
||||
Irem M57 hardware
|
||||
Irem M57 hardware
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
@ -149,7 +149,7 @@ WRITE8_HANDLER( m57_flipscreen_w )
|
||||
static void draw_background(running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
int y;
|
||||
|
||||
|
||||
for (y = 0; y < 256; y++)
|
||||
tilemap_set_scrollx(bg_tilemap, y, (y < 64) ? 0 : (y < 128) ? m57_scroll[64] : m57_scroll[y]);
|
||||
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
Irem M58 hardware
|
||||
Irem M58 hardware
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -56,31 +56,31 @@ static INT32 spelunkr_palbank;
|
||||
The schematics also exhibit one pulldown for the sprite color guns.
|
||||
Since only either the sprite or tile gun is active, i.e. the other is
|
||||
in tri-state, this pulldown resistor also applies to the tile color guns.
|
||||
|
||||
|
||||
Which of the sprite/tilemap color guns is in tri-state mode is determined
|
||||
by a pal. There is no good dump of this pal. If both sprite and tilemap
|
||||
should be active (i.e. not in tristate) at a time, this would due to the
|
||||
by a pal. There is no good dump of this pal. If both sprite and tilemap
|
||||
should be active (i.e. not in tristate) at a time, this would due to the
|
||||
pulldown resistor have slightly darker colors as a consequence.
|
||||
|
||||
This can explain the spelunkr bug m62_0116u4gre.
|
||||
|
||||
|
||||
This can explain the spelunkr bug m62_0116u4gre.
|
||||
|
||||
The kidnike bug kidniki0104u3gre even looks worse and may imho only explained
|
||||
by subpixel effects, i.e. delays when switching the proms into tristate.
|
||||
|
||||
by subpixel effects, i.e. delays when switching the proms into tristate.
|
||||
|
||||
Since there are no dumps of the "priority" pal, the above is
|
||||
speculation.
|
||||
|
||||
speculation.
|
||||
|
||||
Priority PAL
|
||||
|
||||
|
||||
The PAL is at location 4F on the "T" board. The PAL's input are 3 bits
|
||||
from tilemap 0, 3 bits from tilemap 1 and A11-A14:
|
||||
|
||||
CB0A => 7 20 GND
|
||||
CB0A => 7 20 GND
|
||||
CB1A => 8? 14 ==> PROM CS
|
||||
CB2A => 9 P 19 ==> Tilemap select 0/1 / to connector
|
||||
C14A => 12 A 11 <== Sprite priority out / to connector
|
||||
C13A => 4 L 18? ==> Sprite priority in / to connector
|
||||
C12A => 5 10 GND
|
||||
C14A => 12 A 11 <== Sprite priority out / to connector
|
||||
C13A => 4 L 18? ==> Sprite priority in / to connector
|
||||
C12A => 5 10 GND
|
||||
C11A => 6
|
||||
CB0D => 1
|
||||
CB1D => 2
|
||||
|
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
Pooyan
|
||||
Pooyan
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -144,12 +144,12 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re
|
||||
{
|
||||
int sx = spriteram[offs];
|
||||
int sy = 240 - spriteram_2[offs + 1];
|
||||
|
||||
|
||||
int code = spriteram[offs + 1];
|
||||
int color = spriteram_2[offs] & 0x0f;
|
||||
int flipx = ~spriteram_2[offs] & 0x40;
|
||||
int flipy = spriteram_2[offs] & 0x80;
|
||||
|
||||
|
||||
/* Sprite flipscreen is supported by software */
|
||||
drawgfx(bitmap,machine->gfx[1],
|
||||
code,
|
||||
|
@ -1,8 +1,8 @@
|
||||
/***************************************************************************
|
||||
|
||||
Time Pilot
|
||||
Time Pilot
|
||||
|
||||
driver by Nicola Salmoria
|
||||
driver by Nicola Salmoria
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -90,11 +90,11 @@ VIDEO_UPDATE( tutankhm )
|
||||
int x, y;
|
||||
|
||||
get_pens(pens);
|
||||
|
||||
|
||||
for (y = cliprect->min_y; y <= cliprect->max_y; y++)
|
||||
{
|
||||
UINT32 *dst = BITMAP_ADDR32(bitmap, y, 0);
|
||||
|
||||
|
||||
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
|
||||
{
|
||||
UINT8 effx = x ^ xorx;
|
||||
|
@ -225,7 +225,7 @@ VIDEO_UPDATE( williams )
|
||||
{
|
||||
rgb_t pens[16];
|
||||
int x, y;
|
||||
|
||||
|
||||
/* precompute the palette */
|
||||
for (x = 0; x < 16; x++)
|
||||
pens[x] = palette_lookup[paletteram[x]];
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.122u7 ("__DATE__")";
|
||||
const char build_version[] = "0.122u8 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user