Cleanups and version bump.

This commit is contained in:
Aaron Giles 2011-03-25 16:14:09 +00:00
parent e9fc65db48
commit fb5091182e
58 changed files with 405 additions and 404 deletions

View File

@ -184,7 +184,7 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
throw emu_fatalerror(MAMERR_INVALID_CONFIG, "%s", option_errors.trimspace().cstr());
if (option_errors)
printf("Error in command line:\n%s\n", option_errors.trimspace().cstr());
// determine the base name of the EXE
astring exename;
core_filename_extract_base(&exename, argv[0], TRUE);
@ -192,7 +192,7 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
// if we have a command, execute that
if (strlen(options.command()) != 0)
execute_commands(options, exename);
// otherwise, check for a valid system
else
{
@ -200,19 +200,19 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
const game_driver *system = options.system();
if (system == NULL && strlen(options.system_name()) > 0)
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "Unknown system '%s'", options.system_name());
// otherwise just run the game
result = mame_execute(options, osd);
}
}
// handle exceptions of various types
catch (emu_fatalerror &fatal)
{
astring string(fatal.string());
fprintf(stderr, "%s\n", string.trimspace().cstr());
result = (fatal.exitcode() != 0) ? fatal.exitcode() : MAMERR_FATALERROR;
// if a game was specified, wasn't a wildcard, and our error indicates this was the
// reason for failure, offer some suggestions
if (result == MAMERR_NO_SUCH_GAME && strlen(options.system_name()) > 0 && strchr(options.system_name(), '*') == NULL && options.system() == NULL)
@ -228,7 +228,7 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
fprintf(stderr, "Out of memory!\n");
result = MAMERR_FATALERROR;
}
// handle any other exceptions
catch (...)
{
@ -378,7 +378,7 @@ void cli_info_listxml(emu_options &options, const char *gamename)
/*-------------------------------------------------
cli_info_listfull - output the name and
cli_info_listfull - output the name and
description of one or more games
-------------------------------------------------*/

View File

@ -361,8 +361,8 @@ static const UINT8 cycles1[] =
};
static void (*const m6809_main[0x100])(m68_state_t *) = {
/* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7,
0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */
/* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7,
0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */
/* 0x0X */ neg_di, neg_di, com_di, com_di, lsr_di, lsr_di, ror_di, asr_di,
asl_di, rol_di, dec_di, dec_di, inc_di, tst_di, jmp_di, clr_di,

View File

@ -343,7 +343,7 @@ void devcb_resolve_write8(devcb_resolved_write8 *resolved, const devcb_write8 *c
resolved->target = device->owner();
else
resolved->target = device->siblingdevice(config->tag);
if (resolved->target == NULL)
fatalerror("devcb_resolve_write8: unable to find device '%s' (requested by %s '%s')", config->tag, device->name(), device->tag());

View File

@ -264,7 +264,7 @@ void emu_options::remove_device_options()
{
// pre-fetch the next entry in case we delete this one
nextentry = curentry->next();
// if this is a device option, nuke it
if ((curentry->flags() & OPTION_FLAG_DEVICE) != 0)
remove_entry(*curentry);
@ -281,15 +281,15 @@ bool emu_options::parse_command_line(int argc, char *argv[], astring &error_stri
{
// remember the original system name
astring old_system_name(system_name());
// parse as normal
bool result = core_options::parse_command_line(argc, argv, OPTION_PRIORITY_CMDLINE, error_string);
// if the system name changed, fix up the device options
if (old_system_name != system_name())
{
add_device_options();
// if we failed the first time, try parsing again with the new options in place
if (!result)
result = core_options::parse_command_line(argc, argv, OPTION_PRIORITY_CMDLINE, error_string);
@ -379,7 +379,7 @@ void emu_options::set_system_name(const char *name)
{
// remember the original system name
astring old_system_name(system_name());
// if the system name changed, fix up the device options
if (old_system_name != name)
{
@ -395,7 +395,7 @@ void emu_options::set_system_name(const char *name)
//-------------------------------------------------
// device_option - return the value of the
// device_option - return the value of the
// device-specific option
//-------------------------------------------------

View File

@ -54,7 +54,7 @@ enum
{
// command-line options are HIGH priority
OPTION_PRIORITY_CMDLINE = OPTION_PRIORITY_HIGH,
// INI-based options are NORMAL priority, in increasing order:
OPTION_PRIORITY_INI = OPTION_PRIORITY_NORMAL,
OPTION_PRIORITY_MAME_INI,
@ -216,7 +216,7 @@ public:
const char *system_name() const { return value(OPTION_SYSTEMNAME); }
const game_driver *system() const;
void set_system_name(const char *name);
// core configuration options
bool read_config() const { return bool_value(OPTION_READCONFIG); }
bool write_config() const { return bool_value(OPTION_WRITECONFIG); }
@ -334,7 +334,7 @@ public:
bool skip_gameinfo() const { return bool_value(OPTION_SKIP_GAMEINFO); }
const char *ui_font() const { return value(OPTION_UI_FONT); }
const char *ram_size() const { return value(OPTION_RAMSIZE); }
// device-specific options
const char *device_option(device_image_interface &image);
@ -344,7 +344,7 @@ private:
void remove_device_options();
// INI parsing helper
bool parse_one_ini(const char *basename, int priority, astring *error_string = NULL);
bool parse_one_ini(const char *basename, int priority, astring *error_string = NULL);
static const options_entry s_option_entries[];
};

View File

@ -80,7 +80,7 @@ bool path_iterator::next(astring &buffer, const char *name)
semi = m_current + strlen(m_current);
buffer.cpy(m_current, semi - m_current);
m_current = (*semi == 0) ? semi : semi + 1;
// append the name if we have one
if (name != NULL)
{

View File

@ -156,7 +156,7 @@ static int write_config(emu_options &options, const char *filename, const game_d
static void image_options_extract(running_machine *machine)
{
/* only extract the device options if we've added them */
// if (machine->options().bool_value(OPTION_ADDED_DEVICE_OPTIONS))
// if (machine->options().bool_value(OPTION_ADDED_DEVICE_OPTIONS))
{
int index = 0;
device_image_interface *image = NULL;

View File

@ -1498,8 +1498,8 @@ const input_type_desc *input_type_list(running_machine *machine)
/*-------------------------------------------------
input_port_exists - return whether an input
port exists
input_port_exists - return whether an input
port exists
-------------------------------------------------*/
bool input_port_exists(running_machine *machine, const char *tag)
@ -1509,9 +1509,9 @@ bool input_port_exists(running_machine *machine, const char *tag)
/*-------------------------------------------------
input_port_active - return a bitmask of which
bits of an input port are active (i.e. not
unused or unknown)
input_port_active - return a bitmask of which
bits of an input port are active (i.e. not
unused or unknown)
-------------------------------------------------*/
input_port_value input_port_active(running_machine *machine, const char *tag)
@ -1524,10 +1524,10 @@ input_port_value input_port_active(running_machine *machine, const char *tag)
/*-------------------------------------------------
input_port_active_safe - return a bitmask of
which bits of an input port are active (i.e.
not unused or unknown), or a default value if
the port does not exist
input_port_active_safe - return a bitmask of
which bits of an input port are active (i.e.
not unused or unknown), or a default value if
the port does not exist
-------------------------------------------------*/
input_port_value input_port_active_safe(running_machine *machine, const char *tag, input_port_value defvalue)
@ -2933,7 +2933,7 @@ static int frame_get_digital_field_state(const input_field_config *field, int mo
/*-------------------------------------------------
port_default_value - updates default value
of port settings according to device settings
of port settings according to device settings
-------------------------------------------------*/
static UINT32 port_default_value(const char *fulltag, UINT32 mask, UINT32 defval, device_config *owner)
@ -3433,7 +3433,7 @@ static void port_config_detokenize(ioport_list &portlist, const input_port_token
TOKEN_GET_UINT64_UNPACK2(ipt, mask, 32, defval, 32);
if (curfield != NULL)
field_config_insert(curfield, &maskbits, errorbuf, errorbuflen);
defval = port_default_value(fulltag,mask,defval,owner);
defval = port_default_value(fulltag,mask,defval,owner);
curfield = field_config_alloc(curport, IPT_DIPSWITCH, defval, mask);
cursetting = NULL;
curfield->name = input_port_string_from_token(*ipt++);
@ -3512,7 +3512,7 @@ static void port_config_detokenize(ioport_list &portlist, const input_port_token
TOKEN_GET_UINT64_UNPACK2(ipt, mask, 32, defval, 32);
if (curfield != NULL)
field_config_insert(curfield, &maskbits, errorbuf, errorbuflen);
defval = port_default_value(fulltag,mask,defval,owner);
defval = port_default_value(fulltag,mask,defval,owner);
curfield = field_config_alloc(curport, IPT_CONFIG, defval, mask);
cursetting = NULL;
curfield->name = input_port_string_from_token(*ipt++);

View File

@ -163,7 +163,7 @@ int mame_execute(emu_options &options, osd_interface &osd)
}
// otherwise, perform validity checks before anything else
else
else
validate_drivers(options, system);
firstgame = false;

View File

@ -101,7 +101,7 @@ core_options::entry::entry(const options_entry &entrylist)
m_maximum.cpysubstr(namestr, dash + 1, rparen - (dash + 1)).trimspace();
namestr.del(lparen, rparen + 1 - lparen);
}
// then chop up any semicolon-separated names
int semi;
int nameindex = 0;
@ -110,12 +110,12 @@ core_options::entry::entry(const options_entry &entrylist)
m_name[nameindex++].cpysubstr(namestr, 0, semi);
namestr.del(0, semi + 1);
}
// finally add the last item
if (nameindex < ARRAY_LENGTH(m_name))
m_name[nameindex++] = namestr;
}
// set the default value
if (entrylist.defvalue != NULL)
m_defdata = entrylist.defvalue;
@ -271,7 +271,7 @@ bool core_options::operator!=(const core_options &rhs)
//-------------------------------------------------
// add_entries - add entries to the current
// add_entries - add entries to the current
// options sets
//-------------------------------------------------
@ -291,7 +291,7 @@ void core_options::add_entries(const options_entry *entrylist, bool override_exi
// if we're overriding existing entries, then remove the old one
if (override_existing)
remove_entry(*existing);
// otherwise, just override the default and current values and throw out the new entry
else
{
@ -301,7 +301,7 @@ void core_options::add_entries(const options_entry *entrylist, bool override_exi
}
}
}
// add us to the list and maps
append_entry(*newentry);
}
@ -309,7 +309,7 @@ void core_options::add_entries(const options_entry *entrylist, bool override_exi
//-------------------------------------------------
// set_default_value - change the default value
// set_default_value - change the default value
// of an option
//-------------------------------------------------
@ -319,14 +319,14 @@ void core_options::set_default_value(const char *name, const char *defvalue)
entry *curentry = m_entrymap.find(name);
if (curentry == NULL)
return;
// update the data and default data
curentry->set_default_value(defvalue);
}
//-------------------------------------------------
// parse_command_line - parse a series of
// parse_command_line - parse a series of
// command line arguments
//-------------------------------------------------
@ -352,7 +352,7 @@ bool core_options::parse_command_line(int argc, char **argv, int priority, astri
error_string.catprintf("Error: unknown option: %s\n", curarg);
return false;
}
// process commands first
if (curentry->type() == OPTION_COMMAND)
{
@ -388,7 +388,7 @@ bool core_options::parse_command_line(int argc, char **argv, int priority, astri
//-------------------------------------------------
// parse_ini_file - parse a series of entries in
// parse_ini_file - parse a series of entries in
// an INI file
//-------------------------------------------------
@ -453,7 +453,7 @@ bool core_options::parse_ini_file(core_file &inifile, int priority, int ignore_p
//-------------------------------------------------
// revert - revert options at or below a certain
// revert - revert options at or below a certain
// priority back to their defaults
//-------------------------------------------------
@ -519,7 +519,7 @@ const char *core_options::output_help(astring &buffer)
{
// start empty
buffer.reset();
// loop over all items
for (entry *curentry = m_entrylist; curentry != NULL; curentry = curentry->next())
{
@ -570,7 +570,7 @@ bool core_options::set_value(const char *name, const char *value, int priority,
error_string.catprintf("Attempted to set unknown option %s\n", name);
return false;
}
// validate and set the item normally
return validate_and_set_data(*curentry, value, priority, error_string);
}
@ -600,14 +600,14 @@ void core_options::reset()
// remove all entries from the list
while (m_entrylist != NULL)
remove_entry(*m_entrylist);
// reset the map
m_entrymap.reset();
}
//-------------------------------------------------
// append_entry - append an entry to our list
// append_entry - append an entry to our list
// and index it in the map
//-------------------------------------------------
@ -623,7 +623,7 @@ void core_options::append_entry(core_options::entry &newentry)
if (newentry.m_name[name])
{
m_entrymap.add(newentry.m_name[name], &newentry);
// for boolean options add a "no" variant as well
if (newentry.type() == OPTION_BOOLEAN)
m_entrymap.add(tempstr.cpy("no").cat(newentry.m_name[name]), &newentry);
@ -632,7 +632,7 @@ void core_options::append_entry(core_options::entry &newentry)
//-------------------------------------------------
// remove_entry - remove an entry from our list
// remove_entry - remove an entry from our list
// and map
//-------------------------------------------------
@ -648,7 +648,7 @@ void core_options::remove_entry(core_options::entry &delentry)
preventry->m_next = delentry.m_next;
else
m_entrylist = delentry.m_next;
// if we're the last item, update the next pointer
if (delentry.m_next == NULL)
{
@ -675,7 +675,7 @@ void core_options::copyfrom(const core_options &src)
{
// reset ourselves first
reset();
// iterate through the src options and make our own
for (entry *curentry = src.m_entrylist; curentry != NULL; curentry = curentry->next())
append_entry(*new entry(*curentry));
@ -693,14 +693,14 @@ bool core_options::validate_and_set_data(core_options::entry &curentry, const ch
// trim any whitespace
astring data(newdata);
data.trimspace();
// trim quotes
if (data.chr(0, '"') == 0 && data.rchr(0, '"') == data.len() - 1)
{
data.del(0, 1);
data.del(data.len() - 1, 1);
}
// validate the type of data and optionally the range
float fval;
int ival;
@ -714,7 +714,7 @@ bool core_options::validate_and_set_data(core_options::entry &curentry, const ch
return false;
}
break;
// integers must be integral
case OPTION_INTEGER:
if (sscanf(data, "%d", &ival) != 1)
@ -728,7 +728,7 @@ bool core_options::validate_and_set_data(core_options::entry &curentry, const ch
return false;
}
break;
// floating-point values must be numeric
case OPTION_FLOAT:
if (sscanf(data, "%f", &fval) != 1)
@ -742,11 +742,11 @@ bool core_options::validate_and_set_data(core_options::entry &curentry, const ch
return false;
}
break;
// strings can be anything
case OPTION_STRING:
break;
// anything else is invalid
case OPTION_INVALID:
case OPTION_HEADER:
@ -754,7 +754,7 @@ bool core_options::validate_and_set_data(core_options::entry &curentry, const ch
error_string.catprintf("Attempted to set invalid option %s\n", curentry.name());
return false;
}
// set the data
curentry.set_value(data, priority);
return true;

View File

@ -96,7 +96,7 @@ public:
class entry
{
friend class core_options;
// construction/destruction
entry(const options_entry &entry);
@ -143,16 +143,16 @@ public:
core_options(const options_entry *entrylist1, const options_entry *entrylist2, const options_entry *entrylist3);
core_options(const core_options &src);
virtual ~core_options();
// operators
core_options &operator=(const core_options &rhs);
bool operator==(const core_options &rhs);
bool operator!=(const core_options &rhs);
// getters
entry *first() const { return m_entrylist; }
const char *command() const { return m_command; }
// configuration
void add_entries(const options_entry *entrylist, bool override_existing = false);
void set_default_value(const char *name, const char *defvalue);
@ -181,7 +181,7 @@ public:
bool set_value(const char *name, const char *value, int priority, astring &error_string);
bool set_value(const char *name, int value, int priority, astring &error_string);
bool set_value(const char *name, float value, int priority, astring &error_string);
// misc
static const char *unadorned(int x = 0) { return s_option_unadorned[MIN(x, MAX_UNADORNED_OPTIONS)]; }
@ -195,9 +195,9 @@ private:
// internal state
entry * m_entrylist; // head of list of entries
entry ** m_entrylist_tailptr; // pointer to tail of entry list
tagmap_t<entry *> m_entrymap; // map for fast lookup
tagmap_t<entry *> m_entrymap; // map for fast lookup
astring m_command; // command found
static const char *const s_option_unadorned[]; // array of unadorned option "names"
static const char *const s_option_unadorned[]; // array of unadorned option "names"
};

View File

@ -131,5 +131,5 @@ DISCRETE_SOUND_END
WRITE8_HANDLER( catch_audio_w )
{
/* Different from avalnche, it plays a sound (offset 0/1/2) on data bit 0 rising edge.
There's no indication that the game silences sound, it's probably done automatically. */
There's no indication that the game silences sound, it's probably done automatically. */
}

View File

@ -5,44 +5,44 @@
Platform: Aristocrat 540 Video ( MK 2.5 Video / MK IV )
Driver by Palindrome & FraSher
***************** INITIALISATION *********************************************************************
***************** INITIALISATION *********************************************************************
Method 1 :
* Key in with the Jackpot Key followed by the Audit Key
* Press PB4, PB5 and PB6 keys simultaneously (Z+X+C keys by default)
* A value (displayed below) will appear next to RF/AMT on the right of the screen
* Key out both the Jackpot and Audit Keys
Method 1 :
* Key in with the Jackpot Key followed by the Audit Key
* Press PB4, PB5 and PB6 keys simultaneously (Z+X+C keys by default)
* A value (displayed below) will appear next to RF/AMT on the right of the screen
* Key out both the Jackpot and Audit Keys
This method works with the following games:
3bagflnz 200
3bagflvt 200
autmoon 200
blkrhino 200
coralr2 200
eforesta 200
eforestb 200
ffortune 200
gldnpkr 400
goldenc 200
gtroppo 500
kgbird 200
kgbirda 200
phantomp 200
swtht2nz 200
wildone 200
wtigernz 200
This method works with the following games:
3bagflnz 200
3bagflvt 200
autmoon 200
blkrhino 200
coralr2 200
eforesta 200
eforestb 200
ffortune 200
gldnpkr 400
goldenc 200
gtroppo 500
kgbird 200
kgbirda 200
phantomp 200
swtht2nz 200
wildone 200
wtigernz 200
Method 2 :
* Key in with the Jackpot Key followed by the Audit Key
* Press PB4, PB5 and PB6 keys simultaneously (Z+X+C keys by default)
* This will enter the cashcade screen and increment $100 to the maximum
* Press PLAY 2 LINES [BET 2 is erroneously displayed on the screen] to increment the minimum cashcade value by $5
(optionally, you can decrement with the PLAY 1 LINE [BET 1] button, but you must first increment the $5 to start with above or the game won't initialise)
* A value (displayed below) will appear on the right as RF/AMT when you key in again (not visible until you key out and back in again with the Audit Key)
* Key out both the Jackpot and Audit Keys
Method 2 :
* Key in with the Jackpot Key followed by the Audit Key
* Press PB4, PB5 and PB6 keys simultaneously (Z+X+C keys by default)
* This will enter the cashcade screen and increment $100 to the maximum
* Press PLAY 2 LINES [BET 2 is erroneously displayed on the screen] to increment the minimum cashcade value by $5
(optionally, you can decrement with the PLAY 1 LINE [BET 1] button, but you must first increment the $5 to start with above or the game won't initialise)
* A value (displayed below) will appear on the right as RF/AMT when you key in again (not visible until you key out and back in again with the Audit Key)
* Key out both the Jackpot and Audit Keys
This method works with the following games:
topgear 500
This method works with the following games:
topgear 500
Technical Notes:
@ -143,9 +143,9 @@
9.When DIP SW7 is set to off/off, speed is dramatically reduced.
10. rewrite video emulation by using custom drawing code.
10. rewrite video emulation by using custom drawing code.
11. check what type of mc6845 this HW uses on real PCB, and hook it up properly.
11. check what type of mc6845 this HW uses on real PCB, and hook it up properly.
***************** POKER GAMES ************************************************************************

View File

@ -890,7 +890,7 @@ static INPUT_PORTS_START( spacezap )
PORT_START("FAKE")
/* Dedicated cabinets had a B/W monitor and color overlay,
some (unofficial/repaired?) cabinets had a color monitor. */
some (unofficial/repaired?) cabinets had a color monitor. */
PORT_CONFNAME( 0x01, 0x00, "Monitor" ) PORT_CHANGED(spacezap_monitor, 0)
PORT_CONFSETTING( 0x00, "B/W" )
PORT_CONFSETTING( 0x01, "Color" )

View File

@ -37,7 +37,7 @@ REF. 020419
| TL074C TL074C 385-1 |
| TDA1387 TDA1387 14.31818MHz |
| |
|--------------------------------------------------------------|
|--------------------------------------------------------------|
Notes:
SH4 - Hitachi HD6417750S SH4 CPU (BGA)
K4S643232 - Samsung K4S643232E-TC70 64M x 32-bit SDRAM (TSSOP86)
@ -53,7 +53,7 @@ Notes:
CN1 - Multi-pin connector for filter board (input power & controls connectors etc)
DB9 - Video output connector (for twin monitors)
SW3 - Push button switch
*/
#include "emu.h"

View File

@ -138,7 +138,7 @@ static ADDRESS_MAP_START( catch_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE("discrete", avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE("discrete", avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
AM_RANGE(0x4003, 0x4003) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_2_lamp_w)
AM_RANGE(0x4004, 0x4006) AM_MIRROR(0x0ff8) AM_WRITE(catch_audio_w)
@ -301,30 +301,30 @@ MACHINE_CONFIG_END
ROM_START( avalnche )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD_NIB_HIGH( "30612.d2", 0x6800, 0x0800, CRC(3f975171) SHA1(afe680865da97824f1ebade4c7a2ba5d7ee2cbab) )
ROM_LOAD_NIB_LOW ( "30615.d3", 0x6800, 0x0800, CRC(3e1a86b4) SHA1(3ff4cffea5b7a32231c0996473158f24c3bbe107) )
ROM_LOAD_NIB_HIGH( "30613.e2", 0x7000, 0x0800, CRC(47a224d3) SHA1(9feb7444a2e5a3d90a4fe78ae5d23c3a5039bfaa) )
ROM_LOAD_NIB_LOW ( "30616.e3", 0x7000, 0x0800, CRC(f620f0f8) SHA1(7802b399b3469fc840796c3145b5f63781090956) )
ROM_LOAD_NIB_HIGH( "30611.c2", 0x7800, 0x0800, CRC(0ad07f85) SHA1(5a1a873b14e63dbb69ee3686ba53f7ca831fe9d0) )
ROM_LOAD_NIB_LOW ( "30614.c3", 0x7800, 0x0800, CRC(a12d5d64) SHA1(1647d7416bf9266d07f066d3797bda943e004d24) )
ROM_LOAD_NIB_HIGH( "30612.d2", 0x6800, 0x0800, CRC(3f975171) SHA1(afe680865da97824f1ebade4c7a2ba5d7ee2cbab) )
ROM_LOAD_NIB_LOW ( "30615.d3", 0x6800, 0x0800, CRC(3e1a86b4) SHA1(3ff4cffea5b7a32231c0996473158f24c3bbe107) )
ROM_LOAD_NIB_HIGH( "30613.e2", 0x7000, 0x0800, CRC(47a224d3) SHA1(9feb7444a2e5a3d90a4fe78ae5d23c3a5039bfaa) )
ROM_LOAD_NIB_LOW ( "30616.e3", 0x7000, 0x0800, CRC(f620f0f8) SHA1(7802b399b3469fc840796c3145b5f63781090956) )
ROM_LOAD_NIB_HIGH( "30611.c2", 0x7800, 0x0800, CRC(0ad07f85) SHA1(5a1a873b14e63dbb69ee3686ba53f7ca831fe9d0) )
ROM_LOAD_NIB_LOW ( "30614.c3", 0x7800, 0x0800, CRC(a12d5d64) SHA1(1647d7416bf9266d07f066d3797bda943e004d24) )
ROM_END
ROM_START( cascade )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "10005.1a", 0x6800, 0x0400, CRC(54774594) SHA1(03e013b563675fb8a30bd69836466a353db9bfc7) )
ROM_LOAD( "10005.1b", 0x6c00, 0x0400, CRC(fd9575ad) SHA1(ed0a1343d3c0456d458561256d5ee966b6c213f4) )
ROM_LOAD( "10005.2a", 0x7000, 0x0400, CRC(12857c75) SHA1(e42fdee70bd19d6f60e88f106a49dbbd68c591cd) )
ROM_LOAD( "10005.2b", 0x7400, 0x0400, CRC(26361698) SHA1(587cc6f0dc068a74aac41c2cb3336d70d2dd91e5) )
ROM_LOAD( "10005.3a", 0x7800, 0x0400, CRC(d1f422ff) SHA1(65ecbf0a22ba340d6a1768ed029030bac9c19e0f) )
ROM_LOAD( "10005.3b", 0x7c00, 0x0400, CRC(bb243d96) SHA1(3a387a8c50cd9b0db37d12b94dc9e260892dbf21) )
ROM_LOAD( "10005.1a", 0x6800, 0x0400, CRC(54774594) SHA1(03e013b563675fb8a30bd69836466a353db9bfc7) )
ROM_LOAD( "10005.1b", 0x6c00, 0x0400, CRC(fd9575ad) SHA1(ed0a1343d3c0456d458561256d5ee966b6c213f4) )
ROM_LOAD( "10005.2a", 0x7000, 0x0400, CRC(12857c75) SHA1(e42fdee70bd19d6f60e88f106a49dbbd68c591cd) )
ROM_LOAD( "10005.2b", 0x7400, 0x0400, CRC(26361698) SHA1(587cc6f0dc068a74aac41c2cb3336d70d2dd91e5) )
ROM_LOAD( "10005.3a", 0x7800, 0x0400, CRC(d1f422ff) SHA1(65ecbf0a22ba340d6a1768ed029030bac9c19e0f) )
ROM_LOAD( "10005.3b", 0x7c00, 0x0400, CRC(bb243d96) SHA1(3a387a8c50cd9b0db37d12b94dc9e260892dbf21) )
ROM_END
ROM_START( catchp )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD_NIB_HIGH( "catch.e2", 0x7000, 0x0800, CRC(ce1911ef) SHA1(1237b3e2c69342d2cccc8a3a9303f1b39b66e927) ) // n82s185
ROM_LOAD_NIB_LOW ( "catch.e3", 0x7000, 0x0800, CRC(32bf254a) SHA1(22920d43beb2f21c0862c3675a4ee3e230d889b2) ) // "
ROM_LOAD_NIB_HIGH( "catch.d2", 0x7800, 0x0800, CRC(404a9551) SHA1(1e966ebb6e08e86e858146fe6c070e96b80171f8) ) // "
ROM_LOAD_NIB_LOW ( "catch.d3", 0x7800, 0x0800, CRC(fde4dd73) SHA1(bc6fbfed8099865bef35b4c3061c7f5541bcec23) ) // "
ROM_LOAD_NIB_HIGH( "catch.e2", 0x7000, 0x0800, CRC(ce1911ef) SHA1(1237b3e2c69342d2cccc8a3a9303f1b39b66e927) ) // n82s185
ROM_LOAD_NIB_LOW ( "catch.e3", 0x7000, 0x0800, CRC(32bf254a) SHA1(22920d43beb2f21c0862c3675a4ee3e230d889b2) ) // "
ROM_LOAD_NIB_HIGH( "catch.d2", 0x7800, 0x0800, CRC(404a9551) SHA1(1e966ebb6e08e86e858146fe6c070e96b80171f8) ) // "
ROM_LOAD_NIB_LOW ( "catch.d3", 0x7800, 0x0800, CRC(fde4dd73) SHA1(bc6fbfed8099865bef35b4c3061c7f5541bcec23) ) // "
ROM_REGION( 0x0200, "user1", 0 ) // ?
ROM_LOAD( "catch.k3", 0x0000, 0x0200, CRC(a0ffc6fc) SHA1(b5c1a170acbf490786ed6ecc582712c3d2a97f37) ) // n82s129

View File

@ -70,7 +70,7 @@ static VIDEO_START( backfire )
state->left = auto_bitmap_alloc(machine, 80*8, 32*8, BITMAP_FORMAT_INDEXED16);
state->right = auto_bitmap_alloc(machine, 80*8, 32*8, BITMAP_FORMAT_INDEXED16);
state->save_pointer(NAME(state->spriteram_1), 0x2000/2);
state->save_pointer(NAME(state->spriteram_2), 0x2000/2);

View File

@ -931,9 +931,9 @@ ROM_END
static DRIVER_INIT( bagman )
{
bagman_state *state = machine->driver_data<bagman_state>();
/* Unmap video enable register, not available on earlier hardware revision(s)
Bagman is supposed to have glitches during screen transitions */
Bagman is supposed to have glitches during screen transitions */
memory_unmap_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xa003, 0xa003, 0, 0);
*state->video_enable = 1;
}

View File

@ -53,13 +53,13 @@ Notes:
static ADDRESS_MAP_START( carjmbre_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
// AM_RANGE(0x8800, 0x8800) AM_READNOP // watchdog?
// AM_RANGE(0x8800, 0x8800) AM_READNOP // watchdog?
AM_RANGE(0x8803, 0x8803) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x8805, 0x8805) AM_WRITE(carjmbre_bgcolor_w) // guessed
AM_RANGE(0x8806, 0x8806) AM_WRITE(carjmbre_8806_w) // video related?
AM_RANGE(0x8807, 0x8807) AM_WRITE(carjmbre_flipscreen_w)
// AM_RANGE(0x8fc1, 0x8fc1) AM_WRITENOP // overrun during initial screen clear
// AM_RANGE(0x8fe1, 0x8fe1) AM_WRITENOP // overrun during initial screen clear
// AM_RANGE(0x8fc1, 0x8fc1) AM_WRITENOP // overrun during initial screen clear
// AM_RANGE(0x8fe1, 0x8fe1) AM_WRITENOP // overrun during initial screen clear
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(carjmbre_videoram_w) AM_BASE_MEMBER(carjmbre_state, videoram)
AM_RANGE(0x9800, 0x985f) AM_MIRROR(0x80) AM_WRITEONLY AM_BASE_SIZE_MEMBER(carjmbre_state, spriteram, spriteram_size)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")

View File

@ -1,5 +1,5 @@
/*
Chihiro is an Xbox-based arcade system from SEGA.
Games on this system include....
@ -39,28 +39,28 @@ Games on this system include....
* denotes these games are archived.
If you can help with the undumped games or know of missing Chihiro games, please contact...
http://guru.mameworld.info/ or http://www.mamedev.org
A Chihiro system consists of several boards.
The system is in 2 separate metal boxes that fit together to form one box.
A Chihiro system consists of several boards.
The system is in 2 separate metal boxes that fit together to form one box.
In order from top to bottom they are....
- Network board \
- Media board / Together in the top box
- Base board \
- Xbox board / Together in the bottom box
The 2 boxes join together via the Base Board upper connector and Media Board lower connector.
The Microsoft-manufactured XBox board is the lowest board. It's mostly the same as the V1 XBox retail
board with the exception that it has 128MB of RAM and a NVidia MCPX X2 chip. The retail XBox board has a
board with the exception that it has 128MB of RAM and a NVidia MCPX X2 chip. The retail XBox board has a
MCPX X3 chip. The board was probably released to Sega very early in development and the chip was updated
in the mass-produced retail version.
The Sega-manufactured base board is connected to the XBox board via a 40 pin 80-wire flat cable and a 16
pin 16-wire flat cable connects to the LPC header, plus a couple of thin multi-wire cables which join to the
The Sega-manufactured base board is connected to the XBox board via a 40 pin 80-wire flat cable and a 16
pin 16-wire flat cable connects to the LPC header, plus a couple of thin multi-wire cables which join to the
XBox game controller ports (USB1.1) and front panel connector.
On the reverse side of that board are the power output connectors going to the XBox board and a 100 pin
connector where the media board plugs in. A CR2032 coin battery is also located there and next to it are 6
On the reverse side of that board are the power output connectors going to the XBox board and a 100 pin
connector where the media board plugs in. A CR2032 coin battery is also located there and next to it are 6
jumpers....
JP3S 2-3 \
JP4S 1-2 |
@ -68,12 +68,12 @@ JP5S 1-2 |
JP6S 2-3 | These are connected to the USB chip on the other side of this board
JP7S 1-2 |
JP8S 2-3 /
A long connector on one edge connects to the filter board (power supply input etc) and on another edge are
connectors for VGA output, audio/video input (from a short cable coming from the A/V connector on the XBox board)
A long connector on one edge connects to the filter board (power supply input etc) and on another edge are
connectors for VGA output, audio/video input (from a short cable coming from the A/V connector on the XBox board)
and a 14 pin connector which is unused. The base board handles JVS and video output.
The upper part contains a Sega-manufactured media board with a TSOP48 flash ROM containing an xbox .xbe loader
(this is the Chihiro logo you see when you power the Chihiro) and there's a connector for a Sega network board.
(this is the Chihiro logo you see when you power the Chihiro) and there's a connector for a Sega network board.
The network board is 100% the same as the one in the Triforce v3 with the same firmware also.
The system requires one of the various Sega JVS I/O boards to operate.
@ -89,12 +89,12 @@ Media Board : One ST 29W160ET 2M x8-bit TSOP48 Flash ROM stamped 'FPR24042' at
Base Board : Two Microchip 24LC64 64k Serial EEPROMs at locations IC32 and IC10
One Microchip 24LC24 2k Serial EEPROM at location IC11
The chip at IC32 seems to be a backup of the base board firmware without region or serial.
The chip at IC11 has an unknown purpose. It contains some strings. The interesting thing is that it
The chip at IC11 has an unknown purpose. It contains some strings. The interesting thing is that it
contains the string SBJE. If you go to the system info menu and press the service button 16 times in a row
a message will be displayed: GAME ID SBJE
The chip at IC10 contains the firmware of the Base Board, serial number and REGION of the whole system.
The region is located at offset 0x00001F10. 01 is JAPAN, 02 is USA, 03 is EXPORT. If you want to change
the region of your Chihiro unit just change this byte.
The region is located at offset 0x00001F10. 01 is JAPAN, 02 is USA, 03 is EXPORT. If you want to change
the region of your Chihiro unit just change this byte.
Alternatively, if you have a netboot PIC, plug that in and power up with it.
1) Enter the test menu (push the test button)
2) Go to the System Information menu.
@ -103,7 +103,7 @@ Base Board : Two Microchip 24LC64 64k Serial EEPROMs at locations IC32 and IC
power on again.
Xbox Board : One Macronix 29F040TC-90 512k x8-bit TSOP32 Flash ROM at location U7D1
Board Layouts
=============
@ -173,7 +173,7 @@ Sticker: 837-14280-92
| 3771 CN5|
|-------------------------| CN15 |-----------------|
|--------------------|
Notes:
Notes:
(* these parts on other side of the PCB)
RV5C386A - I2C Bus Serial Interface Real-Time Clock IC with Voltage Monitoring Function (SSOP10)
24LC64 - Microchip 24LC64 64K I2C Serial EEPROM (SOIC8)
@ -283,13 +283,13 @@ Notes:
SW1/2 - test/service buttons
DIN1 - 96-pin connector joining to Base Board
DIPSW - 8-position DIP switch. On this game (Wangan Midnight Maximum Tune 2 Ver.B) DIPs 3, 4, 6, 7 & 8 are set ON. The others are OFF.
*/
/*
Dump info:
/*
Dump info:
Network Board Dump : Ver1305.bin
Media Board dump : FPR21042_M29W160ET.bin
Base Board Dumps : ic10_g24lc64.bin ic11_24lc024.bin pc20_g24lc64.bin

View File

@ -72,11 +72,11 @@
1x AY-3-8910 @ 2 MHz? (need clk confirmation).
1x empty socket (maybe an AY replacement?)
wih the following pinouts:
(28 pins)
Vcc +5v @ Pin 19
GND @ pins 6 & 16
Analog Channels @ Pins 1 y 5
Clock @ pin 15
(28 pins)
Vcc +5v @ Pin 19
GND @ pins 6 & 16
Analog Channels @ Pins 1 y 5
Clock @ pin 15
16x 8116 (16K x 1bit). DRAM Video (should be set as 32 KB).
1x 6116 (NVRAM)
@ -382,9 +382,9 @@ static READ8_HANDLER( blitter_status_r )
/* code checks bit 6 and/or bit 7 */
//return space->machine->rand() & 0xc0;
/*
x--- ---- blitter busy
-x-- ---- vblank
*/
x--- ---- blitter busy
-x-- ---- vblank
*/
return 0x80 | ((space->machine->primary_screen->vblank() & 1) << 6);
}
@ -518,7 +518,7 @@ static WRITE8_HANDLER( mux_port_w )
coin_counter_w(space->machine, 0, (data ^ 0xff) & 0x40); /* Credits In (mechanical meters) */
coin_counter_w(space->machine, 1, (data ^ 0xff) & 0x80); /* Credits Out (mechanical meters) */
// logerror("muxsel: %02x \n", input_selector);
// logerror("muxsel: %02x \n", input_selector);
}
static WRITE8_HANDLER( wc_meters_w )
@ -538,7 +538,7 @@ static WRITE8_HANDLER( wc_meters_w )
coin_counter_w(space->machine, 1, (data ^ 0xff) & 0x02); /* Credits In (through Coin 3) */
coin_counter_w(space->machine, 2, (data ^ 0xff) & 0x04); /* Credits Out */
// popmessage("meters: %02x", (data ^ 0xff));
// popmessage("meters: %02x", (data ^ 0xff));
}
static WRITE8_DEVICE_HANDLER(ay_port_a_out)
@ -569,9 +569,9 @@ static WRITE8_DEVICE_HANDLER(ay_port_b_out)
Writes: (begin) EF/D8 (00)
71 (FF/00)
DF (01)
DF (01)
71 (FF/00)
D8 (00....) --> snd_latch?
D8 (00....) --> snd_latch?
EF: meters.
Reads: E8/E9....EA/EB/EC/ED/EE
@ -625,14 +625,14 @@ ADDRESS_MAP_END
Reads:
F8 ---> DIP switches bank 1.
F9 ---> Controls for players A & B.
FA ---> Credits for players A, B, C, D.
FB ---> Single credits for players A, B, C, D, + fix bits 3, 4, 5, 6 in meters.
FD ---> Controls for players C & D.
FF ---> Unknown.
F9 ---> Controls for players A & B.
FA ---> Credits for players A, B, C, D.
FB ---> Single credits for players A, B, C, D, + fix bits 3, 4, 5, 6 in meters.
FD ---> Controls for players C & D.
FF ---> Unknown.
Writes:
FC ---> Meters.
FC ---> Meters.
FE ---> Sound Latch (writes 01, 02 and 03 during attract)...
*/
@ -1622,10 +1622,10 @@ ROM_END
2x Z80 @ 2MHz.
1x AY-3-8910 @ 2MHz.
18x22 pins Corona hardware.
Multiplexed inputs.
******************************/
ROM_START(rcirulet)
@ -1639,7 +1639,7 @@ ROM_START(rcirulet)
ROM_REGION( 0x0020, "proms", 0 ) /* color PROM */
ROM_LOAD( "rci_82s123_ic19_1b92.bin", 0x0000, 0x0020, CRC(051e5edc) SHA1(2305c056fa1fc21432189af12afb7d54c6569484) )
ROM_REGION( 0x0020, "proms2", 0 ) /* unknown from video */
ROM_LOAD( "rci_82s123_ic04_1f95.bin", 0x0000, 0x0020, CRC(3a6684b3) SHA1(c9461565a78f1024c6bd4088e4555f1a8020013b) )
ROM_END

View File

@ -707,7 +707,7 @@ static WRITE32_HANDLER( deco32_buffer_spriteram_w )
{
deco32_state *state = space->machine->driver_data<deco32_state>();
memcpy(state->spriteram16_buffered, state->spriteram16, 0x1000);
}
}
static READ32_HANDLER( deco32_spriteram2_r )
{
@ -727,7 +727,7 @@ static WRITE32_HANDLER( deco32_buffer_spriteram2_w )
{
deco32_state *state = space->machine->driver_data<deco32_state>();
memcpy(state->spriteram16_2_buffered, state->spriteram16_2, 0x1000);
}
}
// tattass tests these as 32-bit ram, even if only 16-bits are hooked up to the tilemap chip - does it mirror parts of the dword?
@ -745,7 +745,7 @@ static ADDRESS_MAP_START( captaven_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x108000, 0x108003) AM_WRITENOP /* ? */
AM_RANGE(0x110000, 0x111fff) AM_READWRITE(deco32_spriteram_r, deco32_spriteram_w)
AM_RANGE(0x120000, 0x127fff) AM_RAM AM_BASE_MEMBER(deco32_state, ram) /* Main RAM */
AM_RANGE(0x128000, 0x128fff) AM_READ(captaven_prot_r)
AM_RANGE(0x1280c8, 0x1280cb) AM_WRITE(deco32_sound_w)
AM_RANGE(0x130000, 0x131fff) AM_RAM_WRITE(deco32_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
@ -771,7 +771,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fghthist_map, ADDRESS_SPACE_PROGRAM, 32 )
// AM_RANGE(0x000000, 0x001fff) AM_ROM AM_WRITE(deco32_pf1_data_w) // wtf??
// AM_RANGE(0x000000, 0x001fff) AM_ROM AM_WRITE(deco32_pf1_data_w) // wtf??
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_BASE_MEMBER(deco32_state, ram)
AM_RANGE(0x120020, 0x12002f) AM_READ(fghthist_control_r)
@ -2112,7 +2112,7 @@ static MACHINE_CONFIG_START( tattass, deco32_state )
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
MCFG_SCREEN_SIZE(42*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE(nslasher)
MCFG_DECO16IC_ADD("deco_custom", tattass_deco16ic_intf)
@ -2122,7 +2122,7 @@ static MACHINE_CONFIG_START( tattass, deco32_state )
MCFG_DEVICE_ADD("spritegen2", decospr_, 0)
decospr_device_config::set_gfx_region(device, 4);
MCFG_GFXDECODE(tattass)
MCFG_PALETTE_LENGTH(2048)

View File

@ -227,7 +227,7 @@ static MACHINE_CONFIG_START( dietgo, dietgo_state )
MCFG_DECO16IC_ADD("deco_custom", dietgo_deco16ic_intf)
MCFG_DEVICE_ADD("spritegen", decospr_, 0)
decospr_device_config::set_gfx_region(device, 2);
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -577,22 +577,22 @@ ROM_START( sgnascar )
/* ROM board using 128M TSOP48 MASKROMs */
ROM_REGION( 0x10000000, "user2", ROMREGION_ERASE00)
ROM_LOAD( "mpr-23469.ic19", 0x0000000, 0x1000000, CRC(89cbad8d) SHA1(e4f103b96a3a842a90182172ddcf3bc5dfe6cca8) )
ROM_LOAD( "mpr-23473.ic20", 0x1000000, 0x1000000, CRC(977b87d6) SHA1(079eeebc6f9c60d0a016a46386bbe846d8a354da) )
ROM_LOAD( "mpr-23470.ic21", 0x2000000, 0x1000000, CRC(faf4940f) SHA1(72fee9ea5b78da260ed99ebe80ca6300f62cdbd7) )
ROM_LOAD( "mpr-23474.ic22", 0x3000000, 0x1000000, CRC(faf69ac5) SHA1(875c748151bf0e9cd73d86384665414b2f7b6f5a) )
ROM_LOAD( "mpr-23471.ic23", 0x4000000, 0x1000000, CRC(a3aad8ac) SHA1(afc8f3d1546e50afab4f540d59c87fe27cfb2cdd) )
ROM_LOAD( "mpr-23475.ic24", 0x5000000, 0x1000000, CRC(5f51597c) SHA1(02c0a5d463714082b7ebb2bec4d0f88aff186f82) )
ROM_LOAD( "mpr-23472.ic25", 0x6000000, 0x1000000, CRC(2495f678) SHA1(94b3160aabaea0596855c38ab1b63b16b20f2bae) )
ROM_LOAD( "mpr-23476.ic26", 0x7000000, 0x1000000, CRC(927cf31c) SHA1(7cab22a4113d92080a52e1d235bf075ce95f985f) )
ROM_LOAD( "mpr-23477.ic27", 0x8000000, 0x1000000, CRC(b4b7c477) SHA1(bcbfe081d509f0b87c6685b9b6617ae146987fe7) )
ROM_LOAD( "mpr-23481.ic28", 0x9000000, 0x1000000, CRC(27b8eb7d) SHA1(087b1ed13a3e2a0dbda82c454243214784429d24) )
ROM_LOAD( "mpr-23478.ic29", 0xa000000, 0x1000000, CRC(1fac431c) SHA1(2e3903c8cfd55d414555a1d23ba3a97c335991b3) )
ROM_LOAD( "mpr-23482.ic30", 0xb000000, 0x1000000, CRC(2e9a0420) SHA1(376d5f0b8274d741a702dc08da50ea5679991740) )
ROM_LOAD( "mpr-23479.ic31", 0xc000000, 0x1000000, CRC(22e07a60) SHA1(22f50af81c0b457ed550fde696126f882a25b0a8) )
ROM_LOAD( "mpr-23483.ic32", 0xd000000, 0x1000000, CRC(c37adebe) SHA1(e84f6d2cc364c743f7f3b73d8c8d0271952bb093) )
ROM_LOAD( "mpr-23480.ic33", 0xe000000, 0x1000000, CRC(f517b8b3) SHA1(c04740adb612473c4c9f8186e7e93d2f73d1bb1a) )
ROM_LOAD( "mpr-23484.ic34", 0xf000000, 0x1000000, CRC(2ebe1aa1) SHA1(16b39f7422da1a334dde27169c2949e1d95bddb3) )
ROM_LOAD( "mpr-23469.ic19", 0x0000000, 0x1000000, CRC(89cbad8d) SHA1(e4f103b96a3a842a90182172ddcf3bc5dfe6cca8) )
ROM_LOAD( "mpr-23473.ic20", 0x1000000, 0x1000000, CRC(977b87d6) SHA1(079eeebc6f9c60d0a016a46386bbe846d8a354da) )
ROM_LOAD( "mpr-23470.ic21", 0x2000000, 0x1000000, CRC(faf4940f) SHA1(72fee9ea5b78da260ed99ebe80ca6300f62cdbd7) )
ROM_LOAD( "mpr-23474.ic22", 0x3000000, 0x1000000, CRC(faf69ac5) SHA1(875c748151bf0e9cd73d86384665414b2f7b6f5a) )
ROM_LOAD( "mpr-23471.ic23", 0x4000000, 0x1000000, CRC(a3aad8ac) SHA1(afc8f3d1546e50afab4f540d59c87fe27cfb2cdd) )
ROM_LOAD( "mpr-23475.ic24", 0x5000000, 0x1000000, CRC(5f51597c) SHA1(02c0a5d463714082b7ebb2bec4d0f88aff186f82) )
ROM_LOAD( "mpr-23472.ic25", 0x6000000, 0x1000000, CRC(2495f678) SHA1(94b3160aabaea0596855c38ab1b63b16b20f2bae) )
ROM_LOAD( "mpr-23476.ic26", 0x7000000, 0x1000000, CRC(927cf31c) SHA1(7cab22a4113d92080a52e1d235bf075ce95f985f) )
ROM_LOAD( "mpr-23477.ic27", 0x8000000, 0x1000000, CRC(b4b7c477) SHA1(bcbfe081d509f0b87c6685b9b6617ae146987fe7) )
ROM_LOAD( "mpr-23481.ic28", 0x9000000, 0x1000000, CRC(27b8eb7d) SHA1(087b1ed13a3e2a0dbda82c454243214784429d24) )
ROM_LOAD( "mpr-23478.ic29", 0xa000000, 0x1000000, CRC(1fac431c) SHA1(2e3903c8cfd55d414555a1d23ba3a97c335991b3) )
ROM_LOAD( "mpr-23482.ic30", 0xb000000, 0x1000000, CRC(2e9a0420) SHA1(376d5f0b8274d741a702dc08da50ea5679991740) )
ROM_LOAD( "mpr-23479.ic31", 0xc000000, 0x1000000, CRC(22e07a60) SHA1(22f50af81c0b457ed550fde696126f882a25b0a8) )
ROM_LOAD( "mpr-23483.ic32", 0xd000000, 0x1000000, CRC(c37adebe) SHA1(e84f6d2cc364c743f7f3b73d8c8d0271952bb093) )
ROM_LOAD( "mpr-23480.ic33", 0xe000000, 0x1000000, CRC(f517b8b3) SHA1(c04740adb612473c4c9f8186e7e93d2f73d1bb1a) )
ROM_LOAD( "mpr-23484.ic34", 0xf000000, 0x1000000, CRC(2ebe1aa1) SHA1(16b39f7422da1a334dde27169c2949e1d95bddb3) )
ROM_END
GAME( 2000, hikaru, 0, hikaru, hikaru, 0, ROT0, "Sega", "Hikaru Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )

View File

@ -79,7 +79,7 @@ static SCREEN_UPDATE( mirage )
flip_screen_set(screen->machine, BIT(flip, 7));
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u16, 0x400);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.buffered_spriteram.u16, 0x400);
deco16ic_pf12_update(state->deco16ic, state->pf1_rowscroll, state->pf2_rowscroll);

View File

@ -32,7 +32,7 @@ This board uses a ~1.72 Mhz 6809B CPU, and a number of PIA6821 chips for multipl
To some extent, the hardware feels like a revision of the MPU3 design, integrating into the base unit features that were
previously added through expansion ports. However, there is no backwards compatibility, and the entire memory map has been
reworked.
Like MPU3, a 6840PTM is used for internal timing, and other miscellaneous control functions, including as a crude analogue sound device
(a square wave from the PTM being used as the alarm sound generator). However, the main sound functionality is provided by
dedicated hardware (an AY8913).
@ -44,7 +44,7 @@ an anti-tampering device which helped to prevent the hacking of certain titles i
Like MPU3, over the years developers have added more capabilities through the spare inputs and outputs provided. These provided
support for more reels, lamps and LEDs through daughtercards.
Several solutions were released depending on the manufacturer of the machine, all are emulated here.
In later revisions of the main board (MOD4 onwards), the AY8913 was removed entirely, as two official alternatives for sound had been produced.
In one, a YM2413 is built into the gameboard, and in the other an OKI MSM6376 is interfaced with a PIA and PTM to allow sophisticated
sampled sound.
@ -212,13 +212,13 @@ IRQ line connected to CPU
TODO: - Distinguish door switches using manual
- Complete stubs for hoppers (needs slightly better 68681 emulation, and new 'hoppers' device emulation)
- It seems that the MPU4 core program relies on some degree of persistence when switching strobes and handling
writes to the various hardware ports. This explains the occasional lamping/LED blackout and switching bugs
For now, we're ignoring any extra writes to strobes, as the alternative is to assign a timer to *everything*
- It seems that the MPU4 core program relies on some degree of persistence when switching strobes and handling
writes to the various hardware ports. This explains the occasional lamping/LED blackout and switching bugs
For now, we're ignoring any extra writes to strobes, as the alternative is to assign a timer to *everything*
- Flo's move in Great Escape gives spin alarms - need a different opto setting for reverse spin reels?
- Fix BwB characteriser, need to be able to calculate stabiliser bytes. Anyone fancy reading 6809 source?
- Fix MSM6376 - We're triggering 'contact MAMEDEV' since we need all features of the chip,
including dynamic sample rate adjustment and BEEP.
- Fix MSM6376 - We're triggering 'contact MAMEDEV' since we need all features of the chip,
including dynamic sample rate adjustment and BEEP.
***********************************************************************************************************/
#include "emu.h"
#include "machine/6821pia.h"
@ -743,7 +743,7 @@ static WRITE8_DEVICE_HANDLER( pia_ic3_porta_w )
LOG_IC3(("%s: IC3 PIA Port A Set to %2x (lamp strobes 1 - 9)\n", device->machine->describe_context(),data));
if(state->ic23_active)
{
{
if (state->lamp_strobe != state->input_strobe)
{
// Because of the nature of the lamping circuit, there is an element of persistance
@ -1119,15 +1119,15 @@ static WRITE8_DEVICE_HANDLER( pia_ic5_porta_w )
if (mame_stricmp(device->machine->gamedrv->name, "m_gmball") == 0)
{
/* The 'Gamball' device is a unique piece of mechanical equipment, designed to
provide a truly fair hi-lo gamble for an AWP machine. Functionally, it consists of
a ping-pong ball or similar enclosed in the machine's backbox, on a platform with 12
holes. When the low 4 bytes of AUX1 are triggered, this fires the ball out from the
hole it's currently in, to land in another. Landing in the same hole cause the machine to
refire the ball. The ball detection is done by the high 4 bytes of AUX1.
Here we call the MAME RNG, clamping it to 16 values, with the unused
values effectively asking the machine to 'roll again'. We then trigger the switches corresponding to
the correct number. This appears to be the best way of making the game fair, short of simulating
the physics of a bouncing ball ;)*/
provide a truly fair hi-lo gamble for an AWP machine. Functionally, it consists of
a ping-pong ball or similar enclosed in the machine's backbox, on a platform with 12
holes. When the low 4 bytes of AUX1 are triggered, this fires the ball out from the
hole it's currently in, to land in another. Landing in the same hole cause the machine to
refire the ball. The ball detection is done by the high 4 bytes of AUX1.
Here we call the MAME RNG, clamping it to 16 values, with the unused
values effectively asking the machine to 'roll again'. We then trigger the switches corresponding to
the correct number. This appears to be the best way of making the game fair, short of simulating
the physics of a bouncing ball ;)*/
if (data & 0x0f)
{
switch (device->machine->rand() & 0xf)
@ -1200,7 +1200,7 @@ static WRITE8_DEVICE_HANDLER( pia_ic5_portb_w )
{
// led_write_latch(state, data & 0x07, pia_get_output_a(pia_ic4),state->input_strobe)
}
}
static READ8_DEVICE_HANDLER( pia_ic5_portb_r )
{
@ -2284,7 +2284,7 @@ incorrect behaviour manifesting in ridiculously large payouts.
In fact, the software seems deliberately designed to mislead, but is (fortunately for
us) prone to similar weaknesses that allow a per game solution.
*/
@ -2418,7 +2418,7 @@ static const mpu4_chr_table blsbys_data[72] = {
// set percentage and other options. 2e 20 0f
// PAL Codes
// 0 1 2 3 4 5 6 7 8
// 0 1 2 3 4 5 6 7 8
// 42 2E 20 0F 24 3C 36 27 09
// 6 0 7 0 8 0 7 0 0 8
//request 36 42 27 42 09 42 27 42 42 09
@ -2593,7 +2593,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mpu4_bwb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x0800, 0x083F) AM_READWRITE(bwb_characteriser_r,bwb_characteriser_w)// Game selects a random value within this range
AM_RANGE(0x0850, 0x0850) AM_WRITE(bankswitch_w) // write bank (rom page select)

View File

@ -2560,7 +2560,7 @@ incorrect behaviour manifesting in ridiculously large payouts.
In fact, the software seems deliberately designed to mislead, but is (fortunately for
us) prone to similar weaknesses that allow a per game solution.
*/

View File

@ -358,7 +358,7 @@ READ32_HANDLER( nand_data_r )
{
UINT32 data = nand_read2( nand_address * 2 );
/* printf( "data<-%08x (%08x)\n", data, nand_address ); */
/* printf( "data<-%08x (%08x)\n", data, nand_address ); */
nand_address++;
return data;
@ -379,7 +379,7 @@ UINT32 block[ 0x1ff ];
WRITE32_HANDLER( nand_block_w )
{
COMBINE_DATA( &block[ offset ] );
/* printf( "block %d %08x\n", offset, data ); */
/* printf( "block %d %08x\n", offset, data ); */
}
READ32_HANDLER( nand_block_r )

View File

@ -53,7 +53,7 @@ PCB Layout
837-13544-01
171-7772F
837-13707 (sticker)
(C) SEGA 1999
(C) SEGA 1999
|---------------------------------------------------|
| CN1 CN3 |
|PC910 62256 EPF8452AQC160-3 |
@ -335,13 +335,13 @@ Games known to use this PCB include....
Game on cart IC11# # of SOP44 IC13S# IC1# Notes
---------------------------------------------------------------------------------------------------------------------
Giant Gram 2000 840-0039C 23377 20 (64Mb) present 317-0296-COM
Kick '4' Cash 840-0140C 24212 16 (64Mb) present 317-0397-COM
Kick '4' Cash 840-0140C 24212 16 (64Mb) present 317-0397-COM
Marvel Vs. Capcom 2 (Rev A) 841-0007C 23085A 14 (64Mb) present 317-5058-COM +2x 32Mb (full cart #:841-0007C-03)
Power Smash 2 / Virtua Tennis 2 (Rev A) 840-0084C 22327A 18 (64Mb) present 317-0320-COM
Quiz Ah Megamisama 840-0030C 23227 16 (64Mb) present 317-0280-JPN
Shootout Pool 840-0098C 23844 4 (64mb) present 317-0336-COM
Shootout Pool - Shootout Pool Prize 840-0128C 24065 4 (64mb) present 317-0367-COM
Shootout Pool Medal ? 24148 4 (64Mb) ? ?
Shootout Pool Medal ? 24148 4 (64Mb) ? ?
Virtua Fighter 4 Evolution 840-0106B 23934 20 (64Mb) present 317-0339-COM
@ -432,10 +432,10 @@ Notes:
CN4 - 6 legs connector for ISP programming
Games known to use this PCB include....
Sticker EPROM FLASHROMs XC3S50 PIC16C621A XCF01S
Sticker EPROM FLASHROMs XC3S50 PIC16C621A XCF01S
Game on cart IC7# # of SOP56 IC2# IC3# IC4# Notes
----------------------------------------------------------------------------------------------------------------------------
Dynamite Deka EX / Asian Dynamite 840-0175C ? ? ? ? ?
Dynamite Deka EX / Asian Dynamite 840-0175C ? ? ? ? ?
Mamonoro 841-0060C not present 4 (512Mb) present 317-5132-JPN present IC2# is labeled "VER.2"
Touch De Zunou (Rev A) 840-0166C not present 2 (512Mb) present 317-0435-JPN present IC4# is marked "18"
@ -7185,13 +7185,13 @@ ROM_END
// 0041
// 0042 NAOMI DIMM Firm Update for CF-BOX
// 0042A NAOMI DIMM Firm Update for CF-BOX (Rev A)
// 00?? Crackin' DJ Part 2
// 00?? Dragon Treasure
// 00?? Dragon Treasure II
// 00?? Dragon Treasure III
// 00?? Get Bass 2
// 00?? KyoryuKing
// 00?? World Club Champion Football Serie A 2001-2002
// 00?? Crackin' DJ Part 2
// 00?? Dragon Treasure
// 00?? Dragon Treasure II
// 00?? Dragon Treasure III
// 00?? Get Bass 2
// 00?? KyoryuKing
// 00?? World Club Champion Football Serie A 2001-2002
/* GDL-xxxx ("licensed by Sega" GD-ROM games) */
/* 0001 */ GAME( 2001, gundmgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon (GDL-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )

View File

@ -1045,7 +1045,7 @@ static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xbfff) AM_ROM
/* vanvan: probably a leftover from development: the Sanritsu version writes
the color lookup table here, while the Karateko version writes garbage. */
the color lookup table here, while the Karateko version writes garbage. */
AM_RANGE(0xb800, 0xb87f) AM_WRITENOP
ADDRESS_MAP_END

View File

@ -1028,7 +1028,7 @@ static GFXDECODE_START( hrdtimes )
GFXDECODE_END
static GFXDECODE_START( bigtwinb )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x300, 16 ) /* colors 0x300-0x3ff */
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x300, 16 ) /* colors 0x300-0x3ff */
GFXDECODE_ENTRY( "gfx1", 0, hrdtimes_tilelayout, 0x000, 16 ) /* colors 0x000-0x0ff */
GFXDECODE_ENTRY( "gfx1", 0, hrdtimes_charlayout, 0x200, 16 ) /* colors 0x200-0x2ff */
GFXDECODE_END
@ -1133,7 +1133,7 @@ static MACHINE_CONFIG_START( bigtwinb, playmark_state )
MCFG_GFXDECODE(bigtwinb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START(bigtwinb)
/* sound hardware */

View File

@ -134,9 +134,9 @@ static INPUT_PORTS_START( rocnrope )
PORT_DIPSETTING( 0x40, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "DSW3:8" )
// PORT_DIPNAME( 0x80, 0x00, "Unknown DSW 8" )
// PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
// PORT_DIPSETTING( 0x00, DEF_STR( On ) )
// PORT_DIPNAME( 0x80, 0x00, "Unknown DSW 8" )
// PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
// PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END

View File

@ -1113,7 +1113,7 @@ ROM_START( hustlerb2 )
ROM_REGION( 0x1000, "gfx1", 0 )
ROM_LOAD( "b4.r2", 0x0000, 0x0800, CRC(0bdfad0e) SHA1(8e6f1737604f3801c03fa2e9a5e6a2778b54bae8) )
ROM_LOAD( "b5", 0x0800, 0x0800, CRC(8e062177) SHA1(7e52a1669804b6c2f694cfc64b04abc8246bb0c2) ) // broken rom, assumed to be the same
ROM_LOAD( "b5", 0x0800, 0x0800, CRC(8e062177) SHA1(7e52a1669804b6c2f694cfc64b04abc8246bb0c2) ) // broken rom, assumed to be the same
ROM_REGION( 0x0020, "proms", 0 )
ROM_LOAD( "27s19.bin", 0x0000, 0x0020, CRC(aa1f7f5e) SHA1(311dd17aa11490a1173c76223e4ccccf8ea29850) )

View File

@ -1958,13 +1958,13 @@ static ADDRESS_MAP_START( zingzipbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_MEMBER(seta_state, workram) // RAM (pointer for zombraid crosshair hack)
AM_RANGE(0x210000, 0x21ffff) AM_RAM // RAM (gundhara)
AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM (wrofaero only?)
// AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
// AM_RANGE(0x400002, 0x400003) AM_READ_PORT("P2") // P2
// AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
// AM_RANGE(0x400002, 0x400003) AM_READ_PORT("P2") // P2
AM_RANGE(0x400002, 0x400003) AM_READ(zingzipbl_unknown_r) // P2
// AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS") // Coins
// AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_BASE_MEMBER(seta_state, vregs) // (gundhara) Coin Lockout + Video Registers
//AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
//AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM // (rezon,jjsquawk)
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_SIZE_MEMBER(seta_state, paletteram, paletteram_size) // Palette
AM_RANGE(0x701000, 0x70ffff) AM_RAM //
@ -2649,17 +2649,17 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderlbl_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM // ROM
AM_RANGE(0xffc000, 0xffffff) AM_RAM // RAM
// AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
// AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0x200000, 0x200001) AM_WRITENOP // ?
AM_RANGE(0x300000, 0x300001) AM_WRITENOP // ?
// AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w) // Protection (not in wits)
// AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w) // Protection (not in wits)
AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_BASE_MEMBER(seta_state, vregs) // Coin Lockout
AM_RANGE(0x600000, 0x600003) AM_READ(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_SIZE_MEMBER(seta_state, paletteram, paletteram_size) // Palette
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1") // P1
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2") // P2
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("COINS") // Coins
// AM_RANGE(0xb0000c, 0xb0000d) AM_READ(thunderl_protection_r ) // Protection (not in wits)
// AM_RANGE(0xb0000c, 0xb0000d) AM_READ(thunderl_protection_r ) // Protection (not in wits)
AM_RANGE(0xb00008, 0xb00009) AM_READ_PORT("P3") // P3 (wits)
AM_RANGE(0xb0000a, 0xb0000b) AM_READ_PORT("P4") // P4 (wits)
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? 0x4000
@ -6861,7 +6861,7 @@ static const gfx_layout layout_zzbl_6bpp =
{
0*16,1*16,2*16,3*16,4*16,5*16,6*16,7*16,
8*16,9*16,10*16,11*16,12*16,13*16,14*16,15*16
},
16*16*2
};
@ -6870,8 +6870,8 @@ static const gfx_layout layout_zzbl_6bpp =
static GFXDECODE_START( zingzipbl )
GFXDECODE_ENTRY( "gfx1", 0, layout_zzbl, 16*32*0, 32 ) // [0] Sprites
GFXDECODE_ENTRY( "gfx2", 0, layout_zzbl_6bpp, 16*32*2, 32 ) // [1] Layer 1
GFXDECODE_ENTRY( "gfx3", 0, layout_zzbl, 16*32*1, 32 ) // [2] Layer 2
GFXDECODE_ENTRY( "gfx2", 0, layout_zzbl_6bpp, 16*32*2, 32 ) // [1] Layer 1
GFXDECODE_ENTRY( "gfx3", 0, layout_zzbl, 16*32*1, 32 ) // [2] Layer 2
GFXDECODE_ENTRY( "gfx2", 0, layout_zzbl_6bpp, 16*32*2+64*32*1, 32 ) // [3] Layer 1
GFXDECODE_END
@ -8434,7 +8434,7 @@ static MACHINE_CONFIG_DERIVED( zingzipbl, zingzip )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(zingzipbl_map)
MCFG_CPU_VBLANK_INT_HACK(seta_interrupt_1_and_2,SETA_INTERRUPTS_NUM) // irq3 isn't valid on the bootleg
MCFG_DEVICE_REMOVE("x1snd")
MCFG_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)

View File

@ -251,7 +251,7 @@ static WRITE32_HANDLER( simpl156_pf2_rowscroll_w )
static ADDRESS_MAP_START( joemacr_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram
AM_RANGE(0x110000, 0x111fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x110000, 0x111fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x120000, 0x120fff) AM_READWRITE(simpl156_palette_r, simpl156_palette_w)
AM_RANGE(0x130000, 0x130003) AM_READWRITE(simpl156_system_r, simpl156_eeprom_w)
AM_RANGE(0x140000, 0x14001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)
@ -275,7 +275,7 @@ static ADDRESS_MAP_START( chainrec_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
AM_RANGE(0x3c0000, 0x3c0003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x400000, 0x407fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x420000, 0x420fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x430000, 0x430003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x440000, 0x44001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)
@ -296,7 +296,7 @@ static ADDRESS_MAP_START( magdrop_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
AM_RANGE(0x340000, 0x340003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x380000, 0x387fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x3a0000, 0x3a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x3b0000, 0x3b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x3c0000, 0x3c001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)
@ -317,7 +317,7 @@ static ADDRESS_MAP_START( magdropp_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
AM_RANGE(0x4c0000, 0x4c0003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x680000, 0x687fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x6a0000, 0x6a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x6b0000, 0x6b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x6c0000, 0x6c001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)
@ -337,7 +337,7 @@ static ADDRESS_MAP_START( mitchell156_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x180000, 0x187fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram
AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
AM_RANGE(0x1a0000, 0x1a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
AM_RANGE(0x1b0000, 0x1b0003) AM_READWRITE(simpl156_system_r,simpl156_eeprom_w)
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)

View File

@ -150,7 +150,7 @@ static void roldfrog_update_irq( running_machine *machine )
{
splash_state * state = machine->driver_data<splash_state>();
int irq = (state->sound_irq ? 0x08 : 0) | ((state->vblank_irq) ? 0x18 : 0);
cpu_set_input_line_and_vector(machine->device("audiocpu"), 0, irq ? ASSERT_LINE : CLEAR_LINE, 0xc7 | irq);
cpu_set_input_line_and_vector(machine->device("audiocpu"), 0, irq ? ASSERT_LINE : CLEAR_LINE, 0xc7 | irq);
}
static WRITE8_HANDLER( roldfrog_vblank_ack_w )
@ -208,7 +208,7 @@ static ADDRESS_MAP_START( roldfrog_sound_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x31, 0x31) AM_WRITE(sound_bank_w)
AM_RANGE(0x37, 0x37) AM_WRITE(roldfrog_vblank_ack_w )
AM_RANGE(0x70, 0x70) AM_READ(soundlatch_r)
AM_RANGE(0x0, 0xff) AM_READ(roldfrog_unk_r)
ADDRESS_MAP_END
@ -454,12 +454,12 @@ static INPUT_PORTS_START( funystrp )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("SYSTEM")
PORT_DIPNAME( 0xffff, 0xffff, "Clear EEPROM" )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0xffff, DEF_STR( On ) )
INPUT_PORTS_END
static const gfx_layout tilelayout8 =
@ -654,7 +654,7 @@ static MACHINE_CONFIG_START( funystrp, splash_state )
MCFG_CPU_ADD("audiocpu", Z80,30000000/8)
MCFG_CPU_PROGRAM_MAP(funystrp_sound_map)
MCFG_CPU_IO_MAP(funystrp_sound_io_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -769,7 +769,7 @@ ROM_START( roldfroga )
ROM_LOAD( "roldfrog.001", 0x00000, 0x08000, CRC(ba9eb1c6) SHA1(649d1103f3188554eaa3fc87a1f52c53233932b2) )
ROM_CONTINUE( 0x10000, 0x10000 )
ROM_CONTINUE( 0x38000, 0x08000 )
ROM_REGION( 0x80000, "gfx1", 0 )
ROM_LOAD( "roldfrog.010", 0x00000, 0x20000, CRC(51fd0e1a) SHA1(940c4231b21d16c62cad47c22fe735b18662af4a) )
ROM_LOAD( "roldfrog.011", 0x20000, 0x20000, CRC(610bf6f3) SHA1(04a7efac2e83c6747d4bd480b1f3118eb44a1f76) )
@ -1031,7 +1031,7 @@ static DRIVER_INIT( roldfrog )
splash_state *state = machine->driver_data<splash_state>();
UINT8 * ROM = (UINT8 *)machine->region("audiocpu")->base();
memory_configure_bank(machine, "sound_bank", 0, 16, &ROM[0x10000], 0x8000);
state->bitmap_type = 1;
state->sprite_attr2_shift = 8;
}
@ -1075,7 +1075,7 @@ static DRIVER_INIT( funystrp )
state->sprite_attr2_shift = 0;
// initial protection checks, just after boot
ROM[0x04770/2] = 0x4e71;
ROM[0x04772/2] = 0x4e71;
@ -1083,24 +1083,24 @@ static DRIVER_INIT( funystrp )
// protection write -> read -> compare tests
// not all of them should always pass ( especially the ones that compares data read with ram variable )
// side effect of the above is broken (sometimes) sound
// there's stil problem with (broken) gameplay = sometimes one (or more) dot is moved
// there's stil problem with (broken) gameplay = sometimes one (or more) dot is moved
// out of playfield (and placed on right part of screen ) and there's no way to complete the level
// game reads sprite coords directly from sprite ram and checks distance between player and each(!) dot or
// game object every frame
// most of the patched protection checks are very similar. when test fails, dot counter is altered.
// sometimes it's increased = level is impossible to complete, sometimes - cleared (and level ends
// immediately).
// immediately).
ROM[0x07b30/2] = 0x7001;
ROM[0x07ec6/2] = 0x7001;
ROM[0x07fbe/2] = 0x7001;
ROM[0x07fbe/2] = 0x7001;
ROM[0x08060/2] = 0x7001;
ROM[0x08576/2] = 0x7001;
ROM[0x08948/2] = 0x7001;
ROM[0x09e16/2] = 0x7001;
ROM[0x0a994/2] = 0x7001;
ROM[0x0c648/2] = 0x7001;
ROM[0x0c852/2] = 0x7001;
ROM[0x0c852/2] = 0x7001;
ROM[0x0dc22/2] = 0x7001;
ROM[0x0f780/2] = 0x7001;
ROM[0x0f882/2] = 0x7001;
@ -1109,7 +1109,7 @@ static DRIVER_INIT( funystrp )
ROM[0x11f80/2] = 0x7001;
ROM = (UINT16 *)machine->region("audiocpu")->base();
memory_configure_bank(machine, "sound_bank", 0, 16, &ROM[0x00000], 0x8000);
}

View File

@ -258,7 +258,7 @@ static SCREEN_UPDATE(ssfindo)
}
}
}
return 0;
}
@ -380,12 +380,12 @@ static READ32_HANDLER(PS7500_IO_r)
case IOCR: //TODO: nINT1, OD[n] p.81
if (ssfindo_speedup) ssfindo_speedup(space);
if( state->iocr_hack)
{
return (input_port_read(space->machine, "PS7500") & 0x80) | 0x34 | (space->machine->rand()&3); //eeprom read ?
}
return (input_port_read(space->machine, "PS7500") & 0x80) | 0x37;
case VIDCR:
@ -468,8 +468,8 @@ static WRITE32_HANDLER(PS7500_IO_w)
case VIDINITA: //TODO: bit 30 (last bit) p.105
COMBINE_DATA(&state->PS7500_IO[offset]);
break;
}
}
@ -700,7 +700,7 @@ static INPUT_PORTS_START( tetfight )
PORT_DIPNAME( 0x80, 0x80, "DSW 7" )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSW2")
PORT_DIPNAME( 0x01, 0x01, "Test Mode" )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -876,7 +876,7 @@ static DRIVER_INIT(tetfight)
{
ssfindo_state *state = machine->driver_data<ssfindo_state>();
DRIVER_INIT_CALL(common);
state->flashType=0;
state->flashType=0;
state->iocr_hack=1;
}

View File

@ -155,7 +155,7 @@ WRITE16_HANDLER( paletteram16_xbgr_word_be_sprites_w )
// is this related to the bootleg only, or does the original have this issue too?
// maybe related to sprite DMA on the original, or the apparent lack of a 2nd sprite controller on the bootleg.
paletteram16_xbgr_word_be_sprites2_w(space,offset,data,mem_mask);
sshangha_state *state = space->machine->driver_data<sshangha_state>();
COMBINE_DATA(&state->sprite_paletteram[offset]);
set_color_888(space->machine, (offset/2)+0x000, 0, 8, 16, state->sprite_paletteram[(offset) | 1] | (state->sprite_paletteram[(offset) & ~1] << 16) );

View File

@ -1238,7 +1238,7 @@ static ADDRESS_MAP_START( pipibibi_bootleg_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x083800, 0x087fff) AM_RAM // SpriteRAM (unused)
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x120000, 0x120fff) AM_RAM // Copy of SpriteRAM ?
// AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP // ???
// AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP // ???
AM_RANGE(0x180000, 0x182fff) AM_DEVREADWRITE("gp9001vdp0", pipibibi_bootleg_videoram16_r, pipibibi_bootleg_videoram16_w) // TileRAM
AM_RANGE(0x188000, 0x18800f) AM_DEVWRITE("gp9001vdp0", pipibibi_bootleg_scroll_w)
AM_RANGE(0x190002, 0x190003) AM_READ(shared_ram_r) // Z80 ready ?
@ -1371,7 +1371,7 @@ static ADDRESS_MAP_START( shippumd_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x218000, 0x21bfff) AM_READWRITE(shared_ram_r, shared_ram_w)
// AM_RANGE(0x21c008, 0x21c009) AM_WRITENOP // ???
// AM_RANGE(0x21c008, 0x21c009) AM_WRITENOP // ???
AM_RANGE(0x21c01c, 0x21c01d) AM_WRITE(shippumd_coin_word_w) // Coin count/lock + oki bankswitch
AM_RANGE(0x21c020, 0x21c021) AM_READ_PORT("IN1")
AM_RANGE(0x21c024, 0x21c025) AM_READ_PORT("IN2")
@ -1893,7 +1893,7 @@ static INPUT_PORTS_START( dogyuuna )
PORT_DIPSETTING( 0x00b0, "Taiwan" )
PORT_DIPSETTING( 0x00c0, "Taiwan (??????? license)" )
PORT_DIPSETTING( 0x00d0, "Southeast Asia (Charterfield license)" )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x00f0, "Japan (Taito Corp license)" )
INPUT_PORTS_END
@ -1918,10 +1918,10 @@ static INPUT_PORTS_START( dogyuunt )
PORT_DIPSETTING( 0x0080, "Hong Kong (Honest Trading Co. license)" )
PORT_DIPSETTING( 0x0090, "Korea (JC Trading Corp license)" )
PORT_DIPSETTING( 0x00a0, "USA (Fabtek license)" )
// PORT_DIPSETTING( 0x00b0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00c0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00d0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00b0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00c0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00d0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x00f0, "Japan (Taito Corp license)" )
INPUT_PORTS_END
@ -1971,15 +1971,15 @@ static INPUT_PORTS_START( kbash )
PORT_DIPSETTING( 0x0040, "Hong Kong" )
PORT_DIPSETTING( 0x0050, "Taiwan" )
PORT_DIPSETTING( 0x0060, "Southeast Asia" ) // Service Mode wrongly shows European coinage
// PORT_DIPSETTING( 0x0070, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0070, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0090, DEF_STR( USA ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( Europe ) ) // European coinage
// PORT_DIPSETTING( 0x00b0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00c0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00d0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) ) // Service Mode wrongly shows European coinage
// PORT_DIPSETTING( 0x00f0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00b0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00c0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00d0, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x00e0, DEF_STR( Unused ) ) // Service Mode wrongly shows European coinage
// PORT_DIPSETTING( 0x00f0, DEF_STR( Unused ) )
INPUT_PORTS_END
@ -1993,21 +1993,21 @@ static INPUT_PORTS_START( kbash2 )
PORT_MODIFY("JMPR")
PORT_DIPNAME( 0x000f, 0x0006, DEF_STR( Region ) )
PORT_DIPSETTING( 0x0000, "Japan (Taito Corp license)" )
// PORT_DIPSETTING( 0x0001, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0002, DEF_STR( Unused ) ) // European coinage
// PORT_DIPSETTING( 0x0001, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0002, DEF_STR( Unused ) ) // European coinage
PORT_DIPSETTING( 0x0003, "Korea (Unite Trading license)" )
PORT_DIPSETTING( 0x0004, "Hong Kong" )
PORT_DIPSETTING( 0x0005, "Taiwan" )
PORT_DIPSETTING( 0x0006, "Southeast Asia (Charterfield license)" ) // Service Mode wrongly shows European coinage
// PORT_DIPSETTING( 0x0007, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x0007, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Japan ) )
// PORT_DIPSETTING( 0x0009, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000a, DEF_STR( Unused ) ) // European coinage
// PORT_DIPSETTING( 0x0009, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000a, DEF_STR( Unused ) ) // European coinage
PORT_DIPSETTING( 0x000b, "Korea" )
// PORT_DIPSETTING( 0x000c, "Hong Kong" )
// PORT_DIPSETTING( 0x000d, "Taiwan" )
// PORT_DIPSETTING( 0x000c, "Hong Kong" )
// PORT_DIPSETTING( 0x000d, "Taiwan" )
PORT_DIPSETTING( 0x000e, "Southeast Asia" ) // Service Mode wrongly shows European coinage
// PORT_DIPSETTING( 0x000f, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000f, DEF_STR( Unused ) )
PORT_BIT( 0x00f0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
@ -2058,10 +2058,10 @@ static INPUT_PORTS_START( truxton2 )
PORT_DIPSETTING( 0x0008, "Hong Kong (Honest Trading Co. license)" )
PORT_DIPSETTING( 0x0009, "Korea (JC Trading Corp license)" )
PORT_DIPSETTING( 0x000a, "USA (Fabtek license)" )
// PORT_DIPSETTING( 0x000b, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000c, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000d, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000e, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000b, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000c, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000d, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x000e, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x000f, "Japan (Taito Corp license)" )
INPUT_PORTS_END
@ -2282,7 +2282,7 @@ static INPUT_PORTS_START( grindstm )
// Code in many places in game tests if region is >= 0xC. Effects on gameplay?
PORT_DIPNAME( 0x00f0, 0x0090, DEF_STR( Region ) )
PORT_DIPSETTING( 0x0090, DEF_STR( Europe ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Europe ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Europe ) )
PORT_DIPSETTING( 0x00b0, DEF_STR( USA ) )
PORT_DIPSETTING( 0x00a0, "USA (American Sammy Corporation license)" )
PORT_DIPSETTING( 0x0070, "Southeast Asia" )
@ -2296,7 +2296,7 @@ static INPUT_PORTS_START( grindstm )
PORT_DIPSETTING( 0x00d0, "USA; different?" )
PORT_DIPSETTING( 0x00c0, "USA (American Sammy Corporation license); different?" )
PORT_DIPSETTING( 0x00e0, "Korea; different?" )
// PORT_DIPSETTING( 0x00f0, "Korea; different?" )
// PORT_DIPSETTING( 0x00f0, "Korea; different?" )
INPUT_PORTS_END
@ -2307,21 +2307,21 @@ static INPUT_PORTS_START( grindstma )
// Code in many places in game tests if region is >= 0xC. Effects on gameplay?
PORT_DIPNAME( 0x00f0, 0x0090, DEF_STR( Region ) )
PORT_DIPSETTING( 0x0090, DEF_STR( Europe ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Europe ) )
// PORT_DIPSETTING( 0x0080, DEF_STR( Europe ) )
PORT_DIPSETTING( 0x00b0, DEF_STR( USA ) )
PORT_DIPSETTING( 0x00a0, "USA (Atari Games Corp license)" )
PORT_DIPSETTING( 0x0070, "Southeast Asia" )
PORT_DIPSETTING( 0x0060, "Southeast Asia (Charterfield license)" )
PORT_DIPSETTING( 0x0050, "Taiwan" )
// PORT_DIPSETTING( 0x0040, "Taiwan" )
// PORT_DIPSETTING( 0x0040, "Taiwan" )
PORT_DIPSETTING( 0x0030, "Hong Kong" )
PORT_DIPSETTING( 0x0020, "Hong Kong (Charterfield license)" )
PORT_DIPSETTING( 0x0010, "Korea" )
PORT_DIPSETTING( 0x0000, "Korea (Unite Trading license)" )
PORT_DIPSETTING( 0x00c0, "Korea; different?" )
// PORT_DIPSETTING( 0x00d0, "Korea; different?" )
// PORT_DIPSETTING( 0x00e0, "Korea; different?" )
// PORT_DIPSETTING( 0x00f0, "Korea; different?" )
// PORT_DIPSETTING( 0x00d0, "Korea; different?" )
// PORT_DIPSETTING( 0x00e0, "Korea; different?" )
// PORT_DIPSETTING( 0x00f0, "Korea; different?" )
INPUT_PORTS_END
@ -2335,8 +2335,8 @@ static INPUT_PORTS_START( vfive )
// Runs twice near end of stage 1, once when each of the two boss tanks appears. Effect?
PORT_DIPNAME( 0x0070, 0x0000, "Copyright" )
PORT_DIPSETTING( 0x0000, "All Rights Reserved" )
// PORT_DIPSETTING( 0x0010, "All Rights Reserved" )
// PORT_DIPSETTING( 0x0020, "All Rights Reserved" )
// PORT_DIPSETTING( 0x0010, "All Rights Reserved" )
// PORT_DIPSETTING( 0x0020, "All Rights Reserved" )
PORT_DIPSETTING( 0x0030, "Licensed to Taito Corp" )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
@ -2470,7 +2470,7 @@ static INPUT_PORTS_START( snowbro2 )
PORT_DIPSETTING( 0x1000, "Hong Kong" )
PORT_DIPSETTING( 0x1400, "Taiwan" )
PORT_DIPSETTING( 0x1800, "Southeast Asia" )
// PORT_DIPSETTING( 0x1c00, DEF_STR( Unused ) )
// PORT_DIPSETTING( 0x1c00, DEF_STR( Unused ) )
PORT_BIT( 0xc3ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
@ -2560,7 +2560,7 @@ static INPUT_PORTS_START( kingdmgp )
PORT_DIPNAME( 0x000e, 0x0004, DEF_STR( Region ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Europe ) )
PORT_DIPSETTING( 0x0002, DEF_STR( USA ) )
// PORT_DIPSETTING( 0x0000, DEF_STR( Japan ) ) // Corrupt title screen and text - use shippumd
// PORT_DIPSETTING( 0x0000, DEF_STR( Japan ) ) // Corrupt title screen and text - use shippumd
PORT_DIPSETTING( 0x0006, "Southeast Asia" )
PORT_DIPSETTING( 0x0008, "China" )
PORT_DIPSETTING( 0x000a, "Korea (Unite Trading license)" )

View File

@ -2293,7 +2293,7 @@ ROM_START(sopranog_300)
ROM_END
ROM_START(sopranog_107)
ROM_REGION(0x80000, "user1", 0)
ROM_LOAD( "sopcpug.107", 0x0000, 0x20000, CRC(e9c83725) SHA1(958155919cbb347b72784c7da112b188e06c908f))
ROM_LOAD( "sopcpug.107", 0x0000, 0x20000, CRC(e9c83725) SHA1(958155919cbb347b72784c7da112b188e06c908f))
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
@ -2376,7 +2376,7 @@ ROM_START(sopranof_107)
ROM_REGION(0x10000, "sound1", 0)
ROM_LOAD("sopsndf.u7",0x0000,0x10000,CRC(57426738) SHA1(393e1d654ef09172580ad9a2722f696b6e44ec0f))
ROM_REGION(0x400000, "sound2", 0)
ROM_LOAD("sopsndf1.u17",0x000000, 0x100000, CRC(9e0dd4a8) SHA1(82b772eb7081f22f1203ed113ec7b05f2e26258c))
ROM_LOAD("sopsndf1.u17",0x000000, 0x100000, CRC(9e0dd4a8) SHA1(82b772eb7081f22f1203ed113ec7b05f2e26258c))
ROM_LOAD("sopsndf.u21", 0x100000, 0x100000, CRC(28726d20) SHA1(63c6bea953cc34b6a3c2c9688ab86641f94cd227))
ROM_LOAD("sopsndf.u36", 0x200000, 0x100000, CRC(99549d4a) SHA1(15e3d35b9cefbc8825a7dee5309adc2526de3dec))
ROM_LOAD("sopsndf.u37", 0x300000, 0x100000, CRC(2b4a9130) SHA1(eed9c84c932bb86954226b0d51461c5094ebe02e))
@ -2428,7 +2428,7 @@ ROM_START(sopranol_300)
ROM_END
ROM_START(sopranol_107)
ROM_REGION(0x80000, "user1", 0)
ROM_LOAD( "sopcpul.107", 0x0000, 0x20000, CRC(a08311fe) SHA1(93e3ecc3e2c69f30d0fbb72c7426f3c2ba4b27b4))
ROM_LOAD( "sopcpul.107", 0x0000, 0x20000, CRC(a08311fe) SHA1(93e3ecc3e2c69f30d0fbb72c7426f3c2ba4b27b4))
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)

View File

@ -2750,7 +2750,7 @@ ROM_START(simpprty_400)
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
ROM_REGION(0x80000, "gfx3", 0)
ROM_LOAD( "sppdspa.400", 0x00000, 0x80000, CRC(cd5eaab7) SHA1(a06bef6fc0e7f3c0616439cb0e0431a3d52cdfa1))
ROM_LOAD( "sppdspa.400", 0x00000, 0x80000, CRC(cd5eaab7) SHA1(a06bef6fc0e7f3c0616439cb0e0431a3d52cdfa1))
ROM_REGION(0x010000, "cpu2", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
ROM_REGION(0x400000, "sound1", 0)
@ -2829,7 +2829,7 @@ ROM_START(simpprtg_400)
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
ROM_REGION(0x80000, "gfx3", 0)
ROM_LOAD( "sppdspg.400", 0x00000, 0x80000, CRC(3b408fe2) SHA1(ce8d7f0d58b5f8fb4df0b9811449e4dc0e1e6580))
ROM_LOAD( "sppdspg.400", 0x00000, 0x80000, CRC(3b408fe2) SHA1(ce8d7f0d58b5f8fb4df0b9811449e4dc0e1e6580))
ROM_REGION(0x010000, "cpu2", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
ROM_REGION(0x400000, "sound1", 0)
@ -2867,7 +2867,7 @@ ROM_START(simpprtl_400)
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
ROM_REGION(0x80000, "gfx3", 0)
ROM_LOAD( "sppdspl.400", 0x00000, 0x80000, CRC(a0bf567e) SHA1(ce6eb65da6bff15aeb787fd2cdac7cf6b4300108))
ROM_LOAD( "sppdspl.400", 0x00000, 0x80000, CRC(a0bf567e) SHA1(ce6eb65da6bff15aeb787fd2cdac7cf6b4300108))
ROM_REGION(0x010000, "cpu2", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
ROM_REGION(0x400000, "sound1", 0)
@ -2924,7 +2924,7 @@ ROM_START(simpprtf_400)
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
ROM_REGION(0x80000, "gfx3", 0)
ROM_LOAD( "sppdspf.400", 0x00000, 0x80000, CRC(6cc306e2) SHA1(bfe6ef0cd5d0cb5e3b29d85ade1700005e22d81b))
ROM_LOAD( "sppdspf.400", 0x00000, 0x80000, CRC(6cc306e2) SHA1(bfe6ef0cd5d0cb5e3b29d85ade1700005e22d81b))
ROM_REGION(0x010000, "cpu2", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
ROM_REGION(0x400000, "sound1", 0)
@ -2935,7 +2935,7 @@ ROM_START(simpprtf_400)
ROM_END
ROM_START(simpprtf_204)
ROM_REGION(0x80000, "user1", 0)
ROM_LOAD("spp-cpu.204", 0x00000, 0x20000, CRC(5bc155f7) SHA1(78d793cecbc6561a891ff8007f33c63ec5515e9f))
ROM_LOAD("spp-cpu.204", 0x00000, 0x20000, CRC(5bc155f7) SHA1(78d793cecbc6561a891ff8007f33c63ec5515e9f))
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)

View File

@ -22,7 +22,7 @@ public:
int ace_ram_dirty;
int has_ace_ram;
UINT32 *ace_ram;
UINT8 *dirty_palette;
int pri;
@ -42,7 +42,7 @@ public:
UINT32 *pf2_rowscroll32;
UINT32 *pf3_rowscroll32;
UINT32 *pf4_rowscroll32;
device_t *deco16ic;
};

View File

@ -15,9 +15,9 @@ public:
int adpcm_data;
int ret;
int vblank_irq, sound_irq;
int msm_data1, msm_data2;
int msm_toggle1, msm_toggle2;
int msm_source;

View File

@ -3992,7 +3992,7 @@ INLINE void write_pixel(running_machine* machine, UINT8 pix, int pixeloffset )
segacd_dataram[offset] |= pix << shift;
}
break;
case 0x02: // overwrite, only write non-zero data
if (pix)
{
@ -4660,7 +4660,7 @@ void CDC_Do_DMA(running_machine* machine, int rate)
dest[dstoffset+1] = data >>8;
dest[dstoffset+0] = data&0xff;
segacd_mark_tiles_dirty(space->machine, dstoffset/2);
}
else
@ -4684,7 +4684,7 @@ void CDC_Do_DMA(running_machine* machine, int rate)
dest[dstoffset+1] = data >>8;
dest[dstoffset+0] = data&0xff;
}
}
}
@ -5067,7 +5067,7 @@ static WRITE16_HANDLER( scd_a12002_memory_mode_w )
if (ACCESSING_BITS_8_15)
scd_a12002_memory_mode_w_8_15(space, 0, data>>8);
if (ACCESSING_BITS_0_7)
scd_a12002_memory_mode_w_0_7(space, 0, data&0xff);
}
@ -5150,7 +5150,7 @@ WRITE8_HANDLER( segacd_sub_memory_mode_w_0_7 )
}
}
else
{ // == 0x0 - currently in 2 meg mode
{ // == 0x0 - currently in 2 meg mode
scd_mode_dmna_ret_flags &= 0xddff;
}
}
@ -5163,7 +5163,7 @@ static WRITE16_HANDLER( segacd_sub_memory_mode_w )
if (ACCESSING_BITS_8_15)
segacd_sub_memory_mode_w_8_15(space, 0, data>>8);
if (ACCESSING_BITS_0_7)
segacd_sub_memory_mode_w_0_7(space, 0, data&0xff);
}
@ -5441,7 +5441,7 @@ static WRITE16_HANDLER( segacd_main_dataram_part1_w )
}
else
{
// printf("Unspported: segacd_main_dataram_part1_w (Cell rearranged RAM) in mode 1 (illega?)\n"); // is this legal??
// printf("Unspported: segacd_main_dataram_part1_w (Cell rearranged RAM) in mode 1 (illega?)\n"); // is this legal??
}
}
}
@ -6005,8 +6005,8 @@ void segacd_init_main_cpu( running_machine* machine )
memory_unmap_readwrite (space, 0x020000,0x3fffff,0,0);
// memory_install_read_bank(space, 0x0020000, 0x003ffff, 0, 0, "scd_4m_prgbank");
// memory_set_bankptr(space->machine, "scd_4m_prgbank", segacd_4meg_prgram + segacd_4meg_prgbank * 0x20000 );
// memory_install_read_bank(space, 0x0020000, 0x003ffff, 0, 0, "scd_4m_prgbank");
// memory_set_bankptr(space->machine, "scd_4m_prgbank", segacd_4meg_prgram + segacd_4meg_prgbank * 0x20000 );
memory_install_read16_handler (space, 0x0020000, 0x003ffff, 0, 0, scd_4m_prgbank_ram_r );
memory_install_write16_handler (space, 0x0020000, 0x003ffff, 0, 0, scd_4m_prgbank_ram_w );
segacd_wordram_mapped = 1;
@ -6138,7 +6138,7 @@ static MACHINE_RESET( segacd )
// I'm not sure what the source of this timing problem is, it's not using IRQ3 or StopWatch at the
// time. Changing the CDHock timer to 50hz from 75hz also stops the hang, but then the video is
// too slow and has bad sound. -- Investigate!
_segacd_68k_cpu->set_clock_scale(1.5000f);
}
@ -6203,7 +6203,7 @@ static READ16_HANDLER( segacd_sub_dataram_part1_r )
}
else if ((scd_rammode&2)==RAM_MODE_1MEG)
{
// printf("Unspported: segacd_sub_dataram_part1_r in mode 1 (Word RAM Expander - 1 Byte Per Pixel)\n");
// printf("Unspported: segacd_sub_dataram_part1_r in mode 1 (Word RAM Expander - 1 Byte Per Pixel)\n");
UINT16 data;
if (scd_rammode&1)
@ -6224,7 +6224,7 @@ static READ16_HANDLER( segacd_sub_dataram_part1_r )
return ((data & 0xf000) >> 4) | ((data & 0x0f00) >> 8);
}
}
return 0x0000;
@ -6248,13 +6248,13 @@ static WRITE16_HANDLER( segacd_sub_dataram_part1_w )
else if ((scd_rammode&2)==RAM_MODE_1MEG)
{
//if (mem_mask==0xffff)
// printf("Unspported: segacd_sub_dataram_part1_w in mode 1 (Word RAM Expander - 1 Byte Per Pixel) %04x %04x\n", data, mem_mask);
// printf("Unspported: segacd_sub_dataram_part1_w in mode 1 (Word RAM Expander - 1 Byte Per Pixel) %04x %04x\n", data, mem_mask);
data = (data & 0x000f) | (data & 0x0f00)>>4;
mem_mask = (mem_mask & 0x000f) | (mem_mask & 0x0f00)>>4;
// data = ((data & 0x00f0) >>4) | (data & 0xf000)>>8;
// mem_mask = ((mem_mask & 0x00f0)>>4) | ((mem_mask & 0xf000)>>8);
// data = ((data & 0x00f0) >>4) | (data & 0xf000)>>8;
// mem_mask = ((mem_mask & 0x00f0)>>4) | ((mem_mask & 0xf000)>>8);
if (!(offset&1))
@ -6272,7 +6272,7 @@ static WRITE16_HANDLER( segacd_sub_dataram_part1_w )
segacd_1meg_mode_word_write(space->machine, offset/2+0x20000/2, data, mem_mask, 1);
}
// printf("Unspported: segacd_sub_dataram_part1_w in mode 1 (Word RAM Expander - 1 Byte Per Pixel) %04x\n", data);
// printf("Unspported: segacd_sub_dataram_part1_w in mode 1 (Word RAM Expander - 1 Byte Per Pixel) %04x\n", data);
}
}
@ -9337,7 +9337,7 @@ MACHINE_RESET( megadriv )
if (genesis_other_hacks)
{
// set_refresh_rate(megadriv_framerate);
// machine->device("maincpu")->set_clock_scale(0.9950f); /* Fatal Rewind is very fussy... (and doesn't work now anyway, so don't bother with this) */
// machine->device("maincpu")->set_clock_scale(0.9950f); /* Fatal Rewind is very fussy... (and doesn't work now anyway, so don't bother with this) */
memset(megadrive_ram,0x00,0x10000);
}

View File

@ -219,7 +219,7 @@ int stepper_update(int which, UINT8 pattern)
step[which].phase = (step[which].step_pos % 8);
step[which].pattern = pattern;
// index = (step[which].old_pattern << 4) | pattern;
// index = (step[which].old_pattern << 4) | pattern;
switch ( step[which].type )
{
default:

View File

@ -10241,6 +10241,7 @@ Other Sun games
DRIVER( atworld ) /* (c) 2007 Amcoe - Around The World */
DRIVER( atworldd1 ) /* (c) 2007 Amcoe */
DRIVER( amclink ) /* (c) 200? Amcoe - Amcoe Link Control Box? */
DRIVER( fbdeluxe ) /* (c) 200? Amcoe - Amcoe Link Control Box? */
DRIVER( act2000 ) /* (c) 1999 Amcoe - Action 2000 */
DRIVER( act2000v1 ) /* (c) 1999 Amcoe */

View File

@ -54,7 +54,7 @@ SCREEN_UPDATE( twocrude )
flip_screen_set(screen->machine, !BIT(flip, 7));
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffer, 0x400);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffer, 0x400);
deco16ic_pf12_update(state->deco16ic, state->pf1_rowscroll, state->pf2_rowscroll);

View File

@ -275,7 +275,7 @@ SCREEN_UPDATE( mutantf )
deco16ic_tilemap_4_draw(state->deco16ic, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
deco16ic_tilemap_2_draw(state->deco16ic, bitmap, cliprect, 0, 0);
deco16ic_tilemap_3_draw(state->deco16ic, bitmap, cliprect, 0, 0);
if (priority & 1)
{

View File

@ -523,7 +523,7 @@ static void custom_tilemap_draw(
width_mask = src_bitmap0->width - 1;
height_mask = src_bitmap0->height - 1;
src_y = scrolly + starty;
for (y = starty; y < endy; y++)
{
@ -547,7 +547,7 @@ static void custom_tilemap_draw(
if (src_bitmap1)
{
p |= (*BITMAP_ADDR16(src_bitmap1, (src_y + column_offset) & height_mask, src_x) & combine_mask) << combine_shift;
p |= (*BITMAP_ADDR16(src_bitmap1, (src_y + column_offset) & height_mask, src_x) & combine_mask) << combine_shift;
}
src_x = (src_x + 1) & width_mask;
@ -586,7 +586,7 @@ static void custom_tilemap_draw(
{
UINT16 p2 = *BITMAP_ADDR16(src_bitmap1, (src_y + column_offset) & height_mask, src_x);
p = 0x200+( ((p&0x30)<<4) | (p&0x0f) | ((p2 & 0x0f)<<4));
}
}
}
src_x = (src_x + 1) & width_mask;

View File

@ -548,7 +548,7 @@ VIDEO_START( dragngun )
{
dragngun_state *state = machine->driver_data<dragngun_state>();
state->dirty_palette = auto_alloc_array(machine, UINT8, 4096);
memset(state->dirty_palette,0,4096);
state_save_register_global(machine, state->dragngun_sprite_ctrl);
@ -590,7 +590,7 @@ SCREEN_EOF( captaven )
SCREEN_EOF( dragngun )
{
}
@ -627,7 +627,7 @@ SCREEN_UPDATE( captaven )
deco16ic_tilemap_1_draw(state->deco16ic, bitmap, cliprect, 0, 4);
screen->machine->device<decospr_device>("spritegen")->set_alt_format(true);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x400);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x400);
return 0;
}
@ -651,7 +651,7 @@ SCREEN_UPDATE( dragngun )
// zooming sprite draw is very slow, and sprites are buffered.. however, one of the levels attempts to use
// partial updates for every line, which causes things to be very slow... the sprites appear to support
// multiple layers of alpha, so rendering to a buffer for layer isn't easy (maybe there are multiple sprite
// chips at work?)
// chips at work?)
//
// really, it needs optimizing .. the raster effects also need fixing properly, they're not correct using
// partial updates right now but the old buffering of scroll values was a hack and doesn't work properly
@ -686,7 +686,7 @@ SCREEN_UPDATE( fghthist )
deco16ic_pf12_update(state->deco16ic, state->pf1_rowscroll, state->pf2_rowscroll);
deco16ic_pf34_update(state->deco16ic, state->pf3_rowscroll, state->pf4_rowscroll);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x800, true);
screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x800, true);
/* Draw screen */
deco16ic_tilemap_4_draw(state->deco16ic, bitmap, cliprect, 0, 1);
@ -730,7 +730,7 @@ static void mixDualAlphaSprites(bitmap_t *bitmap, const rectangle *cliprect, con
bitmap_t* sprite0_mix_bitmap = machine->device<decospr_device>("spritegen1")->get_sprite_temp_bitmap();
bitmap_t* sprite1_mix_bitmap = machine->device<decospr_device>("spritegen2")->get_sprite_temp_bitmap();
/* Mix sprites into main bitmap, based on priority & alpha */
for (y=8; y<248; y++) {
UINT8* tilemapPri=BITMAP_ADDR8(machine->priority_bitmap, y, 0);
@ -875,10 +875,10 @@ SCREEN_UPDATE( nslasher )
screen->machine->device<decospr_device>("spritegen1")->set_pix_raw_shift(8);
screen->machine->device<decospr_device>("spritegen2")->set_pix_raw_shift(8);
screen->machine->device<decospr_device>("spritegen1")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x800, true);
screen->machine->device<decospr_device>("spritegen2")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_2_buffered, 0x800, true);
screen->machine->device<decospr_device>("spritegen1")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_buffered, 0x800, true);
screen->machine->device<decospr_device>("spritegen2")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram16_2_buffered, 0x800, true);
/* Render alpha-blended tilemap to seperate buffer for proper mixing */
bitmap_fill(state->tilemap_alpha_bitmap,cliprect,0);

