Cleanups and version bump.

This commit is contained in:
Aaron Giles 2010-08-30 15:20:58 +00:00
parent 5248234004
commit 0e672ba6eb
90 changed files with 626 additions and 626 deletions

View File

@ -670,7 +670,7 @@ void ADDRESS_MAP_NAME(_name)(address_map &map, const device_config &devconfig) \
#define AM_RAM_READ(_read) AM_READ(_read) AM_WRITEONLY #define AM_RAM_READ(_read) AM_READ(_read) AM_WRITEONLY
#define AM_RAM_WRITE(_write) AM_READONLY AM_WRITE(_write) #define AM_RAM_WRITE(_write) AM_READONLY AM_WRITE(_write)
#define AM_RAM_DEVREAD(_tag, _read) AM_DEVREAD(_tag, _read) AM_WRITEONLY #define AM_RAM_DEVREAD(_tag, _read) AM_DEVREAD(_tag, _read) AM_WRITEONLY
#define AM_RAM_DEVWRITE(_tag, _write) AM_READONLY AM_DEVWRITE(_tag, _write) #define AM_RAM_DEVWRITE(_tag, _write) AM_READONLY AM_DEVWRITE(_tag, _write)
#define AM_BASE_SIZE_MEMBER(_struct, _base, _size) AM_BASE_MEMBER(_struct, _base) AM_SIZE_MEMBER(_struct, _size) #define AM_BASE_SIZE_MEMBER(_struct, _base, _size) AM_BASE_MEMBER(_struct, _base) AM_SIZE_MEMBER(_struct, _size)
#define AM_BASE_SIZE_GENERIC(_member) AM_BASE_GENERIC(_member) AM_SIZE_GENERIC(_member) #define AM_BASE_SIZE_GENERIC(_member) AM_BASE_GENERIC(_member) AM_SIZE_GENERIC(_member)

View File

@ -1,8 +1,8 @@
/*************************************************************************** /***************************************************************************
dsp56dsm.c dsp56dsm.c
Disassembler for the portable Motorola/Freescale dsp56k emulator. Disassembler for the portable Motorola/Freescale dsp56k emulator.
Written by Andrew Gardner Written by Andrew Gardner
***************************************************************************/ ***************************************************************************/

View File

@ -505,8 +505,8 @@ CPU_GET_INFO( dsp56k )
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 2; break; case CPUINFO_INT_CLOCK_DIVIDER: info->i = 2; break;
case CPUINFO_INT_MIN_INSTRUCTION_BYTES: info->i = 2; break; case CPUINFO_INT_MIN_INSTRUCTION_BYTES: info->i = 2; break;
case CPUINFO_INT_MAX_INSTRUCTION_BYTES: info->i = 4; break; case CPUINFO_INT_MAX_INSTRUCTION_BYTES: info->i = 4; break;
case CPUINFO_INT_MIN_CYCLES: info->i = 1; // ? break; case CPUINFO_INT_MIN_CYCLES: info->i = 1; // ? break;
case CPUINFO_INT_MAX_CYCLES: info->i = 8; // ? break; case CPUINFO_INT_MAX_CYCLES: info->i = 8; // ? break;
case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16; break; case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16; break;
case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16; break; case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16; break;

View File

@ -112,8 +112,8 @@ Instruction* Instruction::decodeInstruction(const Opcode* opc,
/* No Parallel Data Move : 0100 1010 .... .... : A-131 */ /* No Parallel Data Move : 0100 1010 .... .... : A-131 */
/* Register to Register Data Move : 0100 IIII .... .... : A-133 */ /* Register to Register Data Move : 0100 IIII .... .... : A-133 */
/* Address Register Update : 0011 0zRR .... .... : A-135 */ /* Address Register Update : 0011 0zRR .... .... : A-135 */
/* X Memory Data Move : 1mRR HHHW .... .... : A-137 */ /* X Memory Data Move : 1mRR HHHW .... .... : A-137 */
/* X Memory Data Move : 0101 HHHW .... .... : A-137 */ /* X Memory Data Move : 0101 HHHW .... .... : A-137 */
/* Quote: (32 General parallel move instructions) */ /* Quote: (32 General parallel move instructions) */
/****************************************************************/ /****************************************************************/
else if (((w0 & 0xff00) == 0x4a00) || else if (((w0 & 0xff00) == 0x4a00) ||

View File

@ -926,7 +926,7 @@ public:
bool decode(const UINT16 word0, const UINT16 word1) bool decode(const UINT16 word0, const UINT16 word1)
{ {
/* Note: This is a JJJF limited in the docs, but other opcodes sneak /* Note: This is a JJJF limited in the docs, but other opcodes sneak
in before cmp, so the same decode function can be used. */ in before cmp, so the same decode function can be used. */
decode_JJJF_table(BITSn(word0,0x07), BITSn(word0,0x08), decode_JJJF_table(BITSn(word0,0x07), BITSn(word0,0x08),
m_source, m_destination); m_source, m_destination);
return true; return true;
@ -951,7 +951,7 @@ public:
bool decode(const UINT16 word0, const UINT16 word1) bool decode(const UINT16 word0, const UINT16 word1)
{ {
/* Note: This is a JJJF limited in the docs, but other opcodes sneak /* Note: This is a JJJF limited in the docs, but other opcodes sneak
in before cmp, so the same decode function can be used. */ in before cmp, so the same decode function can be used. */
decode_JJJF_table(BITSn(word0,0x07), BITSn(word0,0x08), decode_JJJF_table(BITSn(word0,0x07), BITSn(word0,0x08),
m_source, m_destination); m_source, m_destination);
return true; return true;
@ -2677,7 +2677,7 @@ public:
bool decode(const UINT16 word0, const UINT16 word1) bool decode(const UINT16 word0, const UINT16 word1)
{ {
/* There are inconsistencies with the S1 & S2 operand ordering in the docs, /* There are inconsistencies with the S1 & S2 operand ordering in the docs,
but since it's a multiply it doesn't matter */ but since it's a multiply it doesn't matter */
decode_QQQF_table(BITSn(word0,0x07), BITSn(word0,0x08), decode_QQQF_table(BITSn(word0,0x07), BITSn(word0,0x08),
m_source, m_source2, m_destination); m_source, m_source2, m_destination);
@ -2773,7 +2773,7 @@ public:
bool decode(const UINT16 word0, const UINT16 word1) bool decode(const UINT16 word0, const UINT16 word1)
{ {
/* There are inconsistencies with the S1 & S2 operand ordering in the docs, /* There are inconsistencies with the S1 & S2 operand ordering in the docs,
but since it's a multiply it doesn't matter */ but since it's a multiply it doesn't matter */
decode_QQQF_table(BITSn(word0,0x07), BITSn(word0,0x08), decode_QQQF_table(BITSn(word0,0x07), BITSn(word0,0x08),
m_source, m_source2, m_destination); m_source, m_source2, m_destination);

View File

@ -211,7 +211,7 @@ public:
// Don't return a failure, just let everything fall through (nop). // Don't return a failure, just let everything fall through (nop).
//if (m_source == "?" && m_destination == "?") //if (m_source == "?" && m_destination == "?")
// return false; // return false;
return true; return true;
} }

View File

@ -382,8 +382,8 @@ static CPU_SET_INFO( hcd62121 )
case CPUINFO_INT_REGISTER + HCD62121_IP: cpustate->ip = info->i; break; case CPUINFO_INT_REGISTER + HCD62121_IP: cpustate->ip = info->i; break;
case CPUINFO_INT_REGISTER + HCD62121_SP: cpustate->sp = info->i; break; case CPUINFO_INT_REGISTER + HCD62121_SP: cpustate->sp = info->i; break;
// case CPUINFO_INT_REGISTER + HCD62121_R00: break; // case CPUINFO_INT_REGISTER + HCD62121_R00: break;
// case CPUINFO_INT_REGISTER + HCD62121_R02: break; // case CPUINFO_INT_REGISTER + HCD62121_R02: break;
} }
} }
@ -432,7 +432,7 @@ CPU_GET_INFO( hcd62121 )
case CPUINFO_INT_REGISTER + HCD62121_SS: info->i = cpustate->sseg; break; case CPUINFO_INT_REGISTER + HCD62121_SS: info->i = cpustate->sseg; break;
case CPUINFO_INT_REGISTER + HCD62121_DSIZE: info->i = cpustate->dsize; break; case CPUINFO_INT_REGISTER + HCD62121_DSIZE: info->i = cpustate->dsize; break;
case CPUINFO_INT_REGISTER + HCD62121_R00: info->i = ( cpustate->reg[0x00] << 24 ) | ( cpustate->reg[0x01] << 16 ) | ( cpustate->reg[0x02] << 8 ) | cpustate->reg[0x03]; break; case CPUINFO_INT_REGISTER + HCD62121_R00: info->i = ( cpustate->reg[0x00] << 24 ) | ( cpustate->reg[0x01] << 16 ) | ( cpustate->reg[0x02] << 8 ) | cpustate->reg[0x03]; break;
// case CPUINFO_INT_REGISTER + HCD62121_R02: info->i = cpustate->; break; // case CPUINFO_INT_REGISTER + HCD62121_R02: info->i = cpustate->; break;
/* --- the following bits of info are returned as pointers to data or functions --- */ /* --- the following bits of info are returned as pointers to data or functions --- */
case CPUINFO_FCT_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(hcd62121); break; case CPUINFO_FCT_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(hcd62121); break;

View File

@ -503,7 +503,7 @@ static CPU_EXECUTE( m6809 ) /* NS 970908 */
m68_state->ireg = ROP(PCD); m68_state->ireg = ROP(PCD);
PC++; PC++;
(*m6809_main[m68_state->ireg])(m68_state); (*m6809_main[m68_state->ireg])(m68_state);
m68_state->icount -= cycles1[m68_state->ireg]; m68_state->icount -= cycles1[m68_state->ireg];
} while( m68_state->icount > 0 ); } while( m68_state->icount > 0 );

View File

@ -14,9 +14,9 @@
#define OpRead32(s, a) ((s)->direct->read_decrypted_dword(a)) #define OpRead32(s, a) ((s)->direct->read_decrypted_dword(a))
#else #else
#define OpRead8(s, a) ((s)->direct->read_decrypted_byte((a) ^ (s)->fetch_xor)) #define OpRead8(s, a) ((s)->direct->read_decrypted_byte((a) ^ (s)->fetch_xor))
#define OpRead16(s, a) (((s)->direct->read_decrypted_byte(((a)+0) ^ (s)->fetch_xor) << 0) | \ #define OpRead16(s, a) (((s)->direct->read_decrypted_byte(((a)+0) ^ (s)->fetch_xor) << 0) | \
((s)->direct->read_decrypted_byte(((a)+1) ^ (s)->fetch_xor) << 8)) ((s)->direct->read_decrypted_byte(((a)+1) ^ (s)->fetch_xor) << 8))
#define OpRead32(s, a) (((s)->direct->read_decrypted_byte(((a)+0) ^ (s)->fetch_xor) << 0) | \ #define OpRead32(s, a) (((s)->direct->read_decrypted_byte(((a)+0) ^ (s)->fetch_xor) << 0) | \
((s)->direct->read_decrypted_byte(((a)+1) ^ (s)->fetch_xor) << 8) | \ ((s)->direct->read_decrypted_byte(((a)+1) ^ (s)->fetch_xor) << 8) | \
((s)->direct->read_decrypted_byte(((a)+2) ^ (s)->fetch_xor) << 16) | \ ((s)->direct->read_decrypted_byte(((a)+2) ^ (s)->fetch_xor) << 16) | \
((s)->direct->read_decrypted_byte(((a)+3) ^ (s)->fetch_xor) << 24)) ((s)->direct->read_decrypted_byte(((a)+3) ^ (s)->fetch_xor) << 24))

