Cleanups and version bump.

This commit is contained in:
Aaron Giles 2009-08-13 05:56:25 +00:00
parent 55480e3ce9
commit e3f1f454f8
36 changed files with 519 additions and 519 deletions

View File

@ -142,10 +142,10 @@ static int8 apu_square(nesapu_state *info, square_t *chan)
int8 output;
/* reg0: 0-3=volume, 4=envelope, 5=hold, 6-7=duty cycle
** reg1: 0-2=sweep shifts, 3=sweep inc/dec, 4-6=sweep length, 7=sweep on
** reg2: 8 bits of freq
** reg3: 0-2=high freq, 7-4=vbl length counter
*/
** reg1: 0-2=sweep shifts, 3=sweep inc/dec, 4-6=sweep length, 7=sweep on
** reg2: 8 bits of freq
** reg3: 0-2=high freq, 7-4=vbl length counter
*/
if (FALSE == chan->enabled)
return 0;
@ -215,9 +215,9 @@ static int8 apu_triangle(nesapu_state *info, triangle_t *chan)
int freq;
int8 output;
/* reg0: 7=holdnote, 6-0=linear length counter
** reg2: low 8 bits of frequency
** reg3: 7-3=length counter, 2-0=high 3 bits of frequency
*/
** reg2: low 8 bits of frequency
** reg3: 7-3=length counter, 2-0=high 3 bits of frequency
*/
if (FALSE == chan->enabled)
return 0;
@ -275,9 +275,9 @@ static int8 apu_noise(nesapu_state *info, noise_t *chan)
uint8 output;
/* reg0: 0-3=volume, 4=envelope, 5=hold
** reg2: 7=small(93 byte) sample,3-0=freq lookup
** reg3: 7-4=vbl length counter
*/
** reg2: 7=small(93 byte) sample,3-0=freq lookup
** reg3: 7-4=vbl length counter
*/
if (FALSE == chan->enabled)
return 0;
@ -352,10 +352,10 @@ static int8 apu_dpcm(nesapu_state *info, dpcm_t *chan)
int freq, bit_pos;
/* reg0: 7=irq gen, 6=looping, 3-0=pointer to clock table
** reg1: output dc level, 7 bits unsigned
** reg2: 8 bits of 64-byte aligned address offset : $C000 + (value * 64)
** reg3: length, (value * 16) + 1
*/
** reg1: output dc level, 7 bits unsigned
** reg2: 8 bits of 64-byte aligned address offset : $C000 + (value * 64)
** reg3: length, (value * 16) + 1
*/
if (chan->enabled)
{
@ -394,10 +394,10 @@ static int8 apu_dpcm(nesapu_state *info, dpcm_t *chan)
}
if (chan->cur_byte & (1 << bit_pos))
// chan->regs[1]++;
// chan->regs[1]++;
chan->vol+=2; /* FIXED * DPCM channel only uses the upper 6 bits of the DAC */
else
// chan->regs[1]--;
// chan->regs[1]--;
chan->vol-=2;
}
}
@ -473,19 +473,19 @@ INLINE void apu_regwrite(nesapu_state *info,int address, uint8 value)
info->APU.tri.regs[3] = value;
/* this is somewhat of a hack. there is some latency on the Real
** Thing between when trireg0 is written to and when the linear
** length counter actually begins its countdown. we want to prevent
** the case where the program writes to the freq regs first, then
** to reg 0, and the counter accidentally starts running because of
** the sound queue's timestamp processing.
**
** set to a few NES sample -- should be sufficient
**
** 3 * (1789772.727 / 44100) = ~122 cycles, just around one scanline
**
** should be plenty of time for the 6502 code to do a couple of table
** dereferences and load up the other triregs
*/
** Thing between when trireg0 is written to and when the linear
** length counter actually begins its countdown. we want to prevent
** the case where the program writes to the freq regs first, then
** to reg 0, and the counter accidentally starts running because of
** the sound queue's timestamp processing.
**
** set to a few NES sample -- should be sufficient
**
** 3 * (1789772.727 / 44100) = ~122 cycles, just around one scanline
**
** should be plenty of time for the 6502 code to do a couple of table
** dereferences and load up the other triregs
*/
/* used to be 3, but now we run the clock faster, so base it on samples/sync */
info->APU.tri.write_latency = (info->samps_per_sync + 239) / 240;

View File

