mirror of
https://github.com/holub/mame
synced 2025-07-05 01:48:29 +03:00
Cleanups and version bump.
This commit is contained in:
parent
f935e05a10
commit
861db1eb49
@ -1090,8 +1090,8 @@ CPU_GET_INFO( cdp1802 )
|
|||||||
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(cdp1802); break;
|
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(cdp1802); break;
|
||||||
case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(cdp1802); break;
|
case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(cdp1802); break;
|
||||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cdp1802); break;
|
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cdp1802); break;
|
||||||
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(cdp1802); break;
|
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(cdp1802); break;
|
||||||
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(cdp1802); break;
|
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(cdp1802); break;
|
||||||
case CPUINFO_FCT_EXPORT_STRING: info->export_string = CPU_EXPORT_STRING_NAME(cdp1802); break;
|
case CPUINFO_FCT_EXPORT_STRING: info->export_string = CPU_EXPORT_STRING_NAME(cdp1802); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
|
@ -1409,9 +1409,9 @@ static CPU_GET_INFO( cop400 )
|
|||||||
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(cop400); break;
|
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(cop400); break;
|
||||||
case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(cop400); break;
|
case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(cop400); break;
|
||||||
case CPUINFO_FCT_DISASSEMBLE: /* set per-core */ break;
|
case CPUINFO_FCT_DISASSEMBLE: /* set per-core */ break;
|
||||||
// case CPUINFO_FCT_VALIDITY_CHECK: /* set per-core */ break;
|
// case CPUINFO_FCT_VALIDITY_CHECK: /* set per-core */ break;
|
||||||
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(cop400); break;
|
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(cop400); break;
|
||||||
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(cop400); break;
|
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(cop400); break;
|
||||||
case CPUINFO_FCT_EXPORT_STRING: info->export_string = CPU_EXPORT_STRING_NAME(cop400); break;
|
case CPUINFO_FCT_EXPORT_STRING: info->export_string = CPU_EXPORT_STRING_NAME(cop400); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
@ -1443,7 +1443,7 @@ CPU_GET_INFO( cop410 )
|
|||||||
/* --- the following bits of info are returned as pointers to functions --- */
|
/* --- the following bits of info are returned as pointers to functions --- */
|
||||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop410); break;
|
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop410); break;
|
||||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop410); break;
|
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop410); break;
|
||||||
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop410); break;
|
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop410); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_512b); break;
|
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_512b); break;
|
||||||
@ -1501,7 +1501,7 @@ CPU_GET_INFO( cop420 )
|
|||||||
/* --- the following bits of info are returned as pointers to functions --- */
|
/* --- the following bits of info are returned as pointers to functions --- */
|
||||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop420); break;
|
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop420); break;
|
||||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop420); break;
|
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop420); break;
|
||||||
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop420); break;
|
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop420); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_1kb); break;
|
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_1kb); break;
|
||||||
@ -1528,7 +1528,7 @@ CPU_GET_INFO( cop421 )
|
|||||||
{
|
{
|
||||||
/* --- 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_INIT: info->init = CPU_INIT_NAME(cop421); break;
|
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop421); break;
|
||||||
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop421); break;
|
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop421); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||||
case DEVINFO_STR_NAME: strcpy(info->s, "COP421"); break;
|
case DEVINFO_STR_NAME: strcpy(info->s, "COP421"); break;
|
||||||
@ -1582,7 +1582,7 @@ CPU_GET_INFO( cop444 )
|
|||||||
/* --- the following bits of info are returned as pointers to functions --- */
|
/* --- the following bits of info are returned as pointers to functions --- */
|
||||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop444); break;
|
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(cop444); break;
|
||||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop444); break;
|
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(cop444); break;
|
||||||
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop444); break;
|
// case CPUINFO_FCT_VALIDITY_CHECK: info->validity_check = CPU_VALIDITY_CHECK_NAME(cop444); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_2kb); break;
|
case DEVINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACE_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(program_2kb); break;
|
||||||
|
@ -281,12 +281,12 @@ enum
|
|||||||
#define cpu_adjust_icount device_adjust_icount
|
#define cpu_adjust_icount device_adjust_icount
|
||||||
#define cpu_abort_timeslice device_abort_timeslice
|
#define cpu_abort_timeslice device_abort_timeslice
|
||||||
|
|
||||||
#define cpu_triggerint device_triggerint
|
#define cpu_triggerint device_triggerint
|
||||||
#define cpu_set_input_line device_set_input_line
|
#define cpu_set_input_line device_set_input_line
|
||||||
#define cpu_set_input_line_vector device_set_input_line_vector
|
#define cpu_set_input_line_vector device_set_input_line_vector
|
||||||
#define cpu_set_input_line_and_vector device_set_input_line_and_vector
|
#define cpu_set_input_line_and_vector device_set_input_line_and_vector
|
||||||
#define cpu_set_irq_callback device_set_irq_callback
|
#define cpu_set_irq_callback device_set_irq_callback
|
||||||
#define cpu_spin_until_int device_spin_until_int
|
#define cpu_spin_until_int device_spin_until_int
|
||||||
|
|
||||||
#define cpu_get_address_space device_get_space
|
#define cpu_get_address_space device_get_space
|
||||||
|
|
||||||
@ -403,7 +403,7 @@ union cpuinfo
|
|||||||
|
|
||||||
// ======================> cpu_device_config
|
// ======================> cpu_device_config
|
||||||
|
|
||||||
class cpu_device_config : public device_config,
|
class cpu_device_config : public device_config,
|
||||||
public device_config_execute_interface,
|
public device_config_execute_interface,
|
||||||
public device_config_memory_interface,
|
public device_config_memory_interface,
|
||||||
public device_config_state_interface,
|
public device_config_state_interface,
|
||||||
@ -473,7 +473,7 @@ const device_type CPU = legacy_cpu_device_config::static_alloc_device_config;
|
|||||||
|
|
||||||
// ======================> cpu_device
|
// ======================> cpu_device
|
||||||
|
|
||||||
class cpu_device : public device_t,
|
class cpu_device : public device_t,
|
||||||
public device_execute_interface,
|
public device_execute_interface,
|
||||||
public device_memory_interface,
|
public device_memory_interface,
|
||||||
public device_state_interface,
|
public device_state_interface,
|
||||||
|
@ -73,7 +73,7 @@ legacy_device_config_base::~legacy_device_config_base()
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// get_legacy_config_int - return a legacy
|
// get_legacy_config_int - return a legacy
|
||||||
// configuration parameter as an integer
|
// configuration parameter as an integer
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
INT64 legacy_device_config_base::get_legacy_config_int(UINT32 state) const
|
INT64 legacy_device_config_base::get_legacy_config_int(UINT32 state) const
|
||||||
@ -86,7 +86,7 @@ INT64 legacy_device_config_base::get_legacy_config_int(UINT32 state) const
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// get_legacy_config_ptr - return a legacy
|
// get_legacy_config_ptr - return a legacy
|
||||||
// configuration parameter as a pointer
|
// configuration parameter as a pointer
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void *legacy_device_config_base::get_legacy_config_ptr(UINT32 state) const
|
void *legacy_device_config_base::get_legacy_config_ptr(UINT32 state) const
|
||||||
@ -99,7 +99,7 @@ void *legacy_device_config_base::get_legacy_config_ptr(UINT32 state) const
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// get_legacy_config_fct - return a legacy
|
// get_legacy_config_fct - return a legacy
|
||||||
// configuration parameter as a function pointer
|
// configuration parameter as a function pointer
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
genf *legacy_device_config_base::get_legacy_config_fct(UINT32 state) const
|
genf *legacy_device_config_base::get_legacy_config_fct(UINT32 state) const
|
||||||
@ -112,7 +112,7 @@ genf *legacy_device_config_base::get_legacy_config_fct(UINT32 state) const
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// get_legacy_config_string - return a legacy
|
// get_legacy_config_string - return a legacy
|
||||||
// configuration parameter as a string pointer
|
// configuration parameter as a string pointer
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const char *legacy_device_config_base::get_legacy_config_string(UINT32 state) const
|
const char *legacy_device_config_base::get_legacy_config_string(UINT32 state) const
|
||||||
@ -248,7 +248,7 @@ legacy_memory_device_config_base::legacy_memory_device_config_base(const machine
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_config_complete - update configuration
|
// device_config_complete - update configuration
|
||||||
// based on completed device setup
|
// based on completed device setup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void legacy_memory_device_config_base::device_config_complete()
|
void legacy_memory_device_config_base::device_config_complete()
|
||||||
@ -381,7 +381,7 @@ legacy_image_device_config_base::legacy_image_device_config_base(const machine_c
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_config_complete - update configuration
|
// device_config_complete - update configuration
|
||||||
// based on completed device setup
|
// based on completed device setup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void legacy_image_device_config_base::device_config_complete()
|
void legacy_image_device_config_base::device_config_complete()
|
||||||
@ -465,7 +465,7 @@ void legacy_image_device_config_base::device_config_complete()
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// find_device_type - search trough list of
|
// find_device_type - search trough list of
|
||||||
// device types to extact data
|
// device types to extact data
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const image_device_type_info *legacy_image_device_config_base::find_device_type(iodevice_t type)
|
const image_device_type_info *legacy_image_device_config_base::find_device_type(iodevice_t type)
|
||||||
@ -491,7 +491,7 @@ const char *legacy_image_device_config_base::device_typename(iodevice_t type)
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_brieftypename - retrieves device
|
// device_brieftypename - retrieves device
|
||||||
// brief type name
|
// brief type name
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const char *legacy_image_device_config_base::device_brieftypename(iodevice_t type)
|
const char *legacy_image_device_config_base::device_brieftypename(iodevice_t type)
|
||||||
@ -502,7 +502,7 @@ const char *legacy_image_device_config_base::device_brieftypename(iodevice_t typ
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// uses_file_extension - update configuration
|
// uses_file_extension - update configuration
|
||||||
// based on completed device setup
|
// based on completed device setup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
bool legacy_image_device_config_base::uses_file_extension(const char *file_extension) const
|
bool legacy_image_device_config_base::uses_file_extension(const char *file_extension) const
|
||||||
|
@ -178,16 +178,16 @@ enum
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// macro for declaring the configuration and device classes of a legacy device
|
// macro for declaring the configuration and device classes of a legacy device
|
||||||
#define _DECLARE_LEGACY_DEVICE(name, basename, configclass, deviceclass, baseconfigclass, basedeviceclass) \
|
#define _DECLARE_LEGACY_DEVICE(name, basename, configclass, deviceclass, baseconfigclass, basedeviceclass) \
|
||||||
\
|
\
|
||||||
DEVICE_GET_INFO( basename ); \
|
DEVICE_GET_INFO( basename ); \
|
||||||
\
|
\
|
||||||
class configclass; \
|
class configclass; \
|
||||||
\
|
\
|
||||||
class deviceclass : public basedeviceclass \
|
class deviceclass : public basedeviceclass \
|
||||||
{ \
|
{ \
|
||||||
friend class configclass; \
|
friend class configclass; \
|
||||||
deviceclass(running_machine &_machine, const configclass &config); \
|
deviceclass(running_machine &_machine, const configclass &config); \
|
||||||
}; \
|
}; \
|
||||||
\
|
\
|
||||||
class configclass : public baseconfigclass \
|
class configclass : public baseconfigclass \
|
||||||
@ -202,9 +202,9 @@ public: \
|
|||||||
const device_type name = configclass::static_alloc_device_config
|
const device_type name = configclass::static_alloc_device_config
|
||||||
|
|
||||||
// macro for defining the implementation needed for configuration and device classes
|
// macro for defining the implementation needed for configuration and device classes
|
||||||
#define _DEFINE_LEGACY_DEVICE(name, basename, configclass, deviceclass, baseconfigclass, basedeviceclass) \
|
#define _DEFINE_LEGACY_DEVICE(name, basename, configclass, deviceclass, baseconfigclass, basedeviceclass) \
|
||||||
\
|
\
|
||||||
deviceclass::deviceclass(running_machine &_machine, const configclass &config) \
|
deviceclass::deviceclass(running_machine &_machine, const configclass &config) \
|
||||||
: basedeviceclass(_machine, config) \
|
: basedeviceclass(_machine, config) \
|
||||||
{ \
|
{ \
|
||||||
} \
|
} \
|
||||||
@ -221,7 +221,7 @@ device_config *configclass::static_alloc_device_config(const machine_config &mco
|
|||||||
\
|
\
|
||||||
device_t *configclass::alloc_device(running_machine &machine) const \
|
device_t *configclass::alloc_device(running_machine &machine) const \
|
||||||
{ \
|
{ \
|
||||||
return pool_alloc(machine_get_pool(machine), deviceclass(machine, *this)); \
|
return pool_alloc(machine_get_pool(machine), deviceclass(machine, *this)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
// reduced macros that are easier to use, and map to the above two macros
|
// reduced macros that are easier to use, and map to the above two macros
|
||||||
@ -538,7 +538,7 @@ protected:
|
|||||||
// ======================> legacy_memory_device_base
|
// ======================> legacy_memory_device_base
|
||||||
|
|
||||||
// legacy_memory_device is a legacy_device_base with a memory interface
|
// legacy_memory_device is a legacy_device_base with a memory interface
|
||||||
class legacy_memory_device_base : public legacy_device_base,
|
class legacy_memory_device_base : public legacy_device_base,
|
||||||
public device_memory_interface
|
public device_memory_interface
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
@ -564,7 +564,7 @@ protected:
|
|||||||
// ======================> legacy_nvram_device
|
// ======================> legacy_nvram_device
|
||||||
|
|
||||||
// legacy_nvram_device is a legacy_device_base with a nvram interface
|
// legacy_nvram_device is a legacy_device_base with a nvram interface
|
||||||
class legacy_nvram_device_base : public legacy_device_base,
|
class legacy_nvram_device_base : public legacy_device_base,
|
||||||
public device_nvram_interface
|
public device_nvram_interface
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
@ -656,7 +656,7 @@ protected:
|
|||||||
// ======================> legacy_image_device
|
// ======================> legacy_image_device
|
||||||
|
|
||||||
// legacy_image_device is a legacy_device_base with a image interface
|
// legacy_image_device is a legacy_device_base with a image interface
|
||||||
class legacy_image_device_base : public legacy_device_base,
|
class legacy_image_device_base : public legacy_device_base,
|
||||||
public device_image_interface
|
public device_image_interface
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -57,7 +57,7 @@ const UINT32 DASMFLAG_STEP_OUT = 0x40000000; // this instruction should be the
|
|||||||
const UINT32 DASMFLAG_STEP_OVER = 0x20000000; // this instruction should be stepped over by setting a breakpoint afterwards
|
const UINT32 DASMFLAG_STEP_OVER = 0x20000000; // this instruction should be stepped over by setting a breakpoint afterwards
|
||||||
const UINT32 DASMFLAG_OVERINSTMASK = 0x18000000; // number of extra instructions to skip when stepping over
|
const UINT32 DASMFLAG_OVERINSTMASK = 0x18000000; // number of extra instructions to skip when stepping over
|
||||||
const UINT32 DASMFLAG_OVERINSTSHIFT = 27; // bits to shift after masking to get the value
|
const UINT32 DASMFLAG_OVERINSTSHIFT = 27; // bits to shift after masking to get the value
|
||||||
const UINT32 DASMFLAG_LENGTHMASK = 0x0000ffff; // the low 16-bits contain the actual length
|
const UINT32 DASMFLAG_LENGTHMASK = 0x0000ffff; // the low 16-bits contain the actual length
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
const int TRIGGER_INT = -2000;
|
const int TRIGGER_INT = -2000;
|
||||||
const int TRIGGER_SUSPENDTIME = -4000;
|
const int TRIGGER_SUSPENDTIME = -4000;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,12 +52,12 @@
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// suspension reasons for executing devices
|
// suspension reasons for executing devices
|
||||||
const UINT32 SUSPEND_REASON_HALT = 0x0001; // HALT line set (or equivalent)
|
const UINT32 SUSPEND_REASON_HALT = 0x0001; // HALT line set (or equivalent)
|
||||||
const UINT32 SUSPEND_REASON_RESET = 0x0002; // RESET line set (or equivalent)
|
const UINT32 SUSPEND_REASON_RESET = 0x0002; // RESET line set (or equivalent)
|
||||||
const UINT32 SUSPEND_REASON_SPIN = 0x0004; // currently spinning
|
const UINT32 SUSPEND_REASON_SPIN = 0x0004; // currently spinning
|
||||||
const UINT32 SUSPEND_REASON_TRIGGER = 0x0008; // waiting for a trigger
|
const UINT32 SUSPEND_REASON_TRIGGER = 0x0008; // waiting for a trigger
|
||||||
const UINT32 SUSPEND_REASON_DISABLE = 0x0010; // disabled (due to disable flag)
|
const UINT32 SUSPEND_REASON_DISABLE = 0x0010; // disabled (due to disable flag)
|
||||||
const UINT32 SUSPEND_REASON_TIMESLICE = 0x0020; // waiting for the next timeslice
|
const UINT32 SUSPEND_REASON_TIMESLICE = 0x0020; // waiting for the next timeslice
|
||||||
const UINT32 SUSPEND_ANY_REASON = ~0; // all of the above
|
const UINT32 SUSPEND_ANY_REASON = ~0; // all of the above
|
||||||
|
|
||||||
|
|
||||||
@ -294,7 +294,7 @@ protected:
|
|||||||
INT32 m_stored_vector; // most recently written vector
|
INT32 m_stored_vector; // most recently written vector
|
||||||
INT32 m_curvector; // most recently processed vector
|
INT32 m_curvector; // most recently processed vector
|
||||||
UINT8 m_curstate; // most recently processed state
|
UINT8 m_curstate; // most recently processed state
|
||||||
INT32 m_queue[32]; // queue of pending events
|
INT32 m_queue[32]; // queue of pending events
|
||||||
int m_qindex; // index within the queue
|
int m_qindex; // index within the queue
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -311,11 +311,11 @@ protected:
|
|||||||
|
|
||||||
// input states and IRQ callbacks
|
// input states and IRQ callbacks
|
||||||
device_irq_callback m_driver_irq; // driver-specific IRQ callback
|
device_irq_callback m_driver_irq; // driver-specific IRQ callback
|
||||||
device_input m_input[MAX_INPUT_LINES]; // data about inputs
|
device_input m_input[MAX_INPUT_LINES]; // data about inputs
|
||||||
emu_timer * m_timedint_timer; // reference to this device's periodic interrupt timer
|
emu_timer * m_timedint_timer; // reference to this device's periodic interrupt timer
|
||||||
|
|
||||||
// these below are hacks to support multiple interrupts per frame
|
// these below are hacks to support multiple interrupts per frame
|
||||||
INT32 m_iloops; // number of interrupts remaining this frame
|
INT32 m_iloops; // number of interrupts remaining this frame
|
||||||
emu_timer * m_partial_frame_timer; // the timer that triggers partial frame interrupts
|
emu_timer * m_partial_frame_timer; // the timer that triggers partial frame interrupts
|
||||||
attotime m_partial_frame_period; // the length of one partial frame for interrupt purposes
|
attotime m_partial_frame_period; // the length of one partial frame for interrupt purposes
|
||||||
|
|
||||||
|
@ -246,12 +246,12 @@ bool device_config_memory_interface::interface_validity_check(const game_driver
|
|||||||
}
|
}
|
||||||
|
|
||||||
// make sure ports exist
|
// make sure ports exist
|
||||||
// if ((entry->read.type == AMH_PORT && entry->read.tag != NULL && portlist.find(entry->read.tag) == NULL) ||
|
// if ((entry->read.type == AMH_PORT && entry->read.tag != NULL && portlist.find(entry->read.tag) == NULL) ||
|
||||||
// (entry->write.type == AMH_PORT && entry->write.tag != NULL && portlist.find(entry->write.tag) == NULL))
|
// (entry->write.type == AMH_PORT && entry->write.tag != NULL && portlist.find(entry->write.tag) == NULL))
|
||||||
// {
|
// {
|
||||||
// mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant port tag '%s'\n", driver.source_file, driver.name, devconfig->tag(), spaceconfig->m_name, entry->read.tag);
|
// mame_printf_error("%s: %s device '%s' %s space memory map entry references nonexistant port tag '%s'\n", driver.source_file, driver.name, devconfig->tag(), spaceconfig->m_name, entry->read.tag);
|
||||||
// error = true;
|
// error = true;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// validate bank and share tags
|
// validate bank and share tags
|
||||||
if (entry->read.type == AMH_BANK && !validate_tag(&driver, "bank", entry->read.tag))
|
if (entry->read.type == AMH_BANK && !validate_tag(&driver, "bank", entry->read.tag))
|
||||||
|
@ -158,13 +158,13 @@ public:
|
|||||||
return (m_addrbus_shift > 0) ? ((address << m_addrbus_shift) | ((1 << -m_addrbus_shift) - 1)) : (address >> -m_addrbus_shift);
|
return (m_addrbus_shift > 0) ? ((address << m_addrbus_shift) | ((1 << -m_addrbus_shift) - 1)) : (address >> -m_addrbus_shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * m_name;
|
const char * m_name;
|
||||||
endianness_t m_endianness;
|
endianness_t m_endianness;
|
||||||
UINT8 m_databus_width;
|
UINT8 m_databus_width;
|
||||||
UINT8 m_addrbus_width;
|
UINT8 m_addrbus_width;
|
||||||
INT8 m_addrbus_shift;
|
INT8 m_addrbus_shift;
|
||||||
UINT8 m_logaddr_width;
|
UINT8 m_logaddr_width;
|
||||||
UINT8 m_page_shift;
|
UINT8 m_page_shift;
|
||||||
const addrmap_token *m_internal_map;
|
const addrmap_token *m_internal_map;
|
||||||
const addrmap_token *m_default_map;
|
const addrmap_token *m_default_map;
|
||||||
};
|
};
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
const int MAX_OUTPUTS = 4095; // maximum number of outputs a sound chip can support
|
const int MAX_OUTPUTS = 4095; // maximum number of outputs a sound chip can support
|
||||||
const int ALL_OUTPUTS = MAX_OUTPUTS; // special value indicating all outputs for the current chip
|
const int ALL_OUTPUTS = MAX_OUTPUTS; // special value indicating all outputs for the current chip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ UINT64 device_state_entry::value() const
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// format - return the value of the given
|
// format - return the value of the given
|
||||||
// pieces of indexed state as a string
|
// pieces of indexed state as a string
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
astring &device_state_entry::format(astring &dest, const char *string, bool maxout) const
|
astring &device_state_entry::format(astring &dest, const char *string, bool maxout) const
|
||||||
@ -428,7 +428,7 @@ device_state_interface::~device_state_interface()
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// state_value - return the value of the given
|
// state_value - return the value of the given
|
||||||
// pieces of indexed state as a UINT64
|
// pieces of indexed state as a UINT64
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
UINT64 device_state_interface::state_value(int index)
|
UINT64 device_state_interface::state_value(int index)
|
||||||
@ -449,7 +449,7 @@ UINT64 device_state_interface::state_value(int index)
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// state_string - return the value of the given
|
// state_string - return the value of the given
|
||||||
// pieces of indexed state as a string
|
// pieces of indexed state as a string
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
astring &device_state_interface::state_string(int index, astring &dest)
|
astring &device_state_interface::state_string(int index, astring &dest)
|
||||||
@ -489,7 +489,7 @@ int device_state_interface::state_string_max_length(int index)
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// state_set_value - set the value of the given
|
// state_set_value - set the value of the given
|
||||||
// pieces of indexed state from a UINT64
|
// pieces of indexed state from a UINT64
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void device_state_interface::state_set_value(int index, UINT64 value)
|
void device_state_interface::state_set_value(int index, UINT64 value)
|
||||||
@ -510,7 +510,7 @@ void device_state_interface::state_set_value(int index, UINT64 value)
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// state_set_value - set the value of the given
|
// state_set_value - set the value of the given
|
||||||
// pieces of indexed state from a string
|
// pieces of indexed state from a string
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void device_state_interface::state_set_value(int index, const char *string)
|
void device_state_interface::state_set_value(int index, const char *string)
|
||||||
@ -571,7 +571,7 @@ void device_state_interface::state_string_export(const device_state_entry &entry
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// state_add - return the value of the given
|
// state_add - return the value of the given
|
||||||
// pieces of indexed state as a UINT64
|
// pieces of indexed state as a UINT64
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
device_state_entry &device_state_interface::state_add(int index, const char *symbol, void *data, UINT8 size)
|
device_state_entry &device_state_interface::state_add(int index, const char *symbol, void *data, UINT8 size)
|
||||||
|
@ -963,7 +963,7 @@ DEVICE_GET_INFO(cia6526r1)
|
|||||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(cia); break;
|
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(cia); break;
|
||||||
case DEVINFO_FCT_STOP: /* Nothing */ break;
|
case DEVINFO_FCT_STOP: /* Nothing */ break;
|
||||||
case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(cia); break;
|
case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(cia); break;
|
||||||
// case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVICE_VALIDITY_CHECK_NAME(cia); break;
|
// case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVICE_VALIDITY_CHECK_NAME(cia); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||||
case DEVINFO_STR_NAME: strcpy(info->s, "MOS6526 rev1"); break;
|
case DEVINFO_STR_NAME: strcpy(info->s, "MOS6526 rev1"); break;
|
||||||
|
@ -45,14 +45,14 @@
|
|||||||
|
|
||||||
struct eeprom_interface
|
struct eeprom_interface
|
||||||
{
|
{
|
||||||
UINT8 m_address_bits; // EEPROM has 2^address_bits cells
|
UINT8 m_address_bits; // EEPROM has 2^address_bits cells
|
||||||
UINT8 m_data_bits; // every cell has this many bits (8 or 16)
|
UINT8 m_data_bits; // every cell has this many bits (8 or 16)
|
||||||
const char *m_cmd_read; // read command string, e.g. "0110"
|
const char *m_cmd_read; // read command string, e.g. "0110"
|
||||||
const char *m_cmd_write; // write command string, e.g. "0111"
|
const char *m_cmd_write; // write command string, e.g. "0111"
|
||||||
const char *m_cmd_erase; // erase command string, or 0 if n/a
|
const char *m_cmd_erase; // erase command string, or 0 if n/a
|
||||||
const char *m_cmd_lock; // lock command string, or 0 if n/a
|
const char *m_cmd_lock; // lock command string, or 0 if n/a
|
||||||
const char *m_cmd_unlock; // unlock command string, or 0 if n/a
|
const char *m_cmd_unlock; // unlock command string, or 0 if n/a
|
||||||
bool m_enable_multi_read; // set to 1 to enable multiple values to be read from one read command
|
bool m_enable_multi_read; // set to 1 to enable multiple values to be read from one read command
|
||||||
int m_reset_delay; // number of times eeprom_read_bit() should return 0 after a reset,
|
int m_reset_delay; // number of times eeprom_read_bit() should return 0 after a reset,
|
||||||
// before starting to return 1.
|
// before starting to return 1.
|
||||||
};
|
};
|
||||||
@ -61,7 +61,7 @@ struct eeprom_interface
|
|||||||
|
|
||||||
// ======================> eeprom_device_config
|
// ======================> eeprom_device_config
|
||||||
|
|
||||||
class eeprom_device_config : public device_config,
|
class eeprom_device_config : public device_config,
|
||||||
public device_config_memory_interface,
|
public device_config_memory_interface,
|
||||||
public device_config_nvram_interface,
|
public device_config_nvram_interface,
|
||||||
public eeprom_interface
|
public eeprom_interface
|
||||||
@ -99,14 +99,14 @@ protected:
|
|||||||
// device-specific configuration
|
// device-specific configuration
|
||||||
const UINT8 * m_default_data;
|
const UINT8 * m_default_data;
|
||||||
int m_default_data_size;
|
int m_default_data_size;
|
||||||
UINT32 m_default_value;
|
UINT32 m_default_value;
|
||||||
address_space_config m_space_config;
|
address_space_config m_space_config;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> eeprom_device
|
// ======================> eeprom_device
|
||||||
|
|
||||||
class eeprom_device : public device_t,
|
class eeprom_device : public device_t,
|
||||||
public device_memory_interface,
|
public device_memory_interface,
|
||||||
public device_nvram_interface
|
public device_nvram_interface
|
||||||
{
|
{
|
||||||
@ -142,7 +142,7 @@ protected:
|
|||||||
const eeprom_device_config &m_config;
|
const eeprom_device_config &m_config;
|
||||||
|
|
||||||
int m_serial_count;
|
int m_serial_count;
|
||||||
UINT8 m_serial_buffer[SERIAL_BUFFER_LENGTH];
|
UINT8 m_serial_buffer[SERIAL_BUFFER_LENGTH];
|
||||||
int m_data_bits;
|
int m_data_bits;
|
||||||
int m_read_address;
|
int m_read_address;
|
||||||
int m_clock_count;
|
int m_clock_count;
|
||||||
|
@ -266,7 +266,7 @@ UINT32 intelflash_read(int chip, UINT32 address)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// logerror( "intelflash_read( %d, %08x ) %08x\n", chip, address, data );
|
// logerror( "intelflash_read( %d, %08x ) %08x\n", chip, address, data );
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -281,7 +281,7 @@ void intelflash_write(int chip, UINT32 address, UINT32 data)
|
|||||||
}
|
}
|
||||||
c = &chips[ chip ];
|
c = &chips[ chip ];
|
||||||
|
|
||||||
// logerror( "intelflash_write( %d, %08x, %08x )\n", chip, address, data );
|
// logerror( "intelflash_write( %d, %08x, %08x )\n", chip, address, data );
|
||||||
|
|
||||||
switch( c->flash_mode )
|
switch( c->flash_mode )
|
||||||
{
|
{
|
||||||
@ -443,13 +443,13 @@ void intelflash_write(int chip, UINT32 address, UINT32 data)
|
|||||||
UINT16 *flash_memory = (UINT16 *)c->flash_memory;
|
UINT16 *flash_memory = (UINT16 *)c->flash_memory;
|
||||||
if (c->sector_is_4k)
|
if (c->sector_is_4k)
|
||||||
{
|
{
|
||||||
memset( &flash_memory[ address & ~0x7ff ], 0xff, 4 * 1024 );
|
memset( &flash_memory[ address & ~0x7ff ], 0xff, 4 * 1024 );
|
||||||
c->erase_sector = address & ~0x7ff;
|
c->erase_sector = address & ~0x7ff;
|
||||||
timer_adjust_oneshot( c->timer, ATTOTIME_IN_MSEC( 125 ), 0 );
|
timer_adjust_oneshot( c->timer, ATTOTIME_IN_MSEC( 125 ), 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
memset( &flash_memory[ address & ~0x7fff ], 0xff, 64 * 1024 );
|
memset( &flash_memory[ address & ~0x7fff ], 0xff, 64 * 1024 );
|
||||||
c->erase_sector = address & ~0x7fff;
|
c->erase_sector = address & ~0x7fff;
|
||||||
timer_adjust_oneshot( c->timer, ATTOTIME_IN_SEC( 1 ), 0 );
|
timer_adjust_oneshot( c->timer, ATTOTIME_IN_SEC( 1 ), 0 );
|
||||||
}
|
}
|
||||||
|
@ -47,18 +47,18 @@ const int NOTIMER_3 = (1<<3);
|
|||||||
|
|
||||||
struct z80ctc_interface
|
struct z80ctc_interface
|
||||||
{
|
{
|
||||||
UINT8 m_notimer; // timer disabler mask
|
UINT8 m_notimer; // timer disabler mask
|
||||||
devcb_write_line m_intr; // callback when change interrupt status
|
devcb_write_line m_intr; // callback when change interrupt status
|
||||||
devcb_write_line m_zc0; // ZC/TO0 callback
|
devcb_write_line m_zc0; // ZC/TO0 callback
|
||||||
devcb_write_line m_zc1; // ZC/TO1 callback
|
devcb_write_line m_zc1; // ZC/TO1 callback
|
||||||
devcb_write_line m_zc2; // ZC/TO2 callback
|
devcb_write_line m_zc2; // ZC/TO2 callback
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ======================> z80ctc_device_config
|
// ======================> z80ctc_device_config
|
||||||
|
|
||||||
class z80ctc_device_config : public device_config,
|
class z80ctc_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80ctc_interface
|
public z80ctc_interface
|
||||||
{
|
{
|
||||||
@ -84,7 +84,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80ctc_device
|
// ======================> z80ctc_device
|
||||||
|
|
||||||
class z80ctc_device : public device_t,
|
class z80ctc_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80ctc_device_config;
|
friend class z80ctc_device_config;
|
||||||
|
@ -97,7 +97,7 @@ struct z80dart_interface
|
|||||||
|
|
||||||
// ======================> z80dart_device_config
|
// ======================> z80dart_device_config
|
||||||
|
|
||||||
class z80dart_device_config : public device_config,
|
class z80dart_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80dart_interface
|
public z80dart_interface
|
||||||
{
|
{
|
||||||
@ -123,7 +123,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80dart_device
|
// ======================> z80dart_device
|
||||||
|
|
||||||
class z80dart_device : public device_t,
|
class z80dart_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80dart_device_config;
|
friend class z80dart_device_config;
|
||||||
@ -256,7 +256,7 @@ private:
|
|||||||
// internal state
|
// internal state
|
||||||
const z80dart_device_config & m_config;
|
const z80dart_device_config & m_config;
|
||||||
devcb_resolved_write_line m_out_int_func;
|
devcb_resolved_write_line m_out_int_func;
|
||||||
dart_channel m_channel[2]; // channels
|
dart_channel m_channel[2]; // channels
|
||||||
int m_int_state[8]; // interrupt state
|
int m_int_state[8]; // interrupt state
|
||||||
|
|
||||||
// timers
|
// timers
|
||||||
|
@ -67,8 +67,8 @@ const int TM_SEARCH_TRANSFER = 0x03;
|
|||||||
|
|
||||||
#define LOG 0
|
#define LOG 0
|
||||||
|
|
||||||
#define REGNUM(_m, _s) (((_m)<<3) + (_s))
|
#define REGNUM(_m, _s) (((_m)<<3) + (_s))
|
||||||
#define GET_REGNUM(_r) (&(_r) - &(WR0))
|
#define GET_REGNUM(_r) (&(_r) - &(WR0))
|
||||||
#define REG(_m, _s) m_regs[REGNUM(_m,_s)]
|
#define REG(_m, _s) m_regs[REGNUM(_m,_s)]
|
||||||
#define WR0 REG(0, 0)
|
#define WR0 REG(0, 0)
|
||||||
#define WR1 REG(1, 0)
|
#define WR1 REG(1, 0)
|
||||||
@ -123,7 +123,7 @@ const int TM_SEARCH_TRANSFER = 0x03;
|
|||||||
#define EOB_F_SET (m_status &= ~0x20)
|
#define EOB_F_SET (m_status &= ~0x20)
|
||||||
#define EOB_F_CLEAR (m_status |= 0x20)
|
#define EOB_F_CLEAR (m_status |= 0x20)
|
||||||
|
|
||||||
#define READY_ACTIVE_HIGH ((WR5>>3) & 0x01)
|
#define READY_ACTIVE_HIGH ((WR5>>3) & 0x01)
|
||||||
|
|
||||||
#define INTERRUPT_ENABLE (WR3 & 0x20)
|
#define INTERRUPT_ENABLE (WR3 & 0x20)
|
||||||
#define INT_ON_MATCH (INTERRUPT_CTRL & 0x01)
|
#define INT_ON_MATCH (INTERRUPT_CTRL & 0x01)
|
||||||
|
@ -75,7 +75,7 @@ struct z80dma_interface
|
|||||||
|
|
||||||
// ======================> z80dma_device_config
|
// ======================> z80dma_device_config
|
||||||
|
|
||||||
class z80dma_device_config : public device_config,
|
class z80dma_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80dma_interface
|
public z80dma_interface
|
||||||
{
|
{
|
||||||
@ -101,7 +101,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80dma_device
|
// ======================> z80dma_device
|
||||||
|
|
||||||
class z80dma_device : public device_t,
|
class z80dma_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80dma_device_config;
|
friend class z80dma_device_config;
|
||||||
|
@ -73,7 +73,7 @@ struct z80pio_interface
|
|||||||
|
|
||||||
// ======================> z80pio_device_config
|
// ======================> z80pio_device_config
|
||||||
|
|
||||||
class z80pio_device_config : public device_config,
|
class z80pio_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80pio_interface
|
public z80pio_interface
|
||||||
{
|
{
|
||||||
@ -99,7 +99,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80pio_device
|
// ======================> z80pio_device
|
||||||
|
|
||||||
class z80pio_device : public device_t,
|
class z80pio_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80pio_device_config;
|
friend class z80pio_device_config;
|
||||||
@ -201,7 +201,7 @@ private:
|
|||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
const z80pio_device_config &m_config;
|
const z80pio_device_config &m_config;
|
||||||
pio_port m_port[2];
|
pio_port m_port[2];
|
||||||
devcb_resolved_write_line m_out_int_func;
|
devcb_resolved_write_line m_out_int_func;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ struct z80sio_interface
|
|||||||
|
|
||||||
// ======================> z80sio_device_config
|
// ======================> z80sio_device_config
|
||||||
|
|
||||||
class z80sio_device_config : public device_config,
|
class z80sio_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80sio_interface
|
public z80sio_interface
|
||||||
{
|
{
|
||||||
@ -70,7 +70,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80sio_device
|
// ======================> z80sio_device
|
||||||
|
|
||||||
class z80sio_device : public device_t,
|
class z80sio_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80sio_device_config;
|
friend class z80sio_device_config;
|
||||||
|
@ -92,7 +92,7 @@ struct z80sti_interface
|
|||||||
|
|
||||||
// ======================> z80sti_device_config
|
// ======================> z80sti_device_config
|
||||||
|
|
||||||
class z80sti_device_config : public device_config,
|
class z80sti_device_config : public device_config,
|
||||||
public device_config_z80daisy_interface,
|
public device_config_z80daisy_interface,
|
||||||
public z80sti_interface
|
public z80sti_interface
|
||||||
{
|
{
|
||||||
@ -118,7 +118,7 @@ protected:
|
|||||||
|
|
||||||
// ======================> z80sti_device
|
// ======================> z80sti_device
|
||||||
|
|
||||||
class z80sti_device : public device_t,
|
class z80sti_device : public device_t,
|
||||||
public device_z80daisy_interface
|
public device_z80daisy_interface
|
||||||
{
|
{
|
||||||
friend class z80sti_device_config;
|
friend class z80sti_device_config;
|
||||||
|
@ -280,7 +280,7 @@ int mame_execute(core_options *options)
|
|||||||
/* load the configuration settings and NVRAM */
|
/* load the configuration settings and NVRAM */
|
||||||
settingsloaded = config_load_settings(machine);
|
settingsloaded = config_load_settings(machine);
|
||||||
nvram_load(machine);
|
nvram_load(machine);
|
||||||
sound_mute(machine, FALSE);
|
sound_mute(machine, FALSE);
|
||||||
|
|
||||||
/* display the startup screens */
|
/* display the startup screens */
|
||||||
ui_display_startup_screens(machine, firstrun, !settingsloaded);
|
ui_display_startup_screens(machine, firstrun, !settingsloaded);
|
||||||
|
@ -6,32 +6,32 @@
|
|||||||
|
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
|
|
||||||
Library to transcode from an ADPCM source to raw PCM.
|
Library to transcode from an ADPCM source to raw PCM.
|
||||||
Written by Buffoni Mirko in 08/06/97
|
Written by Buffoni Mirko in 08/06/97
|
||||||
References: various sources and documents.
|
References: various sources and documents.
|
||||||
|
|
||||||
R. Belmont 31/10/2003
|
R. Belmont 31/10/2003
|
||||||
Updated to allow a driver to use both MSM6295s and "raw" ADPCM voices
|
Updated to allow a driver to use both MSM6295s and "raw" ADPCM voices
|
||||||
(gcpinbal). Also added some error trapping for MAME_DEBUG builds
|
(gcpinbal). Also added some error trapping for MAME_DEBUG builds
|
||||||
|
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
|
|
||||||
OKIM 6295 ADPCM chip:
|
OKIM 6295 ADPCM chip:
|
||||||
|
|
||||||
Command bytes are sent:
|
Command bytes are sent:
|
||||||
|
|
||||||
1xxx xxxx = start of 2-byte command sequence, xxxxxxx is the sample
|
1xxx xxxx = start of 2-byte command sequence, xxxxxxx is the sample
|
||||||
number to trigger
|
number to trigger
|
||||||
abcd vvvv = second half of command; one of the abcd bits is set to
|
abcd vvvv = second half of command; one of the abcd bits is set to
|
||||||
indicate which voice the v bits seem to be volumed
|
indicate which voice the v bits seem to be volumed
|
||||||
|
|
||||||
0abc d000 = stop playing; one or more of the abcd bits is set to
|
0abc d000 = stop playing; one or more of the abcd bits is set to
|
||||||
indicate which voice(s)
|
indicate which voice(s)
|
||||||
|
|
||||||
Status is read:
|
Status is read:
|
||||||
|
|
||||||
???? abcd = one bit per voice, set to 0 if nothing is playing, or
|
???? abcd = one bit per voice, set to 0 if nothing is playing, or
|
||||||
1 if it is active
|
1 if it is active
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ private:
|
|||||||
|
|
||||||
// ======================> okim6295_device_config
|
// ======================> okim6295_device_config
|
||||||
|
|
||||||
class okim6295_device_config : public device_config,
|
class okim6295_device_config : public device_config,
|
||||||
public device_config_sound_interface,
|
public device_config_sound_interface,
|
||||||
public device_config_memory_interface
|
public device_config_memory_interface
|
||||||
{
|
{
|
||||||
@ -105,7 +105,7 @@ protected:
|
|||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
const address_space_config m_space_config;
|
const address_space_config m_space_config;
|
||||||
UINT8 m_pin7;
|
UINT8 m_pin7;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -147,11 +147,11 @@ protected:
|
|||||||
void generate_adpcm(const address_space *space, stream_sample_t *buffer, int samples);
|
void generate_adpcm(const address_space *space, stream_sample_t *buffer, int samples);
|
||||||
|
|
||||||
adpcm_state m_adpcm; // current ADPCM state
|
adpcm_state m_adpcm; // current ADPCM state
|
||||||
bool m_playing;
|
bool m_playing;
|
||||||
offs_t m_base_offset; // pointer to the base memory location
|
offs_t m_base_offset; // pointer to the base memory location
|
||||||
UINT32 m_sample; // current sample number
|
UINT32 m_sample; // current sample number
|
||||||
UINT32 m_count; // total samples to play
|
UINT32 m_count; // total samples to play
|
||||||
INT8 m_volume; // output volume
|
INT8 m_volume; // output volume
|
||||||
};
|
};
|
||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
@ -159,10 +159,10 @@ protected:
|
|||||||
|
|
||||||
const okim6295_device_config &m_config;
|
const okim6295_device_config &m_config;
|
||||||
|
|
||||||
okim_voice m_voice[OKIM6295_VOICES];
|
okim_voice m_voice[OKIM6295_VOICES];
|
||||||
INT32 m_command;
|
INT32 m_command;
|
||||||
bool m_bank_installed;
|
bool m_bank_installed;
|
||||||
offs_t m_bank_offs;
|
offs_t m_bank_offs;
|
||||||
sound_stream * m_stream;
|
sound_stream * m_stream;
|
||||||
UINT8 m_pin7_state;
|
UINT8 m_pin7_state;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include "devlegcy.h"
|
#include "devlegcy.h"
|
||||||
|
|
||||||
int s14001a_bsy_r(running_device *device); /* read BUSY pin */
|
int s14001a_bsy_r(running_device *device); /* read BUSY pin */
|
||||||
void s14001a_reg_w(running_device *device, int data); /* write to input latch */
|
void s14001a_reg_w(running_device *device, int data); /* write to input latch */
|
||||||
void s14001a_rst_w(running_device *device, int data); /* write to RESET pin */
|
void s14001a_rst_w(running_device *device, int data); /* write to RESET pin */
|
||||||
void s14001a_set_clock(running_device *device, int clock); /* set VSU-1000 clock */
|
void s14001a_set_clock(running_device *device, int clock); /* set VSU-1000 clock */
|
||||||
|
@ -1132,8 +1132,8 @@ static DEVICE_RESET( tms5110 )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* no dummy read! This makes bagman and ad2083 speech fail
|
/* no dummy read! This makes bagman and ad2083 speech fail
|
||||||
* with the new cycle and transition exact interfaces
|
* with the new cycle and transition exact interfaces
|
||||||
*/
|
*/
|
||||||
tms->schedule_dummy_read = FALSE;
|
tms->schedule_dummy_read = FALSE;
|
||||||
}
|
}
|
||||||
tms->addr_bit = 0;
|
tms->addr_bit = 0;
|
||||||
@ -1480,14 +1480,14 @@ WRITE_LINE_DEVICE_HANDLER( tmsprom_enable_w )
|
|||||||
update_prom_cnt(tms);
|
update_prom_cnt(tms);
|
||||||
|
|
||||||
/* the following is needed for ad2084.
|
/* the following is needed for ad2084.
|
||||||
* It is difficult to derive the actual connections from
|
* It is difficult to derive the actual connections from
|
||||||
* pcb pictures but the reset pin of the LS393 driving
|
* pcb pictures but the reset pin of the LS393 driving
|
||||||
* the prom address line is connected somewhere.
|
* the prom address line is connected somewhere.
|
||||||
*
|
*
|
||||||
* This does not affect bagman. It just simulates that a
|
* This does not affect bagman. It just simulates that a
|
||||||
* write to ads3 is always happening when the four lower
|
* write to ads3 is always happening when the four lower
|
||||||
* counter bits are 0!
|
* counter bits are 0!
|
||||||
*/
|
*/
|
||||||
if (state)
|
if (state)
|
||||||
tms->prom_cnt &= 0x10;
|
tms->prom_cnt &= 0x10;
|
||||||
}
|
}
|
||||||
|
@ -1652,15 +1652,15 @@ WRITE_LINE_DEVICE_HANDLER( tms5220_wsq_w )
|
|||||||
tms->io_ready = 0;
|
tms->io_ready = 0;
|
||||||
update_ready_state(tms);
|
update_ready_state(tms);
|
||||||
/* Now comes the complicated part: long does /READY stay inactive, when /WS is pulled low? This depends ENTIRELY on the command written, or whether the chip is in speak external mode or not...
|
/* Now comes the complicated part: long does /READY stay inactive, when /WS is pulled low? This depends ENTIRELY on the command written, or whether the chip is in speak external mode or not...
|
||||||
Speak external mode: ~16 cycles
|
Speak external mode: ~16 cycles
|
||||||
Command Mode:
|
Command Mode:
|
||||||
SPK: ? cycles
|
SPK: ? cycles
|
||||||
SPKEXT: ? cycles
|
SPKEXT: ? cycles
|
||||||
RDBY: between 60 and 140 cycles
|
RDBY: between 60 and 140 cycles
|
||||||
RB: ? cycles (80?)
|
RB: ? cycles (80?)
|
||||||
RST: between 60 and 140 cycles
|
RST: between 60 and 140 cycles
|
||||||
SET RATE (5220C only): ? cycles (probably ~16)
|
SET RATE (5220C only): ? cycles (probably ~16)
|
||||||
*/
|
*/
|
||||||
// TODO: actually HANDLE the timing differences! currently just assuming always 16 cycles
|
// TODO: actually HANDLE the timing differences! currently just assuming always 16 cycles
|
||||||
timer_set(tms->device->machine, ATTOTIME_IN_HZ(device->clock()/16), tms, 1, io_ready_cb); // this should take around 10-16 (closer to ~15) cycles to complete for fifo writes, TODO: but actually depends on what command is written if in command mode
|
timer_set(tms->device->machine, ATTOTIME_IN_HZ(device->clock()/16), tms, 1, io_ready_cb); // this should take around 10-16 (closer to ~15) cycles to complete for fifo writes, TODO: but actually depends on what command is written if in command mode
|
||||||
}
|
}
|
||||||
|
@ -264,7 +264,7 @@ private:
|
|||||||
virtual bool device_validity_check(const game_driver &driver) const;
|
virtual bool device_validity_check(const game_driver &driver) const;
|
||||||
|
|
||||||
// configuration data
|
// configuration data
|
||||||
timer_type m_type; // type of timer
|
timer_type m_type; // type of timer
|
||||||
timer_device_fired_func m_callback; // the timer's callback function
|
timer_device_fired_func m_callback; // the timer's callback function
|
||||||
void * m_ptr; // the pointer parameter passed to the timer callback
|
void * m_ptr; // the pointer parameter passed to the timer callback
|
||||||
|
|
||||||
|
@ -1754,7 +1754,7 @@ void screen_device_config::device_config_complete()
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_validity_check - verify device
|
// device_validity_check - verify device
|
||||||
// configuration
|
// configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
bool screen_device_config::device_validity_check(const game_driver &driver) const
|
bool screen_device_config::device_validity_check(const game_driver &driver) const
|
||||||
|
@ -137,7 +137,7 @@ private:
|
|||||||
virtual bool device_validity_check(const game_driver &driver) const;
|
virtual bool device_validity_check(const game_driver &driver) const;
|
||||||
|
|
||||||
// configuration data
|
// configuration data
|
||||||
screen_type_enum m_type; // type of screen
|
screen_type_enum m_type; // type of screen
|
||||||
int m_width, m_height; // default total width/height (HTOTAL, VTOTAL)
|
int m_width, m_height; // default total width/height (HTOTAL, VTOTAL)
|
||||||
rectangle m_visarea; // default visible area (HBLANK end/start, VBLANK end/start)
|
rectangle m_visarea; // default visible area (HBLANK end/start, VBLANK end/start)
|
||||||
bool m_oldstyle_vblank_supplied; // MDRV_SCREEN_VBLANK_TIME macro used
|
bool m_oldstyle_vblank_supplied; // MDRV_SCREEN_VBLANK_TIME macro used
|
||||||
@ -264,7 +264,7 @@ private:
|
|||||||
struct callback_item
|
struct callback_item
|
||||||
{
|
{
|
||||||
callback_item * m_next;
|
callback_item * m_next;
|
||||||
vblank_state_changed_func m_callback;
|
vblank_state_changed_func m_callback;
|
||||||
void * m_param;
|
void * m_param;
|
||||||
};
|
};
|
||||||
callback_item * m_callback_list; // list of VBLANK callbacks
|
callback_item * m_callback_list; // list of VBLANK callbacks
|
||||||
|
@ -1032,7 +1032,7 @@ DEVICE_GET_INFO( mc6845 )
|
|||||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(mc6845); break;
|
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(mc6845); break;
|
||||||
case DEVINFO_FCT_STOP: /* Nothing */ break;
|
case DEVINFO_FCT_STOP: /* Nothing */ break;
|
||||||
case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(mc6845); break;
|
case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(mc6845); break;
|
||||||
// case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVICE_VALIDITY_CHECK_NAME(mc6845); break;
|
// case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVICE_VALIDITY_CHECK_NAME(mc6845); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||||
case DEVINFO_STR_NAME: strcpy(info->s, "Motorola 6845"); break;
|
case DEVINFO_STR_NAME: strcpy(info->s, "Motorola 6845"); break;
|
||||||
|
@ -569,7 +569,7 @@ const char *cdrom_get_type_string(UINT32 trktype)
|
|||||||
{
|
{
|
||||||
switch (trktype)
|
switch (trktype)
|
||||||
{
|
{
|
||||||
case CD_TRACK_MODE1: return "MODE1";
|
case CD_TRACK_MODE1: return "MODE1";
|
||||||
case CD_TRACK_MODE1_RAW: return "MODE1_RAW";
|
case CD_TRACK_MODE1_RAW: return "MODE1_RAW";
|
||||||
case CD_TRACK_MODE2: return "MODE2";
|
case CD_TRACK_MODE2: return "MODE2";
|
||||||
case CD_TRACK_MODE2_FORM1: return "MODE2_FORM1";
|
case CD_TRACK_MODE2_FORM1: return "MODE2_FORM1";
|
||||||
|
@ -206,7 +206,7 @@ void scramble_sh_init(running_machine *machine)
|
|||||||
Q6 ==> Reset Counters (LS393)
|
Q6 ==> Reset Counters (LS393)
|
||||||
Q7 ==> Trigger Logic
|
Q7 ==> Trigger Logic
|
||||||
|
|
||||||
only 16 bytes needed ... The original dump is bad. This
|
only 16 bytes needed ... The original dump is bad. This
|
||||||
is what is needed to get speech to work. The prom data has
|
is what is needed to get speech to work. The prom data has
|
||||||
been updated and marked as BAD_DUMP. The information below
|
been updated and marked as BAD_DUMP. The information below
|
||||||
is given for reference once another dump should surface.
|
is given for reference once another dump should surface.
|
||||||
|
@ -2193,16 +2193,16 @@ static DRIVER_INIT( vortex )
|
|||||||
{
|
{
|
||||||
UINT32 addr = x;
|
UINT32 addr = x;
|
||||||
/*
|
/*
|
||||||
A15 A14 A13 A0 A3 A9
|
A15 A14 A13 A0 A3 A9
|
||||||
0 0 0 I I I
|
0 0 0 I I I
|
||||||
0 0 1 I I I
|
0 0 1 I I I
|
||||||
0 1 0 N N N
|
0 1 0 N N N
|
||||||
0 1 1 N I I
|
0 1 1 N I I
|
||||||
1 0 0 N I I
|
1 0 0 N I I
|
||||||
1 0 1 N I I
|
1 0 1 N I I
|
||||||
1 1 0 N I I
|
1 1 0 N I I
|
||||||
1 1 1 N I I
|
1 1 1 N I I
|
||||||
*/
|
*/
|
||||||
switch (x&0xE000) // inputs are A13 A14 A15
|
switch (x&0xE000) // inputs are A13 A14 A15
|
||||||
{
|
{
|
||||||
case 0x0000: case 0x2000: // A0 A3 A9
|
case 0x0000: case 0x2000: // A0 A3 A9
|
||||||
@ -2215,14 +2215,14 @@ static DRIVER_INIT( vortex )
|
|||||||
addr ^= 0x0208;
|
addr ^= 0x0208;
|
||||||
break;
|
break;
|
||||||
/*
|
/*
|
||||||
case 0x0000: case 0x2000: // A0 A3 A9
|
case 0x0000: case 0x2000: // A0 A3 A9
|
||||||
addr ^= 0x0001;
|
addr ^= 0x0001;
|
||||||
break;
|
break;
|
||||||
case 0x4000:
|
case 0x4000:
|
||||||
addr ^= 0x0208;
|
addr ^= 0x0208;
|
||||||
break;
|
break;
|
||||||
case 0x6000: case 0x8000: case 0xa000: case 0xc000: case 0xe000:
|
case 0x6000: case 0x8000: case 0xa000: case 0xc000: case 0xe000:
|
||||||
break;*/
|
break;*/
|
||||||
}
|
}
|
||||||
buf1[addr] = rom[x];
|
buf1[addr] = rom[x];
|
||||||
}
|
}
|
||||||
|
@ -126,10 +126,10 @@ static WRITE16_DEVICE_HANDLER( pspikesb_oki_banking_w )
|
|||||||
static WRITE16_DEVICE_HANDLER( aerfboo2_okim6295_banking_w )
|
static WRITE16_DEVICE_HANDLER( aerfboo2_okim6295_banking_w )
|
||||||
{
|
{
|
||||||
// if(ACCESSING_BITS_8_15)
|
// if(ACCESSING_BITS_8_15)
|
||||||
// {
|
// {
|
||||||
// okim6295_device *oki = downcast<okim6295_device *>(device);
|
// okim6295_device *oki = downcast<okim6295_device *>(device);
|
||||||
// oki->set_bank_base(0x40000 * ((data & 0xf00)>>8));
|
// oki->set_bank_base(0x40000 * ((data & 0xf00)>>8));
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( aerfboot_okim6295_banking_w )
|
static WRITE8_HANDLER( aerfboot_okim6295_banking_w )
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
Driver by Pierpaolo Prazzoli
|
Driver by Pierpaolo Prazzoli
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- is the background color pen correct for both games? (Dacholer probably
|
- is the background color pen correct for both games? (Dacholer probably
|
||||||
just use a different color prom data)
|
just use a different color prom data)
|
||||||
|
|
||||||
Mods by Tomasz Slanina (2008.06.12):
|
Mods by Tomasz Slanina (2008.06.12):
|
||||||
- fixed sound cpu interrupts (mode 2 (two vectors)+ nmi)
|
- fixed sound cpu interrupts (mode 2 (two vectors)+ nmi)
|
||||||
|
@ -36,8 +36,8 @@ static VIDEO_UPDATE(kongambl)
|
|||||||
bitmap_fill(bitmap, cliprect, 0);
|
bitmap_fill(bitmap, cliprect, 0);
|
||||||
bitmap_fill(screen->machine->priority_bitmap, cliprect, 0);
|
bitmap_fill(screen->machine->priority_bitmap, cliprect, 0);
|
||||||
|
|
||||||
// k056832_tilemap_draw(k056832, bitmap, cliprect, 3, 0, 0);
|
// k056832_tilemap_draw(k056832, bitmap, cliprect, 3, 0, 0);
|
||||||
// k056832_tilemap_draw(k056832, bitmap, cliprect, 2, 0, 0);
|
// k056832_tilemap_draw(k056832, bitmap, cliprect, 2, 0, 0);
|
||||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 1, 0, 0);
|
k056832_tilemap_draw(k056832, bitmap, cliprect, 1, 0, 0);
|
||||||
k056832_tilemap_draw(k056832, bitmap, cliprect, 0, 0, 0);
|
k056832_tilemap_draw(k056832, bitmap, cliprect, 0, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -531,7 +531,7 @@ static INPUT_PORTS_START( aliencha )
|
|||||||
PORT_DIPSETTING( 0x01, "3" )
|
PORT_DIPSETTING( 0x01, "3" )
|
||||||
PORT_DIPSETTING( 0x02, "4" )
|
PORT_DIPSETTING( 0x02, "4" )
|
||||||
PORT_DIPSETTING( 0x03, "6" )
|
PORT_DIPSETTING( 0x03, "6" )
|
||||||
// PORT_DIPSETTING( 0x00, "6" )
|
// PORT_DIPSETTING( 0x00, "6" )
|
||||||
PORT_DIPNAME( 0x04, 0x04, "Vs. Rounds" )
|
PORT_DIPNAME( 0x04, 0x04, "Vs. Rounds" )
|
||||||
PORT_DIPSETTING( 0x00, "3" )
|
PORT_DIPSETTING( 0x00, "3" )
|
||||||
PORT_DIPSETTING( 0x04, "5" )
|
PORT_DIPSETTING( 0x04, "5" )
|
||||||
|
@ -283,11 +283,11 @@ static VIDEO_UPDATE(luckgrln)
|
|||||||
if (clip.max_x>visarea.max_x) clip.max_x = visarea.max_x;
|
if (clip.max_x>visarea.max_x) clip.max_x = visarea.max_x;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
luck_vram1 tttt tttt (t = low tile bits)
|
luck_vram1 tttt tttt (t = low tile bits)
|
||||||
luck_vram2 tttt ppp? (t = high tile bits) (p = pal select)?
|
luck_vram2 tttt ppp? (t = high tile bits) (p = pal select)?
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
tile |= (tile_high & 0xf0) << 4;
|
tile |= (tile_high & 0xf0) << 4;
|
||||||
if (tileattr & 0x02) tile |= 0x1000;
|
if (tileattr & 0x02) tile |= 0x1000;
|
||||||
@ -356,7 +356,7 @@ static ADDRESS_MAP_START( mainmap, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x0ce00, 0x0cfff) AM_RAM_WRITE(luckgrln_reel4_attr_w) AM_BASE(&reel4_attr)
|
AM_RANGE(0x0ce00, 0x0cfff) AM_RAM_WRITE(luckgrln_reel4_attr_w) AM_BASE(&reel4_attr)
|
||||||
AM_RANGE(0x0d600, 0x0d63f) AM_RAM AM_BASE(&reel4_scroll)
|
AM_RANGE(0x0d600, 0x0d63f) AM_RAM AM_BASE(&reel4_scroll)
|
||||||
|
|
||||||
// AM_RANGE(0x0d200, 0x0d2ff) AM_RAM
|
// AM_RANGE(0x0d200, 0x0d2ff) AM_RAM
|
||||||
|
|
||||||
|
|
||||||
AM_RANGE(0x0d800, 0x0dfff) AM_RAM // nvram
|
AM_RANGE(0x0d800, 0x0dfff) AM_RAM // nvram
|
||||||
|
@ -118,11 +118,11 @@ static READ8_HANDLER( pang_port5_r )
|
|||||||
int bit = eeprom_read_bit(devtag_get_device(space->machine, "eeprom")) << 7;
|
int bit = eeprom_read_bit(devtag_get_device(space->machine, "eeprom")) << 7;
|
||||||
|
|
||||||
/* bits 0 and (sometimes) 3 are checked in the interrupt handler.
|
/* bits 0 and (sometimes) 3 are checked in the interrupt handler.
|
||||||
bit 3 is checked before updating the palette so it really seems to be vblank.
|
bit 3 is checked before updating the palette so it really seems to be vblank.
|
||||||
bit 0 may be vblank (or vblank irq flag) related too, but I'm not sure.
|
bit 0 may be vblank (or vblank irq flag) related too, but I'm not sure.
|
||||||
Many games require two interrupts per frame and for these bits to toggle,
|
Many games require two interrupts per frame and for these bits to toggle,
|
||||||
otherwise music doesn't work.
|
otherwise music doesn't work.
|
||||||
*/
|
*/
|
||||||
if (cpu_getiloops(space->cpu) & 1)
|
if (cpu_getiloops(space->cpu) & 1)
|
||||||
bit |= 0x01;
|
bit |= 0x01;
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
almost OK
|
almost OK
|
||||||
---------
|
---------
|
||||||
overrev: sound CPU crashes.
|
overrev: sound CPU crashes.
|
||||||
vstriker: shows some attract mode, then hangs
|
vstriker: shows some attract mode, then hangs
|
||||||
manxtt: no escape from "active motion slider" tutorial (needs analog inputs), bypass it by entering then exiting service mode
|
manxtt: no escape from "active motion slider" tutorial (needs analog inputs), bypass it by entering then exiting service mode
|
||||||
manxtt: crashes after the title screen, the TGP is the cause
|
manxtt: crashes after the title screen, the TGP is the cause
|
||||||
@ -51,37 +51,37 @@
|
|||||||
======================================================================================================================================
|
======================================================================================================================================
|
||||||
|
|
||||||
Sega Model 2 Feedback Driver Board
|
Sega Model 2 Feedback Driver Board
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
|
|
||||||
PCB Layout
|
PCB Layout
|
||||||
----------
|
----------
|
||||||
|
|
||||||
SJ25-0207-01
|
SJ25-0207-01
|
||||||
838-10646 (Daytona)
|
838-10646 (Daytona)
|
||||||
838-11661 (Sega Rally)
|
838-11661 (Sega Rally)
|
||||||
|---------------------------------------------|
|
|---------------------------------------------|
|
||||||
| 7-SEG-LED 7-SEG-LED |
|
| 7-SEG-LED 7-SEG-LED |
|
||||||
| |
|
| |
|
||||||
| 315-5296 315-5296 |
|
| 315-5296 315-5296 |
|
||||||
| DSW(8) |
|
| DSW(8) |
|
||||||
| M6253 MB3759 |
|
| M6253 MB3759 |
|
||||||
| |
|
| |
|
||||||
| GAL.IC23 ROM.IC12 |
|
| GAL.IC23 ROM.IC12 |
|
||||||
| |
|
| |
|
||||||
| Z80 |
|
| Z80 |
|
||||||
|8MHz MB3771 MB3771 8464 |
|
|8MHz MB3771 MB3771 8464 |
|
||||||
|---------------------------------------------|
|
|---------------------------------------------|
|
||||||
Notes:
|
Notes:
|
||||||
Z80 - clock 4.000MHz [8/2]
|
Z80 - clock 4.000MHz [8/2]
|
||||||
8464 - 8k x8 SRAM
|
8464 - 8k x8 SRAM
|
||||||
ROM.IC12 - EPR-16488A for Daytona
|
ROM.IC12 - EPR-16488A for Daytona
|
||||||
EPR-17891 for Sega Rally
|
EPR-17891 for Sega Rally
|
||||||
GAL - Lattice GAL16V8B stamped 315-5625 common to both Daytona and Sega Rally
|
GAL - Lattice GAL16V8B stamped 315-5625 common to both Daytona and Sega Rally
|
||||||
DSW(8) - 8-Position dip switch, all OFF
|
DSW(8) - 8-Position dip switch, all OFF
|
||||||
M6253 - Oki M6253
|
M6253 - Oki M6253
|
||||||
315-5296 - Sega Custom QFP100
|
315-5296 - Sega Custom QFP100
|
||||||
plus several transistors, resistors, a couple of relays and 8 connectors.
|
plus several transistors, resistors, a couple of relays and 8 connectors.
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -514,71 +514,71 @@ static CUSTOM_INPUT( _1c0001c_r )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Rail Chase 2 "Drive I/O BD" documentation
|
Rail Chase 2 "Drive I/O BD" documentation
|
||||||
|
|
||||||
I'm fairly sure that this is actually controlled by a CPU with undumped program code.
|
I'm fairly sure that this is actually controlled by a CPU with undumped program code.
|
||||||
|
|
||||||
commands 0x2* are for device status bits (all of them active low)
|
commands 0x2* are for device status bits (all of them active low)
|
||||||
|
|
||||||
command 0x27 (4 port valve rear cylinder)
|
command 0x27 (4 port valve rear cylinder)
|
||||||
---- --xx Cylinder Position (00 - neutral, 01 - up, 10 - down, 11 - error)
|
---- --xx Cylinder Position (00 - neutral, 01 - up, 10 - down, 11 - error)
|
||||||
|
|
||||||
command 0x29
|
command 0x29
|
||||||
---- -x-- Compressor Motor
|
---- -x-- Compressor Motor
|
||||||
---- --x- Unloader Valve
|
---- --x- Unloader Valve
|
||||||
---- ---x Compression Valve
|
---- ---x Compression Valve
|
||||||
|
|
||||||
command 0x2a (4 port valve left cylinder)
|
command 0x2a (4 port valve left cylinder)
|
||||||
---- -x-- Rev Valve
|
---- -x-- Rev Valve
|
||||||
---- --x- Down Valve
|
---- --x- Down Valve
|
||||||
---- ---x Up Valve
|
---- ---x Up Valve
|
||||||
|
|
||||||
command 0x2b (4 port valve right cylinder)
|
command 0x2b (4 port valve right cylinder)
|
||||||
---- -x-- Rev Valve
|
---- -x-- Rev Valve
|
||||||
---- --x- Down Valve
|
---- --x- Down Valve
|
||||||
---- ---x Up Valve
|
---- ---x Up Valve
|
||||||
|
|
||||||
command 0x2e
|
command 0x2e
|
||||||
---- --xx Compression SW (00 - error, 01 - low, 10 - high, 11 - error)
|
---- --xx Compression SW (00 - error, 01 - low, 10 - high, 11 - error)
|
||||||
|
|
||||||
command 0x2f
|
command 0x2f
|
||||||
---- x--- Emergency SW
|
---- x--- Emergency SW
|
||||||
---- ---x Safety Sensor
|
---- ---x Safety Sensor
|
||||||
|
|
||||||
These are all used on network check, probably some specific data port R/Ws
|
These are all used on network check, probably some specific data port R/Ws
|
||||||
|
|
||||||
command 0x3b
|
command 0x3b
|
||||||
command 0xe0
|
command 0xe0
|
||||||
command 0xd0
|
command 0xd0
|
||||||
command 0xb0
|
command 0xb0
|
||||||
command 0x70
|
command 0x70
|
||||||
command 0x0e
|
command 0x0e
|
||||||
command 0x0d
|
command 0x0d
|
||||||
command 0x0b
|
command 0x0b
|
||||||
command 0x07
|
command 0x07
|
||||||
|
|
||||||
Every other write of this controls devices behaviour:
|
Every other write of this controls devices behaviour:
|
||||||
|
|
||||||
command 0x4f (left up valve off)
|
command 0x4f (left up valve off)
|
||||||
command 0x5b (left down valve off)
|
command 0x5b (left down valve off)
|
||||||
command 0x5d (compression valve on)
|
command 0x5d (compression valve on)
|
||||||
command 0x5e (left rev valve on)
|
command 0x5e (left rev valve on)
|
||||||
command 0x5f (left Cylinder reset)
|
command 0x5f (left Cylinder reset)
|
||||||
|
|
||||||
command 0x6f (right up valve off)
|
command 0x6f (right up valve off)
|
||||||
command 0x7b (right down valve off)
|
command 0x7b (right down valve off)
|
||||||
command 0x7d (compression valve on)
|
command 0x7d (compression valve on)
|
||||||
command 0x7e (right rev valve on)
|
command 0x7e (right rev valve on)
|
||||||
command 0x7f (right Cylinder reset)
|
command 0x7f (right Cylinder reset)
|
||||||
|
|
||||||
command 0x84 (reset up/down valves of rear cylinder)
|
command 0x84 (reset up/down valves of rear cylinder)
|
||||||
command 0x85 (rear up valve on)
|
command 0x85 (rear up valve on)
|
||||||
command 0x86 (rear down valve on)
|
command 0x86 (rear down valve on)
|
||||||
|
|
||||||
command 0x8b (compression valve on)
|
command 0x8b (compression valve on)
|
||||||
command 0x8d (left rev valve is on)
|
command 0x8d (left rev valve is on)
|
||||||
command 0x8e (right rev valve is on)
|
command 0x8e (right rev valve is on)
|
||||||
command 0x8f (reset 4 port valve left / right cylinders and compression valve)
|
command 0x8f (reset 4 port valve left / right cylinders and compression valve)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -592,9 +592,9 @@ static CUSTOM_INPUT( rchase2_devices_r )
|
|||||||
static WRITE32_HANDLER( rchase2_devices_w )
|
static WRITE32_HANDLER( rchase2_devices_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
0x00040000 start 1 lamp
|
0x00040000 start 1 lamp
|
||||||
0x00080000 start 2 lamp
|
0x00080000 start 2 lamp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(mem_mask == 0x0000ffff)
|
if(mem_mask == 0x0000ffff)
|
||||||
cmd_data = data;
|
cmd_data = data;
|
||||||
@ -605,10 +605,10 @@ static UINT8 driveio_comm_data;
|
|||||||
static WRITE32_HANDLER( srallyc_devices_w )
|
static WRITE32_HANDLER( srallyc_devices_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
0x00040000 start 1 lamp
|
0x00040000 start 1 lamp
|
||||||
0x00200000 vr lamp
|
0x00200000 vr lamp
|
||||||
0x00800000 leader lamp
|
0x00800000 leader lamp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(mem_mask == 0x000000ff || mem_mask == 0x0000ffff)
|
if(mem_mask == 0x000000ff || mem_mask == 0x0000ffff)
|
||||||
{
|
{
|
||||||
@ -2120,8 +2120,8 @@ static READ8_HANDLER( driveio_port_r )
|
|||||||
|
|
||||||
static WRITE8_HANDLER( driveio_port_w )
|
static WRITE8_HANDLER( driveio_port_w )
|
||||||
{
|
{
|
||||||
// TODO: hook up to the main CPU
|
// TODO: hook up to the main CPU
|
||||||
// popmessage("%02x",data);
|
// popmessage("%02x",data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static READ8_HANDLER( driveio_port_str_r )
|
static READ8_HANDLER( driveio_port_str_r )
|
||||||
@ -2152,7 +2152,7 @@ static MACHINE_DRIVER_START( srallyc )
|
|||||||
MDRV_CPU_ADD("drivecpu", Z80, 16000000/4) //???
|
MDRV_CPU_ADD("drivecpu", Z80, 16000000/4) //???
|
||||||
MDRV_CPU_PROGRAM_MAP(drive_map)
|
MDRV_CPU_PROGRAM_MAP(drive_map)
|
||||||
MDRV_CPU_IO_MAP(drive_io_map)
|
MDRV_CPU_IO_MAP(drive_io_map)
|
||||||
// MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
// MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||||
MACHINE_DRIVER_END
|
MACHINE_DRIVER_END
|
||||||
|
|
||||||
static const sharc_config sharc_cfg =
|
static const sharc_config sharc_cfg =
|
||||||
|
@ -1088,7 +1088,7 @@ ROM_START( ptblank ) /* World set using 4Mb sound data rom (verified) */
|
|||||||
ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) )
|
ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) )
|
||||||
|
|
||||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
||||||
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||||
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||||
|
|
||||||
ROM_REGION( 0x200000, "c352", 0 )
|
ROM_REGION( 0x200000, "c352", 0 )
|
||||||
@ -1119,7 +1119,7 @@ ROM_START( gunbuletw ) /* World set using 4Mb sound data rom (verified) */
|
|||||||
ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) )
|
ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) )
|
||||||
|
|
||||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
||||||
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
// ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||||
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||||
|
|
||||||
ROM_REGION( 0x200000, "c352", 0 )
|
ROM_REGION( 0x200000, "c352", 0 )
|
||||||
@ -1151,7 +1151,7 @@ ROM_START( gunbuletj ) /* Japanese set using 1Mb sound data rom (verified) */
|
|||||||
|
|
||||||
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either rom is correct */
|
||||||
ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb rom at 0x00000-0x1ffff */
|
||||||
// ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
// ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
|
||||||
|
|
||||||
ROM_REGION( 0x200000, "c352", 0 )
|
ROM_REGION( 0x200000, "c352", 0 )
|
||||||
ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
|
ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
|
||||||
|
@ -73,7 +73,7 @@ protected:
|
|||||||
virtual void device_config_complete();
|
virtual void device_config_complete();
|
||||||
virtual bool device_validity_check(const game_driver &driver) const;
|
virtual bool device_validity_check(const game_driver &driver) const;
|
||||||
virtual const address_space_config *memory_space_config(int spacenum = 0) const;
|
virtual const address_space_config *memory_space_config(int spacenum = 0) const;
|
||||||
address_space_config m_space_config;
|
address_space_config m_space_config;
|
||||||
};
|
};
|
||||||
|
|
||||||
class janshi_vdp_device : public device_t,
|
class janshi_vdp_device : public device_t,
|
||||||
@ -109,9 +109,9 @@ device_t *janshi_vdp_device_config::alloc_device(running_machine &machine) const
|
|||||||
|
|
||||||
void janshi_vdp_device_config::device_config_complete()
|
void janshi_vdp_device_config::device_config_complete()
|
||||||
{
|
{
|
||||||
// int address_bits = 24;
|
// int address_bits = 24;
|
||||||
|
|
||||||
// m_space_config = address_space_config("janshi_vdp", ENDIANNESS_BIG, 8, address_bits, 0, *ADDRESS_MAP_NAME(janshi_vdp_map8));
|
// m_space_config = address_space_config("janshi_vdp", ENDIANNESS_BIG, 8, address_bits, 0, *ADDRESS_MAP_NAME(janshi_vdp_map8));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool janshi_vdp_device_config::device_validity_check(const game_driver &driver) const
|
bool janshi_vdp_device_config::device_validity_check(const game_driver &driver) const
|
||||||
@ -204,16 +204,16 @@ static VIDEO_UPDATE( pinkiri8 )
|
|||||||
|
|
||||||
/* vram 1 (12000 - 12fff)
|
/* vram 1 (12000 - 12fff)
|
||||||
|
|
||||||
tttt tttt | 00tt tttt | cccc c000 | xxxx xxxx |
|
tttt tttt | 00tt tttt | cccc c000 | xxxx xxxx |
|
||||||
|
|
||||||
vram 2 (13800 - 13fff)
|
vram 2 (13800 - 13fff)
|
||||||
|
|
||||||
yyyy yyyy | ???? ???? |
|
yyyy yyyy | ???? ???? |
|
||||||
|
|
||||||
there is also some data at 13000 - 137ff
|
there is also some data at 13000 - 137ff
|
||||||
and a table at 20000..
|
and a table at 20000..
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
spr_offs = ((janshi_vram1[(i*4)+0] & 0xff) | (janshi_vram1[(i*4)+1]<<8)) & 0xffff;
|
spr_offs = ((janshi_vram1[(i*4)+0] & 0xff) | (janshi_vram1[(i*4)+1]<<8)) & 0xffff;
|
||||||
col = (janshi_vram1[(i*4)+2] & 0xf8) >> 3;
|
col = (janshi_vram1[(i*4)+2] & 0xf8) >> 3;
|
||||||
@ -229,7 +229,7 @@ static VIDEO_UPDATE( pinkiri8 )
|
|||||||
|
|
||||||
col|= col_bank<<5;
|
col|= col_bank<<5;
|
||||||
|
|
||||||
// width = 0; height = 0;
|
// width = 0; height = 0;
|
||||||
|
|
||||||
|
|
||||||
// hacks!
|
// hacks!
|
||||||
@ -342,7 +342,7 @@ static int prev_writes = 0;
|
|||||||
|
|
||||||
static WRITE8_HANDLER( pinkiri8_vram_w )
|
static WRITE8_HANDLER( pinkiri8_vram_w )
|
||||||
{
|
{
|
||||||
// static UINT8 *vram = memory_region(space->machine, "vram");
|
// static UINT8 *vram = memory_region(space->machine, "vram");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -386,22 +386,22 @@ static WRITE8_HANDLER( pinkiri8_vram_w )
|
|||||||
//vram[(vram_addr) | (vram_bank << 16)] = data;
|
//vram[(vram_addr) | (vram_bank << 16)] = data;
|
||||||
/*
|
/*
|
||||||
|
|
||||||
if(vram_addr <= 0xffff)
|
if(vram_addr <= 0xffff)
|
||||||
{
|
{
|
||||||
static UINT16 datax,pal_offs;
|
static UINT16 datax,pal_offs;
|
||||||
static UINT8 r,g,b;
|
static UINT8 r,g,b;
|
||||||
|
|
||||||
pal_offs = vram_addr;
|
pal_offs = vram_addr;
|
||||||
|
|
||||||
datax = (vram[pal_offs & 0x1fff]) + (vram[(pal_offs & 0x1fff) | (0x2000)]<<8);
|
datax = (vram[pal_offs & 0x1fff]) + (vram[(pal_offs & 0x1fff) | (0x2000)]<<8);
|
||||||
|
|
||||||
r = ((datax)&0x001f)>>0;
|
r = ((datax)&0x001f)>>0;
|
||||||
g = ((datax)&0x03e0)>>5;
|
g = ((datax)&0x03e0)>>5;
|
||||||
b = ((datax)&0x7c00)>>10;
|
b = ((datax)&0x7c00)>>10;
|
||||||
|
|
||||||
palette_set_color_rgb(space->machine, pal_offs & 0x1fff, pal5bit(r), pal5bit(g), pal5bit(b));
|
palette_set_color_rgb(space->machine, pal_offs & 0x1fff, pal5bit(r), pal5bit(g), pal5bit(b));
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -253,7 +253,7 @@ static MACHINE_DRIVER_START( rgum )
|
|||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MDRV_CPU_ADD("maincpu", M65C02,24000000/16) /* ? MHz */
|
MDRV_CPU_ADD("maincpu", M65C02,24000000/16) /* ? MHz */
|
||||||
MDRV_CPU_PROGRAM_MAP(rgum_map)
|
MDRV_CPU_PROGRAM_MAP(rgum_map)
|
||||||
// MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
|
// MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MDRV_SCREEN_ADD("screen", RASTER)
|
MDRV_SCREEN_ADD("screen", RASTER)
|
||||||
|
@ -2525,14 +2525,14 @@ static TIMER_CALLBACK(stv_rtc_increment)
|
|||||||
static int year_num, year_count;
|
static int year_num, year_count;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
smpc_ram[0x23] = DectoBCD(systime.local_time.year /100);
|
smpc_ram[0x23] = DectoBCD(systime.local_time.year /100);
|
||||||
smpc_ram[0x25] = DectoBCD(systime.local_time.year %100);
|
smpc_ram[0x25] = DectoBCD(systime.local_time.year %100);
|
||||||
smpc_ram[0x27] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
|
smpc_ram[0x27] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
|
||||||
smpc_ram[0x29] = DectoBCD(systime.local_time.mday);
|
smpc_ram[0x29] = DectoBCD(systime.local_time.mday);
|
||||||
smpc_ram[0x2b] = DectoBCD(systime.local_time.hour);
|
smpc_ram[0x2b] = DectoBCD(systime.local_time.hour);
|
||||||
smpc_ram[0x2d] = DectoBCD(systime.local_time.minute);
|
smpc_ram[0x2d] = DectoBCD(systime.local_time.minute);
|
||||||
smpc_ram[0x2f] = DectoBCD(systime.local_time.second);
|
smpc_ram[0x2f] = DectoBCD(systime.local_time.second);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
smpc_ram[0x2f]++;
|
smpc_ram[0x2f]++;
|
||||||
|
|
||||||
@ -2583,9 +2583,9 @@ static TIMER_CALLBACK(stv_rtc_increment)
|
|||||||
|
|
||||||
// probably not SO precise, here just for reference ...
|
// probably not SO precise, here just for reference ...
|
||||||
/* year from 999 -> 1000 */
|
/* year from 999 -> 1000 */
|
||||||
//if((smpc_ram[0x23] & 0x0f) >= 0x0a) { smpc_ram[0x23]+=0x10; smpc_ram[0x23]&=0xf0; }
|
//if((smpc_ram[0x23] & 0x0f) >= 0x0a) { smpc_ram[0x23]+=0x10; smpc_ram[0x23]&=0xf0; }
|
||||||
/* year from 9999 -> 0 */
|
/* year from 9999 -> 0 */
|
||||||
//if((smpc_ram[0x23] & 0xf0) >= 0xa0) { smpc_ram[0x23] = 0; } //roll over
|
//if((smpc_ram[0x23] & 0xf0) >= 0xa0) { smpc_ram[0x23] = 0; } //roll over
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_START( stv )
|
static MACHINE_START( stv )
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
#define VTOTAL ((0x100-0x7c)*2)
|
#define VTOTAL ((0x100-0x7c)*2)
|
||||||
|
|
||||||
/* the following VBEND/VBSTART are used for compsync
|
/* the following VBEND/VBSTART are used for compsync
|
||||||
* #define VBEND (0x08)
|
* #define VBEND (0x08)
|
||||||
* #define VBSTART (0x100)
|
* #define VBSTART (0x100)
|
||||||
*
|
*
|
||||||
* However VBSYQ (and INTQ) is generated using the following values:
|
* However VBSYQ (and INTQ) is generated using the following values:
|
||||||
*/
|
*/
|
||||||
|
@ -613,25 +613,25 @@ INLINE void mirderby_info1( running_machine *machine, tile_data *tileinfo, int t
|
|||||||
|
|
||||||
static TILE_GET_INFO( mirderby_get_info0_0 )
|
static TILE_GET_INFO( mirderby_get_info0_0 )
|
||||||
{
|
{
|
||||||
// homedata_state *state = (homedata_state *)machine->driver_data;
|
// homedata_state *state = (homedata_state *)machine->driver_data;
|
||||||
mirderby_info0( machine, tileinfo, tile_index, 0, 0);// state->blitter_bank & 0x03 );
|
mirderby_info0( machine, tileinfo, tile_index, 0, 0);// state->blitter_bank & 0x03 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static TILE_GET_INFO( mirderby_get_info1_0 )
|
static TILE_GET_INFO( mirderby_get_info1_0 )
|
||||||
{
|
{
|
||||||
// homedata_state *state = (homedata_state *)machine->driver_data;
|
// homedata_state *state = (homedata_state *)machine->driver_data;
|
||||||
mirderby_info0( machine, tileinfo, tile_index, 1, 0);// state->blitter_bank & 0x03 );
|
mirderby_info0( machine, tileinfo, tile_index, 1, 0);// state->blitter_bank & 0x03 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static TILE_GET_INFO( mirderby_get_info0_1 )
|
static TILE_GET_INFO( mirderby_get_info0_1 )
|
||||||
{
|
{
|
||||||
// homedata_state *state = (homedata_state *)machine->driver_data;
|
// homedata_state *state = (homedata_state *)machine->driver_data;
|
||||||
mirderby_info1( machine, tileinfo, tile_index, 0, 0);//(state->blitter_bank & 0x38) >> 3 );
|
mirderby_info1( machine, tileinfo, tile_index, 0, 0);//(state->blitter_bank & 0x38) >> 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static TILE_GET_INFO( mirderby_get_info1_1 )
|
static TILE_GET_INFO( mirderby_get_info1_1 )
|
||||||
{
|
{
|
||||||
// homedata_state *state = (homedata_state *)machine->driver_data;
|
// homedata_state *state = (homedata_state *)machine->driver_data;
|
||||||
mirderby_info1( machine, tileinfo, tile_index, 1, 0);//(state->blitter_bank & 0x38) >> 3 );
|
mirderby_info1( machine, tileinfo, tile_index, 1, 0);//(state->blitter_bank & 0x38) >> 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ float lordgun_crosshair_mapper(const input_field_config *field, float linear_val
|
|||||||
|
|
||||||
static void lorddgun_calc_gun_scr(running_machine *machine, int i)
|
static void lorddgun_calc_gun_scr(running_machine *machine, int i)
|
||||||
{
|
{
|
||||||
// popmessage("%03x, %02x", input_port_read(machine, "LIGHT0_X"), input_port_read(machine, "LIGHT0_Y"));
|
// popmessage("%03x, %02x", input_port_read(machine, "LIGHT0_X"), input_port_read(machine, "LIGHT0_Y"));
|
||||||
|
|
||||||
int x = input_port_read(machine, gunnames[i]) - 0x3c;
|
int x = input_port_read(machine, gunnames[i]) - 0x3c;
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuin
|
|||||||
#define GL_DEPTH_COMPONENT32 0x81A7
|
#define GL_DEPTH_COMPONENT32 0x81A7
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define OLD_CODE 1
|
//#define OLD_CODE 1
|
||||||
|
|
||||||
#ifndef OLD_CODE
|
#ifndef OLD_CODE
|
||||||
#define HASH_SIZE ((1<<10)+1)
|
#define HASH_SIZE ((1<<10)+1)
|
||||||
|
@ -248,7 +248,7 @@ static void chdcd_tracksize_helper(int trknum, cdrom_toc *outtoc, chdcd_track_in
|
|||||||
outtoc->tracks[trknum].frames = tlen;
|
outtoc->tracks[trknum].frames = tlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
// printf("track %d: %d frames\n", trknum, outtoc->tracks[trknum].frames);
|
// printf("track %d: %d frames\n", trknum, outtoc->tracks[trknum].frames);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
@ -10,4 +10,4 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
extern const char build_version[];
|
extern const char build_version[];
|
||||||
const char build_version[] = "0.138u1 ("__DATE__")";
|
const char build_version[] = "0.138u2 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user