View File

@ -37,68 +37,68 @@
**************************************************************************** ****************************************************************************
There are many implementations of delegate-like functionality for There are many implementations of delegate-like functionality for
C++ code, but none of them is a perfect drop-in fit for use in MAME. C++ code, but none of them is a perfect drop-in fit for use in MAME.
In order to be useful in MAME, we need the following properties: In order to be useful in MAME, we need the following properties:
* No significant overhead; we want to use these for memory * No significant overhead; we want to use these for memory
accessors, and memory accessor overhead is already the dominant accessors, and memory accessor overhead is already the dominant
performance aspect for most drivers. performance aspect for most drivers.
* Existing static functions need to be bound with an additional * Existing static functions need to be bound with an additional
pointer parameter as the first argument. All existing pointer parameter as the first argument. All existing
implementations that allow static function binding assume the implementations that allow static function binding assume the
same signature as the member functions. same signature as the member functions.
* We must be able to bind the function separately from the * We must be able to bind the function separately from the
object. This is to allow configurations to bind functions object. This is to allow configurations to bind functions
before the objects are created. before the objects are created.
Thus, the implementations below are based on existing works but are Thus, the implementations below are based on existing works but are
really a new implementation that is specific to MAME. really a new implementation that is specific to MAME.
-------------------------------------------------------------------- --------------------------------------------------------------------
The "compatible" version of delegates is based on an implementation The "compatible" version of delegates is based on an implementation
from Sergey Ryazanov, found here: from Sergey Ryazanov, found here:
http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx
These delegates essentially generate a templated static stub function These delegates essentially generate a templated static stub function
for each target function. The static function takes the first for each target function. The static function takes the first
parameter, uses it as the object pointer, and calls through the parameter, uses it as the object pointer, and calls through the
member function. For static functions, the stub is compatible with member function. For static functions, the stub is compatible with
the signature of a static function, so we just set the stub directly. the signature of a static function, so we just set the stub directly.
Pros: Pros:
* should work with any modern compiler * should work with any modern compiler
* static bindings are just as fast as direct calls * static bindings are just as fast as direct calls
Cons: Cons:
* lots of little stub functions generated * lots of little stub functions generated
* double-hops on member function calls means more overhead * double-hops on member function calls means more overhead
* calling through stub functions repackages parameters * calling through stub functions repackages parameters
-------------------------------------------------------------------- --------------------------------------------------------------------
The "internal" version of delegates makes use of the internal The "internal" version of delegates makes use of the internal
structure of member function pointers in order to convert them at structure of member function pointers in order to convert them at
binding time into simple static function pointers. This only works binding time into simple static function pointers. This only works
on platforms where object->func(p1, p2) is equivalent in calling on platforms where object->func(p1, p2) is equivalent in calling
convention to func(object, p1, p2). convention to func(object, p1, p2).
Most of the information on how this works comes from Don Clugston Most of the information on how this works comes from Don Clugston
in this article: in this article:
http://www.codeproject.com/KB/cpp/FastDelegate.aspx http://www.codeproject.com/KB/cpp/FastDelegate.aspx
Pros: Pros:
* as fast as a standard function call in static and member cases * as fast as a standard function call in static and member cases
* no stub functions or double-hops needed * no stub functions or double-hops needed
Cons: Cons:
* requires internal knowledge of the member function pointer * requires internal knowledge of the member function pointer
* only works for GCC (for now; MSVC info is also readily available) * only works for GCC (for now; MSVC info is also readily available)
***************************************************************************/ ***************************************************************************/
@ -125,8 +125,8 @@
// nicer macros to hide the template gobblety-gook and to pass the names // nicer macros to hide the template gobblety-gook and to pass the names
#define create_member_name(_class, _member, _name) _create_member<_class, &_class::_member>(_name) #define create_member_name(_class, _member, _name) _create_member<_class, &_class::_member>(_name)
#define create_member(_class, _member) _create_member<_class, &_class::_member>(#_class "::" #_member) #define create_member(_class, _member) _create_member<_class, &_class::_member>(#_class "::" #_member)
#define create_static(_class, _func) _crate_static<_class, &_func>(#_func) #define create_static(_class, _func) _crate_static<_class, &_func>(#_func)
@ -190,7 +190,7 @@ public:
const char *name() const { return m_name; } const char *name() const { return m_name; }
protected: protected:
deferred_cast_func m_caster; // pointer to helper function that does the cast deferred_cast_func m_caster; // pointer to helper function that does the cast
const char * m_name; // name string const char * m_name; // name string
}; };
@ -680,7 +680,7 @@ struct delegate_gcc_mfp_internal
union // first item can be one of two things: union // first item can be one of two things:
{ {
delegate_generic_function funcptr; // if even, it's a pointer to the function delegate_generic_function funcptr; // if even, it's a pointer to the function
FPTR vtable_index; // if odd, it's the byte offset into the vtable FPTR vtable_index; // if odd, it's the byte offset into the vtable
} u; } u;
int this_delta; // delta to apply to the 'this' pointer int this_delta; // delta to apply to the 'this' pointer
}; };

