mirror of
https://github.com/holub/mame
synced 2025-06-02 02:49:44 +03:00
cleanups, this time for good
This commit is contained in:
parent
7bfa8508cc
commit
e91993f24e
@ -428,7 +428,7 @@ DEVICE_GET_INFO(cassette)
|
||||
case DEVINFO_FCT_IMAGE_UNLOAD: info->f = (genf *) DEVICE_IMAGE_UNLOAD_NAME(cassette); break;
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY: info->f = (genf *) DEVICE_IMAGE_DISPLAY_NAME(cassette); break;
|
||||
case DEVINFO_FCT_IMAGE_SOFTLIST_LOAD: info->f = (genf *) DEVICE_IMAGE_SOFTLIST_LOAD_NAME(cassette); break;
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
if ( device && downcast<const legacy_image_device_config_base *>(device)->inline_config() && get_config_dev(device)->device_displayinfo) {
|
||||
info->f = (genf *) get_config_dev(device)->device_displayinfo;
|
||||
} else {
|
||||
|
@ -173,7 +173,7 @@ DEVICE_GET_INFO(cdrom)
|
||||
case DEVINFO_FCT_IMAGE_LOAD: info->f = (genf *) DEVICE_IMAGE_LOAD_NAME(cdrom); break;
|
||||
case DEVINFO_FCT_IMAGE_UNLOAD: info->f = (genf *) DEVICE_IMAGE_UNLOAD_NAME(cdrom); break;
|
||||
case DEVINFO_FCT_IMAGE_SOFTLIST_LOAD: info->f = (genf *) DEVICE_IMAGE_SOFTLIST_LOAD_NAME(cdrom); break;
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
if ( device && downcast<const legacy_image_device_config_base *>(device)->inline_config() && get_config_dev(device)->device_displayinfo) {
|
||||
info->f = (genf *) get_config_dev(device)->device_displayinfo;
|
||||
} else {
|
||||
|
@ -994,14 +994,14 @@ DEVICE_GET_INFO(floppy)
|
||||
case DEVINFO_FCT_IMAGE_LOAD: info->f = (genf *) DEVICE_IMAGE_LOAD_NAME(floppy); break;
|
||||
case DEVINFO_FCT_IMAGE_UNLOAD: info->f = (genf *) DEVICE_IMAGE_UNLOAD_NAME(floppy); break;
|
||||
case DEVINFO_FCT_IMAGE_SOFTLIST_LOAD: info->f = (genf *) DEVICE_IMAGE_SOFTLIST_LOAD_NAME(floppy); break;
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
case DEVINFO_FCT_IMAGE_DISPLAY_INFO:
|
||||
if ( device && downcast<const legacy_image_device_config_base *>(device)->inline_config() && get_config_dev(device)->device_displayinfo) {
|
||||
info->f = (genf *) get_config_dev(device)->device_displayinfo;
|
||||
} else {
|
||||
info->f = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case DEVINFO_PTR_IMAGE_CREATE_OPTGUIDE: info->p = (void *)floppy_option_guide; break;
|
||||
case DEVINFO_INT_IMAGE_CREATE_OPTCOUNT:
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
/**********************************************************************
|
||||
|
||||
RCA CDP1852 Byte-Wide Input/Output Port emulation
|
||||
|
||||
|
||||
Copyright Nicola Salmoria and the MAME Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
@ -69,7 +69,7 @@ void cdp1852_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_mode -
|
||||
// get_mode -
|
||||
//-------------------------------------------------
|
||||
|
||||
int cdp1852_device::get_mode()
|
||||
@ -79,7 +79,7 @@ int cdp1852_device::get_mode()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// set_sr_line -
|
||||
// set_sr_line -
|
||||
//-------------------------------------------------
|
||||
|
||||
void cdp1852_device::set_sr_line(int state)
|
||||
|
@ -123,7 +123,7 @@ void com8116_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// str_w -
|
||||
// str_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( com8116_device::str_w )
|
||||
@ -137,7 +137,7 @@ WRITE8_MEMBER( com8116_device::str_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// stt_w -
|
||||
// stt_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( com8116_device::stt_w )
|
||||
|
@ -65,7 +65,7 @@ void i8214_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// trigger_interrupt -
|
||||
// trigger_interrupt -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void i8214_device::trigger_interrupt(int level)
|
||||
@ -87,7 +87,7 @@ inline void i8214_device::trigger_interrupt(int level)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// check_interrupt -
|
||||
// check_interrupt -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void i8214_device::check_interrupt()
|
||||
@ -154,7 +154,7 @@ void i8214_device::device_start()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// a_r -
|
||||
// a_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT8 i8214_device::a_r()
|
||||
@ -168,7 +168,7 @@ UINT8 i8214_device::a_r()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// b_w -
|
||||
// b_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
void i8214_device::b_w(UINT8 data)
|
||||
@ -188,7 +188,7 @@ void i8214_device::b_w(UINT8 data)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// r_w -
|
||||
// r_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
void i8214_device::r_w(UINT8 data)
|
||||
@ -202,7 +202,7 @@ void i8214_device::r_w(UINT8 data)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// sgs_w -
|
||||
// sgs_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( i8214_device::sgs_w )
|
||||
@ -216,7 +216,7 @@ WRITE_LINE_MEMBER( i8214_device::sgs_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// etlg_w -
|
||||
// etlg_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( i8214_device::etlg_w )
|
||||
@ -228,7 +228,7 @@ WRITE_LINE_MEMBER( i8214_device::etlg_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// inte_w -
|
||||
// inte_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( i8214_device::inte_w )
|
||||
|
@ -231,7 +231,7 @@ void mc6852_device::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read -
|
||||
// read -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( mc6852_device::read )
|
||||
@ -253,7 +253,7 @@ READ8_MEMBER( mc6852_device::read )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write -
|
||||
// write -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( mc6852_device::write )
|
||||
@ -326,7 +326,7 @@ WRITE8_MEMBER( mc6852_device::write )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rx_clk_w -
|
||||
// rx_clk_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( mc6852_device::rx_clk_w )
|
||||
@ -336,7 +336,7 @@ WRITE_LINE_MEMBER( mc6852_device::rx_clk_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// tx_clk_w -
|
||||
// tx_clk_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( mc6852_device::tx_clk_w )
|
||||
@ -346,7 +346,7 @@ WRITE_LINE_MEMBER( mc6852_device::tx_clk_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// cts_w -
|
||||
// cts_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( mc6852_device::cts_w )
|
||||
@ -356,7 +356,7 @@ WRITE_LINE_MEMBER( mc6852_device::cts_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dcd_w -
|
||||
// dcd_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( mc6852_device::dcd_w )
|
||||
@ -366,7 +366,7 @@ WRITE_LINE_MEMBER( mc6852_device::dcd_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// sm_dtr_r -
|
||||
// sm_dtr_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( mc6852_device::sm_dtr_r )
|
||||
@ -376,7 +376,7 @@ READ_LINE_MEMBER( mc6852_device::sm_dtr_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// tuf_r -
|
||||
// tuf_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( mc6852_device::tuf_r )
|
||||
|
@ -88,7 +88,7 @@ void mos6529_device::device_start()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read -
|
||||
// read -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( mos6529_device::read )
|
||||
@ -98,7 +98,7 @@ READ8_MEMBER( mos6529_device::read )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write -
|
||||
// write -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( mos6529_device::write )
|
||||
|
@ -11,11 +11,11 @@
|
||||
|
||||
TODO:
|
||||
|
||||
- 12/24 hour
|
||||
- AM/PM
|
||||
- leap year
|
||||
- test input
|
||||
- reference signal output
|
||||
- 12/24 hour
|
||||
- AM/PM
|
||||
- leap year
|
||||
- test input
|
||||
- reference signal output
|
||||
|
||||
*/
|
||||
|
||||
@ -99,7 +99,7 @@ inline void msm5832_device::write_counter(int counter, int value)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// advance_seconds -
|
||||
// advance_seconds -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void msm5832_device::advance_seconds()
|
||||
@ -246,7 +246,7 @@ void msm5832_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
READ8_MEMBER( msm5832_device::data_r )
|
||||
{
|
||||
UINT8 data = 0;
|
||||
|
||||
|
||||
if (m_cs && m_read)
|
||||
{
|
||||
if (m_address == REGISTER_REF)
|
||||
|
@ -11,9 +11,9 @@
|
||||
|
||||
TODO:
|
||||
|
||||
- 12/24 hour
|
||||
- AM/PM
|
||||
- leap year
|
||||
- 12/24 hour
|
||||
- AM/PM
|
||||
- leap year
|
||||
- stop
|
||||
- reset
|
||||
- reference registers
|
||||
@ -123,7 +123,7 @@ inline void msm58321_device::write_counter(int counter, int value)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// advance_seconds -
|
||||
// advance_seconds -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void msm58321_device::advance_seconds()
|
||||
|
@ -36,9 +36,9 @@ struct pic8259
|
||||
devcb_resolved_write_line out_int_func;
|
||||
|
||||
devcb_resolved_read_line sp_en_func;
|
||||
|
||||
|
||||
devcb_resolved_read8 read_slave_ack_func;
|
||||
|
||||
|
||||
emu_timer *timer;
|
||||
|
||||
pic8259_state_t state;
|
||||
@ -183,19 +183,19 @@ int pic8259_acknowledge(device_t *device)
|
||||
if (!pic8259->auto_eoi)
|
||||
pic8259->isr |= mask;
|
||||
pic8259_set_timer(pic8259);
|
||||
|
||||
|
||||
if ((pic8259->cascade!=0) && (pic8259->master!=0) && (mask & pic8259->slave)) {
|
||||
// it's from slave device
|
||||
return devcb_call_read8(&pic8259->read_slave_ack_func,irq);
|
||||
} else {
|
||||
if (pic8259->is_x86) {
|
||||
/* For x86 mode*/
|
||||
return irq + pic8259->base;
|
||||
return irq + pic8259->base;
|
||||
} else {
|
||||
/* in case of 8080/85) */
|
||||
return 0xcd0000 + (pic8259->vector_addr_high << 8) + pic8259->vector_addr_low + (irq << (3-pic8259->vector_size));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@ -422,7 +422,7 @@ static DEVICE_START( pic8259 )
|
||||
/* resolve callbacks */
|
||||
devcb_resolve_write_line(&pic8259->out_int_func, &intf->out_int_func, device);
|
||||
devcb_resolve_read_line(&pic8259->sp_en_func, &intf->sp_en_func, device);
|
||||
devcb_resolve_read8(&pic8259->read_slave_ack_func, &intf->read_slave_ack_func, device);
|
||||
devcb_resolve_read8(&pic8259->read_slave_ack_func, &intf->read_slave_ack_func, device);
|
||||
}
|
||||
|
||||
|
||||
@ -450,7 +450,7 @@ static DEVICE_RESET( pic8259 ) {
|
||||
pic8259->is_x86 = 0;
|
||||
pic8259->vector_addr_low = 0;
|
||||
pic8259->vector_addr_high = 0;
|
||||
|
||||
|
||||
pic8259->master = devcb_call_read_line(&pic8259->sp_en_func);
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
TODO:
|
||||
|
||||
- 12 hour clock
|
||||
- test register
|
||||
- test register
|
||||
- timer reset
|
||||
|
||||
*/
|
||||
@ -176,7 +176,7 @@ inline void rp5c01_device::set_alarm_line()
|
||||
int alarm = ((m_mode & MODE_ALARM_EN) ? m_alarm_on : 1) &
|
||||
((m_reset & RESET_16_HZ) ? 1 : m_16hz) &
|
||||
((m_reset & RESET_1_HZ) ? 1 : m_1hz);
|
||||
|
||||
|
||||
if (m_alarm != alarm)
|
||||
{
|
||||
if (LOG) logerror("RP5C01 '%s' Alarm %u\n", tag(), alarm);
|
||||
@ -345,7 +345,7 @@ void rp5c01_device::device_start()
|
||||
// allocate timers
|
||||
m_clock_timer = timer_alloc(TIMER_CLOCK);
|
||||
m_clock_timer->adjust(attotime::from_hz(clock() / 16384), 0, attotime::from_hz(clock() / 16384));
|
||||
|
||||
|
||||
m_16hz_timer = timer_alloc(TIMER_16HZ);
|
||||
m_16hz_timer->adjust(attotime::from_hz(clock() / 1024), 0, attotime::from_hz(clock() / 1024));
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
TODO:
|
||||
|
||||
- this is a clone of Intel 8274?
|
||||
- this is a clone of Intel 8274?
|
||||
- everything
|
||||
|
||||
*/
|
||||
@ -80,7 +80,7 @@ void upd7201_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// receive -
|
||||
// receive -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void upd7201_device::receive(int channel)
|
||||
@ -89,7 +89,7 @@ inline void upd7201_device::receive(int channel)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// transmit -
|
||||
// transmit -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void upd7201_device::transmit(int channel)
|
||||
@ -161,7 +161,7 @@ void upd7201_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// cd_ba_r -
|
||||
// cd_ba_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( upd7201_device::cd_ba_r )
|
||||
@ -171,7 +171,7 @@ READ8_MEMBER( upd7201_device::cd_ba_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// cd_ba_w -
|
||||
// cd_ba_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( upd7201_device::cd_ba_w )
|
||||
@ -180,7 +180,7 @@ WRITE8_MEMBER( upd7201_device::cd_ba_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ba_cd_r -
|
||||
// ba_cd_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( upd7201_device::ba_cd_r )
|
||||
@ -190,7 +190,7 @@ READ8_MEMBER( upd7201_device::ba_cd_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ba_cd_w -
|
||||
// ba_cd_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( upd7201_device::ba_cd_w )
|
||||
@ -199,7 +199,7 @@ WRITE8_MEMBER( upd7201_device::ba_cd_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// intak_r -
|
||||
// intak_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( upd7201_device::intak_r )
|
||||
@ -209,7 +209,7 @@ READ8_MEMBER( upd7201_device::intak_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// synca_w -
|
||||
// synca_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::synca_w )
|
||||
@ -218,7 +218,7 @@ WRITE_LINE_MEMBER( upd7201_device::synca_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// syncb_w -
|
||||
// syncb_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::syncb_w )
|
||||
@ -227,7 +227,7 @@ WRITE_LINE_MEMBER( upd7201_device::syncb_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctsa_w -
|
||||
// ctsa_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::ctsa_w )
|
||||
@ -236,7 +236,7 @@ WRITE_LINE_MEMBER( upd7201_device::ctsa_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ctsb_w -
|
||||
// ctsb_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::ctsb_w )
|
||||
@ -245,7 +245,7 @@ WRITE_LINE_MEMBER( upd7201_device::ctsb_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dtra_r -
|
||||
// dtra_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd7201_device::dtra_r )
|
||||
@ -255,7 +255,7 @@ READ_LINE_MEMBER( upd7201_device::dtra_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dtrb_r -
|
||||
// dtrb_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd7201_device::dtrb_r )
|
||||
@ -265,7 +265,7 @@ READ_LINE_MEMBER( upd7201_device::dtrb_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// hai_w -
|
||||
// hai_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::hai_w )
|
||||
@ -274,7 +274,7 @@ WRITE_LINE_MEMBER( upd7201_device::hai_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rxda_w -
|
||||
// rxda_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::rxda_w )
|
||||
@ -283,7 +283,7 @@ WRITE_LINE_MEMBER( upd7201_device::rxda_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// txda_r -
|
||||
// txda_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd7201_device::txda_r )
|
||||
@ -293,7 +293,7 @@ READ_LINE_MEMBER( upd7201_device::txda_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rxdb_w -
|
||||
// rxdb_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::rxdb_w )
|
||||
@ -302,7 +302,7 @@ WRITE_LINE_MEMBER( upd7201_device::rxdb_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// txdb_r -
|
||||
// txdb_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd7201_device::txdb_r )
|
||||
@ -312,7 +312,7 @@ READ_LINE_MEMBER( upd7201_device::txdb_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rxca_w -
|
||||
// rxca_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::rxca_w )
|
||||
@ -321,7 +321,7 @@ WRITE_LINE_MEMBER( upd7201_device::rxca_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// rxcb_w -
|
||||
// rxcb_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::rxcb_w )
|
||||
@ -330,7 +330,7 @@ WRITE_LINE_MEMBER( upd7201_device::rxcb_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// txca_w -
|
||||
// txca_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::txca_w )
|
||||
@ -339,7 +339,7 @@ WRITE_LINE_MEMBER( upd7201_device::txca_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// txcb_w -
|
||||
// txcb_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd7201_device::txcb_w )
|
||||
|
@ -28,7 +28,7 @@ static STREAM_UPDATE( wave_sound_update )
|
||||
double time_index;
|
||||
double duration;
|
||||
stream_sample_t *left_buffer = outputs[0];
|
||||
stream_sample_t *right_buffer = NULL;
|
||||
stream_sample_t *right_buffer = NULL;
|
||||
int i;
|
||||
|
||||
if (speakers>1)
|
||||
|
@ -217,7 +217,7 @@ void cdp1861_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dma_w -
|
||||
// dma_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( cdp1861_device::dma_w )
|
||||
@ -236,7 +236,7 @@ WRITE8_MEMBER( cdp1861_device::dma_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// disp_on_w -
|
||||
// disp_on_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( cdp1861_device::disp_on_w )
|
||||
@ -248,7 +248,7 @@ WRITE_LINE_MEMBER( cdp1861_device::disp_on_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// disp_off_w -
|
||||
// disp_off_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( cdp1861_device::disp_off_w )
|
||||
@ -263,7 +263,7 @@ WRITE_LINE_MEMBER( cdp1861_device::disp_off_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_screen -
|
||||
// update_screen -
|
||||
//-------------------------------------------------
|
||||
|
||||
void cdp1861_device::update_screen(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
|
@ -74,7 +74,7 @@ void cdp1862_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// initialize_palette -
|
||||
// initialize_palette -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void cdp1862_device::initialize_palette()
|
||||
@ -160,7 +160,7 @@ void cdp1862_device::device_reset()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dma_w -
|
||||
// dma_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( cdp1862_device::dma_w )
|
||||
@ -194,7 +194,7 @@ WRITE8_MEMBER( cdp1862_device::dma_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// disp_on_w -
|
||||
// disp_on_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( cdp1862_device::bkg_w )
|
||||
@ -203,7 +203,7 @@ WRITE_LINE_MEMBER( cdp1862_device::bkg_w )
|
||||
{
|
||||
m_bgcolor++;
|
||||
|
||||
if (m_bgcolor > 3)
|
||||
if (m_bgcolor > 3)
|
||||
{
|
||||
m_bgcolor = 0;
|
||||
}
|
||||
@ -212,7 +212,7 @@ WRITE_LINE_MEMBER( cdp1862_device::bkg_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// disp_off_w -
|
||||
// disp_off_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( cdp1862_device::con_w )
|
||||
@ -225,7 +225,7 @@ WRITE_LINE_MEMBER( cdp1862_device::con_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_screen -
|
||||
// update_screen -
|
||||
//-------------------------------------------------
|
||||
|
||||
void cdp1862_device::update_screen(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
|
@ -71,7 +71,7 @@ void dm9368_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_rbi -
|
||||
// get_rbi -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline int dm9368_device::get_rbi()
|
||||
@ -86,7 +86,7 @@ inline int dm9368_device::get_rbi()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// set_rbo -
|
||||
// set_rbo -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void dm9368_device::set_rbo(int state)
|
||||
@ -131,7 +131,7 @@ void dm9368_device::device_start()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// a_w -
|
||||
// a_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
void dm9368_device::a_w(UINT8 data)
|
||||
|
@ -74,7 +74,7 @@ void hd44102_device_config::static_set_config(device_config *device, const char
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// count_up_or_down -
|
||||
// count_up_or_down -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void hd44102_device::count_up_or_down()
|
||||
@ -235,7 +235,7 @@ WRITE8_MEMBER( hd44102_device::control_w )
|
||||
else
|
||||
{
|
||||
if (LOG) logerror("HD44102 '%s' Address X %u Y %u (%02x)\n", tag(), data, x, y);
|
||||
|
||||
|
||||
m_x = x;
|
||||
m_y = y;
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ void sed1330_device::device_reset()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// status_r -
|
||||
// status_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( sed1330_device::status_r )
|
||||
@ -290,7 +290,7 @@ READ8_MEMBER( sed1330_device::status_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// command_w -
|
||||
// command_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( sed1330_device::command_w )
|
||||
@ -326,7 +326,7 @@ WRITE8_MEMBER( sed1330_device::command_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// data_r -
|
||||
// data_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( sed1330_device::data_r )
|
||||
@ -342,7 +342,7 @@ READ8_MEMBER( sed1330_device::data_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// data_w -
|
||||
// data_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( sed1330_device::data_w )
|
||||
@ -617,7 +617,7 @@ WRITE8_MEMBER( sed1330_device::data_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// draw_text_scanline -
|
||||
// draw_text_scanline -
|
||||
//-------------------------------------------------
|
||||
|
||||
void sed1330_device::draw_text_scanline(bitmap_t *bitmap, const rectangle *cliprect, int y, UINT16 va)
|
||||
@ -658,7 +658,7 @@ void sed1330_device::draw_text_scanline(bitmap_t *bitmap, const rectangle *clipr
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// draw_graphics_scanline -
|
||||
// draw_graphics_scanline -
|
||||
//-------------------------------------------------
|
||||
|
||||
void sed1330_device::draw_graphics_scanline(bitmap_t *bitmap, const rectangle *cliprect, int y, UINT16 va)
|
||||
@ -679,7 +679,7 @@ void sed1330_device::draw_graphics_scanline(bitmap_t *bitmap, const rectangle *c
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_graphics -
|
||||
// update_graphics -
|
||||
//-------------------------------------------------
|
||||
|
||||
void sed1330_device::update_graphics(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
@ -688,7 +688,7 @@ void sed1330_device::update_graphics(bitmap_t *bitmap, const rectangle *cliprect
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_text -
|
||||
// update_text -
|
||||
//-------------------------------------------------
|
||||
|
||||
void sed1330_device::update_text(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
@ -721,7 +721,7 @@ void sed1330_device::update_text(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_screen -
|
||||
// update_screen -
|
||||
//-------------------------------------------------
|
||||
|
||||
void sed1330_device::update_screen(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
|
@ -107,7 +107,7 @@ void upd3301_device_config::device_config_complete()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// set_interrupt -
|
||||
// set_interrupt -
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void upd3301_device::set_interrupt(int state)
|
||||
@ -369,7 +369,7 @@ void upd3301_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read -
|
||||
// read -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ8_MEMBER( upd3301_device::read )
|
||||
@ -392,7 +392,7 @@ READ8_MEMBER( upd3301_device::read )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// write -
|
||||
// write -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( upd3301_device::write )
|
||||
@ -533,7 +533,7 @@ WRITE8_MEMBER( upd3301_device::write )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dack_w -
|
||||
// dack_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE8_MEMBER( upd3301_device::dack_w )
|
||||
@ -557,10 +557,10 @@ WRITE8_MEMBER( upd3301_device::dack_w )
|
||||
if ((m_data_fifo_pos == m_h) && (m_attr_fifo_pos == (m_attr << 1)))
|
||||
{
|
||||
m_input_fifo = !m_input_fifo;
|
||||
|
||||
|
||||
m_data_fifo_pos = 0;
|
||||
m_attr_fifo_pos = 0;
|
||||
|
||||
|
||||
draw_scanline();
|
||||
|
||||
if (m_y == (m_l * m_r))
|
||||
@ -573,7 +573,7 @@ WRITE8_MEMBER( upd3301_device::dack_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// lpen_w -
|
||||
// lpen_w -
|
||||
//-------------------------------------------------
|
||||
|
||||
WRITE_LINE_MEMBER( upd3301_device::lpen_w )
|
||||
@ -582,7 +582,7 @@ WRITE_LINE_MEMBER( upd3301_device::lpen_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// hrtc_r -
|
||||
// hrtc_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd3301_device::hrtc_r )
|
||||
@ -592,7 +592,7 @@ READ_LINE_MEMBER( upd3301_device::hrtc_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// vrtc_r -
|
||||
// vrtc_r -
|
||||
//-------------------------------------------------
|
||||
|
||||
READ_LINE_MEMBER( upd3301_device::vrtc_r )
|
||||
@ -602,7 +602,7 @@ READ_LINE_MEMBER( upd3301_device::vrtc_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// draw_scanline -
|
||||
// draw_scanline -
|
||||
//-------------------------------------------------
|
||||
|
||||
void upd3301_device::draw_scanline()
|
||||
@ -630,7 +630,7 @@ void upd3301_device::draw_scanline()
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// update_screen -
|
||||
// update_screen -
|
||||
//-------------------------------------------------
|
||||
|
||||
void upd3301_device::update_screen(bitmap_t *bitmap, const rectangle *cliprect)
|
||||
|
@ -16,7 +16,7 @@
|
||||
a silence waveform for 55516, alternating zeroes and ones.
|
||||
* The channel mixing is done additively at the moment rather than
|
||||
emulating the original multiplexer, which is actually not that hard to do
|
||||
but adds a bit of complexity to the render loop.
|
||||
but adds a bit of complexity to the render loop.
|
||||
* The 'FM OR AM' output of the audio via (pb1) appears to control some sort
|
||||
of suppression or filtering change of the post-DAC amplifier when enabled,
|
||||
only during the TIMER1 OUT time-slot of the multiplexer, see page 1B 3-3
|
||||
@ -32,8 +32,8 @@
|
||||
of 74ls670 4x4 register files wired up as four 8-bit words;
|
||||
The four words are used as the volumes for four 1-bit channels by inversion
|
||||
of the MSB of the 8 bit value.
|
||||
NOISE is the output of an MM5837 whitenoise generator, a self-clocked (at
|
||||
around 100khz) LFSR with taps on bits (base-0) 16 and 13.
|
||||
NOISE is the output of an MM5837 whitenoise generator, a self-clocked (at
|
||||
around 100khz) LFSR with taps on bits (base-0) 16 and 13.
|
||||
The four channels are:
|
||||
CNT1 CNT0
|
||||
0 0 6522 pin 7 output (squarewave); 'FM or AM' affects this slot only
|
||||
|
@ -52,7 +52,7 @@ typedef struct
|
||||
|
||||
UINT8 timer_enabled[2];
|
||||
timer_device *timer[2];
|
||||
|
||||
|
||||
UINT32 tms32031_io_regs[0x100];
|
||||
UINT16 from_main;
|
||||
UINT16 control;
|
||||
|
@ -173,11 +173,11 @@ static WRITE16_HANDLER( drill_irq_w )
|
||||
{
|
||||
_2mindril_state *state = space->machine().driver_data<_2mindril_state>();
|
||||
/*
|
||||
(note: could rather be irq mask)
|
||||
---- ---- ---x ---- irq lv 5 ack, 0->1 latch
|
||||
---- ---- ---- x--- irq lv 4 ack, 0->1 latch
|
||||
---- ---- -??- -??? connected to the other levels?
|
||||
*/
|
||||
(note: could rather be irq mask)
|
||||
---- ---- ---x ---- irq lv 5 ack, 0->1 latch
|
||||
---- ---- ---- x--- irq lv 4 ack, 0->1 latch
|
||||
---- ---- -??- -??? connected to the other levels?
|
||||
*/
|
||||
if(((state->irq_reg & 8) == 0) && data & 8)
|
||||
cputag_set_input_line(space->machine(), "maincpu", 4, CLEAR_LINE);
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
/**********************************************************************************
|
||||
|
||||
Alien: The Arcade Medal Edition (c) 2005 Capcom
|
||||
Alien: The Arcade Medal Edition (c) 2005 Capcom
|
||||
|
||||
skeleton driver
|
||||
skeleton driver
|
||||
|
||||
- sh-4 clocked with 200MHz
|
||||
- 2 x Panasonic MN677511DE chips (MPEG2 decoders)
|
||||
- Altera ACEX 1K PLD
|
||||
- M48T35Y timekeeper device
|
||||
- CF interface
|
||||
- sh-4 clocked with 200MHz
|
||||
- 2 x Panasonic MN677511DE chips (MPEG2 decoders)
|
||||
- Altera ACEX 1K PLD
|
||||
- M48T35Y timekeeper device
|
||||
- CF interface
|
||||
|
||||
***********************************************************************************/
|
||||
|
||||
|
@ -797,7 +797,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM
|
||||
AM_RANGE(0x6000, 0x7FFF) AM_ROMBANK("bank1") // 8k paged ROM (4 pages)
|
||||
AM_RANGE(0x8000, 0xFFFF) AM_ROM AM_WRITE (watchdog_w)//AM_RAM_WRITE(watchdog_w) // 32k ROM
|
||||
AM_RANGE(0x8000, 0xFFFF) AM_ROM AM_WRITE (watchdog_w)//AM_RAM_WRITE(watchdog_w) // 32k ROM
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
|
||||
CES Classic wall games
|
||||
CES Classic wall games
|
||||
|
||||
*/
|
||||
|
||||
@ -77,7 +77,7 @@ ROM_START(ccclass)
|
||||
ROM_END
|
||||
|
||||
ROM_START(tsclass)
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD("tsclassic-v100-u43u44.bin", 0x000000, 0x100000, CRC(a820ec9a) SHA1(84e38c7e54bb9e80142ed4e7763c9e36df560f42) )
|
||||
|
||||
ROM_REGION( 0x80000, "oki", 0 )
|
||||
|
@ -136,7 +136,7 @@ WRITE8_MEMBER( draco_state::out1_w )
|
||||
{
|
||||
/*
|
||||
bit description
|
||||
|
||||
|
||||
0 3K9 -> Green signal
|
||||
1 820R -> Blue signal
|
||||
2 510R -> Red signal
|
||||
|
@ -1358,7 +1358,7 @@ static MACHINE_CONFIG_DERIVED( dec0_base_sound_alt, dec0_base )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK, DEC0_HTOTAL, DEC0_HBEND, DEC0_HBSTART, DEC0_VTOTAL, DEC0_VBEND, DEC0_VBSTART)
|
||||
// MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK, DEC0_HTOTAL, DEC0_HBEND, DEC0_HBSTART, DEC0_VTOTAL, DEC0_VBEND, DEC0_VBSTART)
|
||||
|
||||
/* TODO: These are raw guesses, only to get ~57,41 Hz */
|
||||
#define DEC0_PIXEL_CLOCK XTAL_20MHz/4
|
||||
@ -1382,8 +1382,8 @@ static MACHINE_CONFIG_DERIVED( automat, dec0_base )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
MCFG_SCREEN_UPDATE(robocop)
|
||||
@ -1447,12 +1447,12 @@ static MACHINE_CONFIG_DERIVED( baddudes, dec0_base_sound )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(baddudes)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1468,12 +1468,12 @@ static MACHINE_CONFIG_DERIVED( birdtry, dec0_base_sound )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(birdtry)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1494,12 +1494,12 @@ static MACHINE_CONFIG_DERIVED( robocop, dec0_base_sound )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(robocop)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1515,12 +1515,12 @@ static MACHINE_CONFIG_DERIVED( robocopb, dec0_base_sound )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(robocop)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1541,12 +1541,12 @@ static MACHINE_CONFIG_DERIVED( hippodrm, dec0_base_sound )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(hippodrm)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1568,12 +1568,12 @@ static MACHINE_CONFIG_DERIVED( slyspy, dec0_base_sound_alt )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(slyspy)
|
||||
|
||||
MCFG_VIDEO_START(dec0_nodma)
|
||||
@ -1596,12 +1596,12 @@ static MACHINE_CONFIG_DERIVED( secretab, dec0_base_sound_alt )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(robocop)
|
||||
|
||||
MCFG_GFXDECODE(secretab)
|
||||
@ -1620,12 +1620,12 @@ static MACHINE_CONFIG_DERIVED( midres, dec0_base_sound_alt )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
// MCFG_SCREEN_REFRESH_RATE(57.41)
|
||||
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
// MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE(midres)
|
||||
|
||||
MCFG_GFXDECODE(midres)
|
||||
|
@ -25,23 +25,23 @@ released for it. Why?
|
||||
|
||||
- The FamicomBox will not run mmc3 games and many other advanced mappers
|
||||
- There a special lockout chip, but the lockout chip connects to different pins on
|
||||
a FamicomBox cartridge’s connector than a regular cart
|
||||
- The lockout chips in the system and the games have to “talk” before the system will
|
||||
a FamicomBox cartridge?s connector than a regular cart
|
||||
- The lockout chips in the system and the games have to ?talk? before the system will
|
||||
load any games into its menu.
|
||||
|
||||
Here’s a list of some of the games known to have come with the FamicomBox:
|
||||
Here?s a list of some of the games known to have come with the FamicomBox:
|
||||
1943; Baseball; Bomber Man; Devil World; Donkey Kong; Donkey Kong Jr.; Duck Hunt;
|
||||
Excite Bike; F1 Race; Fighting Golf; Golf; Gradius; Hogan’s Alley; Ice Climbers;
|
||||
Ice Hockey; Knight Rider; Makaimura: Ghosts ‘n Goblins; McKids; Mah-Jong; Mario Bros.;
|
||||
Mike Tyson’s Punch-Out!!; Ninja Ryukenden; Operation Wolf (?); Punch-Out!!; Rock Man;
|
||||
Rygar; Senjou no Ookami; Soccer League Winner’s Cup; Super Chinese 2; Super Mario Bros;
|
||||
Excite Bike; F1 Race; Fighting Golf; Golf; Gradius; Hogan?s Alley; Ice Climbers;
|
||||
Ice Hockey; Knight Rider; Makaimura: Ghosts ?n Goblins; McKids; Mah-Jong; Mario Bros.;
|
||||
Mike Tyson?s Punch-Out!!; Ninja Ryukenden; Operation Wolf (?); Punch-Out!!; Rock Man;
|
||||
Rygar; Senjou no Ookami; Soccer League Winner?s Cup; Super Chinese 2; Super Mario Bros;
|
||||
Tag Team Pro Wrestling; Takahashi Meijin no Boukenjima; Tennis; Twin Bee;
|
||||
Volleyball; Wild Gunman; Wrecking Crew.
|
||||
|
||||
Here’s a list of some of the games known to have come with the FamicomStation:
|
||||
Here?s a list of some of the games known to have come with the FamicomStation:
|
||||
1943; Baseball; Donkey Kong; Duck Hunt; F1 Race; Golf; Kame no Ongaeshi:
|
||||
Urashima Densetsu; Mah-Jong; Mario Bros.; Night Raider; Senjou no Ookami;
|
||||
Soccer League Winner’s Cup; Super Chinese 2; Super Mario Bros; Tag Team Pro Wrestling;
|
||||
Soccer League Winner?s Cup; Super Chinese 2; Super Mario Bros; Tag Team Pro Wrestling;
|
||||
Takahashi Meijin no Boukenjima; Tennis; Wild Gunman; Wrecking Crew.
|
||||
|
||||
***************************************************************************/
|
||||
|
@ -4134,7 +4134,7 @@ ROM_END
|
||||
|
||||
Original Video Klein PCB
|
||||
with CPU box.
|
||||
|
||||
|
||||
*/
|
||||
ROM_START( witchryl )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
|
@ -476,7 +476,7 @@ static WRITE16_HANDLER( igs_dips_w )
|
||||
COMBINE_DATA(&state->m_igs_dips_sel);
|
||||
}
|
||||
|
||||
INLINE UINT16 igs_dips_r(address_space *space, int NUM)
|
||||
INLINE UINT16 igs_dips_r(address_space *space, int NUM)
|
||||
{
|
||||
igs011_state *state = space->machine().driver_data<igs011_state>();
|
||||
int i;
|
||||
|
@ -18,9 +18,9 @@
|
||||
1x M6295 @ 1.5 MHz. (4 channel mixing ADPCM voice synthesis). Pin7 high.
|
||||
|
||||
1x 6845 (CRT Controller) @ 750 kHz.
|
||||
Hs 15625 Hz
|
||||
Vs 52.786 Hz
|
||||
|
||||
Hs 15625 Hz
|
||||
Vs 52.786 Hz
|
||||
|
||||
2x MB8464 (Video?)8kx8
|
||||
1x MB8416 (NVRAM) 2Kx8
|
||||
1x MB8464 (?) 8kx8
|
||||
@ -47,7 +47,7 @@
|
||||
00 W ---> ROM bank.
|
||||
01 W ---> RAM bank.
|
||||
02 W ---> RAM bank.
|
||||
|
||||
|
||||
10 R ---> Regular inputs (holds) multiplexed with credits out.
|
||||
10 W ---> Writes a kind of watchdog (bit4) and mech counters pulses (bits 0-1-2-3).
|
||||
11 R ---> Read input port (remaining controls).
|
||||
@ -58,22 +58,22 @@
|
||||
13 W ---> Lamps out (array a)
|
||||
14 R ---> Freeze. Switch in bit0 that pause the game when active. Just once active, the code loops till the bit resets.
|
||||
14 W ---> Lamps out (array b).
|
||||
|
||||
|
||||
50 RW ---> OKI6295 (R/W)
|
||||
|
||||
|
||||
60 W ---> PSG SN76489/96 initialization routines. (Maybe a leftover for different hardware)
|
||||
The offset is initialized with the following sequence: 0x9f, 0xbf, 0xdf, 0xff.
|
||||
|
||||
|
||||
Pulses - Port 10h.
|
||||
------------------
|
||||
------------------
|
||||
- bits -
|
||||
7654 3210
|
||||
---- ---x Credits Out mech counter.
|
||||
---- --x- Credits 3 mech counter.
|
||||
---- -x-- Credits 1 mech counter.
|
||||
---- x--- Credits 2 mech counter.
|
||||
---x ---- Watchdog? (constant writes). (*)
|
||||
---x ---- Watchdog? (constant writes). (*)
|
||||
xxx- ---- Unknown.
|
||||
|
||||
(*) Tied to a ULN Opto Triac (pin3 solder side edge connector - Lock Out (100V))
|
||||
@ -125,7 +125,7 @@
|
||||
....
|
||||
|
||||
Service Mode:
|
||||
|
||||
|
||||
F2 to enter the Book/Settings Mode.
|
||||
HOLD1 to move UP.
|
||||
HOLD2 to move DOWN.
|
||||
@ -277,7 +277,7 @@
|
||||
***********************************************************************************
|
||||
|
||||
Power Supply edge connector Layout...
|
||||
|
||||
|
||||
.-----------------------+-+--+---------------------------.
|
||||
| Components side |L|PN| Solder side |
|
||||
+-----------------------+-+--+---------------------------+
|
||||
@ -292,7 +292,7 @@
|
||||
| Lamp TAKE SCORE |K|09| Lamp HOLD 4 |
|
||||
| Lamp DOUBLE UP |L|10| Lamp HOLD 5 |
|
||||
'-----------------------+-+--+---------------------------'
|
||||
|
||||
|
||||
Edge connector Layout...
|
||||
|
||||
.-----------------------+-+--+---------------------------.
|
||||
@ -403,7 +403,7 @@
|
||||
FVR-SLOT OFF ON <--- Fever's number slot.
|
||||
AMUSEMENT-MODE OFF ON <--- Self explanatory....
|
||||
|
||||
1ST BET 1 5 10 20 30 <--- First Bet.
|
||||
1ST BET 1 5 10 20 30 <--- First Bet.
|
||||
CNT BET 1 5 10 20 30 <--- Second Bet.
|
||||
|
||||
BACK-RGB R 0 1 2 3 4 5 6 7 <--- Background R component (0 = light, 7 = strong)
|
||||
@ -436,7 +436,7 @@
|
||||
***********************************************************************************
|
||||
|
||||
To Do:
|
||||
|
||||
|
||||
- Find the input that unlocks the "KEY-LOCK" mode in the settings.
|
||||
- Proper flip mode.
|
||||
- Resistors Network.
|
||||
@ -465,11 +465,11 @@ public:
|
||||
int m_palette_bank;
|
||||
int m_vram_bank;
|
||||
int m_flip_state;
|
||||
|
||||
|
||||
tilemap_t *m_bg_tilemap, *m_fg_tilemap;
|
||||
|
||||
UINT8 *m_videoram;
|
||||
|
||||
|
||||
required_device<okim6295_device> oki;
|
||||
|
||||
};
|
||||
@ -482,9 +482,9 @@ public:
|
||||
static TILE_GET_INFO( bg_get_tile_info )
|
||||
{
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
int code = state->m_videoram[0x800 + 2 * tile_index] + (state->m_videoram[0x800 + 2 * tile_index + 1] << 8);
|
||||
|
||||
|
||||
SET_TILE_INFO(
|
||||
0,
|
||||
(code & 0x1fff),
|
||||
@ -497,7 +497,7 @@ static TILE_GET_INFO( fg_get_tile_info )
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
int code = state->m_videoram[2 * tile_index] + (state->m_videoram[2 * tile_index + 1] << 8);
|
||||
|
||||
|
||||
SET_TILE_INFO(
|
||||
1,
|
||||
(code & 0x07ff),
|
||||
@ -509,11 +509,11 @@ static TILE_GET_INFO( fg_get_tile_info )
|
||||
static VIDEO_START(majorpkr)
|
||||
{
|
||||
majorpkr_state *state = machine.driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, tilemap_scan_rows, 16, 8, 36, 28);
|
||||
state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, tilemap_scan_rows, 16, 8, 36, 28);
|
||||
tilemap_set_transparent_pen(state->m_fg_tilemap, 0);
|
||||
|
||||
|
||||
state->machine().generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 4 * 0x800);
|
||||
|
||||
state->m_videoram = auto_alloc_array(machine, UINT8, 4 * 0x800); /* 2 banks in use, but the game clears 4 after boot ... */
|
||||
@ -523,7 +523,7 @@ static VIDEO_START(majorpkr)
|
||||
static SCREEN_UPDATE(majorpkr)
|
||||
{
|
||||
majorpkr_state *state = screen->machine().driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine()));
|
||||
|
||||
rectangle custom_clip;
|
||||
@ -532,7 +532,7 @@ static SCREEN_UPDATE(majorpkr)
|
||||
form the render. We need more proof about how the video is working.
|
||||
*/
|
||||
custom_clip.min_x=cliprect->min_x;
|
||||
// custom_clip.max_x=cliprect->max_x-16;
|
||||
// custom_clip.max_x=cliprect->max_x-16;
|
||||
custom_clip.max_x=cliprect->max_x;
|
||||
custom_clip.min_y=cliprect->min_y;
|
||||
custom_clip.max_y=cliprect->max_y;
|
||||
@ -563,7 +563,7 @@ static WRITE8_HANDLER(rom_bank_w)
|
||||
static WRITE8_HANDLER(palette_bank_w)
|
||||
{
|
||||
majorpkr_state *state = space->machine().driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
state->m_palette_bank=data;
|
||||
}
|
||||
|
||||
@ -625,18 +625,18 @@ static WRITE8_HANDLER(vidreg_w)
|
||||
|
||||
/* If bit6 is active, the screen is drawn upside down.
|
||||
(also 0xfc and 0x11 are written to the CRTC registers 0xc0 and 0xd0)
|
||||
So, the CRTC display start address = 0xfc11
|
||||
*/
|
||||
So, the CRTC display start address = 0xfc11
|
||||
*/
|
||||
if (data & 0x40)
|
||||
{
|
||||
/* upside down screen */
|
||||
state->m_flip_state = 1;
|
||||
}
|
||||
|
||||
|
||||
/* If bit6 is not active, the screen is drawn normally.
|
||||
(also 0x00 is written to the CRTC registers 0xc0 and 0xd0)
|
||||
So, the CRTC display start address = 0x0000
|
||||
*/
|
||||
So, the CRTC display start address = 0x0000
|
||||
*/
|
||||
else
|
||||
{
|
||||
/* normal screen */
|
||||
@ -650,7 +650,7 @@ static WRITE8_HANDLER(vidreg_w)
|
||||
static READ8_HANDLER( mux_port_r )
|
||||
{
|
||||
majorpkr_state *state = space->machine().driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
switch( (state->m_mux_data & 0xf0) ) /* 00-10-20-30-0F-1F-2F-3F */
|
||||
{
|
||||
case 0x00: return input_port_read(space->machine(), "DSW1"); /* confirmed */
|
||||
@ -658,14 +658,14 @@ static READ8_HANDLER( mux_port_r )
|
||||
case 0x20: return input_port_read(space->machine(), "DSW3"); /* confirmed */
|
||||
case 0x30: return input_port_read(space->machine(), "DSW4"); /* confirmed */
|
||||
}
|
||||
|
||||
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( mux_port2_r )
|
||||
{
|
||||
majorpkr_state *state = space->machine().driver_data<majorpkr_state>();
|
||||
|
||||
|
||||
if ((state->m_mux_data & 0x0f) == 4)
|
||||
{
|
||||
return input_port_read(space->machine(), "IN0-1");
|
||||
@ -675,7 +675,7 @@ static READ8_HANDLER( mux_port2_r )
|
||||
return input_port_read(space->machine(), "IN0-0");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( mux_sel_w )
|
||||
{
|
||||
majorpkr_state *state = space->machine().driver_data<majorpkr_state>();
|
||||
@ -735,7 +735,7 @@ static WRITE8_HANDLER( lamps_b_w )
|
||||
output_set_lamp_value(10, (data >> 3) & 1); /* Lamp 10: Take */
|
||||
output_set_lamp_value(11, (data >> 4) & 1); /* Lamp 11: D-UP */
|
||||
output_set_lamp_value(12, (data >> 5) & 1); /* Lamp 12: Fever */
|
||||
|
||||
|
||||
if (data & 0xc0)
|
||||
logerror("Lamps B: Write to 14h: %02x\n", data);
|
||||
}
|
||||
@ -779,7 +779,7 @@ ADDRESS_MAP_END
|
||||
00 W ---> ROM bank.
|
||||
01 W ---> RAM bank.
|
||||
02 W ---> RAM bank.
|
||||
|
||||
|
||||
10 R ---> Regular inputs (holds) multiplexed with credits out.
|
||||
10 W ---> Writes a kind of watchdog (bit4) and mech counters pulses (bits 0-1-2-3).
|
||||
11 R ---> Read input port (remaining controls).
|
||||
@ -790,9 +790,9 @@ ADDRESS_MAP_END
|
||||
13 W ---> Lamps out (array a)
|
||||
14 R ---> Freeze. Switch in bit0 that pause the game when active. Just once active, the code loops till the bit resets.
|
||||
14 W ---> Lamps out (array b).
|
||||
|
||||
|
||||
50 RW ---> OKI6295 (RW)
|
||||
|
||||
|
||||
60 W ---> PSG SN76489/96 initialization routines.
|
||||
(Maybe a leftover for different hardware).
|
||||
*/
|
||||
@ -801,7 +801,7 @@ static ADDRESS_MAP_START( portmap, AS_IO, 8 )
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(rom_bank_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(palette_bank_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(vram_bank_w)
|
||||
|
||||
|
||||
AM_RANGE(0x10, 0x10) AM_READ(mux_port2_r) /* muxed set of controls */
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(pulses_w) /* kind of watchdog on bit4... mech counters on bits 0-1-2-3 */
|
||||
AM_RANGE(0x11, 0x11) AM_READ_PORT("IN1")
|
||||
@ -813,8 +813,8 @@ static ADDRESS_MAP_START( portmap, AS_IO, 8 )
|
||||
AM_RANGE(0x14, 0x14) AM_READ_PORT("TEST") /* "freeze" switch */
|
||||
AM_RANGE(0x14, 0x14) AM_WRITE(lamps_b_w) /* lamps b out */
|
||||
|
||||
// AM_RANGE(0x30, 0x30) AM_DEVWRITE("crtc", mc6845_address_w)
|
||||
// AM_RANGE(0x31, 0x31) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
|
||||
// AM_RANGE(0x30, 0x30) AM_DEVWRITE("crtc", mc6845_address_w)
|
||||
// AM_RANGE(0x31, 0x31) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
|
||||
|
||||
AM_RANGE(0x50, 0x50) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITENOP /* leftover from a PSG SN76489/96? */
|
||||
@ -982,9 +982,9 @@ static const gfx_layout tilelayout =
|
||||
RGN_FRAC(1,2),
|
||||
8,
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{
|
||||
0*8, 0*8+RGN_FRAC(1,2), 1*8, 1*8+RGN_FRAC(1,2), 2*8, 2*8+RGN_FRAC(1,2), 3*8, 3*8+RGN_FRAC(1,2),
|
||||
4*8, 4*8+RGN_FRAC(1,2), 5*8, 5*8+RGN_FRAC(1,2), 6*8, 6*8+RGN_FRAC(1,2), 7*8, 7*8+RGN_FRAC(1,2)
|
||||
{
|
||||
0*8, 0*8+RGN_FRAC(1,2), 1*8, 1*8+RGN_FRAC(1,2), 2*8, 2*8+RGN_FRAC(1,2), 3*8, 3*8+RGN_FRAC(1,2),
|
||||
4*8, 4*8+RGN_FRAC(1,2), 5*8, 5*8+RGN_FRAC(1,2), 6*8, 6*8+RGN_FRAC(1,2), 7*8, 7*8+RGN_FRAC(1,2)
|
||||
},
|
||||
{ 0*8*8, 1*8*8, 2*8*8, 3*8*8, 4*8*8, 5*8*8, 6*8*8, 7*8*8 },
|
||||
8*8*8
|
||||
@ -1039,7 +1039,7 @@ static MACHINE_CONFIG_START( majorpkr, majorpkr_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_SIZE((47+1)*16, (36+1)*8) /* through CRTC registers: 768 x 296 */
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0, (36*16)-1, 0, (28*8)-1) /* through CRTC registers: 560(+16) x 224 */
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0, (36*16)-1, 0, (28*8)-1) /* through CRTC registers: 560(+16) x 224 */
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, (35*16)-1, 0, (28*8)-1)
|
||||
|
||||
MCFG_GFXDECODE(majorpkr)
|
||||
@ -1047,7 +1047,7 @@ static MACHINE_CONFIG_START( majorpkr, majorpkr_state )
|
||||
|
||||
MCFG_VIDEO_START(majorpkr)
|
||||
MCFG_SCREEN_UPDATE(majorpkr)
|
||||
|
||||
|
||||
MCFG_MC6845_ADD("crtc", MC6845, CRTC_CLOCK, mc6845_intf) /* verified */
|
||||
|
||||
/* sound hardware */
|
||||
@ -1065,7 +1065,7 @@ ROM_START( majorpkr )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
||||
ROM_LOAD( "6_27c512_823b.bin", 0x00000, 0x0e000, CRC(a3d5475e) SHA1(cb41508b55da8b8c658a2f2ccc6ebda09db29040) )
|
||||
ROM_CONTINUE(0x10000,0x2000)
|
||||
|
||||
|
||||
ROM_REGION( 0x100000, "gfx1", 0 )
|
||||
ROM_LOAD( "p1_27c040_7d3b.bin", 0x00000, 0x80000, CRC(67299eff) SHA1(34d3d8baf08dea495b699dd63272b445e2acb42d) )
|
||||
ROM_LOAD( "p2_27c040_6039.bin", 0x80000, 0x80000, CRC(2d68b177) SHA1(01c934e0383991f2208b915cc5015463a8b6a8fd) )
|
||||
|
@ -4261,7 +4261,7 @@ static MACHINE_CONFIG_START( pururun, metro_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* Not confirmed */
|
||||
MCFG_CPU_PROGRAM_MAP(pururun_map)
|
||||
//MCFG_CPU_VBLANK_INT_HACK(msgogo_interrupt,262) /* fixes the title screen scroll in GunMaster, but makes the game painfully slow */
|
||||
//MCFG_CPU_VBLANK_INT_HACK(msgogo_interrupt,262) /* fixes the title screen scroll in GunMaster, but makes the game painfully slow */
|
||||
MCFG_CPU_VBLANK_INT_HACK(metro_interrupt,10) /* ? */
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) /* Not confiremd */
|
||||
|
@ -9,13 +9,13 @@
|
||||
Networking: SMC EZ Card 10 / SMC1208T (probably 10ec:8029 1113:1208)
|
||||
Graphics Chips : Quantum Obsidian 3DFX
|
||||
Storage : Hard Drive
|
||||
|
||||
|
||||
Chipsets (440BX AGPset):
|
||||
- 82371EB PCI-ISA bridge
|
||||
- 82371EB Power Management Controller
|
||||
- 82371AB/EB Universal Host Controller (USB UHCI)
|
||||
- 82371AB/EB PCI Bus Master IDE Controller
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -41,13 +41,13 @@ IRQ line connected to CPU
|
||||
| | | CA2 OUTPUT, A on strobe multiplexer
|
||||
| | | IRQA Not connected
|
||||
| | |
|
||||
| | | CB2 IC19 Triac switch
|
||||
| | | CB2 IC19 Triac switch
|
||||
| | | Port B triacs
|
||||
|
||||
9800 |R/W| D D D D D D D D | PIA6821 IC4
|
||||
| | | PA0-PA6 INPUT Yellow 15 way data (7SEG LED or Meters)
|
||||
| | | PA7 802 (Q) IC11 G1
|
||||
| | | PB0-PB7 INPUT IC24
|
||||
| | | PA7 802 (Q) IC11 G1
|
||||
| | | PB0-PB7 INPUT IC24
|
||||
| | | CA2 OUTPUT, B on strobe multiplexer
|
||||
| | | CB2 TRiac switch
|
||||
|
||||
@ -55,7 +55,7 @@ A000-A003 |R/W| D D D D D D D D | PIA6821 IC5 port A Reel drives
|
||||
| | | port B Reel opto
|
||||
| | |
|
||||
| | | CA2 OUTPUT, C on strobe multiplexer
|
||||
| | | CB2 TRiac switch
|
||||
| | | CB2 TRiac switch
|
||||
-----------+---+-----------------+--------------------------------------------------------------------------
|
||||
A800-A803 |R/W| D D D D D D D D | PIA6821 IC6 PA0-PA7, AUX1 connector (ALPHA)
|
||||
| | | PB0-PB7, AUX2 connector
|
||||
@ -63,13 +63,13 @@ A800-A803 |R/W| D D D D D D D D | PIA6821 IC6 PA0-PA7, AUX1 connector (ALPHA)
|
||||
| | |
|
||||
|
||||
-----------+---+-----------------+--------------------------------------------------------------------------
|
||||
??? B000-FFFF | R | D D D D D D D D | ROM
|
||||
??? B000-FFFF | R | D D D D D D D D | ROM
|
||||
-----------+---+-----------------+--------------------------------------------------------------------------
|
||||
|
||||
TODO: - Distinguish door switches using manual
|
||||
- Add discrete sound functionality (same as MPU4 alarm)
|
||||
- Is pulse timer ic11 right?
|
||||
- 12V meter alarm on hyper viper - how are meters sensed?
|
||||
- Add discrete sound functionality (same as MPU4 alarm)
|
||||
- Is pulse timer ic11 right?
|
||||
- 12V meter alarm on hyper viper - how are meters sensed?
|
||||
|
||||
***********************************************************************************************************/
|
||||
#include "emu.h"
|
||||
@ -154,7 +154,7 @@ static void update_triacs(running_machine &machine)
|
||||
int i,triacdata;
|
||||
|
||||
triacdata=state->m_triac_ic3 + (state->m_triac_ic4 << 8) + (state->m_triac_ic5 << 9);
|
||||
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
output_set_indexed_value("triac", i, triacdata & (1 << i));
|
||||
@ -325,7 +325,7 @@ static READ8_DEVICE_HANDLER( pia_ic3_porta_r )
|
||||
LOG(("%s: IC3 PIA Read of Port A (MUX input data)\n", device->machine().describe_context()));
|
||||
popmessage("%x",state->m_input_strobe);
|
||||
switch (state->m_input_strobe)
|
||||
{
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
@ -531,12 +531,12 @@ static WRITE8_DEVICE_HANDLER( pia_ic5_porta_w )
|
||||
static READ8_DEVICE_HANDLER( pia_ic5_portb_r )
|
||||
{
|
||||
mpu3_state *state = device->machine().driver_data<mpu3_state>();
|
||||
if (state->m_ic3_data & 0x80 )
|
||||
if (state->m_ic3_data & 0x80 )
|
||||
{
|
||||
return state->m_optic_pattern;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return state->m_ic3_data;
|
||||
}
|
||||
}
|
||||
@ -671,7 +671,7 @@ static INPUT_PORTS_START( mpu3 )
|
||||
PORT_START("DIL1")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL101" ) PORT_DIPLOCATION("DIL1:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL102" ) PORT_DIPLOCATION("DIL1:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -697,7 +697,7 @@ static INPUT_PORTS_START( mpu3 )
|
||||
PORT_START("DIL2")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL201" ) PORT_DIPLOCATION("DIL2:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL202" ) PORT_DIPLOCATION("DIL2:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -775,7 +775,7 @@ static MACHINE_START( mpu3 )
|
||||
/*
|
||||
Characteriser (CHR)
|
||||
|
||||
The MPU3 characteriser is surprisingly simple to simulate, as it operates a call, response pairing. The only factor that provides a challenge is that the
|
||||
The MPU3 characteriser is surprisingly simple to simulate, as it operates a call, response pairing. The only factor that provides a challenge is that the
|
||||
address of the PAL in memory varies between games. Once found, the memory location of the data table is easily found from the X register of the CPU.
|
||||
*/
|
||||
|
||||
@ -935,4 +935,4 @@ ROM_END
|
||||
// year, name, parent, machine, input, init, monitor, company, fullname, flags
|
||||
//Diagnostic ROMs
|
||||
GAME( 198?, mpu3utst, 0, mpu3base, mpu3, 0, ROT0, "Barcrest", "MPU3 Unit Test (Program 5)", GAME_NO_SOUND )
|
||||
GAME( 198?, m_hprvpr, 0, mpu3base, mpu3, m_hprvpr, ROT0, "Barcrest", "Hyper Viper", GAME_NO_SOUND|GAME_UNEMULATED_PROTECTION )
|
||||
GAME( 198?, m_hprvpr, 0, mpu3base, mpu3, m_hprvpr, ROT0, "Barcrest", "Hyper Viper", GAME_NO_SOUND|GAME_UNEMULATED_PROTECTION )
|
||||
|
@ -5,9 +5,9 @@
|
||||
This driver holds all the mechanical games.
|
||||
|
||||
04-2011: More accurate gamball code, fixed ROM banking (Project Amber), added BwB CHR simulator (Amber)
|
||||
This is still a hard coded system, but significantly different to Barcrest's version.
|
||||
This is still a hard coded system, but significantly different to Barcrest's version.
|
||||
03-2011: Lamp timing fixes, support for all known expansion cards added.
|
||||
01-2011: Adding the missing 'OKI' sound card, and documented it, but needs 6376 rewrite.
|
||||
01-2011: Adding the missing 'OKI' sound card, and documented it, but needs 6376 rewrite.
|
||||
09-2007: Haze: Added Deal 'Em video support.
|
||||
03-08-2007: J Wallace: Removed audio filter for now, since sound is more accurate without them.
|
||||
Connect 4 now has the right sound.
|
||||
@ -697,13 +697,13 @@ static WRITE_LINE_DEVICE_HANDLER( cpu0_irq )
|
||||
}
|
||||
}
|
||||
|
||||
/* Bankswitching
|
||||
/* Bankswitching
|
||||
The MOD 4 ROM cards are set up to handle 8 separate ROM pages, arranged as 2 sets of 4.
|
||||
The bankswitch selects which of the 4 pages in the set is active, while the bankset
|
||||
switches between the sets.
|
||||
It appears that the cards were originally intended to be used in a 'half' page setup,
|
||||
where the two halves of the ROM space could be mixed and matched as appropriate.
|
||||
However, there is no evidence to suggest this was ever implemented.
|
||||
where the two halves of the ROM space could be mixed and matched as appropriate.
|
||||
However, there is no evidence to suggest this was ever implemented.
|
||||
The controls for it exist however, in the form of the Soundboard PIA CB2 pin, which is
|
||||
used in some cabinets instead of the main control.
|
||||
*/
|
||||
@ -1160,9 +1160,9 @@ static WRITE8_DEVICE_HANDLER( pia_ic5_porta_w )
|
||||
holes. When the low 4 bytes of AUX1 are triggered, this fires the ball out from the
|
||||
hole it's currently in, to land in another. Landing in the same hole causes the machine to
|
||||
refire the ball. The ball detection is done by the high 4 bytes of AUX1.
|
||||
Here we call the MAME RNG, once to pick a row, once to pick from the four pockets within it. We
|
||||
then trigger the switches corresponding to the correct number. This appears to be the best way
|
||||
of making the game fair, short of simulating the physics of a bouncing ball ;)*/
|
||||
Here we call the MAME RNG, once to pick a row, once to pick from the four pockets within it. We
|
||||
then trigger the switches corresponding to the correct number. This appears to be the best way
|
||||
of making the game fair, short of simulating the physics of a bouncing ball ;)*/
|
||||
if (data & 0x0f)
|
||||
{
|
||||
switch (device->machine().rand() & 0x2)
|
||||
@ -1211,7 +1211,7 @@ static WRITE8_DEVICE_HANDLER( pia_ic5_porta_w )
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 0x02: //Bottom row
|
||||
case 0x02: //Bottom row
|
||||
{
|
||||
switch (device->machine().rand() & 0x3)
|
||||
{
|
||||
@ -1826,7 +1826,7 @@ static INPUT_PORTS_START( mpu4 )
|
||||
PORT_START("DIL1")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL101" ) PORT_DIPLOCATION("DIL1:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL102" ) PORT_DIPLOCATION("DIL1:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -1852,7 +1852,7 @@ static INPUT_PORTS_START( mpu4 )
|
||||
PORT_START("DIL2")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL201" ) PORT_DIPLOCATION("DIL2:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL202" ) PORT_DIPLOCATION("DIL2:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -1941,7 +1941,7 @@ static INPUT_PORTS_START( connect4 )
|
||||
PORT_START("DIL1")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL101" ) PORT_DIPLOCATION("DIL1:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL102" ) PORT_DIPLOCATION("DIL1:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -1967,7 +1967,7 @@ static INPUT_PORTS_START( connect4 )
|
||||
PORT_START("DIL2")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL201" ) PORT_DIPLOCATION("DIL2:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL202" ) PORT_DIPLOCATION("DIL2:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -2055,7 +2055,7 @@ static INPUT_PORTS_START( gamball )
|
||||
PORT_START("DIL1")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL101" ) PORT_DIPLOCATION("DIL1:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL102" ) PORT_DIPLOCATION("DIL1:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -2081,7 +2081,7 @@ static INPUT_PORTS_START( gamball )
|
||||
PORT_START("DIL2")
|
||||
PORT_DIPNAME( 0x80, 0x00, "DIL201" ) PORT_DIPLOCATION("DIL2:01")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, "DIL202" ) PORT_DIPLOCATION("DIL2:02")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
@ -2365,7 +2365,7 @@ The subsequent calls for each can be found based on the magic address
|
||||
(1) = ( (BWBMagicAddress + 1))
|
||||
(2) = ( (BWBMagicAddress + 2))
|
||||
(3) = ( (BWBMagicAddress + 4))
|
||||
|
||||
|
||||
(4) = ( (BWBMagicAddress - 5))
|
||||
(5) = ( (BWBMagicAddress - 4))
|
||||
(6) = ( (BWBMagicAddress - 3))
|
||||
@ -2453,7 +2453,7 @@ static READ8_HANDLER( bwb_characteriser_r )
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return state->m_chr_value;
|
||||
}
|
||||
|
@ -2643,7 +2643,7 @@ static READ16_HANDLER( bwb_characteriser16_r )
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return state->m_chr_value;
|
||||
}
|
||||
|
@ -815,7 +815,7 @@ ROM_START(racingj2)
|
||||
ROM_LOAD( "888a10.14p", 0x400000, 0x400000, CRC(328ce610) SHA1(dbbc779a1890c53298c0db129d496df048929496) )
|
||||
|
||||
ROM_REGION(0x2000, "m48t58",0)
|
||||
ROM_LOAD( "m48t58y-70pc1.35d", 0x000000, 0x002000, CRC(1aa43a1f) SHA1(814b691b8a358bf1545a13d595d17070e612e9a4) )
|
||||
ROM_LOAD( "m48t58y-70pc1.35d", 0x000000, 0x002000, CRC(1aa43a1f) SHA1(814b691b8a358bf1545a13d595d17070e612e9a4) )
|
||||
ROM_END
|
||||
|
||||
ROM_START(thrilld)
|
||||
|
@ -255,7 +255,7 @@ static ADDRESS_MAP_START( spoker_portmap, AS_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( 3super8_portmap, AS_IO, 8 )
|
||||
// AM_RANGE( 0x1000, 0x1fff ) AM_WRITENOP
|
||||
// AM_RANGE( 0x1000, 0x1fff ) AM_WRITENOP
|
||||
|
||||
AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split1_w ) AM_BASE_GENERIC( paletteram )
|
||||
AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE( paletteram_xBBBBBGGGGGRRRRR_split2_w ) AM_BASE_GENERIC( paletteram2 )
|
||||
@ -268,7 +268,7 @@ static ADDRESS_MAP_START( 3super8_portmap, AS_IO, 8 )
|
||||
AM_RANGE( 0x4003, 0x4003 ) AM_READ_PORT( "DSW4" )
|
||||
AM_RANGE( 0x4004, 0x4004 ) AM_READ_PORT( "DSW5" )
|
||||
|
||||
// AM_RANGE( 0x4000, 0x40ff ) AM_WRITENOP
|
||||
// AM_RANGE( 0x4000, 0x40ff ) AM_WRITENOP
|
||||
|
||||
AM_RANGE( 0x5000, 0x5fff ) AM_RAM_WRITE( fg_tile_w ) AM_BASE_MEMBER( spoker_state,m_fg_tile_ram )
|
||||
|
||||
@ -518,7 +518,7 @@ static MACHINE_RESET( spoker )
|
||||
|
||||
static INTERRUPT_GEN( spoker_interrupt )
|
||||
{
|
||||
// spoker_state *state = device->machine().driver_data<spoker_state>();
|
||||
// spoker_state *state = device->machine().driver_data<spoker_state>();
|
||||
|
||||
device_set_input_line(device, INPUT_LINE_NMI, ASSERT_LINE);
|
||||
}
|
||||
|
@ -151,41 +151,41 @@ static WRITE32_HANDLER( f3_sound_bankswitch_w )
|
||||
static WRITE16_HANDLER( f3_unk_w )
|
||||
{
|
||||
/*
|
||||
Several games writes a value here at POST, dunno what kind of config this is ...
|
||||
ringrage: 0x0000
|
||||
arabianm: 0x0000
|
||||
ridingf: (no init)
|
||||
gseeker: (no init)
|
||||
commandw:(no init)
|
||||
cupfinal: 0x0100
|
||||
trstar: (no init)
|
||||
gunlock: 0x0000
|
||||
scfinals: 0x0100
|
||||
lightbr: (no init)
|
||||
intcup94: 0x0100
|
||||
kaiserkn: 0x0100
|
||||
dariusg: 0x278b
|
||||
bublbob2:(no init)
|
||||
pwrgoal: 0x0100
|
||||
qtheater: 0x0090
|
||||
elvactr: 0x278b
|
||||
recalh: 0x0090
|
||||
spcinv95: 0x0100
|
||||
twinqix: (no init)
|
||||
quizhuhu: 0x0000
|
||||
pbobble2: 0x278b
|
||||
gekiridn: 0x278b
|
||||
tcobra2: 0x0000
|
||||
bubblem: (no init)
|
||||
cleopatr: 0x0100
|
||||
pbobble3: 0x278b
|
||||
arkretn: 0x0000
|
||||
kirameki: 0x0100
|
||||
puchicar: 0x0000
|
||||
pbobble4: 0x278b
|
||||
popnpop: 0x0000
|
||||
landmakr: 0x278b
|
||||
*/
|
||||
Several games writes a value here at POST, dunno what kind of config this is ...
|
||||
ringrage: 0x0000
|
||||
arabianm: 0x0000
|
||||
ridingf: (no init)
|
||||
gseeker: (no init)
|
||||
commandw:(no init)
|
||||
cupfinal: 0x0100
|
||||
trstar: (no init)
|
||||
gunlock: 0x0000
|
||||
scfinals: 0x0100
|
||||
lightbr: (no init)
|
||||
intcup94: 0x0100
|
||||
kaiserkn: 0x0100
|
||||
dariusg: 0x278b
|
||||
bublbob2:(no init)
|
||||
pwrgoal: 0x0100
|
||||
qtheater: 0x0090
|
||||
elvactr: 0x278b
|
||||
recalh: 0x0090
|
||||
spcinv95: 0x0100
|
||||
twinqix: (no init)
|
||||
quizhuhu: 0x0000
|
||||
pbobble2: 0x278b
|
||||
gekiridn: 0x278b
|
||||
tcobra2: 0x0000
|
||||
bubblem: (no init)
|
||||
cleopatr: 0x0100
|
||||
pbobble3: 0x278b
|
||||
arkretn: 0x0000
|
||||
kirameki: 0x0100
|
||||
puchicar: 0x0000
|
||||
pbobble4: 0x278b
|
||||
popnpop: 0x0000
|
||||
landmakr: 0x278b
|
||||
*/
|
||||
if(offset == 0)
|
||||
logerror("0x4c0000 write %04x\n",data);
|
||||
else
|
||||
@ -202,11 +202,11 @@ static ADDRESS_MAP_START( f3_map, AS_PROGRAM, 32 )
|
||||
AM_RANGE(0x4a0000, 0x4a001f) AM_READWRITE(f3_control_r, f3_control_w)
|
||||
AM_RANGE(0x4c0000, 0x4c0003) AM_WRITE16(f3_unk_w,0xffffffff)
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_READWRITE16(f3_spriteram_r,f3_spriteram_w,0xffffffff) //AM_BASE_SIZE_MEMBER(taito_f3_state, m_spriteram, m_spriteram_size)
|
||||
AM_RANGE(0x610000, 0x61bfff) AM_READWRITE16(f3_pf_data_r,f3_pf_data_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_pf_data)
|
||||
AM_RANGE(0x610000, 0x61bfff) AM_READWRITE16(f3_pf_data_r,f3_pf_data_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_pf_data)
|
||||
AM_RANGE(0x61c000, 0x61dfff) AM_READWRITE16(f3_videoram_r,f3_videoram_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_videoram)
|
||||
AM_RANGE(0x61e000, 0x61ffff) AM_READWRITE16(f3_vram_r,f3_vram_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_vram)
|
||||
AM_RANGE(0x620000, 0x62ffff) AM_READWRITE16(f3_lineram_r,f3_lineram_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_line_ram)
|
||||
AM_RANGE(0x630000, 0x63ffff) AM_READWRITE16(f3_pivot_r,f3_pivot_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_pivot_ram)
|
||||
AM_RANGE(0x630000, 0x63ffff) AM_READWRITE16(f3_pivot_r,f3_pivot_w,0xffffffff) //AM_BASE_MEMBER(taito_f3_state, m_f3_pivot_ram)
|
||||
AM_RANGE(0x660000, 0x66000f) AM_WRITE16(f3_control_0_w,0xffffffff)
|
||||
AM_RANGE(0x660010, 0x66001f) AM_WRITE16(f3_control_1_w,0xffffffff)
|
||||
AM_RANGE(0xc00000, 0xc007ff) AM_RAM AM_SHARE("f3_shared")
|
||||
|
@ -43,55 +43,55 @@ DASM code snippets:
|
||||
|
||||
IRQs:
|
||||
|
||||
IRQ0: ??? (Task 4)
|
||||
IRQ0: ??? (Task 4)
|
||||
IRQ1: unused
|
||||
IRQ2: unused
|
||||
IRQ3: ??? (Task 5, sound?)
|
||||
IRQ4: Voodoo3 Currently only for User Interrupt Command, maybe a more extensive handler gets installed later?
|
||||
|
||||
I2C: ??? (no task switch) what drives this? network?
|
||||
IRQ3: ??? (Task 5, sound?)
|
||||
IRQ4: Voodoo3 Currently only for User Interrupt Command, maybe a more extensive handler gets installed later?
|
||||
|
||||
I2C: ??? (no task switch) what drives this? network?
|
||||
DMA0: unused
|
||||
DMA1: unused
|
||||
IIVPR3: unused
|
||||
|
||||
|
||||
Memory:
|
||||
|
||||
|
||||
0x000001E0: Current task
|
||||
0x000001E1: Current FPU task
|
||||
0x000001E4: Scheduled tasks bitvector (bit 31 = task0, etc.)
|
||||
0x00000A00...BFF: Task structures
|
||||
0x00-03: unknown
|
||||
0x04: unknown
|
||||
0x05: if non-zero, this task uses FPU
|
||||
0x06-07: unknown
|
||||
0x08: unknown mem pointer, task stack pointer?
|
||||
0x0c: pointer to task PC (also top of stack?)
|
||||
|
||||
|
||||
0x00000310: Global timer 0 IRQ handler
|
||||
0x00000320: Global timer 1 IRQ handler
|
||||
0x00000330: Global timer 2 IRQ handler
|
||||
0x00000340: Global timer 3 IRQ handler
|
||||
0x00000350: IRQ0 handler
|
||||
0x00000360: IRQ1 handler
|
||||
0x00000370: IRQ2 handler
|
||||
0x00000380: IRQ3 handler
|
||||
0x00000390: IRQ4 handler
|
||||
0x000003a0: I2C IRQ handler
|
||||
0x000003b0: DMA0 IRQ handler
|
||||
0x000003c0: DMA1 IRQ handler
|
||||
0x000003d0: Message Unit IRQ handler
|
||||
|
||||
0x000004e4: Global timer 0 IRQ handler function ptr
|
||||
0x000004e8: Global timer 1 IRQ handler function ptr
|
||||
0x000004ec: Global timer 2 IRQ handler function ptr
|
||||
0x000004f0: Global timer 3 IRQ handler function ptr
|
||||
0x00-03: unknown
|
||||
0x04: unknown
|
||||
0x05: if non-zero, this task uses FPU
|
||||
0x06-07: unknown
|
||||
0x08: unknown mem pointer, task stack pointer?
|
||||
0x0c: pointer to task PC (also top of stack?)
|
||||
|
||||
|
||||
0x00000310: Global timer 0 IRQ handler
|
||||
0x00000320: Global timer 1 IRQ handler
|
||||
0x00000330: Global timer 2 IRQ handler
|
||||
0x00000340: Global timer 3 IRQ handler
|
||||
0x00000350: IRQ0 handler
|
||||
0x00000360: IRQ1 handler
|
||||
0x00000370: IRQ2 handler
|
||||
0x00000380: IRQ3 handler
|
||||
0x00000390: IRQ4 handler
|
||||
0x000003a0: I2C IRQ handler
|
||||
0x000003b0: DMA0 IRQ handler
|
||||
0x000003c0: DMA1 IRQ handler
|
||||
0x000003d0: Message Unit IRQ handler
|
||||
|
||||
0x000004e4: Global timer 0 IRQ handler function ptr
|
||||
0x000004e8: Global timer 1 IRQ handler function ptr
|
||||
0x000004ec: Global timer 2 IRQ handler function ptr
|
||||
0x000004f0: Global timer 3 IRQ handler function ptr
|
||||
|
||||
|
||||
|
||||
Functions of interest:
|
||||
|
||||
|
||||
0x0000f7b4: SwitchTask()
|
||||
0x00009d00: LoadProgram(): R3 = ptr to filename
|
||||
0x00009d00: LoadProgram(): R3 = ptr to filename
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -117,12 +117,12 @@ public:
|
||||
viper_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
|
||||
|
||||
UINT32 m_epic_iack;
|
||||
int m_cf_card_ide;
|
||||
int m_unk1_bit;
|
||||
UINT32 m_voodoo3_pci_reg[0x100];
|
||||
|
||||
|
||||
};
|
||||
|
||||
UINT32 m_mpc8240_regs[256/4];
|
||||
@ -132,9 +132,9 @@ UINT32 m_mpc8240_regs[256/4];
|
||||
static UINT32 mpc8240_pci_r(device_t *busdevice, device_t *device, int function, int reg, UINT32 mem_mask)
|
||||
{
|
||||
// device is null?
|
||||
// viper_state *state = device->machine().driver_data<viper_state>();
|
||||
// viper_state *state = device->machine().driver_data<viper_state>();
|
||||
#ifdef VIPER_DEBUG_LOG
|
||||
// printf("MPC8240: PCI read %d, %02X, %08X\n", function, reg, mem_mask);
|
||||
// printf("MPC8240: PCI read %d, %02X, %08X\n", function, reg, mem_mask);
|
||||
#endif
|
||||
|
||||
switch (reg)
|
||||
@ -147,9 +147,9 @@ static UINT32 mpc8240_pci_r(device_t *busdevice, device_t *device, int function,
|
||||
static void mpc8240_pci_w(device_t *busdevice, device_t *device, int function, int reg, UINT32 data, UINT32 mem_mask)
|
||||
{
|
||||
// device is null?
|
||||
// viper_state *state = device->machine().driver_data<viper_state>();
|
||||
// viper_state *state = device->machine().driver_data<viper_state>();
|
||||
#ifdef VIPER_DEBUG_LOG
|
||||
// printf("MPC8240: PCI write %d, %02X, %08X, %08X\n", function, reg, data, mem_mask);
|
||||
// printf("MPC8240: PCI write %d, %02X, %08X, %08X\n", function, reg, data, mem_mask);
|
||||
#endif
|
||||
COMBINE_DATA(m_mpc8240_regs + (reg/4));
|
||||
//COMBINE_DATA(state->m_mpc8240_regs + (reg/4));
|
||||
@ -226,11 +226,11 @@ typedef struct
|
||||
UINT32 iack;
|
||||
UINT32 eicr;
|
||||
UINT32 svr;
|
||||
|
||||
|
||||
int active_irq;
|
||||
|
||||
|
||||
MPC8240_IRQ irq[MPC8240_NUM_INTERRUPTS];
|
||||
|
||||
|
||||
} MPC8240_EPIC;
|
||||
|
||||
|
||||
@ -240,10 +240,10 @@ static MPC8240_EPIC epic;
|
||||
static void epic_update_interrupts(running_machine &machine)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
int irq = -1;
|
||||
int priority = -1;
|
||||
|
||||
|
||||
// find the highest priority pending interrupt
|
||||
for (i=MPC8240_NUM_INTERRUPTS-1; i >= 0; i--)
|
||||
{
|
||||
@ -256,17 +256,17 @@ static void epic_update_interrupts(running_machine &machine)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (irq >= 0 && epic.active_irq == -1)
|
||||
{
|
||||
printf("EPIC IRQ%d taken\n", irq);
|
||||
|
||||
|
||||
epic.active_irq = irq;
|
||||
epic.irq[epic.active_irq].pending = 0;
|
||||
epic.irq[epic.active_irq].active = 1;
|
||||
|
||||
|
||||
epic.iack = epic.irq[epic.active_irq].vector;
|
||||
|
||||
|
||||
printf("vector = %02X\n", epic.iack);
|
||||
|
||||
cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
|
||||
@ -281,9 +281,9 @@ static READ32_HANDLER( epic_r )
|
||||
{
|
||||
int reg;
|
||||
reg = offset * 4;
|
||||
|
||||
|
||||
//printf("EPIC: read %08X, %08X at %08X\n", reg, mem_mask, activecpu_get_pc());
|
||||
|
||||
|
||||
switch (reg >> 16)
|
||||
{
|
||||
// 0x50000 - 0x5FFFF
|
||||
@ -310,18 +310,18 @@ static READ32_HANDLER( epic_r )
|
||||
{
|
||||
int irq = ((reg & 0xffff) - 0x200) >> 5;
|
||||
int value = 0;
|
||||
|
||||
|
||||
value |= epic.irq[MPC8240_IRQ0 + irq].mask ? 0x80000000 : 0;
|
||||
value |= epic.irq[MPC8240_IRQ0 + irq].priority << 16;
|
||||
value |= epic.irq[MPC8240_IRQ0 + irq].vector;
|
||||
value |= epic.irq[MPC8240_IRQ0 + irq].active ? 0x40000000 : 0;
|
||||
|
||||
|
||||
return value;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// 0x60000 - 0x6FFFF
|
||||
case 0x6:
|
||||
{
|
||||
@ -330,7 +330,7 @@ static READ32_HANDLER( epic_r )
|
||||
case 0x00a0: // Offset 0x600A0 - IACK
|
||||
{
|
||||
epic_update_interrupts(space->machine());
|
||||
|
||||
|
||||
if (epic.active_irq >= 0)
|
||||
{
|
||||
return epic.iack;
|
||||
@ -341,12 +341,12 @@ static READ32_HANDLER( epic_r )
|
||||
return epic.svr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -354,7 +354,7 @@ static WRITE32_HANDLER( epic_w )
|
||||
{
|
||||
int reg;
|
||||
reg = offset * 4;
|
||||
|
||||
|
||||
printf("EPIC: write %08X, %08X, %08X at %08X\n", data, reg, mem_mask, cpu_get_pc(&space->device()));
|
||||
|
||||
switch (reg >> 16)
|
||||
@ -369,20 +369,20 @@ static WRITE32_HANDLER( epic_w )
|
||||
epic.eicr = data;
|
||||
if (data & 0x08000000)
|
||||
fatalerror("EPIC: serial interrupts mode not implemented");
|
||||
break;
|
||||
break;
|
||||
}
|
||||
case 0x10e0: // Offset 0x410E0 - Spurious Vector Register
|
||||
{
|
||||
epic.svr = data;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
case 0x1120: // Offset 0x41120 - Global timer 0 vector/priority register
|
||||
case 0x1160: // Offset 0x41160 - Global timer 1 vector/priority register
|
||||
case 0x11a0: // Offset 0x411A0 - Global timer 2 vector/priority register
|
||||
case 0x11e0: // Offset 0x411E0 - Global timer 3 vector/priority register
|
||||
case 0x11e0: // Offset 0x411E0 - Global timer 3 vector/priority register
|
||||
{
|
||||
int timer = ((reg & 0xffff) - 0x1120) >> 6;
|
||||
|
||||
|
||||
epic.irq[MPC8240_GTIMER0_IRQ + timer].mask = (data & 0x80000000) ? 1 : 0;
|
||||
epic.irq[MPC8240_GTIMER0_IRQ + timer].priority = (data >> 16) & 0xf;
|
||||
epic.irq[MPC8240_GTIMER0_IRQ + timer].vector = data & 0xff;
|
||||
@ -394,14 +394,14 @@ static WRITE32_HANDLER( epic_w )
|
||||
case 0x11f0: // Offset 0x411F0 - Global timer 3 destination register
|
||||
{
|
||||
int timer = ((reg & 0xffff) - 0x1130) >> 6;
|
||||
|
||||
|
||||
epic.irq[MPC8240_GTIMER0_IRQ + timer].destination = data & 0x1;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// 0x50000 - 0x5FFFF
|
||||
case 0x5:
|
||||
{
|
||||
@ -425,7 +425,7 @@ static WRITE32_HANDLER( epic_w )
|
||||
case 0x03e0: // Offset 0x503e0 - IRQ15 vector/priority register
|
||||
{
|
||||
int irq = ((reg & 0xffff) - 0x200) >> 5;
|
||||
|
||||
|
||||
epic.irq[MPC8240_IRQ0 + irq].mask = (data & 0x80000000) ? 1 : 0;
|
||||
epic.irq[MPC8240_IRQ0 + irq].priority = (data >> 16) & 0xf;
|
||||
epic.irq[MPC8240_IRQ0 + irq].vector = data & 0xff;
|
||||
@ -449,14 +449,14 @@ static WRITE32_HANDLER( epic_w )
|
||||
case 0x03f0: // Offset 0x503f0 - IRQ15 destination register
|
||||
{
|
||||
int irq = ((reg & 0xffff) - 0x210) >> 5;
|
||||
|
||||
|
||||
epic.irq[MPC8240_IRQ0 + irq].destination = data & 0x1;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// 0x60000 - 0x6FFFF
|
||||
case 0x6:
|
||||
{
|
||||
@ -466,11 +466,11 @@ static WRITE32_HANDLER( epic_w )
|
||||
printf("EPIC IRQ%d cleared.\n", epic.active_irq);
|
||||
epic.irq[epic.active_irq].active = 0;
|
||||
epic.active_irq = -1;
|
||||
|
||||
|
||||
epic_update_interrupts(space->machine());
|
||||
break;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -490,7 +490,7 @@ static void mpc8240_interrupt(running_machine &machine, int irq)
|
||||
if (epic.irq[irq].mask == 0 && epic.irq[irq].priority > 0)
|
||||
{
|
||||
epic.irq[irq].pending = 1;
|
||||
|
||||
|
||||
epic_update_interrupts(machine);
|
||||
}
|
||||
}
|
||||
@ -498,12 +498,12 @@ static void mpc8240_interrupt(running_machine &machine, int irq)
|
||||
static void mpc8240_epic_reset(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
for (i=0; i < MPC8240_NUM_INTERRUPTS; i++)
|
||||
{
|
||||
epic.irq[i].mask = 1;
|
||||
epic.irq[i].mask = 1;
|
||||
}
|
||||
|
||||
|
||||
epic.active_irq = -1;
|
||||
}
|
||||
|
||||
@ -696,7 +696,7 @@ static WRITE64_DEVICE_HANDLER(cf_card_w)
|
||||
// cylinder high register is set to 0x00
|
||||
|
||||
ide_bus_w(device, 1, 6, 0x04);
|
||||
|
||||
|
||||
ide_bus_w(device, 0, 2, 0x01);
|
||||
ide_bus_w(device, 0, 3, 0x01);
|
||||
ide_bus_w(device, 0, 4, 0x00);
|
||||
@ -943,9 +943,9 @@ static WRITE64_HANDLER(voodoo3_lfb_w)
|
||||
static ADDRESS_MAP_START(viper_map, AS_PROGRAM, 64)
|
||||
AM_RANGE(0x00000000, 0x00ffffff) AM_MIRROR(0x1000000) AM_RAM
|
||||
AM_RANGE(0x80000000, 0x800fffff) AM_READWRITE(epic_64be_r, epic_64be_w)
|
||||
// AM_RANGE(0x82000000, 0x83ffffff) AM_DEVREADWRITE32("voodoo", banshee_r, banshee_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0x84000000, 0x85ffffff) AM_DEVREADWRITE32("voodoo", banshee_fb_r, banshee_fb_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0xfe800000, 0xfe8000ff) AM_DEVREADWRITE32("voodoo", banshee_io_r, banshee_io_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0x82000000, 0x83ffffff) AM_DEVREADWRITE32("voodoo", banshee_r, banshee_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0x84000000, 0x85ffffff) AM_DEVREADWRITE32("voodoo", banshee_fb_r, banshee_fb_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0xfe800000, 0xfe8000ff) AM_DEVREADWRITE32("voodoo", banshee_io_r, banshee_io_w, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x82000000, 0x83ffffff) AM_READWRITE(voodoo3_r, voodoo3_w)
|
||||
AM_RANGE(0x84000000, 0x85ffffff) AM_READWRITE(voodoo3_lfb_r, voodoo3_lfb_w)
|
||||
AM_RANGE(0xfe800000, 0xfe8000ff) AM_READWRITE(voodoo3_io_r, voodoo3_io_w)
|
||||
@ -979,7 +979,7 @@ static const powerpc_config viper_ppc_cfg =
|
||||
static INTERRUPT_GEN(viper_vblank)
|
||||
{
|
||||
mpc8240_interrupt(device->machine(), MPC8240_IRQ0);
|
||||
//mpc8240_interrupt(device->machine, MPC8240_IRQ3);
|
||||
//mpc8240_interrupt(device->machine, MPC8240_IRQ3);
|
||||
}
|
||||
|
||||
static void voodoo_vblank(const device_config *device, int param)
|
||||
|
@ -631,7 +631,7 @@ VIDEO_START( f3 )
|
||||
tilemap_set_transparent_pen(state->m_pf1_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf2_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf3_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf4_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf4_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf5_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf6_tilemap,0);
|
||||
tilemap_set_transparent_pen(state->m_pf7_tilemap,0);
|
||||
@ -747,12 +747,12 @@ WRITE16_HANDLER( f3_pf_data_w )
|
||||
COMBINE_DATA(&state->m_f3_pf_data[offset]);
|
||||
|
||||
if (state->m_f3_game_config->extend) {
|
||||
if (offset<0x1000) tilemap_mark_tile_dirty(state->m_pf1_tilemap,(offset & 0xfff) >> 1);
|
||||
if (offset<0x1000) tilemap_mark_tile_dirty(state->m_pf1_tilemap,(offset & 0xfff) >> 1);
|
||||
else if (offset<0x2000) tilemap_mark_tile_dirty(state->m_pf2_tilemap,(offset & 0xfff) >> 1);
|
||||
else if (offset<0x3000) tilemap_mark_tile_dirty(state->m_pf3_tilemap,(offset & 0xfff) >> 1);
|
||||
else if (offset<0x4000) tilemap_mark_tile_dirty(state->m_pf4_tilemap,(offset & 0xfff) >> 1);
|
||||
} else {
|
||||
if (offset<0x0800) tilemap_mark_tile_dirty(state->m_pf1_tilemap,(offset & 0x7ff) >> 1);
|
||||
if (offset<0x0800) tilemap_mark_tile_dirty(state->m_pf1_tilemap,(offset & 0x7ff) >> 1);
|
||||
else if (offset<0x1000) tilemap_mark_tile_dirty(state->m_pf2_tilemap,(offset & 0x7ff) >> 1);
|
||||
else if (offset<0x1800) tilemap_mark_tile_dirty(state->m_pf3_tilemap,(offset & 0x7ff) >> 1);
|
||||
else if (offset<0x2000) tilemap_mark_tile_dirty(state->m_pf4_tilemap,(offset & 0x7ff) >> 1);
|
||||
@ -1948,7 +1948,7 @@ static void get_line_ram_info(running_machine &machine, tilemap_t *tmap, int sx,
|
||||
_colscroll[y]=colscroll;
|
||||
_x_offset[y]=(x_offset&0xffff0000) - (x_offset&0x0000ffff);
|
||||
_y_zoom[y] = (line_zoom&0xff) << 9;
|
||||
|
||||
|
||||
/* Evaluate clipping */
|
||||
if (pri&0x0800)
|
||||
line_enable=0;
|
||||
@ -1986,17 +1986,17 @@ static void get_line_ram_info(running_machine &machine, tilemap_t *tmap, int sx,
|
||||
|
||||
/* The football games use values in the range 0x200-0x3ff where the crowd should be drawn - !?
|
||||
|
||||
This appears to cause it to reference outside of the normal tilemap RAM area into the unused
|
||||
area on the 32x32 tilemap configuration.. but exactly how isn't understood
|
||||
This appears to cause it to reference outside of the normal tilemap RAM area into the unused
|
||||
area on the 32x32 tilemap configuration.. but exactly how isn't understood
|
||||
|
||||
Until this is understood we're creating additional tilemaps for the otherwise unused area of
|
||||
RAM and forcing it to look up there.
|
||||
RAM and forcing it to look up there.
|
||||
|
||||
the crowd area still seems to 'lag' behind the pitch area however.. but these are the values
|
||||
in ram??
|
||||
the crowd area still seems to 'lag' behind the pitch area however.. but these are the values
|
||||
in ram??
|
||||
*/
|
||||
int cs = _colscroll[y];
|
||||
|
||||
|
||||
if (cs&0x200)
|
||||
{
|
||||
if (state->m_pf5_tilemap && state->m_pf6_tilemap)
|
||||
|
Loading…
Reference in New Issue
Block a user