mirror of
https://github.com/holub/mame
synced 2025-07-08 11:21:56 +03:00
Cleanups/version bump.
This commit is contained in:
parent
37c56cf592
commit
67e76e92f5
@ -166,12 +166,12 @@ int pic8259_acknowledge(const device_config *device)
|
|||||||
if ((pic8259->pending & mask) && !(pic8259->interrupt_mask & mask))
|
if ((pic8259->pending & mask) && !(pic8259->interrupt_mask & mask))
|
||||||
{
|
{
|
||||||
if (LOG_GENERAL)
|
if (LOG_GENERAL)
|
||||||
logerror("pic8259_acknowledge(): PIC acknowledge IRQ #%d\n", irq);
|
logerror("pic8259_acknowledge(): PIC acknowledge IRQ #%d\n", irq);
|
||||||
pic8259->pending &= ~mask;
|
pic8259->pending &= ~mask;
|
||||||
if (!pic8259->auto_eoi)
|
if (!pic8259->auto_eoi)
|
||||||
pic8259->in_service |= mask;
|
pic8259->in_service |= mask;
|
||||||
if (pic8259->is_x86) {
|
if (pic8259->is_x86) {
|
||||||
/* For x86 mode*/
|
/* For x86 mode*/
|
||||||
return irq + pic8259->base;
|
return irq + pic8259->base;
|
||||||
} else {
|
} else {
|
||||||
/* in case of 8080/85) */
|
/* in case of 8080/85) */
|
||||||
|
@ -71,28 +71,28 @@ offset of 1.5V and a VPP of 1.3V.
|
|||||||
|
|
||||||
The following is documentation from the code moved here and amended to reflect
|
The following is documentation from the code moved here and amended to reflect
|
||||||
the changes done:
|
the changes done:
|
||||||
|
|
||||||
Careful studies of the chip output prove that the chip counts up from 0
|
Careful studies of the chip output prove that the chip counts up from 0
|
||||||
until the counter becomes greater or equal to the period. This is an
|
until the counter becomes greater or equal to the period. This is an
|
||||||
important difference when the program is rapidly changing the period to
|
important difference when the program is rapidly changing the period to
|
||||||
modulate the sound. This is worthwhile noting, since the datasheets
|
modulate the sound. This is worthwhile noting, since the datasheets
|
||||||
say, that the chip counts down.
|
say, that the chip counts down.
|
||||||
Also, note that period = 0 is the same as period = 1. This is mentioned
|
Also, note that period = 0 is the same as period = 1. This is mentioned
|
||||||
in the YM2203 data sheets. However, this does NOT apply to the Envelope
|
in the YM2203 data sheets. However, this does NOT apply to the Envelope
|
||||||
period. In that case, period = 0 is half as period = 1.
|
period. In that case, period = 0 is half as period = 1.
|
||||||
|
|
||||||
Envelope shapes:
|
Envelope shapes:
|
||||||
C AtAlH
|
C AtAlH
|
||||||
0 0 x x \___
|
0 0 x x \___
|
||||||
0 1 x x /___
|
0 1 x x /___
|
||||||
1 0 0 0 \\\\
|
1 0 0 0 \\\\
|
||||||
1 0 0 1 \___
|
1 0 0 1 \___
|
||||||
1 0 1 0 \/\/
|
1 0 1 0 \/\/
|
||||||
1 0 1 1 \```
|
1 0 1 1 \```
|
||||||
1 1 0 0 ////
|
1 1 0 0 ////
|
||||||
1 1 0 1 /```
|
1 1 0 1 /```
|
||||||
1 1 1 0 /\/\
|
1 1 1 0 /\/\
|
||||||
1 1 1 1 /___
|
1 1 1 1 /___
|
||||||
|
|
||||||
The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it
|
The envelope counter on the AY-3-8910 has 16 steps. On the YM2149 it
|
||||||
has twice the steps, happening twice as fast.
|
has twice the steps, happening twice as fast.
|
||||||
@ -190,7 +190,7 @@ struct _ay8910_context
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Static
|
* Static
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ static const ay_ym_param ay8910_param =
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Inline
|
* Inline
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ INLINE UINT16 mix_3D(ay8910_context *psg)
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Static functions
|
* Static functions
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
@ -546,7 +546,7 @@ static void ay8910_update(void *param,stream_sample_t **inputs, stream_sample_t
|
|||||||
if (psg->holding == 0)
|
if (psg->holding == 0)
|
||||||
{
|
{
|
||||||
psg->count_env++;
|
psg->count_env++;
|
||||||
if (psg->count_env >= ENVELOPE_PERIOD(psg) * psg->step )
|
if (psg->count_env >= ENVELOPE_PERIOD(psg) * psg->step )
|
||||||
{
|
{
|
||||||
psg->count_env = 0;
|
psg->count_env = 0;
|
||||||
psg->env_step--;
|
psg->env_step--;
|
||||||
@ -619,9 +619,9 @@ static void build_mixer_table(ay8910_context *psg)
|
|||||||
build_single_table(psg->intf->res_load[chan], psg->par_env, normalize, psg->env_table[chan], 0);
|
build_single_table(psg->intf->res_load[chan], psg->par_env, normalize, psg->env_table[chan], 0);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* The previous implementation added all three channels up instead of averaging them.
|
* The previous implementation added all three channels up instead of averaging them.
|
||||||
* The factor of 3 will force the same levels if normalizing is used.
|
* The factor of 3 will force the same levels if normalizing is used.
|
||||||
*/
|
*/
|
||||||
build_3D_table(psg->intf->res_load[0], psg->par, psg->par_env, normalize, 3, psg->zero_is_off, psg->vol3d_table);
|
build_3D_table(psg->intf->res_load[0], psg->par, psg->par_env, normalize, 3, psg->zero_is_off, psg->vol3d_table);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -650,8 +650,8 @@ static void ay8910_statesave(ay8910_context *psg, int sndindex)
|
|||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Public functions
|
* Public functions
|
||||||
*
|
*
|
||||||
* used by e.g. YM2203, YM2210 ...
|
* used by e.g. YM2203, YM2210 ...
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
@ -812,7 +812,7 @@ int ay8910_read_ym(void *chip)
|
|||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Sound Interface
|
* Sound Interface
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
static void *ay8910_start(int sndindex, int clock, const void *config)
|
static void *ay8910_start(int sndindex, int clock, const void *config)
|
||||||
@ -947,7 +947,7 @@ void ymz294_get_info(void *token, UINT32 state, sndinfo *info)
|
|||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* Read/Write Handlers
|
* Read/Write Handlers
|
||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
READ8_HANDLER( AY8910_read_port_0_r ) { return ay8910_read_ym(sndti_token(SOUND_AY8910, 0)); }
|
READ8_HANDLER( AY8910_read_port_0_r ) { return ay8910_read_ym(sndti_token(SOUND_AY8910, 0)); }
|
||||||
|
@ -27,7 +27,7 @@ YMZ294: 0 I/O port
|
|||||||
*/
|
*/
|
||||||
#define AY8910_DEFAULT_LOADS {1000, 1000, 1000}
|
#define AY8910_DEFAULT_LOADS {1000, 1000, 1000}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following is used by all drivers not reviewed yet.
|
* The following is used by all drivers not reviewed yet.
|
||||||
* This will like the old behaviour, output between
|
* This will like the old behaviour, output between
|
||||||
* 0 and 7FFF
|
* 0 and 7FFF
|
||||||
@ -51,8 +51,8 @@ YMZ294: 0 I/O port
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The follwoing define causes the driver to output
|
* The follwoing define causes the driver to output
|
||||||
* raw volume levels, i.e. 0 .. 15 and 0..31.
|
* raw volume levels, i.e. 0 .. 15 and 0..31.
|
||||||
* This is intended to be used in a subsequent
|
* This is intended to be used in a subsequent
|
||||||
* mixing modul (i.e. mpatrol ties 6 channels from
|
* mixing modul (i.e. mpatrol ties 6 channels from
|
||||||
* AY-3-8910 together). Do not use it now.
|
* AY-3-8910 together). Do not use it now.
|
||||||
*/
|
*/
|
||||||
|
@ -334,7 +334,7 @@ static void dst_sallen_key_reset(node_description *node)
|
|||||||
struct dss_filter2_context *context = node->context;
|
struct dss_filter2_context *context = node->context;
|
||||||
const discrete_op_amp_filt_info *info = node->custom;
|
const discrete_op_amp_filt_info *info = node->custom;
|
||||||
double freq, q;
|
double freq, q;
|
||||||
|
|
||||||
switch ((int) DST_SALLEN_KEY__TYPE)
|
switch ((int) DST_SALLEN_KEY__TYPE)
|
||||||
{
|
{
|
||||||
case DISC_SALLEN_KEY_LOW_PASS:
|
case DISC_SALLEN_KEY_LOW_PASS:
|
||||||
@ -344,7 +344,7 @@ static void dst_sallen_key_reset(node_description *node)
|
|||||||
default:
|
default:
|
||||||
fatalerror("Unknown sallen key filter type");
|
fatalerror("Unknown sallen key filter type");
|
||||||
}
|
}
|
||||||
|
|
||||||
calculate_filter2_coefficients(freq, 1.0 / q, DISC_FILTER_LOWPASS,
|
calculate_filter2_coefficients(freq, 1.0 / q, DISC_FILTER_LOWPASS,
|
||||||
&context->a1, &context->a2,
|
&context->a1, &context->a2,
|
||||||
&context->b0, &context->b1, &context->b2);
|
&context->b0, &context->b1, &context->b2);
|
||||||
|
@ -2279,9 +2279,9 @@
|
|||||||
* | gnd |
|
* | gnd |
|
||||||
* | |
|
* | |
|
||||||
* `----------------------'
|
* `----------------------'
|
||||||
*
|
*
|
||||||
* EXAMPLES: see moon patrol, dkong
|
* EXAMPLES: see moon patrol, dkong
|
||||||
*
|
*
|
||||||
* References:
|
* References:
|
||||||
* http://www.t-linespeakers.org/tech/filters/Sallen-Key.html
|
* http://www.t-linespeakers.org/tech/filters/Sallen-Key.html
|
||||||
* http://en.wikipedia.org/wiki/Sallen_Key_filter
|
* http://en.wikipedia.org/wiki/Sallen_Key_filter
|
||||||
|
@ -253,8 +253,8 @@ static const discrete_inverter_osc_desc dkong_inverter_osc_desc_walk =
|
|||||||
DISC_OSC_INVERTER_IS_TYPE2
|
DISC_OSC_INVERTER_IS_TYPE2
|
||||||
};
|
};
|
||||||
|
|
||||||
static const discrete_op_amp_filt_info dkong_sallen_key_info =
|
static const discrete_op_amp_filt_info dkong_sallen_key_info =
|
||||||
{ RES_K(5.6), RES_K(5.6), 0, 0, 0,
|
{ RES_K(5.6), RES_K(5.6), 0, 0, 0,
|
||||||
CAP_N(22), CAP_N(10), 0
|
CAP_N(22), CAP_N(10), 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ static void adpcm_int(int data)
|
|||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
/* All 6 (3*2) AY-3-8910 outputs are tied together
|
/* All 6 (3*2) AY-3-8910 outputs are tied together
|
||||||
* and put with 470 KOhm to gnd.
|
* and put with 470 KOhm to gnd.
|
||||||
* The following is a approximation */
|
* The following is a approximation */
|
||||||
|
|
||||||
@ -232,7 +232,7 @@ static const struct MSM5205interface irem_msm5205_interface_2 =
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* http://newsgroups.derkeiler.com/Archive/Rec/rec.games.video.arcade.collecting/2006-06/msg03108.html
|
* http://newsgroups.derkeiler.com/Archive/Rec/rec.games.video.arcade.collecting/2006-06/msg03108.html
|
||||||
*
|
*
|
||||||
* mentions, that moon patrol does work on moon ranger hardware.
|
* mentions, that moon patrol does work on moon ranger hardware.
|
||||||
* There is no MSM5250, but a 74LS00 producing white noise for explosions
|
* There is no MSM5250, but a 74LS00 producing white noise for explosions
|
||||||
*/
|
*/
|
||||||
@ -261,7 +261,7 @@ static const struct MSM5205interface irem_msm5205_interface_2 =
|
|||||||
* C35 is disabled, the mixer would just deliver
|
* C35 is disabled, the mixer would just deliver
|
||||||
* no signals if it is enabled.
|
* no signals if it is enabled.
|
||||||
* TODO: Check discrete mixer
|
* TODO: Check discrete mixer
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const discrete_mixer_desc m52_sound_c_stage1 =
|
static const discrete_mixer_desc m52_sound_c_stage1 =
|
||||||
@ -269,13 +269,13 @@ static const discrete_mixer_desc m52_sound_c_stage1 =
|
|||||||
{M52_R19, M52_R22 },
|
{M52_R19, M52_R22 },
|
||||||
{ 0, 0 }, /* variable resistors */
|
{ 0, 0 }, /* variable resistors */
|
||||||
{M52_C37, 0 }, /* node capacitors */
|
{M52_C37, 0 }, /* node capacitors */
|
||||||
0, M52_R23, /* rI, rF */
|
0, M52_R23, /* rI, rF */
|
||||||
M52_C35*0, /* cF */
|
M52_C35*0, /* cF */
|
||||||
0, /* cAmp */
|
0, /* cAmp */
|
||||||
0, 1};
|
0, 1};
|
||||||
|
|
||||||
static const discrete_op_amp_filt_info m52_sound_c_sallen_key =
|
static const discrete_op_amp_filt_info m52_sound_c_sallen_key =
|
||||||
{ M52_R13, M52_R14, 0, 0, 0,
|
{ M52_R13, M52_R14, 0, 0, 0,
|
||||||
M52_C32, M52_C38, 0
|
M52_C32, M52_C38, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -284,9 +284,9 @@ static const discrete_mixer_desc m52_sound_c_mix1 =
|
|||||||
{M52_R25, M52_R15 },
|
{M52_R25, M52_R15 },
|
||||||
{ 0, 0 }, /* variable resistors */
|
{ 0, 0 }, /* variable resistors */
|
||||||
{ 0, 0 }, /* node capacitors */
|
{ 0, 0 }, /* node capacitors */
|
||||||
0, M52_VR1, /* rI, rF */
|
0, M52_VR1, /* rI, rF */
|
||||||
0, /* cF */
|
0, /* cF */
|
||||||
CAP_U(1), /* cAmp */
|
CAP_U(1), /* cAmp */
|
||||||
0, 1};
|
0, 1};
|
||||||
|
|
||||||
static DISCRETE_SOUND_START( m52_sound_c )
|
static DISCRETE_SOUND_START( m52_sound_c )
|
||||||
@ -390,27 +390,27 @@ MACHINE_DRIVER_END
|
|||||||
MACHINE_DRIVER_START( m52_sound_c_audio )
|
MACHINE_DRIVER_START( m52_sound_c_audio )
|
||||||
|
|
||||||
MDRV_SOUND_START(irem_audio)
|
MDRV_SOUND_START(irem_audio)
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MDRV_CPU_ADD_TAG("iremsound", M6803, XTAL_3_579545MHz) /* verified on pcb */
|
MDRV_CPU_ADD_TAG("iremsound", M6803, XTAL_3_579545MHz) /* verified on pcb */
|
||||||
MDRV_CPU_IO_MAP(irem_sound_portmap,0)
|
MDRV_CPU_IO_MAP(irem_sound_portmap,0)
|
||||||
MDRV_CPU_PROGRAM_MAP(m52_small_sound_map,0)
|
MDRV_CPU_PROGRAM_MAP(m52_small_sound_map,0)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
MDRV_SOUND_ADD_TAG("ay8910.0", AY8910, XTAL_3_579545MHz/4) /* verified on pcb */
|
MDRV_SOUND_ADD_TAG("ay8910.0", AY8910, XTAL_3_579545MHz/4) /* verified on pcb */
|
||||||
MDRV_SOUND_CONFIG(irem_ay8910_interface_1)
|
MDRV_SOUND_CONFIG(irem_ay8910_interface_1)
|
||||||
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 0)
|
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 0)
|
||||||
|
|
||||||
MDRV_SOUND_ADD_TAG("ay8910.0", AY8910, XTAL_3_579545MHz/4) /* verified on pcb */
|
MDRV_SOUND_ADD_TAG("ay8910.0", AY8910, XTAL_3_579545MHz/4) /* verified on pcb */
|
||||||
MDRV_SOUND_CONFIG(irem_ay8910_interface_2)
|
MDRV_SOUND_CONFIG(irem_ay8910_interface_2)
|
||||||
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 1)
|
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 1)
|
||||||
|
|
||||||
MDRV_SOUND_ADD_TAG("msm5250", MSM5205, XTAL_384kHz) /* verified on pcb */
|
MDRV_SOUND_ADD_TAG("msm5250", MSM5205, XTAL_384kHz) /* verified on pcb */
|
||||||
MDRV_SOUND_CONFIG(irem_msm5205_interface_1)
|
MDRV_SOUND_CONFIG(irem_msm5205_interface_1)
|
||||||
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 2)
|
MDRV_SOUND_ROUTE_EX(0, "filtermix", 1.0, 2)
|
||||||
|
|
||||||
MDRV_SOUND_ADD_TAG("filtermix", DISCRETE, 0)
|
MDRV_SOUND_ADD_TAG("filtermix", DISCRETE, 0)
|
||||||
MDRV_SOUND_CONFIG_DISCRETE(m52_sound_c)
|
MDRV_SOUND_CONFIG_DISCRETE(m52_sound_c)
|
||||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||||
|
@ -304,8 +304,8 @@ static const discrete_lfsr_desc mm5837_lfsr =
|
|||||||
16 /* Output bit */
|
16 /* Output bit */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const discrete_op_amp_filt_info headon_sallen_key_info =
|
static const discrete_op_amp_filt_info headon_sallen_key_info =
|
||||||
{ RES_K(15), RES_K(15), 0, 0, 0,
|
{ RES_K(15), RES_K(15), 0, 0, 0,
|
||||||
CAP_N(470), CAP_N(47), 0
|
CAP_N(470), CAP_N(47), 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3939,7 +3939,7 @@ ROM_END
|
|||||||
from the number of the only new ROM found in this set (sthj23.bin), this could
|
from the number of the only new ROM found in this set (sthj23.bin), this could
|
||||||
be from a 91635B, which would classify it as a hack since that board wasn't available at the
|
be from a 91635B, which would classify it as a hack since that board wasn't available at the
|
||||||
time of release of this game.
|
time of release of this game.
|
||||||
All other ROMs copied from the US set
|
All other ROMs copied from the US set
|
||||||
*/
|
*/
|
||||||
ROM_START( striderj )
|
ROM_START( striderj )
|
||||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
|
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
'Scrambled tile #' is the phisical tile position in the matrix:
|
'Scrambled tile #' is the phisical tile position in the matrix:
|
||||||
|
|
||||||
Normal | Scrambled
|
Normal | Scrambled
|
||||||
tile # | tile #
|
tile # | tile #
|
||||||
-------+----------
|
-------+----------
|
||||||
0x00 | 0x00 \
|
0x00 | 0x00 \
|
||||||
0x01 | 0x80 |
|
0x01 | 0x80 |
|
||||||
@ -178,22 +178,22 @@
|
|||||||
0x2F | 0xF4 /
|
0x2F | 0xF4 /
|
||||||
-------+----------
|
-------+----------
|
||||||
|
|
||||||
So we extract the following decryption table:
|
So we extract the following decryption table:
|
||||||
|
|
||||||
0 <-> 0; 1 <-> 8; 2 <-> 4; 3 <-> C
|
0 <-> 0; 1 <-> 8; 2 <-> 4; 3 <-> C
|
||||||
4 <-> 2; 5 <-> A; 6 <-> 6; 7 <-> E
|
4 <-> 2; 5 <-> A; 6 <-> 6; 7 <-> E
|
||||||
8 <-> 1; 9 <-> 9; A <-> 5; B <-> D
|
8 <-> 1; 9 <-> 9; A <-> 5; B <-> D
|
||||||
C <-> 3; D <-> B; E <-> 7; F <-> F
|
C <-> 3; D <-> B; E <-> 7; F <-> F
|
||||||
|
|
||||||
...and then swap nibbles.
|
...and then swap nibbles.
|
||||||
|
|
||||||
Also note that the values are inverted/mirrored bits of the original ones.
|
Also note that the values are inverted/mirrored bits of the original ones.
|
||||||
|
|
||||||
0x01 (0001) <-> 0x08 (1000)
|
0x01 (0001) <-> 0x08 (1000)
|
||||||
0x02 (0010) <-> 0x04 (0100)
|
0x02 (0010) <-> 0x04 (0100)
|
||||||
0x03 (0011) <-> 0x0C (1100)
|
0x03 (0011) <-> 0x0C (1100)
|
||||||
0x04 (0100) <-> 0x04 (0010)
|
0x04 (0100) <-> 0x04 (0010)
|
||||||
0x05 (0101) <-> 0x0A (1010)
|
0x05 (0101) <-> 0x0A (1010)
|
||||||
...and so on.
|
...and so on.
|
||||||
|
|
||||||
To properly decrypt the thing 'on the fly' as the hardware does, I applied a bitswap into TILE_GET_INFO.
|
To properly decrypt the thing 'on the fly' as the hardware does, I applied a bitswap into TILE_GET_INFO.
|
||||||
@ -204,11 +204,11 @@
|
|||||||
+-------+ swapped digits 1 & 2
|
+-------+ swapped digits 1 & 2
|
||||||
| | +-------+------+
|
| | +-------+------+
|
||||||
tile_offset = BITSWAP16((tile_offset & 0xfff),15,14,13,12, 8,9,10,11, 0,1,2,3, 4,5,6,7)
|
tile_offset = BITSWAP16((tile_offset & 0xfff),15,14,13,12, 8,9,10,11, 0,1,2,3, 4,5,6,7)
|
||||||
| | | | | | | | || | | |
|
| | | | | | | | || | | |
|
||||||
inverted inverted|inverted
|
inverted inverted|inverted
|
||||||
bitorder bitorder|bitorder
|
bitorder bitorder|bitorder
|
||||||
|
|
||||||
Colors are scrambled in the following way:
|
Colors are scrambled in the following way:
|
||||||
|
|
||||||
Normal | Scrambled
|
Normal | Scrambled
|
||||||
offset | offset
|
offset | offset
|
||||||
@ -362,7 +362,7 @@ static WRITE8_HANDLER( output_port_0_w )
|
|||||||
/*-----------------------------
|
/*-----------------------------
|
||||||
PORT 0x5000 ;OUTPUT PORT A
|
PORT 0x5000 ;OUTPUT PORT A
|
||||||
-------------------------------
|
-------------------------------
|
||||||
BIT 0 =
|
BIT 0 =
|
||||||
BIT 1 = Lamps, bit0
|
BIT 1 = Lamps, bit0
|
||||||
BIT 2 =
|
BIT 2 =
|
||||||
BIT 3 = Lamps, bit1
|
BIT 3 = Lamps, bit1
|
||||||
@ -372,10 +372,10 @@ static WRITE8_HANDLER( output_port_0_w )
|
|||||||
BIT 7 = Lamps, bit3
|
BIT 7 = Lamps, bit3
|
||||||
------------------------------*/
|
------------------------------*/
|
||||||
{
|
{
|
||||||
// (data >> 1) & 1; /* lamps, bit0 */
|
// (data >> 1) & 1; /* lamps, bit0 */
|
||||||
// (data >> 3) & 1; /* lamps, bit1 */
|
// (data >> 3) & 1; /* lamps, bit1 */
|
||||||
// (data >> 5) & 1; /* lamps, bit2 */
|
// (data >> 5) & 1; /* lamps, bit2 */
|
||||||
// (data >> 7) & 1; /* lamps, bit3 */
|
// (data >> 7) & 1; /* lamps, bit3 */
|
||||||
}
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( output_port_1_w )
|
static WRITE8_HANDLER( output_port_1_w )
|
||||||
@ -392,7 +392,7 @@ static WRITE8_HANDLER( output_port_1_w )
|
|||||||
BIT 7 =
|
BIT 7 =
|
||||||
------------------------------*/
|
------------------------------*/
|
||||||
{
|
{
|
||||||
// (data & 1); /* lamps, bit4 */
|
// (data & 1); /* lamps, bit4 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -580,7 +580,7 @@ static INPUT_PORTS_START( tenballs )
|
|||||||
|
|
||||||
/* tenballs seems a prototype, most DIP
|
/* tenballs seems a prototype, most DIP
|
||||||
switches seems to do nothing at all.
|
switches seems to do nothing at all.
|
||||||
*/
|
*/
|
||||||
PORT_START_TAG("SW1")
|
PORT_START_TAG("SW1")
|
||||||
PORT_DIPNAME( 0x03, 0x00, "Pool Value" ) PORT_DIPLOCATION("SW1:7,8")
|
PORT_DIPNAME( 0x03, 0x00, "Pool Value" ) PORT_DIPLOCATION("SW1:7,8")
|
||||||
PORT_DIPSETTING( 0x03, "100" )
|
PORT_DIPSETTING( 0x03, "100" )
|
||||||
|
@ -481,19 +481,19 @@ static INPUT_PORTS_START( paprazzi )
|
|||||||
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) )
|
PORT_DIPSETTING( 0x0002, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPUNKNOWN( 0x0004, 0x0004 ) // $25bc
|
PORT_DIPUNKNOWN( 0x0004, 0x0004 ) // $25bc
|
||||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Language ) )
|
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Language ) )
|
||||||
PORT_DIPSETTING( 0x0000, "Korean" )
|
PORT_DIPSETTING( 0x0000, "Korean" )
|
||||||
PORT_DIPSETTING( 0x0008, DEF_STR( English ) )
|
PORT_DIPSETTING( 0x0008, DEF_STR( English ) )
|
||||||
PORT_DIPNAME( 0x0010, 0x0010, "Enemies" ) // soemthing else.. but related to enemy types
|
PORT_DIPNAME( 0x0010, 0x0010, "Enemies" ) // soemthing else.. but related to enemy types
|
||||||
PORT_DIPSETTING( 0x0000, "Type 1" )
|
PORT_DIPSETTING( 0x0000, "Type 1" )
|
||||||
PORT_DIPSETTING( 0x0010, "Type 2" )
|
PORT_DIPSETTING( 0x0010, "Type 2" )
|
||||||
PORT_DIPUNKNOWN( 0x0020, 0x0020 )
|
PORT_DIPUNKNOWN( 0x0020, 0x0020 )
|
||||||
PORT_DIPNAME( 0x00c0, 0x0080, "Time" )
|
PORT_DIPNAME( 0x00c0, 0x0080, "Time" )
|
||||||
PORT_DIPSETTING( 0x0000, "80" )
|
PORT_DIPSETTING( 0x0000, "80" )
|
||||||
PORT_DIPSETTING( 0x0040, "100" )
|
PORT_DIPSETTING( 0x0040, "100" )
|
||||||
PORT_DIPSETTING( 0x0080, "120" )
|
PORT_DIPSETTING( 0x0080, "120" )
|
||||||
PORT_DIPSETTING( 0x00c0, "150" )
|
PORT_DIPSETTING( 0x00c0, "150" )
|
||||||
|
|
||||||
PORT_START_TAG("DSW2") // $80001d.b -> $ff0acb.b
|
PORT_START_TAG("DSW2") // $80001d.b -> $ff0acb.b
|
||||||
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Difficulty ) ) //not sure what is it . tested all 3 bits tested @ $be48
|
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Difficulty ) ) //not sure what is it . tested all 3 bits tested @ $be48
|
||||||
PORT_DIPSETTING( 0x0004, DEF_STR( Easiest ) )
|
PORT_DIPSETTING( 0x0004, DEF_STR( Easiest ) )
|
||||||
|
@ -98,7 +98,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
|
|||||||
fx,fy,
|
fx,fy,
|
||||||
x,y+i*16,
|
x,y+i*16,
|
||||||
cliprect,TRANSPARENCY_PEN,0,
|
cliprect,TRANSPARENCY_PEN,0,
|
||||||
(colour & 0x08) ? 0x00 : 0x02);
|
(colour & 0x08) ? 0x00 : 0x02);
|
||||||
else if (m90_video_control_data[7] & 0x02)
|
else if (m90_video_control_data[7] & 0x02)
|
||||||
pdrawgfx(bitmap,machine->gfx[1],
|
pdrawgfx(bitmap,machine->gfx[1],
|
||||||
sprite + (fy ? y_multi-1 - i : i),
|
sprite + (fy ? y_multi-1 - i : i),
|
||||||
|
@ -96,7 +96,7 @@ static const ppu2c0x_interface ppu_interface_hboard =
|
|||||||
{ 256 }, /* color base */
|
{ 256 }, /* color base */
|
||||||
{ PPU_MIRROR_NONE }, /* mirroring */
|
{ PPU_MIRROR_NONE }, /* mirroring */
|
||||||
{ ppu_irq }, /* irq */
|
{ ppu_irq }, /* irq */
|
||||||
{ 1 } /* vram */
|
{ 1 } /* vram */
|
||||||
};
|
};
|
||||||
|
|
||||||
static TILE_GET_INFO( get_bg_tile_info )
|
static TILE_GET_INFO( get_bg_tile_info )
|
||||||
|
@ -9,4 +9,4 @@
|
|||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
const char build_version[] = "0.124u4 ("__DATE__")";
|
const char build_version[] = "0.124u5 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user