Cleanups and version bump.

This commit is contained in:
Aaron Giles 2008-08-28 15:26:11 +00:00
parent 32d55f53b0
commit a2caa558e2
58 changed files with 489 additions and 489 deletions

View File

@ -7,38 +7,38 @@ T0 output clock
/***************************************************************************
mcs48.c
mcs48.c
Intel MCS-48 Portable Emulator
Intel MCS-48 Portable Emulator
Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially
Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially
****************************************************************************
Note that the default internal divisor for this chip is by 3 and
then again by 5, or by 15 total.
Note that the default internal divisor for this chip is by 3 and
then again by 5, or by 15 total.
****************************************************************************
Chip RAM ROM I/O
---- --- --- ---
8021 64 1k 21 (ROM, reduced instruction set)
Chip RAM ROM I/O
---- --- --- ---
8021 64 1k 21 (ROM, reduced instruction set)
8035 64 0 27 (external ROM)
8041 64 1k 18 (ROM)
8048 64 1k 27 (ROM)
8648 64 1k 27 (OTPROM)
8741 64 1k 18 (EPROM)
8748 64 1k 27 (EPROM)
8884 64 1k
N7751 128 2k
8035 64 0 27 (external ROM)
8041 64 1k 18 (ROM)
8048 64 1k 27 (ROM)
8648 64 1k 27 (OTPROM)
8741 64 1k 18 (EPROM)
8748 64 1k 27 (EPROM)
8884 64 1k
N7751 128 2k
8039 128 0 27 (external ROM)
8049 128 2k 27 (ROM)
8749 128 2k 27 (EPROM)
M58715 128 0 (external ROM)
8039 128 0 27 (external ROM)
8049 128 2k 27 (ROM)
8749 128 2k 27 (EPROM)
M58715 128 0 (external ROM)
***************************************************************************/

View File

@ -1,12 +1,12 @@
/***************************************************************************
mcs48.c
mcs48.c
Intel MCS-48 Portable Emulator
Intel MCS-48 Portable Emulator
Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially
Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially
***************************************************************************/

View File

@ -50,11 +50,11 @@ WRITE8_DEVICE_HANDLER( at28c16_w )
if( c->last_write >= 0 )
{
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) busy\n", activecpu_get_pc(), chip, offset, data );
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) busy\n", activecpu_get_pc(), chip, offset, data );
}
else if( c->oe_12v )
{
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) erase\n", activecpu_get_pc(), chip, offset, data );
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) erase\n", activecpu_get_pc(), chip, offset, data );
memset( c->data, 0xff, SIZE_DATA );
memset( c->id, 0xff, SIZE_ID );
c->last_write = 0xff;
@ -62,7 +62,7 @@ WRITE8_DEVICE_HANDLER( at28c16_w )
}
else if( offset >= OFFSET_ID && c->a9_12v )
{
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) id\n", activecpu_get_pc(), chip, offset, data );
// logerror( "%08x: at28c16_write( %d, %04x, %02x ) id\n", activecpu_get_pc(), chip, offset, data );
c->id[ offset - OFFSET_ID ] = data;
c->last_write = data;
timer_adjust_oneshot( c->write_timer, ATTOTIME_IN_USEC( 200 ), 0 );
@ -83,12 +83,12 @@ READ8_DEVICE_HANDLER( at28c16_r )
if( c->last_write >= 0 )
{
// logerror( "at28c16_read( %04x ) write status\n", offset );
// logerror( "at28c16_read( %04x ) write status\n", offset );
return c->last_write ^ 0x80;
}
else if( offset >= OFFSET_ID && c->a9_12v )
{
// logerror( "at28c16_read( %04x ) id\n", offset );
// logerror( "at28c16_read( %04x ) id\n", offset );
return c->id[ offset - OFFSET_ID ];
}
else
@ -124,7 +124,7 @@ static DEVICE_START(at28c16)
/* validate some basic stuff */
assert(device != NULL);
// assert(device->static_config != NULL);
// assert(device->static_config != NULL);
assert(device->inline_config == NULL);
assert(device->machine != NULL);
assert(device->machine->config != NULL);

View File

