Cleanups and version bump.
This commit is contained in:
parent
173642d46c
commit
9ef0bcf8f2
@ -83,7 +83,7 @@ struct _audit_record
|
||||
const char * name; /* name of item */
|
||||
UINT32 explength; /* expected length of item */
|
||||
UINT32 length; /* actual length of item */
|
||||
hash_collection exphashes; /* expected hash data */
|
||||
hash_collection exphashes; /* expected hash data */
|
||||
hash_collection hashes; /* actual hash information */
|
||||
};
|
||||
|
||||
|
@ -892,7 +892,7 @@ INLINE void BUMP_DI(i386_state *cpustate,int adjustment)
|
||||
|
||||
|
||||
/***********************************************************************************
|
||||
I/O ACCESS
|
||||
I/O ACCESS
|
||||
***********************************************************************************/
|
||||
|
||||
INLINE UINT8 READPORT8(i386_state *cpustate, offs_t port)
|
||||
|
@ -6701,7 +6701,7 @@ M68KMAKE_OP(movec, 32, rc, .)
|
||||
m68k->cacr = REG_DA[(word2 >> 12) & 15] & 0x0f;
|
||||
}
|
||||
|
||||
// logerror("movec to cacr=%04x\n", m68k->cacr);
|
||||
// logerror("movec to cacr=%04x\n", m68k->cacr);
|
||||
if (m68k->cacr & (M68K_CACR_CI | M68K_CACR_CEI))
|
||||
{
|
||||
m68ki_ic_clear(m68k);
|
||||
|
@ -1318,11 +1318,11 @@ static void fpgen_rm_reg(m68ki_cpu_core *m68k, UINT16 w2)
|
||||
m68k->remaining_cycles -= 109;
|
||||
break;
|
||||
}
|
||||
// case 0x0e: // FSIN
|
||||
// {
|
||||
// // TODO
|
||||
// break;
|
||||
// }
|
||||
// case 0x0e: // FSIN
|
||||
// {
|
||||
// // TODO
|
||||
// break;
|
||||
// }
|
||||
case 0x18: // FABS
|
||||
{
|
||||
REG_FP[dst] = source;
|
||||
|
@ -118,7 +118,7 @@ file_enumerator::~file_enumerator()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// next - return information about the next file
|
||||
// next - return information about the next file
|
||||
// in the search path
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -213,11 +213,11 @@ hash_collection &emu_file::hashes(const char *types)
|
||||
for (const char *scan = types; *scan != 0; scan++)
|
||||
if (m_hashes.hash(*scan) == NULL)
|
||||
needed.cat(*scan);
|
||||
|
||||
|
||||
// if we need nothing, skip it
|
||||
if (!needed)
|
||||
return m_hashes;
|
||||
|
||||
|
||||
// load the ZIP file if needed
|
||||
if (m_zipfile != NULL && load_zipped_file() != FILERR_NONE)
|
||||
return m_hashes;
|
||||
@ -323,7 +323,7 @@ file_error emu_file::open_next()
|
||||
// if we're open from a previous attempt, close up now
|
||||
if (m_file != NULL)
|
||||
close();
|
||||
|
||||
|
||||
// loop over paths
|
||||
file_error filerr = FILERR_NOT_FOUND;
|
||||
while (m_iterator.next(m_fullpath))
|
||||
@ -351,7 +351,7 @@ file_error emu_file::open_next()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// open_ram - open a "file" which is actually
|
||||
// open_ram - open a "file" which is actually
|
||||
// just an array of data in RAM
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -360,7 +360,7 @@ file_error emu_file::open_ram(const void *data, UINT32 length)
|
||||
// set a fake filename and CRC
|
||||
m_filename = "RAM";
|
||||
m_crc = 0;
|
||||
|
||||
|
||||
// use the core_file's built-in RAM support
|
||||
return core_fopen_ram(data, length, m_openflags, &m_file);
|
||||
}
|
||||
@ -377,19 +377,19 @@ void emu_file::close()
|
||||
if (m_zipfile != NULL)
|
||||
zip_file_close(m_zipfile);
|
||||
m_zipfile = NULL;
|
||||
|
||||
|
||||
if (m_file != NULL)
|
||||
core_fclose(m_file);
|
||||
m_file = NULL;
|
||||
|
||||
|
||||
if (m_zipdata != NULL)
|
||||
global_free(m_zipdata);
|
||||
m_zipdata = NULL;
|
||||
|
||||
|
||||
if (m_remove_on_close)
|
||||
osd_rmfile(m_fullpath);
|
||||
m_remove_on_close = false;
|
||||
|
||||
|
||||
// reset our hashes and path as well
|
||||
m_hashes.reset();
|
||||
m_fullpath.reset();
|
||||
|
@ -97,10 +97,10 @@ class path_iterator
|
||||
public:
|
||||
// construction/destruction
|
||||
path_iterator(core_options &options, const char *searchpath = "");
|
||||
|
||||
|
||||
// getters
|
||||
bool next(astring &buffer);
|
||||
|
||||
|
||||
// reset
|
||||
void reset() { m_current = m_base; m_index = 0; }
|
||||
|
||||
@ -145,7 +145,7 @@ public:
|
||||
emu_file(core_options &options, const char *searchpath, UINT32 openflags);
|
||||
virtual ~emu_file();
|
||||
|
||||
// getters
|
||||
// getters
|
||||
operator core_file *();
|
||||
bool open() const { return (m_file != NULL); }
|
||||
const char *filename() const { return m_filename; }
|
||||
@ -169,33 +169,33 @@ public:
|
||||
file_error open_next();
|
||||
file_error open_ram(const void *data, UINT32 length);
|
||||
void close();
|
||||
|
||||
|
||||
// control
|
||||
file_error compress(int compress);
|
||||
int seek(INT64 offset, int whence);
|
||||
UINT64 tell();
|
||||
bool eof();
|
||||
UINT64 size();
|
||||
|
||||
|
||||
// reading
|
||||
UINT32 read(void *buffer, UINT32 length);
|
||||
int getc();
|
||||
int ungetc(int c);
|
||||
char *gets(char *s, int n);
|
||||
|
||||
|
||||
// writing
|
||||
UINT32 write(const void *buffer, UINT32 length);
|
||||
int puts(const char *s);
|
||||
int vprintf(const char *fmt, va_list va);
|
||||
int printf(const char *fmt, ...);
|
||||
|
||||
|
||||
private:
|
||||
// internal helpers
|
||||
file_error attempt_zipped();
|
||||
file_error load_zipped_file();
|
||||
bool zip_filename_match(const zip_file_header &header, const astring &filename);
|
||||
bool zip_header_is_path(const zip_file_header &header);
|
||||
|
||||
|
||||
// internal state
|
||||
astring m_filename; // original filename provided
|
||||
astring m_fullpath; // full filename
|
||||
|
@ -59,7 +59,7 @@ public:
|
||||
// construction/destruction
|
||||
hash_crc();
|
||||
|
||||
// operators
|
||||
// operators
|
||||
operator UINT32() const { return (m_buffer[0] << 24) | (m_buffer[1] << 16) | (m_buffer[2] << 8) | m_buffer[3]; }
|
||||
|
||||
// creation
|
||||
@ -153,11 +153,11 @@ hash_base::hash_base(char id, const char *name, UINT8 length, UINT8 *bufptr)
|
||||
|
||||
int hash_base::fromhex(char c)
|
||||
{
|
||||
if (c >= '0' && c <= '9')
|
||||
if (c >= '0' && c <= '9')
|
||||
return c - '0';
|
||||
else if (c >= 'A' && c <= 'F')
|
||||
else if (c >= 'A' && c <= 'F')
|
||||
return c - 'A' + 10;
|
||||
else if (c >= 'a' && c <= 'f')
|
||||
else if (c >= 'a' && c <= 'f')
|
||||
return (c - 'a' + 10);
|
||||
else
|
||||
return -1;
|
||||
@ -194,7 +194,7 @@ const char *hash_base::string(astring &buffer)
|
||||
|
||||
//-------------------------------------------------
|
||||
// from_string - parse a string into the current
|
||||
// hash
|
||||
// hash
|
||||
//-------------------------------------------------
|
||||
|
||||
bool hash_base::from_string(const char *&string, int length)
|
||||
@ -209,7 +209,7 @@ bool hash_base::from_string(const char *&string, int length)
|
||||
string++;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// fail if we're too short
|
||||
if (length < 2 * m_length)
|
||||
return false;
|
||||
@ -224,7 +224,7 @@ bool hash_base::from_string(const char *&string, int length)
|
||||
m_parse_error = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// parse the lower digit
|
||||
int lower = fromhex(string[1]);
|
||||
if (lower == -1)
|
||||
@ -233,14 +233,14 @@ bool hash_base::from_string(const char *&string, int length)
|
||||
return false;
|
||||
}
|
||||
|
||||
// set the byte and advance
|
||||
// set the byte and advance
|
||||
m_bufptr[index] = (upper << 4) | lower;
|
||||
string += 2;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// HASH CRC
|
||||
@ -508,7 +508,7 @@ void hash_collection::reset()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// add_from_buffer - add a new hash, importing
|
||||
// add_from_buffer - add a new hash, importing
|
||||
// from a buffer
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -523,21 +523,21 @@ hash_base *hash_collection::add_from_buffer(char type, const UINT8 *buffer, int
|
||||
hash_base *newhash = alloc_by_id(type);
|
||||
if (newhash == NULL)
|
||||
return NULL;
|
||||
|
||||
|
||||
// then import
|
||||
if (!newhash->from_buffer(buffer, bufflen))
|
||||
{
|
||||
global_free(newhash);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// and append to our list
|
||||
return &m_hashlist.append(*newhash);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// add_from_string - add a new hash, importing
|
||||
// add_from_string - add a new hash, importing
|
||||
// from a string
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -552,14 +552,14 @@ hash_base *hash_collection::add_from_string(char type, const char *buffer, int l
|
||||
hash_base *newhash = alloc_by_id(type);
|
||||
if (newhash == NULL)
|
||||
return NULL;
|
||||
|
||||
|
||||
// then import
|
||||
if (!newhash->from_string(buffer, length))
|
||||
{
|
||||
global_free(newhash);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// and append to our list
|
||||
return &m_hashlist.append(*newhash);
|
||||
}
|
||||
@ -578,7 +578,7 @@ bool hash_collection::remove(char type)
|
||||
m_hashlist.remove(*hash);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// didn't find it
|
||||
return false;
|
||||
}
|
||||
@ -613,22 +613,22 @@ hash_base *hash_collection::add_crc(UINT32 crc)
|
||||
buffer[1] = crc >> 16;
|
||||
buffer[2] = crc >> 8;
|
||||
buffer[3] = crc >> 0;
|
||||
|
||||
|
||||
// add it the standard way
|
||||
return add_from_buffer(HASH_CRC, buffer, sizeof(buffer));
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// internal_string - convert set of hashes and
|
||||
// flags to a string in our internal compact
|
||||
// internal_string - convert set of hashes and
|
||||
// flags to a string in our internal compact
|
||||
// format
|
||||
//-------------------------------------------------
|
||||
|
||||
const char *hash_collection::internal_string(astring &buffer) const
|
||||
{
|
||||
astring temp;
|
||||
|
||||
|
||||
// output hashes first
|
||||
buffer.reset();
|
||||
for (hash_base *hash = m_hashlist.first(); hash != NULL; hash = hash->next())
|
||||
@ -641,7 +641,7 @@ const char *hash_collection::internal_string(astring &buffer) const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// macro_string - convert set of hashes and
|
||||
// macro_string - convert set of hashes and
|
||||
// flags to a string in the macroized format
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -679,14 +679,14 @@ bool hash_collection::from_internal_string(const char *string)
|
||||
// determine the end of the string
|
||||
const char *stringend = string + strlen(string);
|
||||
const char *ptr = string;
|
||||
|
||||
|
||||
// loop until we hit it
|
||||
bool errors = false;
|
||||
while (ptr < stringend)
|
||||
{
|
||||
char c = *ptr++;
|
||||
char lc = tolower(c);
|
||||
|
||||
|
||||
// non-hex alpha values specify a hash type
|
||||
if (lc >= 'g' && lc <= 'z')
|
||||
{
|
||||
@ -700,11 +700,11 @@ bool hash_collection::from_internal_string(const char *string)
|
||||
else
|
||||
errors = true;
|
||||
}
|
||||
|
||||
|
||||
// hex values are ignored, though unexpected
|
||||
else if ((lc >= '0' && lc <= '9') || (lc >= 'a' && lc <= 'f'))
|
||||
errors = true;
|
||||
|
||||
|
||||
// anything else is a flag
|
||||
else
|
||||
m_flags.cat(c);
|
||||
@ -726,7 +726,7 @@ void hash_collection::begin(const char *types)
|
||||
m_hashlist.append(*alloc_by_id(HASH_MD5)).begin();
|
||||
m_hashlist.append(*alloc_by_id(HASH_SHA1)).begin();
|
||||
}
|
||||
|
||||
|
||||
// otherwise, just allocate the ones that are specified
|
||||
else
|
||||
{
|
||||
@ -736,7 +736,7 @@ void hash_collection::begin(const char *types)
|
||||
hash_base *existing = hash(*scan);
|
||||
if (existing != NULL)
|
||||
m_hashlist.remove(*existing);
|
||||
|
||||
|
||||
// append a new one
|
||||
m_hashlist.append(*alloc_by_id(*scan)).begin();
|
||||
}
|
||||
@ -771,7 +771,7 @@ void hash_collection::end()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// alloc_by_id - based on the ID character,
|
||||
// alloc_by_id - based on the ID character,
|
||||
// allocate a new hash
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -788,7 +788,7 @@ hash_base *hash_collection::alloc_by_id(char id)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// copyfrom - copy everything from another
|
||||
// copyfrom - copy everything from another
|
||||
// collection
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -796,7 +796,7 @@ void hash_collection::copyfrom(const hash_collection &src)
|
||||
{
|
||||
// copy flags directly
|
||||
m_flags = src.m_flags;
|
||||
|
||||
|
||||
// rebuild the hashlist by copying from the source
|
||||
m_hashlist.reset();
|
||||
for (hash_base *hash = src.first(); hash != NULL; hash = hash->next())
|
||||
|
@ -73,11 +73,11 @@ class hash_base
|
||||
public:
|
||||
// construction/destruction
|
||||
hash_base(char id, const char *name, UINT8 length, UINT8 *bufptr);
|
||||
|
||||
|
||||
// operators
|
||||
bool operator==(const hash_base &rhs) const { return (m_length == rhs.m_length && memcmp(m_bufptr, rhs.m_bufptr, m_length) == 0); }
|
||||
bool operator!=(const hash_base &rhs) const { return (m_length != rhs.m_length || memcmp(m_bufptr, rhs.m_bufptr, m_length) != 0); }
|
||||
|
||||
|
||||
// getters
|
||||
hash_base *next() const { return m_next; }
|
||||
char id() const { return m_id; }
|
||||
@ -86,24 +86,24 @@ public:
|
||||
bool in_progress() const { return m_in_progress; }
|
||||
bool parse_error() const { return m_parse_error; }
|
||||
UINT8 byte(int index) const { return (index >= 0 && index < m_length) ? m_bufptr[index] : 0; }
|
||||
|
||||
|
||||
// buffer conversion
|
||||
const UINT8 *buffer() { return m_bufptr; }
|
||||
bool from_buffer(const UINT8 *buffer, int buflen);
|
||||
|
||||
|
||||
// string conversion
|
||||
const char *string(astring &buffer);
|
||||
bool from_string(const char *&string, int length);
|
||||
|
||||
|
||||
// creation
|
||||
virtual void begin() = 0;
|
||||
virtual void buffer(const UINT8 *data, UINT32 length) = 0;
|
||||
virtual void end() = 0;
|
||||
|
||||
|
||||
protected:
|
||||
// internal helpers
|
||||
int fromhex(char c);
|
||||
|
||||
|
||||
// internal state
|
||||
hash_base * m_next;
|
||||
const char * m_name;
|
||||
@ -125,12 +125,12 @@ public:
|
||||
static const char HASH_CRC = 'R';
|
||||
static const char HASH_MD5 = 'M';
|
||||
static const char HASH_SHA1 = 'S';
|
||||
|
||||
|
||||
// common combinations for requests
|
||||
static const char *HASH_TYPES_CRC;
|
||||
static const char *HASH_TYPES_CRC_SHA1;
|
||||
static const char *HASH_TYPES_ALL;
|
||||
|
||||
|
||||
// flags are identified by punctuation marks
|
||||
static const char FLAG_NO_DUMP = '!';
|
||||
static const char FLAG_BAD_DUMP = '^';
|
||||
@ -140,7 +140,7 @@ public:
|
||||
hash_collection(const char *string);
|
||||
hash_collection(const hash_collection &src);
|
||||
~hash_collection();
|
||||
|
||||
|
||||
// operators
|
||||
hash_collection &operator=(const hash_collection &src);
|
||||
bool operator==(const hash_collection &rhs) const;
|
||||
@ -158,16 +158,16 @@ public:
|
||||
hash_base *add_from_buffer(char type, const UINT8 *buffer, int bufflen);
|
||||
hash_base *add_from_string(char type, const char *buffer, int length);
|
||||
bool remove(char type);
|
||||
|
||||
|
||||
// CRC-specific helpers
|
||||
bool crc(UINT32 &result);
|
||||
hash_base *add_crc(UINT32 crc);
|
||||
|
||||
// string conversion
|
||||
// string conversion
|
||||
const char *internal_string(astring &buffer) const;
|
||||
const char *macro_string(astring &buffer) const;
|
||||
bool from_internal_string(const char *string);
|
||||
|
||||
|
||||
// creation
|
||||
void begin(const char *types = NULL);
|
||||
void buffer(const UINT8 *data, UINT32 length);
|
||||
@ -181,7 +181,7 @@ private:
|
||||
|
||||
// internal state
|
||||
astring m_flags;
|
||||
simple_list<hash_base> m_hashlist;
|
||||
simple_list<hash_base> m_hashlist;
|
||||
};
|
||||
|
||||
|
||||
|
@ -195,7 +195,7 @@ static multicart_open_error load_rom_resource(multicart_load_state *state, xml_d
|
||||
{
|
||||
hash_collection actual_hashes;
|
||||
actual_hashes.compute((const UINT8 *)resource->ptr, resource->length, hash_collection::HASH_TYPES_CRC_SHA1);
|
||||
|
||||
|
||||
hash_collection expected_hashes;
|
||||
expected_hashes.add_from_string(hash_collection::HASH_SHA1, sha1, strlen(sha1));
|
||||
|
||||
|
@ -456,7 +456,7 @@ static const char *get_merge_name(const hash_collection &romhashes, int parents,
|
||||
{
|
||||
int parent;
|
||||
const char *merge_name = NULL;
|
||||
|
||||
|
||||
for (parent = 0; parent < parents; ++parent)
|
||||
{
|
||||
const machine_config *pconfig = &pinfoarray[parent]->mconfig;
|
||||
@ -1054,7 +1054,7 @@ static void print_game_info(FILE *out, const game_driver *game)
|
||||
input_port_list_init(portlist, cfg->input_ports(), NULL, 0, FALSE, cfg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* print the header and the game name */
|
||||
fprintf(out, "\t<" XML_TOP);
|
||||
fprintf(out, " name=\"%s\"", xml_normalize_string(game->name) );
|
||||
|
@ -1003,7 +1003,7 @@ time_t input_port_init(running_machine *machine, const input_port_token *tokens,
|
||||
if (config->input_ports()!=NULL) {
|
||||
input_port_list_init(machine->m_portlist, config->input_ports(), errorbuf, sizeof(errorbuf), TRUE, config);
|
||||
if (errorbuf[0] != 0)
|
||||
mame_printf_error("Input port errors:\n%s", errorbuf);
|
||||
mame_printf_error("Input port errors:\n%s", errorbuf);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2937,7 +2937,7 @@ static void port_config_detokenize(ioport_list &portlist, const input_port_token
|
||||
field_config_insert(curfield, &maskbits, errorbuf, errorbuflen);
|
||||
maskbits = 0;
|
||||
|
||||
string = TOKEN_GET_STRING(ipt);
|
||||
string = TOKEN_GET_STRING(ipt);
|
||||
if (owner!=NULL) {
|
||||
fulltag = core_strdup(owner->subtag(tempstring, string));
|
||||
} else {
|
||||
|
@ -11,7 +11,7 @@ class device_secure_serial_flash_config : public device_config,
|
||||
public:
|
||||
device_secure_serial_flash_config(const machine_config &mconfig, device_type type, const char *name, const char *tag, const device_config *owner, UINT32 clock, UINT32 param = 0);
|
||||
};
|
||||
|
||||
|
||||
class device_secure_serial_flash : public device_t,
|
||||
public device_nvram_interface
|
||||
{
|
||||
|
@ -335,7 +335,7 @@ void x76f041_device::scl_1()
|
||||
byte = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
bit = 0;
|
||||
shift = 0;
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ void x76f100_device::scl_0()
|
||||
sdar = shift & 1;
|
||||
shift >>= 1;
|
||||
bit++;
|
||||
|
||||
|
||||
if(bit == 8) {
|
||||
bit = 0;
|
||||
byte++;
|
||||
@ -265,7 +265,7 @@ void x76f100_device::scl_1()
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case STATE_READ_DATA:
|
||||
if(bit < 8) {
|
||||
if(bit == 0) {
|
||||
|
@ -152,7 +152,7 @@ private:
|
||||
astring m_string; // string for text components
|
||||
bitmap_t * m_bitmap; // source bitmap for images
|
||||
astring m_dirname; // directory name of image file (for lazy loading)
|
||||
emu_file * m_file; // file object for reading image/alpha files
|
||||
emu_file * m_file; // file object for reading image/alpha files
|
||||
astring m_imagefile; // name of the image file (for lazy loading)
|
||||
astring m_alphafile; // name of the alpha file (for lazy loading)
|
||||
bool m_hasalpha; // is there any alpha component present?
|
||||
|
@ -461,7 +461,7 @@ static void dump_wrong_and_correct_checksums(rom_load_data *romdata, const hash_
|
||||
romdata->errorstring.catprintf(" EXPECTED: %s\n", hashes.macro_string(tempstr));
|
||||
romdata->errorstring.catprintf(" FOUND: %s\n", acthashes.macro_string(tempstr));
|
||||
|
||||
// warn about any ill-formed hashes
|
||||
// warn about any ill-formed hashes
|
||||
for (hash_base *hash = hashes.first(); hash != NULL; hash = hash->next())
|
||||
if (hash->parse_error())
|
||||
{
|
||||
|
@ -164,7 +164,7 @@ public:
|
||||
const rectangle &visible_area() const { return m_visarea; }
|
||||
bitmap_format format() const { return m_config.m_format; }
|
||||
render_container &container() const { assert(m_container != NULL); return *m_container; }
|
||||
bool screen_update(bitmap_t &bitmap, const rectangle &cliprect);
|
||||
bool screen_update(bitmap_t &bitmap, const rectangle &cliprect);
|
||||
void screen_eof();
|
||||
|
||||
// dynamic configuration
|
||||
@ -286,7 +286,7 @@ private:
|
||||
#define SCREEN_EOF(name) void SCREEN_EOF_NAME(name)(screen_device *screen, running_machine *machine)
|
||||
#define SCREEN_EOF_CALL(name) SCREEN_EOF_NAME(name)(screen, machine)
|
||||
|
||||
#define screen_eof_0 NULL
|
||||
#define screen_eof_0 NULL
|
||||
|
||||
#define MCFG_SCREEN_ADD(_tag, _type) \
|
||||
MCFG_DEVICE_ADD(_tag, SCREEN, 0) \
|
||||
|
@ -293,7 +293,7 @@ static void add_info(software_list *swlist, char *feature_name, char *feature_va
|
||||
|
||||
/* First allocate the new entry */
|
||||
new_entry = (feature_list *)pool_malloc_lib(swlist->pool, sizeof(feature_list) );
|
||||
|
||||
|
||||
if ( new_entry )
|
||||
{
|
||||
new_entry->next = NULL;
|
||||
@ -455,7 +455,7 @@ static void start_handler(void *data, const char *tagname, const char **attribut
|
||||
elem->other_info->name = NULL;
|
||||
elem->other_info->value = NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Handle the supported flag */
|
||||
elem->supported = SOFTWARE_SUPPORTED_YES;
|
||||
if ( supported && ! strcmp( supported, "partial" ) )
|
||||
@ -502,37 +502,37 @@ static void start_handler(void *data, const char *tagname, const char **attribut
|
||||
{
|
||||
const char *str_feature_name = NULL;
|
||||
const char *str_feature_value = NULL;
|
||||
|
||||
|
||||
for ( ; attributes[0]; attributes += 2 )
|
||||
{
|
||||
if ( !strcmp( attributes[0], "name" ) )
|
||||
str_feature_name = attributes[1];
|
||||
|
||||
|
||||
if ( !strcmp( attributes[0], "value" ) )
|
||||
str_feature_value = attributes[1];
|
||||
}
|
||||
|
||||
|
||||
/* Prepare for adding feature to feature list */
|
||||
if ( str_feature_name && swlist->softinfo )
|
||||
{
|
||||
char *name = (char *)pool_malloc_lib(swlist->pool, ( strlen( str_feature_name ) + 1 ) * sizeof(char) );
|
||||
char *value = NULL;
|
||||
|
||||
|
||||
if ( !name )
|
||||
return;
|
||||
|
||||
|
||||
strcpy( name, str_feature_name );
|
||||
|
||||
|
||||
if ( str_feature_value )
|
||||
{
|
||||
value = (char *)pool_malloc_lib(swlist->pool, ( strlen( str_feature_value ) + 1 ) * sizeof(char) );
|
||||
|
||||
|
||||
if ( !value )
|
||||
return;
|
||||
|
||||
|
||||
strcpy( value, str_feature_value );
|
||||
}
|
||||
|
||||
|
||||
add_info( swlist, name, value );
|
||||
}
|
||||
}
|
||||
@ -862,7 +862,7 @@ static void end_handler(void *data, const char *name)
|
||||
if ( swlist->softinfo && swlist->softinfo->other_info )
|
||||
{
|
||||
feature_list *list = swlist->softinfo->other_info;
|
||||
|
||||
|
||||
while( list->next )
|
||||
{
|
||||
add_feature( swlist, list->next->name, list->next->value );
|
||||
|
@ -142,9 +142,9 @@ struct _SLOT
|
||||
#define SCILV1(aica) ((aica->udata.data[0xac/2]>>0x0)&0xff)
|
||||
#define SCILV2(aica) ((aica->udata.data[0xb0/2]>>0x0)&0xff)
|
||||
|
||||
#define MCIEB(aica) ((aica->udata.data[0xb4/2]>>0x0)&0xff)
|
||||
#define MCIPD(aica) ((aica->udata.data[0xb8/2]>>0x0)&0xff)
|
||||
#define MCIRE(aica) ((aica->udata.data[0xbc/2]>>0x0)&0xff)
|
||||
#define MCIEB(aica) ((aica->udata.data[0xb4/2]>>0x0)&0xff)
|
||||
#define MCIPD(aica) ((aica->udata.data[0xb8/2]>>0x0)&0xff)
|
||||
#define MCIRE(aica) ((aica->udata.data[0xbc/2]>>0x0)&0xff)
|
||||
|
||||
#define SCIEX0 0
|
||||
#define SCIEX1 1
|
||||
@ -880,7 +880,7 @@ static void AICA_UpdateRegR(aica_state *AICA, int reg)
|
||||
struct _SLOT *slot=AICA->Slots+slotnum;
|
||||
unsigned int CA = 0;
|
||||
|
||||
if (PCMS(slot) == 0) // 16-bit samples
|
||||
if (PCMS(slot) == 0) // 16-bit samples
|
||||
{
|
||||
CA = (slot->cur_addr>>(SHIFT-1))&AICA->RAM_MASK16;
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ bsmt2000_device_config::bsmt2000_device_config(const machine_config &mconfig, co
|
||||
device_config_sound_interface(mconfig, *this),
|
||||
device_config_memory_interface(mconfig, *this),
|
||||
m_space_config("samples", ENDIANNESS_LITTLE, 8, 32, 0, NULL, *ADDRESS_MAP_NAME(bsmt2000)),
|
||||
m_ready_callback(NULL)
|
||||
m_ready_callback(NULL)
|
||||
{
|
||||
m_shortname = "bsmt2000";
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ void oki_adpcm2_state::compute_tables()
|
||||
// compute the step value
|
||||
int stepval = floor(floatstep * 1.08f);
|
||||
floatstep = floatstep * 1.08f;
|
||||
|
||||
|
||||
// loop over all nibbles and compute the difference
|
||||
for (int nib = 0; nib < 16; nib++)
|
||||
{
|
||||
|
@ -18,7 +18,7 @@
|
||||
const device_type OKIM9810 = okim9810_device_config::static_alloc_device_config;
|
||||
|
||||
|
||||
// volume lookup table. The manual lists a full 16 steps, 2dB per step.
|
||||
// volume lookup table. The manual lists a full 16 steps, 2dB per step.
|
||||
// Given the dB values, that seems to map to a 7-bit volume control.
|
||||
const UINT8 okim9810_device::okim_voice::s_volume_table[16] =
|
||||
{
|
||||
@ -41,7 +41,7 @@ const UINT8 okim9810_device::okim_voice::s_volume_table[16] =
|
||||
};
|
||||
|
||||
// sampling frequency lookup table.
|
||||
const UINT32 okim9810_device::s_sampling_freq_table[16] =
|
||||
const UINT32 okim9810_device::s_sampling_freq_table[16] =
|
||||
{
|
||||
4000,
|
||||
8000,
|
||||
@ -199,7 +199,7 @@ void okim9810_device::sound_stream_update(sound_stream &stream, stream_sample_t
|
||||
// reset the output streams
|
||||
memset(outputs[0], 0, samples * sizeof(*outputs[0]));
|
||||
memset(outputs[1], 0, samples * sizeof(*outputs[1]));
|
||||
|
||||
|
||||
// iterate over voices and accumulate sample data
|
||||
for (int voicenum = 0; voicenum < OKIM9810_VOICES; voicenum++)
|
||||
m_voice[voicenum].generate_audio(*m_direct, outputs, samples, m_global_volume, clock(), m_filter_type);
|
||||
@ -242,19 +242,19 @@ void okim9810_device::write_command(UINT8 data)
|
||||
{
|
||||
const UINT8 cmd = (data & 0xf8) >> 3;
|
||||
const UINT8 channel = (data & 0x07);
|
||||
|
||||
|
||||
switch(cmd)
|
||||
{
|
||||
case 0x00: // START
|
||||
{
|
||||
mame_printf_debug("START channel mask %02x\n", m_TMP_register);
|
||||
mame_printf_debug("START channel mask %02x\n", m_TMP_register);
|
||||
UINT8 channelMask = 0x01;
|
||||
for (int i = 0; i < OKIM9810_VOICES; i++, channelMask <<= 1)
|
||||
{
|
||||
if (channelMask & m_TMP_register)
|
||||
{
|
||||
m_voice[i].m_playing = true;
|
||||
mame_printf_debug("\t\tPlaying channel %d: encoder type %d @ %dhz (volume = %d %d). From %08x for %d samples (looping=%d).\n",
|
||||
mame_printf_debug("\t\tPlaying channel %d: encoder type %d @ %dhz (volume = %d %d). From %08x for %d samples (looping=%d).\n",
|
||||
i,
|
||||
m_voice[i].m_playbackAlgo,
|
||||
m_voice[i].m_samplingFreq,
|
||||
@ -282,7 +282,7 @@ void okim9810_device::write_command(UINT8 data)
|
||||
break;
|
||||
}
|
||||
case 0x02: // LOOP
|
||||
{
|
||||
{
|
||||
mame_printf_debug("LOOP channel mask %02x\n", m_TMP_register);
|
||||
UINT8 channelMask = 0x01;
|
||||
for (int i = 0; i < OKIM9810_VOICES; i++, channelMask <<= 1)
|
||||
@ -313,11 +313,11 @@ void okim9810_device::write_command(UINT8 data)
|
||||
}
|
||||
case 0x04: // MUON (silence)
|
||||
{
|
||||
mame_printf_warning("MUON channel %d length %02x\n", channel, m_TMP_register);
|
||||
mame_printf_warning("MUON channel %d length %02x\n", channel, m_TMP_register);
|
||||
mame_printf_warning("MSM9810: UNIMPLEMENTED COMMAND!\n");
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case 0x05: // FADR (phrase address)
|
||||
{
|
||||
const offs_t base = m_TMP_register * 8;
|
||||
@ -343,7 +343,7 @@ void okim9810_device::write_command(UINT8 data)
|
||||
startAddr = m_direct->read_raw_byte(subTable + 1) << 16;
|
||||
startAddr |= m_direct->read_raw_byte(subTable + 2) << 8;
|
||||
startAddr |= m_direct->read_raw_byte(subTable + 3) << 0;
|
||||
|
||||
|
||||
// TODO: What does byte (subTable + 4) refer to?
|
||||
endAddr = m_direct->read_raw_byte(subTable + 5) << 16;
|
||||
endAddr |= m_direct->read_raw_byte(subTable + 6) << 8;
|
||||
@ -359,7 +359,7 @@ void okim9810_device::write_command(UINT8 data)
|
||||
|
||||
m_voice[channel].m_playbackAlgo = (startFlags & 0x30) >> 4;
|
||||
m_voice[channel].m_samplingFreq = s_sampling_freq_table[startFlags & 0x0f];
|
||||
if (m_voice[channel].m_playbackAlgo == OKIM9810_ADPCM_PLAYBACK ||
|
||||
if (m_voice[channel].m_playbackAlgo == OKIM9810_ADPCM_PLAYBACK ||
|
||||
m_voice[channel].m_playbackAlgo == OKIM9810_ADPCM2_PLAYBACK)
|
||||
m_voice[channel].m_count *= 2;
|
||||
else
|
||||
@ -388,13 +388,13 @@ void okim9810_device::write_command(UINT8 data)
|
||||
{
|
||||
const UINT8 leftVolIndex = (m_TMP_register & 0xf0) >> 4;
|
||||
const UINT8 rightVolIndex = m_TMP_register & 0x0f;
|
||||
mame_printf_debug("PAN channel %d left index: %02x right index: %02x (%02x)\n", channel, leftVolIndex, rightVolIndex, m_TMP_register);
|
||||
mame_printf_debug("\tChannel %d left -> %d right -> %d\n", channel, leftVolIndex, rightVolIndex);
|
||||
mame_printf_debug("PAN channel %d left index: %02x right index: %02x (%02x)\n", channel, leftVolIndex, rightVolIndex, m_TMP_register);
|
||||
mame_printf_debug("\tChannel %d left -> %d right -> %d\n", channel, leftVolIndex, rightVolIndex);
|
||||
m_voice[channel].m_pan_volume_left = leftVolIndex;
|
||||
m_voice[channel].m_pan_volume_right = rightVolIndex;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
default:
|
||||
{
|
||||
mame_printf_warning("MSM9810: UNKNOWN COMMAND!\n");
|
||||
break;
|
||||
@ -456,8 +456,8 @@ okim9810_device::okim_voice::okim_voice()
|
||||
// add them to an output stream
|
||||
//-------------------------------------------------
|
||||
|
||||
void okim9810_device::okim_voice::generate_audio(direct_read_data &direct,
|
||||
stream_sample_t **buffers,
|
||||
void okim9810_device::okim_voice::generate_audio(direct_read_data &direct,
|
||||
stream_sample_t **buffers,
|
||||
int samples,
|
||||
const UINT8 global_volume,
|
||||
const UINT32 clock,
|
||||
@ -494,13 +494,13 @@ void okim9810_device::okim_voice::generate_audio(direct_read_data &direct,
|
||||
case OKIM9810_ADPCM_PLAYBACK:
|
||||
{
|
||||
m_adpcm.reset();
|
||||
m_startSample = (INT32)m_adpcm.clock(nibble0);
|
||||
m_startSample = (INT32)m_adpcm.clock(nibble0);
|
||||
break;
|
||||
}
|
||||
case OKIM9810_ADPCM2_PLAYBACK:
|
||||
{
|
||||
m_adpcm2.reset();
|
||||
m_startSample = (INT32)m_adpcm2.clock(nibble0);
|
||||
m_startSample = (INT32)m_adpcm2.clock(nibble0);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -519,12 +519,12 @@ void okim9810_device::okim_voice::generate_audio(direct_read_data &direct,
|
||||
{
|
||||
case OKIM9810_ADPCM_PLAYBACK:
|
||||
{
|
||||
m_endSample = (INT32)m_adpcm.clock(nibble1);
|
||||
m_endSample = (INT32)m_adpcm.clock(nibble1);
|
||||
break;
|
||||
}
|
||||
case OKIM9810_ADPCM2_PLAYBACK:
|
||||
{
|
||||
m_endSample = (INT32)m_adpcm2.clock(nibble1);
|
||||
m_endSample = (INT32)m_adpcm2.clock(nibble1);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -574,8 +574,8 @@ void okim9810_device::okim_voice::generate_audio(direct_read_data &direct,
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// volume_scale - computes the volume equation as
|
||||
// seen on page 29 of the docs.
|
||||
// volume_scale - computes the volume equation as
|
||||
// seen on page 29 of the docs.
|
||||
// Returns a value from the volume lookup table.
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -587,9 +587,9 @@ UINT8 okim9810_device::okim_voice::volume_scale(const UINT8 global_volume_index,
|
||||
const UINT8& L = pan_volume_index;
|
||||
const UINT8& O = global_volume_index;
|
||||
UINT32 index = (V+L) + (O*3);
|
||||
|
||||
|
||||
if (index > 15)
|
||||
index = 15;
|
||||
|
||||
|
||||
return s_volume_table[index];
|
||||
}
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
OKI MSM9810 ADCPM(2) sound chip.
|
||||
|
||||
Notes:
|
||||
The master clock frequency for this chip can range from 3.5MHz to 4.5Mhz.
|
||||
Notes:
|
||||
The master clock frequency for this chip can range from 3.5MHz to 4.5Mhz.
|
||||
The typical oscillator is a 4.096Mhz crystal.
|
||||
|
||||
***************************************************************************/
|
||||
@ -124,8 +124,8 @@ protected:
|
||||
{
|
||||
public:
|
||||
okim_voice();
|
||||
void generate_audio(direct_read_data &direct,
|
||||
stream_sample_t **buffers,
|
||||
void generate_audio(direct_read_data &direct,
|
||||
stream_sample_t **buffers,
|
||||
int samples,
|
||||
const UINT8 global_volume,
|
||||
const UINT32 clock,
|
||||
@ -168,7 +168,7 @@ protected:
|
||||
direct_read_data* m_direct;
|
||||
|
||||
UINT8 m_TMP_register;
|
||||
|
||||
|
||||
UINT8 m_global_volume; // volume index set with the OPT command
|
||||
UINT8 m_filter_type; // interpolation filter type set with the OPT command
|
||||
UINT8 m_output_level; // flag stating if a voltage follower is connected
|
||||
|
@ -169,7 +169,7 @@ READ8_DEVICE_HANDLER( rf5c68_r )
|
||||
chip->stream->update();
|
||||
shift = (offset & 1) ? 11 + 8 : 11;
|
||||
|
||||
// printf("%08x\n",(chip->chan[(offset & 0x0e) >> 1].addr));
|
||||
// printf("%08x\n",(chip->chan[(offset & 0x0e) >> 1].addr));
|
||||
|
||||
return (chip->chan[(offset & 0x0e) >> 1].addr) >> (shift);
|
||||
}
|
||||
|
@ -104,7 +104,7 @@
|
||||
frequency register, while the others have 0x400 as before. Should fix a bug
|
||||
or two on sega games, particularly Vigilante on Sega Master System. Verified
|
||||
on SMS hardware.
|
||||
|
||||
|
||||
TODO: * Implement the TMS9919 - any difference to sn94624?
|
||||
* Implement the T6W28; has registers in a weird order, needs writes
|
||||
to be 'sanitized' first. Also is stereo, similar to game gear.
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
|
||||
|
||||
Sony PlayStation SPU (CXD2922BQ/CXD2925Q) emulator
|
||||
by pSXAuthor
|
||||
MAME adaptation by R. Belmont
|
||||
|
||||
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -23,7 +23,7 @@
|
||||
//#define show_xa_debug
|
||||
|
||||
//#ifndef _FINAL
|
||||
// #define show_cache_update
|
||||
// #define show_cache_update
|
||||
//#endif
|
||||
|
||||
#ifdef show_xa_debug
|
||||
@ -32,7 +32,7 @@
|
||||
#define debug_xa if (0)
|
||||
#endif
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
INLINE unsigned int min(unsigned int a, unsigned int b)
|
||||
@ -125,10 +125,10 @@ enum srrr_flags
|
||||
};
|
||||
|
||||
static const unsigned int sound_buffer_size=65536*4,
|
||||
xa_sector_size=(18*28*8)<<1,
|
||||
xa_buffer_sectors=16,
|
||||
cdda_sector_size=2352,
|
||||
cdda_buffer_sectors=16,
|
||||
xa_sector_size=(18*28*8)<<1,
|
||||
xa_buffer_sectors=16,
|
||||
cdda_sector_size=2352,
|
||||
cdda_buffer_sectors=16,
|
||||
num_loop_cache_packets=4,
|
||||
num_loop_cache_samples=num_loop_cache_packets*28,
|
||||
spu_ram_size=512*1024,
|
||||
@ -341,7 +341,7 @@ public:
|
||||
static unsigned int cache_size;
|
||||
|
||||
sample_cache()
|
||||
: invalid_start(0xffffffff),
|
||||
: invalid_start(0xffffffff),
|
||||
invalid_end(0),
|
||||
last_update_end(0xffffffff),
|
||||
data(NULL),
|
||||
@ -527,12 +527,12 @@ class stream_buffer
|
||||
public:
|
||||
stream_buffer(const unsigned int _sector_size,
|
||||
const unsigned int _num_sectors)
|
||||
: head(0),
|
||||
: head(0),
|
||||
tail(0),
|
||||
in(0),
|
||||
sector_size(_sector_size),
|
||||
num_sectors(_num_sectors),
|
||||
marker_head(NULL),
|
||||
marker_head(NULL),
|
||||
marker_tail(NULL)
|
||||
{
|
||||
buffer_size=sector_size*num_sectors;
|
||||
@ -575,7 +575,7 @@ public:
|
||||
|
||||
while ((marker_tail) && (marker_tail->sector>=sector))
|
||||
{
|
||||
// debug_xa("flushing: %d\n", marker_tail->sector);
|
||||
// debug_xa("flushing: %d\n", marker_tail->sector);
|
||||
|
||||
stream_marker *xam=marker_tail;
|
||||
head=xam->offset;
|
||||
@ -622,7 +622,7 @@ public:
|
||||
bool passed=(((olddist==0) && (dist!=0)) || (dist>olddist));
|
||||
if (! passed) break;
|
||||
|
||||
// debug_xa("passed: %d\n",marker_head->sector);
|
||||
// debug_xa("passed: %d\n",marker_head->sector);
|
||||
|
||||
stream_marker *xam=marker_head;
|
||||
marker_head=xam->next;
|
||||
@ -896,11 +896,11 @@ bool spu_device::cache_pointer::update(spu_device *spu)
|
||||
{
|
||||
if ((cache) && (! cache->valid))
|
||||
{
|
||||
/* log(log_spu,"cache_pointer::update: block %08x-%08x invalidated %08x-%08x\n",
|
||||
cache->start,
|
||||
cache->end,
|
||||
cache->invalid_start,
|
||||
cache->invalid_end);*/
|
||||
/* log(log_spu,"cache_pointer::update: block %08x-%08x invalidated %08x-%08x\n",
|
||||
cache->start,
|
||||
cache->end,
|
||||
cache->invalid_start,
|
||||
cache->invalid_end);*/
|
||||
|
||||
if (! cache->try_update(spu))
|
||||
{
|
||||
@ -1335,7 +1335,7 @@ void spu_device::update_vol(const unsigned int addr)
|
||||
case 3: printf("exp dec: phase=%d val=%02x\n",(newval>>12)&1,newval&0x7f); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
voice[v].vol[ch]=((int)newval<<17)>>17;
|
||||
@ -1397,9 +1397,9 @@ void spu_device::flush_cache(sample_cache *sc,
|
||||
for (unsigned int a=sc->start; a<sc->end; a+=16)
|
||||
cache[a>>4]=NULL;
|
||||
|
||||
/* log_static(log_spu,"cache_invalidate: %08x->%08x\n",
|
||||
sc->start,
|
||||
sc->end);*/
|
||||
/* log_static(log_spu,"cache_invalidate: %08x->%08x\n",
|
||||
sc->start,
|
||||
sc->end);*/
|
||||
|
||||
sc->invalid_start=min(sc->invalid_start,istart);
|
||||
sc->invalid_end=max(sc->invalid_end,iend);
|
||||
@ -1413,8 +1413,8 @@ void spu_device::flush_cache(sample_cache *sc,
|
||||
|
||||
void spu_device::invalidate_cache(const unsigned int st, const unsigned int en)
|
||||
{
|
||||
for (unsigned int a=st; a<en; a+=16)
|
||||
if (cache[a>>4]) flush_cache(cache[a>>4],st,en);
|
||||
for (unsigned int a=st; a<en; a+=16)
|
||||
if (cache[a>>4]) flush_cache(cache[a>>4],st,en);
|
||||
}
|
||||
|
||||
//
|
||||
@ -1423,7 +1423,7 @@ void spu_device::invalidate_cache(const unsigned int st, const unsigned int en)
|
||||
|
||||
spu_device::sample_cache *spu_device::get_sample_cache(const unsigned int addr)
|
||||
{
|
||||
// log_static(log_spu,"get_sample_cache: %08x\n",addr);
|
||||
// log_static(log_spu,"get_sample_cache: %08x\n",addr);
|
||||
|
||||
assert(addr<spu_ram_size);
|
||||
sample_cache *sc=cache[addr>>4];
|
||||
@ -1466,9 +1466,9 @@ spu_device::sample_cache *spu_device::get_sample_cache(const unsigned int addr)
|
||||
sc->dend=dp;
|
||||
sc->add_ref();
|
||||
|
||||
/* log_static(log_spu,"cache_add: %08x->%08x\n",
|
||||
sc->start,
|
||||
sc->end);*/
|
||||
/* log_static(log_spu,"cache_add: %08x->%08x\n",
|
||||
sc->start,
|
||||
sc->end);*/
|
||||
|
||||
return sc;
|
||||
}
|
||||
@ -1642,7 +1642,7 @@ spu_device::sample_loop_cache *spu_device::get_loop_cache(sample_cache *cache, c
|
||||
|
||||
void spu_device::update_voice_loop(const unsigned int v)
|
||||
{
|
||||
// voicereg *vr=&spureg.voice[v];
|
||||
// voicereg *vr=&spureg.voice[v];
|
||||
voiceinfo *vi=&voice[v];
|
||||
unsigned int ra = 0;
|
||||
|
||||
@ -1723,11 +1723,11 @@ void spu_device::update_voice_state()
|
||||
//
|
||||
// Process voice state and build output segments
|
||||
//
|
||||
// Input: const unsigned int v Voice number
|
||||
// const unsigned int sz Amount of time to process (in output samples)
|
||||
// unsigned int *tleft Returned number of output samples remaining
|
||||
// Input: const unsigned int v Voice number
|
||||
// const unsigned int sz Amount of time to process (in output samples)
|
||||
// unsigned int *tleft Returned number of output samples remaining
|
||||
//
|
||||
// Output: bool true if voice is still playing
|
||||
// Output: bool true if voice is still playing
|
||||
//
|
||||
|
||||
bool spu_device::process_voice(const unsigned int v,
|
||||
@ -1761,7 +1761,7 @@ bool spu_device::process_voice(const unsigned int v,
|
||||
|
||||
unsigned int ntoplay=fm?1:num,
|
||||
nextevent=min(vi->samplestoend,
|
||||
min(vi->samplestoirq,vi->envsamples));
|
||||
min(vi->samplestoirq,vi->envsamples));
|
||||
ntoplay=min(ntoplay,nextevent);
|
||||
|
||||
if (ntoplay)
|
||||
@ -1931,9 +1931,9 @@ bool spu_device::process_voice(const unsigned int v,
|
||||
//
|
||||
// Generate voice output samples
|
||||
//
|
||||
// Inputs: const unsigned int v Voice number
|
||||
// void *ptr Output buffer (if no reverb)
|
||||
// const unsigned int sz Number of samples to output
|
||||
// Inputs: const unsigned int v Voice number
|
||||
// void *ptr Output buffer (if no reverb)
|
||||
// const unsigned int sz Number of samples to output
|
||||
//
|
||||
|
||||
void spu_device::generate_voice(const unsigned int v,
|
||||
@ -1977,7 +1977,7 @@ void spu_device::generate_voice(const unsigned int v,
|
||||
|
||||
vi->env_level+=(n*vi->env_delta);
|
||||
|
||||
if (noiseptr)
|
||||
if (noiseptr)
|
||||
{
|
||||
INT64 dptr=((INT64)n*vi->pitch)+vi->dptr;
|
||||
unsigned int d=(unsigned int)(dptr>>12);
|
||||
@ -2087,7 +2087,7 @@ void spu_device::generate_voice(const unsigned int v,
|
||||
sp+=(dptr>>12);
|
||||
dptr&=0xfff;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while (n--)
|
||||
@ -2126,7 +2126,7 @@ void spu_device::generate_voice(const unsigned int v,
|
||||
|
||||
if (! nsp)
|
||||
{
|
||||
update_voice_loop(v);
|
||||
update_voice_loop(v);
|
||||
if (vi->loop) nsp=vi->loop_cache->data;
|
||||
}
|
||||
|
||||
@ -2143,7 +2143,7 @@ void spu_device::generate_voice(const unsigned int v,
|
||||
|
||||
v+=((nv-v)*(int)dptr)>>12;
|
||||
|
||||
int l=(v*env_l)>>15,
|
||||
int l=(v*env_l)>>15,
|
||||
r=(v*env_r)>>15;
|
||||
env_l+=envdelta_l;
|
||||
env_r+=envdelta_r;
|
||||
@ -2172,7 +2172,7 @@ void spu_device::generate_voice(const unsigned int v,
|
||||
|
||||
v+=((nv-v)*(int)dptr)>>12;
|
||||
|
||||
int l=(v*env_l)>>15,
|
||||
int l=(v*env_l)>>15,
|
||||
r=(v*env_r)>>15;
|
||||
env_l+=envdelta_l;
|
||||
env_r+=envdelta_r;
|
||||
@ -2287,7 +2287,7 @@ bool spu_device::update_envelope(const int v)
|
||||
|
||||
case 3: // sustain end
|
||||
voice[v].envsamples=infinity;
|
||||
voice[v].env_delta=0.0f;
|
||||
voice[v].env_delta=0.0f;
|
||||
if (voice[v].env_sr<=0.0f)
|
||||
{
|
||||
voice[v].env_level=0.0f;
|
||||
@ -2329,7 +2329,7 @@ void spu_device::key_on(const int v)
|
||||
{
|
||||
voice[v].loop.reset();
|
||||
|
||||
// printf("key_on: %d @ %x (pitch %x)\n", v, spureg.voice[v].addr<<3, spureg.voice[v].pitch);
|
||||
// printf("key_on: %d @ %x (pitch %x)\n", v, spureg.voice[v].addr<<3, spureg.voice[v].pitch);
|
||||
|
||||
translate_sample_addr(spureg.voice[v].addr<<3,&voice[v].play);
|
||||
assert(voice[v].play.ptr<voice[v].play.cache->dend);
|
||||
@ -2344,7 +2344,7 @@ void spu_device::key_on(const int v)
|
||||
voice[v].forceloop=false;
|
||||
|
||||
// Note: ChronoCross has note hang problems if this is 0 immediately
|
||||
// after key on
|
||||
// after key on
|
||||
spureg.voice[v].curvol=1;
|
||||
|
||||
for (unsigned int ch=0; ch<2; ch++)
|
||||
@ -2392,7 +2392,7 @@ void spu_device::key_on(const int v)
|
||||
}
|
||||
} else
|
||||
{
|
||||
voice[v].env_sr=get_linear_rate((spureg.voice[v].srrr&srrr_sr_mask)>>srrr_sr_shift);
|
||||
voice[v].env_sr=get_linear_rate((spureg.voice[v].srrr&srrr_sr_mask)>>srrr_sr_shift);
|
||||
if (spureg.voice[v].srrr&srrr_sd)
|
||||
voice[v].env_sr=-voice[v].env_sr;
|
||||
}
|
||||
@ -2433,10 +2433,10 @@ void spu_device::generate_xa(void *ptr, const unsigned int sz)
|
||||
{
|
||||
// Don't start playing until 8 frames worth of data are in
|
||||
|
||||
if ((! xa_playing) && (xa_buffer->get_bytes_in()<(xa_spf<<3)))
|
||||
if ((! xa_playing) && (xa_buffer->get_bytes_in()<(xa_spf<<3)))
|
||||
{
|
||||
// debug_xa("waiting...\n");
|
||||
return;
|
||||
// debug_xa("waiting...\n");
|
||||
return;
|
||||
}
|
||||
|
||||
xa_playing=true;
|
||||
@ -2587,7 +2587,7 @@ void spu_device::generate_cdda(void *ptr, const unsigned int sz)
|
||||
|
||||
void spu_device::key_off(const int v)
|
||||
{
|
||||
// printf("key_off: %d\n", v);
|
||||
// printf("key_off: %d\n", v);
|
||||
|
||||
if (voice[v].env_state<=3)
|
||||
{
|
||||
@ -2608,15 +2608,15 @@ void spu_device::update_reverb()
|
||||
|
||||
if (cur_reverb_preset==NULL)
|
||||
{
|
||||
// printf("spu: reverb=unknown (reg 1c0 = %x)\n", reg[0x1c0]);
|
||||
// printf("spu: reverb=unknown (reg 1c0 = %x)\n", reg[0x1c0]);
|
||||
} else
|
||||
{
|
||||
// printf("spu: reverb=%s\n",cur_reverb_preset->name);
|
||||
// printf("spu: reverb=%s\n",cur_reverb_preset->name);
|
||||
spu_reverb_cfg=&cur_reverb_preset->cfg;
|
||||
|
||||
if ((mame_stricmp("reverb off",cur_reverb_preset->name)) && (spu_reverb_cfg->band_gain<=0.0f))
|
||||
{
|
||||
// printf("spu: no reverb config for %s\n",cur_reverb_preset->name);
|
||||
// printf("spu: no reverb config for %s\n",cur_reverb_preset->name);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2970,8 +2970,8 @@ void spu_device::decode_xa_stereo(const unsigned char *xa,
|
||||
for (int i=0; i<28; i++)
|
||||
{
|
||||
short d=xa[16+(i<<2)+s],
|
||||
d0=(d&0xf)<<12,
|
||||
d1=(d>>4)<<12;
|
||||
d0=(d&0xf)<<12,
|
||||
d1=(d>>4)<<12;
|
||||
d0=clamp((int)(d0>>shift0)+(((l0*f0)+(l1*f1)+32)>>6));
|
||||
*dp++=d0;
|
||||
l1=l0;
|
||||
@ -3000,12 +3000,12 @@ void spu_device::decode_xa_stereo(const unsigned char *xa,
|
||||
/*
|
||||
enum
|
||||
{
|
||||
xaencoding_stereo_mask=3,
|
||||
xaencoding_freq_shift=2,
|
||||
xaencoding_freq_mask=3<<xaencoding_freq_shift,
|
||||
xaencoding_bps_shift=4,
|
||||
xaencoding_bps_mask=3<<xaencoding_bps_shift,
|
||||
xaencoding_emphasis=(1<<6)
|
||||
xaencoding_stereo_mask=3,
|
||||
xaencoding_freq_shift=2,
|
||||
xaencoding_freq_mask=3<<xaencoding_freq_shift,
|
||||
xaencoding_bps_shift=4,
|
||||
xaencoding_bps_mask=3<<xaencoding_bps_shift,
|
||||
xaencoding_emphasis=(1<<6)
|
||||
};
|
||||
*/
|
||||
|
||||
@ -3015,7 +3015,7 @@ bool spu_device::play_xa(const unsigned int sector, const unsigned char *xa)
|
||||
|
||||
if (xa_buffer->get_bytes_free()<xa_sector_size) return false;
|
||||
|
||||
// debug_xa("play_xa: %d\n",sector);
|
||||
// debug_xa("play_xa: %d\n",sector);
|
||||
|
||||
// Get XA format from sector header
|
||||
|
||||
@ -3077,7 +3077,7 @@ bool spu_device::play_xa(const unsigned int sector, const unsigned char *xa)
|
||||
|
||||
void spu_device::flush_xa(const unsigned int sector)
|
||||
{
|
||||
// debug_xa("flush_xa: %d\n",sector);
|
||||
// debug_xa("flush_xa: %d\n",sector);
|
||||
|
||||
if (xa_playing)
|
||||
{
|
||||
@ -3107,7 +3107,7 @@ bool spu_device::play_cdda(const unsigned int sector, const unsigned char *cdda)
|
||||
|
||||
void spu_device::flush_cdda(const unsigned int sector)
|
||||
{
|
||||
// debug_xa("flush_cdda: %d\n",sector);
|
||||
// debug_xa("flush_cdda: %d\n",sector);
|
||||
|
||||
if (cdda_playing)
|
||||
{
|
||||
@ -3134,7 +3134,7 @@ static void spu_dma_write( running_machine *machine, UINT32 n_address, INT32 n_s
|
||||
spu_device *spu = machine->device<spu_device>("spu");
|
||||
UINT8 *psxram = (UINT8 *)memory_get_shared(*machine, "share1");
|
||||
|
||||
// printf("SPU DMA write from %x, size %x\n", n_address, n_size);
|
||||
// printf("SPU DMA write from %x, size %x\n", n_address, n_size);
|
||||
|
||||
spu->start_dma(psxram + n_address, true, n_size*4);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ const unsigned int spu_base_frequency_hz=44100;
|
||||
|
||||
class stream_buffer;
|
||||
|
||||
class spu_device : public device_t, public device_sound_interface
|
||||
class spu_device : public device_t, public device_sound_interface
|
||||
{
|
||||
friend class spu_device_config;
|
||||
|
||||
|
@ -455,7 +455,7 @@ spu_device::reverb_preset spu_device::reverb_presets[]=
|
||||
0x0334, 0x01B5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x01B4, 0x0136, 0x00B8, 0x005C, 0x8000, 0x8000
|
||||
},
|
||||
{ // made up from studio small [used by BOF3]
|
||||
{ // made up from studio small [used by BOF3]
|
||||
-0.3112f,
|
||||
0.7832f,
|
||||
|
||||
@ -476,7 +476,7 @@ spu_device::reverb_preset spu_device::reverb_presets[]=
|
||||
0x031C, 0x025D, 0x025C, 0x018E, 0x022F, 0x0135, 0x01D2, 0x00B7,
|
||||
0x018F, 0x00B5, 0x00B4, 0x0080, 0x004C, 0x0026, 0x8000, 0x8000
|
||||
},
|
||||
{ // made up from studio large [used by Fighters Impact]
|
||||
{ // made up from studio large [used by Fighters Impact]
|
||||
-0.3112f,
|
||||
0.7832f,
|
||||
|
||||
|
@ -306,10 +306,10 @@ void reverb::comb_allpass(signed short *sp,
|
||||
//
|
||||
|
||||
void reverb::process(signed short *output,
|
||||
signed short *reverb_input,
|
||||
const reverb_params *rp,
|
||||
const int wetvol_l,
|
||||
const int wetvol_r,
|
||||
signed short *reverb_input,
|
||||
const reverb_params *rp,
|
||||
const int wetvol_l,
|
||||
const int wetvol_r,
|
||||
const unsigned int sz)
|
||||
{
|
||||
signed short *sp=(signed short *)reverb_input,
|
||||
|
@ -34,24 +34,24 @@
|
||||
const int wetvol_r,
|
||||
const unsigned int _sz);
|
||||
void comb_allpass4(signed short *sp,
|
||||
signed short *dp,
|
||||
const comb_param &comb_delay,
|
||||
const int comb_gain,
|
||||
const int allpass_delay,
|
||||
const int allpass_gain,
|
||||
const int *rvol,
|
||||
const unsigned int sz);
|
||||
signed short *dp,
|
||||
const comb_param &comb_delay,
|
||||
const int comb_gain,
|
||||
const int allpass_delay,
|
||||
const int allpass_gain,
|
||||
const int *rvol,
|
||||
const unsigned int sz);
|
||||
void comb_allpass1(signed short *sp,
|
||||
signed short *dp,
|
||||
const comb_param &comb_delay,
|
||||
const int comb_gain,
|
||||
const int allpass_delay,
|
||||
const int allpass_gain,
|
||||
const int *rvol,
|
||||
const unsigned int sz);
|
||||
signed short *dp,
|
||||
const comb_param &comb_delay,
|
||||
const int comb_gain,
|
||||
const int allpass_delay,
|
||||
const int allpass_gain,
|
||||
const int *rvol,
|
||||
const unsigned int sz);
|
||||
void bandpass(signed short *sp,
|
||||
const reverb_params *rp,
|
||||
const unsigned int sz);
|
||||
const reverb_params *rp,
|
||||
const unsigned int sz);
|
||||
|
||||
public:
|
||||
reverb(const int hz, const int maxdelay=65536);
|
||||
|
@ -458,7 +458,7 @@ void video_manager::begin_recording(const char *name, movie_format format)
|
||||
filerr = m_mngfile->open(name);
|
||||
else
|
||||
filerr = open_next(*m_mngfile, "mng");
|
||||
|
||||
|
||||
if (filerr == FILERR_NONE)
|
||||
{
|
||||
// start the capture
|
||||
@ -1096,7 +1096,7 @@ void video_manager::create_snapshot_bitmap(device_t *screen)
|
||||
|
||||
//-------------------------------------------------
|
||||
// open_next - open the next non-existing file of
|
||||
// type filetype according to our numbering
|
||||
// type filetype according to our numbering
|
||||
// scheme
|
||||
//-------------------------------------------------
|
||||
|
||||
|
@ -180,12 +180,12 @@ INLINE UINT32 lba_to_msf(UINT32 lba)
|
||||
}
|
||||
|
||||
// segacd needs it like this.. investigate
|
||||
// Angelo also says PCE tracks often start playing at the
|
||||
// Angelo also says PCE tracks often start playing at the
|
||||
// wrong address.. related?
|
||||
INLINE UINT32 lba_to_msf_alt(int lba)
|
||||
{
|
||||
UINT32 ret = 0;
|
||||
|
||||
|
||||
ret |= ((lba / (60 * 75))&0xff)<<16;
|
||||
ret |= (((lba / 75) % 60)&0xff)<<8;
|
||||
ret |= ((lba % 75)&0xff)<<0;
|
||||
|
@ -1047,7 +1047,7 @@ static MACHINE_CONFIG_START( legion, armedf_state )
|
||||
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE(armedf)
|
||||
MCFG_SCREEN_EOF(armedf)
|
||||
|
||||
|
||||
MCFG_GFXDECODE(armedf)
|
||||
MCFG_PALETTE_LENGTH(2048)
|
||||
|
||||
|
@ -1303,7 +1303,7 @@ static MACHINE_CONFIG_DERIVED( astrocade_16color_base, astrocade_base )
|
||||
|
||||
MCFG_PALETTE_INIT(profpac)
|
||||
MCFG_VIDEO_START(profpac)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(profpac)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -622,7 +622,7 @@ static MACHINE_CONFIG_DERIVED( soccer, atarifb )
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 38*8-1, 2*8, 32*8-1)
|
||||
MCFG_SCREEN_UPDATE(soccer)
|
||||
MCFG_GFXDECODE(soccer)
|
||||
MCFG_GFXDECODE(soccer)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -400,7 +400,7 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
|
||||
MCFG_SCREEN_UPDATE(atetris)
|
||||
|
||||
MCFG_VIDEO_START(atetris)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -126,7 +126,7 @@ static MACHINE_CONFIG_START( a5200, driver_device )
|
||||
MCFG_PALETTE_INIT(atari)
|
||||
|
||||
MCFG_VIDEO_START(atari)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("pokey", POKEY, FREQ_17_EXACT)
|
||||
|
@ -1545,7 +1545,7 @@ static MACHINE_CONFIG_DERIVED( cookrace, btime )
|
||||
/* video hardware */
|
||||
MCFG_GFXDECODE(cookrace)
|
||||
MCFG_PALETTE_LENGTH(16)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(cookrace)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -450,7 +450,7 @@ static MACHINE_CONFIG_START( bwing, bwing_state )
|
||||
MCFG_PALETTE_LENGTH(64)
|
||||
|
||||
MCFG_VIDEO_START(bwing)
|
||||
|
||||
|
||||
// sound hardware
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Commodore Amiga CD-32 and related hardware
|
||||
(Cubo CD32 for arcades)
|
||||
/*
|
||||
Commodore Amiga CD-32 and related hardware
|
||||
(Cubo CD32 for arcades)
|
||||
|
||||
Driver by Mariusz Wojcieszek
|
||||
CD-ROM controller by Ernesto Corvi
|
||||
@ -854,7 +854,7 @@ CONS( 1993, cd32, 0, 0, cd32, cd32, cd32, "Commodore Busines
|
||||
/*
|
||||
|
||||
Cubo CD32 (additional hardware and games by CD Express, Milan, Italy)
|
||||
|
||||
|
||||
The CuboCD32 is a stock retail CD32 unit with additional hardware to adapt it
|
||||
for JAMMA use
|
||||
|
||||
|
@ -30,16 +30,16 @@ A000 Control Switches
|
||||
C000 Option Switches
|
||||
D000 Paddle Position and Interrupt Reset (where applicable)
|
||||
|
||||
NOTES:
|
||||
- Circus: Taito licensed and releasd the game as "Acrobat TV"
|
||||
NOTES:
|
||||
- Circus: Taito licensed and releasd the game as "Acrobat TV"
|
||||
|
||||
TODO:
|
||||
- generic video timing (vsync, vblank, # of scanlines)
|
||||
- circus/ripcord collision detection:
|
||||
* is accurate?
|
||||
* move away from video update (fails with frameskipping)
|
||||
- crash: irq timing
|
||||
- improve discrete sound
|
||||
TODO:
|
||||
- generic video timing (vsync, vblank, # of scanlines)
|
||||
- circus/ripcord collision detection:
|
||||
* is accurate?
|
||||
* move away from video update (fails with frameskipping)
|
||||
- crash: irq timing
|
||||
- improve discrete sound
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -88,7 +88,7 @@ static INPUT_PORTS_START( circus )
|
||||
PORT_DIPSETTING( 0x02, "7" )
|
||||
PORT_DIPSETTING( 0x03, "9" )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Coinage ) ) PORT_DIPLOCATION("14A:4,5")
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
@ -127,7 +127,7 @@ static INPUT_PORTS_START( robotbwl )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
// PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
|
||||
// PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0x60, 0x00, "Bowl Timer" ) PORT_DIPLOCATION("14A:1,2")
|
||||
PORT_DIPSETTING( 0x00, "3 seconds" )
|
||||
PORT_DIPSETTING( 0x20, "5 seconds" )
|
||||
@ -158,7 +158,7 @@ static INPUT_PORTS_START( crash )
|
||||
PORT_DIPSETTING( 0x02, "4" )
|
||||
PORT_DIPSETTING( 0x03, "5" )
|
||||
PORT_DIPNAME( 0x0C, 0x04, DEF_STR( Coinage ) ) PORT_DIPLOCATION("14A:4,5")
|
||||
// PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
|
||||
// PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
@ -198,7 +198,7 @@ static INPUT_PORTS_START( ripcord )
|
||||
PORT_DIPSETTING( 0x02, "7" )
|
||||
PORT_DIPSETTING( 0x03, "9" )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Coinage ) ) PORT_DIPLOCATION("14A:4,5")
|
||||
// PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
|
||||
// PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
|
||||
|
@ -186,7 +186,7 @@ Cisco Heat.
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
static READ16_HANDLER( sharedram1_r )
|
||||
static READ16_HANDLER( sharedram1_r )
|
||||
{
|
||||
cischeat_state *state = space->machine->driver_data<cischeat_state>();
|
||||
return state->sharedram1[offset];
|
||||
|
@ -272,7 +272,7 @@ static MACHINE_CONFIG_START( compgolf, compgolf_state )
|
||||
MCFG_GFXDECODE(compgolf)
|
||||
|
||||
MCFG_VIDEO_START(compgolf)
|
||||
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
|
||||
|
@ -1138,7 +1138,7 @@ static MACHINE_CONFIG_START( cosmicg, cosmic_state )
|
||||
|
||||
MCFG_PALETTE_LENGTH(16)
|
||||
|
||||
MCFG_PALETTE_INIT(cosmicg)
|
||||
MCFG_PALETTE_INIT(cosmicg)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
@ -234,7 +234,7 @@ static WRITE8_HANDLER( tmpz84c011_pio_w)
|
||||
/* CPU interface */
|
||||
static READ8_HANDLER( tmpz84c011_0_pa_r )
|
||||
{
|
||||
csplayh5_state *state = space->machine->driver_data<csplayh5_state>();
|
||||
csplayh5_state *state = space->machine->driver_data<csplayh5_state>();
|
||||
return (tmpz84c011_pio_r(space,0) & ~state->pio_dir[0]) | (state->pio_latch[0] & state->pio_dir[0]);
|
||||
}
|
||||
|
||||
|
@ -640,7 +640,7 @@ static MACHINE_CONFIG_DERIVED( ctribe, ddragon3 )
|
||||
|
||||
MCFG_CPU_MODIFY("audiocpu")
|
||||
MCFG_CPU_PROGRAM_MAP(ctribe_sound_map)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(ctribe)
|
||||
|
||||
|
@ -189,7 +189,7 @@ static WRITE8_HANDLER( destroyr_interrupt_ack_w )
|
||||
static WRITE8_HANDLER( destroyr_output_w )
|
||||
{
|
||||
if (offset & 8) destroyr_misc_w(space, 8, data);
|
||||
|
||||
|
||||
else switch (offset & 7)
|
||||
{
|
||||
case 0:
|
||||
|
@ -42,17 +42,17 @@ Pop Bingo
|
||||
treat it as 1 8bpp layer and ignore the 2nd set of registers.
|
||||
- some unknown reads / writes
|
||||
|
||||
18.02.2011. Tomasz Slanina
|
||||
18.02.2011. Tomasz Slanina
|
||||
--------------------------
|
||||
Few notes about the 2xYM2203 games:
|
||||
|
||||
Interrupts are generated by both YM chips. Sound CPU checks interrupt source
|
||||
(tests timer flag in 1st YM) and restarts appropriate timer
|
||||
Interrupts are generated by both YM chips. Sound CPU checks interrupt source
|
||||
(tests timer flag in 1st YM) and restarts appropriate timer
|
||||
(and clears int line) then process sfx or music data.
|
||||
|
||||
Due to bad timing/incorrect int line handling - interrupt is skipped if
|
||||
fires when another one is being processed and int line is still asserted
|
||||
(and not cleared). This situation results in missing or incomplete audio,
|
||||
Due to bad timing/incorrect int line handling - interrupt is skipped if
|
||||
fires when another one is being processed and int line is still asserted
|
||||
(and not cleared). This situation results in missing or incomplete audio,
|
||||
becasue one of interrupt sources is _dead_ (timer never restarts).
|
||||
|
||||
Music tempo and audio pitch depends on (unknown) YM clocks.
|
||||
@ -64,14 +64,14 @@ allow nested (and in fact - delayed) interrupts. It's temporary solution
|
||||
until we find real PCB and verify clocks and trace int lines.
|
||||
|
||||
Pollux:
|
||||
Many (all? at least pollux, primella and flying tiger) use some kind of
|
||||
Many (all? at least pollux, primella and flying tiger) use some kind of
|
||||
banked palette ram. Bit 1 at address 0xf008 controls banking (both palettes
|
||||
are almost identical, except for much darker BG layer colors).
|
||||
There's also significant gfx problem on title screen - gfx over left pilot's
|
||||
shoulder (right part of the screen) should be - according to pics from flyer -
|
||||
blue with orange/red flame (palette 2 instead palette 1). Also some explosions
|
||||
and stars should be red instead blue (also pal 2 instead pal 1). I have no
|
||||
idea how to fix it without breaking other parts of game. Title screen should
|
||||
and stars should be red instead blue (also pal 2 instead pal 1). I have no
|
||||
idea how to fix it without breaking other parts of game. Title screen should
|
||||
be verified on real PCB.
|
||||
|
||||
***************************************************************************/
|
||||
|
@ -4958,7 +4958,7 @@ static MACHINE_CONFIG_START( tenkai, dynax_state )
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(4, 512-1, 4, 255-8-4) // hide first 4 horizontal pixels (see scroll of gal 4 in test mode)
|
||||
MCFG_SCREEN_UPDATE(hnoridur)
|
||||
|
||||
|
||||
MCFG_PALETTE_LENGTH(16*256)
|
||||
|
||||
MCFG_VIDEO_START(mjelctrn)
|
||||
@ -5027,7 +5027,7 @@ static MACHINE_CONFIG_START( gekisha, dynax_state )
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_SIZE(256, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(2, 256-1, 16, 256-1)
|
||||
MCFG_SCREEN_UPDATE(mjdialq2)
|
||||
MCFG_SCREEN_UPDATE(mjdialq2)
|
||||
|
||||
MCFG_PALETTE_LENGTH(512)
|
||||
MCFG_PALETTE_INIT(sprtmtch) // static palette
|
||||
|
@ -674,18 +674,18 @@ static INPUT_PORTS_START( borntofi )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
// PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
// PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "Controls" ) /* IN7 - 53003 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Controls ) ) PORT_DIPLOCATION("DSW2:1,2")
|
||||
// PORT_DIPSETTING( 0x01, "Lightgun" )
|
||||
// PORT_DIPSETTING( 0x01, "Lightgun" )
|
||||
PORT_DIPSETTING( 0x03, "Lightgun" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Trackball ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Joystick ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Sound Test" ) PORT_DIPLOCATION("DSW2:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Free Bullets" ) PORT_DIPLOCATION("DSW2:4")
|
||||
PORT_DIPNAME( 0x08, 0x08, "Free Bullets" ) PORT_DIPLOCATION("DSW2:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x10, 0x0010, "DSW2:5" )
|
||||
|
@ -951,7 +951,7 @@ static MACHINE_CONFIG_DERIVED( montecar, firetrk )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(montecar)
|
||||
|
||||
|
||||
MCFG_VIDEO_START(montecar)
|
||||
MCFG_GFXDECODE(montecar)
|
||||
|
||||
|
@ -651,7 +651,7 @@ static MACHINE_CONFIG_START( fromancr, fromanc2_state )
|
||||
MCFG_SCREEN_UPDATE(fromanc2)
|
||||
|
||||
MCFG_VIDEO_START(fromancr)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -4222,7 +4222,7 @@ ROM_END
|
||||
/*****************************
|
||||
|
||||
Brasil XX sets...
|
||||
|
||||
|
||||
****************************/
|
||||
ROM_START( brasil86 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* brasil86.128: Brasil 86, BS clone. */
|
||||
|
@ -156,11 +156,11 @@ static WRITE8_HANDLER( gunpey_blitter_w )
|
||||
}
|
||||
|
||||
|
||||
// printf("%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x\n"
|
||||
// ,blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3]
|
||||
// ,blit_ram[4],blit_ram[5],blit_ram[6],blit_ram[7]
|
||||
// ,blit_ram[8],blit_ram[9],blit_ram[0xa],blit_ram[0xb]
|
||||
// ,blit_ram[0xc],blit_ram[0xd],blit_ram[0xe],blit_ram[0xf]);
|
||||
// printf("%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x\n"
|
||||
// ,blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3]
|
||||
// ,blit_ram[4],blit_ram[5],blit_ram[6],blit_ram[7]
|
||||
// ,blit_ram[8],blit_ram[9],blit_ram[0xa],blit_ram[0xb]
|
||||
// ,blit_ram[0xc],blit_ram[0xd],blit_ram[0xe],blit_ram[0xf]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2028,7 +2028,7 @@ static MACHINE_CONFIG_DERIVED( benberob, halleys )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_CLOCK(XTAL_19_968MHz/12) /* not verified but pcb identical to halley's comet */
|
||||
MCFG_CPU_VBLANK_INT_HACK(benberob_interrupt, 4)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(benberob)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -1051,14 +1051,14 @@ static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_SIZE(512, 384)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
|
||||
MCFG_SCREEN_UPDATE(hornet_2board)
|
||||
MCFG_SCREEN_UPDATE(hornet_2board)
|
||||
|
||||
MCFG_SCREEN_ADD("rscreen", RASTER)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_SIZE(512, 384)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
|
||||
MCFG_SCREEN_UPDATE(hornet_2board)
|
||||
MCFG_SCREEN_UPDATE(hornet_2board)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( terabrst, hornet_2board )
|
||||
|
@ -978,7 +978,7 @@ static WRITE16_HANDLER( igs011_prot_addr_w )
|
||||
/*
|
||||
static READ16_HANDLER( igs011_prot_fake_r )
|
||||
{
|
||||
igs011_state *state = space->machine->driver_data<igs011_state>();
|
||||
igs011_state *state = space->machine->driver_data<igs011_state>();
|
||||
switch (offset)
|
||||
{
|
||||
case 0: return state->prot1;
|
||||
@ -1204,7 +1204,7 @@ static WRITE16_HANDLER( igs012_prot_reset_w )
|
||||
/*
|
||||
static READ16_HANDLER( igs012_prot_fake_r )
|
||||
{
|
||||
igs011_state *state = space->machine->driver_data<igs011_state>();
|
||||
igs011_state *state = space->machine->driver_data<igs011_state>();
|
||||
switch (offset)
|
||||
{
|
||||
case 0: return state->igs012_prot;
|
||||
|
@ -689,7 +689,7 @@ static MACHINE_CONFIG_START( jchan, jchan_state )
|
||||
MCFG_PALETTE_LENGTH(0x10000)
|
||||
|
||||
MCFG_VIDEO_START(jchan)
|
||||
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
/* sound hardware */
|
||||
@ -792,7 +792,7 @@ static DRIVER_INIT( jchan )
|
||||
|
||||
|
||||
memset(state->mcu_com, 0, 4 * sizeof( UINT16 ) );
|
||||
|
||||
|
||||
machine->device<nvram_device>("nvram")->set_base(state->nvram_data, sizeof(state->nvram_data));
|
||||
}
|
||||
|
||||
|
@ -672,7 +672,7 @@ static MACHINE_CONFIG_DERIVED( fspider, jollyjgr )
|
||||
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(fspider_map)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE(fspider)
|
||||
|
||||
|
@ -1824,7 +1824,7 @@ static MACHINE_CONFIG_START( berlwall, driver_device )
|
||||
|
||||
MCFG_PALETTE_INIT(berlwall)
|
||||
MCFG_VIDEO_START(berlwall)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
|
@ -2881,7 +2881,7 @@ static WRITE32_HANDLER( gunmania_w )
|
||||
|
||||
if( s[ 0 ] != 0 )
|
||||
{
|
||||
// popmessage( "%s", s );
|
||||
// popmessage( "%s", s );
|
||||
}
|
||||
|
||||
break;
|
||||
@ -4672,9 +4672,9 @@ ROM_START( fghtmn )
|
||||
ROM_LOAD( "gq918eaa.u1", 0x000000, 0x000224, CRC(f3342ff5) SHA1(d3d6ecc22396f74b99ad7aab7908cd542c518977) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918eaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -4690,9 +4690,9 @@ ROM_START( fghtmna )
|
||||
ROM_LOAD( "gq918aaa.u1", 0x000000, 0x000224, CRC(1a2c5d53) SHA1(ab7e44a83e8cd271e2bf8580881a3050d35641df) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918aaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -4708,9 +4708,9 @@ ROM_START( fghtmnk )
|
||||
ROM_LOAD( "gq918kaa.u1", 0x000000, 0x000224, CRC(cf32990b) SHA1(bf49b8560f008696b45a3f7f03fa7b3395635b0f) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918kaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -4726,9 +4726,9 @@ ROM_START( fghtmnu )
|
||||
ROM_LOAD( "gq918uaa.u1", 0x000000, 0x000224, CRC(e1b7e9ef) SHA1(5767f47cb9a689601fb92c6a494563c5ffdde04c) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918uaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -5216,9 +5216,9 @@ ROM_START( pnchmn )
|
||||
ROM_LOAD( "gq918jaa.u1", 0x000000, 0x000224, BAD_DUMP CRC(e4769787) SHA1(d60c6598c7c58b5cd8f86350ebf7f3f32c1ebe9b) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918jaa.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -5231,12 +5231,12 @@ ROM_START( pnchmna )
|
||||
SYS573_BIOS_A
|
||||
|
||||
ROM_REGION( 0x0000224, "install_eeprom", 0 ) /* security cart eeprom */
|
||||
ROM_LOAD( "gq918jab.u1", 0x000000, 0x000224, BAD_DUMP CRC(e4769787) SHA1(d60c6598c7c58b5cd8f86350ebf7f3f32c1ebe9b) )
|
||||
ROM_LOAD( "gq918jab.u1", 0x000000, 0x000224, BAD_DUMP CRC(e4769787) SHA1(d60c6598c7c58b5cd8f86350ebf7f3f32c1ebe9b) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_LOAD( "gq918xxb.31m", 0x000000, 0x200000, CRC(3653b5d7) SHA1(1deb44335b7a38506fb30da40e0ca61b96aea7bb) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
ROM_LOAD( "gq918xxb.27m", 0x000000, 0x200000, CRC(27d48c97) SHA1(c140d4bdfa869fbcae1133bbfe73a346e6f46cb8) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gq918jab.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
@ -5249,12 +5249,12 @@ ROM_START( pnchmn2 )
|
||||
SYS573_BIOS_A
|
||||
|
||||
ROM_REGION( 0x0000224, "install_eeprom", 0 ) /* security cart eeprom */
|
||||
ROM_LOAD( "gqa09ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(e1e4108f) SHA1(0605e2c7a7dcb2f4928350e96d2ffcc2ede4a762) )
|
||||
ROM_LOAD( "gqa09ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(e1e4108f) SHA1(0605e2c7a7dcb2f4928350e96d2ffcc2ede4a762) )
|
||||
|
||||
ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gqa09ja.31m", 0x000000, 0x200000, CRC(b1043a91) SHA1(b474439c1a7da7855d9b6d2162d4a522f499d6ab) )
|
||||
ROM_LOAD( "gqa09ja.31m", 0x000000, 0x200000, CRC(b1043a91) SHA1(b474439c1a7da7855d9b6d2162d4a522f499d6ab) )
|
||||
ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
|
||||
ROM_LOAD( "gqa09ja.27m", 0x000000, 0x200000, CRC(09b1a70b) SHA1(0f3bcad879e05faaf8130133d774a2071031ee74) )
|
||||
ROM_LOAD( "gqa09ja.27m", 0x000000, 0x200000, CRC(09b1a70b) SHA1(0f3bcad879e05faaf8130133d774a2071031ee74) )
|
||||
|
||||
ROM_REGION( 0x000008, "install_id", 0 ) /* security cart id */
|
||||
ROM_LOAD( "gqa09ja.u6", 0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
|
||||
|
@ -415,7 +415,7 @@ static MACHINE_CONFIG_START( mainsnk, mainsnk_state )
|
||||
|
||||
MCFG_PALETTE_INIT(mainsnk)
|
||||
MCFG_VIDEO_START(mainsnk)
|
||||
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("ay1", AY8910, 2000000)
|
||||
|
@ -996,7 +996,7 @@ static MACHINE_CONFIG_START( zwackery, mcr68_state )
|
||||
MCFG_PALETTE_LENGTH(4096)
|
||||
|
||||
MCFG_VIDEO_START(zwackery)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_FRAGMENT_ADD(chip_squeak_deluxe)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( megatech, mtech_state )
|
||||
MCFG_SCREEN_SIZE(342,262)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1)
|
||||
MCFG_SCREEN_UPDATE(mtnew)
|
||||
|
||||
|
||||
MCFG_SCREEN_MODIFY("megadriv")
|
||||
MCFG_SCREEN_UPDATE(mtnew)
|
||||
MCFG_SCREEN_EOF(mtnew)
|
||||
|
@ -163,17 +163,17 @@ static WRITE8_HANDLER(port_w)
|
||||
|
||||
static WRITE8_HANDLER(port0_w)
|
||||
{
|
||||
// printf("P0 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
// printf("P0 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(port1_w)
|
||||
{
|
||||
// printf("P1 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
// printf("P1 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(port2_w)
|
||||
{
|
||||
// printf("P2 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
// printf("P2 %x = %x\n",cpu_get_pc(space->cpu),data);
|
||||
coordy=data;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ Mr Driller G (DRG1 Ver.A) (C) Namco, 2001
|
||||
*NFL Classic Football (C) Namco, 2003
|
||||
*Panicuru Panekuru (PPA1 Ver.A) (C) Namco, 2001
|
||||
*Photo Battole (C) Namco, 2001
|
||||
Point Blank 3 / Gunbalina (GNN2 Ver. A) (C) Namco, 2000
|
||||
Point Blank 3 / Gunbalina (GNN2 Ver. A) (C) Namco, 2000
|
||||
*Ren-ai Quiz High School Angel (C) Namco, 2002
|
||||
*Seishun Quiz Colorful High School (C) Namco, 2002
|
||||
Star Trigon (STT1 Ver.A) (C) Namco, 2002
|
||||
@ -628,8 +628,8 @@ ROM_START( ptblank3 )
|
||||
ROM_FILL( 0x0000000, 0x400000, 0x55 )
|
||||
|
||||
ROM_REGION( 0x2100000, "user2", 0 ) /* main prg */
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(31b39221) SHA1(7fcb14aaa26c531928a6cd704e746d0e3ae3e031) )
|
||||
ROM_LOAD( "1.8d", 0x1080000, 0x1080000, CRC(82d2cfb5) SHA1(4b5e713a55e74a7b32b1b9b5811892df2df86256) )
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(31b39221) SHA1(7fcb14aaa26c531928a6cd704e746d0e3ae3e031) )
|
||||
ROM_LOAD( "1.8d", 0x1080000, 0x1080000, CRC(82d2cfb5) SHA1(4b5e713a55e74a7b32b1b9b5811892df2df86256) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( chocovdr )
|
||||
@ -637,11 +637,11 @@ ROM_START( chocovdr )
|
||||
ROM_FILL( 0x0000000, 0x400000, 0x55 )
|
||||
|
||||
ROM_REGION( 0x5280000, "user2", 0 ) /* main prg */
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(f265b1b6) SHA1(f327e7bac0bc1bd31aa3362e36233130a6b240ea) )
|
||||
ROM_LOAD( "1.8d", 0x1080000, 0x1080000, CRC(05d01cd2) SHA1(e9947ebea24d618e8b9a69f582ef0b9d97bb4cad) )
|
||||
ROM_LOAD( "2.7e", 0x2100000, 0x1080000, CRC(2e308d20) SHA1(4ff072f0d488b12f77ef7d119822f89b5b5a6712) )
|
||||
ROM_LOAD( "3.7d", 0x3180000, 0x1080000, CRC(126c9e6f) SHA1(32de87f01fd1c8c26a68bf42a062f5f44bcc5a3b) )
|
||||
ROM_LOAD( "4.6e", 0x4200000, 0x1080000, CRC(6c18678d) SHA1(410a282397e4a4b5763467811080172b462bfcef) )
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(f265b1b6) SHA1(f327e7bac0bc1bd31aa3362e36233130a6b240ea) )
|
||||
ROM_LOAD( "1.8d", 0x1080000, 0x1080000, CRC(05d01cd2) SHA1(e9947ebea24d618e8b9a69f582ef0b9d97bb4cad) )
|
||||
ROM_LOAD( "2.7e", 0x2100000, 0x1080000, CRC(2e308d20) SHA1(4ff072f0d488b12f77ef7d119822f89b5b5a6712) )
|
||||
ROM_LOAD( "3.7d", 0x3180000, 0x1080000, CRC(126c9e6f) SHA1(32de87f01fd1c8c26a68bf42a062f5f44bcc5a3b) )
|
||||
ROM_LOAD( "4.6e", 0x4200000, 0x1080000, CRC(6c18678d) SHA1(410a282397e4a4b5763467811080172b462bfcef) )
|
||||
ROM_END
|
||||
|
||||
GAME( 2000, mrdrilr2, 0, namcos10, namcos10, mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
|
@ -1212,9 +1212,9 @@ Notes:
|
||||
U* - Fujitsu MBM29PL12LM-10PCN 128M MirrorFlash TSOP56 flash ROM.
|
||||
(configured as 16Mbytes x8bit or 8Mwords x16bit)
|
||||
This ROM has no additional custom markings. The name in the archive has been devised
|
||||
purely for convenience using the Sega 837- sticker number. The number of ROMs may vary
|
||||
between games. So far all 8 positions have been seen populated. It's also possible all
|
||||
positions are present when manufactured, each board is programmed to requirements and
|
||||
purely for convenience using the Sega 837- sticker number. The number of ROMs may vary
|
||||
between games. So far all 8 positions have been seen populated. It's also possible all
|
||||
positions are present when manufactured, each board is programmed to requirements and
|
||||
depending on the total data length, some ROMs may be empty.
|
||||
|
||||
|
||||
@ -1223,10 +1223,10 @@ Network Board
|
||||
-------------
|
||||
|
||||
This board is required for Extreme Hunting 2 Tournament Edition (and possibly some other Sega-made Atomiswave carts)
|
||||
although it doesn't need to be connected to a network or another Atomiswave unit to boot up. However it must be
|
||||
plugged into the PCB in the communication slot or the game will not go in-game. It will boot but then displays
|
||||
NETWORK BOARD ERROR if not present. Externally there's a hole for an RJ45 network cable and a slot for a
|
||||
PIC16C621/PIC16C622 PIC enclosed in a black plastic housing. This is the same type as used in NAOMI etc. This
|
||||
although it doesn't need to be connected to a network or another Atomiswave unit to boot up. However it must be
|
||||
plugged into the PCB in the communication slot or the game will not go in-game. It will boot but then displays
|
||||
NETWORK BOARD ERROR if not present. Externally there's a hole for an RJ45 network cable and a slot for a
|
||||
PIC16C621/PIC16C622 PIC enclosed in a black plastic housing. This is the same type as used in NAOMI etc. This
|
||||
board probably acts like the NAOMI network DIMM board minus the on-board DIMM RAM storage.
|
||||
|
||||
837-14508R
|
||||
@ -6045,7 +6045,7 @@ ROM_START( initdv2j )
|
||||
ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF)
|
||||
//PIC16C622A (317-0345-JPN)
|
||||
//(sticker 253-5508-0345J)
|
||||
ROM_LOAD( "317-0345-jpn.pic", 0x000000, 0x004000, CRC(56e1274a) SHA1(735a6071226f3297de64bc0a38be741e87f5d023) )
|
||||
ROM_LOAD( "317-0345-jpn.pic", 0x000000, 0x004000, CRC(56e1274a) SHA1(735a6071226f3297de64bc0a38be741e87f5d023) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( initdv2jo )
|
||||
@ -6071,7 +6071,7 @@ ROM_START( initdv2e )
|
||||
|
||||
ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF)
|
||||
//PIC16C622A (317-0357-EXP)
|
||||
ROM_LOAD( "317-0357-exp.pic", 0x000000, 0x004000, CRC(38f84b4d) SHA1(03c12d8580da1a4b3a554e62fd8b1f3447b7ebbd) )
|
||||
ROM_LOAD( "317-0357-exp.pic", 0x000000, 0x004000, CRC(38f84b4d) SHA1(03c12d8580da1a4b3a554e62fd8b1f3447b7ebbd) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( initdv3j )
|
||||
@ -7197,14 +7197,14 @@ ROM_START( ggx15 )
|
||||
AW_BIOS
|
||||
|
||||
ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
|
||||
ROM_LOAD( "ax0801p01.ic18", 0x0000000, 0x0800000, CRC(d920c6bb) SHA1(ab34bbef3c71396447bc5322d8e8786041fc832a) )
|
||||
ROM_LOAD( "ax0801m01.ic11", 0x1000000, 0x1000000, CRC(61879b2d) SHA1(9592fbd979cef9d8f465cd92d0f00b9c13ecf7ba) )
|
||||
ROM_LOAD( "ax0802m01.ic12", 0x2000000, 0x1000000, CRC(c0ff124d) SHA1(dd403d10de2f097fbaa6b93bc311e2b9e893828d) )
|
||||
ROM_LOAD( "ax0803m01.ic13", 0x3000000, 0x1000000, CRC(4400c89a) SHA1(4e13536c01103ecfbfc9e3e33746ceae7a91a520) )
|
||||
ROM_LOAD( "ax0804m01.ic14", 0x4000000, 0x1000000, CRC(70f58ab4) SHA1(cd2def19bbad945c87567f8d28f3a2a179a7f7f6) )
|
||||
ROM_LOAD( "ax0805m01.ic15", 0x5000000, 0x1000000, CRC(72740e45) SHA1(646eded89f10008c9176cd6772a8ac9d1bf4271a) )
|
||||
ROM_LOAD( "ax0806m01.ic16", 0x6000000, 0x1000000, CRC(3bf8ecba) SHA1(43e7fbf21d8ee60bab72ce558640730fd9c3e3b8) )
|
||||
ROM_LOAD( "ax0807m01.ic17", 0x7000000, 0x1000000, CRC(e397dd79) SHA1(5fec32dc19dd71ef0d451f8058186f998015723b) )
|
||||
ROM_LOAD( "ax0801p01.ic18", 0x0000000, 0x0800000, CRC(d920c6bb) SHA1(ab34bbef3c71396447bc5322d8e8786041fc832a) )
|
||||
ROM_LOAD( "ax0801m01.ic11", 0x1000000, 0x1000000, CRC(61879b2d) SHA1(9592fbd979cef9d8f465cd92d0f00b9c13ecf7ba) )
|
||||
ROM_LOAD( "ax0802m01.ic12", 0x2000000, 0x1000000, CRC(c0ff124d) SHA1(dd403d10de2f097fbaa6b93bc311e2b9e893828d) )
|
||||
ROM_LOAD( "ax0803m01.ic13", 0x3000000, 0x1000000, CRC(4400c89a) SHA1(4e13536c01103ecfbfc9e3e33746ceae7a91a520) )
|
||||
ROM_LOAD( "ax0804m01.ic14", 0x4000000, 0x1000000, CRC(70f58ab4) SHA1(cd2def19bbad945c87567f8d28f3a2a179a7f7f6) )
|
||||
ROM_LOAD( "ax0805m01.ic15", 0x5000000, 0x1000000, CRC(72740e45) SHA1(646eded89f10008c9176cd6772a8ac9d1bf4271a) )
|
||||
ROM_LOAD( "ax0806m01.ic16", 0x6000000, 0x1000000, CRC(3bf8ecba) SHA1(43e7fbf21d8ee60bab72ce558640730fd9c3e3b8) )
|
||||
ROM_LOAD( "ax0807m01.ic17", 0x7000000, 0x1000000, CRC(e397dd79) SHA1(5fec32dc19dd71ef0d451f8058186f998015723b) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( rumblef2 )
|
||||
@ -7212,12 +7212,12 @@ ROM_START( rumblef2 )
|
||||
AW_BIOS
|
||||
|
||||
ROM_REGION( 0x10000000, "user1", ROMREGION_ERASE)
|
||||
ROM_LOAD( "ax3401p01.fmem1", 0x0000000, 0x0800000, CRC(a33601cf) SHA1(2dd60a9c3a2517f2257ab69288fa95645de133fa) )
|
||||
ROM_LOAD( "ax3401m01.mrom1", 0x1000000, 0x2000000, CRC(60894d4c) SHA1(5b21af3c7c82d4d64bfd8498c26283111ada1298) )
|
||||
ROM_LOAD( "ax3402m01.mrom2", 0x3000000, 0x2000000, CRC(e4224cc9) SHA1(dcab06fcf48cda286f93d2b37f03a83abf3230cb) )
|
||||
ROM_LOAD( "ax3403m01.mrom3", 0x5000000, 0x2000000, CRC(081c0edb) SHA1(63a3f1b5f9d7ca4367868c492236406f23996cc3) )
|
||||
ROM_LOAD( "ax3404m01.mrom4", 0x7000000, 0x2000000, CRC(a426b443) SHA1(617aab42e432a80b0663281fb7faa6c14ef4f149) )
|
||||
ROM_LOAD( "ax3405m01.mrom5", 0x9000000, 0x2000000, CRC(4766ce56) SHA1(349b82013a75905ae5520b14a87702c9038a5def) )
|
||||
ROM_LOAD( "ax3401p01.fmem1", 0x0000000, 0x0800000, CRC(a33601cf) SHA1(2dd60a9c3a2517f2257ab69288fa95645de133fa) )
|
||||
ROM_LOAD( "ax3401m01.mrom1", 0x1000000, 0x2000000, CRC(60894d4c) SHA1(5b21af3c7c82d4d64bfd8498c26283111ada1298) )
|
||||
ROM_LOAD( "ax3402m01.mrom2", 0x3000000, 0x2000000, CRC(e4224cc9) SHA1(dcab06fcf48cda286f93d2b37f03a83abf3230cb) )
|
||||
ROM_LOAD( "ax3403m01.mrom3", 0x5000000, 0x2000000, CRC(081c0edb) SHA1(63a3f1b5f9d7ca4367868c492236406f23996cc3) )
|
||||
ROM_LOAD( "ax3404m01.mrom4", 0x7000000, 0x2000000, CRC(a426b443) SHA1(617aab42e432a80b0663281fb7faa6c14ef4f149) )
|
||||
ROM_LOAD( "ax3405m01.mrom5", 0x9000000, 0x2000000, CRC(4766ce56) SHA1(349b82013a75905ae5520b14a87702c9038a5def) )
|
||||
ROM_COPY( "user1", 0x9000000, 0xb000000, 0x2000000)
|
||||
ROM_END
|
||||
|
||||
|
@ -190,8 +190,8 @@ static MACHINE_START( pangofun )
|
||||
|
||||
static MACHINE_CONFIG_START( pangofun, driver_device )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", I486, 40000000 ) /* I486 ?? Mhz */
|
||||
MCFG_CPU_PROGRAM_MAP(pcat_map)
|
||||
MCFG_CPU_ADD("maincpu", I486, 40000000 ) /* I486 ?? Mhz */
|
||||
MCFG_CPU_PROGRAM_MAP(pcat_map)
|
||||
MCFG_CPU_IO_MAP(pcat_io)
|
||||
|
||||
/* video hardware */
|
||||
@ -200,8 +200,8 @@ static MACHINE_CONFIG_START( pangofun, driver_device )
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
|
||||
MCFG_MACHINE_START(pangofun)
|
||||
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
|
||||
MCFG_MACHINE_START(pangofun)
|
||||
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
|
||||
MCFG_FRAGMENT_ADD( pcat_common )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -210,8 +210,8 @@ ROM_START(pangofun)
|
||||
ROM_REGION32_LE(0x20000, "bios", 0) /* motherboard bios */
|
||||
ROM_LOAD("bios.bin", 0x000000, 0x10000, CRC(e70168ff) SHA1(4a0d985c218209b7db2b2d33f606068aae539020) )
|
||||
|
||||
// ROM_REGION32_LE(0x20000, "video_bios", 0) /* gfx card bios */
|
||||
// ROM_LOAD("vgabios.bin", 0x000000, 0x20000, NO_DUMP ) // 1x maskrom (28pin)
|
||||
// ROM_REGION32_LE(0x20000, "video_bios", 0) /* gfx card bios */
|
||||
// ROM_LOAD("vgabios.bin", 0x000000, 0x20000, NO_DUMP ) // 1x maskrom (28pin)
|
||||
ROM_REGION(0x20000, "video_bios", 0) /* Trident TVGA9000 BIOS */
|
||||
ROM_LOAD16_BYTE("prom.vid", 0x00000, 0x04000, CRC(ad7eadaf) SHA1(ab379187914a832284944e81e7652046c7d938cc) )
|
||||
ROM_CONTINUE( 0x00001, 0x04000 )
|
||||
|
@ -38,7 +38,7 @@ static ADDRESS_MAP_START( pcat_map, ADDRESS_SPACE_PROGRAM, 32 )
|
||||
// AM_RANGE(0x000e0000, 0x000effff) AM_ROM AM_REGION("game_prg", 0)
|
||||
AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 )
|
||||
AM_RANGE(0x00100000, 0x001fffff) AM_RAM //AM_REGION("game_prg", 0)
|
||||
// AM_RANGE(0x00200000, 0x00ffffff) AM_RAM
|
||||
// AM_RANGE(0x00200000, 0x00ffffff) AM_RAM
|
||||
//AM_RANGE(0x01000000, 0x01ffffff) AM_RAM
|
||||
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
|
||||
ADDRESS_MAP_END
|
||||
@ -126,15 +126,15 @@ static MACHINE_START( pcat_dyn )
|
||||
|
||||
static MACHINE_CONFIG_START( pcat_dyn, driver_device )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", I486, 40000000) /* Am486 DX-40 */
|
||||
MCFG_CPU_PROGRAM_MAP(pcat_map)
|
||||
MCFG_CPU_ADD("maincpu", I486, 40000000) /* Am486 DX-40 */
|
||||
MCFG_CPU_PROGRAM_MAP(pcat_map)
|
||||
MCFG_CPU_IO_MAP(pcat_io)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_FRAGMENT_ADD( pcvideo_vga )
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_FRAGMENT_ADD( pcvideo_vga )
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_MACHINE_START(pcat_dyn)
|
||||
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
|
||||
|
||||
|
@ -4308,8 +4308,8 @@ ROM_START( ddp3blk )
|
||||
ROM_END
|
||||
|
||||
/* this is on PGM2, the main board contains 2 custom ASICs, no roms or other kind of bios, I don't know how compatible the
|
||||
hardware is otherwise, but I imagine it's well protected
|
||||
|
||||
hardware is otherwise, but I imagine it's well protected
|
||||
|
||||
they appear to have the main program inside a custom ASIC (probably ARM again) as the carts will boot to 'PROGRAM ERROR'
|
||||
even if you strip them of program roms.
|
||||
|
||||
|
@ -228,8 +228,8 @@ static WRITE16_HANDLER( palette_w )
|
||||
megadrive_vdp_palette_lookup_shadow[offset] = (tmpb) | (tmpg << 5) | (tmpr << 10);
|
||||
|
||||
// how is it calculated on c2?
|
||||
tmpr = tmpr | 0x10;
|
||||
tmpg = tmpg | 0x10;
|
||||
tmpr = tmpr | 0x10;
|
||||
tmpg = tmpg | 0x10;
|
||||
tmpb = tmpb | 0x10;
|
||||
megadrive_vdp_palette_lookup_highlight[offset] = (tmpb) | (tmpg << 5) | (tmpr << 10);
|
||||
}
|
||||
|
@ -407,7 +407,7 @@ static WRITE16_HANDLER( reelquak_leds_w )
|
||||
ticket_dispenser_w(space->machine->device("ticket"), 0, (data & 0x0100) >> 1); // ticket dispenser
|
||||
}
|
||||
|
||||
// popmessage("LED %04X", data);
|
||||
// popmessage("LED %04X", data);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( reelquak_coin_w )
|
||||
@ -2423,7 +2423,7 @@ static DRIVER_INIT( funcube4 )
|
||||
|
||||
// Sub CPU
|
||||
sub_cpu[0x4d4/2] = 0x5470; // rte -> rts
|
||||
|
||||
|
||||
// Audio
|
||||
// The first half of the rom appears to be a dupe of the second half with 0xffs destructively interleaved
|
||||
UINT8* oki = (UINT8*) machine->region("oki")->base();
|
||||
@ -2611,7 +2611,7 @@ Board: KE (Namco) ; P0-125A (Seta)
|
||||
|
||||
CPU: TMP68301 (68000 core)
|
||||
OSC: 50.0000MHz
|
||||
32.5304MHz
|
||||
32.5304MHz
|
||||
|
||||
Sound: X1-010
|
||||
|
||||
@ -2648,7 +2648,7 @@ Board: KL (Namco) ; P0-136A (Seta)
|
||||
|
||||
CPU: TMP68301 (68000 core)
|
||||
OSC: 50.0000MHz
|
||||
32.5304MHz
|
||||
32.5304MHz
|
||||
|
||||
Sound: X1-010
|
||||
|
||||
@ -2875,7 +2875,7 @@ Other:
|
||||
ROMs:
|
||||
2 x 27C4001 (@ U2-3)
|
||||
5 x 23C32000 (@ U15-18, U32)
|
||||
GAL 16V8? (@ U38)
|
||||
GAL 16V8? (@ U38)
|
||||
|
||||
Note:
|
||||
|
||||
|
@ -1267,7 +1267,7 @@ static MACHINE_CONFIG_START( sfbonus, driver_device )
|
||||
MCFG_SCREEN_SIZE(128*8, 64*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 288-1)
|
||||
MCFG_SCREEN_UPDATE(sfbonus)
|
||||
|
||||
|
||||
MCFG_PALETTE_LENGTH(0x100*2) // *2 for priority workaraound / custom drawing
|
||||
|
||||
MCFG_VIDEO_START(sfbonus)
|
||||
|
@ -352,7 +352,7 @@ static UINT8 c0,c4,c6,c8;
|
||||
static void show_outputs()
|
||||
{
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("0: %02X 4: %02X 6: %02X 8: %02X",c0,c4,c6,c8);
|
||||
// popmessage("0: %02X 4: %02X 6: %02X 8: %02X",c0,c4,c6,c8);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -605,7 +605,7 @@ static UINT8 out[3];
|
||||
static void show_3_outputs()
|
||||
{
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("COIN: %02X LED: %02X HOP: %02X", out[0], out[1], out[2]);
|
||||
// popmessage("COIN: %02X LED: %02X HOP: %02X", out[0], out[1], out[2]);
|
||||
#endif
|
||||
}
|
||||
// Port 31
|
||||
@ -615,9 +615,9 @@ static WRITE8_HANDLER( sammymdl_coin_w )
|
||||
coin_counter_w(space->machine, 1, data & 0x02 ); // coin2 in
|
||||
coin_counter_w(space->machine, 2, data & 0x04 ); // medal in
|
||||
|
||||
// coin_lockout_w(space->machine, 1, (~data) & 0x08 ); // coin2 lockout?
|
||||
// coin_lockout_w(space->machine, 0, (~data) & 0x10 ); // coin1 lockout
|
||||
// coin_lockout_w(space->machine, 2, (~data) & 0x20 ); // medal lockout?
|
||||
// coin_lockout_w(space->machine, 1, (~data) & 0x08 ); // coin2 lockout?
|
||||
// coin_lockout_w(space->machine, 0, (~data) & 0x10 ); // coin1 lockout
|
||||
// coin_lockout_w(space->machine, 2, (~data) & 0x20 ); // medal lockout?
|
||||
|
||||
out[0] = data;
|
||||
show_3_outputs();
|
||||
@ -828,7 +828,7 @@ static READ8_HANDLER( haekaka_b000_r )
|
||||
case 0x65: // SPRITERAM
|
||||
if (offset < 0x1000)
|
||||
return space->machine->generic.spriteram.u8[offset];
|
||||
|
||||
|
||||
case 0x67: // PALETTERAM + TABLE? + REGS
|
||||
if (offset < 0x200)
|
||||
return space->machine->generic.paletteram.u8[offset];
|
||||
@ -852,12 +852,12 @@ static WRITE8_HANDLER( haekaka_b000_w )
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 0x67: // PALETTERAM + TABLE? + REGS
|
||||
if (offset < 0x200)
|
||||
{
|
||||
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
|
||||
// space->machine->generic.paletteram.u8[offset] = data;
|
||||
// space->machine->generic.paletteram.u8[offset] = data;
|
||||
return;
|
||||
}
|
||||
else if ((offset >= 0x800) && (offset < 0x880))
|
||||
@ -890,9 +890,9 @@ static WRITE8_HANDLER( haekaka_leds_w )
|
||||
static WRITE8_HANDLER( haekaka_coin_w )
|
||||
{
|
||||
coin_counter_w(space->machine, 0, data & 0x01 ); // medal out
|
||||
// data & 0x02 ?
|
||||
// data & 0x04 ?
|
||||
// data & 0x10 ?
|
||||
// data & 0x02 ?
|
||||
// data & 0x04 ?
|
||||
// data & 0x10 ?
|
||||
|
||||
out[0] = data;
|
||||
show_3_outputs();
|
||||
@ -1331,12 +1331,12 @@ static WRITE8_HANDLER( tdoboon_c000_w )
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 0x66: // PALETTERAM + TABLE?
|
||||
if (offset < 0x200)
|
||||
{
|
||||
paletteram_xRRRRRGGGGGBBBBB_be_w(space, offset, data);
|
||||
// space->machine->generic.paletteram.u8[offset] = data;
|
||||
// space->machine->generic.paletteram.u8[offset] = data;
|
||||
return;
|
||||
}
|
||||
else if ((offset >= 0x800) && (offset < 0x880))
|
||||
|
@ -334,11 +334,11 @@ static READ8_HANDLER( iox_status_r )
|
||||
static WRITE8_HANDLER( iox_command_w )
|
||||
{
|
||||
/*
|
||||
bit wise command port apparently
|
||||
0x01: selects both sides
|
||||
0x02: selects p1 side
|
||||
0x04: selects p2 side
|
||||
*/
|
||||
bit wise command port apparently
|
||||
0x01: selects both sides
|
||||
0x02: selects p1 side
|
||||
0x04: selects p2 side
|
||||
*/
|
||||
|
||||
iox_mux = data;
|
||||
iox_ff = 0; // this also set flip flop back to 0
|
||||
@ -1542,13 +1542,13 @@ ROM_END
|
||||
|
||||
|
||||
|
||||
GAME( 1987, srmp1, 0, srmp2, srmp2, 0, ROT0, "Seta", "Super Real Mahjong Part 1 (Japan)", 0 )
|
||||
GAME( 1987, srmp2, 0, srmp2, srmp2, 0, ROT0, "Seta", "Super Real Mahjong Part 2 (Japan)", 0 )
|
||||
GAME( 1988, srmp3, 0, srmp3, srmp3, 0, ROT0, "Seta", "Super Real Mahjong Part 3 (Japan)", 0 )
|
||||
GAME( 1987, srmp1, 0, srmp2, srmp2, 0, ROT0, "Seta", "Super Real Mahjong Part 1 (Japan)", 0 )
|
||||
GAME( 1987, srmp2, 0, srmp2, srmp2, 0, ROT0, "Seta", "Super Real Mahjong Part 2 (Japan)", 0 )
|
||||
GAME( 1988, srmp3, 0, srmp3, srmp3, 0, ROT0, "Seta", "Super Real Mahjong Part 3 (Japan)", 0 )
|
||||
GAME( 1988, rmgoldyh, srmp3, rmgoldyh, rmgoldyh, 0, ROT0, "Seta (Alba license)", "Real Mahjong Gold Yumehai / Super Real Mahjong GOLD part.2 [BET] (Japan)", 0 )
|
||||
GAME( 1990, mjyuugi, 0, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 1)", 0 )
|
||||
GAME( 1990, mjyuugia, mjyuugi, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 2)", 0 )
|
||||
GAME( 1991, ponchin, 0, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 1)", 0 )
|
||||
GAME( 1991, ponchina, ponchin, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 2)", 0 )
|
||||
GAME( 1990, mjyuugi, 0, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 1)", 0 )
|
||||
GAME( 1990, mjyuugia, mjyuugi, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 2)", 0 )
|
||||
GAME( 1991, ponchin, 0, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 1)", 0 )
|
||||
GAME( 1991, ponchina, ponchin, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 2)", 0 )
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/************************************************************************
|
||||
|
||||
|
||||
'RISC PC' hardware
|
||||
|
||||
|
||||
See See Find Out [Icarus 1999]
|
||||
Pang Pang Car [Icarus 1999]
|
||||
Tetris Fighters [Sego Entertainment 2001]
|
||||
@ -724,7 +724,7 @@ ROM_START( tetfight )
|
||||
|
||||
ROM_REGION(0x100000, "user5", ROMREGION_ERASE00 )/* qdsp samples */
|
||||
// probably the same, but wasn't dumped
|
||||
//ROM_LOAD( "1008s-1.u16", 0x000000, 0x100000, CRC(9aef9545) SHA1(f23ef72c3e3667923768dfdd0c5b4951b23dcbcf) )
|
||||
//ROM_LOAD( "1008s-1.u16", 0x000000, 0x100000, CRC(9aef9545) SHA1(f23ef72c3e3667923768dfdd0c5b4951b23dcbcf) )
|
||||
|
||||
ROM_REGION(0x100000, "user6", 0 ) /* samples - same internal structure as qdsp samples */
|
||||
ROM_LOAD( "u11", 0x000000, 0x80000, CRC(073050f6) SHA1(07f362f3ba468bde2341a99e6b26931d11459a92) )
|
||||
|
@ -1124,19 +1124,19 @@ static ADDRESS_MAP_START( mtrainnv_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0d004, 0x0d004 ) AM_READ_PORT( "SW4" )
|
||||
AM_RANGE( 0x0d005, 0x0d005 ) AM_READ_PORT( "INB" )
|
||||
AM_RANGE( 0x0d006, 0x0d006 ) AM_READ_PORT( "INA" )
|
||||
// AM_RANGE( 0x0d008, 0x0d008 ) AM_READWRITE
|
||||
// AM_RANGE( 0x0d009, 0x0d009 ) AM_WRITE
|
||||
// AM_RANGE( 0x0d00a, 0x0d00a ) AM_WRITE
|
||||
// AM_RANGE( 0x0d00b, 0x0d00b ) AM_WRITE
|
||||
// AM_RANGE( 0x0d008, 0x0d008 ) AM_READWRITE
|
||||
// AM_RANGE( 0x0d009, 0x0d009 ) AM_WRITE
|
||||
// AM_RANGE( 0x0d00a, 0x0d00a ) AM_WRITE
|
||||
// AM_RANGE( 0x0d00b, 0x0d00b ) AM_WRITE
|
||||
AM_RANGE( 0x0d00c, 0x0d00c ) AM_READ_PORT( "INC" )
|
||||
|
||||
AM_RANGE( 0x0d010, 0x0d013 ) AM_WRITE(colordac_w)
|
||||
|
||||
// AM_RANGE( 0x0d012, 0x0d012 ) AM_WRITE
|
||||
// AM_RANGE( 0x0d012, 0x0d012 ) AM_WRITE
|
||||
|
||||
AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE( "ymsnd", ym3812_w )
|
||||
|
||||
// AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
|
||||
// AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
|
||||
|
||||
AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
|
||||
AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
|
||||
@ -2668,7 +2668,7 @@ static MACHINE_CONFIG_START( srider, driver_device )
|
||||
MCFG_PALETTE_INIT(subsino_3proms)
|
||||
|
||||
MCFG_VIDEO_START(subsino)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
@ -3628,7 +3628,7 @@ static DRIVER_INIT( mtrainnv )
|
||||
GAMEL( 1990, victor21, 0, victor21, victor21, victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 )
|
||||
GAMEL( 1991, victor5, 0, victor5, victor5, victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info?
|
||||
GAMEL( 1992, tisub, 0, tisub, tisub, tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub )
|
||||
GAMEL( 1992, tisuba, tisub, tisub, tisub, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub )
|
||||
GAMEL( 1992, tisuba, tisub, tisub, tisub, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub )
|
||||
GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo )
|
||||
GAMEL( 1995, stisub, 0, stisub, stisub, stisub, ROT0, "American Alpha", "Treasure Bonus (Subsino)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?)
|
||||
GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages?
|
||||
|
@ -33,7 +33,7 @@ video: Sprite Zooming - the current algorithm is leaving gaps, most noticable
|
||||
|
||||
video: Sprite positions still kludged slightly (see skns_sprite_kludge)
|
||||
|
||||
general: bios is still being skipped, gets stuck at last bios screen if we run it (see #define BIOS_SKIP)
|
||||
general: bios is still being skipped, gets stuck at last bios screen if we run it (see #define BIOS_SKIP)
|
||||
|
||||
------------------
|
||||
|
||||
|
@ -3861,7 +3861,7 @@ static MACHINE_CONFIG_DERIVED( qzchikyu, taito_f2_tc0510nio )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_VIDEO_START(taitof2_qzchikyu)
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_EOF(taitof2_partial_buffer_delayed_qzchikyu)
|
||||
|
||||
MCFG_TC0100SCN_ADD("tc0100scn", qzchikyu_tc0100scn_intf)
|
||||
|
@ -790,7 +790,7 @@ static MACHINE_CONFIG_START( rapidfir, driver_device )
|
||||
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
|
||||
|
||||
MCFG_VIDEO_START(tickee)
|
||||
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
|
||||
|
@ -1820,7 +1820,7 @@ static MACHINE_CONFIG_START( vimana, toaplan1_state )
|
||||
MCFG_PALETTE_LENGTH((64*16)+(64*16))
|
||||
|
||||
MCFG_VIDEO_START(toaplan1)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -584,7 +584,7 @@ static MACHINE_CONFIG_START( vcombat, driver_device )
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz / 2, 400, 0, 256, 291, 0, 208)
|
||||
MCFG_SCREEN_UPDATE(vcombat)
|
||||
|
||||
|
||||
MCFG_SCREEN_ADD("aux", RASTER)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz / 2, 400, 0, 256, 291, 0, 208)
|
||||
|
@ -1202,7 +1202,7 @@ ROM_START(lotr8)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD( "lotrdspa.800", 0x0000, 0x80000, CRC(2aa1f00d) SHA1(e9df5b61b467c307aacdb5a6980a78af26492e6a))
|
||||
ROM_REGION32_LE(0x600000, "cpu2", 0)
|
||||
ROM_LOAD("bios.u8", 0x400000, 0x200000, CRC(c049bf99) SHA1(89e76760e8010fe642ed4312732de81c8a25f548))
|
||||
@ -1246,7 +1246,7 @@ ROM_START(lotr401)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD( "lotrdspa.403", 0x0000, 0x80000, CRC(2630cef1) SHA1(1dfd929e7eb57983f2fd9184d471f2e919359de0))
|
||||
ROM_REGION32_LE(0x600000, "cpu2", 0)
|
||||
ROM_LOAD("bios.u8", 0x400000, 0x200000, CRC(c049bf99) SHA1(89e76760e8010fe642ed4312732de81c8a25f548))
|
||||
@ -1692,7 +1692,7 @@ ROM_START(lotr_it401)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD( "lotrdspi.403", 0x0000, 0x80000, CRC(5922ce10) SHA1(c57f2de4e3344f16056405d71510c0c0b60ef86d)) // ver 4.03
|
||||
ROM_REGION32_LE(0x600000, "cpu2", 0)
|
||||
ROM_LOAD("bios.u8", 0x400000, 0x200000, CRC(c049bf99) SHA1(89e76760e8010fe642ed4312732de81c8a25f548))
|
||||
|
@ -139,7 +139,7 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(austin)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("apcpu.302", 0x00000, 0x20000, CRC(2920b59b) SHA1(280cebbb39980fbcfd91fc1cf87a40ad926ffecb))
|
||||
ROM_LOAD("apcpu.302", 0x00000, 0x20000, CRC(2920b59b) SHA1(280cebbb39980fbcfd91fc1cf87a40ad926ffecb))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -905,7 +905,7 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(monop251)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("moncpu.251", 0x00000, 0x20000, CRC(0645cfae) SHA1(d979234150b7fb62718debbeeeca1466a6c0344f))
|
||||
ROM_LOAD("moncpu.251", 0x00000, 0x20000, CRC(0645cfae) SHA1(d979234150b7fb62718debbeeeca1466a6c0344f))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -927,7 +927,7 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(monop233)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("moncpu.233", 0x00000, 0x20000, CRC(f20a5ca6) SHA1(12ae56bd149aa6635c19f4dd73580db550b26963))
|
||||
ROM_LOAD("moncpu.233", 0x00000, 0x20000, CRC(f20a5ca6) SHA1(12ae56bd149aa6635c19f4dd73580db550b26963))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1210,7 +1210,7 @@ ROM_START(playboyf_300)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD("pbdispf.300", 0x00000, 0x80000, CRC(69ab3bb2) SHA1(59d7ad5eca701d1216200cd489d2d07825a0856e))
|
||||
ROM_REGION(0x010000, "cpu2", 0)
|
||||
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
|
||||
@ -1404,7 +1404,7 @@ ROM_START(rctycn)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD("rctdispa.701", 0x00000, 0x80000, CRC(0d527f13) SHA1(954116a79578b2a7679c401a2bb99b5bbfb603f2))
|
||||
ROM_LOAD("rctdispa.701", 0x00000, 0x80000, CRC(0d527f13) SHA1(954116a79578b2a7679c401a2bb99b5bbfb603f2))
|
||||
ROM_REGION(0x010000, "cpu2", 0)
|
||||
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
|
||||
ROM_REGION(0x400000, "sound1", 0)
|
||||
@ -1432,7 +1432,7 @@ ROM_START(rctycn_701)
|
||||
ROM_END
|
||||
ROM_START(rctycn_400)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1489,14 +1489,14 @@ ROM_START(rctycng)
|
||||
ROM_END
|
||||
ROM_START(rctycng_701)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD("rctdispg.700", 0x00000, 0x80000, CRC(0babf1ed) SHA1(db683aa392968d255d355d4a1b0c9d8d4fb9e799))
|
||||
ROM_REGION(0x010000, "cpu2", 0)
|
||||
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
|
||||
@ -1507,7 +1507,7 @@ ROM_START(rctycng_701)
|
||||
ROM_END
|
||||
ROM_START(rctycng_400)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1525,7 +1525,7 @@ ROM_START(rctycng_400)
|
||||
ROM_END
|
||||
ROM_START(rctycnf)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.702", 0x00000, 0x20000, CRC(5736a816) SHA1(fcfd06eeca74df0bca2c0bc57aeaa00400e4ab55))
|
||||
ROM_LOAD("rctcpu.702", 0x00000, 0x20000, CRC(5736a816) SHA1(fcfd06eeca74df0bca2c0bc57aeaa00400e4ab55))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1543,7 +1543,7 @@ ROM_START(rctycnf)
|
||||
ROM_END
|
||||
ROM_START(rctycnf_701)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1597,14 +1597,14 @@ ROM_START(rctycni)
|
||||
ROM_END
|
||||
ROM_START(rctycni_701)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD("rctdispi.700", 0x00000, 0x80000, CRC(0d07d8f2) SHA1(3ffd8ad7183ba20844c1e5d1933c8002ca4707aa))
|
||||
ROM_REGION(0x010000, "cpu2", 0)
|
||||
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
|
||||
@ -1635,7 +1635,7 @@ ROM_START(rctycnl)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.702", 0x00000, 0x20000, CRC(5736a816) SHA1(fcfd06eeca74df0bca2c0bc57aeaa00400e4ab55))
|
||||
//ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
//ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
//ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1655,7 +1655,7 @@ ROM_START(rctycnl)
|
||||
ROM_END
|
||||
ROM_START(rctycnl_701)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_LOAD("rctcpu.701", 0x00000, 0x20000, CRC(e1fe89f6) SHA1(9a76a5c267e055fcf0418394762bcea758da02d6))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
ROM_RELOAD(0x60000, 0x20000)
|
||||
@ -1663,7 +1663,7 @@ ROM_START(rctycnl_701)
|
||||
ROM_COPY( "user1", 0x18000, 0x8000, 0x8000)
|
||||
ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x80000, "gfx3", 0)
|
||||
ROM_LOAD("rctdisps.700", 0x00000, 0x80000, CRC(6921d8cc) SHA1(1ada415af8e949829ceac75da507982ea2091f4d))
|
||||
ROM_LOAD("rctdisps.700", 0x00000, 0x80000, CRC(6921d8cc) SHA1(1ada415af8e949829ceac75da507982ea2091f4d))
|
||||
ROM_REGION(0x010000, "cpu2", 0)
|
||||
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
|
||||
ROM_REGION(0x400000, "sound1", 0)
|
||||
@ -1672,7 +1672,7 @@ ROM_START(rctycnl_701)
|
||||
ROM_LOAD("rcsndu36.100", 0x200000, 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
|
||||
ROM_END
|
||||
ROM_START(rctycnl_400)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_REGION(0x80000, "user1", 0)
|
||||
ROM_LOAD("rctcpu.400", 0x00000, 0x20000, CRC(4691de23) SHA1(f47fc03f9b030cb7a1201d015bbec5a426176338))
|
||||
ROM_RELOAD(0x20000, 0x20000)
|
||||
ROM_RELOAD(0x40000, 0x20000)
|
||||
|
@ -334,7 +334,7 @@ static MACHINE_CONFIG_START( xtheball, driver_device )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
|
||||
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_RAW_PARAMS(10000000, 640, 114, 626, 257, 24, 248)
|
||||
|
@ -487,12 +487,12 @@ void main()
|
||||
void Load(char *name,byte *buffer,int from, int length)
|
||||
{
|
||||
/*
|
||||
emu_file file(options, NULL, OPEN_FLAG_READ);
|
||||
file_error filerr = file.open(name);
|
||||
if (filerr != FILERR_NONE)
|
||||
return;
|
||||
while (length--)
|
||||
buffer[from++]=file->getc();
|
||||
emu_file file(options, NULL, OPEN_FLAG_READ);
|
||||
file_error filerr = file.open(name);
|
||||
if (filerr != FILERR_NONE)
|
||||
return;
|
||||
while (length--)
|
||||
buffer[from++]=file->getc();
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
int fg_gfx;
|
||||
int fg2_gfx;
|
||||
int tx_tilemap_mode;
|
||||
|
||||
|
||||
int interrupt_line_1, interrupt_line_2;
|
||||
};
|
||||
|
||||
|
@ -104,8 +104,8 @@ class md_boot_state : public md_base_state
|
||||
public:
|
||||
md_boot_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_base_state(machine, config) { }
|
||||
|
||||
// bootleg specific
|
||||
|
||||
// bootleg specific
|
||||
int aladmdb_mcu_port;
|
||||
};
|
||||
|
||||
@ -114,28 +114,28 @@ class segac2_state : public md_base_state
|
||||
public:
|
||||
segac2_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_base_state(machine, config) { }
|
||||
|
||||
|
||||
// for Print Club only
|
||||
int cam_data;
|
||||
|
||||
|
||||
int segac2_enable_display;
|
||||
|
||||
|
||||
UINT16* paletteram;
|
||||
|
||||
|
||||
/* internal states */
|
||||
UINT8 misc_io_data[0x10]; /* holds values written to the I/O chip */
|
||||
|
||||
|
||||
/* protection-related tracking */
|
||||
int (*prot_func)(int in); /* emulation of protection chip */
|
||||
UINT8 prot_write_buf; /* remembers what was written */
|
||||
UINT8 prot_read_buf; /* remembers what was returned */
|
||||
|
||||
|
||||
/* palette-related variables */
|
||||
UINT8 segac2_alt_palette_mode;
|
||||
UINT8 palbank;
|
||||
UINT8 bg_palbase;
|
||||
UINT8 sp_palbase;
|
||||
|
||||
|
||||
/* sound-related variables */
|
||||
UINT8 sound_banks; /* number of sound banks */
|
||||
};
|
||||
@ -145,21 +145,21 @@ class mplay_state : public md_base_state
|
||||
public:
|
||||
mplay_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_base_state(machine, config) { }
|
||||
|
||||
|
||||
UINT32 bios_mode; // determines whether ROM banks or Game data
|
||||
// is to read from 0x8000-0xffff
|
||||
|
||||
|
||||
UINT32 bios_bank; // ROM bank selection
|
||||
UINT16 game_banksel; // Game bank selection
|
||||
UINT32 readpos; // serial bank selection position (9-bit)
|
||||
UINT32 mp_bios_bank_addr;
|
||||
|
||||
|
||||
UINT32 bios_width; // determines the way the game info ROM is read
|
||||
UINT8 bios_ctrl[6];
|
||||
UINT8 bios_6600;
|
||||
UINT8 bios_6403;
|
||||
UINT8 bios_6404;
|
||||
|
||||
|
||||
UINT16 *genesis_io_ram;
|
||||
UINT8* ic3_ram;
|
||||
UINT8* ic37_ram;
|
||||
@ -171,17 +171,17 @@ class mtech_state : public md_base_state
|
||||
public:
|
||||
mtech_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_base_state(machine, config) { }
|
||||
|
||||
|
||||
UINT8 mt_cart_select_reg;
|
||||
UINT32 bios_port_ctrl;
|
||||
int current_game_is_sms; // is the current game SMS based (running on genesis z80, in VDP compatibility mode)
|
||||
UINT32 bios_ctrl_inputs;
|
||||
UINT8 bios_ctrl[6];
|
||||
|
||||
|
||||
int mt_bank_addr;
|
||||
|
||||
|
||||
int cart_is_genesis[8];
|
||||
|
||||
|
||||
/* Megatech BIOS specific */
|
||||
UINT8* megatech_banked_ram;
|
||||
};
|
||||
@ -190,7 +190,7 @@ typedef struct _megadriv_cart megadriv_cart;
|
||||
struct _megadriv_cart
|
||||
{
|
||||
int type;
|
||||
|
||||
|
||||
// SRAM related
|
||||
UINT16 *sram;
|
||||
int last_loaded_image_length;
|
||||
@ -198,13 +198,13 @@ struct _megadriv_cart
|
||||
int sram_active, sram_readonly;
|
||||
int sram_handlers_installed;
|
||||
int sram_detected;
|
||||
|
||||
|
||||
// EEPROM related
|
||||
int has_serial_eeprom;
|
||||
|
||||
|
||||
// I2C related
|
||||
UINT8 i2c_mem, i2c_clk;
|
||||
|
||||
|
||||
// mapper related (mostly for pirate carts)
|
||||
UINT16 squirrel_king_extra;
|
||||
UINT16 lion2_prot1_data, lion2_prot2_data;
|
||||
@ -218,11 +218,11 @@ class md_cons_state : public md_base_state
|
||||
public:
|
||||
md_cons_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_base_state(machine, config) { }
|
||||
|
||||
|
||||
emu_timer *mess_io_timeout[3];
|
||||
int mess_io_stage[3];
|
||||
UINT8 jcart_io_data[2];
|
||||
|
||||
UINT8 jcart_io_data[2];
|
||||
|
||||
megadriv_cart md_cart;
|
||||
};
|
||||
|
||||
@ -231,7 +231,7 @@ class pico_state : public md_cons_state
|
||||
public:
|
||||
pico_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: md_cons_state(machine, config) { }
|
||||
|
||||
|
||||
UINT8 page_register;
|
||||
};
|
||||
|
||||
|
@ -17,7 +17,7 @@ class micro3d_state : public driver_device
|
||||
public:
|
||||
micro3d_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
|
||||
UINT16 *shared_ram;
|
||||
device_t *duart68681;
|
||||
UINT8 m68681_tx0;
|
||||
|
@ -1008,6 +1008,6 @@ WRITE32_HANDLER(archimedes_memc_page_w)
|
||||
// now go ahead and set the mapping in the page table
|
||||
memc_pages[log] = phys + (memc*0x80);
|
||||
|
||||
// printf("PC=%08x = MEMC_PAGE(%d): W %08x: log %x to phys %x, MEMC %d, perms %d\n", cpu_get_pc(space->cpu),memc_pagesize, data, log, phys, memc, perms);
|
||||
// printf("PC=%08x = MEMC_PAGE(%d): W %08x: log %x to phys %x, MEMC %d, perms %d\n", cpu_get_pc(space->cpu),memc_pagesize, data, log, phys, memc, perms);
|
||||
}
|
||||
|
||||
|
@ -465,7 +465,7 @@ static void birdtry_i8751_write(running_machine *machine, int data)
|
||||
case 0x20d: hgt = 0x280; break; /*|*/
|
||||
case 0x20e: hgt = 0x240; break; /*|*/
|
||||
case 0x20f: hgt = 0x200; break; /*L*/
|
||||
case 0x534: state->i8751_return = hgt; break; /*Shot height*/
|
||||
case 0x534: state->i8751_return = hgt; break; /*Shot height*/
|
||||
|
||||
/*At the ending screen(???)*/
|
||||
//case 0x3b4: state->i8751_return = 0; break;
|
||||
|
@ -198,7 +198,7 @@ static WRITE16_HANDLER( genesis_ssf2_bank_w )
|
||||
|
||||
if ((state->md_cart.ssf2_lastoff != offset) || (state->md_cart.ssf2_lastdata != data))
|
||||
{
|
||||
state->md_cart.ssf2_lastoff = offset;
|
||||
state->md_cart.ssf2_lastoff = offset;
|
||||
state->md_cart.ssf2_lastdata = data;
|
||||
switch (offset << 1)
|
||||
{
|
||||
@ -1301,7 +1301,7 @@ static void setup_megadriv_sram(device_image_interface &image)
|
||||
switch (state->md_cart.type)
|
||||
{
|
||||
// These types only come from xml
|
||||
// TODO: Eventually megadriv_backupram should point to the allocated cart:sram region!
|
||||
// TODO: Eventually megadriv_backupram should point to the allocated cart:sram region!
|
||||
// For now, we only use the region as a placeholder to carry size info...
|
||||
case SEGA_SRAM:
|
||||
state->md_cart.sram_start = 0x200000;
|
||||
|
@ -3865,7 +3865,7 @@ int segacd_ret = 0;
|
||||
|
||||
|
||||
#define TOCCMD_CURPOS (0x0)
|
||||
#define TOCCMD_TRKPOS (0x1)
|
||||
#define TOCCMD_TRKPOS (0x1)
|
||||
#define TOCCMD_CURTRK (0x2)
|
||||
#define TOCCMD_LENGTH (0x3)
|
||||
#define TOCCMD_FIRSTLAST (0x4)
|
||||
@ -4181,7 +4181,7 @@ void CDD_GetTrackPos(void)
|
||||
int elapsedlba;
|
||||
UINT32 msf;
|
||||
CDD_STATUS &= 0xFF;
|
||||
// UINT32 end_msf = ;
|
||||
// UINT32 end_msf = ;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
@ -4506,7 +4506,7 @@ void CDC_Do_DMA(running_machine* machine, int rate)
|
||||
{
|
||||
space->write_byte(0xff2000+(((dstoffset*2)+1)&0x1fff),data >> 8);
|
||||
space->write_byte(0xff2000+(((dstoffset*2)+3)&0x1fff),data & 0xff);
|
||||
// printf("PCM_DMA writing %04x %04x\n",0xff2000+(dstoffset*2), data);
|
||||
// printf("PCM_DMA writing %04x %04x\n",0xff2000+(dstoffset*2), data);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4694,7 +4694,7 @@ static const char *const CDD_import_cmdnames[] =
|
||||
{
|
||||
"Get Status", // 0
|
||||
"Stop ALL", // 1
|
||||
"Handle TOC", // 2
|
||||
"Handle TOC", // 2
|
||||
"Play", // 3
|
||||
"Seek", // 4
|
||||
"<undefined>", // 5
|
||||
@ -5273,7 +5273,7 @@ static READ16_HANDLER( segacd_main_dataram_part1_r )
|
||||
// do we care about the ret bit?? HOTA is missing some startup screens...
|
||||
//if (!segacd_ret)
|
||||
//{
|
||||
// return segacd_dataram[offset+0x20000/2];
|
||||
// return segacd_dataram[offset+0x20000/2];
|
||||
//}
|
||||
//else
|
||||
{
|
||||
@ -5901,7 +5901,7 @@ void segacd_init_main_cpu( running_machine* machine )
|
||||
segacd_gfx_conversion_timer->adjust(attotime::never);
|
||||
|
||||
segacd_hock_timer = machine->scheduler().timer_alloc(FUNC(segacd_access_timer_callback));
|
||||
// segacd_hock_timer->adjust( attotime::from_nsec(20000000), 0, attotime::from_nsec(20000000));
|
||||
// segacd_hock_timer->adjust( attotime::from_nsec(20000000), 0, attotime::from_nsec(20000000));
|
||||
segacd_hock_timer->adjust( attotime::from_hz(75),0, attotime::from_hz(75));
|
||||
|
||||
segacd_irq3_timer = machine->scheduler().timer_alloc(FUNC(segacd_irq3_timer_callback));
|
||||
@ -6125,7 +6125,7 @@ static WRITE16_HANDLER( segacd_irq_mask_w )
|
||||
{
|
||||
UINT16 control = CDD_CONTROL;
|
||||
|
||||
// printf("segacd_irq_mask_w %04x %04x (CDD control is %04x)\n",data, mem_mask, control);
|
||||
// printf("segacd_irq_mask_w %04x %04x (CDD control is %04x)\n",data, mem_mask, control);
|
||||
|
||||
if (data & 0x10)
|
||||
{
|
||||
@ -6207,7 +6207,7 @@ static WRITE16_HANDLER( segacd_stampsize_w )
|
||||
{
|
||||
segacd_stampsize = data & 0x07;
|
||||
//if (data & 0xf8)
|
||||
// printf(" unused bits (LSB) set in stampsize!\n");
|
||||
// printf(" unused bits (LSB) set in stampsize!\n");
|
||||
|
||||
//if (data&1) printf(" Repeat On\n");
|
||||
//else printf(" Repeat Off\n");
|
||||
@ -6446,7 +6446,7 @@ static READ16_HANDLER( segacd_imagebuffer_offset_r )
|
||||
static WRITE16_HANDLER( segacd_imagebuffer_offset_w )
|
||||
{
|
||||
COMBINE_DATA(&segacd_imagebuffer_offset);
|
||||
// printf("segacd_imagebuffer_offset_w %04x\n", segacd_imagebuffer_offset);
|
||||
// printf("segacd_imagebuffer_offset_w %04x\n", segacd_imagebuffer_offset);
|
||||
}
|
||||
|
||||
static READ16_HANDLER( segacd_imagebuffer_vcell_size_r )
|
||||
|
@ -252,61 +252,61 @@ static const naomibd_config_table naomibd_translate_tbl[] =
|
||||
{
|
||||
// games where on-the-fly decryption works (many of these are fully playable in MAME, just slow)
|
||||
{ "18wheelr", 0x07cf54, 0 },
|
||||
{ "alpilota", 0x070e41, 0 },
|
||||
{ "alpiltdx", 0x070e41, 0 },
|
||||
{ "capsnk", 0, 0 },
|
||||
{ "capsnka", 0, 0 },
|
||||
{ "crackndj", 0x1c2347, 0 },
|
||||
{ "crzytaxi", 0x0d2f45, 0 },
|
||||
{ "csmash", 0x103347, 0 },
|
||||
{ "csmasho", 0x103347, 0 },
|
||||
{ "cspike", 0x0e2010, 0 },
|
||||
{ "deathcox", 0x0b64d0, 0 },
|
||||
{ "derbyoc", 0x0fee35, 0 },
|
||||
{ "doa2", 0x8ad01, 0 },
|
||||
{ "doa2m", 0x8ad01, 0 },
|
||||
{ "alpilota", 0x070e41, 0 },
|
||||
{ "alpiltdx", 0x070e41, 0 },
|
||||
{ "capsnk", 0, 0 },
|
||||
{ "capsnka", 0, 0 },
|
||||
{ "crackndj", 0x1c2347, 0 },
|
||||
{ "crzytaxi", 0x0d2f45, 0 },
|
||||
{ "csmash", 0x103347, 0 },
|
||||
{ "csmasho", 0x103347, 0 },
|
||||
{ "cspike", 0x0e2010, 0 },
|
||||
{ "deathcox", 0x0b64d0, 0 },
|
||||
{ "derbyoc", 0x0fee35, 0 },
|
||||
{ "doa2", 0x8ad01, 0 },
|
||||
{ "doa2m", 0x8ad01, 0 },
|
||||
{ "dybb99", 0x048a01, 0 },
|
||||
{ "f355twin", 0x06efd4, 0 },
|
||||
{ "f355twn2", 0x1666c6, 0 },
|
||||
{ "ggram2", 0x074a61, 0 },
|
||||
{ "ggx", 0x076110, 0 },
|
||||
{ "f355twin", 0x06efd4, 0 },
|
||||
{ "f355twn2", 0x1666c6, 0 },
|
||||
{ "ggram2", 0x074a61, 0 },
|
||||
{ "ggx", 0x076110, 0 },
|
||||
{ "gram2000", 0, 0x7f805c3f },
|
||||
{ "gundmct", 0x0e8010, 0 },
|
||||
{ "gwing2", 0x0b25d0, 0 },
|
||||
{ "hmgeo", 0x038510, 0 },
|
||||
{ "jambo", 0x0fab95, 0 },
|
||||
{ "gundmct", 0x0e8010, 0 },
|
||||
{ "gwing2", 0x0b25d0, 0 },
|
||||
{ "hmgeo", 0x038510, 0 },
|
||||
{ "jambo", 0x0fab95, 0 },
|
||||
{ "kick4csh", 0, 0x820857c9 },
|
||||
{ "mvsc2", 0, 0xc18b6e7c },
|
||||
{ "otrigger", 0x0fea94, 0 },
|
||||
{ "pjustic", 0x0725d0, 0 },
|
||||
{ "pstone", 0x0e69c1, 0 },
|
||||
{ "pstone2", 0x0b8dc0, 0 },
|
||||
{ "puyoda", 0x0acd40, 0 },
|
||||
{ "otrigger", 0x0fea94, 0 },
|
||||
{ "pjustic", 0x0725d0, 0 },
|
||||
{ "pstone", 0x0e69c1, 0 },
|
||||
{ "pstone2", 0x0b8dc0, 0 },
|
||||
{ "puyoda", 0x0acd40, 0 },
|
||||
{ "qmegamis", 0, 0xcd9b4896 },
|
||||
{ "ringout", 0x0b1e40, 0 },
|
||||
{ "samba", 0x0a8b5d, 0 },
|
||||
{ "samba2k", 0x1702cf, 0 },
|
||||
{ "sgtetris", 0x8ae51, 0 },
|
||||
{ "ringout", 0x0b1e40, 0 },
|
||||
{ "samba", 0x0a8b5d, 0 },
|
||||
{ "samba2k", 0x1702cf, 0 },
|
||||
{ "sgtetris", 0x8ae51, 0 },
|
||||
{ "shootopl", 0, 0xa0f37ca7 },
|
||||
{ "shootpl", 0, 0x9d8de9cd },
|
||||
{ "shootplm", 0, 0x9d8de9cd },
|
||||
{ "slasho", 0x1a66ca, 0 },
|
||||
{ "smlg99", 0x048a01, 0 },
|
||||
{ "spawn", 0x078d01, 0 },
|
||||
{ "sstrkfgt", 0x132303, 0 },
|
||||
{ "suchie3", 0x0368e1, 0 },
|
||||
{ "toyfight", 0x02ca85, 0 },
|
||||
{ "vf4cart", 0x2ef2f96, 0 },
|
||||
{ "slasho", 0x1a66ca, 0 },
|
||||
{ "smlg99", 0x048a01, 0 },
|
||||
{ "spawn", 0x078d01, 0 },
|
||||
{ "sstrkfgt", 0x132303, 0 },
|
||||
{ "suchie3", 0x0368e1, 0 },
|
||||
{ "toyfight", 0x02ca85, 0 },
|
||||
{ "vf4cart", 0x2ef2f96, 0 },
|
||||
{ "vf4evoct", 0, 0x1e5bb0cd },
|
||||
{ "virnbao", 0x68b58, 0 }, // note: "virnba" set doesn't have protection
|
||||
{ "vs2_2k", 0x88b08, 0 },
|
||||
{ "vtennis", 0x03eb15, 0 },
|
||||
{ "vtenis2c", 0, 0x2d2d4743 },
|
||||
{ "vonot", 0x010715, 0 },
|
||||
{ "wldkicks", 0xae2901, 0 },
|
||||
{ "wwfroyal", 0x1627c3, 0 },
|
||||
{ "zerogu2", 0x07c010, 0 },
|
||||
{ "zombrvn", 0x012b41, 0 },
|
||||
{ "vs2_2k", 0x88b08, 0 },
|
||||
{ "vtennis", 0x03eb15, 0 },
|
||||
{ "vtenis2c", 0, 0x2d2d4743 },
|
||||
{ "vonot", 0x010715, 0 },
|
||||
{ "wldkicks", 0xae2901, 0 },
|
||||
{ "wwfroyal", 0x1627c3, 0 },
|
||||
{ "zerogu2", 0x07c010, 0 },
|
||||
{ "zombrvn", 0x012b41, 0 },
|
||||
};
|
||||
|
||||
// forward declaration for decrypt function
|
||||
@ -406,12 +406,12 @@ static void naomibd_m1dec_shiftin(naomibd_state *naomibd)
|
||||
static void naomibd_m1_decode(naomibd_state *naomibd)
|
||||
{
|
||||
int i, eos;
|
||||
|
||||
|
||||
naomibd->prot.s_xor [0] = (UINT8)naomibd->dc_dmakey;
|
||||
naomibd->prot.s_xor [1] = (UINT8)(naomibd->dc_dmakey >> 8);
|
||||
naomibd->prot.s_xor [2] = (UINT8)(naomibd->dc_dmakey >> 16);
|
||||
naomibd->prot.s_xor [3] = (UINT8)(naomibd->dc_dmakey >> 24);
|
||||
|
||||
|
||||
#if NAOMIBD_PRINTF_PROTECTION
|
||||
printf("M1 decode: dma offset %x, key %x\n", naomibd->dma_offset, naomibd->dc_dmakey);
|
||||
#endif
|
||||
@ -424,17 +424,17 @@ static void naomibd_m1_decode(naomibd_state *naomibd)
|
||||
{
|
||||
naomibd->prot.s_dict [i] = naomibd_m1dec_readbyte(naomibd);
|
||||
}
|
||||
|
||||
|
||||
// control bits
|
||||
naomibd->prot.s_subst = (naomibd->prot.s_dict [0] & 64) ? 1 : 0;
|
||||
|
||||
|
||||
// command stream
|
||||
naomibd->prot.s_out_cnt = 0, eos = 0;
|
||||
naomibd->prot.s_shift = 0, naomibd->prot.s_bits = 0;
|
||||
naomibd->prot.s_shift = 0, naomibd->prot.s_bits = 0;
|
||||
while (!eos)
|
||||
{
|
||||
int code, addr, t;
|
||||
|
||||
|
||||
if (naomibd->prot.s_bits < 2)
|
||||
naomibd_m1dec_shiftin(naomibd);
|
||||
|
||||
@ -459,7 +459,7 @@ static void naomibd_m1_decode(naomibd_state *naomibd)
|
||||
}
|
||||
naomibd_m1dec_storebyte(naomibd, naomibd->prot.s_dict [addr]);
|
||||
break;
|
||||
|
||||
|
||||
case 1:
|
||||
if (naomibd->prot.s_bits < 5)
|
||||
naomibd_m1dec_shiftin (naomibd);
|
||||
@ -482,7 +482,7 @@ static void naomibd_m1_decode(naomibd_state *naomibd)
|
||||
}
|
||||
naomibd_m1dec_storebyte(naomibd, naomibd->prot.s_dict [addr]);
|
||||
break;
|
||||
|
||||
|
||||
case 2:
|
||||
if (naomibd->prot.s_bits < 7)
|
||||
naomibd_m1dec_shiftin(naomibd);
|
||||
@ -492,7 +492,7 @@ static void naomibd_m1_decode(naomibd_state *naomibd)
|
||||
naomibd->prot.s_bits -= 7;
|
||||
naomibd_m1dec_storebyte(naomibd, naomibd->prot.s_dict [addr]);
|
||||
break;
|
||||
|
||||
|
||||
case 3:
|
||||
if (naomibd->prot.s_bits < 8)
|
||||
naomibd_m1dec_shiftin(naomibd);
|
||||
@ -535,10 +535,10 @@ static UINT16 naomibd_get_decrypted_stream(naomibd_state *naomibd)
|
||||
static void naomibd_init_stream(naomibd_state *naomibd)
|
||||
{
|
||||
naomibd->prot.last_word = 0;
|
||||
|
||||
|
||||
naomibd->prot.control_bits = naomibd_get_decrypted_stream(naomibd);
|
||||
naomibd->prot.heading_word = naomibd_get_decrypted_stream(naomibd);
|
||||
|
||||
|
||||
if (naomibd->prot.control_bits & 2)
|
||||
{
|
||||
naomibd->prot.pak_bit = 0;
|
||||
|
@ -533,7 +533,7 @@ WRITE32_HANDLER( psx_dma_w )
|
||||
p_psx->n_dicr = ( p_psx->n_dicr & ( 0x80000000 | ~mem_mask ) ) |
|
||||
( p_psx->n_dicr & ~data & 0x7f000000 & mem_mask ) |
|
||||
( data & 0x00ffffff & mem_mask );
|
||||
|
||||
|
||||
if( ( p_psx->n_dicr & 0x80000000 ) != 0 && ( p_psx->n_dicr & 0x7f000000 ) == 0 )
|
||||
{
|
||||
verboselog( p_psx, 2, "dma interrupt cleared\n" );
|
||||
|
@ -597,8 +597,8 @@ DRIVER_INIT( hustlerd )
|
||||
/* the first ROM of the second CPU has data lines D0 and D1 swapped. Decode it. */
|
||||
offs_t A;
|
||||
UINT8 *rom = machine->region("audiocpu")->base();
|
||||
|
||||
|
||||
|
||||
|
||||
for (A = 0;A < 0x0800;A++)
|
||||
rom[A] = BITSWAP8(rom[A],7,6,5,4,3,2,0,1);
|
||||
}
|
||||
|
@ -415,7 +415,7 @@ void zs01_device::scl_1()
|
||||
switch(write_buffer[0] & 1) {
|
||||
case COMMAND_WRITE:
|
||||
memcpy(&data[data_offset()], &write_buffer[2], SIZE_DATA_BUFFER);
|
||||
|
||||
|
||||
/* todo: find out what should be returned. */
|
||||
memset(&read_buffer[0] , 0, SIZE_WRITE_BUFFER);
|
||||
break;
|
||||
@ -519,9 +519,9 @@ void zs01_device::sda_0()
|
||||
verboselog(1, "goto start\n");
|
||||
state = STATE_LOAD_COMMAND;
|
||||
break;
|
||||
// default:
|
||||
// verboselog(1, "skipped start (default)\n");
|
||||
// break;
|
||||
// default:
|
||||
// verboselog(1, "skipped start (default)\n");
|
||||
// break;
|
||||
}
|
||||
|
||||
bit = 0;
|
||||
|
@ -3385,7 +3385,7 @@ V-V TP-027
|
||||
/* Namco System 10 */
|
||||
DRIVER( mrdrilr2 ) /* 2000.07 Mr Driller 2 (DR21 Ver.A) */
|
||||
DRIVER( mrdrlr2a ) /* 2000.?? Mr Driller 2 (DR22 Ver.A) */
|
||||
DRIVER( ptblank3 ) /* 2000.12 Point Blank 3 / Gunbalina */
|
||||
DRIVER( ptblank3 ) /* 2000.12 Point Blank 3 / Gunbalina */
|
||||
/* 2001.02 Photo Battole */
|
||||
/* 2001.02 Taiko no Tatsujin */
|
||||
/* 2001.03 Gahaha Ippatsudou */
|
||||
|
@ -434,5 +434,5 @@ MACHINE_CONFIG_FRAGMENT( 20pacgal_video )
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_SIZE(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, SCREEN_WIDTH - 1, 0, SCREEN_HEIGHT - 1)
|
||||
MCFG_SCREEN_UPDATE(20pacgal)
|
||||
MCFG_SCREEN_UPDATE(20pacgal)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -259,7 +259,7 @@ int amiga_copper_execute_next(running_machine *machine, int xpos)
|
||||
word0 = (word0 >> 1) & 0xff;
|
||||
if (word0 >= min)
|
||||
{
|
||||
if (delay[word0] == 0)
|
||||
if (delay[word0] == 0)
|
||||
{
|
||||
if (LOG_COPPER)
|
||||
logerror("%02X.%02X: Write to %s = %04x\n", state->last_scanline, xpos / 2, amiga_custom_names[word0 & 0xff], word1);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user