mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Pushed CUSTOM_INPUT macro to all users.
Changed TMS0285 -> TMC0285. Spacing cleanups for 0.122u6. Version bump to 0.122u6.
This commit is contained in:
parent
01e7b495af
commit
2299164694
@ -63,8 +63,8 @@ static int Ext_IRQ(void);
|
||||
static int Timer_IRQ(void);
|
||||
|
||||
#define M_RDMEM(A) I8039_RDMEM(A)
|
||||
//#define M_RDOP(A) I8039_RDOP(A)
|
||||
//#define M_RDOP_ARG(A) I8039_RDOP_ARG(A)
|
||||
//#define M_RDOP(A) I8039_RDOP(A)
|
||||
//#define M_RDOP_ARG(A) I8039_RDOP_ARG(A)
|
||||
#define M_IN(A) I8039_In(A)
|
||||
#define M_OUT(A,V) I8039_Out(A,V)
|
||||
|
||||
@ -289,16 +289,16 @@ static void anl_a_xr0(void) { R.A &= INTRAM_R(R0); }
|
||||
static void anl_a_xr1(void) { R.A &= INTRAM_R(R1); }
|
||||
static void anl_bus_n(void) { bus_w( bus_r() & M_RDMEM_OPCODE() ); }
|
||||
|
||||
static void anl_p1_n(void)
|
||||
static void anl_p1_n(void)
|
||||
{
|
||||
R.P1 &= M_RDMEM_OPCODE();
|
||||
port_w( 1, R.P1 );
|
||||
R.P1 &= M_RDMEM_OPCODE();
|
||||
port_w( 1, R.P1 );
|
||||
}
|
||||
|
||||
static void anl_p2_n(void)
|
||||
static void anl_p2_n(void)
|
||||
{
|
||||
R.P2 &= M_RDMEM_OPCODE();
|
||||
port_w( 2, R.P2 );
|
||||
R.P2 &= M_RDMEM_OPCODE();
|
||||
port_w( 2, R.P2 );
|
||||
}
|
||||
|
||||
static void anld_p4_a(void) { port_w( 4, (port_r(4) & M_RDMEM_OPCODE()) & 0x0f ); }
|
||||
@ -463,16 +463,16 @@ static void orl_a_r7(void) { R.A |= R7; }
|
||||
static void orl_a_xr0(void) { R.A |= INTRAM_R(R0); }
|
||||
static void orl_a_xr1(void) { R.A |= INTRAM_R(R1); }
|
||||
static void orl_bus_n(void) { bus_w( bus_r() | M_RDMEM_OPCODE() ); }
|
||||
static void orl_p1_n(void)
|
||||
static void orl_p1_n(void)
|
||||
{
|
||||
R.P1 |= M_RDMEM_OPCODE();
|
||||
port_w(1, R.P1);
|
||||
port_w(1, R.P1);
|
||||
}
|
||||
|
||||
static void orl_p2_n(void)
|
||||
static void orl_p2_n(void)
|
||||
{
|
||||
R.P2 |= M_RDMEM_OPCODE();
|
||||
port_w(2, R.P2);
|
||||
port_w(2, R.P2);
|
||||
}
|
||||
|
||||
static void orld_p4_a(void) { port_w(4, port_r(4) | R.A ); }
|
||||
@ -610,7 +610,7 @@ static void i8039_init (int index, int clock, const void *config, int (*irqcallb
|
||||
state_save_register_item("i8039", index, R.irq_state);
|
||||
state_save_register_item("i8039", index, R.irq_extra_cycles);
|
||||
state_save_register_item("i8039", index, R.Old_T1);
|
||||
|
||||
|
||||
R.cpu_feature = 0;
|
||||
R.ram_mask = 0x7F;
|
||||
R.int_rom_size = 0x800;
|
||||
@ -652,7 +652,7 @@ static void i8039_reset (void)
|
||||
R.tirq_en = R.xirq_en = 0;
|
||||
R.timerON = R.countON = 0;
|
||||
|
||||
if (R.cpu_feature & FEATURE_M58715)
|
||||
if (R.cpu_feature & FEATURE_M58715)
|
||||
{
|
||||
//R.timerON = 1; /* Mario Bros. doesn't work without this */
|
||||
//R.PSW |= C_FLAG; //MB will play startup sound, but wrong # */
|
||||
@ -735,7 +735,7 @@ static int i8039_execute(int cycles)
|
||||
{
|
||||
unsigned opcode, T1, timerInt;
|
||||
int count;
|
||||
|
||||
|
||||
i8039_ICount = (cycles - R.irq_extra_cycles);
|
||||
R.irq_extra_cycles = 0;
|
||||
|
||||
@ -775,11 +775,11 @@ static int i8039_execute(int cycles)
|
||||
if (R.masterClock >= 32) { /* NS990113 */
|
||||
R.masterClock -= 32;
|
||||
R.timer++;
|
||||
if (R.timer == 0)
|
||||
if (R.timer == 0)
|
||||
timerInt = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (timerInt)
|
||||
{
|
||||
count = Timer_IRQ(); /* Handle Timer IRQ */
|
||||
|
@ -21,7 +21,7 @@
|
||||
*
|
||||
* External Clock is divided internally by 4 for the instruction cycle
|
||||
* times. (Each instruction cycle passes through 4 machine states). This
|
||||
* is handled by the cpu execution engine.
|
||||
* is handled by the cpu execution engine.
|
||||
*/
|
||||
|
||||
enum {
|
||||
|
@ -108,7 +108,7 @@ void namcona_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms36xx_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms3615_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms5110_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms0285_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tmc0285_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms5200_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void tms5220_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
void vlm5030_get_info(void *token, UINT32 state, sndinfo *info);
|
||||
@ -289,8 +289,8 @@ static const struct
|
||||
#if (HAS_TMS5110)
|
||||
{ SOUND_TMS5110, tms5110_get_info },
|
||||
#endif
|
||||
#if (HAS_TMS0285)
|
||||
{ SOUND_TMS0285, tms0285_get_info },
|
||||
#if (HAS_TMC0285)
|
||||
{ SOUND_TMC0285, tmc0285_get_info },
|
||||
#endif
|
||||
#if (HAS_TMS5200)
|
||||
{ SOUND_TMS5200, tms5200_get_info },
|
||||
|
@ -73,7 +73,7 @@ enum _sound_type
|
||||
SOUND_TMS36XX,
|
||||
SOUND_TMS3615,
|
||||
SOUND_TMS5110,
|
||||
SOUND_TMS0285,
|
||||
SOUND_TMC0285,
|
||||
SOUND_TMS5200,
|
||||
SOUND_TMS5220,
|
||||
SOUND_VLM5030,
|
||||
|
@ -76,7 +76,7 @@ static void *tms5220_start(int sndindex, int clock, const void *config)
|
||||
static void *tms5200_start(int sndindex, int clock, const void *config)
|
||||
{
|
||||
struct tms5220_info *info = tms5220_start(sndindex, clock, config);
|
||||
tms5220_set_variant(info->chip, variant_tms0285);
|
||||
tms5220_set_variant(info->chip, variant_tmc0285);
|
||||
return info;
|
||||
}
|
||||
|
||||
@ -269,12 +269,12 @@ void tms5220_get_info(void *token, UINT32 state, sndinfo *info)
|
||||
}
|
||||
}
|
||||
|
||||
void tms0285_get_info(void *token, UINT32 state, sndinfo *info)
|
||||
void tmc0285_get_info(void *token, UINT32 state, sndinfo *info)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case SNDINFO_PTR_START: info->start = tms5200_start; break;
|
||||
case SNDINFO_STR_NAME: info->s = "TMS0285"; break;
|
||||
case SNDINFO_STR_NAME: info->s = "TMC0285"; break;
|
||||
default: tms5220_get_info(token, state, info); break;
|
||||
}
|
||||
}
|
||||
|
@ -581,7 +581,7 @@ endif
|
||||
#-------------------------------------------------
|
||||
|
||||
SOUNDDEFS += -DHAS_TMS5110=$(if $(filter TMS5110,$(SOUNDS)),1,0)
|
||||
SOUNDDEFS += -DHAS_TMS0285=$(if $(filter TMS0285,$(SOUNDS)),1,0)
|
||||
SOUNDDEFS += -DHAS_TMC0285=$(if $(filter TMC0285,$(SOUNDS)),1,0)
|
||||
SOUNDDEFS += -DHAS_TMS5200=$(if $(filter TMS5200,$(SOUNDS)),1,0)
|
||||
SOUNDDEFS += -DHAS_TMS5220=$(if $(filter TMS5220,$(SOUNDS)),1,0)
|
||||
|
||||
@ -589,7 +589,7 @@ ifneq ($(filter TMS5110,$(SOUNDS)),)
|
||||
SOUNDOBJS += $(SOUNDOBJ)/tms5110.o $(SOUNDOBJ)/5110intf.o
|
||||
endif
|
||||
|
||||
ifneq ($(filter TMS0285 TMS5200 TMS5220,$(SOUNDS)),)
|
||||
ifneq ($(filter TMC0285 TMS5200 TMS5220,$(SOUNDS)),)
|
||||
SOUNDOBJS += $(SOUNDOBJ)/tms5220.o $(SOUNDOBJ)/5220intf.o
|
||||
endif
|
||||
|
||||
|
@ -108,7 +108,7 @@ struct tms5220
|
||||
UINT8 data_register; /* data register, used by read command */
|
||||
UINT8 RDB_flag; /* whether we should read data register or status register */
|
||||
|
||||
/* flag for variant tms0285/tms5200 emulation */
|
||||
/* flag for variant tmc0285/tms5200 emulation */
|
||||
/* The TMC0285 AKA TMS5200 is an early variant of the TMS5220 used in
|
||||
the early releases of the Speech Module for the TI-99/4(a) computer,
|
||||
in Zaccaria's 'Money Money', and in a few other places.
|
||||
@ -308,7 +308,7 @@ void tms5220_set_read_and_branch(void *chip, void (*func)(void))
|
||||
|
||||
/**********************************************************************************************
|
||||
|
||||
tms5220_set_variant -- sets the tms5220 core to emulate its buggy forerunner, the tms0285
|
||||
tms5220_set_variant -- sets the tms5220 core to emulate its buggy forerunner, the tmc0285
|
||||
|
||||
***********************************************************************************************/
|
||||
|
||||
@ -906,12 +906,12 @@ static int parse_frame(struct tms5220 *tms, int the_first_frame)
|
||||
return 1;
|
||||
// WARNING: This code below breaks Victory's power-on test! If you change it
|
||||
// make sure you test Victory.
|
||||
// {
|
||||
// if (DEBUG_5220) logerror("Buffer Empty set - Last frame stop frame\n");
|
||||
// {
|
||||
// if (DEBUG_5220) logerror("Buffer Empty set - Last frame stop frame\n");
|
||||
|
||||
// tms->buffer_empty = 1;
|
||||
// return 1;
|
||||
// }
|
||||
// tms->buffer_empty = 1;
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
if (tms->speak_external)
|
||||
/* count the total number of bits available */
|
||||
@ -984,7 +984,7 @@ static int parse_frame(struct tms5220 *tms, int the_first_frame)
|
||||
tms->new_k[0] = k1table[extract_bits(tms, 5)];
|
||||
tms->new_k[1] = k2table[extract_bits(tms, 5)];
|
||||
tms->new_k[2] = k3table[extract_bits(tms, 4)];
|
||||
if (tms->variant == variant_tms0285)
|
||||
if (tms->variant == variant_tmc0285)
|
||||
tms->new_k[3] = k3table[extract_bits(tms, 4)]; /* ??? */
|
||||
else
|
||||
tms->new_k[3] = k4table[extract_bits(tms, 4)];
|
||||
@ -1004,7 +1004,7 @@ static int parse_frame(struct tms5220 *tms, int the_first_frame)
|
||||
tms->new_k[0] = k1table[extract_bits(tms, 5)];
|
||||
tms->new_k[1] = k2table[extract_bits(tms, 5)];
|
||||
tms->new_k[2] = k3table[extract_bits(tms, 4)];
|
||||
if (tms->variant == variant_tms0285)
|
||||
if (tms->variant == variant_tmc0285)
|
||||
tms->new_k[3] = k3table[extract_bits(tms, 4)]; /* ??? */
|
||||
else
|
||||
tms->new_k[3] = k4table[extract_bits(tms, 4)];
|
||||
|
@ -25,7 +25,7 @@ void tms5220_set_read_and_branch(void *chip, void (*func)(void));
|
||||
typedef enum
|
||||
{
|
||||
variant_tms5220, /* TMS5220_IS_TMS5220, TMS5220_IS_TMS5220C, TMS5220_IS_TSP5220C */
|
||||
variant_tms0285 /* TMS5220_IS_TMS5200, TMS5220_IS_CD2501 */
|
||||
variant_tmc0285 /* TMS5220_IS_TMS5200, TMS5220_IS_CD2501 */
|
||||
} tms5220_variant;
|
||||
|
||||
void tms5220_set_variant(void *chip, tms5220_variant new_variant);
|
||||
|
@ -215,7 +215,7 @@ static const discrete_mixer_desc dkong_mixer_desc =
|
||||
{DK_R2, DK_R24, DK_R1, DK_R14},
|
||||
{0,0,0}, // no variable resistors
|
||||
{0,0,0}, // no node capacitors
|
||||
0, 0,
|
||||
0, 0,
|
||||
DK_C159,
|
||||
DK_C12,
|
||||
0, 1};
|
||||
@ -369,7 +369,7 @@ static DISCRETE_SOUND_START(dkong2b)
|
||||
#else
|
||||
DISCRETE_OUTPUT(NODE_296, 32767.0/5.0 * 3)
|
||||
#endif
|
||||
|
||||
|
||||
DISCRETE_SOUND_END
|
||||
|
||||
/****************************************************************
|
||||
@ -702,7 +702,7 @@ static const discrete_mixer_desc dkongjr_mixer_desc =
|
||||
{JR_R5, JR_R3, JR_R6, JR_R4, JR_R25},
|
||||
{0,0,0,0,0}, // no variable resistors
|
||||
{0,0,0,0,0}, // no node capacitors
|
||||
0, 0,
|
||||
0, 0,
|
||||
JR_C155,
|
||||
JR_C161,
|
||||
0, 1};
|
||||
|
@ -180,7 +180,7 @@ READ8_HANDLER( gorf_speech_r )
|
||||
}
|
||||
|
||||
|
||||
UINT32 gorf_speech_status_r(void *param)
|
||||
CUSTOM_INPUT( gorf_speech_status_r )
|
||||
{
|
||||
return !sample_playing(0);
|
||||
}
|
||||
|
@ -235,7 +235,7 @@ static SOUND_START( mario )
|
||||
|
||||
SND[1] = 0x01;
|
||||
#endif
|
||||
|
||||
|
||||
state_save_register_global(state->last);
|
||||
state_save_register_global(state->portT);
|
||||
}
|
||||
|
@ -426,7 +426,7 @@ void *phoenix_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
channel = stream_create(0, 1, Machine->sample_rate, 0, phoenix_sound_update);
|
||||
|
||||
state_save_register_global_pointer(poly18, (1ul << (18-5)) );
|
||||
|
||||
|
||||
/* a dummy token */
|
||||
return auto_malloc(1);
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ READ8_HANDLER( wow_speech_r )
|
||||
}
|
||||
|
||||
|
||||
UINT32 wow_speech_status_r(void *param)
|
||||
CUSTOM_INPUT( wow_speech_status_r )
|
||||
{
|
||||
return !sample_playing(0);
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ static VIDEO_UPDATE( acefruit )
|
||||
return 0;
|
||||
}
|
||||
|
||||
static UINT32 sidewndr_payout_r(void *param)
|
||||
static CUSTOM_INPUT( sidewndr_payout_r )
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
@ -155,7 +155,7 @@ static UINT32 sidewndr_payout_r(void *param)
|
||||
}
|
||||
}
|
||||
|
||||
static UINT32 starspnr_coinage_r(void *param)
|
||||
static CUSTOM_INPUT( starspnr_coinage_r )
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
@ -175,7 +175,7 @@ static UINT32 starspnr_coinage_r(void *param)
|
||||
}
|
||||
}
|
||||
|
||||
static UINT32 starspnr_payout_r(void *param)
|
||||
static CUSTOM_INPUT( starspnr_payout_r )
|
||||
{
|
||||
int bit_mask = (FPTR)param;
|
||||
|
||||
|
@ -226,7 +226,7 @@ static void alg_potgo_w(UINT16 data)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 lightgun_pos_r(void *param)
|
||||
static CUSTOM_INPUT( lightgun_pos_r )
|
||||
{
|
||||
int x = 0, y = 0;
|
||||
|
||||
@ -236,14 +236,14 @@ static UINT32 lightgun_pos_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 lightgun_trigger_r(void *param)
|
||||
static CUSTOM_INPUT( lightgun_trigger_r )
|
||||
{
|
||||
/* read the trigger control based on the input select */
|
||||
return (readinputportbytag("TRIGGERS") >> input_select) & 1;
|
||||
}
|
||||
|
||||
|
||||
static UINT32 lightgun_holster_r(void *param)
|
||||
static CUSTOM_INPUT( lightgun_holster_r )
|
||||
{
|
||||
/* read the holster control based on the input select */
|
||||
return (readinputportbytag("TRIGGERS") >> (2 + input_select)) & 1;
|
||||
|
@ -82,7 +82,7 @@ static WRITE16_HANDLER( arcadia_multibios_change_game )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 arcadia_coin_counter_r(void *param)
|
||||
static CUSTOM_INPUT( arcadia_coin_counter_r )
|
||||
{
|
||||
/* return coin counter values */
|
||||
return *(UINT8 *)param & 3;
|
||||
|
@ -111,7 +111,7 @@ static void plot_byte(mame_bitmap *bitmap, UINT8 y, UINT8 x, UINT8 data, UINT8 c
|
||||
{
|
||||
pen_t fore_pen = MAKE_RGB(pal1bit(color >> 0), pal1bit(color >> 2), pal1bit(color >> 1));
|
||||
UINT8 flip_xor = screen_flip & 7;
|
||||
|
||||
|
||||
*BITMAP_ADDR32(bitmap, y, x + (0 ^ flip_xor)) = (data & 0x01) ? fore_pen : RGB_BLACK;
|
||||
*BITMAP_ADDR32(bitmap, y, x + (1 ^ flip_xor)) = (data & 0x02) ? fore_pen : RGB_BLACK;
|
||||
*BITMAP_ADDR32(bitmap, y, x + (2 ^ flip_xor)) = (data & 0x04) ? fore_pen : RGB_BLACK;
|
||||
@ -176,7 +176,7 @@ static TIMER_CALLBACK( kamikaze_int_off )
|
||||
{
|
||||
cpunum_set_input_line(0, 0, CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static TIMER_CALLBACK( kamizake_int_gen )
|
||||
{
|
||||
@ -217,7 +217,7 @@ static INTERRUPT_GEN( spaceint_interrupt )
|
||||
static READ8_HANDLER( kamikaze_ppi_r )
|
||||
{
|
||||
UINT8 result = 0xff;
|
||||
|
||||
|
||||
/* the address lines are used for /CS; yes, they can overlap! */
|
||||
if (!(offset & 4))
|
||||
result &= ppi8255_0_r(offset);
|
||||
@ -270,7 +270,7 @@ static WRITE8_HANDLER( astinvad_sound2_w )
|
||||
if (bits_gone_hi & 0x04) sample_start(5, SND_FLEET3, 0);
|
||||
if (bits_gone_hi & 0x08) sample_start(5, SND_FLEET4, 0);
|
||||
if (bits_gone_hi & 0x10) sample_start(4, SND_UFOHIT, 0);
|
||||
|
||||
|
||||
screen_flip = (readinputport(3) & data & 0x20) ? 0xff : 0x00;
|
||||
}
|
||||
|
||||
@ -501,7 +501,7 @@ static MACHINE_DRIVER_START( kamikaze )
|
||||
MDRV_CPU_ADD(Z80, MASTER_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(kamikaze_map,0)
|
||||
MDRV_CPU_IO_MAP(kamikaze_portmap,0)
|
||||
|
||||
|
||||
MDRV_MACHINE_START(kamikaze)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -244,7 +244,7 @@ static WRITE8_HANDLER( seawolf2_sound_2_w ) // Port 41
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 ebases_trackball_r(void *param)
|
||||
static CUSTOM_INPUT( ebases_trackball_r )
|
||||
{
|
||||
static const char *const names[] = { "TRACKX2", "TRACKY2", "TRACKX1", "TRACKY1" };
|
||||
return readinputportbytag(names[input_select]);
|
||||
@ -460,7 +460,7 @@ static READ8_HANDLER( demndrgn_io_r )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 demndragn_joystick_r(void *param)
|
||||
static CUSTOM_INPUT( demndragn_joystick_r )
|
||||
{
|
||||
static const char *const names[] = { "MOVEX", "MOVEY" };
|
||||
return readinputportbytag(names[input_select]);
|
||||
|
@ -632,11 +632,11 @@ static INPUT_PORTS_START( astrof )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
// PORT_START_TAG("WIREMOD")
|
||||
// PORT_CONFNAME( 0x01, 0x00, "Wire Mod for Background Color" )
|
||||
// PORT_CONFSETTING( 0x00, "Blue Background" )
|
||||
// PORT_CONFSETTING( 0x01, "Black Background" )
|
||||
// PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
// PORT_START_TAG("WIREMOD")
|
||||
// PORT_CONFNAME( 0x01, 0x00, "Wire Mod for Background Color" )
|
||||
// PORT_CONFSETTING( 0x00, "Blue Background" )
|
||||
// PORT_CONFSETTING( 0x01, "Black Background" )
|
||||
// PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@ Note: Euro rom labels (IE: "TSE") had a blue stripe, while those labeled
|
||||
of TSE and TSU roms in the parent set is correct and verified.
|
||||
Note: Euro set simply states the game cannot be operated in Japan....
|
||||
Note: These issues have been verified on a real PCB and are not emulation bugs:
|
||||
- misplaced sprites ( see beginning of level 1 or 2 for example )
|
||||
- misplaced sprites ( see beginning of level 1 or 2 for example )
|
||||
- sprite / sprite priority ( see level 2 the reflectors )
|
||||
- sprite / background priority ( see level 1: birds walk through
|
||||
branches of different trees )
|
||||
|
@ -185,7 +185,7 @@ static TIMER_CALLBACK( clock_irq )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_vblank(void *param)
|
||||
static CUSTOM_INPUT( get_vblank )
|
||||
{
|
||||
int scanline = video_screen_get_vpos(0);
|
||||
return syncprom[scanline & 0xff] & 1;
|
||||
|
@ -152,7 +152,7 @@ static TIMER_CALLBACK( clock_irq )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_vblank(void *param)
|
||||
static CUSTOM_INPUT( get_vblank )
|
||||
{
|
||||
int scanline = video_screen_get_vpos(0);
|
||||
return (~syncprom[scanline & 0xff] >> 1) & 1;
|
||||
|
@ -69,7 +69,7 @@ static WRITE8_HANDLER( pc3092_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 pc3092_r(void *param)
|
||||
static CUSTOM_INPUT( pc3092_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -220,7 +220,7 @@ static ADDRESS_MAP_START( main_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_FLAGS( AMEF_ABITS(4) )
|
||||
AM_RANGE(0x00, 0x00) AM_MIRROR(0x0c) AM_READ(port_tag_to_handler8("DSW0"))
|
||||
AM_RANGE(0x01, 0x01) AM_MIRROR(0x0c) AM_READ(port_tag_to_handler8("IN0"))
|
||||
/* AM_SPACE(0x02, 0x03) AM_READ(pc3259_r) crashes if not at the end */
|
||||
/* AM_SPACE(0x02, 0x03) AM_READ(pc3259_r) crashes if not at the end */
|
||||
AM_RANGE(0x03, 0x03) AM_MIRROR(0x0c) AM_READ(port_tag_to_handler8("IN1"))
|
||||
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(MWA8_NOP) /* not connected */
|
||||
|
@ -397,7 +397,7 @@ static WRITE8_HANDLER( led_den2_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 laserdisc_status_r(void *param)
|
||||
static CUSTOM_INPUT( laserdisc_status_r )
|
||||
{
|
||||
if (discinfo == NULL)
|
||||
return 0;
|
||||
@ -417,7 +417,7 @@ static UINT32 laserdisc_status_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 laserdisc_command_r(void *param)
|
||||
static CUSTOM_INPUT( laserdisc_command_r )
|
||||
{
|
||||
if (discinfo == NULL)
|
||||
return 0;
|
||||
|
@ -26,7 +26,7 @@ static UINT8 dorachan_flip_screen;
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static READ8_HANDLER( dorachan_protection_r )
|
||||
static CUSTOM_INPUT( dorachan_protection_r )
|
||||
{
|
||||
UINT8 ret = 0;
|
||||
|
||||
@ -114,7 +114,7 @@ static WRITE8_HANDLER(dorachan_ctrl_w)
|
||||
}
|
||||
|
||||
|
||||
static READ8_HANDLER( dorachan_v128_r )
|
||||
static CUSTOM_INPUT( dorachan_v128_r )
|
||||
{
|
||||
/* to avoid resetting (when player 2 starts) bit 0 need to be
|
||||
inverted when screen is flipped */
|
||||
|
@ -376,13 +376,13 @@ static WRITE8_HANDLER( enigma2_flip_screen_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 p1_controls_r(void *param)
|
||||
static CUSTOM_INPUT( p1_controls_r )
|
||||
{
|
||||
return readinputportbytag("P1CONTROLS");
|
||||
}
|
||||
|
||||
|
||||
static UINT32 p2_controls_r(void *param)
|
||||
static CUSTOM_INPUT( p2_controls_r )
|
||||
{
|
||||
if (engima2_flip_screen)
|
||||
return readinputportbytag("P2CONTROLS");
|
||||
|
@ -95,7 +95,7 @@ INTERRUPT_GEN( eolith_speedup )
|
||||
}
|
||||
}
|
||||
|
||||
UINT32 eolith_speedup_getvblank(void *param)
|
||||
CUSTOM_INPUT( eolith_speedup_getvblank )
|
||||
{
|
||||
return eolith_vblank&1;
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ static UINT8 last_dial;
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 teetert_input_direction_r(void *param)
|
||||
static CUSTOM_INPUT( teetert_input_direction_r )
|
||||
{
|
||||
int result = 0;
|
||||
UINT8 dial = readinputportbytag("DIAL");
|
||||
@ -161,7 +161,7 @@ static UINT32 teetert_input_direction_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 teetert_input_movement_r(void *param)
|
||||
static CUSTOM_INPUT( teetert_input_movement_r )
|
||||
{
|
||||
UINT8 dial = readinputportbytag("DIAL");
|
||||
|
||||
|
@ -358,7 +358,7 @@ static READ32_HANDLER( input_port_2_020_r ) { return readinputport(2) << 16; }
|
||||
static READ32_HANDLER( input_port_3_020_r ) { return readinputport(3) << 16; }
|
||||
|
||||
|
||||
static UINT32 analog_bit_r(void *param)
|
||||
static CUSTOM_INPUT( analog_bit_r )
|
||||
{
|
||||
int which = (FPTR)param;
|
||||
return (analog_ports[which] >> 7) & 0x01;
|
||||
|
@ -143,7 +143,7 @@ static WRITE32_HANDLER( eeprom_w )
|
||||
cpunum_set_input_line(1, INPUT_LINE_RESET, ( data & 0x40 ) ? CLEAR_LINE : ASSERT_LINE );
|
||||
}
|
||||
|
||||
static UINT32 eeprom_bit_r(void *param)
|
||||
static CUSTOM_INPUT( eeprom_bit_r )
|
||||
{
|
||||
return EEPROM_read_bit();
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ static NVRAM_HANDLER( konamigv_93C46 )
|
||||
}
|
||||
}
|
||||
|
||||
static UINT32 eeprom_bit_r(void *param)
|
||||
static CUSTOM_INPUT( eeprom_bit_r )
|
||||
{
|
||||
return EEPROM_read_bit();
|
||||
}
|
||||
|
@ -1878,7 +1878,7 @@ static void gn845pwbb_clk_w( int offset, int data )
|
||||
verboselog( 2, "stage: %dp data clk=%d state=%d d0=%d shift=%08x bit=%d stage_mask=%08x\n", offset + 1, clk, stage[ offset ].state, stage[ offset ].DO, stage[ offset ].shift, stage[ offset ].bit, stage_mask );
|
||||
}
|
||||
|
||||
static UINT32 gn845pwbb_read( void *param )
|
||||
static CUSTOM_INPUT( gn845pwbb_read )
|
||||
{
|
||||
return readinputportbytag( "STAGE" ) & stage_mask;
|
||||
}
|
||||
|
@ -119,12 +119,12 @@ static INTERRUPT_GEN( ladybug_interrupt )
|
||||
#define LADYBUG_P1_CONTROL_PORT_TAG ("CONTP1")
|
||||
#define LADYBUG_P2_CONTROL_PORT_TAG ("CONTP2")
|
||||
|
||||
static UINT32 ladybug_p1_control_r(void *param)
|
||||
static CUSTOM_INPUT( ladybug_p1_control_r )
|
||||
{
|
||||
return readinputportbytag(LADYBUG_P1_CONTROL_PORT_TAG);
|
||||
}
|
||||
|
||||
static UINT32 ladybug_p2_control_r(void *param)
|
||||
static CUSTOM_INPUT( ladybug_p2_control_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
|
@ -297,7 +297,7 @@ static MACHINE_DRIVER_START( madgear )
|
||||
MDRV_CPU_VBLANK_INT(madgear_interrupt,3) /* 1 for vbl, 2 for control reads?? */
|
||||
|
||||
MDRV_CPU_ADD(Z80, XTAL_3_579545MHz) /* verified on pcb */
|
||||
/* audio CPU */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(mg_sound_readmem,mg_sound_writemem)
|
||||
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -122,7 +122,7 @@ static ADDRESS_MAP_START( lethalj_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x04000000, 0x0400000f) AM_READWRITE(OKIM6295_status_0_lsb_r, OKIM6295_data_0_lsb_w)
|
||||
AM_RANGE(0x04000010, 0x0400001f) AM_READWRITE(OKIM6295_status_1_lsb_r, OKIM6295_data_1_lsb_w)
|
||||
AM_RANGE(0x04100000, 0x0410000f) AM_READWRITE(OKIM6295_status_2_lsb_r, OKIM6295_data_2_lsb_w)
|
||||
// AM_RANGE(0x04100010, 0x0410001f) AM_READNOP /* read but never examined */
|
||||
// AM_RANGE(0x04100010, 0x0410001f) AM_READNOP /* read but never examined */
|
||||
AM_RANGE(0x04200000, 0x0420001f) AM_WRITENOP /* clocks bits through here */
|
||||
AM_RANGE(0x04300000, 0x0430007f) AM_READ(lethalj_gun_r)
|
||||
AM_RANGE(0x04400000, 0x0440000f) AM_WRITENOP /* clocks bits through here */
|
||||
|
@ -297,7 +297,7 @@ static WRITE16_HANDLER( m92_bankswitch_w )
|
||||
}
|
||||
}
|
||||
|
||||
static UINT32 m92_sprite_busy_r(void *param)
|
||||
static CUSTOM_INPUT( m92_sprite_busy_r )
|
||||
{
|
||||
return m92_sprite_buffer_busy;
|
||||
}
|
||||
|
@ -6,18 +6,6 @@
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
/* Player 1 and 2 have the same IN */
|
||||
#define IREM_JOYSTICK_1_2(_n_) \
|
||||
PORT_START \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(_n_)
|
||||
|
||||
#define IREM_JOYSTICKS_1_2 \
|
||||
PORT_START_TAG("JOY12") \
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) \
|
||||
@ -37,18 +25,6 @@
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) \
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
|
||||
/* Player 3 and 4 have IN similar to Player 1 and 2, but have the COIN and START buttons */
|
||||
#define IREM_JOYSTICK_3_4(_n_) \
|
||||
PORT_START \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START##_n_ ) /* If common slots, Coin3 if separate */ \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN##_n_ ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(_n_) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(_n_)
|
||||
|
||||
#define IREM_JOYSTICKS_3_4 \
|
||||
PORT_START_TAG("JOY34") \
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) \
|
||||
@ -130,113 +106,3 @@
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
|
||||
|
||||
|
||||
#define IREM_SYSTEM_DIPSWITCH_4PLAYERS \
|
||||
PORT_START \
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) \
|
||||
PORT_DIPSETTING( 0x02, "2 Players" ) \
|
||||
PORT_DIPSETTING( 0x00, "4 Players" ) \
|
||||
PORT_DIPNAME( 0x04, 0x04, "Coin Slots" ) \
|
||||
PORT_DIPSETTING( 0x04, "Common" ) \
|
||||
PORT_DIPSETTING( 0x00, "Separate" ) \
|
||||
PORT_DIPNAME( 0x08, 0x08, "Coin Mode" ) /* Default 1 */ \
|
||||
PORT_DIPSETTING( 0x08, "1" ) \
|
||||
PORT_DIPSETTING( 0x00, "2" ) \
|
||||
IREM_COIN_MODE_1_NEW
|
||||
|
||||
#define IREM_SYSTEM_DIPSWITCH_3PLAYERS \
|
||||
PORT_START \
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) \
|
||||
PORT_DIPSETTING( 0x02, "2 Players" ) \
|
||||
PORT_DIPSETTING( 0x00, "3 Players" ) \
|
||||
PORT_DIPNAME( 0x04, 0x04, "Coin Slots" ) \
|
||||
PORT_DIPSETTING( 0x04, "Common" ) \
|
||||
PORT_DIPSETTING( 0x00, "Separate" ) \
|
||||
PORT_DIPNAME( 0x08, 0x08, "Coin Mode" ) /* Default 1 */ \
|
||||
PORT_DIPSETTING( 0x08, "1" ) \
|
||||
PORT_DIPSETTING( 0x00, "2" ) \
|
||||
IREM_COIN_MODE_1_NEW
|
||||
|
||||
#define IREM_SYSTEM_DIPSWITCH_CABINET \
|
||||
PORT_START \
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) \
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) ) \
|
||||
PORT_DIPNAME( 0x04, 0x04, "Coin Slots" ) \
|
||||
PORT_DIPSETTING( 0x04, "Common" ) \
|
||||
PORT_DIPSETTING( 0x00, "Separate" ) \
|
||||
PORT_DIPNAME( 0x08, 0x08, "Coin Mode" ) /* Default 1 */ \
|
||||
PORT_DIPSETTING( 0x08, "1" ) \
|
||||
PORT_DIPSETTING( 0x00, "2" ) \
|
||||
IREM_COIN_MODE_1_NEW
|
||||
|
||||
#define IREM_SYSTEM_DIPSWITCH \
|
||||
PORT_START \
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) \
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) \
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x04, 0x04, "Coin Slots" ) \
|
||||
PORT_DIPSETTING( 0x04, "Common" ) \
|
||||
PORT_DIPSETTING( 0x00, "Separate" ) \
|
||||
PORT_DIPNAME( 0x08, 0x08, "Coin Mode" ) /* Default 1 */ \
|
||||
PORT_DIPSETTING( 0x08, "1" ) \
|
||||
PORT_DIPSETTING( 0x00, "2" ) \
|
||||
IREM_COIN_MODE_1_NEW
|
||||
|
||||
#define IREM_COINS_SYSTEMDIPS(custom) \
|
||||
PORT_START_TAG("COINS_DIPS") \
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 ) \
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN1 ) \
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 ) \
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE ) \
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) \
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(custom, 0) /* Actually vblank, handled above */ \
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) \
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) \
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) \
|
||||
PORT_DIPNAME( 0x0400, 0x0400, "Coin Slots" ) \
|
||||
PORT_DIPSETTING( 0x0400, "Common" ) \
|
||||
PORT_DIPSETTING( 0x0000, "Separate" ) \
|
||||
PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) /* Default 1 */ \
|
||||
PORT_DIPSETTING( 0x0800, "1" ) \
|
||||
PORT_DIPSETTING( 0x0000, "2" ) \
|
||||
PORT_DIPNAME( 0xf000, 0xf000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:5,6,7,8") \
|
||||
PORT_DIPSETTING( 0xa000, DEF_STR( 6C_1C ) ) \
|
||||
PORT_DIPSETTING( 0xb000, DEF_STR( 5C_1C ) ) \
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( 4C_1C ) ) \
|
||||
PORT_DIPSETTING( 0xd000, DEF_STR( 3C_1C ) ) \
|
||||
PORT_DIPSETTING( 0xe000, DEF_STR( 2C_1C ) ) \
|
||||
PORT_DIPSETTING( 0x1000, "2 Coins to Start/1 to Continue") \
|
||||
PORT_DIPSETTING( 0x3000, DEF_STR( 3C_2C ) ) \
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( 4C_3C ) ) \
|
||||
PORT_DIPSETTING( 0xf000, DEF_STR( 1C_1C ) ) \
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( 2C_3C ) ) \
|
||||
PORT_DIPSETTING( 0x9000, DEF_STR( 1C_2C ) ) \
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( 1C_3C ) ) \
|
||||
PORT_DIPSETTING( 0x7000, DEF_STR( 1C_4C ) ) \
|
||||
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_5C ) ) \
|
||||
PORT_DIPSETTING( 0x5000, DEF_STR( 1C_6C ) ) \
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
|
||||
|
||||
|
||||
#define IREM_PORT_UNUSED \
|
||||
PORT_START \
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
|
@ -149,19 +149,19 @@ static WRITE8_HANDLER( yawdim_oki_bank_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 narc_talkback_strobe_r(void *param)
|
||||
static CUSTOM_INPUT( narc_talkback_strobe_r )
|
||||
{
|
||||
return (williams_narc_talkback_r() >> 8) & 1;
|
||||
}
|
||||
|
||||
|
||||
static UINT32 narc_talkback_data_r(void *param)
|
||||
static CUSTOM_INPUT( narc_talkback_data_r )
|
||||
{
|
||||
return williams_narc_talkback_r() & 0xff;
|
||||
}
|
||||
|
||||
|
||||
static UINT32 adpcm_irq_state_r(void *param)
|
||||
static CUSTOM_INPUT( adpcm_irq_state_r )
|
||||
{
|
||||
return williams_adpcm_sound_irq_r() & 1;
|
||||
}
|
||||
@ -259,14 +259,14 @@ static INPUT_PORTS_START( narc )
|
||||
PORT_BIT( 0x3000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xc000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
/*
|
||||
Test mode indicates "Cut for French" and "Cut for German", hinting that these
|
||||
are jumpers or wires that can be modified on the PCB. However, there are no
|
||||
French or German strings in the ROMs, and this "feature" was clearly never
|
||||
actually implemented
|
||||
PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Language ) )
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( German ) )
|
||||
Test mode indicates "Cut for French" and "Cut for German", hinting that these
|
||||
are jumpers or wires that can be modified on the PCB. However, there are no
|
||||
French or German strings in the ROMs, and this "feature" was clearly never
|
||||
actually implemented
|
||||
PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Language ) )
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( English ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( French ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( German ) )
|
||||
*/
|
||||
|
||||
PORT_START
|
||||
|
@ -446,7 +446,7 @@ static WRITE32_HANDLER( tms32031_control_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 custom_49way_r(void *param)
|
||||
static CUSTOM_INPUT( custom_49way_r )
|
||||
{
|
||||
static const UINT8 translate49[7] = { 0x8, 0xc, 0xe, 0xf, 0x3, 0x1, 0x0 };
|
||||
const char *namex = param;
|
||||
@ -462,7 +462,7 @@ static WRITE32_HANDLER( keypad_select_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 keypad_r(void *param)
|
||||
static CUSTOM_INPUT( keypad_r )
|
||||
{
|
||||
UINT32 bits = readinputportbytag(param);
|
||||
UINT8 select = keypad_select;
|
||||
|
@ -325,7 +325,7 @@ static TIMER_CALLBACK( clock_irq )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_vblank(void *param)
|
||||
static CUSTOM_INPUT( get_vblank )
|
||||
{
|
||||
int v = scanline_to_v(video_screen_get_vpos(0));
|
||||
return v < 24;
|
||||
|
@ -317,7 +317,7 @@ static WRITE8_HANDLER( seawolf_periscope_lamp_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 seawolf_erase_input_r(void *param)
|
||||
static CUSTOM_INPUT( seawolf_erase_input_r )
|
||||
{
|
||||
return readinputportbytag(SEAWOLF_ERASE_SW_PORT_TAG) &
|
||||
readinputportbytag(SEAWOLF_ERASE_DIP_PORT_TAG);
|
||||
@ -548,13 +548,13 @@ UINT8 tornbase_get_cabinet_type()
|
||||
}
|
||||
|
||||
|
||||
static UINT32 tornbase_hit_left_input_r(void *param)
|
||||
static CUSTOM_INPUT( tornbase_hit_left_input_r )
|
||||
{
|
||||
return readinputportbytag(TORNBASE_L_HIT_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
static UINT32 tornbase_hit_right_input_r(void *param)
|
||||
static CUSTOM_INPUT( tornbase_hit_right_input_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -575,7 +575,7 @@ static UINT32 tornbase_hit_right_input_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 tornbase_pitch_left_input_r(void *param)
|
||||
static CUSTOM_INPUT( tornbase_pitch_left_input_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -596,13 +596,13 @@ static UINT32 tornbase_pitch_left_input_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 tornbase_pitch_right_input_r(void *param)
|
||||
static CUSTOM_INPUT( tornbase_pitch_right_input_r )
|
||||
{
|
||||
return readinputportbytag(TORNBASE_L_PITCH_PORT_TAG);
|
||||
}
|
||||
|
||||
|
||||
static UINT32 tornbase_score_input_r(void *param)
|
||||
static CUSTOM_INPUT( tornbase_score_input_r )
|
||||
{
|
||||
return readinputportbytag(TORNBASE_SCORE_SW_PORT_TAG) &
|
||||
readinputportbytag(TORNBASE_SCORE_DIP_PORT_TAG);
|
||||
@ -1177,7 +1177,7 @@ void desertgun_set_controller_select(UINT8 data)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 desertgu_gun_input_r(void *param)
|
||||
static CUSTOM_INPUT( desertgu_gun_input_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -1190,7 +1190,7 @@ static UINT32 desertgu_gun_input_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 desertgu_dip_sw_0_1_r(void *param)
|
||||
static CUSTOM_INPUT( desertgu_dip_sw_0_1_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -1304,7 +1304,7 @@ MACHINE_DRIVER_END
|
||||
#define DPLAY_CAB_TYPE_COCKTAIL (1)
|
||||
|
||||
|
||||
static UINT32 dplay_pitch_left_input_r(void *param)
|
||||
static CUSTOM_INPUT( dplay_pitch_left_input_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -1317,7 +1317,7 @@ static UINT32 dplay_pitch_left_input_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 dplay_pitch_right_input_r(void *param)
|
||||
static CUSTOM_INPUT( dplay_pitch_right_input_r )
|
||||
{
|
||||
return readinputportbytag(DPLAY_L_PITCH_PORT_TAG);
|
||||
}
|
||||
@ -1692,7 +1692,7 @@ void clowns_set_controller_select(UINT8 data)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 clowns_controller_r(void *param)
|
||||
static CUSTOM_INPUT( clowns_controller_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -2479,7 +2479,7 @@ void invaders_set_flip_screen(UINT8 data)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 invaders_coin_input_r(void *param)
|
||||
static CUSTOM_INPUT( invaders_coin_input_r )
|
||||
{
|
||||
UINT32 ret = readinputportbytag(INVADERS_COIN_INPUT_PORT_TAG);
|
||||
|
||||
@ -2489,7 +2489,7 @@ static UINT32 invaders_coin_input_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 invaders_sw6_sw7_r(void *param)
|
||||
static CUSTOM_INPUT( invaders_sw6_sw7_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -2505,7 +2505,7 @@ static UINT32 invaders_sw6_sw7_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 invaders_sw5_r(void *param)
|
||||
static CUSTOM_INPUT( invaders_sw5_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -2521,7 +2521,7 @@ static UINT32 invaders_sw5_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 invaders_in0_control_r(void *param)
|
||||
static CUSTOM_INPUT( invaders_in0_control_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -2537,7 +2537,7 @@ static UINT32 invaders_in0_control_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
UINT32 invaders_in2_control_r(void *param)
|
||||
CUSTOM_INPUT( invaders_in2_control_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -2679,7 +2679,7 @@ MACHINE_DRIVER_END
|
||||
#define BLUESHRK_COIN_INPUT_PORT_TAG ("COIN")
|
||||
|
||||
|
||||
static UINT32 blueshrk_coin_input_r(void *param)
|
||||
static CUSTOM_INPUT( blueshrk_coin_input_r )
|
||||
{
|
||||
UINT32 ret = readinputportbytag(BLUESHRK_COIN_INPUT_PORT_TAG);
|
||||
|
||||
|
@ -325,7 +325,7 @@ static void select_controller(UINT8 data)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 multiplexed_controller_r(void *param)
|
||||
static CUSTOM_INPUT( multiplexed_controller_r )
|
||||
{
|
||||
char tag[6];
|
||||
|
||||
@ -335,7 +335,7 @@ static UINT32 multiplexed_controller_r(void *param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 mahjong_controller_r(void *param)
|
||||
static CUSTOM_INPUT( mahjong_controller_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -441,7 +441,7 @@ static void calendar_clock(void)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_calendar_status(void)
|
||||
static CUSTOM_INPUT( get_calendar_status )
|
||||
{
|
||||
return (pd4990a_databit_r(0) << 1) | pd4990a_testbit_r(0);
|
||||
}
|
||||
@ -500,7 +500,7 @@ static void memcard_init(void)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_memcard_status(void *param)
|
||||
static CUSTOM_INPUT( get_memcard_status )
|
||||
{
|
||||
/* D0 and D1 are memcard presence indicators, D2 indicates memcard
|
||||
write protect status (we are always write enabled) */
|
||||
@ -596,7 +596,7 @@ static WRITE8_HANDLER( audio_result_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_audio_result(void)
|
||||
static CUSTOM_INPUT( get_audio_result )
|
||||
{
|
||||
UINT32 ret = audio_result;
|
||||
|
||||
|
@ -220,7 +220,7 @@ static void ttl74123_output_changed(int output)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_ttl74123_output(void *param)
|
||||
static CUSTOM_INPUT( get_ttl74123_output )
|
||||
{
|
||||
return ttl74123_output;
|
||||
}
|
||||
|
@ -235,12 +235,12 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( rollrace )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,XTAL_24MHz/8) /* verified on pcb */
|
||||
MDRV_CPU_ADD(Z80,XTAL_24MHz/8) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80,XTAL_24MHz/16) /* verified on pcb */
|
||||
/* audio CPU */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_snd,writemem_snd)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,4)
|
||||
|
||||
|
@ -314,7 +314,7 @@ static READ8_HANDLER( spinner_input_r )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 elim4_joint_coin_r(void *param)
|
||||
static CUSTOM_INPUT( elim4_joint_coin_r )
|
||||
{
|
||||
return (readinputportbytag("COINS") & 0xf) != 0xf;
|
||||
}
|
||||
|
@ -584,7 +584,7 @@ static INTERRUPT_GEN( start_of_vblank_int )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 eeprom_bit_r(void *param)
|
||||
static CUSTOM_INPUT( eeprom_bit_r )
|
||||
{
|
||||
return EEPROM_read_bit();
|
||||
}
|
||||
|
@ -1276,7 +1276,7 @@ Horse Race I/O Expansion (PCB-HRE-000):
|
||||
|
||||
MC68B50CP (x2)
|
||||
EF68B21P (x2)
|
||||
|
||||
|
||||
Note: on screen copyright is (c)1998 Coinmaster.
|
||||
The I/O board has (c)1993 Coinmaster.
|
||||
|
||||
@ -6353,7 +6353,7 @@ static INPUT_PORTS_START( inttoote )
|
||||
PORT_DIPSETTING( 0x03, "10" )
|
||||
PORT_DIPSETTING( 0x02, "20" )
|
||||
PORT_DIPSETTING( 0x01, "99" )
|
||||
// PORT_DIPSETTING( 0x00, "99" )
|
||||
// PORT_DIPSETTING( 0x00, "99" )
|
||||
PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
|
||||
@ -6468,7 +6468,7 @@ static INPUT_PORTS_START( inttoote )
|
||||
PORT_BIT( 0x6000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) // Battery (0 = OK, 1 = NG)
|
||||
/*
|
||||
Betting Panel (keys)
|
||||
Betting Panel (keys)
|
||||
|
||||
1 1-2 2-3 3-4 4-5 5-6 (1QWERT)
|
||||
2 1-3 2-4 3-5 4-6 (2ASDF)
|
||||
|
@ -33,7 +33,7 @@ static int steer_FF2[4];
|
||||
static int gear[4];
|
||||
|
||||
|
||||
static UINT32 get_lever(void* param)
|
||||
static CUSTOM_INPUT( get_lever )
|
||||
{
|
||||
int n = (FPTR) param;
|
||||
|
||||
@ -41,7 +41,7 @@ static UINT32 get_lever(void* param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_wheel(void* param)
|
||||
static CUSTOM_INPUT( get_wheel )
|
||||
{
|
||||
int n = (FPTR) param;
|
||||
|
||||
@ -49,7 +49,7 @@ static UINT32 get_wheel(void* param)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_collision(void *param)
|
||||
static CUSTOM_INPUT( get_collision )
|
||||
{
|
||||
int n = (FPTR) param;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
'Swinging Singles' by Ent. Ent. Ltd
|
||||
driver by Tomasz Slanina
|
||||
|
||||
|
||||
|
||||
Crap XXX game.
|
||||
Three roms contains text "BY YACHIYO"
|
||||
|
||||
@ -35,7 +35,7 @@ static pen_t pens[NUM_PENS];
|
||||
|
||||
//fake palette
|
||||
static const UINT8 ssingles_colors[NUM_PENS*3]=
|
||||
{
|
||||
{
|
||||
0x00,0x00,0x00, 0xff,0xff,0xff, 0xff,0x00,0x00, 0x80,0x00,0x00,
|
||||
0x00,0x00,0x00, 0xf0,0xf0,0xf0, 0xff,0xff,0x00, 0x40,0x40,0x40,
|
||||
0x00,0x00,0x00, 0xff,0xff,0xff, 0xff,0x00,0x00, 0xff,0xff,0x00,
|
||||
@ -53,16 +53,16 @@ static void update_row(mame_bitmap *bitmap, const rectangle *cliprect,
|
||||
UINT32 tile_address;
|
||||
UINT16 cell,palette;
|
||||
UINT8 b0,b1;
|
||||
|
||||
|
||||
for(cx=0;cx<x_count;++cx)
|
||||
{
|
||||
int address=((ma>>1)+(cx>>1))&0xff;
|
||||
|
||||
cell=ssingles_videoram[address]+(ssingles_colorram[address]<<8);
|
||||
|
||||
|
||||
tile_address=((cell&0x3ff)<<4)+ra;
|
||||
palette=(cell>>10)&0x1c;
|
||||
|
||||
|
||||
if(cx&1)
|
||||
{
|
||||
b0=memory_region(REGION_GFX1)[tile_address+0x0000]; /* 9.bin */
|
||||
@ -73,7 +73,7 @@ static void update_row(mame_bitmap *bitmap, const rectangle *cliprect,
|
||||
b0=memory_region(REGION_GFX1)[tile_address+0x4000]; /* 10.bin */
|
||||
b1=memory_region(REGION_GFX1)[tile_address+0xc000]; /* 12.bin */
|
||||
}
|
||||
|
||||
|
||||
for(x=7;x>=0;--x)
|
||||
{
|
||||
*BITMAP_ADDR32(bitmap, y, (cx<<3)|(x)) = pens[palette+((b1&1)|((b0&1)<<1))];
|
||||
@ -88,10 +88,10 @@ static const crtc6845_interface crtc6845_intf =
|
||||
0,
|
||||
1000000, /* ? MHz */
|
||||
8,
|
||||
NULL,
|
||||
update_row,
|
||||
NULL,
|
||||
NULL
|
||||
NULL,
|
||||
update_row,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
static WRITE8_HANDLER(ssingles_videoram_w)
|
||||
@ -107,7 +107,7 @@ static WRITE8_HANDLER(ssingles_colorram_w)
|
||||
static VIDEO_START(ssingles)
|
||||
{
|
||||
crtc6845_config(0, &crtc6845_intf);
|
||||
|
||||
|
||||
{
|
||||
int i;
|
||||
for(i=0;i<NUM_PENS;++i)
|
||||
@ -252,7 +252,7 @@ static MACHINE_DRIVER_START( ssingles )
|
||||
MDRV_CPU_PROGRAM_MAP(ssingles_map,0)
|
||||
MDRV_CPU_IO_MAP(ssingles_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
|
||||
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION)
|
||||
|
||||
|
@ -222,7 +222,7 @@ ADDRESS_MAP_END
|
||||
#define SUPRRIDR_P1_CONTROL_PORT_TAG ("CONTP1")
|
||||
#define SUPRRIDR_P2_CONTROL_PORT_TAG ("CONTP2")
|
||||
|
||||
static UINT32 suprridr_control_r(void *param)
|
||||
static CUSTOM_INPUT( suprridr_control_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
|
@ -269,7 +269,7 @@ static MACHINE_DRIVER_START( tail2nos )
|
||||
MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80,XTAL_20MHz/4) /* verified on pcb */
|
||||
/* audio CPU */
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
|
||||
/* IRQs are triggered by the YM2608 */
|
||||
|
@ -236,7 +236,7 @@ static WRITE8_HANDLER( input_port_4_f0_w )
|
||||
input_port_4_f0 = data >> 4;
|
||||
}
|
||||
|
||||
static UINT32 input_port_4_f0_r(void *param)
|
||||
static CUSTOM_INPUT( input_port_4_f0_r )
|
||||
{
|
||||
return input_port_4_f0;
|
||||
}
|
||||
@ -325,7 +325,7 @@ ADDRESS_MAP_END
|
||||
/* seems the most logical way to do the gears */
|
||||
static UINT8 kikstart_gears[2];
|
||||
|
||||
static int kikstart_gear_r(void *param)
|
||||
static CUSTOM_INPUT( kikstart_gear_r )
|
||||
{
|
||||
const char *port_tag;
|
||||
|
||||
|
@ -313,7 +313,7 @@ static WRITE8_HANDLER( wdclr_w )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static UINT32 tempest_knob_r(void *param)
|
||||
static CUSTOM_INPUT( tempest_knob_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
@ -329,7 +329,7 @@ static UINT32 tempest_knob_r(void *param)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static UINT32 tempest_buttons_r(void *param)
|
||||
static CUSTOM_INPUT( tempest_buttons_r )
|
||||
{
|
||||
UINT32 ret;
|
||||
|
||||
|
@ -98,7 +98,7 @@ static READ8_HANDLER(ram_ic_read)
|
||||
return ram_ic[offset];
|
||||
}
|
||||
|
||||
static UINT32 laserdisc_status_r(void *param)
|
||||
static CUSTOM_INPUT( laserdisc_status_r )
|
||||
{
|
||||
if (discinfo == NULL)
|
||||
return 0;
|
||||
@ -107,7 +107,7 @@ static UINT32 laserdisc_status_r(void *param)
|
||||
return (laserdisc_line_r(discinfo, LASERDISC_LINE_STATUS) == ASSERT_LINE) ? 0 : 1;
|
||||
}
|
||||
|
||||
static UINT32 laserdisc_command_r(void *param)
|
||||
static CUSTOM_INPUT( laserdisc_command_r )
|
||||
{
|
||||
if (discinfo == NULL)
|
||||
return 0;
|
||||
|
@ -20,13 +20,13 @@ static int da_latch;
|
||||
|
||||
|
||||
|
||||
static UINT32 get_collision(void *param)
|
||||
static CUSTOM_INPUT( get_collision )
|
||||
{
|
||||
return ultratnk_collision[(FPTR) param];
|
||||
}
|
||||
|
||||
|
||||
static UINT32 get_joystick(void* param)
|
||||
static CUSTOM_INPUT( get_joystick )
|
||||
{
|
||||
UINT8 joy = readinputportbytag(param) & 3;
|
||||
|
||||
|
@ -82,7 +82,7 @@ static void assert_coin_status(void)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 vicdual_read_coin_status(void *param)
|
||||
static CUSTOM_INPUT( vicdual_read_coin_status )
|
||||
{
|
||||
UINT32 coin_input = readinputportbytag(COIN_PORT_TAG);
|
||||
|
||||
@ -143,19 +143,19 @@ static int get_vcounter(void)
|
||||
}
|
||||
|
||||
|
||||
static UINT32 vicdual_get_64v(void *param)
|
||||
static CUSTOM_INPUT( vicdual_get_64v )
|
||||
{
|
||||
return (get_vcounter() >> 6) & 0x01;
|
||||
}
|
||||
|
||||
|
||||
static UINT32 vicdual_get_vblank_comp(void *param)
|
||||
static CUSTOM_INPUT( vicdual_get_vblank_comp )
|
||||
{
|
||||
return (get_vcounter() < VICDUAL_VBSTART);
|
||||
}
|
||||
|
||||
|
||||
static UINT32 vicdual_get_composite_blank_comp(void *param)
|
||||
static CUSTOM_INPUT( vicdual_get_composite_blank_comp )
|
||||
{
|
||||
return (vicdual_get_vblank_comp(0) && !video_screen_get_hblank(0));
|
||||
}
|
||||
@ -167,7 +167,7 @@ static TIMER_CALLBACK( vicdual_timer_callback )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 vicdual_get_timer_value(void *param)
|
||||
static CUSTOM_INPUT( vicdual_get_timer_value )
|
||||
{
|
||||
/* start the timer, if this is the first call */
|
||||
if (!timer_started)
|
||||
@ -2030,8 +2030,9 @@ static WRITE8_HANDLER( samurai_protection_w )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 samurai_protection_r(int offset)
|
||||
static CUSTOM_INPUT( samurai_protection_r )
|
||||
{
|
||||
int offset = (FPTR)param;
|
||||
UINT32 answer = 0;
|
||||
|
||||
if (samurai_protection_data == 0xab)
|
||||
|
@ -414,7 +414,7 @@ static READ8_HANDLER( razmataz_counter_r )
|
||||
}
|
||||
|
||||
|
||||
static UINT32 razmataz_dial_r(void *param)
|
||||
static CUSTOM_INPUT( razmataz_dial_r )
|
||||
{
|
||||
static const char *const dialname[2] = { "DIAL0", "DIAL1" };
|
||||
int num = (FPTR)param;
|
||||
|
@ -379,7 +379,7 @@ void amiga_machine_config(const amiga_machine_interface *intf);
|
||||
MACHINE_RESET( amiga );
|
||||
INTERRUPT_GEN( amiga_scanline_callback );
|
||||
|
||||
UINT32 amiga_joystick_convert(void *param);
|
||||
CUSTOM_INPUT( amiga_joystick_convert );
|
||||
|
||||
READ16_HANDLER( amiga_cia_r );
|
||||
WRITE16_HANDLER( amiga_cia_w );
|
||||
|
@ -46,7 +46,7 @@ WRITE8_HANDLER( profpac_screenram_ctrl_w );
|
||||
extern const char *const wow_sample_names[];
|
||||
|
||||
READ8_HANDLER( wow_speech_r );
|
||||
UINT32 wow_speech_status_r(void *param);
|
||||
CUSTOM_INPUT( wow_speech_status_r );
|
||||
|
||||
|
||||
/*----------- defined in audio/gorf.c -----------*/
|
||||
@ -54,4 +54,4 @@ UINT32 wow_speech_status_r(void *param);
|
||||
extern const char *const gorf_sample_names[];
|
||||
|
||||
READ8_HANDLER( gorf_speech_r );
|
||||
UINT32 gorf_speech_status_r(void *param);
|
||||
CUSTOM_INPUT( gorf_speech_status_r );
|
||||
|
@ -3,4 +3,4 @@
|
||||
void eolith_speedup_read(void);
|
||||
void init_eolith_speedup(running_machine *machine);
|
||||
INTERRUPT_GEN( eolith_speedup );
|
||||
UINT32 eolith_speedup_getvblank(void *param);
|
||||
CUSTOM_INPUT( eolith_speedup_getvblank );
|
||||
|
@ -60,7 +60,7 @@ void phantom2_set_cloud_counter(UINT16 data);
|
||||
#define INVADERS_P1_CONTROL_PORT_TAG ("CONTP1")
|
||||
#define INVADERS_P2_CONTROL_PORT_TAG ("CONTP2")
|
||||
|
||||
UINT32 invaders_in2_control_r(void *param);
|
||||
CUSTOM_INPUT( invaders_in2_control_r );
|
||||
UINT8 invaders_is_flip_screen(void);
|
||||
void invaders_set_flip_screen(UINT8 data);
|
||||
int invaders_is_cabinet_cocktail(void);
|
||||
|
@ -443,7 +443,7 @@ static TIMER_CALLBACK( amiga_irq_proc )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
UINT32 amiga_joystick_convert(void *param)
|
||||
CUSTOM_INPUT( amiga_joystick_convert )
|
||||
{
|
||||
UINT8 bits = readinputportbytag(param);
|
||||
int up = (bits >> 0) & 1;
|
||||
|
@ -244,7 +244,7 @@ SOUNDS += NAMCONA
|
||||
SOUNDS += TMS36XX
|
||||
SOUNDS += TMS3615
|
||||
SOUNDS += TMS5110
|
||||
SOUNDS += TMS0285
|
||||
SOUNDS += TMC0285
|
||||
SOUNDS += TMS5200
|
||||
SOUNDS += TMS5220
|
||||
SOUNDS += VLM5030
|
||||
|
@ -132,8 +132,8 @@ WRITE16_HANDLER( bionicc_txvideoram_w )
|
||||
WRITE16_HANDLER( bionicc_paletteram_w )
|
||||
{
|
||||
/* The bottom bits are 'intensity' here, but level 2 of Top Secret shows that even
|
||||
when intensity is zero the colour is not reduced to pure black, (the sky should stay
|
||||
at dark blue rather than absolute black) */
|
||||
when intensity is zero the colour is not reduced to pure black, (the sky should stay
|
||||
at dark blue rather than absolute black) */
|
||||
data = COMBINE_DATA(&paletteram16[offset]);
|
||||
paletteram16_RRRRGGGGBBBBIIII_word_w(offset,(data & 0xfff0) | ((data & 0x0007) << 1) | 1, 0);
|
||||
}
|
||||
|
@ -273,7 +273,7 @@ INLINE int adjust_object_timer(running_machine *machine, int vc)
|
||||
/* extract the display begin registers */
|
||||
hdbpix[0] = (gpu_regs[HDB1] & 0x7ff) / 2;
|
||||
hdbpix[1] = (gpu_regs[HDB2] & 0x7ff) / 2;
|
||||
|
||||
|
||||
/* sort */
|
||||
if (hdbpix[0] > hdbpix[1])
|
||||
{
|
||||
@ -284,11 +284,11 @@ INLINE int adjust_object_timer(running_machine *machine, int vc)
|
||||
|
||||
/* select the target one */
|
||||
hdb = hdbpix[vc % 2];
|
||||
|
||||
|
||||
/* if setting the second one in a line, make sure we will ever actually hit it */
|
||||
if (vc % 2 == 1 && (hdbpix[1] == hdbpix[0] || hdbpix[1] >= machine->screen[0].width))
|
||||
return FALSE;
|
||||
|
||||
|
||||
/* adjust the timer */
|
||||
timer_adjust(object_timer, video_screen_get_time_until_pos(0, vc / 2, hdb), vc | (hdb << 16), attotime_never);
|
||||
return TRUE;
|
||||
@ -675,7 +675,7 @@ WRITE16_HANDLER( jaguar_tom_regs_w )
|
||||
int vperiod = (gpu_regs[VP] & 0x7ff) + 1;
|
||||
int vbend = gpu_regs[VBE] & 0x7ff;
|
||||
int vbstart = gpu_regs[VBB] & 0x7ff;
|
||||
|
||||
|
||||
/* adjust for the half-lines */
|
||||
if (hperiod != 0 && vperiod != 0 && hbend < hbstart && vbend < vbstart && hbstart < hperiod)
|
||||
{
|
||||
@ -766,7 +766,7 @@ static TIMER_CALLBACK( cojag_scanline_update )
|
||||
int hde = effective_hvalue(gpu_regs[HDE]) / 2;
|
||||
UINT16 scanline[360];
|
||||
int x;
|
||||
|
||||
|
||||
/* if we are first on this scanline, clear to the border color */
|
||||
if (ENABLE_BORDERS && vc % 2 == 0)
|
||||
{
|
||||
@ -774,7 +774,7 @@ static TIMER_CALLBACK( cojag_scanline_update )
|
||||
for (x = machine->screen[0].visarea.min_x; x <= machine->screen[0].visarea.max_x; x++)
|
||||
dest[x] = border;
|
||||
}
|
||||
|
||||
|
||||
/* process the object list for this counter value */
|
||||
process_object_list(vc, scanline);
|
||||
|
||||
@ -805,7 +805,7 @@ VIDEO_START( cojag )
|
||||
{
|
||||
object_timer = timer_alloc(cojag_scanline_update, NULL);
|
||||
adjust_object_timer(machine, 0);
|
||||
|
||||
|
||||
screen_bitmap = auto_bitmap_alloc(720, 512, BITMAP_FORMAT_RGB32);
|
||||
|
||||
jagobj_init();
|
||||
|
@ -120,7 +120,7 @@ static void do_blit(void)
|
||||
int height = (UINT16)blitter_data[7];
|
||||
int y;
|
||||
/*
|
||||
logerror("blitter data = %04X %04X %04X %04X %04X %04X %04X %04X\n",
|
||||
logerror("blitter data = %04X %04X %04X %04X %04X %04X %04X %04X\n",
|
||||
blitter_data[0], blitter_data[1], blitter_data[2], blitter_data[3],
|
||||
blitter_data[4], blitter_data[5], blitter_data[6], blitter_data[7]);
|
||||
*/
|
||||
|
@ -58,7 +58,7 @@ static const res_net_info phoenix_net_info =
|
||||
{
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 270, 1 } },
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 270, 1 } },
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 270, 1 } }
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 270, 1 } }
|
||||
}
|
||||
};
|
||||
|
||||
@ -76,7 +76,7 @@ PALETTE_INIT( phoenix )
|
||||
int col;
|
||||
col = ((t[i & 0x03] << 3 ) & 0x18) | ((i>>2) & 0x07) | (i & 0x60);
|
||||
palette_set_color(machine,i,rgb[col]);
|
||||
}
|
||||
}
|
||||
palette_normalize_range(machine->palette, 0, 255, 0, 255);
|
||||
free(rgb);
|
||||
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.122u5 ("__DATE__")";
|
||||
const char build_version[] = "0.122u6 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user