View File

@ -507,7 +507,7 @@ TIMER_CALLBACK( mos6526_device::clock_tod_callback )
/*------------------------------------------------- /*-------------------------------------------------
cnt_w cnt_w
-------------------------------------------------*/ -------------------------------------------------*/
void mos6526_device::cnt_w(UINT8 state) void mos6526_device::cnt_w(UINT8 state)

View File

@ -172,7 +172,7 @@ int ttl74123_device::timer_running()
/*------------------------------------------------- /*-------------------------------------------------
TIMER_CALLBACK( output_callback ) TIMER_CALLBACK( output_callback )
-------------------------------------------------*/ -------------------------------------------------*/
TIMER_CALLBACK( ttl74123_device::output_callback ) TIMER_CALLBACK( ttl74123_device::output_callback )

View File

@ -176,7 +176,7 @@ void ttl7474_device::device_reset()
void ttl7474_device::update() void ttl7474_device::update()
{ {
if (!m_preset && m_clear) /* line 1 in truth table */ if (!m_preset && m_clear) /* line 1 in truth table */
{ {
m_output = 1; m_output = 1;
m_output_comp = 0; m_output_comp = 0;
@ -191,7 +191,7 @@ void ttl7474_device::update()
m_output = 1; m_output = 1;
m_output_comp = 1; m_output_comp = 1;
} }
else if (!m_last_clock && m_clk) /* line 4 in truth table */ else if (!m_last_clock && m_clk) /* line 4 in truth table */
{ {
m_output = m_d; m_output = m_d;
m_output_comp = !m_d; m_output_comp = !m_d;

View File

@ -139,7 +139,7 @@ private:
/* inputs */ /* inputs */
UINT8 m_clear; /* pin 1/13 */ UINT8 m_clear; /* pin 1/13 */
UINT8 m_preset; /* pin 4/10 */ UINT8 m_preset; /* pin 4/10 */
UINT8 m_clk; /* pin 3/11 */ UINT8 m_clk; /* pin 3/11 */
UINT8 m_d; /* pin 2/12 */ UINT8 m_d; /* pin 2/12 */
/* outputs */ /* outputs */

View File

@ -284,7 +284,7 @@ void i8237_device::i8237_timerproc()
/* Check if a new DMA request has been received. */ /* Check if a new DMA request has been received. */
/* Bit 6 of the command register determines whether the DREQ signals are active /* Bit 6 of the command register determines whether the DREQ signals are active
high or active low. */ high or active low. */
UINT16 pending_request = ( ( m_command & 0x40 ) ? ~m_drq : m_drq ) & ~m_mask; UINT16 pending_request = ( ( m_command & 0x40 ) ? ~m_drq : m_drq ) & ~m_mask;
if ( pending_request & 0x0f ) if ( pending_request & 0x0f )

View File

@ -133,7 +133,7 @@ void eeprom_device_config::static_set_default_data(device_config *device, const
{ {
eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device); eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device);
if (eeprom->m_data_bits != 8) mame_printf_warning("16-bit EEPROM set with 8-bit data\n"); if (eeprom->m_data_bits != 8) mame_printf_warning("16-bit EEPROM set with 8-bit data\n");
// assert(eeprom->m_data_bits == 8); // assert(eeprom->m_data_bits == 8);
eeprom->m_default_data = data; eeprom->m_default_data = data;
eeprom->m_default_data_size = size; eeprom->m_default_data_size = size;
} }
@ -142,7 +142,7 @@ void eeprom_device_config::static_set_default_data(device_config *device, const
{ {
eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device); eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device);
if (eeprom->m_data_bits != 16) mame_printf_warning("8-bit EEPROM set with 16-bit data\n"); if (eeprom->m_data_bits != 16) mame_printf_warning("8-bit EEPROM set with 16-bit data\n");
// assert(eeprom->m_data_bits == 16); // assert(eeprom->m_data_bits == 16);
eeprom->m_default_data = reinterpret_cast<const UINT8 *>(data); eeprom->m_default_data = reinterpret_cast<const UINT8 *>(data);
eeprom->m_default_data_size = size; eeprom->m_default_data_size = size;
} }

View File

@ -1,22 +1,22 @@
/********************************************************************** /**********************************************************************
Fairchild F3853 SRAM interface with integrated interrupt Fairchild F3853 SRAM interface with integrated interrupt
controller and timer (SMI) controller and timer (SMI)
This chip is a timer shift register, basically the same as in the This chip is a timer shift register, basically the same as in the
F3851. F3851.
Based on a datasheet obtained from www.freetradezone.com Based on a datasheet obtained from www.freetradezone.com
The SMI does not have DC0 and DC1, only DC0; as a result, it does The SMI does not have DC0 and DC1, only DC0; as a result, it does
not respond to the main CPU's DC0/DC1 swap instruction. This may not respond to the main CPU's DC0/DC1 swap instruction. This may
lead to two devices responding to the same DC0 address and lead to two devices responding to the same DC0 address and
attempting to place their bytes on the data bus simultaneously! attempting to place their bytes on the data bus simultaneously!
8-bit shift register: 8-bit shift register:
Feedback in0 = !((out3 ^ out4) ^ (out5 ^ out7)) Feedback in0 = !((out3 ^ out4) ^ (out5 ^ out7))
Interrupts are at 0xfe Interrupts are at 0xfe
0xff stops the register (0xfe is never reached) 0xff stops the register (0xfe is never reached)
**********************************************************************/ **********************************************************************/

View File

@ -1,10 +1,10 @@
/********************************************************************** /**********************************************************************
Fairchild F3853 SRAM interface with integrated interrupt Fairchild F3853 SRAM interface with integrated interrupt
controller and timer controller and timer
This chip is a timer shift register, basically the same as in the This chip is a timer shift register, basically the same as in the
F3851. F3851.
**********************************************************************/ **********************************************************************/

View File

@ -3,10 +3,10 @@
timekpr.h timekpr.h
Various ST Microelectronics timekeeper SRAM implementations: Various ST Microelectronics timekeeper SRAM implementations:
- M48T02 - M48T02
- M48T35 - M48T35
- M48T58 - M48T58
- MK48T08 - MK48T08
***************************************************************************/ ***************************************************************************/

View File

@ -3,10 +3,10 @@
timekpr.h timekpr.h
Various ST Microelectronics timekeeper SRAM implementations: Various ST Microelectronics timekeeper SRAM implementations:
- M48T02 - M48T02
- M48T35 - M48T35
- M48T58 - M48T58
- MK48T08 - MK48T08
***************************************************************************/ ***************************************************************************/

View File

@ -5,11 +5,11 @@
Copyright (c) 2008, The MESS Team. Copyright (c) 2008, The MESS Team.
Visit http://mamedev.org for licensing and usage restrictions. Visit http://mamedev.org for licensing and usage restrictions.
The z80dart/z80sio itself is based on an older intel serial chip, the i8274 MPSC The z80dart/z80sio itself is based on an older intel serial chip, the i8274 MPSC
(see http://doc.chipfind.ru/pdf/intel/8274.pdf), which also has almost identical (see http://doc.chipfind.ru/pdf/intel/8274.pdf), which also has almost identical
behavior, except lacks the interrupt daisy chaining and has its own interrupt/dma behavior, except lacks the interrupt daisy chaining and has its own interrupt/dma
scheme which uses write register 2 on channel A, that register which is unused on scheme which uses write register 2 on channel A, that register which is unused on
the z80dart and z80sio. the z80dart and z80sio.
***************************************************************************/ ***************************************************************************/
@ -21,8 +21,8 @@
- wr0 reset tx interrupt pending - wr0 reset tx interrupt pending
- wait/ready - wait/ready
- 1.5 stop bits - 1.5 stop bits
- synchronous mode (Z80-SIO/1,2) - synchronous mode (Z80-SIO/1,2)
- SDLC mode (Z80-SIO/1,2) - SDLC mode (Z80-SIO/1,2)
*/ */

View File

@ -3289,7 +3289,7 @@ void address_table::populate_range_mirrored(offs_t bytestart, offs_t byteend, of
//------------------------------------------------- //-------------------------------------------------
// depopulate_unused - scan the table and // depopulate_unused - scan the table and
// eliminate entries that are no longer used // eliminate entries that are no longer used
//------------------------------------------------- //-------------------------------------------------
void address_table::depopulate_unused() void address_table::depopulate_unused()

View File

@ -281,8 +281,8 @@ private:
offs_t m_bytestart; // minimum valid byte address offs_t m_bytestart; // minimum valid byte address
offs_t m_byteend; // maximum valid byte address offs_t m_byteend; // maximum valid byte address
UINT8 m_entry; // live entry UINT8 m_entry; // live entry
simple_list<direct_range> m_rangelist[256]; // list of ranges for each entry simple_list<direct_range> m_rangelist[256]; // list of ranges for each entry
simple_list<direct_range> m_freerangelist; // list of recycled range entries simple_list<direct_range> m_freerangelist; // list of recycled range entries
direct_update_delegate m_directupdate; // fast direct-access update callback direct_update_delegate m_directupdate; // fast direct-access update callback
}; };
@ -551,7 +551,7 @@ protected:
// space read/write handler function macros // space read/write handler function macros
#define READ8_MEMBER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask) #define READ8_MEMBER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask)
#define WRITE8_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask) #define WRITE8_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask)
#define READ16_MEMBER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask) #define READ16_MEMBER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask)
#define WRITE16_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask) #define WRITE16_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask)
@ -560,7 +560,7 @@ protected:
#define READ64_MEMBER(name) UINT64 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 mem_mask) #define READ64_MEMBER(name) UINT64 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 mem_mask)
#define WRITE64_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 data, ATTR_UNUSED UINT64 mem_mask) #define WRITE64_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 data, ATTR_UNUSED UINT64 mem_mask)
#define DECLARE_READ8_MEMBER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask = 0xff) #define DECLARE_READ8_MEMBER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask = 0xff)
#define DECLARE_WRITE8_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask = 0xff) #define DECLARE_WRITE8_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask = 0xff)
#define DECLARE_READ16_MEMBER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask = 0xffff) #define DECLARE_READ16_MEMBER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask = 0xffff)
#define DECLARE_WRITE16_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask = 0xffff) #define DECLARE_WRITE16_MEMBER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask = 0xffff)

View File

@ -37,14 +37,14 @@
**************************************************************************** ****************************************************************************
Profiling is scope-based. To start profiling, put a profiler_scope Profiling is scope-based. To start profiling, put a profiler_scope
object on the stack. To end profiling, just end the scope: object on the stack. To end profiling, just end the scope:
{ {
profiler_scope scope(PROFILER_VIDEO); profiler_scope scope(PROFILER_VIDEO);
your_work_here(); your_work_here();
} }
the profiler handles a FILO list so calls may be nested. the profiler handles a FILO list so calls may be nested.

View File

@ -37,14 +37,14 @@
**************************************************************************** ****************************************************************************
Profiling is scope-based. To start profiling, put a profiler_scope Profiling is scope-based. To start profiling, put a profiler_scope
object on the stack. To end profiling, just end the scope: object on the stack. To end profiling, just end the scope:
{ {
profiler_scope scope(PROFILER_VIDEO); profiler_scope scope(PROFILER_VIDEO);
your_work_here(); your_work_here();
} }
the profiler handles a FILO list so calls may be nested. the profiler handles a FILO list so calls may be nested.

View File

@ -26,7 +26,7 @@ General notes:
the microcontroller is able to write to anywhere within main memory. the microcontroller is able to write to anywhere within main memory.
Gold Medalist (bootleg) has a 68705 in place of the Alpha controller. Gold Medalist (bootleg) has a 68705 in place of the Alpha controller.
(Kyros bootleg also? we have decapped MCU dumps of different types for it) (Kyros bootleg also? we have decapped MCU dumps of different types for it)
V boards have more memory and double the amount of colours as II boards. V boards have more memory and double the amount of colours as II boards.
@ -3230,11 +3230,11 @@ static DRIVER_INIT( sbasebal )
UINT16 *rom = (UINT16 *)memory_region(machine, "maincpu"); UINT16 *rom = (UINT16 *)memory_region(machine, "maincpu");
/* Patch protection check, it does a divide by zero because the MCU is trying to /* Patch protection check, it does a divide by zero because the MCU is trying to
calculate the ball speed when a strike is scored, notice that current emulation calculate the ball speed when a strike is scored, notice that current emulation
just returns 49 mi/h every time that this event happens. just returns 49 mi/h every time that this event happens.
68k reads at [0x4023e], then subtracts this value with [0x41838], presumably it's raw speed minus angle. 68k reads at [0x4023e], then subtracts this value with [0x41838], presumably it's raw speed minus angle.
main CPU then writes the result to RAM location [0x41866], probably just to signal the result to the MCU. main CPU then writes the result to RAM location [0x41866], probably just to signal the result to the MCU.
*/ */
rom[0xb672/2] = 0x4e71; rom[0xb672/2] = 0x4e71;
/* And patch the ROM checksums */ /* And patch the ROM checksums */

View File

@ -54,10 +54,10 @@
Now using mc146818 rtc driver instead of rtc_get_reg. Now using mc146818 rtc driver instead of rtc_get_reg.
19/8/10 - Roberto Fresca. 19/8/10 - Roberto Fresca.
Added 3 Bags Full - 5VXFC790 (Victorian). Added 3 Bags Full - 5VXFC790 (Victorian).
Set is now parent. Replaced the bad dumped GFX from NZ set with the new ones, Set is now parent. Replaced the bad dumped GFX from NZ set with the new ones,
since they match 4 of 6 bitplanes. The PROM at U71 is also marked for Fantasy Fortune, since they match 4 of 6 bitplanes. The PROM at U71 is also marked for Fantasy Fortune,
so maybe is the correct one for this game. so maybe is the correct one for this game.
The mc146818 driver is buggy - reported problem to Firewave and issues will be addressed. The mc146818 driver is buggy - reported problem to Firewave and issues will be addressed.
In this driver, the wrong day of the month is shown, wrong hours are shown. In this driver, the wrong day of the month is shown, wrong hours are shown.

View File

@ -1,59 +1,59 @@
/* /*
Aristocrat MK5 / MKV hardware Aristocrat MK5 / MKV hardware
possibly 'Acorn Archimedes on a chip' hardware possibly 'Acorn Archimedes on a chip' hardware
Note: ARM250 mapping is not identical to plain AA Note: ARM250 mapping is not identical to plain AA
BIOS ROMs are actually nowhere to be found on a regular MK5 system. They can be used to change the system configurations on a PCB board BIOS ROMs are actually nowhere to be found on a regular MK5 system. They can be used to change the system configurations on a PCB board
by swapping them with the game ROMs u7/u11 locations. by swapping them with the game ROMs u7/u11 locations.
TODO (MK-5 specific): TODO (MK-5 specific):
- Fix remaining errors - Fix remaining errors
- If all tests passes, this msg is printed on the keyboard serial port: - If all tests passes, this msg is printed on the keyboard serial port:
"System Startup Code Entered \n Gos_create could not allocate stack for the new process \n Unrecoverable error occured. System will now restart" "System Startup Code Entered \n Gos_create could not allocate stack for the new process \n Unrecoverable error occured. System will now restart"
Apparently it looks like some sort of protection device ... Apparently it looks like some sort of protection device ...
code DASMing of POST (adonis): code DASMing of POST (adonis):
- bp 0x3400224: - bp 0x3400224:
checks work RAM [0x87000], if bit 0 active high then all tests are skipped (presumably for debugging), otherwise check stuff; checks work RAM [0x87000], if bit 0 active high then all tests are skipped (presumably for debugging), otherwise check stuff;
- bp 0x3400230: EPROM checksum branch test - bp 0x3400230: EPROM checksum branch test
- bp 0x3400258: DRAM Check branch test - bp 0x3400258: DRAM Check branch test
- bp 0x3400280: CPU Check branch test - bp 0x3400280: CPU Check branch test
bp 0x340027c: checks IRQ status A and FIQ status bit 7 (force IRQ flag) bp 0x340027c: checks IRQ status A and FIQ status bit 7 (force IRQ flag)
- R0 == 0: CPU Check OK - R0 == 0: CPU Check OK
- R0 == 1: IRQ status A force IRQ flag check failed - R0 == 1: IRQ status A force IRQ flag check failed
- R0 == 2: FIQ status force IRQ flag check failed - R0 == 2: FIQ status force IRQ flag check failed
- R0 == 3: Internal Latch check 0x3250050 == 0xf5 - R0 == 3: Internal Latch check 0x3250050 == 0xf5
- bp 0x34002a8: SRAM Check branch test (I2C) - bp 0x34002a8: SRAM Check branch test (I2C)
- basically writes to the I2C clock/data then read-backs it - basically writes to the I2C clock/data then read-backs it
- bp 0x34002d0: 2KHz Timer branch test - bp 0x34002d0: 2KHz Timer branch test
bp 0x34002cc: it does various test with GO command reads (that are undefined on plain AA) and bp 0x34002cc: it does various test with GO command reads (that are undefined on plain AA) and
IRQA status bit 0, that's "printer busy" on original AA but here it have a completely IRQA status bit 0, that's "printer busy" on original AA but here it have a completely
different meaning. different meaning.
- bp 0x34002f8: DRAM emulator branch tests - bp 0x34002f8: DRAM emulator branch tests
bp 0x34002f4: bp 0x34002f4:
- R0 == 0 "DRAM emulator found" - R0 == 0 "DRAM emulator found"
- R0 == 1 "DRAM emulator found" - R0 == 1 "DRAM emulator found"
- R0 == 3 "DRAM emulator not found - Error" - R0 == 3 "DRAM emulator not found - Error"
- R0 == 4 "DRAM emulator found instead of DRAM - Error" - R0 == 4 "DRAM emulator found instead of DRAM - Error"
- R0 == x "Undefined error in DRAM emulator area" - R0 == x "Undefined error in DRAM emulator area"
It r/w RAM location 0 and it expects to NOT read-back value written. It r/w RAM location 0 and it expects to NOT read-back value written.
goldprmd: checks if a "keyboard IRQ" fires (IRQ status B bit 6), it seems a serial port with data on it, goldprmd: checks if a "keyboard IRQ" fires (IRQ status B bit 6), it seems a serial port with data on it,
returns an External Video Crystal Error (bp 3400278) returns an External Video Crystal Error (bp 3400278)
dmdtouch: dmdtouch:
bp 3400640: checks 2MByte DRAM bp 3400640: checks 2MByte DRAM
- writes from 0x1000 to 0x100000, with 0x400 bytes index increment and 0xfb data increment - writes from 0x1000 to 0x100000, with 0x400 bytes index increment and 0xfb data increment
- writes from 0x100000 to 0x200000, with 0x400 bytes index increment and 0xfb data increment - writes from 0x100000 to 0x200000, with 0x400 bytes index increment and 0xfb data increment
- bp 3400720 checks if the aforementioned checks are ok (currently fails at the very first work RAM check at 0x1000, it returns the - bp 3400720 checks if the aforementioned checks are ok (currently fails at the very first work RAM check at 0x1000, it returns the
value that actually should be at 0x141000) value that actually should be at 0x141000)
bp 340064c: if R0 == 0 2MB DRAM is ok, otherwise there's an error bp 340064c: if R0 == 0 2MB DRAM is ok, otherwise there's an error
set chip (BIOS): set chip (BIOS):
same as goldprmd (serial + ext video crystal check) same as goldprmd (serial + ext video crystal check)
bp 3400110: External Video Crystal test bp 3400110: External Video Crystal test
*/ */
@ -131,7 +131,7 @@ static ADDRESS_MAP_START( aristmk5_map, ADDRESS_SPACE_PROGRAM, 32 )
/* MK-5 overrides */ /* MK-5 overrides */
AM_RANGE(0x03010420, 0x03010423) AM_RAM_WRITE(mk5_i2c_w) AM_RANGE(0x03010420, 0x03010423) AM_RAM_WRITE(mk5_i2c_w)
AM_RANGE(0x03010810, 0x03010813) AM_READNOP //MK-5 specific, watchdog AM_RANGE(0x03010810, 0x03010813) AM_READNOP //MK-5 specific, watchdog
// System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff // System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
AM_RANGE(0x03220000, 0x03220003) AM_READWRITE(mk5_econet_r,mk5_econet_w) AM_RANGE(0x03220000, 0x03220003) AM_READWRITE(mk5_econet_r,mk5_econet_w)
AM_RANGE(0x03250048, 0x0325004b) AM_WRITE(mk5_ext_latch_w) AM_RANGE(0x03250048, 0x0325004b) AM_WRITE(mk5_ext_latch_w)
AM_RANGE(0x03250050, 0x03250053) AM_READ(mk5_unk_r) AM_RANGE(0x03250050, 0x03250053) AM_READ(mk5_unk_r)
@ -150,7 +150,7 @@ static INPUT_PORTS_START( aristmk5 )
PORT_CONFNAME( 0x03, 0x00, "System Mode" ) PORT_CONFNAME( 0x03, 0x00, "System Mode" )
PORT_CONFSETTING( 0x00, "Set Chip v4.04 Mode" ) PORT_CONFSETTING( 0x00, "Set Chip v4.04 Mode" )
PORT_CONFSETTING( 0x01, "Set Chip v4.4 Mode" ) PORT_CONFSETTING( 0x01, "Set Chip v4.4 Mode" )
// Clear Chip (missing?) // Clear Chip (missing?)
PORT_CONFSETTING( 0x03, "Game Mode" ) PORT_CONFSETTING( 0x03, "Game Mode" )
INPUT_PORTS_END INPUT_PORTS_END

View File

@ -450,8 +450,8 @@
- Promoted comg080 (Arcade Black Jack) to working state. - Promoted comg080 (Arcade Black Jack) to working state.
- Added support for system 906III: - Added support for system 906III:
- Accurate memory map, CRTC, and PIAs mapped. - Accurate memory map, CRTC, and PIAs mapped.
- Preliminary PIAs support (no multiplexion yet). - Preliminary PIAs support (no multiplexion yet).
- Added proper machine driver, with correct R65C02 CPU. - Added proper machine driver, with correct R65C02 CPU.
- Documented the hardware specs. - Documented the hardware specs.
- Added Game 51.08 (CEI Video Poker, Jacks or Better), - Added Game 51.08 (CEI Video Poker, Jacks or Better),
@ -460,7 +460,7 @@
- Mapped the AY8912. - Mapped the AY8912.
- Added AY8912 proper interfase. Tied SW2 to AY8912 port. - Added AY8912 proper interfase. Tied SW2 to AY8912 port.
- PIA0, portA is polled constantly. Tied some debug handlers - PIA0, portA is polled constantly. Tied some debug handlers
to understand how the input system works. to understand how the input system works.
- Added notes about the PIAs R/W. - Added notes about the PIAs R/W.
@ -3973,9 +3973,9 @@ static DRIVER_INIT( comg080 )
} }
/* Injecting missing Start and NMI vectors... /* Injecting missing Start and NMI vectors...
Start = $2042; NMI = $26f8; Start = $2042; NMI = $26f8;
Also a fake vector at $3ff8-$3ff9. The code checks these values to continue. Also a fake vector at $3ff8-$3ff9. The code checks these values to continue.
*/ */
UINT8 *PRGROM = memory_region( machine, "maincpu" ); UINT8 *PRGROM = memory_region( machine, "maincpu" );
PRGROM[0x3ff8] = 0x8e; /* checked by code */ PRGROM[0x3ff8] = 0x8e; /* checked by code */

