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
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
mcs48.c
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
****************************************************************************
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)
***************************************************************************/
@ -331,7 +331,7 @@ INLINE void execute_call(UINT16 address)
/*-------------------------------------------------
execute_jcc - perform the logic of a
execute_jcc - perform the logic of a
conditional jump instruction
-------------------------------------------------*/
@ -599,7 +599,7 @@ static void ret(void) { pull_pc(); }
static void retr(void)
{
pull_pc_psw();
/* implicitly clear the IRQ in progress flip flop and re-check interrupts */
mcs48.irq_in_progress = FALSE;
check_irqs();
@ -705,7 +705,7 @@ static const mcs48_opcode opcode_table[256]=
static void mcs48_init(int index, int clock, const void *config, int (*irqcallback)(int), UINT16 romsize)
{
memset(&mcs48, 0, sizeof(mcs48));
mcs48.irq_callback = irqcallback;
mcs48.int_rom_size = romsize;
@ -803,18 +803,18 @@ static void check_irqs(void)
if (mcs48.irq_state && mcs48.xirq_enabled)
{
mcs48.irq_in_progress = TRUE;
/* transfer to location 0x03 */
push_pc_psw();
PC = 0x03;
change_pc(0x03);
mcs48.inst_cycles += 2;
/* indicate we took the external IRQ */
if (mcs48.irq_callback != NULL)
(*mcs48.irq_callback)(0);
}
/* timer overflow interrupts follow */
if (mcs48.timer_overflow && mcs48.tirq_enabled)
{
@ -825,7 +825,7 @@ static void check_irqs(void)
PC = 0x07;
change_pc(0x07);
mcs48.inst_cycles += 2;
/* timer overflow flip-flop is reset once taken */
mcs48.timer_overflow = FALSE;
}
@ -840,7 +840,7 @@ static void check_irqs(void)
static void burn_cycles(int count)
{
int timerover = FALSE;
/* if the timer is enabled, accumulate prescaler cycles */
if (mcs48.timecount_enabled & TIMER_ENABLED)
{
@ -849,7 +849,7 @@ static void burn_cycles(int count)
mcs48.prescaler &= 0x1f;
timerover = (mcs48.timer == 0);
}
/* if the counter is enabled, poll the T1 test input once for each cycle */
else if (mcs48.timecount_enabled & COUNTER_ENABLED)
for ( ; count > 0; count--)
@ -863,7 +863,7 @@ static void burn_cycles(int count)
if (timerover)
{
mcs48.timer_flag = TRUE;
/* according to the docs, if an overflow occurs with interrupts disabled, the overflow is not stored */
if (mcs48.tirq_enabled)
{
@ -895,7 +895,7 @@ static int mcs48_execute(int cycles)
/* iterate over remaining cycles, guaranteeing at least one instruction */
do
{
/* fetch next opcode */
/* fetch next opcode */
mcs48.prevpc = mcs48.pc;
debugger_instruction_hook(Machine, PC);
opcode = opcode_fetch(PC++);
@ -903,7 +903,7 @@ static int mcs48_execute(int cycles)
/* process opcode and count cycles */
mcs48.inst_cycles = opcode_table[opcode].cycles;
(*opcode_table[opcode].function)();
/* burn the cycles */
mcs48_icount -= mcs48.inst_cycles;
if (mcs48.timecount_enabled != 0)
@ -1005,7 +1005,7 @@ static void mcs48_set_info(UINT32 state, cpuinfo *info)
/*-------------------------------------------------
mcs48_get_info - retrieve a piece of
mcs48_get_info - retrieve a piece of
information from the CPU core
-------------------------------------------------*/
@ -1067,7 +1067,7 @@ static void mcs48_get_info(UINT32 state, cpuinfo *info)
case CPUINFO_PTR_BURN: info->burn = NULL; break;
case CPUINFO_PTR_DISASSEMBLE: info->disassemble = mcs48_dasm; break;
case CPUINFO_PTR_INSTRUCTION_COUNTER: info->icount = &mcs48_icount; break;
case CPUINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: /*info->internal_map8 = address_map_program_10bit;*/ break;
case CPUINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_DATA: /*info->internal_map8 = address_map_data_7bit;*/ break;

View File

@ -1,12 +1,12 @@
/***************************************************************************
mcs48.c
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
mcs48.c
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
***************************************************************************/
@ -31,13 +31,13 @@ enum
MCS48_TC,
MCS48_P1,
MCS48_P2,
MCS48_R0,
MCS48_R1,
MCS48_R0,
MCS48_R1,
MCS48_R2,
MCS48_R3,
MCS48_R4,
MCS48_R5,
MCS48_R6,
MCS48_R3,
MCS48_R4,
MCS48_R5,
MCS48_R6,
MCS48_R7,
MCS48_EA
};

View File

@ -2140,11 +2140,11 @@ UINT64 debug_read_opcode(offs_t address, int size, int arg)
static int expression_cpu_index(running_machine *machine, const char *tag)
{
int index;
for (index = 0; index < ARRAY_LENGTH(machine->config->cpu); index++)
if (machine->config->cpu[index].tag != NULL && mame_stricmp(machine->config->cpu[index].tag, tag) == 0)
return index;
return -1;
}

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

@ -35,7 +35,7 @@ static void update(const device_config *device, UINT8 new_val, UINT8 mask)
{
latch8_t *latch8 = get_safe_token(device);
UINT8 old_val = latch8->value;
latch8->value = (latch8->value & ~mask) | (new_val & mask);
if (latch8->has_node_map)
@ -53,7 +53,7 @@ static TIMER_CALLBACK( latch8_timerproc )
const device_config *device = ptr;
UINT8 new_val = param & 0xFF;
UINT8 mask = param >> 8;
update(device, new_val, mask);
}
@ -63,7 +63,7 @@ READ8_DEVICE_HANDLER( latch8_r )
{
latch8_t *latch8 = get_safe_token(device);
UINT8 res;
assert(offset == 0);
res = latch8->value;
@ -119,14 +119,14 @@ WRITE8_DEVICE_HANDLER( latch8_reset)
}
/* read bit x */
/* return (latch >> x) & 0x01 */
/* return (latch >> x) & 0x01 */
INLINE UINT8 latch8_bitx_r(const device_config *device, offs_t offset, int bit)
{
latch8_t *latch8 = get_safe_token(device);
assert( offset == 0);
return (latch8->value >> bit) & 0x01;
}
@ -158,7 +158,7 @@ INLINE void latch8_bitx_w(const device_config *device, int bit, offs_t offset, U
UINT8 masked_data = (((data >> bit) & 0x01) << offset);
assert( offset < 8);
/* No need to synchronize ? */
if (latch8->intf->nosync & mask)
update(device, masked_data, mask);
@ -191,7 +191,7 @@ static DEVICE_START( latch8 )
latch8->intf = device->inline_config;
latch8->value = 0x0;
/* setup nodemap */
for (i=0; i<8; i++)
if (latch8->intf->node_map[i] )
@ -203,7 +203,7 @@ static DEVICE_START( latch8 )
{
if (latch8->devices[i] != NULL)
fatalerror("Device %s: Bit %d already has a handler.\n", device->tag, i);
latch8->devices[i] = devtag_get_device(device->machine,
latch8->devices[i] = devtag_get_device(device->machine,
latch8->intf->devread[i].type,
latch8->intf->devread[i].tag);
if (latch8->devices[i] == NULL)

View File

@ -1,15 +1,15 @@
/**********************************************************************
8 bit latch interface and emulation
Generic emulation of 74LS174/175, 74LS259 and other latches.
Apart from providing synched latch operation, these
latches can be configured to read their input bitwise from other
devices as well and individual bits can be connected to
discrete nodes.
Please see audio/dkong.c for examples.
**********************************************************************/
#ifndef __LATCH8_H_
@ -36,7 +36,7 @@ typedef struct _latch8_config latch8_config;
struct _latch8_config
{
/* only for byte reads, does not affect bit reads and node_map */
UINT32 maskout;
UINT32 maskout;
UINT32 xor; /* after mask */
UINT32 nosync;
UINT32 node_map[8];
@ -57,11 +57,11 @@ struct _latch8_config
/* Bit mask specifying bits to be inverted */
#define MDRV_LATCH8_INVERT(_xor) \
MDRV_DEVICE_CONFIG_DATA32(latch8_config, xor, _xor)
MDRV_DEVICE_CONFIG_DATA32(latch8_config, xor, _xor)
/* Bit mask specifying bits not needing cpu synchronization. */
#define MDRV_LATCH8_NOSYNC(_nosync) \
MDRV_DEVICE_CONFIG_DATA32(latch8_config, nosync, _nosync)
MDRV_DEVICE_CONFIG_DATA32(latch8_config, nosync, _nosync)
/* Write bit to discrete node */
#define MDRV_LATCH8_DISCRETE_NODE(_bit, _node) \
@ -110,7 +110,7 @@ WRITE8_DEVICE_HANDLER( latch8_w );
WRITE8_DEVICE_HANDLER( latch8_reset );
/* read bit x */
/* return (latch >> x) & 0x01 */
/* return (latch >> x) & 0x01 */
READ8_DEVICE_HANDLER( latch8_bit0_r );
READ8_DEVICE_HANDLER( latch8_bit1_r );
@ -122,7 +122,7 @@ READ8_DEVICE_HANDLER( latch8_bit6_r );
READ8_DEVICE_HANDLER( latch8_bit7_r );
/* read inverted bit x */
/* return (latch >> x) & 0x01 */
/* return (latch >> x) & 0x01 */
READ8_DEVICE_HANDLER( latch8_bit0_q_r );
READ8_DEVICE_HANDLER( latch8_bit1_q_r );

View File

@ -126,7 +126,7 @@ INLINE float round_nearest(float f)
INLINE UINT8 clamp16_shift8(UINT32 x)
{
return (((INT32) x < 0) ? 0 : (x > 65535 ? 255: x >> 8));
return (((INT32) x < 0) ? 0 : (x > 65535 ? 255: x >> 8));
}
INLINE UINT32 ycc_to_rgb(UINT32 ycc)
@ -152,19 +152,19 @@ INLINE UINT32 ycc_to_rgb(UINT32 ycc)
R = clip(( 298 * Y - 298 * 16 + 409 * Cr - 409 * 128 + 128) >> 8)
G = clip(( 298 * Y - 298 * 16 - 100 * Cb + 100 * 128 - 208 * Cr + 208 * 128 + 128) >> 8)
B = clip(( 298 * Y - 298 * 16 + 516 * Cb - 516 * 128 + 128) >> 8)
Now combine constants:
R = clip(( 298 * Y + 409 * Cr - 56992) >> 8)
G = clip(( 298 * Y - 100 * Cb - 208 * Cr + 34784) >> 8)
B = clip(( 298 * Y + 516 * Cb - 70688) >> 8)
Define common = 298 * y - 56992. This will save one addition
Define common = 298 * y - 56992. This will save one addition
R = clip(( common + 409 * Cr - 0) >> 8)
G = clip(( common - 100 * Cb - 208 * Cr + 91776) >> 8)
B = clip(( common + 516 * Cb - 13696) >> 8)
*/
UINT8 y = ycc;
UINT8 cb = ycc >> 8;

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;
@ -1014,7 +1014,7 @@ static void dst_mixer_step(node_description *node)
rTemp = info->r[bit];
connected = 1;
vTemp = DST_MIXER__IN(bit);
if (context->r_node[bit] != NULL)
{
/* a node has the posibility of being disconnected from the circuit. */
@ -1049,7 +1049,7 @@ static void dst_mixer_step(node_description *node)
}
}
}
if (connected)
{
if (info->c[bit] != 0)

View File

@ -697,7 +697,7 @@ static void dss_note_reset(node_description *node)
context->clock_type = (int)DSS_NOTE__CLOCK_TYPE & DISC_CLK_MASK;
context->out_type = (int)DSS_NOTE__CLOCK_TYPE & DISC_OUT_MASK;
context->last = (DSS_NOTE__CLOCK != 0);
context->t_left = 0;
context->t_clock = 1.0 / DSS_NOTE__CLOCK;
@ -754,7 +754,7 @@ static void dss_op_amp_osc_step(node_description *node)
case DISC_OP_AMP_OSCILLATOR_VCO_1:
/* Work out the charge rates. */
/* i is not a current. It is being used as a temp variable. */
i = DSS_OP_AMP_OSC__VMOD1 * context->temp1;
i = DSS_OP_AMP_OSC__VMOD1 * context->temp1;
iCharge[0] = (DSS_OP_AMP_OSC__VMOD1 - i) / info->r1;
iCharge[1] = (i - (DSS_OP_AMP_OSC__VMOD1 * context->temp2)) / context->temp3;
break;

View File

@ -668,7 +668,7 @@ static void init_nodes(discrete_info *info, discrete_sound_block *block_list)
node->context = NULL;
info->discrete_input_streams++;
}
}
/* if no outputs, give an error */

View File

@ -160,13 +160,13 @@
* Consider the following counter outputs vs DAC_R1
* calculations. The count changes from 9 to 10. It has
* been at the new state for 75% of the sample.
*
*
* counter binary x_time -- DAC_R1 bit energy --
* out count D3 D2 D1 D0
* 9.0 1001 0.0 1.0 0.0 0.0 1.0
* 10.75 1010 0.75 1.0 0.0 0.75 0.25
* 10.75 1010 0.75 1.0 0.0 0.75 0.25
* 10.0 1010 0.0 1.0 0.0 1.0 0.0
*
*
* The DAC_R1 uses these energy calculations to scale the
* voltages created on each of its resistors. This
* anti-aliases the waveform no mater what the resistor
@ -2968,7 +2968,7 @@
* address of discrete_555_cc_desc structure)
*
* discrete_555_cc_desc =
* {
* {
* options; - bit mapped options
* v_pos; - B+ voltage of 555
* v_cc_source; - Voltage of the Constant Current source
@ -2982,7 +2982,7 @@
* DEFAULT_555_HIGH - to use the normal output voltage based on v_pos
* or combine both as:
* DEFAULT_555_VALUES
*
*
* Output Types:
* See DISCRETE_555_ASTABLE for description.
*
@ -3745,7 +3745,7 @@ typedef struct _discrete_555_vco1_desc discrete_555_vco1_desc;
struct _discrete_555_vco1_desc
{
int options; /* bit mapped options */
double r1, r2, r3, r4, c;
double r1, r2, r3, r4, c;
double v_pos; /* B+ voltage of 555 */
double v_charge; /* (ignored) */
double v_out_high; /* High output voltage of 555 (Defaults to v_pos - 1.2V) */

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

@ -2667,14 +2667,14 @@ static void menu_sliders(running_machine *machine, ui_menu *menu, void *paramete
const slider_state *slider = event->itemref;
INT32 curvalue = (*slider->update)(machine, slider->arg, NULL, SLIDER_NOCHANGE);
INT32 increment = 0;
switch (event->iptkey)
{
/* toggle visibility */
case IPT_UI_ON_SCREEN_DISPLAY:
*hidden = !*hidden;
break;
/* decrease value */
case IPT_UI_LEFT:
if (input_code_pressed(KEYCODE_LALT) || input_code_pressed(KEYCODE_RALT))
@ -2686,7 +2686,7 @@ static void menu_sliders(running_machine *machine, ui_menu *menu, void *paramete
else
increment = -slider->incval;
break;
/* increase value */
case IPT_UI_RIGHT:
if (input_code_pressed(KEYCODE_LALT) || input_code_pressed(KEYCODE_RALT))
@ -2698,7 +2698,7 @@ static void menu_sliders(running_machine *machine, ui_menu *menu, void *paramete
else
increment = slider->incval;
break;
/* restore default */
case IPT_UI_SELECT:
increment = slider->defval - curvalue;
@ -2721,7 +2721,7 @@ static void menu_sliders(running_machine *machine, ui_menu *menu, void *paramete
ui_menu_reset(menu, UI_MENU_RESET_REMEMBER_REF);
}
}
/* if we are selecting an invalid item and we are hidden, skip to the next one */
else if (*hidden)
{
@ -2752,7 +2752,7 @@ static void menu_sliders_populate(running_machine *machine, ui_menu *menu)
{
astring *tempstring = astring_alloc();
const slider_state *curslider;
/* add all sliders */
for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next)
{
@ -2834,7 +2834,7 @@ static void menu_sliders_custom_render(running_machine *machine, ui_menu *menu,
/* draw the actual text */
ui_draw_text_full(astring_c(tempstring), space_width + UI_BOX_LR_BORDER, line_height + ui_height - UI_BOX_TB_BORDER - text_height, ui_width - 2.0f * UI_BOX_LR_BORDER,
JUSTIFY_CENTER, WRAP_WORD, DRAW_NORMAL, ARGB_WHITE, ARGB_BLACK, NULL, &text_height);
astring_free(tempstring);
}
}

View File

@ -50,7 +50,7 @@ enum
CMD_9,
CMD_SEARCH
};
/*************************************
@ -215,7 +215,7 @@ INLINE void pr8210_add_command(UINT8 command)
static TIMER_CALLBACK( pr8210_bit_off_callback )
{
const device_config *laserdisc = ptr;
/* deassert the control line */
laserdisc_line_w(laserdisc, LASERDISC_LINE_CONTROL, CLEAR_LINE);
}
@ -227,7 +227,7 @@ static TIMER_CALLBACK( pr8210_bit_callback )
const device_config *laserdisc = ptr;
UINT8 bitsleft = param >> 16;
UINT8 data = param;
/* if we have bits, process */
if (bitsleft != 0)
{
@ -274,7 +274,7 @@ static void pr8210_execute(const device_config *laserdisc, int command)
{
static const UINT8 digits[10] = { 0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0d, 0x1d, 0x03, 0x13 };
int prev_was_number = pr8210_last_was_number;
pr8210_last_was_number = FALSE;
switch (command)
{
@ -282,12 +282,12 @@ static void pr8210_execute(const device_config *laserdisc, int command)
pr8210_add_command(0x1c);
playing = TRUE;
break;
case CMD_SCAN_REVERSE_END:
pr8210_add_command(0x14);
playing = TRUE;
break;
case CMD_STEP_REVERSE:
pr8210_add_command(0x12);
playing = FALSE;
@ -302,32 +302,32 @@ static void pr8210_execute(const device_config *laserdisc, int command)
pr8210_add_command(0x14);
playing = TRUE;
break;
case CMD_STEP_FORWARD:
pr8210_add_command(0x04);
playing = FALSE;
break;
case CMD_PLAY:
pr8210_add_command(0x14);
playing = TRUE;
break;
case CMD_PAUSE:
pr8210_add_command(0x0a);
playing = FALSE;
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:
case CMD_1:
case CMD_2:
@ -343,7 +343,7 @@ static void pr8210_execute(const device_config *laserdisc, int command)
pr8210_add_command(digits[command - CMD_0]);
pr8210_last_was_number = TRUE;
break;
case CMD_SEARCH:
pr8210_add_command(0x1a);
playing = FALSE;
@ -368,12 +368,12 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
laserdisc_data_w(laserdisc, 0xf8);
playing = TRUE;
break;
case CMD_SCAN_REVERSE_END:
laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE;
break;
case CMD_STEP_REVERSE:
laserdisc_data_w(laserdisc, 0xfe);
playing = FALSE;
@ -388,17 +388,17 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE;
break;
case CMD_STEP_FORWARD:
laserdisc_data_w(laserdisc, 0xf6);
playing = FALSE;
break;
case CMD_PLAY:
laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE;
break;
case CMD_PAUSE:
laserdisc_data_w(laserdisc, 0xa0);
playing = FALSE;
@ -413,7 +413,7 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
laserdisc_data_w(laserdisc, digits[0]);
laserdisc_data_w(laserdisc, 0xf1);
break;
case CMD_0:
case CMD_1:
case CMD_2:
@ -426,7 +426,7 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
case CMD_9:
laserdisc_data_w(laserdisc, digits[command - CMD_0]);
break;
case CMD_SEARCH:
laserdisc_data_w(laserdisc, 0xf7);
playing = FALSE;
@ -479,11 +479,11 @@ 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;
default:
printf("%03X:pia_r(%02X)\n", activecpu_get_pc(), offset);
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)
@ -535,7 +535,7 @@ static WRITE8_HANDLER( pr8210_pia_w )
printf(")\n");
pr8210_pia_portb = data;
break;
default:
printf("%03X:pia_w(%02X) = %02X\n", activecpu_get_pc(), offset, data);
break;
@ -547,19 +547,19 @@ 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);
/* loop at beginning waits for $40=0, $02=1 */
return 0xff & ~0x40 & ~0x04;
}
@ -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

@ -1109,11 +1109,11 @@ static const nes_interface nes_interface_2 = { "n2a03b" };
MACHINE_DRIVER_START( dkong2b_audio )
/* sound latches */
MDRV_LATCH8_ADD("ls175.3d") /* sound cmd latch */
MDRV_LATCH8_MASKOUT(0xf0)
MDRV_LATCH8_INVERT(0x0F)
MDRV_LATCH8_ADD("ls259.6h")
MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP)
MDRV_LATCH8_DISCRETE_NODE(1, DS_SOUND1_INP)
@ -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 */
@ -1159,7 +1159,7 @@ MACHINE_DRIVER_START( radarsc1_audio )
MDRV_IMPORT_FROM( radarscp_audio )
MDRV_CPU_MODIFY("sound")
MDRV_CPU_IO_MAP(radarsc1_sound_io_map, 0)
/* virtual_p2 is not read -see memory map-, all bits are output bits */
MDRV_LATCH8_ADD( "virtual_p1" ) /* virtual latch for port A */
MDRV_LATCH8_INVERT( 0x80 ) /* signal is inverted */
@ -1174,10 +1174,10 @@ MACHINE_DRIVER_END
MACHINE_DRIVER_START( dkongjr_audio )
/* sound latches */
MDRV_LATCH8_ADD("ls174.3d")
MDRV_LATCH8_MASKOUT(0xE0)
MDRV_LATCH8_ADD( "ls259.6h")
MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP)
MDRV_LATCH8_DISCRETE_NODE(1, DS_SOUND1_INP)
@ -1195,7 +1195,7 @@ MACHINE_DRIVER_START( dkongjr_audio )
MDRV_LATCH8_DEVREAD(5, LATCH8, "ls259.6h", latch8_r, 3)
MDRV_LATCH8_DEVREAD(4, LATCH8, "ls259.6h", latch8_r, 6)
MDRV_LATCH8_DISCRETE_NODE(7, DS_DISCHARGE_INV)
MDRV_CPU_ADD("sound", I8035,I8035_CLOCK)
MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0)
MDRV_CPU_IO_MAP(dkongjr_sound_io_map, 0)
@ -1222,7 +1222,7 @@ MACHINE_DRIVER_START( dkong3_audio )
MDRV_LATCH8_ADD( "latch1")
MDRV_LATCH8_ADD( "latch2")
MDRV_LATCH8_ADD( "latch3")
MDRV_SPEAKER_STANDARD_MONO("mono")
MDRV_SOUND_ADD("nes1", NES, N2A03_DEFAULTCLOCK)
MDRV_SOUND_CONFIG(nes_interface_1)

View File

@ -141,7 +141,7 @@ static const discrete_555_desc starshp1_555_b10 =
DEFAULT_TTL_V_LOGIC_1 /* cheat and use and anti-alias IC A10 level */
};
static const discrete_mixer_desc starshp1_final_mix =
static const discrete_mixer_desc starshp1_final_mix =
{
DISC_MIXER_IS_RESISTOR,
{STARSHP1_R66, STARSHP1_R126, STARSHP1_R59 + STARSHP1_R60, STARSHP1_R74, STARSHP1_R75},
@ -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

@ -1859,7 +1859,7 @@ static INPUT_PORTS_START( 3wonders )
PORT_START("DSWA")
CPS1_COINAGE_1( "SW(A)" )
PORT_DIPNAME( 0x40, 0x40, "2 Coins to Start, 1 to Continue" ) PORT_CONDITION("DSWA", 0x3f,PORTCOND_NOTEQUALS,0x00) PORT_DIPLOCATION("SW(A):7")
PORT_DIPNAME( 0x40, 0x40, "2 Coins to Start, 1 to Continue" ) PORT_CONDITION("DSWA", 0x3f,PORTCOND_NOTEQUALS,0x00) PORT_DIPLOCATION("SW(A):7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) ) PORT_CONDITION("DSWA", 0x3f, PORTCOND_EQUALS, 0x00) PORT_DIPLOCATION("SW(A):7")

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
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
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
*/
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
Possible video clocks:
60MHz / 15.4335kHz = 3887.647 / 8 = 485.956 ~ 486 -> likely
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
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
*/
MDRV_MACHINE_START(cps3)

View File

@ -803,7 +803,7 @@ static ADDRESS_MAP_START( dkongjr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x7400, 0x77ff) AM_RAM_WRITE(dkong_videoram_w)
AM_BASE_MEMBER(dkong_state, video_ram)
AM_RANGE(0x7800, 0x780f) AM_DEVREADWRITE(DMA8257, "dma8257", dma8257_r, dma8257_w) /* P8257 control registers */
AM_RANGE(0x7c00, 0x7c00) AM_READ_PORT("IN0") AM_LATCH8_WRITE("ls174.3d") /* IN0, sound interface */
AM_RANGE(0x7c80, 0x7c80) AM_READ_PORT("IN1") AM_WRITE(dkongjr_gfxbank_w)
@ -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

@ -316,7 +316,7 @@ static DRIVER_INIT( lhzb2 )
UINT16 *src = (UINT16 *) (memory_region(machine, "main"));
int rom_size = 0x80000;
for (i=0; i<rom_size/2; i++)
{
UINT16 x = src[i];
@ -396,7 +396,7 @@ static DRIVER_INIT( lhzb2 )
src[i] = x;
}
}
static DRIVER_INIT( lhzb2a )
@ -405,11 +405,11 @@ static DRIVER_INIT( lhzb2a )
UINT16 *src = (UINT16 *) (memory_region(machine, "main"));
int rom_size = 0x80000;
for (i=0; i<rom_size/2; i++)
{
UINT16 x = src[i];
/* bit 0 xor layer */
if( i & 0x20/2 )
@ -465,7 +465,7 @@ static DRIVER_INIT( mgcs )
UINT16 *src = (UINT16 *) (memory_region(machine, "main"));
int rom_size = 0x80000;
for (i=0; i<rom_size/2; i++)
{
UINT16 x = src[i];
@ -515,7 +515,7 @@ static DRIVER_INIT( slqz2 )
UINT16 *src = (UINT16 *) (memory_region(machine, "main"));
int rom_size = 0x80000;
for (i=0; i<rom_size/2; i++)
{
UINT16 x = src[i];
@ -546,7 +546,7 @@ static DRIVER_INIT( slqz2 )
{
x ^= 0x4000;
}
else
else
{
if( i & 0x200/2 )
{
@ -592,7 +592,7 @@ static DRIVER_INIT( sdmg2 )
UINT16 *src = (UINT16 *) (memory_region(machine, "main"));
int rom_size = 0x80000;
for (i=0; i<rom_size/2; i++)
{
UINT16 x = src[i];

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

@ -1229,8 +1229,8 @@ static INPUT_PORTS_START( connect4 )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5)
INPUT_PORTS_END
static const stepper_interface barcrest_reel_interface =
{
static const stepper_interface barcrest_reel_interface =
{
BARCREST_48STEP_REEL,
0,
8,

View File

@ -442,10 +442,10 @@ static void namconb1_cpureg8_w(running_machine *machine, int reg, UINT8 data)
vblank_irq_active = 0;
}
break;
case 0x16: // Watchdog
break;
case 0x18: // C75 Control
if(data & 1) {
cpunum_set_input_line(machine, 1, INPUT_LINE_HALT, CLEAR_LINE);

View File

@ -1436,8 +1436,8 @@ static ADDRESS_MAP_START( readmem_mcu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0008, 0x003f) AM_READ(SMH_RAM)
AM_RANGE(0x0040, 0x01bf) AM_READ(SMH_RAM)
AM_RANGE(0x01c0, 0x1fff) AM_READ(SMH_ROM)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DIAL0")
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DIAL0")
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DIAL1")
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DIAL2")
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("DIAL3")

View File

@ -271,7 +271,7 @@ static READ16_HANDLER( musobana_inputport_0_r )
case 0x04: portdata = input_port_read(machine, "KEY2"); break;
case 0x08: portdata = input_port_read(machine, "KEY3"); break;
case 0x10: portdata = input_port_read(machine, "KEY4"); break;
default: portdata = input_port_read(machine, "KEY0") & input_port_read(machine, "KEY1") & input_port_read(machine, "KEY2")
default: portdata = input_port_read(machine, "KEY0") & input_port_read(machine, "KEY1") & input_port_read(machine, "KEY2")
& input_port_read(machine, "KEY3") & input_port_read(machine, "KEY4"); break;
}

View File

@ -765,7 +765,7 @@ static WRITE16_HANDLER( hachamf_mainram_w )
static ADDRESS_MAP_START( hachamf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
/* I/O Region */
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("UNK")

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,20 +122,20 @@ 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? */
if (mcu_status)
Interestingly, s1945jn has the code that spins on this bit,
but said code is never reached. Prototype? */
if (mcu_status)
ret = 0x01;
mcu_status = !mcu_status; /* hack */
@ -678,7 +678,7 @@ static INPUT_PORTS_START( sngkace )
PORT_DIPSETTING( 0x000000bf, "Hong Kong" )
PORT_DIPSETTING( 0x0000007f, "Taiwan" )
#endif
PORT_BIT( 0x000000ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x000000ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END

View File

@ -684,7 +684,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( s1945ii )
PORT_INCLUDE( common )
PORT_INCLUDE( common )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* No button 3 */
@ -698,7 +698,7 @@ static INPUT_PORTS_START( s1945ii )
INPUT_PORTS_END
static INPUT_PORTS_START( soldivid )
PORT_INCLUDE( common )
PORT_INCLUDE( common )
PORT_START("JP4") /* jumper pads on the PCB */
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
@ -708,7 +708,7 @@ static INPUT_PORTS_START( soldivid )
INPUT_PORTS_END
static INPUT_PORTS_START( daraku )
PORT_INCLUDE( common )
PORT_INCLUDE( common )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
@ -726,7 +726,7 @@ static INPUT_PORTS_START( daraku )
INPUT_PORTS_END
static INPUT_PORTS_START( sbomberb )
PORT_INCLUDE( common )
PORT_INCLUDE( common )
/* If Debug is HIGH then you can perform rom test, but EEPROM resets? */
PORT_MODIFY("INPUTS")
@ -741,7 +741,7 @@ static INPUT_PORTS_START( sbomberb )
INPUT_PORTS_END
static INPUT_PORTS_START( gunbird2 ) /* Different Region */
PORT_INCLUDE( common )
PORT_INCLUDE( common )
/* If Debug is HIGH then you can perform rom test, but EEPROM resets */
PORT_START("JP4") /* jumper pads on the PCB */
@ -753,7 +753,7 @@ static INPUT_PORTS_START( gunbird2 ) /* Different Region */
INPUT_PORTS_END
static INPUT_PORTS_START( s1945iii ) /* Different Region again */
PORT_INCLUDE( common )
PORT_INCLUDE( common )
/* If Debug is HIGH then you can perform rom test, EEPROM doesn't reset */
PORT_START("JP4") /* jumper pads on the PCB */
@ -765,7 +765,7 @@ static INPUT_PORTS_START( s1945iii ) /* Different Region again */
INPUT_PORTS_END
static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */
PORT_INCLUDE( common )
PORT_INCLUDE( common )
PORT_MODIFY("INPUTS")
PORT_DIPNAME( 0x00000040, 0x00000000, "Debug" ) /* Must be HIGH (Or Security Error), so can perform test */
@ -781,7 +781,7 @@ static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */
INPUT_PORTS_END
static INPUT_PORTS_START( gnbarich ) /* Same as S1945iii except only one button */
PORT_INCLUDE( common )
PORT_INCLUDE( common )
/* If Debug is HIGH then you can perform rom test, but EEPROM resets? */
PORT_START("JP4") /* jumper pads on the PCB */
@ -793,13 +793,13 @@ static INPUT_PORTS_START( gnbarich ) /* Same as S1945iii except only one button
INPUT_PORTS_END
static INPUT_PORTS_START( mjgtaste ) /* This will need the Mahjong inputs */
PORT_INCLUDE( common )
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 ) )
@ -1378,7 +1378,7 @@ static INPUT_PORTS_START( sgladiat )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW2:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* code at 0x4169 */
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* code at 0x4169 */
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Debug Mode (No Opponents)" ) PORT_DIPLOCATION("DSW2:8")
@ -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

@ -710,7 +710,7 @@ static INPUT_PORTS_START( sunaq )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("DSW2") /* Unused? */
PORT_START("DSW2") /* Unused? */
INPUT_PORTS_END
/***************************************************************************

View File

@ -496,8 +496,8 @@ static INTERRUPT_GEN(skns_interrupt)
Input port definitions
NOTE: The driver reads data from eight 8bit input ports, even if they
are unused. So I left them mapped.
NOTE: The driver reads data from eight 8bit input ports, even if they
are unused. So I left them mapped.
**********************************************************************************/

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

@ -3942,7 +3942,7 @@ ROM_START( sncwgltd )
ROM_LOAD( "ic15.bin", 0x1000000, 0x400000, CRC(2551d816) SHA1(e1500d4bfa8cc55220c366a5852263ac2070da82) )
ROM_LOAD( "ic16.bin", 0x1400000, 0x400000, CRC(21b401bc) SHA1(89374b80453c474aa1dd3a219422f557f95a262c) )
ROM_END
/* Taito FX1a/FX1b */

View File

@ -384,7 +384,7 @@ CUSTOM_INPUT( nb1413m3_busyflag_r )
/* 2008-08 FP:
* In ALL games (but pastelg, hyhoo & hyhoo2) nb1413m3_outcoin_flag is read at inputport0.
* In ALL games (but pastelg, hyhoo & hyhoo2) nb1413m3_outcoin_flag is read at inputport0.
* However, a few games (lovehous, maiko, mmaiko, hanaoji and the ones using inputport3_r below)
* read nb1413m3_outcoin_flag also at inputport3! Is this the correct behaviour for these games
* or should they only check the flag at inputport3? */

View File

@ -37,7 +37,7 @@ typedef struct _stepper
index_patt; /* pattern needed on coils (0=don't care) */
UINT8 optic;
} stepper;
} stepper;
static stepper step[MAX_STEPPERS];
/* step table, use previouspattern::newpattern as index */
@ -593,8 +593,8 @@ static const int BarcrestStepTab[] =
/* useful interfaces */
const stepper_interface starpoint_interface_48step =
{
const stepper_interface starpoint_interface_48step =
{
STARPOINT_48STEP_REEL,
16,
24,

View File

@ -744,8 +744,8 @@ static void radarscp_step(running_machine *machine, int line_cnt)
state->sig30Hz = (1-state->sig30Hz);
/* Now mix with SND02 (sound 2) line - on 74ls259, bit2 */
state->rflip_sig = latch8_bit2_r(dev6h, 0) & state->sig30Hz;
state->rflip_sig = latch8_bit2_r(dev6h, 0) & state->sig30Hz;
sig = state->rflip_sig ^ ((line_cnt & 0x80)>>7);
if (state->hardware_type == HARDWARE_TRS01)
@ -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

@ -666,13 +666,13 @@ static void ptn(int opcode,int src_x,int src_y,INT16 _ax,INT16 _ay)
case 0x0000: dst_step1_x = 1; dst_step1_y = 0; dst_step2_x = -ax_neg*ax; dst_step2_y = 1; break;
case 0x0100: logerror("PTN: not supported"); break;
case 0x0200: dst_step1_x = 0; dst_step1_y = 1; dst_step2_x = -1; dst_step2_y = -ax_neg*ax; break;
case 0x0300: logerror("PTN: not supported"); break;
case 0x0300: logerror("PTN: not supported"); break;
case 0x0400: dst_step1_x = -1; dst_step1_y = 0; dst_step2_x = ax_neg*ax; dst_step2_y = -1; break;
case 0x0500: logerror("PTN: not supported"); break;
case 0x0500: logerror("PTN: not supported"); break;
case 0x0600: dst_step1_x = 0; dst_step1_y = -1; dst_step2_x = 1; dst_step2_y = ax_neg*ax; break;
case 0x0700: logerror("PTN: not supported"); break;
case 0x0700: logerror("PTN: not supported"); break;
}
src_step1_x = 1; src_step1_y = 0; src_step2_x = -ax; src_step2_y = 1;
for (;;)
@ -680,7 +680,7 @@ static void ptn(int opcode,int src_x,int src_y,INT16 _ax,INT16 _ay)
for (;;)
{
getpixel = get_pixel_ptn(xxs,yys);
switch ((opcode & 0x0018) >> 3)
switch ((opcode & 0x0018) >> 3)
{
case 0x0000:
if (getpixel)

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

@ -1758,7 +1758,7 @@ static texture_info *texture_create(d3d_info *d3d, const render_texinfo *texsour
// for the target surface, we allocate a render target texture
scwidth = texture->rawwidth * texture->xprescale;
scheight = texture->rawheight * texture->yprescale;
// target surfaces typically cannot be YCbCr, so we always pick RGB in that case
finalfmt = (format != d3d->yuv_format) ? format : D3DFMT_A8R8G8B8;
result = (*d3dintf->device.create_texture)(d3d->device, scwidth, scheight, 1, D3DUSAGE_RENDERTARGET, finalfmt, D3DPOOL_DEFAULT, &texture->d3dfinaltex);

View File

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