@ -6,10 +6,10 @@
driven by one or more output bits
Original author: (unsigned)
Filtering: Anders Hallström
Filtering: Anders Hallstr?m
****************************************************************************/
/* Discussion of oversampling and anti-alias filtering: (Anders Hallström)
/* Discussion of oversampling and anti-alias filtering: (Anders Hallstr?m)
*
* This driver is for machines that directly control
* one or more simple digital-to-analog converters (DAC)
@ -94,9 +94,9 @@ struct _speaker_state
int level;
/* The volume of a composed sample grows incrementally each time the speaker is over-sampled.
* That is in effect a basic average filter.
* Another filter can and will be applied to the array of composed samples.
*/
* That is in effect a basic average filter.
* Another filter can and will be applied to the array of composed samples.
*/
double composed_volume[FILTER_LENGTH]; /* integrator(s) */
int composed_sample_index; /* array index for composed_volume */
attoseconds_t channel_sample_period; /* in as */
@ -159,25 +159,25 @@ static DEVICE_START( speaker )
sp->next_interm_sample_time = attotime_add_attoseconds(sp->channel_last_sample_time, sp->interm_sample_period);
sp->interm_sample_index = 0;
/* Note: To avoid time drift due to floating point inaccuracies,
* it is good if the speaker time synchronizes itself with the stream timing regularly.
*/
* it is good if the speaker time synchronizes itself with the stream timing regularly.
*/
/* Compute filter kernel; */
/* (Done for each device though the data is shared...
* No problem really, but should be done as part of system init if I knew how)
*/
* No problem really, but should be done as part of system init if I knew how)
*/
#if 1
/* This is an approximated sinc (a perfect sinc makes an ideal low-pass filter).
* FILTER_STEP determines the cutoff frequency,
* which should be below the Nyquist freq, i.e. half the sample rate.
* Smaller step => kernel extends in time domain => lower cutoff freq
* In this case, with sinc, filter step PI corresponds to the Nyq. freq.
* Since we do not get a perfect filter => must lower the cutoff freq some more.
* For example, step PI/(2*RATE_MULTIPLIER) corresponds to cutoff freq = sample rate / 4;
* With -samplerate 48000, cutoff freq is ca 12kHz while the Nyq. freq is 24kHz.
* With -samplerate 96000, cutoff freq is ca 24kHz while the Nyq. freq is 48kHz.
* For a steeper, more efficient filter, increase FILTER_LENGTH at the expense of CPU usage.
*/
* FILTER_STEP determines the cutoff frequency,
* which should be below the Nyquist freq, i.e. half the sample rate.
* Smaller step => kernel extends in time domain => lower cutoff freq
* In this case, with sinc, filter step PI corresponds to the Nyq. freq.
* Since we do not get a perfect filter => must lower the cutoff freq some more.
* For example, step PI/(2*RATE_MULTIPLIER) corresponds to cutoff freq = sample rate / 4;
* With -samplerate 48000, cutoff freq is ca 12kHz while the Nyq. freq is 24kHz.
* With -samplerate 96000, cutoff freq is ca 24kHz while the Nyq. freq is 48kHz.
* For a steeper, more efficient filter, increase FILTER_LENGTH at the expense of CPU usage.
*/
#define FILTER_STEP (M_PI / 2 / RATE_MULTIPLIER)
/* Distribute symmetrically on x axis; center has x=0 if length is odd */
for (i = 0, x = (0.5 - FILTER_LENGTH / 2.) * FILTER_STEP;
@ -191,9 +191,9 @@ static DEVICE_START( speaker )
}
#else
/* Trivial average filter with poor frequency cutoff properties;
* First zero (frequency where amplification=0) = sample rate / filter length
* Cutoff frequency approx <= first zero / 2
*/
* First zero (frequency where amplification=0) = sample rate / filter length
* Cutoff frequency approx <= first zero / 2
*/
for (i = 0, i < FILTER_LENGTH; i++)
ampl[i] = 1;
#endif
@ -219,9 +219,9 @@ static STREAM_UPDATE( speaker_sound_update )
sampled_time = attotime_mul(sampled_time, samples);
/* Note: since the stream is in the process of being updated,
* stream_get_time() will return the time before the update! (MAME 0.130)
* Avoid using it here in order to avoid a subtle dependence on the stream implementation.
*/
* stream_get_time() will return the time before the update! (MAME 0.130)
* Avoid using it here in order to avoid a subtle dependence on the stream implementation.
*/
}
if (samples-- > 0)
@ -277,16 +277,16 @@ void speaker_level_w(const device_config *device, int new_level)
return;
}
/* Reaching here means such time has passed since last stream update
* that we can add at least one complete sample to the stream.
* The details have to be handled by speaker_sound_update()
*/
* that we can add at least one complete sample to the stream.
* The details have to be handled by speaker_sound_update()
*/
/* Force streams.c to update sound until this point in time now */
stream_update(sp->channel);
/* This is redundant because time update has to be done within speaker_sound_update() anyway,
* however this ensures synchronization between the speaker and stream timing:
*/
* however this ensures synchronization between the speaker and stream timing:
*/
sp->channel_last_sample_time = stream_get_time(sp->channel);
sp->channel_next_sample_time = attotime_add_attoseconds(sp->channel_last_sample_time, sp->channel_sample_period);
sp->next_interm_sample_time = attotime_add_attoseconds(sp->channel_last_sample_time, sp->interm_sample_period);
@ -316,9 +316,9 @@ static void update_interm_samples(speaker_state *sp, attotime time, int volume)
init_next_interm_sample(sp);
}
/* Depending on status above:
* a) Add latest fraction to unfinished composed sample
* b) The overshooting fraction of time will start a new composed sample
*/
* a) Add latest fraction to unfinished composed sample
* b) The overshooting fraction of time will start a new composed sample
*/
fraction = make_fraction(time, sp->last_update_time, sp->interm_sample_period_secfrac);
sp->composed_volume[sp->composed_sample_index] += volume * fraction;
sp->last_update_time = time;

View File

@ -592,7 +592,7 @@ MACHINE_DRIVER_END
#define GAL_INP_FS2 NODE_21 /* FS2 9L Q1 */
#define GAL_INP_FS3 NODE_22 /* FS3 9L Q2 */
#define GAL_INP_HIT NODE_23 /* HIT 9L Q3 */
//#define GAL_9L_Q4 NODE_24
//#define GAL_9L_Q4 NODE_24
#define GAL_INP_FIRE NODE_25 /* FIRE 9L Q5 */
#define GAL_INP_VOL1 NODE_26 /* VOL1 9L Q6 */
#define GAL_INP_VOL2 NODE_27 /* VOL2 9L Q7 */
@ -900,7 +900,7 @@ static TIMER_CALLBACK( pitch_callback )
if (pitch_l < 255)
{
/* performance tweak: The counter is always running, but
* most of the time with a very (unaudible) frequency */
* most of the time with a very (unaudible) frequency */
discrete_sound_w(device, GAL_INP_PITCH_HIGH, pitch_h );
timer_adjust_oneshot(pitch_timer, ATTOTIME_IN_HZ(SOUND_CLOCK / (256 - pitch_l)), 0);
}

View File