View File

@ -8,7 +8,7 @@
see m_sprite_bitmap... (note, if using that you must also use BITMAP_FORMAT_RGB32 in the machine config)
used by:
dblewing.c
tumblep.c
dietgo.c
@ -138,28 +138,28 @@ void decospr_device_config::set_gfx_region(device_config *device, int gfxregion)
{
decospr_device_config *dev = downcast<decospr_device_config *>(device);
dev->m_gfxregion = gfxregion;
// printf("decospr_device_config::set_gfx_region()\n");
// printf("decospr_device_config::set_gfx_region()\n");
}
void decospr_device_config::set_pri_callback(device_config *device, decospr_priority_callback_func callback)
{
decospr_device_config *dev = downcast<decospr_device_config *>(device);
dev->m_pricallback = callback;
// printf("decospr_device_config::set_pri_callback()\n");
// printf("decospr_device_config::set_pri_callback()\n");
}
decospr_device::decospr_device(running_machine &_machine, const decospr_device_config &config)
: device_t(_machine, config),
m_config(config),
m_gfxregion(m_config.m_gfxregion),
m_gfxregion(m_config.m_gfxregion),
m_pricallback(m_config.m_pricallback)
{
}
void decospr_device::device_start()
{
// sprite_kludge_x = sprite_kludge_y = 0;
// printf("decospr_device::device_start()\n");
// sprite_kludge_x = sprite_kludge_y = 0;
// printf("decospr_device::device_start()\n");
m_sprite_bitmap = 0;
m_alt_format = 0;
m_pixmask = 0xf;
@ -174,8 +174,8 @@ void decospr_device::device_reset()
/*
void decospr_device::decospr_sprite_kludge(int x, int y)
{
sprite_kludge_x = x;
sprite_kludge_y = y;
sprite_kludge_x = x;
sprite_kludge_y = y;
}
*/
@ -227,7 +227,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
while (offs!=end)
{
int x, y, sprite, colour, multi, mult2, fx, fy, inc, flash, mult, h, w, pri;
if (!m_alt_format)
{
@ -241,7 +241,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
{
x = spriteram[offs + 2];
if (!m_sprite_bitmap)
colour = (x >> 9) & 0x1f;
else
@ -250,7 +250,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
if (y&0x8000) colour |= 0x80; // fghthist uses this to mark priority
}
if (m_pricallback)
pri = m_pricallback(x);
else
@ -317,10 +317,10 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y)-16))
{
if(!m_sprite_bitmap)
{
{
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y)-16))
{
if (m_pricallback)
if (m_pricallback)
pdrawgfx_transpen(bitmap,cliprect,machine->gfx[m_gfxregion],
sprite - multi * inc,
colour,
@ -335,11 +335,11 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
x,ypos,
0);
}
// double wing uses this flag
if (w)
{
if (m_pricallback)
{
if (m_pricallback)
pdrawgfx_transpen(bitmap,cliprect,machine->gfx[m_gfxregion],
(sprite - multi * inc)-mult2,
colour,
@ -356,7 +356,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
}
}
else
{
{
// if we have a sprite bitmap draw raw data to it for manual mixing
drawgfx_transpen_raw(m_sprite_bitmap,cliprect,machine->gfx[m_gfxregion],
sprite - multi * inc,
@ -365,7 +365,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
x,ypos,
0);
if (w)
{
{
drawgfx_transpen_raw(m_sprite_bitmap,cliprect,machine->gfx[m_gfxregion],
(sprite - multi * inc)-mult2,
colour<<m_raw_shift,
@ -373,7 +373,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
x-16,ypos,
0);
}
}
}
@ -437,10 +437,10 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
{
for (int yy=0; yy<h; yy++)
{
if(!m_sprite_bitmap)
{
if (m_pricallback)
if (m_pricallback)
{
ypos = y + mult2 * (h-yy);
@ -455,7 +455,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
}
ypos -= 512; // wrap-around y
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y-16)))
{
pdrawgfx_transpen(bitmap,cliprect,machine->gfx[m_gfxregion],
@ -480,9 +480,9 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
x + mult * (w-xx),ypos,
0);
}
ypos -= 512; // wrap-around y
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y-16)))
{
drawgfx_transpen(bitmap,cliprect,machine->gfx[m_gfxregion],
@ -497,7 +497,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
else
{
ypos = y + mult2 * (h-yy);
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y)-16))
{
drawgfx_transpen_raw(m_sprite_bitmap,cliprect,machine->gfx[m_gfxregion],
@ -509,7 +509,7 @@ void decospr_device::draw_sprites( running_machine *machine, bitmap_t *bitmap, c
}
ypos -= 512; // wrap-around y
if ((ypos<=cliprect->max_y) && (ypos>=(cliprect->min_y-16)))
{
drawgfx_transpen_raw(m_sprite_bitmap,cliprect,machine->gfx[m_gfxregion],
@ -546,7 +546,7 @@ void decospr_device::inefficient_copy_sprite_bitmap(running_machine* machine, bi
{
srcline= BITMAP_ADDR16(m_sprite_bitmap, y, 0);
dstline= BITMAP_ADDR32(bitmap, y, 0);
if (alpha==0xff)
{
for (x=cliprect->min_x;x<=cliprect->max_x;x++)
@ -558,7 +558,7 @@ void decospr_device::inefficient_copy_sprite_bitmap(running_machine* machine, bi
if ((pix & priority_mask) ==pri )
{
dstline[x] = paldata[(pix&palmask) + colbase];
}
}
}
}
}
@ -575,9 +575,9 @@ void decospr_device::inefficient_copy_sprite_bitmap(running_machine* machine, bi
UINT32 pal1 = paldata[(pix&palmask) + colbase];
UINT32 pal2 = dstline[x];
dstline[x] = alpha_blend_r32(pal2, pal1, alpha);
}
}
}
}
}
}
}
}