View File

@ -42,18 +42,18 @@ Thanks to Alex, Mr Mudkips, and Philip Burke for this info.
#include "debug/debugcmd.h" #include "debug/debugcmd.h"
/* jamtable instructions for Chihiro /* jamtable instructions for Chihiro
St. Instr. Comment St. Instr. Comment
0x01 POKEPCI PCICONF[OP2] := OP1 0x01 POKEPCI PCICONF[OP2] := OP1
0x02 OUTB PORT[OP2] := OP1 0x02 OUTB PORT[OP2] := OP1
0x03 POKE MEM[OP2] := OP1 0x03 POKE MEM[OP2] := OP1
0x04 BNE IF ACC <> OP2 THEN PC := PC + OP1 0x04 BNE IF ACC <> OP2 THEN PC := PC + OP1
0x05 PEEKPCI ACC := PCICONF[OP2] 0x05 PEEKPCI ACC := PCICONF[OP2]
0x06 AND/OR ACC := (ACC & OP2) | OP1 0x06 AND/OR ACC := (ACC & OP2) | OP1
0x07 BRA PC := PC + OP1 0x07 BRA PC := PC + OP1
0x08 INB ACC := PORT[OP2] 0x08 INB ACC := PORT[OP2]
0x09 PEEK ACC := MEM[OP2] 0x09 PEEK ACC := MEM[OP2]
0xE1 (prefix) execute the instruction code in OP2 with OP2 := OP1, OP1 := ACC 0xE1 (prefix) execute the instruction code in OP2 with OP2 := OP1, OP1 := ACC
0xEE END 0xEE END
*/ */
/* jamtable disassembler */ /* jamtable disassembler */