@ -129,19 +129,19 @@ static READ32_HANDLER( pxa255_i2s_r )
static WRITE32_HANDLER( pxa255_i2s_w )
{
/*
if(!audio_dump)
{
int count = 0;
char filename[256];
do
{
sprintf(filename, "39in1_%04d.raw", count++);
audio_dump = fopen(filename, "rb");
}while(audio_dump != NULL);
count--;
sprintf(filename, "39in1_%04d.raw", count);
audio_dump = fopen(filename, "wb");
}*/
if(!audio_dump)
{
int count = 0;
char filename[256];
do
{
sprintf(filename, "39in1_%04d.raw", count++);
audio_dump = fopen(filename, "rb");
}while(audio_dump != NULL);
count--;
sprintf(filename, "39in1_%04d.raw", count);
audio_dump = fopen(filename, "wb");
}*/
switch(PXA255_I2S_BASE_ADDR | (offset << 2))
{
case PXA255_SACR0:
@ -183,9 +183,9 @@ static WRITE32_HANDLER( pxa255_i2s_w )
verboselog( space->machine, 4, "pxa255_i2s_w: Serial Audio Data Register: %08x & %08x\n", data, mem_mask );
i2s_regs.sadr = data;
/*if(audio_dump)
{
fwrite(&data, 4, 1, audio_dump);
}*/
{
fwrite(&data, 4, 1, audio_dump);
}*/
break;
default:
verboselog( space->machine, 0, "pxa255_i2s_w: Unknown address: %08x = %08x & %08x\n", PXA255_I2S_BASE_ADDR | (offset << 2), data, mem_mask);
@ -1274,7 +1274,7 @@ static UINT32 seed, magic;
static UINT32 state = 0;
static READ32_HANDLER( cpld_r )
{
// if (cpu_get_pc(space->cpu) != 0xe3af4) printf("CPLD read @ %x (PC %x state %d)\n", offset, cpu_get_pc(space->cpu), state);
// if (cpu_get_pc(space->cpu) != 0xe3af4) printf("CPLD read @ %x (PC %x state %d)\n", offset, cpu_get_pc(space->cpu), state);
if (cpu_get_pc(space->cpu) == 0x3f04)
{

View File

@ -1218,15 +1218,15 @@ static ADDRESS_MAP_START( mooncrst_map_base, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
AM_RANGE(0xa000, 0xa002) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w)
AM_RANGE(0xa003, 0xa003) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
// AM_RANGE(0xa004, 0xa007) AM_MIRROR(0x07f8) AM_DEVWRITE(GAL_AUDIO, galaxian_lfo_freq_w)
// AM_RANGE(0xa004, 0xa007) AM_MIRROR(0x07f8) AM_DEVWRITE(GAL_AUDIO, galaxian_lfo_freq_w)
AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1")
// AM_RANGE(0xa800, 0xa807) AM_MIRROR(0x07f8) AM_DEVWRITE(GAL_AUDIO, galaxian_sound_w)
// AM_RANGE(0xa800, 0xa807) AM_MIRROR(0x07f8) AM_DEVWRITE(GAL_AUDIO, galaxian_sound_w)
AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2")
AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
AM_RANGE(0xb004, 0xb004) AM_MIRROR(0x07f8) AM_WRITE(galaxian_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_flip_screen_y_w)
// AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_DEVWRITE(GAL_AUDIO, galaxian_pitch_w)
// AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_DEVWRITE(GAL_AUDIO, galaxian_pitch_w)
AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END

View File

@ -185,38 +185,38 @@ ROM usage - CRC (from ROM test
Game Sega Part No. ROM Type Byte Word
--------------------------------------------------------------
Star Wars Racer Arcade
MPR-23086.IC37 64M SOP44 MASKROM 7993 8E18
MPR-23087.IC38 " 4D44 D239
MPR-23088.IC39 " 4135 BEAB
MPR-23089.IC40 " F0C8 04E2
MPR-23090.IC41 " 9532 4C1C
MPR-23091.IC42 " 925D 02FB
MPR-23092.IC43 " 0809 7050
MPR-23093.IC44 " 72BC 9311
MPR-23094.IC45 " DE84 9D8A
MPR-23095.IC46 " 7A5C E7FC
MPR-23096.IC47 " 6806 1392
MPR-23097.IC48 " EDF1 7BD1
MPR-23098.IC49 " B82D E114
MPR-23099.IC50 " 5792 E5E5
MPR-23100.IC51 " 3AF3 A97C
MPR-23101.IC52 " A8CC 721D
MPR-23102.IC53 " CED7 D3CF
MPR-23103.IC54 " 6B67 FC76
MPR-23104.IC55 " 586C 6954
MPR-23105.IC56 " 13A0 DB38
MPR-23106.IC57 " 4F03 42BF
MPR-23107.IC58 " 8EA6 ADB6
MPR-23108.IC59 " 8645 FC30
MPR-23109.IC60 " 3847 CA6B
MPR-23110.IC61 " 4140 01C4
MPR-23111.IC62 " EBE6 8085
MPR-23112.IC63 " B68B 7467
MPR-23113.IC64 " 4715 4787
MPR-23114.IC65 " 3CD6 144A
MPR-23115.IC66 " E5D3 BA35
MPR-23116.IC67 " E668 08ED
MPR-23117.IC68 " 1FE8 C4A1
MPR-23086.IC37 64M SOP44 MASKROM 7993 8E18
MPR-23087.IC38 " 4D44 D239
MPR-23088.IC39 " 4135 BEAB
MPR-23089.IC40 " F0C8 04E2
MPR-23090.IC41 " 9532 4C1C
MPR-23091.IC42 " 925D 02FB
MPR-23092.IC43 " 0809 7050
MPR-23093.IC44 " 72BC 9311
MPR-23094.IC45 " DE84 9D8A
MPR-23095.IC46 " 7A5C E7FC
MPR-23096.IC47 " 6806 1392
MPR-23097.IC48 " EDF1 7BD1
MPR-23098.IC49 " B82D E114
MPR-23099.IC50 " 5792 E5E5
MPR-23100.IC51 " 3AF3 A97C
MPR-23101.IC52 " A8CC 721D
MPR-23102.IC53 " CED7 D3CF
MPR-23103.IC54 " 6B67 FC76
MPR-23104.IC55 " 586C 6954
MPR-23105.IC56 " 13A0 DB38
MPR-23106.IC57 " 4F03 42BF
MPR-23107.IC58 " 8EA6 ADB6
MPR-23108.IC59 " 8645 FC30
MPR-23109.IC60 " 3847 CA6B
MPR-23110.IC61 " 4140 01C4
MPR-23111.IC62 " EBE6 8085
MPR-23112.IC63 " B68B 7467
MPR-23113.IC64 " 4715 4787
MPR-23114.IC65 " 3CD6 144A
MPR-23115.IC66 " E5D3 BA35
MPR-23116.IC67 " E668 08ED
MPR-23117.IC68 " 1FE8 C4A1
EPR-23174.IC29 27C322 EPROM 3B2E
EPR-23175.IC30 " F377

View File

@ -890,7 +890,7 @@ static MACHINE_DRIVER_START( prosport )
MDRV_CPU_PROGRAM_MAP(liberate_sound_map)
MDRV_CPU_PERIODIC_INT(nmi_line_pulse,16*60) /* ??? */
// MDRV_QUANTUM_TIME(HZ(12000))
// MDRV_QUANTUM_TIME(HZ(12000))
/* video hardware */
MDRV_SCREEN_ADD("screen", RASTER)

View File

@ -736,10 +736,10 @@ ROM_START( looping )
ROM_REGION( 0x1000, "mcu", 0 ) /* COP420 microcontroller code */
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
@ -773,10 +773,10 @@ ROM_START( loopinga )
ROM_REGION( 0x1000, "mcu", 0 ) /* COP420 microcontroller code */
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)
@ -809,10 +809,10 @@ ROM_START( skybump )
ROM_REGION( 0x1000, "mcu", 0 ) /* COP420 microcontroller code */
/*
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_LOAD( "cop.bin", 0x0000, 0x0400, BAD_DUMP CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times, and starting PC is not 0
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
ROM_CONTINUE( 0x0000, 0x0400)
*/
ROM_LOAD( "cop.bin", 0x00c2, 0x033e, CRC(bbfd26d5) SHA1(5f78b32b6e7c003841ef5b635084db2cdfebf0e1) ) // overdumped 4 times and shifted
ROM_CONTINUE( 0x0000, 0x00c2)

View File

@ -629,107 +629,107 @@ Notes:
ROM_START( spacefev )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "f1-ro-.bin", 0x0000, 0x0400, CRC(35f295bd) SHA1(34d1df25fcdea598ca1191cecc2125e6f63dbce3) ) // "F1"
ROM_LOAD( "f2-ro-.bin", 0x0400, 0x0400, CRC(0c633f4c) SHA1(a551ddbf21670fb1f000404b92da87a97f7ba157) ) // "F2"
ROM_LOAD( "g1-ro-.bin", 0x0800, 0x0400, CRC(f3d851cb) SHA1(535c52a56e54a064aa3d1c48a129f714234a1007) ) // "G1"
ROM_LOAD( "g2-ro-.bin", 0x0c00, 0x0400, CRC(1faef63a) SHA1(68e1bfc45587bfb1ee2eb477b60efd4f69dffd2c) ) // "G2"
ROM_LOAD( "h1-ro-.bin", 0x1000, 0x0400, CRC(b365389d) SHA1(e681f2c5e37cc07912915ef74184ff9336309de3) ) // "H1"
ROM_LOAD( "h2-ro-.bin", 0x1400, 0x0400, CRC(a163e800) SHA1(e8817f3e17f099a0dc66213d2d3d3fdeb117b10e) ) // "H2"
ROM_LOAD( "i1-ro-p.bin", 0x1800, 0x0400, CRC(756b5582) SHA1(b7f3d218b7f4267ce6128624306396bcacb9b44e) ) // "I1P"
ROM_LOAD( "f1-ro-.bin", 0x0000, 0x0400, CRC(35f295bd) SHA1(34d1df25fcdea598ca1191cecc2125e6f63dbce3) ) // "F1??"
ROM_LOAD( "f2-ro-.bin", 0x0400, 0x0400, CRC(0c633f4c) SHA1(a551ddbf21670fb1f000404b92da87a97f7ba157) ) // "F2??"
ROM_LOAD( "g1-ro-.bin", 0x0800, 0x0400, CRC(f3d851cb) SHA1(535c52a56e54a064aa3d1c48a129f714234a1007) ) // "G1??"
ROM_LOAD( "g2-ro-.bin", 0x0c00, 0x0400, CRC(1faef63a) SHA1(68e1bfc45587bfb1ee2eb477b60efd4f69dffd2c) ) // "G2??"
ROM_LOAD( "h1-ro-.bin", 0x1000, 0x0400, CRC(b365389d) SHA1(e681f2c5e37cc07912915ef74184ff9336309de3) ) // "H1??"
ROM_LOAD( "h2-ro-.bin", 0x1400, 0x0400, CRC(a163e800) SHA1(e8817f3e17f099a0dc66213d2d3d3fdeb117b10e) ) // "H2??"
ROM_LOAD( "i1-ro-p.bin", 0x1800, 0x0400, CRC(756b5582) SHA1(b7f3d218b7f4267ce6128624306396bcacb9b44e) ) // "I1??P"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss3.ic2", 0x0000, 0x0400, CRC(95c2c1ee) SHA1(42a3a382fc7d2782052372d71f6d0e8a153e74d0) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( spacefevo )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "f1-ro-.bin", 0x0000, 0x0400, CRC(35f295bd) SHA1(34d1df25fcdea598ca1191cecc2125e6f63dbce3) ) // "F1"
ROM_LOAD( "f2-ro-.bin", 0x0400, 0x0400, CRC(0c633f4c) SHA1(a551ddbf21670fb1f000404b92da87a97f7ba157) ) // "F2"
ROM_LOAD( "g1-ro-.bin", 0x0800, 0x0400, CRC(f3d851cb) SHA1(535c52a56e54a064aa3d1c48a129f714234a1007) ) // "G1"
ROM_LOAD( "g2-ro-.bin", 0x0c00, 0x0400, CRC(1faef63a) SHA1(68e1bfc45587bfb1ee2eb477b60efd4f69dffd2c) ) // "G2"
ROM_LOAD( "h1-ro-.bin", 0x1000, 0x0400, CRC(b365389d) SHA1(e681f2c5e37cc07912915ef74184ff9336309de3) ) // "H1"
ROM_LOAD( "h2-ro-.bin", 0x1400, 0x0400, CRC(a163e800) SHA1(e8817f3e17f099a0dc66213d2d3d3fdeb117b10e) ) // "H2"
ROM_LOAD( "i1-ro-.bin", 0x1800, 0x0400, CRC(00027be2) SHA1(551a779a2e5a6455b7a348d246731c094e0ec709) ) // "I1"
ROM_LOAD( "f1-ro-.bin", 0x0000, 0x0400, CRC(35f295bd) SHA1(34d1df25fcdea598ca1191cecc2125e6f63dbce3) ) // "F1??"
ROM_LOAD( "f2-ro-.bin", 0x0400, 0x0400, CRC(0c633f4c) SHA1(a551ddbf21670fb1f000404b92da87a97f7ba157) ) // "F2??"
ROM_LOAD( "g1-ro-.bin", 0x0800, 0x0400, CRC(f3d851cb) SHA1(535c52a56e54a064aa3d1c48a129f714234a1007) ) // "G1??"
ROM_LOAD( "g2-ro-.bin", 0x0c00, 0x0400, CRC(1faef63a) SHA1(68e1bfc45587bfb1ee2eb477b60efd4f69dffd2c) ) // "G2??"
ROM_LOAD( "h1-ro-.bin", 0x1000, 0x0400, CRC(b365389d) SHA1(e681f2c5e37cc07912915ef74184ff9336309de3) ) // "H1??"
ROM_LOAD( "h2-ro-.bin", 0x1400, 0x0400, CRC(a163e800) SHA1(e8817f3e17f099a0dc66213d2d3d3fdeb117b10e) ) // "H2??"
ROM_LOAD( "i1-ro-.bin", 0x1800, 0x0400, CRC(00027be2) SHA1(551a779a2e5a6455b7a348d246731c094e0ec709) ) // "I1??"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss3.ic2", 0x0000, 0x0400, CRC(95c2c1ee) SHA1(42a3a382fc7d2782052372d71f6d0e8a153e74d0) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( spacefevo2 )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "f1-i-.bin", 0x0000, 0x0400, CRC(7fa305e8) SHA1(cda9fc9c76f57800de25ddf65f69fef19fd28481) ) // "F1"
ROM_LOAD( "f2-i-.bin", 0x0400, 0x0400, CRC(7c1429aa) SHA1(8d8e0a4fc09fb1ecbfb86c67c20000ef30ab3fac) ) // "F2"
ROM_LOAD( "g1-i-.bin", 0x0800, 0x0400, CRC(75f6efc1) SHA1(286bc75e35e8ad6277e9db7377e90731b9c2ec97) ) // "G1"
ROM_LOAD( "g2-i-.bin", 0x0c00, 0x0400, CRC(fb6bcf4a) SHA1(3edea04d67c2f3b1a6a73adadea83ddda0be3842) ) // "G2"
ROM_LOAD( "h1-i-.bin", 0x1000, 0x0400, CRC(3beef037) SHA1(4bcc157e7d721b3a9e16e7a2efa807303d4be8ac) ) // "H1"
ROM_LOAD( "h2-i-.bin", 0x1400, 0x0400, CRC(bddbc94f) SHA1(f90cbc3cd0f695cbb9ae03b608f4bf5a4a000c64) ) // "H2"
ROM_LOAD( "i1-i-.bin", 0x1800, 0x0400, CRC(437786c5) SHA1(2ccdb0d48dbbfe47ae82e970ca37970602405cf6) ) // "I1"
ROM_LOAD( "f1-i-.bin", 0x0000, 0x0400, CRC(7fa305e8) SHA1(cda9fc9c76f57800de25ddf65f69fef19fd28481) ) // "F1?C"
ROM_LOAD( "f2-i-.bin", 0x0400, 0x0400, CRC(7c1429aa) SHA1(8d8e0a4fc09fb1ecbfb86c67c20000ef30ab3fac) ) // "F2?C"
ROM_LOAD( "g1-i-.bin", 0x0800, 0x0400, CRC(75f6efc1) SHA1(286bc75e35e8ad6277e9db7377e90731b9c2ec97) ) // "G1?C"
ROM_LOAD( "g2-i-.bin", 0x0c00, 0x0400, CRC(fb6bcf4a) SHA1(3edea04d67c2f3b1a6a73adadea83ddda0be3842) ) // "G2?C"
ROM_LOAD( "h1-i-.bin", 0x1000, 0x0400, CRC(3beef037) SHA1(4bcc157e7d721b3a9e16e7a2efa807303d4be8ac) ) // "H1?C"
ROM_LOAD( "h2-i-.bin", 0x1400, 0x0400, CRC(bddbc94f) SHA1(f90cbc3cd0f695cbb9ae03b608f4bf5a4a000c64) ) // "H2?C"
ROM_LOAD( "i1-i-.bin", 0x1800, 0x0400, CRC(437786c5) SHA1(2ccdb0d48dbbfe47ae82e970ca37970602405cf6) ) // "I1?C"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss3.ic2", 0x0000, 0x0400, CRC(95c2c1ee) SHA1(42a3a382fc7d2782052372d71f6d0e8a153e74d0) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( highsplt )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2"
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1?n"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2?n"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1?n"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2?n"
ROM_LOAD( "hs.h1", 0x1000, 0x0400, CRC(eefb4273) SHA1(853a62976a406516f10ac68dc2859399b8b7aae8) )
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2"
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2?n"
ROM_LOAD( "hs.i1", 0x1800, 0x0400, CRC(41e18df9) SHA1(2212c836313775e7c507a875672c0b3635825e02) )
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2"
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2?n"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss4.bin", 0x0000, 0x0400, CRC(939e01d4) SHA1(7c9ccd24e5da03831cd0aa821da17e3b81cd8381) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( highsplta )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2"
ROM_LOAD( "h1-ha-.bin", 0x1000, 0x0400, CRC(b0505da3) SHA1(f7b1f3a6dd06ff0cdeb6b13c948b7a262592514a) ) // "H1"
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2"
ROM_LOAD( "i1-ha-.bin", 0x1800, 0x0400, CRC(aa36b25d) SHA1(28f555aab27b206a8c6f550b6caa938cece6e204) ) // "I1"
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2"
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1?n"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2?n"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1?n"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2?n"
ROM_LOAD( "h1-ha-.bin", 0x1000, 0x0400, CRC(b0505da3) SHA1(f7b1f3a6dd06ff0cdeb6b13c948b7a262592514a) ) // "H1?n"
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2?n"
ROM_LOAD( "i1-ha-.bin", 0x1800, 0x0400, CRC(aa36b25d) SHA1(28f555aab27b206a8c6f550b6caa938cece6e204) ) // "I1?n"
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2?n"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss4.bin", 0x0000, 0x0400, CRC(939e01d4) SHA1(7c9ccd24e5da03831cd0aa821da17e3b81cd8381) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( highspltb )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2"
ROM_LOAD( "h1-ha-.bin", 0x1000, 0x0400, CRC(b0505da3) SHA1(f7b1f3a6dd06ff0cdeb6b13c948b7a262592514a) ) // "H1"
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2"
ROM_LOAD( "i1-ha-.bin", 0x1800, 0x0400, CRC(aa36b25d) SHA1(28f555aab27b206a8c6f550b6caa938cece6e204) ) // "I1"
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2"
ROM_LOAD( "f1-ha-.bin", 0x0000, 0x0400, CRC(b8887351) SHA1(ccd49937f1cbd7a157b3715474ccc3e8fdcea2b2) ) // "F1?n"
ROM_LOAD( "f2-ha-.bin", 0x0400, 0x0400, CRC(cda933a7) SHA1(a0447c8c98e24674081c9bf4b1ef07dc186c6e2b) ) // "F2?n"
ROM_LOAD( "g1-ha-.bin", 0x0800, 0x0400, CRC(de17578a) SHA1(d9d5dbf38331f212d2a566c60756a788e169104d) ) // "G1?n"
ROM_LOAD( "g2-ha-.bin", 0x0c00, 0x0400, CRC(f1a90948) SHA1(850f27b42ca12bcba4aa95a1ad3e66206fa63554) ) // "G2?n"
ROM_LOAD( "h1-ha-.bin", 0x1000, 0x0400, CRC(b0505da3) SHA1(f7b1f3a6dd06ff0cdeb6b13c948b7a262592514a) ) // "H1?n"
ROM_LOAD( "h2-ha-.bin", 0x1400, 0x0400, CRC(e91703e8) SHA1(f58606b0c7d945e94c3fccc7ebe17ca25675e6a0) ) // "H2?n"
ROM_LOAD( "i1-ha-.bin", 0x1800, 0x0400, CRC(aa36b25d) SHA1(28f555aab27b206a8c6f550b6caa938cece6e204) ) // "I1?n"
ROM_LOAD( "i2-ha-.bin", 0x1c00, 0x0400, CRC(eff9f82d) SHA1(5004e52dfa652ceefca9ed4210c0fa8f0591dc08) ) // "I2?n"
ROM_REGION( 0x0400, "audiocpu", 0 )
ROM_LOAD( "ss4.ic2", 0x0000, 0x0400, CRC(ce95dc5f) SHA1(20f7b8c565c408439dcfae240b7d1aa42c29651b) )
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5"
ROM_LOAD( "f5-i-.bin", 0x0000, 0x0020, CRC(c5914ec1) SHA1(198875fcab36d09c8726bb21e2fdff9882f6721a) ) // "F5?C"
ROM_END
ROM_START( spacelnc )

View File

@ -244,9 +244,9 @@ ROM_END
Dump was made using custom adaptor, hence it is marked as bad dump.
The real machine has following roms:
0000...07FFh - ROM1 (D41)
0800...0FFFh - ROM2 (D42)
1000...17FFh - ROM3 (D43)
0000...07FFh - ROM1 (D41)
0800...0FFFh - ROM2 (D42)
1000...17FFh - ROM3 (D43)
*/
ROM_START( phpython )
ROM_REGION( 0x20000, "maincpu", 0 )

View File

@ -10,32 +10,32 @@ OSC. : 3.579545MHz 18432.00KHz
Main processors are a pair of 68000 CPUs
Sounds are generated by a Z80, a Yamaha 2151 and 3012, a Konami custom IC and a uPD7759C
Dark Adventure / Devil World / Majuu no Ohkoku
Vulcan Venture / Gradius II
Cuebrick
MIA (Japan)
Final Round / Hard Puncher (Japan)
Dark Adventure / Devil World / Majuu no Ohkoku
Vulcan Venture / Gradius II
Cuebrick
MIA (Japan)
Final Round / Hard Puncher (Japan)
68000 Memory Map for Konami Twin System
CPUA CPUB
0x000000..0x03ffff ROM 0x000000..0x03ffff
0x040000..0x043fff communication RAM 0x040000..0x043fff (shared)
0x060000..0x063fff work RAM 0x060000..0x063fff
0x080000..0x080fff palette
0x080000..0x09ffff ROM (extra tile data)
0x0a0000..0x0a0001 IRQ control 0x0a0000..0x0a0001
0x0a0008..0x0a0009 sound command
0x0a0010..0xa00011 watchdog
0x0c0000..0x0c0001 screenflip
0x0c0002..0x0c000f scroll registers
CPUA CPUB
0x000000..0x03ffff ROM 0x000000..0x03ffff
0x040000..0x043fff communication RAM 0x040000..0x043fff (shared)
0x060000..0x063fff work RAM 0x060000..0x063fff
0x080000..0x080fff palette
0x080000..0x09ffff ROM (extra tile data)
0x0a0000..0x0a0001 IRQ control 0x0a0000..0x0a0001
0x0a0008..0x0a0009 sound command
0x0a0010..0xa00011 watchdog
0x0c0000..0x0c0001 screenflip
0x0c0002..0x0c000f scroll registers
0x100000..0x103fff FIXRAM (text layer)
0x120000..0x123fff VIDRAM (tilemaps) 0x480000..0x483fff (shared)
0x140000..0x143fff OBJRAM (sprites) 0x400000..0x403fff (shared)
ZIP RAM (tiles) 0x500000..0x53ffff
gfx ROM (banked) 0x600000..0x77ffff
sprite gfx RAM 0x780000..0x79ffff
0x100000..0x103fff FIXRAM (text layer)
0x120000..0x123fff VIDRAM (tilemaps) 0x480000..0x483fff (shared)
0x140000..0x143fff OBJRAM (sprites) 0x400000..0x403fff (shared)
ZIP RAM (tiles) 0x500000..0x53ffff
gfx ROM (banked) 0x600000..0x77ffff
sprite gfx RAM 0x780000..0x79ffff
Known Issues:
- repeated uPD7759C samples in fround, disconnecting reset helps but doesn't fix it
@ -115,13 +115,13 @@ static WRITE16_HANDLER( sound_command_w )
static WRITE16_HANDLER( twin16_CPUA_register_w )
{
/*
7 6 5 4 3 2 1 0
X sprite processing disable
X IRQ5 enable (CPUA)
X 0->1 trigger IRQ6 on CPUB
X 0->1 trigger IRQ on sound CPU
x x x coin counters
*/
7 6 5 4 3 2 1 0
X sprite processing disable
X IRQ5 enable (CPUA)
X 0->1 trigger IRQ6 on CPUB
X 0->1 trigger IRQ on sound CPU
x x x coin counters
*/
UINT16 old = twin16_CPUA_register;
COMBINE_DATA(&twin16_CPUA_register);
if (twin16_CPUA_register != old)
@ -144,11 +144,11 @@ static WRITE16_HANDLER( twin16_CPUA_register_w )
static WRITE16_HANDLER( twin16_CPUB_register_w )
{
/*
7 6 5 4 3 2 1 0
X gfx bank select
X IRQ5 enable
X 0->1 trigger IRQ6 on CPUA
*/
7 6 5 4 3 2 1 0
X gfx bank select
X IRQ5 enable
X 0->1 trigger IRQ6 on CPUA
*/
UINT16 old = twin16_CPUB_register;
COMBINE_DATA(&twin16_CPUB_register);
if( twin16_CPUB_register!=old )
@ -161,10 +161,10 @@ static WRITE16_HANDLER( twin16_CPUB_register_w )
static WRITE16_HANDLER( fround_CPU_register_w )
{
/*
7 6 5 4 3 2 1 0
X 0->1 trigger IRQ on sound CPU
x x coin counters
*/
7 6 5 4 3 2 1 0
X 0->1 trigger IRQ on sound CPU
x x coin counters
*/
UINT16 old = twin16_CPUA_register;
COMBINE_DATA(&twin16_CPUA_register);
if (twin16_CPUA_register != old)
@ -240,7 +240,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w)
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
AM_RANGE(0x060000, 0x063fff) AM_RAM
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x081000, 0x081fff) AM_WRITENOP
@ -253,7 +253,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(twin16_video_register_w)
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&videoram16)
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE(1) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
ADDRESS_MAP_END
@ -261,7 +261,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w)
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
AM_RANGE(0x060000, 0x063fff) AM_RAM
AM_RANGE(0x080000, 0x09ffff) AM_READ(extra_rom_r)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUB_register_w)

View File

@ -1851,11 +1851,11 @@ MACHINE_DRIVER_END
/******************************************************************************/
/* correct label format. revision number is stamped(red), other letters are printed(black)
game code in line 1, ROM position in line 2
i.e.
MDS-DH3
1B or 6B e
/* correct label format. revision number is stamped(red), other letters are printed(black)
game code in line 1, ROM position in line 2
i.e.
MDS-DH3
1B or 6B e
*/

View File

@ -493,7 +493,7 @@ struct SNES_PPU_STRUCT /* once all the regs are saved in this structure, it woul
UINT8 bg3_priority_bit;
UINT8 direct_color;
UINT8 ppu_last_scroll; /* as per Anomie's doc and Theme Park, all scroll regs shares (but mode 7 ones) the same
'previous' scroll value */
'previous' scroll value */
UINT8 mode7_last_scroll; /* as per Anomie's doc mode 7 scroll regs use a different value, shared with mode 7 matrix! */
UINT8 main_bg_enabled[5]; // these would probably better fit the layer struct, but it would make worse the code in snes_update_mode_X()

View File

@ -950,7 +950,7 @@ WRITE64_HANDLER( dc_g1_ctrl_w )
mame_printf_verbose("G1CTRL: unsupported transfer\n");
return;
}
// printf("ROM board DMA to %x (PC %x)\n", g1bus_regs[SB_GDSTAR], cpu_get_pc(space->cpu));
// printf("ROM board DMA to %x (PC %x)\n", g1bus_regs[SB_GDSTAR], cpu_get_pc(space->cpu));
ROM = (UINT8 *)devtag_get_info_ptr(space->machine, "rom_board", DEVINFO_PTR_MEMORY);
dmaoffset = (UINT32)devtag_get_info_int(space->machine, "rom_board", DEVINFO_INT_DMAOFFSET);
ddtdata.destination=g1bus_regs[SB_GDSTAR]; // destination address

