mirror of
https://github.com/holub/mame
synced 2025-05-30 17:41:47 +03:00
Cleanups and version bump to 0.124u2.
This commit is contained in:
parent
f57b3da9a3
commit
439dbe872a
@ -2449,7 +2449,7 @@ static int mips_execute( int cycles )
|
||||
{
|
||||
mips_breakpoint_exception();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
UINT32 data = mipscpu.readword( address );
|
||||
|
||||
|
@ -1536,7 +1536,7 @@ int necv_dasm_one(char *buffer, UINT32 eip, const UINT8 *oprom, const nec_config
|
||||
|
||||
op = FETCH();
|
||||
|
||||
if (Iconfig->v25v35_decryptiontable) op = Iconfig->v25v35_decryptiontable[op];
|
||||
if (Iconfig->v25v35_decryptiontable) op = Iconfig->v25v35_decryptiontable[op];
|
||||
|
||||
decode_opcode( buffer, &necv_opcode_table1[op], op );
|
||||
return (pc-eip) | dasm_flags | DASMFLAG_SUPPORTED;
|
||||
|
@ -2762,7 +2762,7 @@ static void input_port_frame_update(running_machine *machine)
|
||||
int ui_visible = ui_is_menu_active() || ui_is_slider_active();
|
||||
attotime curtime = timer_get_time();
|
||||
int portnum, bitnum;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_INPUT);
|
||||
|
||||
/* record/playback information about the current frame */
|
||||
@ -3292,7 +3292,7 @@ UINT32 input_port_read_indexed(running_machine *machine, int portnum)
|
||||
input_port_info *portinfo = &port_info[portnum];
|
||||
custom_port_info *custom;
|
||||
UINT32 result;
|
||||
|
||||
|
||||
/* start with the digital */
|
||||
result = portinfo->defvalue ^ portinfo->digital;
|
||||
|
||||
@ -3452,7 +3452,7 @@ static UINT8 playback_read_uint8(running_machine *machine)
|
||||
playback_end(machine, "End of file");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* return the appropriate value */
|
||||
return result;
|
||||
}
|
||||
@ -3496,7 +3496,7 @@ static UINT32 playback_read_uint32(running_machine *machine)
|
||||
playback_end(machine, "End of file");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* return the appropriate value */
|
||||
return LITTLE_ENDIANIZE_INT32(result);
|
||||
}
|
||||
@ -3540,7 +3540,7 @@ static UINT64 playback_read_uint64(running_machine *machine)
|
||||
playback_end(machine, "End of file");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* return the appropriate value */
|
||||
return LITTLE_ENDIANIZE_INT64(result);
|
||||
}
|
||||
@ -3575,7 +3575,7 @@ static time_t playback_init(running_machine *machine)
|
||||
UINT8 header[INP_HEADER_SIZE];
|
||||
file_error filerr;
|
||||
time_t basetime;
|
||||
|
||||
|
||||
/* if no file, nothing to do */
|
||||
if (filename[0] == 0)
|
||||
return 0;
|
||||
@ -3599,11 +3599,11 @@ static time_t playback_init(running_machine *machine)
|
||||
((UINT64)header[0x0c] << 32) | ((UINT64)header[0x0d] << 40) | ((UINT64)header[0x0e] << 48) | ((UINT64)header[0x0f] << 56);
|
||||
mame_printf_info("Created %s", ctime(&basetime));
|
||||
mame_printf_info("Recorded using %s\n", header + 0x20);
|
||||
|
||||
|
||||
/* verify the header against the current game */
|
||||
if (memcmp(machine->gamedrv->name, header + 0x14, strlen(machine->gamedrv->name) + 1) != 0)
|
||||
fatalerror("Input file is for " GAMENOUN " '%s', not for current " GAMENOUN " '%s'\n", header + 0x14, machine->gamedrv->name);
|
||||
|
||||
|
||||
return basetime;
|
||||
}
|
||||
|
||||
@ -3645,7 +3645,7 @@ static void record_init(running_machine *machine)
|
||||
header[0x11] = INP_HEADER_MINVERSION;
|
||||
strcpy((char *)header + 0x14, machine->gamedrv->name);
|
||||
sprintf((char *)header + 0x20, APPNAME " %s", build_version);
|
||||
|
||||
|
||||
/* write it */
|
||||
mame_fwrite(machine->record_file, header, sizeof(header));
|
||||
}
|
||||
@ -3663,11 +3663,11 @@ static void playback_end(running_machine *machine, const char *message)
|
||||
/* close the file */
|
||||
mame_fclose(machine->playback_file);
|
||||
machine->playback_file = NULL;
|
||||
|
||||
|
||||
/* pop a message */
|
||||
if (message != NULL)
|
||||
popmessage("Playback Ended\nReason: %s", message);
|
||||
|
||||
|
||||
/* display speed stats */
|
||||
playback_accumulated_speed /= playback_accumulated_frames;
|
||||
mame_printf_info("Total playback frames: %d\n", (UINT32)playback_accumulated_frames);
|
||||
@ -3688,7 +3688,7 @@ static void record_end(running_machine *machine, const char *message)
|
||||
/* close the file */
|
||||
mame_fclose(machine->record_file);
|
||||
machine->record_file = NULL;
|
||||
|
||||
|
||||
/* pop a message */
|
||||
if (message != NULL)
|
||||
popmessage("Recording Ended\nReason: %s", message);
|
||||
@ -3697,7 +3697,7 @@ static void record_end(running_machine *machine, const char *message)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
playback_frame - start of frame callback for
|
||||
playback_frame - start of frame callback for
|
||||
playback
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3707,22 +3707,22 @@ static void playback_frame(running_machine *machine, attotime curtime)
|
||||
if (machine->playback_file != NULL)
|
||||
{
|
||||
attotime readtime;
|
||||
|
||||
|
||||
/* first the absolute time */
|
||||
readtime.seconds = playback_read_uint32(machine);
|
||||
readtime.attoseconds = playback_read_uint64(machine);
|
||||
if (attotime_compare(readtime, curtime) != 0)
|
||||
playback_end(machine, "Out of sync");
|
||||
|
||||
|
||||
/* then the speed */
|
||||
playback_accumulated_speed += playback_read_uint32(machine);
|
||||
playback_accumulated_frames++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
record_frame - start of frame callback for
|
||||
record_frame - start of frame callback for
|
||||
recording
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3734,12 +3734,12 @@ static void record_frame(running_machine *machine, attotime curtime)
|
||||
/* first the absolute time */
|
||||
record_write_uint32(machine, curtime.seconds);
|
||||
record_write_uint64(machine, curtime.attoseconds);
|
||||
|
||||
|
||||
/* then the current speed */
|
||||
record_write_uint32(machine, video_get_speed_percent(machine) * (double)(1 << 20));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
playback_port - per-port callback for playback
|
||||
@ -3754,14 +3754,14 @@ static void playback_port(running_machine *machine, input_port_info *portinfo)
|
||||
|
||||
/* read the digital value */
|
||||
portinfo->digital = playback_read_uint32(machine);
|
||||
|
||||
|
||||
/* loop over analog ports and save their data */
|
||||
for (analog = portinfo->analoginfo; analog != NULL; analog = analog->next)
|
||||
{
|
||||
/* read current and previous values */
|
||||
analog->accum = playback_read_uint32(machine);
|
||||
analog->previous = playback_read_uint32(machine);
|
||||
|
||||
|
||||
/* read configuration information */
|
||||
analog->portentry->analog.sensitivity = playback_read_uint32(machine);
|
||||
analog->portentry->analog.reverse = playback_read_uint8(machine);
|
||||
@ -3783,14 +3783,14 @@ static void record_port(running_machine *machine, input_port_info *portinfo)
|
||||
|
||||
/* store the digital value */
|
||||
record_write_uint32(machine, portinfo->digital);
|
||||
|
||||
|
||||
/* loop over analog ports and save their data */
|
||||
for (analog = portinfo->analoginfo; analog != NULL; analog = analog->next)
|
||||
{
|
||||
/* store current and previous values */
|
||||
record_write_uint32(machine, analog->accum);
|
||||
record_write_uint32(machine, analog->previous);
|
||||
|
||||
|
||||
/* store configuration information */
|
||||
record_write_uint32(machine, analog->portentry->analog.sensitivity);
|
||||
record_write_uint8(machine, analog->portentry->analog.reverse);
|
||||
|
@ -2979,7 +2979,7 @@ INLINE UINT32 lookup_write_entry(const address_space *space, offs_t address)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
read_byte_generic - read a byte from an
|
||||
read_byte_generic - read a byte from an
|
||||
arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -2990,23 +2990,23 @@ INLINE UINT8 read_byte_generic(UINT8 spacenum, offs_t address)
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
UINT8 result;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMREAD);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_read_entry(space, address);
|
||||
handler = &space->readhandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_READ(spacenum, address, 0xff);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
result = bank_ptr[entry][offset];
|
||||
else
|
||||
result = (*handler->handler.read.mhandler8)(handler->object, offset);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -3170,7 +3170,7 @@ UINT64 io_read_qword_8be(offs_t address)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
write_byte_generic - write a byte to an
|
||||
write_byte_generic - write a byte to an
|
||||
arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3180,21 +3180,21 @@ INLINE void write_byte_generic(UINT8 spacenum, offs_t address, UINT8 data)
|
||||
const handler_data *handler;
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMWRITE);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_write_entry(space, address);
|
||||
handler = &space->writehandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_WRITE(spacenum, address, data, 0xff);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
bank_ptr[entry][offset] = data;
|
||||
else
|
||||
(*handler->handler.write.mhandler8)(handler->object, offset, data);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
}
|
||||
|
||||
@ -3358,7 +3358,7 @@ void io_write_qword_8be(offs_t address, UINT64 data)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
read_word_masked_generic - read a word from
|
||||
read_word_masked_generic - read a word from
|
||||
an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3369,23 +3369,23 @@ INLINE UINT16 read_word_masked_generic(UINT8 spacenum, offs_t address, UINT16 me
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
UINT16 result;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMREAD);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_read_entry(space, address);
|
||||
handler = &space->readhandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_READ(spacenum, address & ~1, (UINT16)~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
result = *(UINT16 *)&bank_ptr[entry][offset & ~1];
|
||||
else
|
||||
result = (*handler->handler.read.mhandler16)(handler->object, offset >> 1, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -3549,7 +3549,7 @@ UINT64 io_read_qword_16be(offs_t address)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
write_word_masked_generic - write a masked
|
||||
write_word_masked_generic - write a masked
|
||||
word to an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3559,15 +3559,15 @@ INLINE void write_word_masked_generic(UINT8 spacenum, offs_t address, UINT16 dat
|
||||
const handler_data *handler;
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMWRITE);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_write_entry(space, address);
|
||||
handler = &space->writehandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_WRITE(spacenum, address & ~1, data, (UINT16)~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
{
|
||||
@ -3576,7 +3576,7 @@ INLINE void write_word_masked_generic(UINT8 spacenum, offs_t address, UINT16 dat
|
||||
}
|
||||
else
|
||||
(*handler->handler.write.mhandler16)(handler->object, offset >> 1, data, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
}
|
||||
|
||||
@ -3740,7 +3740,7 @@ void io_write_qword_16be(offs_t address, UINT64 data)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
read_dword_masked_generic - read a dword from
|
||||
read_dword_masked_generic - read a dword from
|
||||
an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3751,23 +3751,23 @@ INLINE UINT32 read_dword_masked_generic(UINT8 spacenum, offs_t address, UINT32 m
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
UINT32 result;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMREAD);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_read_entry(space, address);
|
||||
handler = &space->readhandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_READ(spacenum, address & ~3, (UINT32)~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
result = *(UINT32 *)&bank_ptr[entry][offset & ~3];
|
||||
else
|
||||
result = (*handler->handler.read.mhandler32)(handler->object, offset >> 2, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -3961,7 +3961,7 @@ UINT64 io_read_qword_32be(offs_t address)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
write_dword_masked_generic - write a masked
|
||||
write_dword_masked_generic - write a masked
|
||||
dword to an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3971,15 +3971,15 @@ INLINE void write_dword_masked_generic(UINT8 spacenum, offs_t address, UINT32 da
|
||||
const handler_data *handler;
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMWRITE);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_write_entry(space, address);
|
||||
handler = &space->writehandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_WRITE(spacenum, address & ~3, data, (UINT32)~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
{
|
||||
@ -3988,7 +3988,7 @@ INLINE void write_dword_masked_generic(UINT8 spacenum, offs_t address, UINT32 da
|
||||
}
|
||||
else
|
||||
(*handler->handler.write.mhandler32)(handler->object, offset >> 2, data, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
}
|
||||
|
||||
@ -4182,7 +4182,7 @@ void io_write_qword_32be(offs_t address, UINT64 data)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
read_qword_masked_generic - read a qword from
|
||||
read_qword_masked_generic - read a qword from
|
||||
an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -4193,23 +4193,23 @@ INLINE UINT64 read_qword_masked_generic(UINT8 spacenum, offs_t address, UINT64 m
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
UINT64 result;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMREAD);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_read_entry(space, address);
|
||||
handler = &space->readhandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_READ(spacenum, address & ~7, ~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
result = *(UINT64 *)&bank_ptr[entry][offset & ~7];
|
||||
else
|
||||
result = (*handler->handler.read.mhandler64)(handler->object, offset >> 3, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -4403,7 +4403,7 @@ UINT64 io_read_qword_masked_64be(offs_t address, UINT64 mem_mask)
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
write_qword_masked_generic - write a masked
|
||||
write_qword_masked_generic - write a masked
|
||||
dword to an arbitrary address space
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -4413,15 +4413,15 @@ INLINE void write_qword_masked_generic(UINT8 spacenum, offs_t address, UINT64 da
|
||||
const handler_data *handler;
|
||||
offs_t offset;
|
||||
UINT32 entry;
|
||||
|
||||
|
||||
profiler_mark(PROFILER_MEMWRITE);
|
||||
|
||||
address &= space->bytemask;
|
||||
entry = lookup_write_entry(space, address);
|
||||
handler = &space->writehandlers[entry];
|
||||
|
||||
|
||||
DEBUG_HOOK_WRITE(spacenum, address & ~7, data, ~mem_mask);
|
||||
|
||||
|
||||
offset = (address - handler->bytestart) & handler->bytemask;
|
||||
if (entry < STATIC_RAM)
|
||||
{
|
||||
@ -4430,7 +4430,7 @@ INLINE void write_qword_masked_generic(UINT8 spacenum, offs_t address, UINT64 da
|
||||
}
|
||||
else
|
||||
(*handler->handler.write.mhandler64)(handler->object, offset >> 3, data, mem_mask);
|
||||
|
||||
|
||||
profiler_mark(PROFILER_END);
|
||||
}
|
||||
|
||||
|
@ -292,7 +292,7 @@ void state_save_register_bitmap(const char *module, UINT32 instance, const char
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
state_save_register_presave -
|
||||
state_save_register_presave -
|
||||
register a pre-save function callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -322,7 +322,7 @@ void state_save_register_presave(running_machine *machine, state_presave_func fu
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
state_save_register_postload -
|
||||
state_save_register_postload -
|
||||
register a post-load function callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
|
@ -433,7 +433,7 @@ tilemap *tilemap_create(tile_get_info_func tile_get_info, tilemap_mapper_func ma
|
||||
void tilemap_set_user_data(tilemap *tmap, void *user_data);
|
||||
|
||||
/* specify an offset to be added to each pixel before looking up the palette
|
||||
* The offset only applies at final rendering time (e.g., tilemap_draw())
|
||||
* The offset only applies at final rendering time (e.g., tilemap_draw())
|
||||
* It does not apply to the cached pixmap, which is provided by tilemap_get_pixmap().
|
||||
*/
|
||||
void tilemap_set_palette_offset(tilemap *tmap, UINT32 offset);
|
||||
|
@ -1608,7 +1608,7 @@ const char *video_get_speed_text(running_machine *machine)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
video_get_speed_percent - return the current
|
||||
video_get_speed_percent - return the current
|
||||
effective speed percentage
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1988,7 +1988,7 @@ static void update_refresh_speed(running_machine *machine)
|
||||
UINT32 original_speed = original_speed_setting();
|
||||
const device_config *screen;
|
||||
UINT32 target_speed;
|
||||
|
||||
|
||||
/* find the screen with the shortest frame period (max refresh rate) */
|
||||
for (screen = video_screen_first(machine->config); screen != NULL; screen = video_screen_next(screen))
|
||||
{
|
||||
@ -1999,7 +1999,7 @@ static void update_refresh_speed(running_machine *machine)
|
||||
/* compute a target speed as an integral percentage */
|
||||
target_speed = floor(minrefresh * 100.0 / ATTOSECONDS_TO_HZ(min_frame_period));
|
||||
target_speed = MIN(target_speed, original_speed);
|
||||
|
||||
|
||||
/* if we changed, log that verbosely */
|
||||
if (target_speed != global.speed)
|
||||
{
|
||||
|
@ -428,8 +428,8 @@ static const struct dma8237_interface dma8237_1_config =
|
||||
|
||||
static const struct dma8237_interface dma8237_2_config =
|
||||
{
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -20,11 +20,11 @@ AT08XX03:
|
||||
(great now I can fall under the skyway like I did at Chuck'n Cheese;)
|
||||
- fixed Vanguard2 scroll offsets
|
||||
- tuned music tempo and wavegen frequency
|
||||
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Marvin's Maze and Mad Crasher. Vanguard II
|
||||
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Marvin's Maze and Mad Crasher. Vanguard II
|
||||
DIPs have been checked against jammaboards diplist, no manual available ATM.
|
||||
DSW2:7 in madcrash is listed as Difficulty, but it's not clear how it affects
|
||||
DSW2:7 in madcrash is listed as Difficulty, but it's not clear how it affects
|
||||
the gameplay difficulty
|
||||
|
||||
*/
|
||||
|
@ -19,12 +19,12 @@ MAIN BOARD:
|
||||
4000-ffff ROM
|
||||
|
||||
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Mat Mania and Mania Challenge.
|
||||
2008.04.04: Small note regarding DipSwitches. Locations and values have been
|
||||
verified with the manual for both Mat Mania and Mania Challenge.
|
||||
Exciting Hour DIPs confirmed with crazykong diplist, no manual available ATM.
|
||||
Notice that the manual for Mat Mania lists DSW2:3,4 as Unused, but they
|
||||
correctly affect the timer speed during the game. Also, default difficulty
|
||||
in Mat Mania is Normal, while manual for Mania Challenge reports Easy.
|
||||
Notice that the manual for Mat Mania lists DSW2:3,4 as Unused, but they
|
||||
correctly affect the timer speed during the game. Also, default difficulty
|
||||
in Mat Mania is Normal, while manual for Mania Challenge reports Easy.
|
||||
The driver has been updated accordingly.
|
||||
|
||||
***************************************************************************/
|
||||
@ -248,8 +248,8 @@ static INPUT_PORTS_START( matmania )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
PORT_DIPNAME(0x0c, 0x0c, "Tournament Time" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x00, "2:12" ) /* Tournament time is always 3:00, but time per 1 second is shorter. */
|
||||
PORT_DIPSETTING( 0x04, "2:24" )
|
||||
PORT_DIPSETTING( 0x08, "2:30" )
|
||||
PORT_DIPSETTING( 0x04, "2:24" )
|
||||
PORT_DIPSETTING( 0x08, "2:30" )
|
||||
PORT_DIPSETTING( 0x0c, "2:36" )
|
||||
PORT_DIPUNUSED_DIPLOC(0x10, IP_ACTIVE_LOW, "SW2:5") /* Listed as Unused */
|
||||
PORT_DIPUNUSED_DIPLOC(0x20, IP_ACTIVE_LOW, "SW2:6") /* Listed as Unused */
|
||||
|
@ -814,8 +814,8 @@ static const struct dma8237_interface dma8237_1_config =
|
||||
|
||||
static const struct dma8237_interface dma8237_2_config =
|
||||
{
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -137,10 +137,10 @@ static UINT32 readpos = 1; // serial bank selection position (9-bit)
|
||||
PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
|
||||
PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
|
||||
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
/* Caused 01081:
|
||||
* PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
* PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
* PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
*/
|
||||
|
||||
|
@ -255,7 +255,7 @@ static INPUT_PORTS_START( megazone )
|
||||
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
|
||||
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_0C ) ) "Not use"
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( 1C_0C ) ) "Not use"
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( megazona )
|
||||
|
@ -1403,12 +1403,12 @@ static READ16_HANDLER( taitoz_msb_sound_r )
|
||||
/**** sound pan control ****/
|
||||
static WRITE8_HANDLER( taitoz_pancontrol )
|
||||
{
|
||||
// static UINT8 taitoz_pandata[4];
|
||||
// static UINT8 taitoz_pandata[4];
|
||||
|
||||
offset = offset&3;
|
||||
|
||||
// taitoz_pandata[offset] = data;
|
||||
// popmessage(" pan %02x %02x %02x %02x", taitoz_pandata[0], taitoz_pandata[1], taitoz_pandata[2], taitoz_pandata[3] );
|
||||
// taitoz_pandata[offset] = data;
|
||||
// popmessage(" pan %02x %02x %02x %02x", taitoz_pandata[0], taitoz_pandata[1], taitoz_pandata[2], taitoz_pandata[3] );
|
||||
|
||||
flt_volume_set_volume(offset, data / 255.0f);
|
||||
}
|
||||
|
@ -394,8 +394,8 @@ static const struct dma8237_interface dma8237_1_config =
|
||||
|
||||
static const struct dma8237_interface dma8237_2_config =
|
||||
{
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
0,
|
||||
1.0e-6, // 1us
|
||||
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -1070,7 +1070,7 @@ static MACHINE_DRIVER_START( mia )
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
|
||||
MDRV_VIDEO_START(fround)
|
||||
|
||||
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( vulcan )
|
||||
|
@ -137,7 +137,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_RAM
|
||||
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* Sound latch read */
|
||||
// AM_RANGE(0xd000, 0xd000) AM_WRITE(SMH_NOP) /* ??? */
|
||||
// AM_RANGE(0xd000, 0xd000) AM_WRITE(SMH_NOP) /* ??? */
|
||||
AM_RANGE(0xe000, 0xe000) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w) /* M6295 */
|
||||
AM_RANGE(0xf000, 0xf000) AM_WRITE(YM2151_register_port_0_w) /* YM2151 */
|
||||
AM_RANGE(0xf001, 0xf001) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w) /* YM2151 */
|
||||
|
@ -78,7 +78,7 @@ Noted added by ClawGrip 28-Mar-2008:
|
||||
Dox suggested that it can be just a year or text mod, so I decided not
|
||||
to include my set. If anyone wants it, please mail me:
|
||||
clawgrip at hotmail dot com. I can't find any graphical difference
|
||||
between my set and the one already on MAME.
|
||||
between my set and the one already on MAME.
|
||||
|
||||
*/
|
||||
|
||||
|
@ -308,7 +308,7 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( i8039_port_map, ADDRESS_SPACE_IO, 8 )
|
||||
// AM_RANGE(I8039_t1, I8039_t1)
|
||||
// AM_RANGE(I8039_t1, I8039_t1)
|
||||
AM_RANGE(0x00, 0xff) AM_WRITE(snddata_w)
|
||||
AM_RANGE(I8039_p1, I8039_p1) AM_WRITE(p1_w)
|
||||
AM_RANGE(I8039_p2, I8039_p2) AM_WRITE(p2_w)
|
||||
|
@ -109,37 +109,37 @@ const UINT8 bomberman_decryption_table[256] = {
|
||||
|
||||
const UINT8 lethalth_decryption_table[256] = {
|
||||
0x7f,0x26,0x5d,xxxx,0xba,xxxx,0x1e,0x5e, 0xb8,xxxx,0xbc,0xe8,0x01,xxxx,0x4a,0x25, /* 00 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
xxxx,0xbd,xxxx,0x22,0x10,xxxx,0x02,0x57, 0x70,xxxx,0x7c,xxxx,0xe7,0x52,xxxx,0xa9, /* 10 */
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
xxxx,xxxx,0xc6,0x06,0xa0,0xfe,0xcf,0x8e, 0x43,0x8f,0x2d,xxxx,0xd4,0x85,0x75,0xa2, /* 20 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
0x3d,xxxx,xxxx,0x38,0x7c,0x89,0xd1,0x80, 0x3b,0x72,0x07,xxxx,0x42,0x37,0x0a,0x18, /* 30 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
0x88,0xb4,0x98,0x8b,0xb9,0x9c,0xad,0x0e, 0x2b,xxxx,0xbf,xxxx,0x55,xxxx,0x56,0xb0, /* 40 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
0x93,0x91,xxxx,0xeb,xxxx,0x50,0x41,0x29, 0x47,xxxx,xxxx,0x60,xxxx,0xab,xxxx,xxxx, /* 50 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
0xc3,0xe2,0xd0,0xb2,0x11,0x79,xxxx,0x08, xxxx,0xfb,xxxx,0x2c,0x23,xxxx,0x28,0x0d, /* 60 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
xxxx,xxxx,xxxx,0x83,0x3c,xxxx,0x1b,0x34, 0x5b,xxxx,0x40,xxxx,xxxx,0x04,0xfc,0x09, /* 70 */
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
0xb1,0xf3,0x8a,xxxx,xxxx,0x87,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,0xbe,0x84,0x1f,0xe6, /* 80 */
|
||||
// !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!!
|
||||
0xff,xxxx,0x12,xxxx,0xb5,0x36,xxxx,0xb3, xxxx,xxxx,xxxx,0xd2,0x4e,xxxx,xxxx,xxxx, /* 90 */
|
||||
// !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!!
|
||||
0xa5,xxxx,xxxx,0xc7,xxxx,0x27,0x0b,xxxx, 0x20,xxxx,xxxx,xxxx,xxxx,xxxx,0x61,0x7f, /* A0 */
|
||||
// !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!!
|
||||
xxxx,xxxx,0x86,0x0f,xxxx,0xb7,xxxx,0x4f, xxxx,xxxx,0xc0,0xfd,xxxx,0x39,xxxx,0x77, /* B0 */
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!!
|
||||
0x05,0x3a,xxxx,0x48,0x92,0x7a,0x3e,0x03, xxxx,0xf8,xxxx,0x59,0xa8,0x5f,0xf9,0xbb, /* C0 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
0x81,0xfa,0x9d,0xe9,0x2e,0xa1,0xc1,0x33, xxxx,0x78,xxxx,0x0c,xxxx,0x24,0xaa,0xac, /* D0 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
xxxx,0xb6,xxxx,0xea,xxxx,0x73,0xe5,0x58, 0x00,0xf7,xxxx,0x74,xxxx,0x7e,xxxx,0xa3, /* E0 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
xxxx,0x5a,0xf6,0x32,0x46,0x2a,xxxx,xxxx, 0x53,0x4b,0x90,xxxx,0x51,0x68,0x99,0x13, /* F0 */
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
// !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!! !!!!
|
||||
};
|
||||
/*
|
||||
missing opcode:
|
||||
@ -349,7 +349,7 @@ const UINT8 gussun_decryption_table[256] = {
|
||||
0x42,xxxx,0x84,0xb6,0x77,0x3d,0x3e,xxxx, xxxx,0x0c,0x4b,xxxx,0xa4,xxxx,xxxx,xxxx, /* b0 */
|
||||
// gggg gggg pppp gggg gggg pppp pppp gggg
|
||||
xxxx,0xff,0x47,xxxx,0x55,0x1e,xxxx,0x59, 0x93,xxxx,xxxx,xxxx,0x88,0xc1,0x01,0xb2, /* c0 */
|
||||
// gggg
|
||||
// gggg
|
||||
0x85,0x2e,0x06,0xc7,0x05,xxxx,0x8a,0x5a, 0x58,0xbe,xxxx,0x4e,xxxx,0x1f,0x23,xxxx, /* d0 */
|
||||
// gggg gggg
|
||||
0xe8,xxxx,0x89,0xa1,0xd0,xxxx,xxxx,0xe2, 0x38,0xfe,0x50,0x9c,xxxx,xxxx,xxxx,0x49, /* e0 */
|
||||
@ -375,7 +375,7 @@ rz probably:
|
||||
7b -> 0d
|
||||
82 -> 78 (78,7c) -> 78
|
||||
86 -> 2d
|
||||
ab -> 48 (1956f - routine from 194e1 to 19619 - bp 19567) (when the water go up) -> 48
|
||||
ab -> 48 (1956f - routine from 194e1 to 19619 - bp 19567) (when the water go up) -> 48
|
||||
b3 -> b6 (216b6 - 216cf - 16663 (when you rotate a piece) - 175f1 - 17d2a - 17d36) -> b6
|
||||
b9 -> 0c (21210 - routine from 2117e to ) 2 bytes -> to handle messages in level 0 (learning level)
|
||||
ba -> 4b (1094d, 10b28 - routine from 10948 to 10b73) one byte -> probably 4b
|
||||
|
@ -534,8 +534,8 @@ READ16_HANDLER( legionna_mcu_r )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection reads
|
||||
*********************************************************************/
|
||||
400-5ff - Protection reads
|
||||
*********************************************************************/
|
||||
|
||||
case (0x470/2): return (mame_rand(machine) &0xffff); /* read PC $110a, could be some sort of control word: sometimes a bit is changed then it's poked back in... */
|
||||
case (0x582/2): return (0); /* read PC $3594 */
|
||||
@ -547,8 +547,8 @@ READ16_HANDLER( legionna_mcu_r )
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
700-7ff - Non-protection reads
|
||||
*********************************************************************/
|
||||
700-7ff - Non-protection reads
|
||||
*********************************************************************/
|
||||
|
||||
/* Seibu Sound System */
|
||||
case (0x708/2): return seibu_main_word_r(machine,2,0);
|
||||
@ -578,8 +578,8 @@ WRITE16_HANDLER( legionna_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
/* Trigger Table upload */
|
||||
case (0x432/2): { copd2_set_tabledata(data, machine); break; }
|
||||
@ -621,8 +621,8 @@ WRITE16_HANDLER( legionna_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
600-6ff - Video Registers
|
||||
*********************************************************************/
|
||||
600-6ff - Video Registers
|
||||
*********************************************************************/
|
||||
|
||||
// 61a bit 0 is flipscreen
|
||||
// 61c probably layer disables, like Dcon
|
||||
@ -635,8 +635,8 @@ WRITE16_HANDLER( legionna_mcu_w )
|
||||
case (0x62a/2): { legionna_scrollram16[5] = cop_mcu_ram[offset]; break; }
|
||||
|
||||
/*********************************************************************
|
||||
700-7ff - Output (Seibu Sound System)
|
||||
*********************************************************************/
|
||||
700-7ff - Output (Seibu Sound System)
|
||||
*********************************************************************/
|
||||
|
||||
case (0x700/2): { seibu_main_word_w(machine,0,cop_mcu_ram[offset],0xff00); break; }
|
||||
case (0x704/2): { seibu_main_word_w(machine,1,cop_mcu_ram[offset],0xff00); break; }
|
||||
@ -995,8 +995,8 @@ READ16_HANDLER( heatbrl_mcu_r )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection reads
|
||||
*********************************************************************/
|
||||
400-5ff - Protection reads
|
||||
*********************************************************************/
|
||||
|
||||
case (0x580/2): { return xy_check; } /*hit protection*/
|
||||
case (0x582/2): { if(input_code_pressed(KEYCODE_X)) { return 0; } else { return 3; } } /*---- ---- ---- --xx used bits*/
|
||||
@ -1010,12 +1010,12 @@ READ16_HANDLER( heatbrl_mcu_r )
|
||||
case (0x59a/2): { return ((prot_bcd[2] & 0xffff0000) >> 16) + 0x3030; }
|
||||
case (0x59c/2): { return 0x3030; }
|
||||
|
||||
//case (0x5b0/2): return (cop_mcu_ram[offset]); /* bit 15 is branched on a few times in the $1938 area */
|
||||
//case (0x5b0/2): return (cop_mcu_ram[offset]); /* bit 15 is branched on a few times in the $1938 area */
|
||||
case (0x5b4/2): return (0); /* read at $1932 and stored in ram before +0x5b0 bit 15 tested */
|
||||
|
||||
/*********************************************************************
|
||||
700-7ff - Non-protection reads
|
||||
*********************************************************************/
|
||||
700-7ff - Non-protection reads
|
||||
*********************************************************************/
|
||||
|
||||
/* Seibu Sound System */
|
||||
case (0x7c8/2): return seibu_main_word_r(machine,2,0);
|
||||
@ -1044,8 +1044,8 @@ WRITE16_HANDLER( heatbrl_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
case (0x420/2): { prot_bcd[0] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
case (0x422/2): { prot_bcd[1] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
@ -1150,8 +1150,8 @@ WRITE16_HANDLER( heatbrl_mcu_w )
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
600-6ff - Video Registers
|
||||
*********************************************************************/
|
||||
600-6ff - Video Registers
|
||||
*********************************************************************/
|
||||
|
||||
// 65a bit 0 is flipscreen
|
||||
// 65c probably layer disables, like Dcon? Used on screen when you press P1-4 start (values 13, 11, 0 seen)
|
||||
@ -1164,8 +1164,8 @@ WRITE16_HANDLER( heatbrl_mcu_w )
|
||||
case (0x66a/2): { legionna_scrollram16[5] = cop_mcu_ram[offset]; break; }
|
||||
|
||||
/*********************************************************************
|
||||
700-7ff - Output (Seibu Sound System)
|
||||
*********************************************************************/
|
||||
700-7ff - Output (Seibu Sound System)
|
||||
*********************************************************************/
|
||||
|
||||
case (0x7c0/2): { seibu_main_word_w(machine,0,cop_mcu_ram[offset],0xff00); break; }
|
||||
case (0x7c4/2): { seibu_main_word_w(machine,1,cop_mcu_ram[offset],0xff00); break; }
|
||||
@ -1236,8 +1236,8 @@ WRITE16_HANDLER( sdgndmrb_cop_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
case (0x40c/2): { dma_size = cop_mcu_ram[offset]; break; }
|
||||
|
||||
@ -1498,8 +1498,8 @@ WRITE16_HANDLER( denjinmk_cop_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
case (0x420/2): { prot_bcd[0] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
case (0x422/2): { prot_bcd[1] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
@ -1576,8 +1576,8 @@ WRITE16_HANDLER( godzilla_cop_mcu_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
case (0x420/2): { prot_bcd[0] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
case (0x422/2): { prot_bcd[1] = protection_bcd_jsr(cop_mcu_ram[offset]); break; }
|
||||
@ -1745,8 +1745,8 @@ WRITE16_HANDLER( copdx_0_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
case (0x432/2): { copd2_set_tabledata(data, machine); break; }
|
||||
case (0x434/2): { copd2_set_tableoffset(data, machine); break; }
|
||||
@ -1899,8 +1899,8 @@ WRITE16_HANDLER( copdxbl_0_w )
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
400-5ff - Protection writes
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
case (0x4a0/2):
|
||||
|
@ -527,7 +527,7 @@ static void aerfboot_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
|
||||
{
|
||||
int attr_start,last;
|
||||
|
||||
last = ((aerofgt_rasterram[0x404/2] << 5) - 0x8000) / 2;
|
||||
last = ((aerofgt_rasterram[0x404/2] << 5) - 0x8000) / 2;
|
||||
|
||||
for (attr_start = aerofgt_spriteram3_size / 2 - 4 ; attr_start >= last ; attr_start -= 4)
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ Forgotten Worlds / Lost Worlds 1988 88618B-2 LWCHR LWI
|
||||
Ghouls 'n Ghosts (World / US) 1988 88620B-2 DM620 LWIO None CPS-B-01 DL-0411-10001 None
|
||||
(alt B-board revision - Japan) 88622B-2 DM22A LWIO 88622-C-1 CPS-B-01 DL-0411-10001 None
|
||||
Strider 1989 89624B-2 ST24M1 LWIO 88622-C-1 CPS-B-01 DL-0411-10001 None
|
||||
(alt B-board version) 89624B-3 ST24B2 LWIO
|
||||
(alt B-board version) 89624B-3 ST24B2 LWIO
|
||||
(alt B-board revision) ? ST22B ?
|
||||
Dynasty Wars 1989 ? ? ? CPS-B-02 DL-0411-10002
|
||||
Willow 1989 89624B-3 WL24B LWIO 88622-C-4 CPS-B-03 DL-0411-10003 None
|
||||
@ -43,14 +43,14 @@ Nemo 1990 89624B-3 NM24B IOB
|
||||
Carrier Air Wing / U.S. Navy 1990 89624B-3 CA24B IOB1 88622-C-5 CPS-B-16 DL-0411-10011 None
|
||||
(alt B-board revision) 89625B-1 CA22B
|
||||
Street Fighter II (910214) 1991 ? STF29 IOB1 90632C-1 CPS-B-17 DL-0411-10012 C632
|
||||
Street Fighter II (US 910206) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (US 910206) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (US 910228) CPS-B-18 ?
|
||||
Street Fighter II (Japan 910306) CPS-B-12 DL-0411-10007
|
||||
Street Fighter II (US 910318) CPS-B-05 DL-0411-10006
|
||||
Street Fighter II (US 910411) CPS-B-15 DL-0411-10010
|
||||
Street Fighter II (World 910522) CPS-B-11 DL-0411-10004
|
||||
Street Fighter II (US 910522) CPS-B-14 DL-0411-10009
|
||||
Street Fighter II (US 911101) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (US 911101) CPS-B-17 DL-0411-10012
|
||||
Street Fighter II (Japan 911210) CPS-B-13 DL-0411-10008
|
||||
Three Wonders* 1991 89624B-3 RT24B IOB1 90630C-4 CPS-B-21 DL-0921-10014 IOC1
|
||||
(alt B-board revision) 89625B-1 RT22B IOB1
|
||||
@ -138,7 +138,7 @@ OUTPUT PORTS
|
||||
|
||||
TODO:
|
||||
the scroll2/scroll3 disable bits are supported by the emulation,
|
||||
while the scroll1 weird effect is not (it doesn't seem to make a
|
||||
while the scroll1 weird effect is not (it doesn't seem to make a
|
||||
difference on any game).
|
||||
|
||||
|
||||
@ -181,7 +181,7 @@ Some registers move from game to game.. following example strider
|
||||
bit 5: copy page 5 (stars2)
|
||||
|
||||
An important quirk is that if bit 0 is not set (sprite page is not copied)
|
||||
page 0 in gfxram is not skipped but instead is copied to page 1; that is,
|
||||
page 0 in gfxram is not skipped but instead is copied to page 1; that is,
|
||||
all pages are moved down by one. For the other pages, if the bit is not
|
||||
set the gfxram page is skipped.
|
||||
|
||||
@ -1270,13 +1270,13 @@ if (cps1_game_config->priority[0] && offset == cps1_game_config->priority[0]/2 &
|
||||
}
|
||||
|
||||
/*
|
||||
The main CPU writes the palette to gfxram, and the CPS-B custom copies it
|
||||
to the real palette RAM, which is separated from gfxram.
|
||||
This is done ONLY after the palette base register is written to. It is not
|
||||
known what the exact timing should be, how long it should take and when it
|
||||
should happen. We are assuming that the copy happens immediately, since it
|
||||
fixes glitches in the ghouls intro, but it might happen at next vblank.
|
||||
*/
|
||||
The main CPU writes the palette to gfxram, and the CPS-B custom copies it
|
||||
to the real palette RAM, which is separated from gfxram.
|
||||
This is done ONLY after the palette base register is written to. It is not
|
||||
known what the exact timing should be, how long it should take and when it
|
||||
should happen. We are assuming that the copy happens immediately, since it
|
||||
fixes glitches in the ghouls intro, but it might happen at next vblank.
|
||||
*/
|
||||
if (offset == CPS1_PALETTE_BASE/2)
|
||||
cps1_build_palette(machine, cps1_base(CPS1_PALETTE_BASE,cps1_palette_align));
|
||||
}
|
||||
@ -1535,7 +1535,7 @@ static int gfxrom_bank_mapper(running_machine *machine, int type, int code)
|
||||
}
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("tile %02x/%04x out of range", type,code>>shift);
|
||||
// popmessage("tile %02x/%04x out of range", type,code>>shift);
|
||||
#endif
|
||||
|
||||
return -1;
|
||||
@ -1577,8 +1577,8 @@ static TILE_GET_INFO( get_tile0_info )
|
||||
code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL1, code);
|
||||
|
||||
/* allows us to reproduce a problem seen with a ffight board where USA and Japanese
|
||||
roms have been mixed to be reproduced (ffightua) -- it looks like each column
|
||||
should alternate between the left and right side of the 16x16 tiles */
|
||||
roms have been mixed to be reproduced (ffightua) -- it looks like each column
|
||||
should alternate between the left and right side of the 16x16 tiles */
|
||||
gfxset = (tile_index & 0x20) >> 5;
|
||||
|
||||
SET_TILE_INFO(
|
||||
@ -1734,10 +1734,10 @@ static void cps1_build_palette(running_machine *machine, const UINT16* const pal
|
||||
int ctrl = cps1_port(cps1_game_config->palette_control);
|
||||
|
||||
/*
|
||||
The palette is copied only for pages that are enabled in the ctrl
|
||||
register. Note that if the sprite palette (page 0) is skipped, the
|
||||
all the following pages are scaled down by one.
|
||||
*/
|
||||
The palette is copied only for pages that are enabled in the ctrl
|
||||
register. Note that if the sprite palette (page 0) is skipped, the
|
||||
all the following pages are scaled down by one.
|
||||
*/
|
||||
for (page = 0; page < 6; ++page)
|
||||
{
|
||||
if (BIT(ctrl,page))
|
||||
|
@ -390,7 +390,7 @@ static void pdraw_tile(running_machine *machine,
|
||||
if (pri[x] <= priority)
|
||||
{
|
||||
int c = source[x_index>>16];
|
||||
dest[x] = pal_base + c;
|
||||
dest[x] = pal_base + c;
|
||||
}
|
||||
|
||||
pri[x] = 0xff;
|
||||
@ -624,7 +624,7 @@ static void draw_background(running_machine *machine, bitmap_t *bitmap, const re
|
||||
tilemap_set_scrollx( bg_tilemap[which], 0, scrollx );
|
||||
tilemap_set_scrolly( bg_tilemap[which], 0, scrolly );
|
||||
tilemap_draw_primask( bitmap, &clip, bg_tilemap[which], 0, primask, 0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -660,7 +660,7 @@ VIDEO_UPDATE( namcona1 )
|
||||
} /* next tilemap */
|
||||
fillbitmap( priority_bitmap,0,cliprect );
|
||||
|
||||
// It fixes bg in emeralda
|
||||
// It fixes bg in emeralda
|
||||
fillbitmap( bitmap,/* 0 */ 0xff,cliprect );
|
||||
|
||||
for( priority = 0; priority<8; priority++ )
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.124u1 ("__DATE__")";
|
||||
const char build_version[] = "0.124u2 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user