View File

@ -4403,7 +4403,7 @@ ROM_START( ffightu )
ROM_LOAD16_BYTE( "ff_36.11f", 0x00000, 0x20000, CRC(f9a5ce83) SHA1(0756ae576a1f6d5b8b22f8630dca40ef38567ea6) ) // in "30" socket ROM_LOAD16_BYTE( "ff_36.11f", 0x00000, 0x20000, CRC(f9a5ce83) SHA1(0756ae576a1f6d5b8b22f8630dca40ef38567ea6) ) // in "30" socket
ROM_LOAD16_BYTE( "ff_42.11h", 0x00001, 0x20000, CRC(65f11215) SHA1(5045a467f3e228c02b4a355b52f58263ffa90113) ) // in "35" socket ROM_LOAD16_BYTE( "ff_42.11h", 0x00001, 0x20000, CRC(65f11215) SHA1(5045a467f3e228c02b4a355b52f58263ffa90113) ) // in "35" socket
ROM_LOAD16_BYTE( "ff_37.12f", 0x40000, 0x20000, CRC(e1033784) SHA1(38f44434c8befd623953ae23d6e5ff4e201d6627) ) // in "31" socket ROM_LOAD16_BYTE( "ff_37.12f", 0x40000, 0x20000, CRC(e1033784) SHA1(38f44434c8befd623953ae23d6e5ff4e201d6627) ) // in "31" socket
ROM_LOAD16_BYTE( "ff_43.12h", 0x40001, 0x20000, CRC(4ca65947) SHA1(74ffe00df96273770a24d9a46f13e53ea8812670) ) // in "36" socket /* seen the same pcb with FFU_43.12H */ ROM_LOAD16_BYTE( "ff_43.12h", 0x40001, 0x20000, CRC(4ca65947) SHA1(74ffe00df96273770a24d9a46f13e53ea8812670) ) // in "36" socket /* seen the same pcb with FFU_43.12H */
ROM_LOAD16_WORD_SWAP( "ff-32m.8h", 0x80000, 0x80000, CRC(c747696e) SHA1(d3362dadded31ccb7eaf71ef282d698d18edd722) ) ROM_LOAD16_WORD_SWAP( "ff-32m.8h", 0x80000, 0x80000, CRC(c747696e) SHA1(d3362dadded31ccb7eaf71ef282d698d18edd722) )
ROM_REGION( 0x200000, "gfx", 0 ) ROM_REGION( 0x200000, "gfx", 0 )
@ -4483,7 +4483,7 @@ ROM_START( ffightub )
ROMX_LOAD( "ff-3m.5a", 0x000006, 0x80000, CRC(52291cd2) SHA1(df5f3d3aa96a7a33ff22f2a31382942c4c4f1111) , ROM_GROUPWORD | ROM_SKIP(6) ) ROMX_LOAD( "ff-3m.5a", 0x000006, 0x80000, CRC(52291cd2) SHA1(df5f3d3aa96a7a33ff22f2a31382942c4c4f1111) , ROM_GROUPWORD | ROM_SKIP(6) )
ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
ROM_LOAD( "ff_23.12b", 0x00000, 0x08000, CRC(b8367eb5) SHA1(ec3db29fdd6200e9a8f4f8073a7e34aef731354f) ) // == ff_09.12b /* label is FF_23, pcb verified */ ROM_LOAD( "ff_23.12b", 0x00000, 0x08000, CRC(b8367eb5) SHA1(ec3db29fdd6200e9a8f4f8073a7e34aef731354f) ) // == ff_09.12b /* label is FF_23, pcb verified */
ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x40000, "oki", 0 ) /* Samples */ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
@ -9965,7 +9965,7 @@ GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bo
GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2hack, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2hack, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version
GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE ) GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE )
GAME( 1992, varth, 0, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified GAME( 1992, varth, 0, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified
GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC" GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC"
GAME( 1992, varthu, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom, distributed by Romstar", "Varth: Operation Thunderstorm (USA 920612)", GAME_SUPPORTS_SAVE ) GAME( 1992, varthu, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom, distributed by Romstar", "Varth: Operation Thunderstorm (USA 920612)", GAME_SUPPORTS_SAVE )
GAME( 1992, varthj, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (Japan 920714)", GAME_SUPPORTS_SAVE ) GAME( 1992, varthj, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (Japan 920714)", GAME_SUPPORTS_SAVE )

View File

@ -266,8 +266,8 @@ static INPUT_PORTS_START( bestri )
PORT_DIPNAME( 0x00c0, 0x00c0, "Girls" ) PORT_DIPLOCATION("SW1:7,8") /* stored at 0x3a6faa.w */ PORT_DIPNAME( 0x00c0, 0x00c0, "Girls" ) PORT_DIPLOCATION("SW1:7,8") /* stored at 0x3a6faa.w */
PORT_DIPSETTING( 0x00c0, DEF_STR( No ) ) PORT_DIPSETTING( 0x00c0, DEF_STR( No ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Yes ) ) PORT_DIPSETTING( 0x0080, DEF_STR( Yes ) )
// PORT_DIPSETTING( 0x0040, DEF_STR( No ) ) // PORT_DIPSETTING( 0x0040, DEF_STR( No ) )
// PORT_DIPSETTING( 0x0000, DEF_STR( No ) ) // PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPNAME( 0x0700, 0x0700, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1,2,3") /* stored at 0x3a6fa6.w but not read back ? */ PORT_DIPNAME( 0x0700, 0x0700, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1,2,3") /* stored at 0x3a6fa6.w but not read back ? */
PORT_DIPSETTING( 0x0700, "0" ) PORT_DIPSETTING( 0x0700, "0" )
PORT_DIPSETTING( 0x0300, "1" ) PORT_DIPSETTING( 0x0300, "1" )

View File

@ -297,15 +297,15 @@ Donkey Kong Junior Notes
------------------------------------------------ ------------------------------------------------
D2K Jumpman returns Notes D2K Jumpman returns Notes
========================= =========================
This is a DKong/Hack combo using a Braze Technologies High Score Save pcb. This is a DKong/Hack combo using a Braze Technologies High Score Save pcb.
This pcb will be placed in the cpu socket and the Z80 together with an This pcb will be placed in the cpu socket and the Z80 together with an
additional 64K rom, a 74LS245, an eeprom and a pal/gal. It looks like the additional 64K rom, a 74LS245, an eeprom and a pal/gal. It looks like the
"encryption" was a conincidence resulting from an easy pcb layout. "encryption" was a conincidence resulting from an easy pcb layout.
The pal is also used to switch A15 on and off. This is done in locations The pal is also used to switch A15 on and off. This is done in locations
6800 and E800. 6800 and E800.
***************************************************************************/ ***************************************************************************/

View File

@ -359,7 +359,7 @@ static READ8_HANDLER( dip_switch_r )
{ {
case 0x01: case 0x01:
/* For the DIP switches to be read, protection_data must be /* For the DIP switches to be read, protection_data must be
0xff on reset. The AY8910 reset ensures this. */ 0xff on reset. The AY8910 reset ensures this. */
if (state->protection_data != 0xff) if (state->protection_data != 0xff)
ret = state->protection_data ^ 0x88; ret = state->protection_data ^ 0x88;
else else

View File

@ -1,22 +1,22 @@
/******************************************************************************************* /*******************************************************************************************
Erotictac/Tactic (c) 1990 Sisteme Erotictac/Tactic (c) 1990 Sisteme
Poizone (c) 1991 Eterna Poizone (c) 1991 Eterna
Actually an Acorn Archimedes-based Arcade system Actually an Acorn Archimedes-based Arcade system
original driver by Tomasz Slanina, Steve Ellenoff, Nicola Salmoria original driver by Tomasz Slanina, Steve Ellenoff, Nicola Salmoria
rewrite to use AA functions by R.Belmont & Angelo Salese rewrite to use AA functions by R.Belmont & Angelo Salese
special thanks to Tom Walker (author of the Acorn Archimedes Arculator emulator) special thanks to Tom Walker (author of the Acorn Archimedes Arculator emulator)
TODO (specific issues only): TODO (specific issues only):
- Sound is currently ugly in both games, recognizable but still nowhere near perfection - Sound is currently ugly in both games, recognizable but still nowhere near perfection
- ertictac: 'music' dip-sw makes the game to just hang, BGM doesn't play either for - ertictac: 'music' dip-sw makes the game to just hang, BGM doesn't play either for
whatever reason (should be triggered as soon as it executes the POST) whatever reason (should be triggered as soon as it executes the POST)
- poizone: ARM core bugs causes it to crash at some point. - poizone: ARM core bugs causes it to crash at some point.
- Does this Arcade conversion have I2C device? It seems unused afaik. - Does this Arcade conversion have I2C device? It seems unused afaik.
- Need PCB for identify the exact model of AA, available RAM, what kind of i/o "podule" - Need PCB for identify the exact model of AA, available RAM, what kind of i/o "podule"
it has etc. it has etc.
*******************************************************************************************/ *******************************************************************************************/
#include "emu.h" #include "emu.h"

View File

@ -4783,13 +4783,13 @@ ROM_START( starseek )
ROM_REGION( 0x50, "picreturn", ROMREGION_ERASE) ROM_REGION( 0x50, "picreturn", ROMREGION_ERASE)
/* /*
Note: Note:
There was no sticker or silk screen markings on this PIC. There was no sticker or silk screen markings on this PIC.
I have used the product number as a label instead. I have used the product number as a label instead.
PIC16C621A-20 (317-0005-JPN) PIC16C621A-20 (317-0005-JPN)
Sticker: 253-5509-0005J Sticker: 253-5509-0005J
*/ */
ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF) ROM_REGION( 0x4000, "pic", ROMREGION_ERASEFF)
ROM_LOAD("317-0005-jpn.pic", 0x00, 0x4000, CRC(19f8d4d0) SHA1(d256f26f757d7019cab7950d81992902cdb65e07) ) ROM_LOAD("317-0005-jpn.pic", 0x00, 0x4000, CRC(19f8d4d0) SHA1(d256f26f757d7019cab7950d81992902cdb65e07) )
ROM_END ROM_END

View File

@ -5502,8 +5502,8 @@ ROM_END
ROM_START( mslug4 ) /* Original Version - Encrypted GFX */ /* MVS VERSION */ ROM_START( mslug4 ) /* Original Version - Encrypted GFX */ /* MVS VERSION */
/* There also exist carts where p1 label is pg1; the PG1 revision has a Japanese cart label, SN 02Jxxxxx /* There also exist carts where p1 label is pg1; the PG1 revision has a Japanese cart label, SN 02Jxxxxx
The P1 revision has a US/EUR cart label, SN 02Txxxxx ; Rom data on both is identical. The P1 revision has a US/EUR cart label, SN 02Txxxxx ; Rom data on both is identical.
These carts were manufactured by Mega Enterprise, not SNK. */ These carts were manufactured by Mega Enterprise, not SNK. */
ROM_REGION( 0x500000, "maincpu", 0 ) ROM_REGION( 0x500000, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "263-p1.bin", 0x000000, 0x100000, CRC(27e4def3) SHA1(a08785e8145981bb6b5332a3b2df7eb321253cca) ) ROM_LOAD16_WORD_SWAP( "263-p1.bin", 0x000000, 0x100000, CRC(27e4def3) SHA1(a08785e8145981bb6b5332a3b2df7eb321253cca) )
ROM_LOAD16_WORD_SWAP( "263-p2.bin", 0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) ) ROM_LOAD16_WORD_SWAP( "263-p2.bin", 0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) )

View File

@ -6,11 +6,11 @@
Skeleton by R. Belmont Skeleton by R. Belmont
H/W is a white-box PC consisting of: H/W is a white-box PC consisting of:
Pentium II 450 CPU Pentium II 450 CPU
DFI P2XBL motherboard (i440BX chipset) DFI P2XBL motherboard (i440BX chipset)
128 MB RAM 128 MB RAM
Guillemot Maxi Gamer 3D2 Voodoo II Guillemot Maxi Gamer 3D2 Voodoo II
Sound Blaster AWE64 Sound Blaster AWE64
Protected by a HASP brand parallel port dongle. Protected by a HASP brand parallel port dongle.
I/O board has a PIC17C43 which is not readable. I/O board has a PIC17C43 which is not readable.

View File

@ -300,7 +300,7 @@ static ADDRESS_MAP_START( yieartf_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1085, 0x1085) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.2 */ AM_RANGE(0x1085, 0x1085) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.2 */
AM_RANGE(0x1086, 0x1086) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.4 */ AM_RANGE(0x1086, 0x1086) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.4 */
AM_RANGE(0x1087, 0x1087) AM_MIRROR(0x0078) AM_WRITE(interrupt_enable_w) /* INT */ AM_RANGE(0x1087, 0x1087) AM_MIRROR(0x0078) AM_WRITE(interrupt_enable_w) /* INT */
// AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE(soundlatch_w) /* 32 */ // AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE(soundlatch_w) /* 32 */
AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x007f) AM_READ_PORT("DSW2") AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x007f) AM_READ_PORT("DSW2")
AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x007c) AM_READ_PORT("SYSTEM") AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x007c) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1281, 0x1281) AM_MIRROR(0x007c) AM_READ_PORT("IN0") AM_RANGE(0x1281, 0x1281) AM_MIRROR(0x007c) AM_READ_PORT("IN0")
@ -1050,8 +1050,8 @@ static MACHINE_DRIVER_START( yieartf )
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
// z80 isn't used // z80 isn't used
// MDRV_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) // MDRV_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4)
// MDRV_CPU_PROGRAM_MAP(sound_map) // MDRV_CPU_PROGRAM_MAP(sound_map)
MDRV_MACHINE_START(trackfld) MDRV_MACHINE_START(trackfld)
MDRV_MACHINE_RESET(trackfld) MDRV_MACHINE_RESET(trackfld)