View File

@ -72,7 +72,7 @@ static void snes_latch_counters(running_machine *machine)
snes_ppu.beam.latch_vert = video_screen_get_vpos(machine->primary_screen);
snes_ppu.beam.latch_horz = snes_ppu.beam.current_horz;
snes_ram[STAT78] |= 0x40; // indicate we latched
// read_ophct = read_opvct = 0; // clear read flags - 2009-08: I think we must clear these when STAT78 is read...
// read_ophct = read_opvct = 0; // clear read flags - 2009-08: I think we must clear these when STAT78 is read...
// printf("latched @ H %d V %d\n", snes_ppu.beam.latch_horz, snes_ppu.beam.latch_vert);
}
@ -359,12 +359,12 @@ READ8_HANDLER( snes_r_io )
return snes_ppu.ppu1_open_bus;
// According to BSNES, these should return snes_open_bus_r!
// case OAMADDL:
// case OAMADDH:
// case VMADDH:
// case CGADD:
// case CGDATA:
// return snes_ram[offset];
// case OAMADDL:
// case OAMADDH:
// case VMADDH:
// case CGADD:
// case CGDATA:
// return snes_ram[offset];
case MPYL: /* Multiplication result (low) */
{
/* Perform 16bit * 8bit multiply */
@ -560,7 +560,7 @@ READ8_HANDLER( snes_r_io )
value = ((joypad[1].low | (joypad[1].high << 8) | 0x10000) >> (15 - (joypad[1].oldrol++ % 16))) & 0x1;
if( !(joypad[1].oldrol % 17) )
value = 0x1;
//value |= 0x1c; // bits 4, 3, and 2 are always set
//value |= 0x1c; // bits 4, 3, and 2 are always set
return value | 0x1c | (snes_open_bus_r(space,0) & 0xe0); //correct?
}
case HTIMEL:
@ -649,7 +649,7 @@ READ8_HANDLER( snes_r_io )
}
/* Unsupported reads returns open bus */
// printf("%02x %02x\n",offset,snes_open_bus_r(space,0));
// printf("%02x %02x\n",offset,snes_open_bus_r(space,0));
return snes_open_bus_r(space,0);
}