@ -1068,7 +1068,7 @@ static void dsd_555_vco1_step(node_description *node)
else
{
/* if we are out of reset and the cap voltage is less then
* the lower threshold, toggle f/f and start charging */
* the lower threshold, toggle f/f and start charging */
if (v_cap <= context->trigger)
{
if (context->flip_flop == 0)

View File

@ -301,13 +301,13 @@ static void dst_dac_r1_step(node_description *node)
if ((x_time != 0) && (bit_val != ((context->last_data >> bit) & 0x01)))
{
/* there is x_time and a change in bit,
* so anti-alias the current */
* so anti-alias the current */
i_bit *= bit_val ? x_time : 1.0 - x_time;
}
else
{
/* there is no x_time or a change in bit,
* so 0 the current if the bit value is 0 */
* so 0 the current if the bit value is 0 */
if (bit_val == 0) i_bit = 0;
}
i_total += i_bit;

View File

@ -1225,8 +1225,8 @@ static UINT32 handler_ingame(running_machine *machine, UINT32 state)
return ui_set_handler(ui_menu_ui_handler, 0);
/* if the on-screen display isn't up and the user has toggled it, turn it on */
// if ((machine->debug_flags & DEBUG_FLAG_ENABLED) == 0 && ui_input_pressed(machine, IPT_UI_ON_SCREEN_DISPLAY))
// return ui_set_handler(ui_slider_ui_handler, 0);
// if ((machine->debug_flags & DEBUG_FLAG_ENABLED) == 0 && ui_input_pressed(machine, IPT_UI_ON_SCREEN_DISPLAY))
// return ui_set_handler(ui_slider_ui_handler, 0);
/* handle a reset request */
if (ui_input_pressed(machine, IPT_UI_RESET_MACHINE))

View File

@ -319,13 +319,13 @@ static void pr8210_execute(const device_config *laserdisc, int command)
break;
case CMD_DISPLAY_ON:
// pr8210_add_command(digits[1]);
// pr8210_add_command(0xf1);
// pr8210_add_command(digits[1]);
// pr8210_add_command(0xf1);
break;
case CMD_DISPLAY_OFF:
// pr8210_add_command(digits[0]);
// pr8210_add_command(0xf1);
// pr8210_add_command(digits[0]);
// pr8210_add_command(0xf1);
break;
case CMD_0:
@ -479,7 +479,7 @@ static READ8_HANDLER( pr8210_pia_r )
switch (offset)
{
case 0xa0:
// printf("%03X:pia_r(%02X) = %02X\n", activecpu_get_pc(), offset, pr8210_pia_porta);
// printf("%03X:pia_r(%02X) = %02X\n", activecpu_get_pc(), offset, pr8210_pia_porta);
result = pr8210_pia_porta;
pr8210_pia_porta = 0;
break;
@ -494,32 +494,32 @@ static READ8_HANDLER( pr8210_pia_r )
static WRITE8_HANDLER( pr8210_pia_w )
{
/*
$22-26 (R) = read and copied to memory $23-27
$23 (R) = something compared against $F4
$22-26 (W) = SRCH. text
$27-2B (W) = FRAME/CHAP. text
$2C-30 (W) = frame or chapter number
$40 (W) = $CF at initialization, tracked by ($78)
$60 (W) = port B output, tracked by ($77)
$80 = n/c
$40 = (out) LED3
$20 = (out) LED2
$10 = (out) LED1
123 -> LHL = Play
-> HLL = Slow fwd
-> LLL = Slow rev
-> HHL = Still
-> LLH = Pause
-> HHH = all off
$08 = (out) CAV LED
$04 = (out) CLV LED
$02 = (out) A2 LED/AUDIO 2
$01 = (out) A1 LED/AUDIO 1
$80 (W) = 0 or 1
$A0 (R) = port A input
$C0 (R) = stored to ($2E)
$E0 (R) = stored to ($2F)
*/
$22-26 (R) = read and copied to memory $23-27
$23 (R) = something compared against $F4
$22-26 (W) = SRCH. text
$27-2B (W) = FRAME/CHAP. text
$2C-30 (W) = frame or chapter number
$40 (W) = $CF at initialization, tracked by ($78)
$60 (W) = port B output, tracked by ($77)
$80 = n/c
$40 = (out) LED3
$20 = (out) LED2
$10 = (out) LED1
123 -> LHL = Play
-> HLL = Slow fwd
-> LLL = Slow rev
-> HHL = Still
-> LLH = Pause
-> HHH = all off
$08 = (out) CAV LED
$04 = (out) CLV LED
$02 = (out) A2 LED/AUDIO 2
$01 = (out) A1 LED/AUDIO 1
$80 (W) = 0 or 1
$A0 (R) = port A input
$C0 (R) = stored to ($2E)
$E0 (R) = stored to ($2F)
*/
if (pia[offset] != data)
{
switch (offset)
@ -547,15 +547,15 @@ static WRITE8_HANDLER( pr8210_pia_w )
static READ8_HANDLER( pr8210_bus_r )
{
/*
$80 = n/c
$40 = (in) slide pot interrupt source (slider position limit detector, inside and outside)
$20 = n/c
$10 = (in) /FOCUS LOCK
$08 = (in) /SPDL LOCK
$04 = (in) SIZE 8/12
$02 = (in) FG via op-amp (spindle motor stop detector)
$01 = (in) SLOW TIMER OUT
*/
$80 = n/c
$40 = (in) slide pot interrupt source (slider position limit detector, inside and outside)
$20 = n/c
$10 = (in) /FOCUS LOCK
$08 = (in) /SPDL LOCK
$04 = (in) SIZE 8/12
$02 = (in) FG via op-amp (spindle motor stop detector)
$01 = (in) SLOW TIMER OUT
*/
offs_t pc = activecpu_get_pc();
if (pc != 0x11c)
printf("%03X:bus_r\n", pc);
@ -567,15 +567,15 @@ static READ8_HANDLER( pr8210_bus_r )
static WRITE8_HANDLER( pr8210_porta_w )
{
/*
$80 = (out) SCAN C (F/R)
$40 = (out) AUDIO SQ
$20 = (out) VIDEO SQ
$10 = (out) /SPDL ON
$08 = (out) /FOCUS ON
$04 = (out) SCAN B (L/H)
$02 = (out) SCAN A (/SCAN)
$01 = (out) JUMP TRG (jump back trigger, clock on high->low)
*/
$80 = (out) SCAN C (F/R)
$40 = (out) AUDIO SQ
$20 = (out) VIDEO SQ
$10 = (out) /SPDL ON
$08 = (out) /FOCUS ON
$04 = (out) SCAN B (L/H)
$02 = (out) SCAN A (/SCAN)
$01 = (out) JUMP TRG (jump back trigger, clock on high->low)
*/
if (data != pr8210_porta)
{
printf("%03X:porta_w = %02X", activecpu_get_pc(), data);
@ -596,15 +596,15 @@ static WRITE8_HANDLER( pr8210_porta_w )
static WRITE8_HANDLER( pr8210_portb_w )
{
/*
$80 = (out) /CS on PIA
$40 = (out) 0 to self-generate IRQ
$20 = (out) SLOW TRG
$10 = (out) STANDBY LED
$08 = (out) TP2
$04 = (out) TP1
$02 = (out) ???
$01 = (out) LASER ON
*/
$80 = (out) /CS on PIA
$40 = (out) 0 to self-generate IRQ
$20 = (out) SLOW TRG
$10 = (out) STANDBY LED
$08 = (out) TP2
$04 = (out) TP1
$02 = (out) ???
$01 = (out) LASER ON
*/
cputag_set_input_line(machine, "pr8210", 0, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
if ((data & 0x7f) != (pr8210_portb & 0x7f))
{
@ -616,7 +616,7 @@ static WRITE8_HANDLER( pr8210_portb_w )
if (!(data & 0x10)) printf(" STANDBYLED");
if (!(data & 0x20)) printf(" SLOWTRG");
if (!(data & 0x40)) printf(" IRQGEN");
// if (data & 0x80) printf(" PIASEL");
// if (data & 0x80) printf(" PIASEL");
printf("\n");
pr8210_portb = data;
}

View File

@ -1720,7 +1720,7 @@ static avi_error chunk_write(avi_file *file, UINT32 type, const void *data, UINT
/* if we are getting too big, split the RIFF */
/* note that we ignore writes before the current RIFF base, as those are assumed to be
overwrites of a chunk from the previous RIFF */
overwrites of a chunk from the previous RIFF */
if ((file->riffbase == 0 && file->writeoffs + length + compute_idx1_size(file) >= MAX_RIFF_SIZE) ||
(file->writeoffs >= file->riffbase && file->writeoffs + length - file->riffbase >= MAX_RIFF_SIZE))
{

View File

@ -1122,11 +1122,11 @@ MACHINE_DRIVER_START( dkong2b_audio )
MDRV_LATCH8_DISCRETE_NODE(7, DS_SOUND7_INP)
/* If P2.Bit7 -> is apparently an external signal decay or other output control
* If P2.Bit6 -> activates the external compressed sample ROM (not radarsc1)
* If P2.Bit5 -> Signal ANSN ==> Grid enable (radarsc1)
* If P2.Bit4 -> status code to main cpu
* P2.Bit2-0 -> select the 256 byte bank for external ROM
*/
* If P2.Bit6 -> activates the external compressed sample ROM (not radarsc1)
* If P2.Bit5 -> Signal ANSN ==> Grid enable (radarsc1)
* If P2.Bit4 -> status code to main cpu
* P2.Bit2-0 -> select the 256 byte bank for external ROM
*/
MDRV_LATCH8_ADD( "virtual_p2" ) /* virtual latch for port B */
MDRV_LATCH8_INVERT( 0x20 ) /* signal is inverted */

View File

@ -160,7 +160,7 @@ DISCRETE_SOUND_START( starshp1 )
/************************************************
* Input register mapping
************************************************/
// DISCRETE_INPUTX_DATA(STARSHP1_NOISE_AMPLITUDE, STARSHP1_MC1408_GAIN * STARSHP1_NOISE_AMPLITUDE_GAIN, 0, 0)
// DISCRETE_INPUTX_DATA(STARSHP1_NOISE_AMPLITUDE, STARSHP1_MC1408_GAIN * STARSHP1_NOISE_AMPLITUDE_GAIN, 0, 0)
/* Fake the MC1408, no where near correct */
DISCRETE_INPUTX_DATA(STARSHP1_NOISE_AMPLITUDE, -4.0/255, 4, 0)
DISCRETE_INPUTX_DATA(STARSHP1_TONE_PITCH, STARSHP1_MC1408_GAIN * STARSHP1_TONE_PITCH_GAIN, 0, 0)
@ -280,7 +280,7 @@ DISCRETE_SOUND_START( starshp1 )
STARSHP1_C47,
&starshp1_555_b10)
/* use switch instead of logic AND, so we can switch between
* 0V and the anti-aliased TTL level out that we set NODE_51 to. */
* 0V and the anti-aliased TTL level out that we set NODE_51 to. */
DISCRETE_SWITCH( STARSHP1_SL1_SND, /* IC A10, pin 11 */
1, /* ENAB */
STARSHP1_SL1,

View File

@ -479,8 +479,8 @@ static INPUT_PORTS_START( spclaser )
//PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2) /* This is not 2 Player ??? */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
// PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
// PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
// PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
// PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("IN2")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW1:1" )

View File

@ -355,32 +355,32 @@ return 0x4;
/*
static READ16_HANDLER(test1_r)
{
if (input_code_pressed(KEYCODE_Q)) return 0x0001;
if (input_code_pressed(KEYCODE_W)) return 0x0002;
if (input_code_pressed(KEYCODE_E)) return 0x0004;
if (input_code_pressed(KEYCODE_R)) return 0x0008;
if (input_code_pressed(KEYCODE_T)) return 0x0010;
if (input_code_pressed(KEYCODE_Y)) return 0x0020;
if (input_code_pressed(KEYCODE_U)) return 0x0040;
if (input_code_pressed(KEYCODE_I)) return 0x0080;
if (input_code_pressed(KEYCODE_A)) return 0x0100;
if (input_code_pressed(KEYCODE_S)) return 0x0200;
if (input_code_pressed(KEYCODE_D)) return 0x0400;
if (input_code_pressed(KEYCODE_F)) return 0x0800;
if (input_code_pressed(KEYCODE_G)) return 0x1000;
if (input_code_pressed(KEYCODE_H)) return 0x2000;
if (input_code_pressed(KEYCODE_J)) return 0x4000;
if (input_code_pressed(KEYCODE_K)) return 0x8000;
if (input_code_pressed(KEYCODE_Q)) return 0x0001;
if (input_code_pressed(KEYCODE_W)) return 0x0002;
if (input_code_pressed(KEYCODE_E)) return 0x0004;
if (input_code_pressed(KEYCODE_R)) return 0x0008;
if (input_code_pressed(KEYCODE_T)) return 0x0010;
if (input_code_pressed(KEYCODE_Y)) return 0x0020;
if (input_code_pressed(KEYCODE_U)) return 0x0040;
if (input_code_pressed(KEYCODE_I)) return 0x0080;
if (input_code_pressed(KEYCODE_A)) return 0x0100;
if (input_code_pressed(KEYCODE_S)) return 0x0200;
if (input_code_pressed(KEYCODE_D)) return 0x0400;
if (input_code_pressed(KEYCODE_F)) return 0x0800;
if (input_code_pressed(KEYCODE_G)) return 0x1000;
if (input_code_pressed(KEYCODE_H)) return 0x2000;
if (input_code_pressed(KEYCODE_J)) return 0x4000;
if (input_code_pressed(KEYCODE_K)) return 0x8000;
switch (mame_rand(machine) & 3)
{
case 0:
return 0;
case 1:
return 0xffff;
default:
return mame_rand(machine) % 0xffff;
}
switch (mame_rand(machine) & 3)
{
case 0:
return 0;
case 1:
return 0xffff;
default:
return mame_rand(machine) % 0xffff;
}
}
*/
@ -388,26 +388,26 @@ static READ16_HANDLER(rh1_r)
{
// printf("ra=%04x ",register_active);
/*
if ((register_active == 0x0e) || (register_active == 0x0e) || (register_active == 0x0e))
{
if (input_code_pressed(KEYCODE_1)) return 0x0001 ^ 0xffff;
if (input_code_pressed(KEYCODE_2)) return 0x0002 ^ 0xffff;
if (input_code_pressed(KEYCODE_3)) return 0x0004 ^ 0xffff;
if (input_code_pressed(KEYCODE_4)) return 0x0008 ^ 0xffff;
if (input_code_pressed(KEYCODE_5)) return 0x0010 ^ 0xffff;
if (input_code_pressed(KEYCODE_6)) return 0x0020 ^ 0xffff;
if (input_code_pressed(KEYCODE_7)) return 0x0040 ^ 0xffff;
if (input_code_pressed(KEYCODE_8)) return 0x0080 ^ 0xffff;
if (input_code_pressed(KEYCODE_A)) return 0x0100 ^ 0xffff;
if (input_code_pressed(KEYCODE_S)) return 0x0200 ^ 0xffff;
if (input_code_pressed(KEYCODE_D)) return 0x0400 ^ 0xffff;
if (input_code_pressed(KEYCODE_F)) return 0x0800 ^ 0xffff;
if (input_code_pressed(KEYCODE_G)) return 0x1000 ^ 0xffff;
if (input_code_pressed(KEYCODE_H)) return 0x2000 ^ 0xffff;
if (input_code_pressed(KEYCODE_J)) return 0x4000 ^ 0xffff;
if (input_code_pressed(KEYCODE_K)) return 0x8000 ^ 0xffff;
if ((register_active == 0x0e) || (register_active == 0x0e) || (register_active == 0x0e))
{
if (input_code_pressed(KEYCODE_1)) return 0x0001 ^ 0xffff;
if (input_code_pressed(KEYCODE_2)) return 0x0002 ^ 0xffff;
if (input_code_pressed(KEYCODE_3)) return 0x0004 ^ 0xffff;
if (input_code_pressed(KEYCODE_4)) return 0x0008 ^ 0xffff;
if (input_code_pressed(KEYCODE_5)) return 0x0010 ^ 0xffff;
if (input_code_pressed(KEYCODE_6)) return 0x0020 ^ 0xffff;
if (input_code_pressed(KEYCODE_7)) return 0x0040 ^ 0xffff;
if (input_code_pressed(KEYCODE_8)) return 0x0080 ^ 0xffff;
if (input_code_pressed(KEYCODE_A)) return 0x0100 ^ 0xffff;
if (input_code_pressed(KEYCODE_S)) return 0x0200 ^ 0xffff;
if (input_code_pressed(KEYCODE_D)) return 0x0400 ^ 0xffff;
if (input_code_pressed(KEYCODE_F)) return 0x0800 ^ 0xffff;
if (input_code_pressed(KEYCODE_G)) return 0x1000 ^ 0xffff;
if (input_code_pressed(KEYCODE_H)) return 0x2000 ^ 0xffff;
if (input_code_pressed(KEYCODE_J)) return 0x4000 ^ 0xffff;
if (input_code_pressed(KEYCODE_K)) return 0x8000 ^ 0xffff;
}
}
*/
switch (mame_rand(machine) & 3)
{

View File

@ -747,8 +747,8 @@ static ADDRESS_MAP_START( guwange_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xb00000, 0xb00005) AM_WRITE(SMH_RAM) AM_BASE(&cave_vctrl_2 ) // Layer 2 Control
AM_RANGE(0xc00000, 0xc0ffff) AM_WRITE(SMH_RAM) AM_BASE(&paletteram16) AM_SIZE(&cave_paletteram_size) // Palette
AM_RANGE(0xd00010, 0xd00011) AM_WRITE(cave_eeprom_lsb_w ) // EEPROM
// AM_RANGE(0xd00012, 0xd00013) AM_WRITE(SMH_NOP ) // ?
// AM_RANGE(0xd00014, 0xd00015) AM_WRITE(SMH_NOP ) // ? $800068 in dfeveron ? probably Watchdog
// AM_RANGE(0xd00012, 0xd00013) AM_WRITE(SMH_NOP ) // ?
// AM_RANGE(0xd00014, 0xd00015) AM_WRITE(SMH_NOP ) // ? $800068 in dfeveron ? probably Watchdog
ADDRESS_MAP_END
@ -1371,7 +1371,7 @@ static ADDRESS_MAP_START( pwrinst2_sound_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x40, 0x40) AM_WRITE(ym2203_control_port_0_w ) // YM2203
AM_RANGE(0x41, 0x41) AM_WRITE(ym2203_write_port_0_w ) //
AM_RANGE(0x50, 0x50) AM_WRITE(soundlatch_ack_w ) // To Main CPU
// AM_RANGE(0x51, 0x51) AM_WRITE(SMH_NOP ) // ?? volume
// AM_RANGE(0x51, 0x51) AM_WRITE(SMH_NOP ) // ?? volume
AM_RANGE(0x80, 0x80) AM_WRITE(pwrinst2_rombank_w ) // ROM bank
ADDRESS_MAP_END

View File

@ -1249,15 +1249,15 @@ static MACHINE_DRIVER_START( cps2 )
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_RAW_PARAMS(XTAL_8MHz, 518, 64, 448, 259, 16, 240)
/*
Measured clocks:
V = 59.6376Hz
H = 15.4445kHz
H/V = 258.973 ~ 259 lines
Measured clocks:
V = 59.6376Hz
H = 15.4445kHz
H/V = 258.973 ~ 259 lines
Possible video clocks:
60MHz / 15.4445kHz = 3884.878 / 8 = 485.610 -> unlikely
8MHz / 15.4445kHz = 517.983 ~ 518 -> likely
16MHz -> same as 8 but with a /2 divider; also a possibility
Possible video clocks:
60MHz / 15.4445kHz = 3884.878 / 8 = 485.610 -> unlikely
8MHz / 15.4445kHz = 517.983 ~ 518 -> likely
16MHz -> same as 8 but with a /2 divider; also a possibility
*/
MDRV_GFXDECODE(cps2)
MDRV_PALETTE_LENGTH(0xc00)

View File

@ -2671,14 +2671,14 @@ static MACHINE_DRIVER_START( cps3 )
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
MDRV_SCREEN_RAW_PARAMS(XTAL_60MHz/8, 486, 0, 384, 259, 0, 224)
/*
Measured clocks:
V = 59.5992Hz
H = 15.4335kHz
H/V = 258.955 ~ 259 lines
Measured clocks:
V = 59.5992Hz
H = 15.4335kHz
H/V = 258.955 ~ 259 lines
Possible video clocks:
60MHz / 15.4335kHz = 3887.647 / 8 = 485.956 ~ 486 -> likely
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
Possible video clocks:
60MHz / 15.4335kHz = 3887.647 / 8 = 485.956 ~ 486 -> likely
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
*/
MDRV_MACHINE_START(cps3)

View File

@ -1910,9 +1910,9 @@ ROM_START( radarsc1 )
ROM_LOAD( "trs01c2k.bin", 0x0100, 0x0100, CRC(650c5daf) SHA1(72f91ee2fab9eee58ee42881327e6345aa70b7f9) ) /* green */
ROM_LOAD( "trs01c2l.bin", 0x0200, 0x0100, CRC(23087910) SHA1(afc05c322b11fefaf0af857fee06a5afd0d4593e) ) /* red */
/* Hack! The prom at pos 1D on video board has not been dumped
* Rom 1D is a MB7051, only 5 address lines
* Rom below from TRS02 dump: rs2-v.1hc
*/
* Rom 1D is a MB7051, only 5 address lines
* Rom below from TRS02 dump: rs2-v.1hc
*/
ROM_LOAD( "trs01v1d.bin", 0x0300, 0x0100, BAD_DUMP CRC(1b828315) SHA1(00c9f8c5ae86b68d38c66f9071b5f1ef421c1005) ) /* character color codes on a per-column basis */
ROM_END

View File

@ -1,36 +1,36 @@
/*
Megadrive / Genesis support
PRELIMINARY
Megadrive / Genesis support
PRELIMINARY
The Megadrive / Genesis form the basis of a number of official Sega Arcade PCBs
as well as a selection of bootlegs.
The Megadrive / Genesis form the basis of a number of official Sega Arcade PCBs
as well as a selection of bootlegs.
Current Issues
Current Issues
Timing is wrong
-- DMA timing not emulated
-- Sprite render timing incorrect
-- Interrupt Timing Problems
Timing is wrong
-- DMA timing not emulated
-- Sprite render timing incorrect
-- Interrupt Timing Problems
Known Problems
-- g_lem / Lemmings (JU) (REV01) [!]
Rasters are off
-- g_drac / Bram Stoker's Dracula (U) [!]
Doesn't work, Timing Sensisitve
-- g_sscc / Sesame Street Counting Cafe (U) [!]
Doesn't work
-- g_fatr / Fatal Rewind (UE) [!] (and clones)
Doesn't work. Timing Sensitive
Known Problems
-- g_lem / Lemmings (JU) (REV01) [!]
Rasters are off
-- g_drac / Bram Stoker's Dracula (U) [!]
Doesn't work, Timing Sensisitve
-- g_sscc / Sesame Street Counting Cafe (U) [!]
Doesn't work
-- g_fatr / Fatal Rewind (UE) [!] (and clones)
Doesn't work. Timing Sensitive
-- various
Rasters off by 1 line, bottom line corrupt? bad frame timing?
-- various
Rasters off by 1 line, bottom line corrupt? bad frame timing?
+ more
+ more
ToDo:
Fix bugs - comprehensive testing!
Fix bugs - comprehensive testing!
Add SegaCD / 32X support (not used by any arcade systems?)
Add PicoDrive support (not arcade)

View File

@ -1107,19 +1107,19 @@ static INPUT_PORTS_START( astyanax )
PORT_DIPSETTING( 0x0400, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0200, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0700, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x0500, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0100, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x0600, DEF_STR( 1C_1C ) ) // 1_5
// PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x0500, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0100, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x0600, DEF_STR( 1C_1C ) ) // 1_5
PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x2000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x1000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x1800, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x2800, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0800, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x3000, DEF_STR( 1C_1C ) ) // 1_5
// PORT_DIPSETTING( 0x1800, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x2800, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0800, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x3000, DEF_STR( 1C_1C ) ) // 1_5
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -1506,11 +1506,11 @@ static INPUT_PORTS_START( bigstrik )
PORT_DIPSETTING( 0x0009, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0003, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0002, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0001, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0006, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0003, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0002, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0001, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0006, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
@ -1523,11 +1523,11 @@ static INPUT_PORTS_START( bigstrik )
PORT_DIPSETTING( 0x0090, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0040, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0030, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0020, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0010, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0060, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0040, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0030, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0020, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0010, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0060, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) )
@ -2418,9 +2418,9 @@ static INPUT_PORTS_START( jitsupro )
PORT_DIPSETTING( 0x0014, "H" )
PORT_DIPSETTING( 0x0010, "O (M)" )
PORT_DIPSETTING( 0x000c, "Bu" )
// PORT_DIPSETTING( 0x0008, "13" )
// PORT_DIPSETTING( 0x0004, "14" )
// PORT_DIPSETTING( 0x0000, "15" )
// PORT_DIPSETTING( 0x0008, "13" )
// PORT_DIPSETTING( 0x0004, "14" )
// PORT_DIPSETTING( 0x0000, "15" )
PORT_DIPNAME( 0x0040, 0x0040, "Scroll Is Based On" )
PORT_DIPSETTING( 0x0040, "Shadow of Baseball" )
PORT_DIPSETTING( 0x0000, "The Baseball Itself" )

View File

@ -237,7 +237,7 @@ static INPUT_PORTS_START( pandoras )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
// PORT_DIPSETTING( 0x00, "Invalid" )
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )

View File

@ -237,7 +237,7 @@ static INPUT_PORTS_START( parodius )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "No Use" )
// PORT_DIPSETTING( 0x00, "No Use" )
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )

View File

@ -859,10 +859,10 @@ static INPUT_PORTS_START( pgm )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
// PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) // test 1p+2p
// PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) // test 1p+2p
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) // what should i use?
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service 1p+2p
// PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 ) // test 3p+4p
// PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 ) // test 3p+4p
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) // what should i use?
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service 3p+4p
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
@ -934,8 +934,8 @@ static INPUT_PORTS_START( olds )
PORT_MODIFY("Region") /* Region - supplied by protection device */
PORT_DIPNAME( 0x000f, 0x0006, DEF_STR( Region ) )
/* includes the following regions:
1 = taiwan, 2 = china, 3 = japan (title = orlegend special),
4 = korea, 5 = hong kong, 6 = world */
1 = taiwan, 2 = china, 3 = japan (title = orlegend special),
4 = korea, 5 = hong kong, 6 = world */
PORT_DIPSETTING( 0x0001, "Taiwan" )
PORT_DIPSETTING( 0x0002, "China" )
PORT_DIPSETTING( 0x0003, DEF_STR( Japan ) )
@ -979,7 +979,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ddp2 )
PORT_INCLUDE ( pgm )
/* // probably not dsw related anyway
/* // probably not dsw related anyway
PORT_START("UNK0")
PORT_DIPNAME( 0x0001, 0x0001, "4" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )

View File

@ -122,19 +122,19 @@ static CUSTOM_INPUT( mcu_status_r )
int ret = 0x00;
/* Don't know exactly what this bit is, but s1945 and tengai
both spin waiting for it to go low during POST. Also,
the following code in tengai (don't know where or if it is
reached) waits for it to pulse:
both spin waiting for it to go low during POST. Also,
the following code in tengai (don't know where or if it is
reached) waits for it to pulse:
01A546: move.b (A2), D0 ; A2 = $c00003
01A548: andi.b #$4, D0
01A54C: beq $1a546
01A54E: move.b (A2), D0
01A550: andi.b #$4, D0
01A554: bne $1a54e
01A546: move.b (A2), D0 ; A2 = $c00003
01A548: andi.b #$4, D0
01A54C: beq $1a546
01A54E: move.b (A2), D0
01A550: andi.b #$4, D0
01A554: bne $1a54e
Interestingly, s1945jn has the code that spins on this bit,
but said code is never reached. Prototype? */
Interestingly, s1945jn has the code that spins on this bit,
but said code is never reached. Prototype? */
if (mcu_status)
ret = 0x01;

View File

@ -796,10 +796,10 @@ static INPUT_PORTS_START( mjgtaste ) /* This will need the Mahjong inputs */
PORT_INCLUDE( common )
PORT_START("JP4") /* jumper pads on the PCB */
// PORT_DIPNAME( 0x03000000, 0x01000000, DEF_STR( Region ) )
// PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
// PORT_DIPSETTING( 0x02000000, "International Ver A." )
// PORT_DIPSETTING( 0x01000000, "International Ver B." )
// PORT_DIPNAME( 0x03000000, 0x01000000, DEF_STR( Region ) )
// PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
// PORT_DIPSETTING( 0x02000000, "International Ver A." )
// PORT_DIPSETTING( 0x01000000, "International Ver B." )
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
INPUT_PORTS_END

View File

@ -160,7 +160,7 @@ static ADDRESS_MAP_START( puckpkmn_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* Main Ram */
/* Unknown reads: */
// AM_RANGE(0xa10000, 0xa10001) AM_READ(SMH_NOP) /* ? once */
// AM_RANGE(0xa10000, 0xa10001) AM_READ(SMH_NOP) /* ? once */
AM_RANGE(0xa10002, 0xa10005) AM_READ(SMH_NOP) /* ? alternative way of reading inputs ? */
AM_RANGE(0xa11100, 0xa11101) AM_READ(SMH_NOP) /* ? */
ADDRESS_MAP_END

View File

@ -188,7 +188,7 @@ static INPUT_PORTS_START( rockrage )
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" )
// PORT_DIPSETTING( 0x00, "Invalid" )
PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )

View File

@ -99,7 +99,7 @@ Notes:
button (new style: newer games like gwar do it).
- some of the tiles in the fg ROM (letters saying "standard", "power",
"hyper", "safety", "danger") are present in all sets, but are actually used
only in bermudat/bermudaj.
only in bermudat/bermudaj.
- the worldwar test mode shows wrong descriptions for the dip switches, which
are actually correct for bermudaj.
@ -303,24 +303,24 @@ static READ8_HANDLER( sgladiat_sound_irq_ack_r )
/*
All the later games (from athena onwards) have the same sound status flag handling.
All the later games (from athena onwards) have the same sound status flag handling.
This 4 bit register is mapped at 0xf800.
This 4 bit register is mapped at 0xf800.
Writes to this register always contain 0x0f in the lower nibble.
The upper nibble contains a mask, which clears bits
Writes to this register always contain 0x0f in the lower nibble.
The upper nibble contains a mask, which clears bits
bit 0: irq request from first YM chip
bit 1: irq request from second YM chip
bit 2: sound cpu busy
bit 3: sound command pending
bit 0: irq request from first YM chip
bit 1: irq request from second YM chip
bit 2: sound cpu busy
bit 3: sound command pending
The main CPU can read the busy flag using an input port.
The main CPU can read the busy flag using an input port.
The earlier games are different. E.g. in tnk3 there are only three status
bits since there is only one YM chip, and the bits are cleared using
separate memory addresses. Additionally, clearing the cmd irq also
clears the sound latch.
The earlier games are different. E.g. in tnk3 there are only three status
bits since there is only one YM chip, and the bits are cleared using
separate memory addresses. Additionally, clearing the cmd irq also
clears the sound latch.
*/
/*********************************************************************/
@ -1172,7 +1172,7 @@ static ADDRESS_MAP_START( aso_YM3526_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xe000) AM_READ(tnk3_busy_clear_r)
AM_RANGE(0xf000, 0xf000) AM_READWRITE(ym3526_status_port_0_r, ym3526_control_port_0_w)
AM_RANGE(0xf001, 0xf001) AM_WRITE(ym3526_write_port_0_w)
// AM_RANGE(0xf002, 0xf002) AM_READNOP unknown
// AM_RANGE(0xf002, 0xf002) AM_READNOP unknown
AM_RANGE(0xf004, 0xf004) AM_READ(tnk3_cmdirq_ack_r)
AM_RANGE(0xf006, 0xf006) AM_READ(tnk3_ymirq_ack_r)
ADDRESS_MAP_END
@ -1264,7 +1264,7 @@ static INPUT_PORTS_START( jcross )
PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:1,2")
PORT_DIPSETTING( 0x03, "Upright, Single Controls" )
// PORT_DIPSETTING( 0x01, "Upright, Single Controls" ) /* duplicated setting + unknown additional stuff (code at 0x03ff) */
// PORT_DIPSETTING( 0x01, "Upright, Single Controls" ) /* duplicated setting + unknown additional stuff (code at 0x03ff) */
PORT_DIPSETTING( 0x00, "Upright, Dual Controls" )
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:3")
@ -1277,8 +1277,8 @@ static INPUT_PORTS_START( jcross )
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
// PORT_DIPSETTING( 0x10, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
// PORT_DIPSETTING( 0x08, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
// PORT_DIPSETTING( 0x10, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
// PORT_DIPSETTING( 0x08, "INVALID !" ) /* settings table at 0x0378 is only 5 bytes wide */
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_older_bonus_r, (void *)0xc0)
PORT_START("DSW2")
@ -1309,7 +1309,7 @@ static INPUT_PORTS_START( jcross )
PORT_DIPSETTING( 0xc0, "20k" )
PORT_DIPSETTING( 0x80, "40k" )
PORT_DIPSETTING( 0x40, "60k" )
// PORT_DIPSETTING( 0x01, DEF_STR( None ) ) /* duplicated setting */
// PORT_DIPSETTING( 0x01, DEF_STR( None ) ) /* duplicated setting */
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END
@ -1355,7 +1355,7 @@ static INPUT_PORTS_START( sgladiat )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:4,5,6")
PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) )
// PORT_DIPSETTING( 0x08, DEF_STR( 5C_1C ) ) /* duplicated setting */
// PORT_DIPSETTING( 0x08, DEF_STR( 5C_1C ) ) /* duplicated setting */
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
@ -1393,7 +1393,7 @@ static INPUT_PORTS_START( sgladiat )
PORT_DIPSETTING( 0xc0, "20k" )
PORT_DIPSETTING( 0x80, "40k" )
PORT_DIPSETTING( 0x40, "50k" )
// PORT_DIPSETTING( 0x01, DEF_STR( None ) ) /* duplicated setting */
// PORT_DIPSETTING( 0x01, DEF_STR( None ) ) /* duplicated setting */
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END
@ -2626,7 +2626,7 @@ static INPUT_PORTS_START( fsoccer )
PORT_DIPSETTING( 0x04, DEF_STR( Europe ) )
PORT_DIPSETTING( 0x00, DEF_STR( USA ) )
PORT_DIPSETTING( 0x08, DEF_STR( Japan ) )
// PORT_DIPSETTING( 0x0c, DEF_STR( Europe ) )
// PORT_DIPSETTING( 0x0c, DEF_STR( Europe ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:5,6")
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
@ -2889,7 +2889,7 @@ static MACHINE_DRIVER_START( sgladiat )
/* video hardware */
/* visible area is correct. Debug info is shown in the black bars at the sides
of the screen when the Debug dip switch is on */
of the screen when the Debug dip switch is on */
MDRV_VIDEO_START(sgladiat)

View File

@ -280,8 +280,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sht_readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
/* AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") */
/* AM_RANGE(0x04, 0x04) AM_READ_PORT("P2") */
/* AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") */
/* AM_RANGE(0x04, 0x04) AM_READ_PORT("P2") */
AM_RANGE(0x08, 0x08) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c, 0x0c) AM_READ_PORT("DSW2") /* DIP2 */
AM_RANGE(0x0d, 0x0d) AM_READ_PORT("DSW1") /* DIP1 some games read it from here... */

View File

@ -57,7 +57,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2001, 0x2001) AM_READ_PORT("P1") AM_WRITE(tagteam_control_w)
AM_RANGE(0x2002, 0x2002) AM_READ_PORT("DSW1") AM_WRITE(sound_command_w)
AM_RANGE(0x2003, 0x2003) AM_READ_PORT("DSW2")
// AM_RANGE(0x2003, 0x2003) AM_WRITE(SMH_NOP) /* Appears to increment when you're out of the ring */
// AM_RANGE(0x2003, 0x2003) AM_WRITE(SMH_NOP) /* Appears to increment when you're out of the ring */
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_RAM)

View File

@ -135,7 +135,7 @@ static INPUT_PORTS_START( tail2nos )
PORT_DIPSETTING( 0x000d, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x000e, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x000f, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x000f, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_4C ) )
@ -152,7 +152,7 @@ static INPUT_PORTS_START( tail2nos )
PORT_DIPSETTING( 0x00d0, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x00e0, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x00f0, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x00f0, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0030, DEF_STR( 1C_4C ) )

View File

@ -54,7 +54,7 @@ static VIDEO_START( tattack )
static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM
// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(&videoram)
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE(&colorram) // color map ? something else .. only bits 1-3 are used
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW2")

View File

@ -7,7 +7,7 @@
Games supported:
* Konek-Gorbunok
* S.O.S.
* S.O.S.
Other games known to exist on this hardware (interchangeable by the ROM swap):
* Avtogonki

View File

@ -191,9 +191,9 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( topshoot_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* Cartridge Program Rom */
// AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM)
// AM_RANGE(0x200040, 0x200041) AM_READ_PORT("IN0") // ??
// AM_RANGE(0x200050, 0x200051) AM_READ_PORT("IN0") // ??
// AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM)
// AM_RANGE(0x200040, 0x200041) AM_READ_PORT("IN0") // ??
// AM_RANGE(0x200050, 0x200051) AM_READ_PORT("IN0") // ??
AM_RANGE(0x202000, 0x2023ff) AM_READ(SMH_RAM)
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("IN0") // ??
AM_RANGE(0xa10000, 0xa1001f) AM_READ_PORT("IN0")

View File

@ -150,68 +150,68 @@ ADDRESS_MAP_END
static INPUT_PORTS_START(ttchamp)
PORT_START("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, "0x000003" )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, "0x000003" )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
INPUT_PORTS_END

View File

@ -774,10 +774,10 @@ static void radarscp_step(running_machine *machine, int line_cnt)
state->blue_level = (int)(vg3/5.0*255);
/*
* Grid signal
*
* Mixed with ANS line (bit 5) from Port B of 8039
*/
* Grid signal
*
* Mixed with ANS line (bit 5) from Port B of 8039
*/
if (state->grid_on && latch8_bit5_r(devvp2, 0))
{
diff = (0.0 - cv3);

View File

@ -379,7 +379,7 @@ WRITE8_HANDLER( sgladiat_scroll_msb_w )
WRITE8_HANDLER( aso_videoattrs_w )
{
/*
video attributes:
video attributes:
X-------
-X------
--X----- flip screen
@ -401,7 +401,7 @@ WRITE8_HANDLER( aso_videoattrs_w )
WRITE8_HANDLER( tnk3_videoattrs_w )
{
/*
video attributes:
video attributes:
X------- flip screen
-X------ character bank (for text layer)
--X-----
@ -445,10 +445,10 @@ WRITE8_HANDLER( ikari_sp_scroll_msb_w )
WRITE8_HANDLER( ikari_unknown_video_w )
{
/* meaning of 0xc980 uncertain.
Normally 0x20, ikaria/ikarijp sets it to 0x31 during test mode.
Changing char bank is necessary to fix the display during the
hard flags test and the test grid.
Changing palette bank is necessary to fix colors in test mode. */
Normally 0x20, ikaria/ikarijp sets it to 0x31 during test mode.
Changing char bank is necessary to fix the display during the
hard flags test and the test grid.
Changing palette bank is necessary to fix colors in test mode. */
if (data != 0x20 && // normal
data != 0x31 && // ikari test
@ -506,7 +506,7 @@ WRITE8_HANDLER( tdfever_sp_scroll_msb_w )
WRITE8_HANDLER( tdfever_spriteram_w )
{
/* partial updates avoid flickers in the fsoccer radar. */
/* partial updates avoid flickers in the fsoccer radar. */
if (offset < 0x80 && spriteram[offset] != data)
{
int vpos = video_screen_get_vpos(machine->primary_screen);

View File

@ -9,4 +9,4 @@
***************************************************************************/
const char build_version[] = "0.127 ("__DATE__")";
const char build_version[] = "0.127u1 ("__DATE__")";