View File

@ -1145,7 +1145,7 @@ static void draw_model(running_machine *machine, UINT32 addr)
float dot;
int intensity;
int polygon_transparency;
//
// Header bits:
//
@ -1167,7 +1167,7 @@ static void draw_model(running_machine *machine, UINT32 addr)
//
// 3:FFFFFF00 - polygon normal Z coordinate, 2.22
// 3:00000038 - texture width, in tiles
// 3:00000007 - texture height, in tiles
// 3:00000007 - texture height, in tiles
//
// 4:FFFFFF00 - RGB lighting color
// 4:00000040 - texture page

View File

@ -28,7 +28,7 @@ static void psychic5_change_palette(running_machine *machine, int color, int off
psychic5_state *state = machine->driver_data<psychic5_state>();
UINT8 lo = state->ps5_palette_ram[offset & ~1];
UINT8 hi = state->ps5_palette_ram[offset | 1];
jal_blend_set(color, hi & 0x0f);
jal_blend_set(color, hi & 0x0f);
palette_set_color_rgb(machine, color, pal4bit(lo >> 4), pal4bit(lo), pal4bit(hi >> 4));
}

View File

@ -4,11 +4,11 @@
- used by suprnova.c
galpani3.c
jchan.c
jchan.c
- ToDo:
Get rid of sprite position kludges
Fix zooming precision/rounding (most noticable on jchan backgrounds)
Fix zooming precision/rounding (most noticable on jchan backgrounds)
*/