View File

@ -9475,8 +9475,8 @@ Other Sun games
DRIVER( moneymacv1 )/* (c) 200? Amcoe */
DRIVER( moneymacd2 )/* (c) 200? Amcoe */
DRIVER( moneymacv2 )/* (c) 200? Amcoe */
//DRIVER( atworld ) /* (c) 2007 Amcoe - Around The World (year listed on Amcoe web site) */
//DRIVER( atworldd1 ) /* (c) 2007 Amcoe (year listed on Amcoe web site) */
//DRIVER( atworld ) /* (c) 2007 Amcoe - Around The World (year listed on Amcoe web site) */
//DRIVER( atworldd1 ) /* (c) 2007 Amcoe (year listed on Amcoe web site) */
DRIVER( chsuper3 ) /* unknown */

View File

@ -83,10 +83,10 @@ static TILE_GET_INFO( prosport_get_back_tile_info )
int tile;
/*
robiza notes:
- flip y (handled with a +0x10 tile banking) depends only by position of the tile in the screen
- bits 0-3 are not used by gfx hardware; the value is the color of the pixel in the map (golf)
*/
robiza notes:
- flip y (handled with a +0x10 tile banking) depends only by position of the tile in the screen
- bits 0-3 are not used by gfx hardware; the value is the color of the pixel in the map (golf)
*/
tile = (prosport_bg_vram[tile_index] & 0xf0)>>4;

