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 Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially You are not allowed to distribute this software commercially
**************************************************************************** ****************************************************************************
Note that the default internal divisor for this chip is by 3 and Note that the default internal divisor for this chip is by 3 and
then again by 5, or by 15 total. then again by 5, or by 15 total.
**************************************************************************** ****************************************************************************
Chip RAM ROM I/O Chip RAM ROM I/O
---- --- --- --- ---- --- --- ---
8021 64 1k 21 (ROM, reduced instruction set) 8021 64 1k 21 (ROM, reduced instruction set)
8035 64 0 27 (external ROM) 8035 64 0 27 (external ROM)
8041 64 1k 18 (ROM) 8041 64 1k 18 (ROM)
8048 64 1k 27 (ROM) 8048 64 1k 27 (ROM)
8648 64 1k 27 (OTPROM) 8648 64 1k 27 (OTPROM)
8741 64 1k 18 (EPROM) 8741 64 1k 18 (EPROM)
8748 64 1k 27 (EPROM) 8748 64 1k 27 (EPROM)
8884 64 1k 8884 64 1k
N7751 128 2k N7751 128 2k
8039 128 0 27 (external ROM) 8039 128 0 27 (external ROM)
8049 128 2k 27 (ROM) 8049 128 2k 27 (ROM)
8749 128 2k 27 (EPROM) 8749 128 2k 27 (EPROM)
M58715 128 0 (external ROM) 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 conditional jump instruction
-------------------------------------------------*/ -------------------------------------------------*/
@ -599,7 +599,7 @@ static void ret(void) { pull_pc(); }
static void retr(void) static void retr(void)
{ {
pull_pc_psw(); pull_pc_psw();
/* implicitly clear the IRQ in progress flip flop and re-check interrupts */ /* implicitly clear the IRQ in progress flip flop and re-check interrupts */
mcs48.irq_in_progress = FALSE; mcs48.irq_in_progress = FALSE;
check_irqs(); 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) static void mcs48_init(int index, int clock, const void *config, int (*irqcallback)(int), UINT16 romsize)
{ {
memset(&mcs48, 0, sizeof(mcs48)); memset(&mcs48, 0, sizeof(mcs48));
mcs48.irq_callback = irqcallback; mcs48.irq_callback = irqcallback;
mcs48.int_rom_size = romsize; mcs48.int_rom_size = romsize;
@ -803,18 +803,18 @@ static void check_irqs(void)
if (mcs48.irq_state && mcs48.xirq_enabled) if (mcs48.irq_state && mcs48.xirq_enabled)
{ {
mcs48.irq_in_progress = TRUE; mcs48.irq_in_progress = TRUE;
/* transfer to location 0x03 */ /* transfer to location 0x03 */
push_pc_psw(); push_pc_psw();
PC = 0x03; PC = 0x03;
change_pc(0x03); change_pc(0x03);
mcs48.inst_cycles += 2; mcs48.inst_cycles += 2;
/* indicate we took the external IRQ */ /* indicate we took the external IRQ */
if (mcs48.irq_callback != NULL) if (mcs48.irq_callback != NULL)
(*mcs48.irq_callback)(0); (*mcs48.irq_callback)(0);
} }
/* timer overflow interrupts follow */ /* timer overflow interrupts follow */
if (mcs48.timer_overflow && mcs48.tirq_enabled) if (mcs48.timer_overflow && mcs48.tirq_enabled)
{ {
@ -825,7 +825,7 @@ static void check_irqs(void)
PC = 0x07; PC = 0x07;
change_pc(0x07); change_pc(0x07);
mcs48.inst_cycles += 2; mcs48.inst_cycles += 2;
/* timer overflow flip-flop is reset once taken */ /* timer overflow flip-flop is reset once taken */
mcs48.timer_overflow = FALSE; mcs48.timer_overflow = FALSE;
} }
@ -840,7 +840,7 @@ static void check_irqs(void)
static void burn_cycles(int count) static void burn_cycles(int count)
{ {
int timerover = FALSE; int timerover = FALSE;
/* if the timer is enabled, accumulate prescaler cycles */ /* if the timer is enabled, accumulate prescaler cycles */
if (mcs48.timecount_enabled & TIMER_ENABLED) if (mcs48.timecount_enabled & TIMER_ENABLED)
{ {
@ -849,7 +849,7 @@ static void burn_cycles(int count)
mcs48.prescaler &= 0x1f; mcs48.prescaler &= 0x1f;
timerover = (mcs48.timer == 0); timerover = (mcs48.timer == 0);
} }
/* if the counter is enabled, poll the T1 test input once for each cycle */ /* if the counter is enabled, poll the T1 test input once for each cycle */
else if (mcs48.timecount_enabled & COUNTER_ENABLED) else if (mcs48.timecount_enabled & COUNTER_ENABLED)
for ( ; count > 0; count--) for ( ; count > 0; count--)
@ -863,7 +863,7 @@ static void burn_cycles(int count)
if (timerover) if (timerover)
{ {
mcs48.timer_flag = TRUE; mcs48.timer_flag = TRUE;
/* according to the docs, if an overflow occurs with interrupts disabled, the overflow is not stored */ /* according to the docs, if an overflow occurs with interrupts disabled, the overflow is not stored */
if (mcs48.tirq_enabled) if (mcs48.tirq_enabled)
{ {
@ -895,7 +895,7 @@ static int mcs48_execute(int cycles)
/* iterate over remaining cycles, guaranteeing at least one instruction */ /* iterate over remaining cycles, guaranteeing at least one instruction */
do do
{ {
/* fetch next opcode */ /* fetch next opcode */
mcs48.prevpc = mcs48.pc; mcs48.prevpc = mcs48.pc;
debugger_instruction_hook(Machine, PC); debugger_instruction_hook(Machine, PC);
opcode = opcode_fetch(PC++); opcode = opcode_fetch(PC++);
@ -903,7 +903,7 @@ static int mcs48_execute(int cycles)
/* process opcode and count cycles */ /* process opcode and count cycles */
mcs48.inst_cycles = opcode_table[opcode].cycles; mcs48.inst_cycles = opcode_table[opcode].cycles;
(*opcode_table[opcode].function)(); (*opcode_table[opcode].function)();
/* burn the cycles */ /* burn the cycles */
mcs48_icount -= mcs48.inst_cycles; mcs48_icount -= mcs48.inst_cycles;
if (mcs48.timecount_enabled != 0) 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 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_BURN: info->burn = NULL; break;
case CPUINFO_PTR_DISASSEMBLE: info->disassemble = mcs48_dasm; break; case CPUINFO_PTR_DISASSEMBLE: info->disassemble = mcs48_dasm; break;
case CPUINFO_PTR_INSTRUCTION_COUNTER: info->icount = &mcs48_icount; 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_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; 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 mcs48.c
Intel MCS-48 Portable Emulator Intel MCS-48 Portable Emulator
Copyright Mirko Buffoni Copyright Mirko Buffoni
Based on the original work Copyright Dan Boris, an 8048 emulator Based on the original work Copyright Dan Boris, an 8048 emulator
You are not allowed to distribute this software commercially You are not allowed to distribute this software commercially
***************************************************************************/ ***************************************************************************/
@ -31,13 +31,13 @@ enum
MCS48_TC, MCS48_TC,
MCS48_P1, MCS48_P1,
MCS48_P2, MCS48_P2,
MCS48_R0, MCS48_R0,
MCS48_R1, MCS48_R1,
MCS48_R2, MCS48_R2,
MCS48_R3, MCS48_R3,
MCS48_R4, MCS48_R4,
MCS48_R5, MCS48_R5,
MCS48_R6, MCS48_R6,
MCS48_R7, MCS48_R7,
MCS48_EA 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) static int expression_cpu_index(running_machine *machine, const char *tag)
{ {
int index; int index;
for (index = 0; index < ARRAY_LENGTH(machine->config->cpu); 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) if (machine->config->cpu[index].tag != NULL && mame_stricmp(machine->config->cpu[index].tag, tag) == 0)
return index; return index;
return -1; return -1;
} }

View File

@ -50,11 +50,11 @@ WRITE8_DEVICE_HANDLER( at28c16_w )
if( c->last_write >= 0 ) 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 ) 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->data, 0xff, SIZE_DATA );
memset( c->id, 0xff, SIZE_ID ); memset( c->id, 0xff, SIZE_ID );
c->last_write = 0xff; c->last_write = 0xff;
@ -62,7 +62,7 @@ WRITE8_DEVICE_HANDLER( at28c16_w )
} }
else if( offset >= OFFSET_ID && c->a9_12v ) 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->id[ offset - OFFSET_ID ] = data;
c->last_write = data; c->last_write = data;
timer_adjust_oneshot( c->write_timer, ATTOTIME_IN_USEC( 200 ), 0 ); 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 ) 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; return c->last_write ^ 0x80;
} }
else if( offset >= OFFSET_ID && c->a9_12v ) 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 ]; return c->id[ offset - OFFSET_ID ];
} }
else else
@ -124,7 +124,7 @@ static DEVICE_START(at28c16)
/* validate some basic stuff */ /* validate some basic stuff */
assert(device != NULL); assert(device != NULL);
// assert(device->static_config != NULL); // assert(device->static_config != NULL);
assert(device->inline_config == NULL); assert(device->inline_config == NULL);
assert(device->machine != NULL); assert(device->machine != NULL);
assert(device->machine->config != 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); latch8_t *latch8 = get_safe_token(device);
UINT8 old_val = latch8->value; UINT8 old_val = latch8->value;
latch8->value = (latch8->value & ~mask) | (new_val & mask); latch8->value = (latch8->value & ~mask) | (new_val & mask);
if (latch8->has_node_map) if (latch8->has_node_map)
@ -53,7 +53,7 @@ static TIMER_CALLBACK( latch8_timerproc )
const device_config *device = ptr; const device_config *device = ptr;
UINT8 new_val = param & 0xFF; UINT8 new_val = param & 0xFF;
UINT8 mask = param >> 8; UINT8 mask = param >> 8;
update(device, new_val, mask); update(device, new_val, mask);
} }
@ -63,7 +63,7 @@ READ8_DEVICE_HANDLER( latch8_r )
{ {
latch8_t *latch8 = get_safe_token(device); latch8_t *latch8 = get_safe_token(device);
UINT8 res; UINT8 res;
assert(offset == 0); assert(offset == 0);
res = latch8->value; res = latch8->value;
@ -119,14 +119,14 @@ WRITE8_DEVICE_HANDLER( latch8_reset)
} }
/* read bit x */ /* 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) INLINE UINT8 latch8_bitx_r(const device_config *device, offs_t offset, int bit)
{ {
latch8_t *latch8 = get_safe_token(device); latch8_t *latch8 = get_safe_token(device);
assert( offset == 0); assert( offset == 0);
return (latch8->value >> bit) & 0x01; 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); UINT8 masked_data = (((data >> bit) & 0x01) << offset);
assert( offset < 8); assert( offset < 8);
/* No need to synchronize ? */ /* No need to synchronize ? */
if (latch8->intf->nosync & mask) if (latch8->intf->nosync & mask)
update(device, masked_data, mask); update(device, masked_data, mask);
@ -191,7 +191,7 @@ static DEVICE_START( latch8 )
latch8->intf = device->inline_config; latch8->intf = device->inline_config;
latch8->value = 0x0; latch8->value = 0x0;
/* setup nodemap */ /* setup nodemap */
for (i=0; i<8; i++) for (i=0; i<8; i++)
if (latch8->intf->node_map[i] ) if (latch8->intf->node_map[i] )
@ -203,7 +203,7 @@ static DEVICE_START( latch8 )
{ {
if (latch8->devices[i] != NULL) if (latch8->devices[i] != NULL)
fatalerror("Device %s: Bit %d already has a handler.\n", device->tag, i); 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].type,
latch8->intf->devread[i].tag); latch8->intf->devread[i].tag);
if (latch8->devices[i] == NULL) if (latch8->devices[i] == NULL)