View File

@ -71,9 +71,9 @@ extern UINT8 vidc_interlace;
#define CONTROL 0x00/4 #define CONTROL 0x00/4
#define KART 0x04/4 // Keyboard Asynchronous Receiver Transmitter #define KART 0x04/4 // Keyboard Asynchronous Receiver Transmitter
#define IRQ_STATUS_A 0x10/4 #define IRQ_STATUS_A 0x10/4
#define IRQ_REQUEST_A 0x14/4 #define IRQ_REQUEST_A 0x14/4
#define IRQ_MASK_A 0x18/4 #define IRQ_MASK_A 0x18/4
#define IRQ_STATUS_B 0x20/4 #define IRQ_STATUS_B 0x20/4
#define IRQ_REQUEST_B 0x24/4 #define IRQ_REQUEST_B 0x24/4
#define IRQ_MASK_B 0x28/4 #define IRQ_MASK_B 0x28/4

View File

@ -267,7 +267,7 @@ READ32_HANDLER(archimedes_memc_logical_r)
page = (offset<<2) / page_sizes[memc_pagesize]; page = (offset<<2) / page_sizes[memc_pagesize];
poffs = (offset<<2) % page_sizes[memc_pagesize]; poffs = (offset<<2) % page_sizes[memc_pagesize];
// printf("Reading offset %x (addr %x): page %x (size %d %d) offset %x ==> %x %x\n", offset, offset<<2, page, memc_pagesize, page_sizes[memc_pagesize], poffs, memc_pages[page], memc_pages[page]*page_sizes[memc_pagesize]); // printf("Reading offset %x (addr %x): page %x (size %d %d) offset %x ==> %x %x\n", offset, offset<<2, page, memc_pagesize, page_sizes[memc_pagesize], poffs, memc_pages[page], memc_pages[page]*page_sizes[memc_pagesize]);
if (memc_pages[page] != -1) if (memc_pages[page] != -1)
{ {
@ -339,8 +339,8 @@ DIRECT_UPDATE_HANDLER( a310_setopbase )
void archimedes_driver_init(running_machine *machine) void archimedes_driver_init(running_machine *machine)
{ {
// address_space *space = machine->device<arm_device>("maincpu")->space(AS_PROGRAM); // address_space *space = machine->device<arm_device>("maincpu")->space(AS_PROGRAM);
// space->set_direct_update_handler(direct_update_delegate_create_static(a310_setopbase, *machine)); // space->set_direct_update_handler(direct_update_delegate_create_static(a310_setopbase, *machine));
} }
static const char *const ioc_regnames[] = static const char *const ioc_regnames[] =
@ -711,15 +711,15 @@ static void vidc_dynamic_res_change(running_machine *machine)
{ {
/* sanity checks - first pass */ /* sanity checks - first pass */
/* /*
total cycles + border end total cycles + border end
*/ */
if(vidc_regs[VIDC_HCR] && vidc_regs[VIDC_HBER] && if(vidc_regs[VIDC_HCR] && vidc_regs[VIDC_HBER] &&
vidc_regs[VIDC_VCR] && vidc_regs[VIDC_VBER]) vidc_regs[VIDC_VCR] && vidc_regs[VIDC_VBER])
{ {
/* sanity checks - second pass */ /* sanity checks - second pass */
/* /*
total cycles >= border end >= border start total cycles >= border end >= border start
*/ */
if((vidc_regs[VIDC_HCR] >= vidc_regs[VIDC_HBER]) && if((vidc_regs[VIDC_HCR] >= vidc_regs[VIDC_HBER]) &&
(vidc_regs[VIDC_HBER] >= vidc_regs[VIDC_HBSR]) && (vidc_regs[VIDC_HBER] >= vidc_regs[VIDC_HBSR]) &&
(vidc_regs[VIDC_VCR] >= vidc_regs[VIDC_VBER]) && (vidc_regs[VIDC_VCR] >= vidc_regs[VIDC_VBER]) &&
@ -810,30 +810,30 @@ WRITE32_HANDLER(archimedes_vidc_w)
{ {
vidc_stereo_reg[(reg >> 2) & 7] = val & 0x07; vidc_stereo_reg[(reg >> 2) & 7] = val & 0x07;
// popmessage("%02x %02x %02x %02x %02x %02x %02x %02x",vidc_stereo_reg[0],vidc_stereo_reg[1],vidc_stereo_reg[2],vidc_stereo_reg[3] // popmessage("%02x %02x %02x %02x %02x %02x %02x %02x",vidc_stereo_reg[0],vidc_stereo_reg[1],vidc_stereo_reg[2],vidc_stereo_reg[3]
// ,vidc_stereo_reg[4],vidc_stereo_reg[5],vidc_stereo_reg[6],vidc_stereo_reg[7]); // ,vidc_stereo_reg[4],vidc_stereo_reg[5],vidc_stereo_reg[6],vidc_stereo_reg[7]);
} }
else if (reg >= 0x80 && reg <= 0xbc) else if (reg >= 0x80 && reg <= 0xbc)
{ {
switch(reg) switch(reg)
{ {
case VIDC_HCR: vidc_regs[VIDC_HCR] = ((val >> 14)<<1)+1; break; case VIDC_HCR: vidc_regs[VIDC_HCR] = ((val >> 14)<<1)+1; break;
// case VIDC_HSWR: vidc_regs[VIDC_HSWR] = (val >> 14)+1; break; // case VIDC_HSWR: vidc_regs[VIDC_HSWR] = (val >> 14)+1; break;
case VIDC_HBSR: vidc_regs[VIDC_HBSR] = ((val >> 14)<<1)+1; break; case VIDC_HBSR: vidc_regs[VIDC_HBSR] = ((val >> 14)<<1)+1; break;
case VIDC_HDSR: vidc_regs[VIDC_HDSR] = (val >> 14); break; case VIDC_HDSR: vidc_regs[VIDC_HDSR] = (val >> 14); break;
case VIDC_HDER: vidc_regs[VIDC_HDER] = (val >> 14); break; case VIDC_HDER: vidc_regs[VIDC_HDER] = (val >> 14); break;
case VIDC_HBER: vidc_regs[VIDC_HBER] = ((val >> 14)<<1)+1; break; case VIDC_HBER: vidc_regs[VIDC_HBER] = ((val >> 14)<<1)+1; break;
// #define VIDC_HCSR 0x98 // #define VIDC_HCSR 0x98
// #define VIDC_HIR 0x9c // #define VIDC_HIR 0x9c
case VIDC_VCR: vidc_regs[VIDC_VCR] = ((val >> 14)<<1)+1; break; case VIDC_VCR: vidc_regs[VIDC_VCR] = ((val >> 14)<<1)+1; break;
// #define VIDC_VSWR 0xa4 // #define VIDC_VSWR 0xa4
case VIDC_VBSR: vidc_regs[VIDC_VBSR] = (val >> 14)+1; break; case VIDC_VBSR: vidc_regs[VIDC_VBSR] = (val >> 14)+1; break;
case VIDC_VDSR: vidc_regs[VIDC_VDSR] = (val >> 14)+1; break; case VIDC_VDSR: vidc_regs[VIDC_VDSR] = (val >> 14)+1; break;
case VIDC_VDER: vidc_regs[VIDC_VDER] = (val >> 14)+1; break; case VIDC_VDER: vidc_regs[VIDC_VDER] = (val >> 14)+1; break;
case VIDC_VBER: vidc_regs[VIDC_VBER] = (val >> 14)+1; break; case VIDC_VBER: vidc_regs[VIDC_VBER] = (val >> 14)+1; break;
// #define VIDC_VCSR 0xb8 // #define VIDC_VCSR 0xb8
// #define VIDC_VCER 0xbc // #define VIDC_VCER 0xbc
} }
@ -1000,7 +1000,7 @@ WRITE32_HANDLER(archimedes_memc_page_w)
break; break;
} }
// log >>= (12 + memc_pagesize); // log >>= (12 + memc_pagesize);
// always make sure ROM mode is disconnected when this occurs // always make sure ROM mode is disconnected when this occurs
memc_latchrom = 0; memc_latchrom = 0;

View File

@ -1,6 +1,6 @@
/*************************************************************************** /***************************************************************************
Acorn Archimedes VIDC (VIDeo Controller) emulation Acorn Archimedes VIDC (VIDeo Controller) emulation
***************************************************************************/ ***************************************************************************/

View File

@ -76,7 +76,7 @@ static const pen_t default_colortable[] =
typedef struct _ppu2c0x_state ppu2c0x_state; typedef struct _ppu2c0x_state ppu2c0x_state;
struct _ppu2c0x_state struct _ppu2c0x_state
{ {
address_space *space; /* memory space */ address_space *space; /* memory space */
bitmap_t *bitmap; /* target bitmap */ bitmap_t *bitmap; /* target bitmap */
UINT8 *spriteram; /* sprite ram */ UINT8 *spriteram; /* sprite ram */
pen_t *colortable; /* color table modified at run time */ pen_t *colortable; /* color table modified at run time */

View File

@ -99,7 +99,7 @@ VIDEO_START( toaplan2 )
if (state->vdp1 != NULL) if (state->vdp1 != NULL)
{ {
state->secondary_render_bitmap = auto_bitmap_alloc(machine, width, height, BITMAP_FORMAT_INDEXED16); state->secondary_render_bitmap = auto_bitmap_alloc(machine, width, height, BITMAP_FORMAT_INDEXED16);
state->vdp1->custom_priority_bitmap = state->custom_priority_bitmap; state->vdp1->custom_priority_bitmap = state->custom_priority_bitmap;
state->vdp1->displog = &state->displog; state->vdp1->displog = &state->displog;
} }
@ -345,7 +345,7 @@ VIDEO_UPDATE( toaplan2_dual )
{ {
gp9001_log_vram(state->vdp0, screen->machine); gp9001_log_vram(state->vdp0, screen->machine);
// bitmap_fill(bitmap,cliprect,0); // bitmap_fill(bitmap,cliprect,0);
bitmap_fill(state->custom_priority_bitmap, cliprect, 0); bitmap_fill(state->custom_priority_bitmap, cliprect, 0);
state->vdp0->gp9001_render_vdp(screen->machine, bitmap, cliprect); state->vdp0->gp9001_render_vdp(screen->machine, bitmap, cliprect);
} }
@ -360,8 +360,8 @@ VIDEO_UPDATE( toaplan2_mixed )
{ {
toaplan2_state *state = screen->machine->driver_data<toaplan2_state>(); toaplan2_state *state = screen->machine->driver_data<toaplan2_state>();
// bitmap_fill(bitmap,cliprect,0); // bitmap_fill(bitmap,cliprect,0);
// bitmap_fill(gp9001_custom_priority_bitmap, cliprect, 0); // bitmap_fill(gp9001_custom_priority_bitmap, cliprect, 0);
if (state->vdp0) if (state->vdp0)
{ {

View File

@ -225,7 +225,7 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
// //
//if (offs < 0x26) //if (offs < 0x26)
//{ //{
// sy++; /* fix title screen & garbage at the bottom of the screen */ // sy++; /* fix title screen & garbage at the bottom of the screen */
//} //}

View File

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