View File

@ -404,8 +404,8 @@ INLINE void snes_update_line( UINT8 screen, UINT8 color_depth, UINT8 hires, UINT
/* scrolling */
UINT32 basevmap;
UINT16 vscroll, hscroll, vtilescroll;
// UINT16 offset_per_tile_valid;
// UINT8 offset_per_tile_mode;
// UINT16 offset_per_tile_valid;
// UINT8 offset_per_tile_mode;
UINT8 vshift, hshift, tile_size;
/* variables depending on color_depth */
UINT8 color_shift = 0;
@ -491,7 +491,7 @@ INLINE void snes_update_line( UINT8 screen, UINT8 color_depth, UINT8 hires, UINT
wrap_around_x = 0; /* Make sure we don't do this again */
}
//if (tmap > 0x10000) //<- causes corrupt tiles in places, needed?
// tmap %= 0x10000;
// tmap %= 0x10000;
vflip = snes_vram[tmap + ii + 1] & 0x80;
hflip = snes_vram[tmap + ii + 1] & 0x40;

View File

@ -130,9 +130,9 @@ WRITE16_HANDLER( twin16_video_register_w )
* 2 | -------xxxxxxxxx | xpos
* -----+------------------+
* 3 | x--------------- | enable
* 3 | -x-------------- | priority ?
* 3 | -----x---------- | no shadow ?
* 3 | ------x--------- | yflip ?
* 3 | -x-------------- | priority ?
* 3 | -----x---------- | no shadow ?
* 3 | ------x--------- | yflip ?
* 3 | -------x-------- | xflip
* 3 | --------xx------ | height
* 3 | ----------xx---- | width
@ -183,29 +183,29 @@ void twin16_spriteram_process( running_machine *machine )
UINT32 ypos = (0x10000*source[6])|source[7];
/* notes on uncertain attributes:
shadows: pen $F only (like other Konami hw), used in devilw, fround,
miaj? (shadows are solid in tmnt hw version),
gradius2? (ship exhaust)
shadows: pen $F only (like other Konami hw), used in devilw, fround,
miaj? (shadows are solid in tmnt hw version),
gradius2? (ship exhaust)
sprite-background priority: in devilw, most sprites look best at high priority,
in gradius2, most sprites look best at low priority. exceptions:
- devilw prologue: sprites behind crowd (maybe more, haven't completed the game)
- gradius2 intro showing earlier games: sprites above layers
sprite-background priority: in devilw, most sprites look best at high priority,
in gradius2, most sprites look best at low priority. exceptions:
- devilw prologue: sprites behind crowd (maybe more, haven't completed the game)
- gradius2 intro showing earlier games: sprites above layers
currently using (priority&0x200), broken:
- devilw prologue: sprites should be behind crowd
- gradius2 level 7: bosses should be behind portal (ok except brain boss and mouth boss)
- gradius2 ending: sun should be behind planet
currently using (priority&0x200), broken:
- devilw prologue: sprites should be behind crowd
- gradius2 level 7: bosses should be behind portal (ok except brain boss and mouth boss)
- gradius2 ending: sun should be behind planet
does TWIN16_PLANE_ORDER affect it?
does TWIN16_PLANE_ORDER affect it?
more?
devilw monster dens exploding monochrome, players fading to white in prologue, and trees in
the 1st level shrinking with a solid green color look odd, maybe alpha blended?
more?
devilw monster dens exploding monochrome, players fading to white in prologue, and trees in
the 1st level shrinking with a solid green color look odd, maybe alpha blended?
fround, hpuncher, miaj, cuebrickj, don't use the preprocessor. all sprites are expected
to be high priority, and shadows are enabled
*/
fround, hpuncher, miaj, cuebrickj, don't use the preprocessor. all sprites are expected
to be high priority, and shadows are enabled
*/
UINT16 attributes = 0x8000| // enabled
(source[2]&0x03ff)| // scale,size,color
(source[2]&0x4000)>>4| // no-shadow? (gradius2 level 7 boss sets this bit and appears to expect pen $F to be solid)
@ -421,10 +421,10 @@ static void draw_layer( running_machine *machine, bitmap_t *bitmap, int opaque )
{
int code = source[i];
/* fedcba9876543210
xxx------------- color
---xx----------- tile bank
-----xxxxxxxxxxx tile number
*/
xxx------------- color
---xx----------- tile bank
-----xxxxxxxxxxx tile number
*/
const UINT16 *gfx_data = gfx_base + (code&0x7ff)*16 + bank_table[(code>>11)&0x3]*0x8000;
int color = (code>>13);
int pal_base = 16*(0x20+color+8*palette);
@ -477,11 +477,11 @@ static TILE_GET_INFO( get_text_tile_info )
const UINT16 *source = twin16_text_ram;
int attr = source[tile_index];
/* fedcba9876543210
-x-------------- yflip
--x------------- xflip
---xxxx--------- color
-------xxxxxxxxx tile number
*/
-x-------------- yflip
--x------------- xflip
---xxxx--------- color
-------xxxxxxxxx tile number
*/
int code = attr & 0x1ff;
int color = (attr >> 9) & 0x0f;
int flags=0;
@ -538,8 +538,8 @@ VIDEO_EOF( twin16 )
need_process_spriteram = 1;
/* if the sprite preprocessor is used, sprite ram is copied to an external buffer first,
as evidenced by 1-frame sprite lag in gradius2 and devilw otherwise, though there's probably
more to it than that */
as evidenced by 1-frame sprite lag in gradius2 and devilw otherwise, though there's probably
more to it than that */
memcpy(&buffered_spriteram16[0x1800],twin16_sprite_buffer,0x800*sizeof(UINT16));
memcpy(twin16_sprite_buffer,&spriteram16[0x1800],0x800*sizeof(UINT16));
}

View File

@ -10,4 +10,4 @@
***************************************************************************/
extern const char build_version[];
const char build_version[] = "0.133u1 ("__DATE__")";
const char build_version[] = "0.133u2 ("__DATE__")";