View File

@ -1,15 +1,15 @@
/********************************************************************** /**********************************************************************
8 bit latch interface and emulation 8 bit latch interface and emulation
Generic emulation of 74LS174/175, 74LS259 and other latches. Generic emulation of 74LS174/175, 74LS259 and other latches.
Apart from providing synched latch operation, these Apart from providing synched latch operation, these
latches can be configured to read their input bitwise from other latches can be configured to read their input bitwise from other
devices as well and individual bits can be connected to devices as well and individual bits can be connected to
discrete nodes. discrete nodes.
Please see audio/dkong.c for examples. Please see audio/dkong.c for examples.
**********************************************************************/ **********************************************************************/
#ifndef __LATCH8_H_ #ifndef __LATCH8_H_
@ -36,7 +36,7 @@ typedef struct _latch8_config latch8_config;
struct _latch8_config struct _latch8_config
{ {
/* only for byte reads, does not affect bit reads and node_map */ /* only for byte reads, does not affect bit reads and node_map */
UINT32 maskout; UINT32 maskout;
UINT32 xor; /* after mask */ UINT32 xor; /* after mask */
UINT32 nosync; UINT32 nosync;
UINT32 node_map[8]; UINT32 node_map[8];
@ -57,11 +57,11 @@ struct _latch8_config
/* Bit mask specifying bits to be inverted */ /* Bit mask specifying bits to be inverted */
#define MDRV_LATCH8_INVERT(_xor) \ #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. */ /* Bit mask specifying bits not needing cpu synchronization. */
#define MDRV_LATCH8_NOSYNC(_nosync) \ #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 */ /* Write bit to discrete node */
#define MDRV_LATCH8_DISCRETE_NODE(_bit, _node) \ #define MDRV_LATCH8_DISCRETE_NODE(_bit, _node) \
@ -110,7 +110,7 @@ WRITE8_DEVICE_HANDLER( latch8_w );
WRITE8_DEVICE_HANDLER( latch8_reset ); WRITE8_DEVICE_HANDLER( latch8_reset );
/* read bit x */ /* read bit x */
/* return (latch >> x) & 0x01 */ /* return (latch >> x) & 0x01 */
READ8_DEVICE_HANDLER( latch8_bit0_r ); READ8_DEVICE_HANDLER( latch8_bit0_r );
READ8_DEVICE_HANDLER( latch8_bit1_r ); READ8_DEVICE_HANDLER( latch8_bit1_r );
@ -122,7 +122,7 @@ READ8_DEVICE_HANDLER( latch8_bit6_r );
READ8_DEVICE_HANDLER( latch8_bit7_r ); READ8_DEVICE_HANDLER( latch8_bit7_r );
/* read inverted bit x */ /* read inverted bit x */
/* return (latch >> x) & 0x01 */ /* return (latch >> x) & 0x01 */
READ8_DEVICE_HANDLER( latch8_bit0_q_r ); READ8_DEVICE_HANDLER( latch8_bit0_q_r );
READ8_DEVICE_HANDLER( latch8_bit1_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) 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) 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) 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) 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) B = clip(( 298 * Y - 298 * 16 + 516 * Cb - 516 * 128 + 128) >> 8)
Now combine constants: Now combine constants:
R = clip(( 298 * Y + 409 * Cr - 56992) >> 8) R = clip(( 298 * Y + 409 * Cr - 56992) >> 8)
G = clip(( 298 * Y - 100 * Cb - 208 * Cr + 34784) >> 8) G = clip(( 298 * Y - 100 * Cb - 208 * Cr + 34784) >> 8)
B = clip(( 298 * Y + 516 * Cb - 70688) >> 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) R = clip(( common + 409 * Cr - 0) >> 8)
G = clip(( common - 100 * Cb - 208 * Cr + 91776) >> 8) G = clip(( common - 100 * Cb - 208 * Cr + 91776) >> 8)
B = clip(( common + 516 * Cb - 13696) >> 8) B = clip(( common + 516 * Cb - 13696) >> 8)
*/ */
UINT8 y = ycc; UINT8 y = ycc;
UINT8 cb = ycc >> 8; UINT8 cb = ycc >> 8;

View File