View File

@ -245,7 +245,7 @@ static void funystrp_draw_sprites(running_machine *machine, bitmap_t *bitmap,con
int number = (state->spriteram[i] & 0xff) + (attr & 0xf)*256;
if (attr2 & 0x80) sx += 256;
drawgfx_transpen(bitmap,cliprect,gfx,number,
(attr2 & 0x7f),attr & 0x40,attr & 0x80,
sx-8,sy,0);

View File

@ -645,7 +645,7 @@ SCREEN_UPDATE(skns)
}
bitmap_fill(sprite_bitmap, cliprect, 0x0000);
if (suprnova_alt_enable_sprites)
state->spritegen->skns_draw_sprites(screen->machine, sprite_bitmap, cliprect, screen->machine->generic.spriteram.u32, screen->machine->generic.spriteram_size, screen->machine->region("gfx1")->base(), screen->machine->region ("gfx1")->bytes(), skns_spc_regs );

View File

@ -1081,7 +1081,7 @@ static void sdlinput_register_keyboards(running_machine *machine)
snprintf(defname, sizeof(defname)-1, "%s", key_trans_table[keynum].ui_name);
// add the item to the device
// printf("Keynum %d => sdl key %d\n", keynum, OSD_SDL_INDEX(key_trans_table[keynum].sdl_key));
// printf("Keynum %d => sdl key %d\n", keynum, OSD_SDL_INDEX(key_trans_table[keynum].sdl_key));
input_device_item_add(devinfo->device, defname, &devinfo->keyboard.state[OSD_SDL_INDEX(key_trans_table[keynum].sdl_key)], itemid, generic_button_get_state);
}
@ -1306,7 +1306,7 @@ void sdlinput_poll(running_machine *machine)
switch(event.type) {
case SDL_KEYDOWN:
devinfo = generic_device_find_index( keyboard_list, keyboard_map.logical[event.key.which]);
// printf("Key down %d %d %s => %d %s (scrlock keycode is %d)\n", event.key.which, event.key.keysym.scancode, devinfo->name, OSD_SDL_INDEX_KEYSYM(&event.key.keysym), sdl_key_trans_table[event.key.keysym.scancode].mame_key_name, KEYCODE_SCRLOCK);
// printf("Key down %d %d %s => %d %s (scrlock keycode is %d)\n", event.key.which, event.key.keysym.scancode, devinfo->name, OSD_SDL_INDEX_KEYSYM(&event.key.keysym), sdl_key_trans_table[event.key.keysym.scancode].mame_key_name, KEYCODE_SCRLOCK);
devinfo->keyboard.state[OSD_SDL_INDEX_KEYSYM(&event.key.keysym)] = 0x80;
#if (!SDL_VERSION_ATLEAST(1,3,0))
ui_input_push_char_event(machine, sdl_window_list->target, (unicode_char) event.key.keysym.unicode);
@ -1611,8 +1611,8 @@ void sdl_osd_interface::customize_input_type_list(input_type_desc *typelist)
#else
mameid_code = lookup_mame_code("ITEM_ID_SCRLOCK");
#endif
}
else
}
else
{
snprintf(fullmode, 63, "ITEM_ID_%s", uimode);
mameid_code = lookup_mame_code(fullmode);

View File

@ -38,4 +38,4 @@
***************************************************************************/
extern const char build_version[];
const char build_version[] = "0.141u3 ("__DATE__")";
const char build_version[] = "0.141u4 ("__DATE__")";