@ -1068,7 +1068,7 @@ static void dsd_555_vco1_step(node_description *node)
else else
{ {
/* if we are out of reset and the cap voltage is less then /* 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 (v_cap <= context->trigger)
{ {
if (context->flip_flop == 0) 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))) if ((x_time != 0) && (bit_val != ((context->last_data >> bit) & 0x01)))
{ {
/* there is x_time and a change in bit, /* 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; i_bit *= bit_val ? x_time : 1.0 - x_time;
} }
else else
{ {
/* there is no x_time or a change in bit, /* 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; if (bit_val == 0) i_bit = 0;
} }
i_total += i_bit; i_total += i_bit;
@ -1014,7 +1014,7 @@ static void dst_mixer_step(node_description *node)
rTemp = info->r[bit]; rTemp = info->r[bit];
connected = 1; connected = 1;
vTemp = DST_MIXER__IN(bit); vTemp = DST_MIXER__IN(bit);
if (context->r_node[bit] != NULL) if (context->r_node[bit] != NULL)
{ {
/* a node has the posibility of being disconnected from the circuit. */ /* 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 (connected)
{ {
if (info->c[bit] != 0) 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->clock_type = (int)DSS_NOTE__CLOCK_TYPE & DISC_CLK_MASK;
context->out_type = (int)DSS_NOTE__CLOCK_TYPE & DISC_OUT_MASK; context->out_type = (int)DSS_NOTE__CLOCK_TYPE & DISC_OUT_MASK;
context->last = (DSS_NOTE__CLOCK != 0); context->last = (DSS_NOTE__CLOCK != 0);
context->t_left = 0; context->t_left = 0;
context->t_clock = 1.0 / DSS_NOTE__CLOCK; 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: case DISC_OP_AMP_OSCILLATOR_VCO_1:
/* Work out the charge rates. */ /* Work out the charge rates. */
/* i is not a current. It is being used as a temp variable. */ /* 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[0] = (DSS_OP_AMP_OSC__VMOD1 - i) / info->r1;
iCharge[1] = (i - (DSS_OP_AMP_OSC__VMOD1 * context->temp2)) / context->temp3; iCharge[1] = (i - (DSS_OP_AMP_OSC__VMOD1 * context->temp2)) / context->temp3;
break; break;

View File

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

View File

@ -160,13 +160,13 @@
* Consider the following counter outputs vs DAC_R1 * Consider the following counter outputs vs DAC_R1
* calculations. The count changes from 9 to 10. It has * calculations. The count changes from 9 to 10. It has
* been at the new state for 75% of the sample. * been at the new state for 75% of the sample.
* *
* counter binary x_time -- DAC_R1 bit energy -- * counter binary x_time -- DAC_R1 bit energy --
* out count D3 D2 D1 D0 * out count D3 D2 D1 D0
* 9.0 1001 0.0 1.0 0.0 0.0 1.0 * 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 * 10.0 1010 0.0 1.0 0.0 1.0 0.0
* *
* The DAC_R1 uses these energy calculations to scale the * The DAC_R1 uses these energy calculations to scale the
* voltages created on each of its resistors. This * voltages created on each of its resistors. This
* anti-aliases the waveform no mater what the resistor * anti-aliases the waveform no mater what the resistor
@ -2968,7 +2968,7 @@
* address of discrete_555_cc_desc structure) * address of discrete_555_cc_desc structure)
* *
* discrete_555_cc_desc = * discrete_555_cc_desc =
* { * {
* options; - bit mapped options * options; - bit mapped options
* v_pos; - B+ voltage of 555 * v_pos; - B+ voltage of 555
* v_cc_source; - Voltage of the Constant Current source * 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 * DEFAULT_555_HIGH - to use the normal output voltage based on v_pos
* or combine both as: * or combine both as:
* DEFAULT_555_VALUES * DEFAULT_555_VALUES
* *
* Output Types: * Output Types:
* See DISCRETE_555_ASTABLE for description. * 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 struct _discrete_555_vco1_desc
{ {
int options; /* bit mapped options */ 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_pos; /* B+ voltage of 555 */
double v_charge; /* (ignored) */ double v_charge; /* (ignored) */
double v_out_high; /* High output voltage of 555 (Defaults to v_pos - 1.2V) */ 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); 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 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)) // 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); // return ui_set_handler(ui_slider_ui_handler, 0);
/* handle a reset request */ /* handle a reset request */
if (ui_input_pressed(machine, IPT_UI_RESET_MACHINE)) 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; const slider_state *slider = event->itemref;
INT32 curvalue = (*slider->update)(machine, slider->arg, NULL, SLIDER_NOCHANGE); INT32 curvalue = (*slider->update)(machine, slider->arg, NULL, SLIDER_NOCHANGE);
INT32 increment = 0; INT32 increment = 0;
switch (event->iptkey) switch (event->iptkey)
{ {
/* toggle visibility */ /* toggle visibility */
case IPT_UI_ON_SCREEN_DISPLAY: case IPT_UI_ON_SCREEN_DISPLAY:
*hidden = !*hidden; *hidden = !*hidden;
break; break;
/* decrease value */ /* decrease value */
case IPT_UI_LEFT: case IPT_UI_LEFT:
if (input_code_pressed(KEYCODE_LALT) || input_code_pressed(KEYCODE_RALT)) 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 else
increment = -slider->incval; increment = -slider->incval;
break; break;
/* increase value */ /* increase value */
case IPT_UI_RIGHT: case IPT_UI_RIGHT:
if (input_code_pressed(KEYCODE_LALT) || input_code_pressed(KEYCODE_RALT)) 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 else
increment = slider->incval; increment = slider->incval;
break; break;
/* restore default */ /* restore default */
case IPT_UI_SELECT: case IPT_UI_SELECT:
increment = slider->defval - curvalue; 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); 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 */ /* if we are selecting an invalid item and we are hidden, skip to the next one */
else if (*hidden) else if (*hidden)
{ {
@ -2752,7 +2752,7 @@ static void menu_sliders_populate(running_machine *machine, ui_menu *menu)
{ {
astring *tempstring = astring_alloc(); astring *tempstring = astring_alloc();
const slider_state *curslider; const slider_state *curslider;
/* add all sliders */ /* add all sliders */
for (curslider = ui_get_slider_list(); curslider != NULL; curslider = curslider->next) 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 */ /* 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, 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); JUSTIFY_CENTER, WRAP_WORD, DRAW_NORMAL, ARGB_WHITE, ARGB_BLACK, NULL, &text_height);
astring_free(tempstring); astring_free(tempstring);
} }
} }

View File

@ -50,7 +50,7 @@ enum
CMD_9, CMD_9,
CMD_SEARCH CMD_SEARCH
}; };
/************************************* /*************************************
@ -215,7 +215,7 @@ INLINE void pr8210_add_command(UINT8 command)
static TIMER_CALLBACK( pr8210_bit_off_callback ) static TIMER_CALLBACK( pr8210_bit_off_callback )
{ {
const device_config *laserdisc = ptr; const device_config *laserdisc = ptr;
/* deassert the control line */ /* deassert the control line */
laserdisc_line_w(laserdisc, LASERDISC_LINE_CONTROL, CLEAR_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; const device_config *laserdisc = ptr;
UINT8 bitsleft = param >> 16; UINT8 bitsleft = param >> 16;
UINT8 data = param; UINT8 data = param;
/* if we have bits, process */ /* if we have bits, process */
if (bitsleft != 0) 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 }; static const UINT8 digits[10] = { 0x01, 0x11, 0x09, 0x19, 0x05, 0x15, 0x0d, 0x1d, 0x03, 0x13 };
int prev_was_number = pr8210_last_was_number; int prev_was_number = pr8210_last_was_number;
pr8210_last_was_number = FALSE; pr8210_last_was_number = FALSE;
switch (command) switch (command)
{ {
@ -282,12 +282,12 @@ static void pr8210_execute(const device_config *laserdisc, int command)
pr8210_add_command(0x1c); pr8210_add_command(0x1c);
playing = TRUE; playing = TRUE;
break; break;
case CMD_SCAN_REVERSE_END: case CMD_SCAN_REVERSE_END:
pr8210_add_command(0x14); pr8210_add_command(0x14);
playing = TRUE; playing = TRUE;
break; break;
case CMD_STEP_REVERSE: case CMD_STEP_REVERSE:
pr8210_add_command(0x12); pr8210_add_command(0x12);
playing = FALSE; playing = FALSE;
@ -302,32 +302,32 @@ static void pr8210_execute(const device_config *laserdisc, int command)
pr8210_add_command(0x14); pr8210_add_command(0x14);
playing = TRUE; playing = TRUE;
break; break;
case CMD_STEP_FORWARD: case CMD_STEP_FORWARD:
pr8210_add_command(0x04); pr8210_add_command(0x04);
playing = FALSE; playing = FALSE;
break; break;
case CMD_PLAY: case CMD_PLAY:
pr8210_add_command(0x14); pr8210_add_command(0x14);
playing = TRUE; playing = TRUE;
break; break;
case CMD_PAUSE: case CMD_PAUSE:
pr8210_add_command(0x0a); pr8210_add_command(0x0a);
playing = FALSE; playing = FALSE;
break; break;
case CMD_DISPLAY_ON: case CMD_DISPLAY_ON:
// pr8210_add_command(digits[1]); // pr8210_add_command(digits[1]);
// pr8210_add_command(0xf1); // pr8210_add_command(0xf1);
break; break;
case CMD_DISPLAY_OFF: case CMD_DISPLAY_OFF:
// pr8210_add_command(digits[0]); // pr8210_add_command(digits[0]);
// pr8210_add_command(0xf1); // pr8210_add_command(0xf1);
break; break;
case CMD_0: case CMD_0:
case CMD_1: case CMD_1:
case CMD_2: 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_add_command(digits[command - CMD_0]);
pr8210_last_was_number = TRUE; pr8210_last_was_number = TRUE;
break; break;
case CMD_SEARCH: case CMD_SEARCH:
pr8210_add_command(0x1a); pr8210_add_command(0x1a);
playing = FALSE; playing = FALSE;
@ -368,12 +368,12 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
laserdisc_data_w(laserdisc, 0xf8); laserdisc_data_w(laserdisc, 0xf8);
playing = TRUE; playing = TRUE;
break; break;
case CMD_SCAN_REVERSE_END: case CMD_SCAN_REVERSE_END:
laserdisc_data_w(laserdisc, 0xfd); laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE; playing = TRUE;
break; break;
case CMD_STEP_REVERSE: case CMD_STEP_REVERSE:
laserdisc_data_w(laserdisc, 0xfe); laserdisc_data_w(laserdisc, 0xfe);
playing = FALSE; playing = FALSE;
@ -388,17 +388,17 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
laserdisc_data_w(laserdisc, 0xfd); laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE; playing = TRUE;
break; break;
case CMD_STEP_FORWARD: case CMD_STEP_FORWARD:
laserdisc_data_w(laserdisc, 0xf6); laserdisc_data_w(laserdisc, 0xf6);
playing = FALSE; playing = FALSE;
break; break;
case CMD_PLAY: case CMD_PLAY:
laserdisc_data_w(laserdisc, 0xfd); laserdisc_data_w(laserdisc, 0xfd);
playing = TRUE; playing = TRUE;
break; break;
case CMD_PAUSE: case CMD_PAUSE:
laserdisc_data_w(laserdisc, 0xa0); laserdisc_data_w(laserdisc, 0xa0);
playing = FALSE; 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, digits[0]);
laserdisc_data_w(laserdisc, 0xf1); laserdisc_data_w(laserdisc, 0xf1);
break; break;
case CMD_0: case CMD_0:
case CMD_1: case CMD_1:
case CMD_2: case CMD_2:
@ -426,7 +426,7 @@ static void ldv1000_execute(const device_config *laserdisc, int command)
case CMD_9: case CMD_9:
laserdisc_data_w(laserdisc, digits[command - CMD_0]); laserdisc_data_w(laserdisc, digits[command - CMD_0]);
break; break;
case CMD_SEARCH: case CMD_SEARCH:
laserdisc_data_w(laserdisc, 0xf7); laserdisc_data_w(laserdisc, 0xf7);
playing = FALSE; playing = FALSE;
@ -479,11 +479,11 @@ static READ8_HANDLER( pr8210_pia_r )
switch (offset) switch (offset)
{ {
case 0xa0: 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; result = pr8210_pia_porta;
pr8210_pia_porta = 0; pr8210_pia_porta = 0;
break; break;
default: default:
printf("%03X:pia_r(%02X)\n", activecpu_get_pc(), offset); printf("%03X:pia_r(%02X)\n", activecpu_get_pc(), offset);
break; break;
@ -494,32 +494,32 @@ static READ8_HANDLER( pr8210_pia_r )
static WRITE8_HANDLER( pr8210_pia_w ) static WRITE8_HANDLER( pr8210_pia_w )
{ {
/* /*
$22-26 (R) = read and copied to memory $23-27 $22-26 (R) = read and copied to memory $23-27
$23 (R) = something compared against $F4 $23 (R) = something compared against $F4
$22-26 (W) = SRCH. text $22-26 (W) = SRCH. text
$27-2B (W) = FRAME/CHAP. text $27-2B (W) = FRAME/CHAP. text
$2C-30 (W) = frame or chapter number $2C-30 (W) = frame or chapter number
$40 (W) = $CF at initialization, tracked by ($78) $40 (W) = $CF at initialization, tracked by ($78)
$60 (W) = port B output, tracked by ($77) $60 (W) = port B output, tracked by ($77)
$80 = n/c $80 = n/c
$40 = (out) LED3 $40 = (out) LED3
$20 = (out) LED2 $20 = (out) LED2
$10 = (out) LED1 $10 = (out) LED1
123 -> LHL = Play 123 -> LHL = Play
-> HLL = Slow fwd -> HLL = Slow fwd
-> LLL = Slow rev -> LLL = Slow rev
-> HHL = Still -> HHL = Still
-> LLH = Pause -> LLH = Pause
-> HHH = all off -> HHH = all off
$08 = (out) CAV LED $08 = (out) CAV LED
$04 = (out) CLV LED $04 = (out) CLV LED
$02 = (out) A2 LED/AUDIO 2 $02 = (out) A2 LED/AUDIO 2
$01 = (out) A1 LED/AUDIO 1 $01 = (out) A1 LED/AUDIO 1
$80 (W) = 0 or 1 $80 (W) = 0 or 1
$A0 (R) = port A input $A0 (R) = port A input
$C0 (R) = stored to ($2E) $C0 (R) = stored to ($2E)
$E0 (R) = stored to ($2F) $E0 (R) = stored to ($2F)
*/ */
if (pia[offset] != data) if (pia[offset] != data)
{ {
switch (offset) switch (offset)
@ -535,7 +535,7 @@ static WRITE8_HANDLER( pr8210_pia_w )
printf(")\n"); printf(")\n");
pr8210_pia_portb = data; pr8210_pia_portb = data;
break; break;
default: default:
printf("%03X:pia_w(%02X) = %02X\n", activecpu_get_pc(), offset, data); printf("%03X:pia_w(%02X) = %02X\n", activecpu_get_pc(), offset, data);
break; break;
@ -547,19 +547,19 @@ static WRITE8_HANDLER( pr8210_pia_w )
static READ8_HANDLER( pr8210_bus_r ) static READ8_HANDLER( pr8210_bus_r )
{ {
/* /*
$80 = n/c $80 = n/c
$40 = (in) slide pot interrupt source (slider position limit detector, inside and outside) $40 = (in) slide pot interrupt source (slider position limit detector, inside and outside)
$20 = n/c $20 = n/c
$10 = (in) /FOCUS LOCK $10 = (in) /FOCUS LOCK
$08 = (in) /SPDL LOCK $08 = (in) /SPDL LOCK
$04 = (in) SIZE 8/12 $04 = (in) SIZE 8/12
$02 = (in) FG via op-amp (spindle motor stop detector) $02 = (in) FG via op-amp (spindle motor stop detector)
$01 = (in) SLOW TIMER OUT $01 = (in) SLOW TIMER OUT
*/ */
offs_t pc = activecpu_get_pc(); offs_t pc = activecpu_get_pc();
if (pc != 0x11c) if (pc != 0x11c)
printf("%03X:bus_r\n", pc); printf("%03X:bus_r\n", pc);
/* loop at beginning waits for $40=0, $02=1 */ /* loop at beginning waits for $40=0, $02=1 */
return 0xff & ~0x40 & ~0x04; return 0xff & ~0x40 & ~0x04;
} }
@ -567,15 +567,15 @@ static READ8_HANDLER( pr8210_bus_r )
static WRITE8_HANDLER( pr8210_porta_w ) static WRITE8_HANDLER( pr8210_porta_w )
{ {
/* /*
$80 = (out) SCAN C (F/R) $80 = (out) SCAN C (F/R)
$40 = (out) AUDIO SQ $40 = (out) AUDIO SQ
$20 = (out) VIDEO SQ $20 = (out) VIDEO SQ
$10 = (out) /SPDL ON $10 = (out) /SPDL ON
$08 = (out) /FOCUS ON $08 = (out) /FOCUS ON
$04 = (out) SCAN B (L/H) $04 = (out) SCAN B (L/H)
$02 = (out) SCAN A (/SCAN) $02 = (out) SCAN A (/SCAN)
$01 = (out) JUMP TRG (jump back trigger, clock on high->low) $01 = (out) JUMP TRG (jump back trigger, clock on high->low)
*/ */
if (data != pr8210_porta) if (data != pr8210_porta)
{ {
printf("%03X:porta_w = %02X", activecpu_get_pc(), data); 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 ) static WRITE8_HANDLER( pr8210_portb_w )
{ {
/* /*
$80 = (out) /CS on PIA $80 = (out) /CS on PIA
$40 = (out) 0 to self-generate IRQ $40 = (out) 0 to self-generate IRQ
$20 = (out) SLOW TRG $20 = (out) SLOW TRG
$10 = (out) STANDBY LED $10 = (out) STANDBY LED
$08 = (out) TP2 $08 = (out) TP2
$04 = (out) TP1 $04 = (out) TP1
$02 = (out) ??? $02 = (out) ???
$01 = (out) LASER ON $01 = (out) LASER ON
*/ */
cputag_set_input_line(machine, "pr8210", 0, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE); cputag_set_input_line(machine, "pr8210", 0, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
if ((data & 0x7f) != (pr8210_portb & 0x7f)) if ((data & 0x7f) != (pr8210_portb & 0x7f))
{ {
@ -616,7 +616,7 @@ static WRITE8_HANDLER( pr8210_portb_w )
if (!(data & 0x10)) printf(" STANDBYLED"); if (!(data & 0x10)) printf(" STANDBYLED");
if (!(data & 0x20)) printf(" SLOWTRG"); if (!(data & 0x20)) printf(" SLOWTRG");
if (!(data & 0x40)) printf(" IRQGEN"); if (!(data & 0x40)) printf(" IRQGEN");
// if (data & 0x80) printf(" PIASEL"); // if (data & 0x80) printf(" PIASEL");
printf("\n"); printf("\n");
pr8210_portb = data; 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 */ /* 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 /* 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) || 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)) (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 ) MACHINE_DRIVER_START( dkong2b_audio )
/* sound latches */ /* sound latches */
MDRV_LATCH8_ADD("ls175.3d") /* sound cmd latch */ MDRV_LATCH8_ADD("ls175.3d") /* sound cmd latch */
MDRV_LATCH8_MASKOUT(0xf0) MDRV_LATCH8_MASKOUT(0xf0)
MDRV_LATCH8_INVERT(0x0F) MDRV_LATCH8_INVERT(0x0F)
MDRV_LATCH8_ADD("ls259.6h") MDRV_LATCH8_ADD("ls259.6h")
MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP) MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP)
MDRV_LATCH8_DISCRETE_NODE(1, DS_SOUND1_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) MDRV_LATCH8_DISCRETE_NODE(7, DS_SOUND7_INP)
/* If P2.Bit7 -> is apparently an external signal decay or other output control /* 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.Bit6 -> activates the external compressed sample ROM (not radarsc1)
* If P2.Bit5 -> Signal ANSN ==> Grid enable (radarsc1) * If P2.Bit5 -> Signal ANSN ==> Grid enable (radarsc1)
* If P2.Bit4 -> status code to main cpu * If P2.Bit4 -> status code to main cpu
* P2.Bit2-0 -> select the 256 byte bank for external ROM * P2.Bit2-0 -> select the 256 byte bank for external ROM
*/ */
MDRV_LATCH8_ADD( "virtual_p2" ) /* virtual latch for port B */ MDRV_LATCH8_ADD( "virtual_p2" ) /* virtual latch for port B */
MDRV_LATCH8_INVERT( 0x20 ) /* signal is inverted */ MDRV_LATCH8_INVERT( 0x20 ) /* signal is inverted */
@ -1159,7 +1159,7 @@ MACHINE_DRIVER_START( radarsc1_audio )
MDRV_IMPORT_FROM( radarscp_audio ) MDRV_IMPORT_FROM( radarscp_audio )
MDRV_CPU_MODIFY("sound") MDRV_CPU_MODIFY("sound")
MDRV_CPU_IO_MAP(radarsc1_sound_io_map, 0) MDRV_CPU_IO_MAP(radarsc1_sound_io_map, 0)
/* virtual_p2 is not read -see memory map-, all bits are output bits */ /* 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_ADD( "virtual_p1" ) /* virtual latch for port A */
MDRV_LATCH8_INVERT( 0x80 ) /* signal is inverted */ MDRV_LATCH8_INVERT( 0x80 ) /* signal is inverted */
@ -1174,10 +1174,10 @@ MACHINE_DRIVER_END
MACHINE_DRIVER_START( dkongjr_audio ) MACHINE_DRIVER_START( dkongjr_audio )
/* sound latches */ /* sound latches */
MDRV_LATCH8_ADD("ls174.3d") MDRV_LATCH8_ADD("ls174.3d")
MDRV_LATCH8_MASKOUT(0xE0) MDRV_LATCH8_MASKOUT(0xE0)
MDRV_LATCH8_ADD( "ls259.6h") MDRV_LATCH8_ADD( "ls259.6h")
MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP) MDRV_LATCH8_DISCRETE_NODE(0, DS_SOUND0_INP)
MDRV_LATCH8_DISCRETE_NODE(1, DS_SOUND1_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(5, LATCH8, "ls259.6h", latch8_r, 3)
MDRV_LATCH8_DEVREAD(4, LATCH8, "ls259.6h", latch8_r, 6) MDRV_LATCH8_DEVREAD(4, LATCH8, "ls259.6h", latch8_r, 6)
MDRV_LATCH8_DISCRETE_NODE(7, DS_DISCHARGE_INV) MDRV_LATCH8_DISCRETE_NODE(7, DS_DISCHARGE_INV)
MDRV_CPU_ADD("sound", I8035,I8035_CLOCK) MDRV_CPU_ADD("sound", I8035,I8035_CLOCK)
MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0) MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0)
MDRV_CPU_IO_MAP(dkongjr_sound_io_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( "latch1")
MDRV_LATCH8_ADD( "latch2") MDRV_LATCH8_ADD( "latch2")
MDRV_LATCH8_ADD( "latch3") MDRV_LATCH8_ADD( "latch3")
MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SPEAKER_STANDARD_MONO("mono")
MDRV_SOUND_ADD("nes1", NES, N2A03_DEFAULTCLOCK) MDRV_SOUND_ADD("nes1", NES, N2A03_DEFAULTCLOCK)
MDRV_SOUND_CONFIG(nes_interface_1) 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 */ 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, DISC_MIXER_IS_RESISTOR,
{STARSHP1_R66, STARSHP1_R126, STARSHP1_R59 + STARSHP1_R60, STARSHP1_R74, STARSHP1_R75}, {STARSHP1_R66, STARSHP1_R126, STARSHP1_R59 + STARSHP1_R60, STARSHP1_R74, STARSHP1_R75},
@ -160,7 +160,7 @@ DISCRETE_SOUND_START( starshp1 )
/************************************************ /************************************************
* Input register mapping * 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 */ /* Fake the MC1408, no where near correct */
DISCRETE_INPUTX_DATA(STARSHP1_NOISE_AMPLITUDE, -4.0/255, 4, 0) 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) 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_C47,
&starshp1_555_b10) &starshp1_555_b10)
/* use switch instead of logic AND, so we can switch between /* 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 */ DISCRETE_SWITCH( STARSHP1_SL1_SND, /* IC A10, pin 11 */
1, /* ENAB */ 1, /* ENAB */
STARSHP1_SL1, 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( 0x02, IP_ACTIVE_HIGH, IPT_START2) /* This is not 2 Player ??? */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) 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_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
// PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("IN2") PORT_MODIFY("IN2")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW1:1" ) PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x00, "SW1:1" )

View File

@ -355,32 +355,32 @@ return 0x4;
/* /*
static READ16_HANDLER(test1_r) static READ16_HANDLER(test1_r)
{ {
if (input_code_pressed(KEYCODE_Q)) return 0x0001; if (input_code_pressed(KEYCODE_Q)) return 0x0001;
if (input_code_pressed(KEYCODE_W)) return 0x0002; if (input_code_pressed(KEYCODE_W)) return 0x0002;
if (input_code_pressed(KEYCODE_E)) return 0x0004; if (input_code_pressed(KEYCODE_E)) return 0x0004;
if (input_code_pressed(KEYCODE_R)) return 0x0008; if (input_code_pressed(KEYCODE_R)) return 0x0008;
if (input_code_pressed(KEYCODE_T)) return 0x0010; if (input_code_pressed(KEYCODE_T)) return 0x0010;
if (input_code_pressed(KEYCODE_Y)) return 0x0020; if (input_code_pressed(KEYCODE_Y)) return 0x0020;
if (input_code_pressed(KEYCODE_U)) return 0x0040; if (input_code_pressed(KEYCODE_U)) return 0x0040;
if (input_code_pressed(KEYCODE_I)) return 0x0080; if (input_code_pressed(KEYCODE_I)) return 0x0080;
if (input_code_pressed(KEYCODE_A)) return 0x0100; if (input_code_pressed(KEYCODE_A)) return 0x0100;
if (input_code_pressed(KEYCODE_S)) return 0x0200; if (input_code_pressed(KEYCODE_S)) return 0x0200;
if (input_code_pressed(KEYCODE_D)) return 0x0400; if (input_code_pressed(KEYCODE_D)) return 0x0400;
if (input_code_pressed(KEYCODE_F)) return 0x0800; if (input_code_pressed(KEYCODE_F)) return 0x0800;
if (input_code_pressed(KEYCODE_G)) return 0x1000; if (input_code_pressed(KEYCODE_G)) return 0x1000;
if (input_code_pressed(KEYCODE_H)) return 0x2000; if (input_code_pressed(KEYCODE_H)) return 0x2000;
if (input_code_pressed(KEYCODE_J)) return 0x4000; if (input_code_pressed(KEYCODE_J)) return 0x4000;
if (input_code_pressed(KEYCODE_K)) return 0x8000; if (input_code_pressed(KEYCODE_K)) return 0x8000;
switch (mame_rand(machine) & 3) switch (mame_rand(machine) & 3)
{ {
case 0: case 0:
return 0; return 0;
case 1: case 1:
return 0xffff; return 0xffff;
default: default:
return mame_rand(machine) % 0xffff; return mame_rand(machine) % 0xffff;
} }
} }
*/ */
@ -388,26 +388,26 @@ static READ16_HANDLER(rh1_r)
{ {
// printf("ra=%04x ",register_active); // printf("ra=%04x ",register_active);
/* /*
if ((register_active == 0x0e) || (register_active == 0x0e) || (register_active == 0x0e)) if ((register_active == 0x0e) || (register_active == 0x0e) || (register_active == 0x0e))
{ {
if (input_code_pressed(KEYCODE_1)) return 0x0001 ^ 0xffff; if (input_code_pressed(KEYCODE_1)) return 0x0001 ^ 0xffff;
if (input_code_pressed(KEYCODE_2)) return 0x0002 ^ 0xffff; if (input_code_pressed(KEYCODE_2)) return 0x0002 ^ 0xffff;
if (input_code_pressed(KEYCODE_3)) return 0x0004 ^ 0xffff; if (input_code_pressed(KEYCODE_3)) return 0x0004 ^ 0xffff;
if (input_code_pressed(KEYCODE_4)) return 0x0008 ^ 0xffff; if (input_code_pressed(KEYCODE_4)) return 0x0008 ^ 0xffff;
if (input_code_pressed(KEYCODE_5)) return 0x0010 ^ 0xffff; if (input_code_pressed(KEYCODE_5)) return 0x0010 ^ 0xffff;
if (input_code_pressed(KEYCODE_6)) return 0x0020 ^ 0xffff; if (input_code_pressed(KEYCODE_6)) return 0x0020 ^ 0xffff;
if (input_code_pressed(KEYCODE_7)) return 0x0040 ^ 0xffff; if (input_code_pressed(KEYCODE_7)) return 0x0040 ^ 0xffff;
if (input_code_pressed(KEYCODE_8)) return 0x0080 ^ 0xffff; if (input_code_pressed(KEYCODE_8)) return 0x0080 ^ 0xffff;
if (input_code_pressed(KEYCODE_A)) return 0x0100 ^ 0xffff; if (input_code_pressed(KEYCODE_A)) return 0x0100 ^ 0xffff;
if (input_code_pressed(KEYCODE_S)) return 0x0200 ^ 0xffff; if (input_code_pressed(KEYCODE_S)) return 0x0200 ^ 0xffff;
if (input_code_pressed(KEYCODE_D)) return 0x0400 ^ 0xffff; if (input_code_pressed(KEYCODE_D)) return 0x0400 ^ 0xffff;
if (input_code_pressed(KEYCODE_F)) return 0x0800 ^ 0xffff; if (input_code_pressed(KEYCODE_F)) return 0x0800 ^ 0xffff;
if (input_code_pressed(KEYCODE_G)) return 0x1000 ^ 0xffff; if (input_code_pressed(KEYCODE_G)) return 0x1000 ^ 0xffff;
if (input_code_pressed(KEYCODE_H)) return 0x2000 ^ 0xffff; if (input_code_pressed(KEYCODE_H)) return 0x2000 ^ 0xffff;
if (input_code_pressed(KEYCODE_J)) return 0x4000 ^ 0xffff; if (input_code_pressed(KEYCODE_J)) return 0x4000 ^ 0xffff;
if (input_code_pressed(KEYCODE_K)) return 0x8000 ^ 0xffff; if (input_code_pressed(KEYCODE_K)) return 0x8000 ^ 0xffff;
} }
*/ */
switch (mame_rand(machine) & 3) 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(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(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(0xd00010, 0xd00011) AM_WRITE(cave_eeprom_lsb_w ) // EEPROM
// AM_RANGE(0xd00012, 0xd00013) AM_WRITE(SMH_NOP ) // ? // AM_RANGE(0xd00012, 0xd00013) AM_WRITE(SMH_NOP ) // ?
// AM_RANGE(0xd00014, 0xd00015) AM_WRITE(SMH_NOP ) // ? $800068 in dfeveron ? probably Watchdog // AM_RANGE(0xd00014, 0xd00015) AM_WRITE(SMH_NOP ) // ? $800068 in dfeveron ? probably Watchdog
ADDRESS_MAP_END 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(0x40, 0x40) AM_WRITE(ym2203_control_port_0_w ) // YM2203
AM_RANGE(0x41, 0x41) AM_WRITE(ym2203_write_port_0_w ) // 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(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 AM_RANGE(0x80, 0x80) AM_WRITE(pwrinst2_rombank_w ) // ROM bank
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -1859,7 +1859,7 @@ static INPUT_PORTS_START( 3wonders )
PORT_START("DSWA") PORT_START("DSWA")
CPS1_COINAGE_1( "SW(A)" ) 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( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) 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") 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_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_RAW_PARAMS(XTAL_8MHz, 518, 64, 448, 259, 16, 240) MDRV_SCREEN_RAW_PARAMS(XTAL_8MHz, 518, 64, 448, 259, 16, 240)
/* /*
Measured clocks: Measured clocks:
V = 59.6376Hz V = 59.6376Hz
H = 15.4445kHz H = 15.4445kHz
H/V = 258.973 ~ 259 lines H/V = 258.973 ~ 259 lines
Possible video clocks: Possible video clocks:
60MHz / 15.4445kHz = 3884.878 / 8 = 485.610 -> unlikely 60MHz / 15.4445kHz = 3884.878 / 8 = 485.610 -> unlikely
8MHz / 15.4445kHz = 517.983 ~ 518 -> likely 8MHz / 15.4445kHz = 517.983 ~ 518 -> likely
16MHz -> same as 8 but with a /2 divider; also a possibility 16MHz -> same as 8 but with a /2 divider; also a possibility
*/ */
MDRV_GFXDECODE(cps2) MDRV_GFXDECODE(cps2)
MDRV_PALETTE_LENGTH(0xc00) MDRV_PALETTE_LENGTH(0xc00)

View File

@ -2671,14 +2671,14 @@ static MACHINE_DRIVER_START( cps3 )
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
MDRV_SCREEN_RAW_PARAMS(XTAL_60MHz/8, 486, 0, 384, 259, 0, 224) MDRV_SCREEN_RAW_PARAMS(XTAL_60MHz/8, 486, 0, 384, 259, 0, 224)
/* /*
Measured clocks: Measured clocks:
V = 59.5992Hz V = 59.5992Hz
H = 15.4335kHz H = 15.4335kHz
H/V = 258.955 ~ 259 lines H/V = 258.955 ~ 259 lines
Possible video clocks: Possible video clocks:
60MHz / 15.4335kHz = 3887.647 / 8 = 485.956 ~ 486 -> likely 60MHz / 15.4335kHz = 3887.647 / 8 = 485.956 ~ 486 -> likely
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely 42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
*/ */
MDRV_MACHINE_START(cps3) 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_RANGE(0x7400, 0x77ff) AM_RAM_WRITE(dkong_videoram_w)
AM_BASE_MEMBER(dkong_state, video_ram) AM_BASE_MEMBER(dkong_state, video_ram)
AM_RANGE(0x7800, 0x780f) AM_DEVREADWRITE(DMA8257, "dma8257", dma8257_r, dma8257_w) /* P8257 control registers */ 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(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) 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( "trs01c2k.bin", 0x0100, 0x0100, CRC(650c5daf) SHA1(72f91ee2fab9eee58ee42881327e6345aa70b7f9) ) /* green */
ROM_LOAD( "trs01c2l.bin", 0x0200, 0x0100, CRC(23087910) SHA1(afc05c322b11fefaf0af857fee06a5afd0d4593e) ) /* red */ ROM_LOAD( "trs01c2l.bin", 0x0200, 0x0100, CRC(23087910) SHA1(afc05c322b11fefaf0af857fee06a5afd0d4593e) ) /* red */
/* Hack! The prom at pos 1D on video board has not been dumped /* Hack! The prom at pos 1D on video board has not been dumped
* Rom 1D is a MB7051, only 5 address lines * Rom 1D is a MB7051, only 5 address lines
* Rom below from TRS02 dump: rs2-v.1hc * 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_LOAD( "trs01v1d.bin", 0x0300, 0x0100, BAD_DUMP CRC(1b828315) SHA1(00c9f8c5ae86b68d38c66f9071b5f1ef421c1005) ) /* character color codes on a per-column basis */
ROM_END ROM_END

View File

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

View File

@ -1,36 +1,36 @@
/* /*
Megadrive / Genesis support Megadrive / Genesis support
PRELIMINARY PRELIMINARY
The Megadrive / Genesis form the basis of a number of official Sega Arcade PCBs The Megadrive / Genesis form the basis of a number of official Sega Arcade PCBs
as well as a selection of bootlegs. as well as a selection of bootlegs.
Current Issues Current Issues
Timing is wrong Timing is wrong
-- DMA timing not emulated -- DMA timing not emulated
-- Sprite render timing incorrect -- Sprite render timing incorrect
-- Interrupt Timing Problems -- Interrupt Timing Problems
Known Problems Known Problems
-- g_lem / Lemmings (JU) (REV01) [!] -- g_lem / Lemmings (JU) (REV01) [!]
Rasters are off Rasters are off
-- g_drac / Bram Stoker's Dracula (U) [!] -- g_drac / Bram Stoker's Dracula (U) [!]
Doesn't work, Timing Sensisitve Doesn't work, Timing Sensisitve
-- g_sscc / Sesame Street Counting Cafe (U) [!] -- g_sscc / Sesame Street Counting Cafe (U) [!]
Doesn't work Doesn't work
-- g_fatr / Fatal Rewind (UE) [!] (and clones) -- g_fatr / Fatal Rewind (UE) [!] (and clones)
Doesn't work. Timing Sensitive Doesn't work. Timing Sensitive
-- various -- various
Rasters off by 1 line, bottom line corrupt? bad frame timing? Rasters off by 1 line, bottom line corrupt? bad frame timing?
+ more + more
ToDo: ToDo:
Fix bugs - comprehensive testing! Fix bugs - comprehensive testing!
Add SegaCD / 32X support (not used by any arcade systems?) Add SegaCD / 32X support (not used by any arcade systems?)
Add PicoDrive support (not arcade) 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( 0x0400, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0200, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0200, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0700, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x0700, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode // PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x0500, DEF_STR( 1C_1C ) ) // 1_3 // PORT_DIPSETTING( 0x0500, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0100, DEF_STR( 1C_1C ) ) // 1_4 // PORT_DIPSETTING( 0x0100, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x0600, DEF_STR( 1C_1C ) ) // 1_5 // PORT_DIPSETTING( 0x0600, DEF_STR( 1C_1C ) ) // 1_5
PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coin_B ) ) PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x2000, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x2000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x1000, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x1000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x3800, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x1800, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode // PORT_DIPSETTING( 0x1800, DEF_STR( 1C_1C ) ) // 1_2 shown in test mode
// PORT_DIPSETTING( 0x2800, DEF_STR( 1C_1C ) ) // 1_3 // PORT_DIPSETTING( 0x2800, DEF_STR( 1C_1C ) ) // 1_3
// PORT_DIPSETTING( 0x0800, DEF_STR( 1C_1C ) ) // 1_4 // PORT_DIPSETTING( 0x0800, DEF_STR( 1C_1C ) ) // 1_4
// PORT_DIPSETTING( 0x3000, DEF_STR( 1C_1C ) ) // 1_5 // PORT_DIPSETTING( 0x3000, DEF_STR( 1C_1C ) ) // 1_5
PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -1506,11 +1506,11 @@ static INPUT_PORTS_START( bigstrik )
PORT_DIPSETTING( 0x0009, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0009, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0004, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0003, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0003, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0002, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0002, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0001, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0001, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0006, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0006, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) 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( 0x0090, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0040, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0040, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0030, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0030, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0020, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0020, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0010, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0010, DEF_STR( 2C_3C ) )
// PORT_DIPSETTING( 0x0060, DEF_STR( 2C_3C ) ) // PORT_DIPSETTING( 0x0060, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) )
@ -2418,9 +2418,9 @@ static INPUT_PORTS_START( jitsupro )
PORT_DIPSETTING( 0x0014, "H" ) PORT_DIPSETTING( 0x0014, "H" )
PORT_DIPSETTING( 0x0010, "O (M)" ) PORT_DIPSETTING( 0x0010, "O (M)" )
PORT_DIPSETTING( 0x000c, "Bu" ) PORT_DIPSETTING( 0x000c, "Bu" )
// PORT_DIPSETTING( 0x0008, "13" ) // PORT_DIPSETTING( 0x0008, "13" )
// PORT_DIPSETTING( 0x0004, "14" ) // PORT_DIPSETTING( 0x0004, "14" )
// PORT_DIPSETTING( 0x0000, "15" ) // PORT_DIPSETTING( 0x0000, "15" )
PORT_DIPNAME( 0x0040, 0x0040, "Scroll Is Based On" ) PORT_DIPNAME( 0x0040, 0x0040, "Scroll Is Based On" )
PORT_DIPSETTING( 0x0040, "Shadow of Baseball" ) PORT_DIPSETTING( 0x0040, "Shadow of Baseball" )
PORT_DIPSETTING( 0x0000, "The Baseball Itself" ) 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) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5)
INPUT_PORTS_END INPUT_PORTS_END
static const stepper_interface barcrest_reel_interface = static const stepper_interface barcrest_reel_interface =
{ {
BARCREST_48STEP_REEL, BARCREST_48STEP_REEL,
0, 0,
8, 8,

View File

@ -442,10 +442,10 @@ static void namconb1_cpureg8_w(running_machine *machine, int reg, UINT8 data)
vblank_irq_active = 0; vblank_irq_active = 0;
} }
break; break;
case 0x16: // Watchdog case 0x16: // Watchdog
break; break;
case 0x18: // C75 Control case 0x18: // C75 Control
if(data & 1) { if(data & 1) {
cpunum_set_input_line(machine, 1, INPUT_LINE_HALT, CLEAR_LINE); 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(0x0008, 0x003f) AM_READ(SMH_RAM)
AM_RANGE(0x0040, 0x01bf) AM_READ(SMH_RAM) AM_RANGE(0x0040, 0x01bf) AM_READ(SMH_RAM)
AM_RANGE(0x01c0, 0x1fff) AM_READ(SMH_ROM) AM_RANGE(0x01c0, 0x1fff) AM_READ(SMH_ROM)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW") AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DIAL0") AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DIAL0")
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DIAL1") AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DIAL1")
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DIAL2") AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DIAL2")
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("DIAL3") 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 0x04: portdata = input_port_read(machine, "KEY2"); break;
case 0x08: portdata = input_port_read(machine, "KEY3"); break; case 0x08: portdata = input_port_read(machine, "KEY3"); break;
case 0x10: portdata = input_port_read(machine, "KEY4"); 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; & 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 ) static ADDRESS_MAP_START( hachamf_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x000000, 0x03ffff) AM_ROM
/* I/O Region */ /* 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(0x080002, 0x080003) AM_READ_PORT("IN1")
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1") AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("UNK") 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( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Invalid" ) // PORT_DIPSETTING( 0x00, "Invalid" )
PORT_START("DSW2") PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) 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( 0xb0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "No Use" ) // PORT_DIPSETTING( 0x00, "No Use" )
PORT_START("DSW2") PORT_START("DSW2")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) 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( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 ) 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( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) // what should i use?
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service 1p+2p 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( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) // what should i use?
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service 3p+4p PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) // service 3p+4p
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) 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_MODIFY("Region") /* Region - supplied by protection device */
PORT_DIPNAME( 0x000f, 0x0006, DEF_STR( Region ) ) PORT_DIPNAME( 0x000f, 0x0006, DEF_STR( Region ) )
/* includes the following regions: /* includes the following regions:
1 = taiwan, 2 = china, 3 = japan (title = orlegend special), 1 = taiwan, 2 = china, 3 = japan (title = orlegend special),
4 = korea, 5 = hong kong, 6 = world */ 4 = korea, 5 = hong kong, 6 = world */
PORT_DIPSETTING( 0x0001, "Taiwan" ) PORT_DIPSETTING( 0x0001, "Taiwan" )
PORT_DIPSETTING( 0x0002, "China" ) PORT_DIPSETTING( 0x0002, "China" )
PORT_DIPSETTING( 0x0003, DEF_STR( Japan ) ) PORT_DIPSETTING( 0x0003, DEF_STR( Japan ) )
@ -979,7 +979,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ddp2 ) static INPUT_PORTS_START( ddp2 )
PORT_INCLUDE ( pgm ) PORT_INCLUDE ( pgm )
/* // probably not dsw related anyway /* // probably not dsw related anyway
PORT_START("UNK0") PORT_START("UNK0")
PORT_DIPNAME( 0x0001, 0x0001, "4" ) PORT_DIPNAME( 0x0001, 0x0001, "4" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )

View File

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

View File

@ -684,7 +684,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( s1945ii ) static INPUT_PORTS_START( s1945ii )
PORT_INCLUDE( common ) PORT_INCLUDE( common )
PORT_MODIFY("INPUTS") PORT_MODIFY("INPUTS")
PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* No button 3 */ PORT_BIT( 0x00020000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* No button 3 */
@ -698,7 +698,7 @@ static INPUT_PORTS_START( s1945ii )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( soldivid ) static INPUT_PORTS_START( soldivid )
PORT_INCLUDE( common ) PORT_INCLUDE( common )
PORT_START("JP4") /* jumper pads on the PCB */ PORT_START("JP4") /* jumper pads on the PCB */
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) ) PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
@ -708,7 +708,7 @@ static INPUT_PORTS_START( soldivid )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( daraku ) static INPUT_PORTS_START( daraku )
PORT_INCLUDE( common ) PORT_INCLUDE( common )
PORT_MODIFY("INPUTS") PORT_MODIFY("INPUTS")
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
@ -726,7 +726,7 @@ static INPUT_PORTS_START( daraku )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( sbomberb ) static INPUT_PORTS_START( sbomberb )
PORT_INCLUDE( common ) PORT_INCLUDE( common )
/* If Debug is HIGH then you can perform rom test, but EEPROM resets? */ /* If Debug is HIGH then you can perform rom test, but EEPROM resets? */
PORT_MODIFY("INPUTS") PORT_MODIFY("INPUTS")
@ -741,7 +741,7 @@ static INPUT_PORTS_START( sbomberb )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( gunbird2 ) /* Different Region */ 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 */ /* If Debug is HIGH then you can perform rom test, but EEPROM resets */
PORT_START("JP4") /* jumper pads on the PCB */ PORT_START("JP4") /* jumper pads on the PCB */
@ -753,7 +753,7 @@ static INPUT_PORTS_START( gunbird2 ) /* Different Region */
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( s1945iii ) /* Different Region again */ 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 */ /* If Debug is HIGH then you can perform rom test, EEPROM doesn't reset */
PORT_START("JP4") /* jumper pads on the PCB */ PORT_START("JP4") /* jumper pads on the PCB */
@ -765,7 +765,7 @@ static INPUT_PORTS_START( s1945iii ) /* Different Region again */
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */ static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */
PORT_INCLUDE( common ) PORT_INCLUDE( common )
PORT_MODIFY("INPUTS") PORT_MODIFY("INPUTS")
PORT_DIPNAME( 0x00000040, 0x00000000, "Debug" ) /* Must be HIGH (Or Security Error), so can perform test */ 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 INPUT_PORTS_END
static INPUT_PORTS_START( gnbarich ) /* Same as S1945iii except only one button */ 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? */ /* If Debug is HIGH then you can perform rom test, but EEPROM resets? */
PORT_START("JP4") /* jumper pads on the PCB */ 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 INPUT_PORTS_END
static INPUT_PORTS_START( mjgtaste ) /* This will need the Mahjong inputs */ 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_START("JP4") /* jumper pads on the PCB */
// PORT_DIPNAME( 0x03000000, 0x01000000, DEF_STR( Region ) ) // PORT_DIPNAME( 0x03000000, 0x01000000, DEF_STR( Region ) )
// PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) ) // PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
// PORT_DIPSETTING( 0x02000000, "International Ver A." ) // PORT_DIPSETTING( 0x02000000, "International Ver A." )
// PORT_DIPSETTING( 0x01000000, "International Ver B." ) // PORT_DIPSETTING( 0x01000000, "International Ver B." )
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL)
INPUT_PORTS_END 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 */ AM_RANGE(0xff0000, 0xffffff) AM_READ(SMH_RAM) /* Main Ram */
/* Unknown reads: */ /* 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(0xa10002, 0xa10005) AM_READ(SMH_NOP) /* ? alternative way of reading inputs ? */
AM_RANGE(0xa11100, 0xa11101) AM_READ(SMH_NOP) /* ? */ AM_RANGE(0xa11100, 0xa11101) AM_READ(SMH_NOP) /* ? */
ADDRESS_MAP_END ADDRESS_MAP_END

View File

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

View File

@ -99,7 +99,7 @@ Notes:
button (new style: newer games like gwar do it). button (new style: newer games like gwar do it).
- some of the tiles in the fg ROM (letters saying "standard", "power", - some of the tiles in the fg ROM (letters saying "standard", "power",
"hyper", "safety", "danger") are present in all sets, but are actually used "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 - the worldwar test mode shows wrong descriptions for the dip switches, which
are actually correct for bermudaj. 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. Writes to this register always contain 0x0f in the lower nibble.
The upper nibble contains a mask, which clears bits The upper nibble contains a mask, which clears bits
bit 0: irq request from first YM chip bit 0: irq request from first YM chip
bit 1: irq request from second YM chip bit 1: irq request from second YM chip
bit 2: sound cpu busy bit 2: sound cpu busy
bit 3: sound command pending 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 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 bits since there is only one YM chip, and the bits are cleared using
separate memory addresses. Additionally, clearing the cmd irq also separate memory addresses. Additionally, clearing the cmd irq also
clears the sound latch. 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(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(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(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(0xf004, 0xf004) AM_READ(tnk3_cmdirq_ack_r)
AM_RANGE(0xf006, 0xf006) AM_READ(tnk3_ymirq_ack_r) AM_RANGE(0xf006, 0xf006) AM_READ(tnk3_ymirq_ack_r)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -1264,7 +1264,7 @@ static INPUT_PORTS_START( jcross )
PORT_START("DSW1") PORT_START("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:1,2")
PORT_DIPSETTING( 0x03, "Upright, Single Controls" ) 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( 0x00, "Upright, Dual Controls" )
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) ) PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:3") 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( 0x18, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
// PORT_DIPSETTING( 0x10, "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_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_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(snk_older_bonus_r, (void *)0xc0)
PORT_START("DSW2") PORT_START("DSW2")
@ -1309,7 +1309,7 @@ static INPUT_PORTS_START( jcross )
PORT_DIPSETTING( 0xc0, "20k" ) PORT_DIPSETTING( 0xc0, "20k" )
PORT_DIPSETTING( 0x80, "40k" ) PORT_DIPSETTING( 0x80, "40k" )
PORT_DIPSETTING( 0x40, "60k" ) 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 ) ) PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END INPUT_PORTS_END
@ -1355,7 +1355,7 @@ static INPUT_PORTS_START( sgladiat )
PORT_DIPSETTING( 0x00, "5" ) PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:4,5,6") PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW1:4,5,6")
PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) ) 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( 0x20, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x38, DEF_STR( 1C_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_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW2:6")
PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) 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( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Debug Mode (No Opponents)" ) PORT_DIPLOCATION("DSW2:8") 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( 0xc0, "20k" )
PORT_DIPSETTING( 0x80, "40k" ) PORT_DIPSETTING( 0x80, "40k" )
PORT_DIPSETTING( 0x40, "50k" ) 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 ) ) PORT_DIPSETTING( 0x00, DEF_STR( None ) )
INPUT_PORTS_END INPUT_PORTS_END
@ -2626,7 +2626,7 @@ static INPUT_PORTS_START( fsoccer )
PORT_DIPSETTING( 0x04, DEF_STR( Europe ) ) PORT_DIPSETTING( 0x04, DEF_STR( Europe ) )
PORT_DIPSETTING( 0x00, DEF_STR( USA ) ) PORT_DIPSETTING( 0x00, DEF_STR( USA ) )
PORT_DIPSETTING( 0x08, DEF_STR( Japan ) ) 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_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:5,6")
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
@ -2889,7 +2889,7 @@ static MACHINE_DRIVER_START( sgladiat )
/* video hardware */ /* video hardware */
/* visible area is correct. Debug info is shown in the black bars at the sides /* 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) MDRV_VIDEO_START(sgladiat)

View File

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

View File

@ -496,8 +496,8 @@ static INTERRUPT_GEN(skns_interrupt)
Input port definitions Input port definitions
NOTE: The driver reads data from eight 8bit input ports, even if they NOTE: The driver reads data from eight 8bit input ports, even if they
are unused. So I left them mapped. 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 ) static ADDRESS_MAP_START( sht_readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff) ADDRESS_MAP_GLOBAL_MASK(0xff)
/* AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") */ /* AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") */
/* AM_RANGE(0x04, 0x04) AM_READ_PORT("P2") */ /* AM_RANGE(0x04, 0x04) AM_READ_PORT("P2") */
AM_RANGE(0x08, 0x08) AM_READ_PORT("SYSTEM") AM_RANGE(0x08, 0x08) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c, 0x0c) AM_READ_PORT("DSW2") /* DIP2 */ AM_RANGE(0x0c, 0x0c) AM_READ_PORT("DSW2") /* DIP2 */
AM_RANGE(0x0d, 0x0d) AM_READ_PORT("DSW1") /* DIP1 some games read it from here... */ 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(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(0x2002, 0x2002) AM_READ_PORT("DSW1") AM_WRITE(sound_command_w)
AM_RANGE(0x2003, 0x2003) AM_READ_PORT("DSW2") 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(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w) AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READ(SMH_RAM) 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( 0x000d, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x000e, DEF_STR( 4C_5C ) ) PORT_DIPSETTING( 0x000e, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 2C_3C ) ) 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( 0x0001, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_4C ) ) 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( 0x00d0, "5 Coins/6 Credits" )
PORT_DIPSETTING( 0x00e0, DEF_STR( 4C_5C ) ) PORT_DIPSETTING( 0x00e0, DEF_STR( 4C_5C ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( 2C_3C ) ) 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( 0x0010, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0020, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0020, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0030, DEF_STR( 1C_4C ) ) 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 ) static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM 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(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(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") AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW2")

View File

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

View File

@ -191,9 +191,9 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( topshoot_readmem, ADDRESS_SPACE_PROGRAM, 16 ) static ADDRESS_MAP_START( topshoot_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* Cartridge Program Rom */ AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM) /* Cartridge Program Rom */
// AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM) // AM_RANGE(0x200000, 0x20007f) AM_READ(SMH_RAM)
// AM_RANGE(0x200040, 0x200041) AM_READ_PORT("IN0") // ?? // AM_RANGE(0x200040, 0x200041) AM_READ_PORT("IN0") // ??
// AM_RANGE(0x200050, 0x200051) AM_READ_PORT("IN0") // ?? // AM_RANGE(0x200050, 0x200051) AM_READ_PORT("IN0") // ??
AM_RANGE(0x202000, 0x2023ff) AM_READ(SMH_RAM) AM_RANGE(0x202000, 0x2023ff) AM_READ(SMH_RAM)
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("IN0") // ?? AM_RANGE(0x400004, 0x400005) AM_READ_PORT("IN0") // ??
AM_RANGE(0xa10000, 0xa1001f) 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) static INPUT_PORTS_START(ttchamp)
PORT_START("SYSTEM") PORT_START("SYSTEM")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, "0x000003" ) PORT_DIPNAME( 0x0100, 0x0100, "0x000003" )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P1_P2") PORT_START("P1_P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY 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( 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( 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( 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( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) 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( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY 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( 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( 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( 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( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) 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( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START1 )
INPUT_PORTS_END INPUT_PORTS_END

View File

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

View File

@ -384,7 +384,7 @@ CUSTOM_INPUT( nb1413m3_busyflag_r )
/* 2008-08 FP: /* 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) * 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 * read nb1413m3_outcoin_flag also at inputport3! Is this the correct behaviour for these games
* or should they only check the flag at inputport3? */ * 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) */ index_patt; /* pattern needed on coils (0=don't care) */
UINT8 optic; UINT8 optic;
} stepper; } stepper;
static stepper step[MAX_STEPPERS]; static stepper step[MAX_STEPPERS];
/* step table, use previouspattern::newpattern as index */ /* step table, use previouspattern::newpattern as index */
@ -593,8 +593,8 @@ static const int BarcrestStepTab[] =
/* useful interfaces */ /* useful interfaces */
const stepper_interface starpoint_interface_48step = const stepper_interface starpoint_interface_48step =
{ {
STARPOINT_48STEP_REEL, STARPOINT_48STEP_REEL,
16, 16,
24, 24,

View File

@ -744,8 +744,8 @@ static void radarscp_step(running_machine *machine, int line_cnt)
state->sig30Hz = (1-state->sig30Hz); state->sig30Hz = (1-state->sig30Hz);
/* Now mix with SND02 (sound 2) line - on 74ls259, bit2 */ /* 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); sig = state->rflip_sig ^ ((line_cnt & 0x80)>>7);
if (state->hardware_type == HARDWARE_TRS01) 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); state->blue_level = (int)(vg3/5.0*255);
/* /*
* Grid signal * Grid signal
* *
* Mixed with ANS line (bit 5) from Port B of 8039 * Mixed with ANS line (bit 5) from Port B of 8039
*/ */
if (state->grid_on && latch8_bit5_r(devvp2, 0)) if (state->grid_on && latch8_bit5_r(devvp2, 0))
{ {
diff = (0.0 - cv3); 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 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 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 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 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 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; src_step1_x = 1; src_step1_y = 0; src_step2_x = -ax; src_step2_y = 1;
for (;;) for (;;)
@ -680,7 +680,7 @@ static void ptn(int opcode,int src_x,int src_y,INT16 _ax,INT16 _ay)
for (;;) for (;;)
{ {
getpixel = get_pixel_ptn(xxs,yys); getpixel = get_pixel_ptn(xxs,yys);
switch ((opcode & 0x0018) >> 3) switch ((opcode & 0x0018) >> 3)
{ {
case 0x0000: case 0x0000:
if (getpixel) if (getpixel)

View File

@ -379,7 +379,7 @@ WRITE8_HANDLER( sgladiat_scroll_msb_w )
WRITE8_HANDLER( aso_videoattrs_w ) WRITE8_HANDLER( aso_videoattrs_w )
{ {
/* /*
video attributes: video attributes:
X------- X-------
-X------ -X------
--X----- flip screen --X----- flip screen
@ -401,7 +401,7 @@ WRITE8_HANDLER( aso_videoattrs_w )
WRITE8_HANDLER( tnk3_videoattrs_w ) WRITE8_HANDLER( tnk3_videoattrs_w )
{ {
/* /*
video attributes: video attributes:
X------- flip screen X------- flip screen
-X------ character bank (for text layer) -X------ character bank (for text layer)
--X----- --X-----
@ -445,10 +445,10 @@ WRITE8_HANDLER( ikari_sp_scroll_msb_w )
WRITE8_HANDLER( ikari_unknown_video_w ) WRITE8_HANDLER( ikari_unknown_video_w )
{ {
/* meaning of 0xc980 uncertain. /* meaning of 0xc980 uncertain.
Normally 0x20, ikaria/ikarijp sets it to 0x31 during test mode. Normally 0x20, ikaria/ikarijp sets it to 0x31 during test mode.
Changing char bank is necessary to fix the display during the Changing char bank is necessary to fix the display during the
hard flags test and the test grid. hard flags test and the test grid.
Changing palette bank is necessary to fix colors in test mode. */ Changing palette bank is necessary to fix colors in test mode. */
if (data != 0x20 && // normal if (data != 0x20 && // normal
data != 0x31 && // ikari test data != 0x31 && // ikari test
@ -506,7 +506,7 @@ WRITE8_HANDLER( tdfever_sp_scroll_msb_w )
WRITE8_HANDLER( tdfever_spriteram_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) if (offset < 0x80 && spriteram[offset] != data)
{ {
int vpos = video_screen_get_vpos(machine->primary_screen); 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 // for the target surface, we allocate a render target texture
scwidth = texture->rawwidth * texture->xprescale; scwidth = texture->rawwidth * texture->xprescale;
scheight = texture->rawheight * texture->yprescale; scheight = texture->rawheight * texture->yprescale;
// target surfaces typically cannot be YCbCr, so we always pick RGB in that case // target surfaces typically cannot be YCbCr, so we always pick RGB in that case
finalfmt = (format != d3d->yuv_format) ? format : D3DFMT_A8R8G8B8; 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); 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__")";