mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Cleanups and version bump
This commit is contained in:
parent
33c8d18d61
commit
6ae44e46f9
@ -176,7 +176,7 @@ public:
|
||||
void recalc_slot_inh() { m_a2bus->recalc_inh(m_slot); }
|
||||
void set_maincpu_halt(int state) { m_a2bus->set_maincpu_halt(state); }
|
||||
|
||||
// pass through the original address space if any for debugger protection
|
||||
// pass through the original address space if any for debugger protection
|
||||
// when debugging e.g. coprocessor cards (Z80 SoftCard etc).
|
||||
UINT8 slot_dma_read(address_space &space, UINT16 offset) { return m_a2bus->dma_r(space, offset); }
|
||||
void slot_dma_write(address_space &space, UINT16 offset, UINT8 data) { m_a2bus->dma_w(space, offset, data); }
|
||||
|
@ -1,10 +1,10 @@
|
||||
/*
|
||||
Dobbertin Smartwatch
|
||||
|
||||
Created: 23/2/2015
|
||||
|
||||
TODO: setting the time (requires the DS1315 core to be able to do this,
|
||||
at the moment it just reads the current time)
|
||||
Dobbertin Smartwatch
|
||||
|
||||
Created: 23/2/2015
|
||||
|
||||
TODO: setting the time (requires the DS1315 core to be able to do this,
|
||||
at the moment it just reads the current time)
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -1,10 +1,10 @@
|
||||
/*
|
||||
Dobbertin Smartwatch
|
||||
|
||||
Dallas DS1216 Smartwatch + DS1315 Phantom Time chip
|
||||
|
||||
Further info at: http://www.cpcwiki.eu/index.php/Dobbertin_Smart_Watch
|
||||
|
||||
Dobbertin Smartwatch
|
||||
|
||||
Dallas DS1216 Smartwatch + DS1315 Phantom Time chip
|
||||
|
||||
Further info at: http://www.cpcwiki.eu/index.php/Dobbertin_Smart_Watch
|
||||
|
||||
*/
|
||||
|
||||
#ifndef SMARTWATCH_H_
|
||||
|
@ -35,7 +35,7 @@ machine_config_constructor nes_bcbattle_device::device_mconfig_additions() const
|
||||
//-------------------------------------------------
|
||||
|
||||
// This part is the hacky replacement for the real Barcode unit [shared with SNES implementation]:
|
||||
// code periodically checks whether a new code has been scanned and it moves it to the
|
||||
// code periodically checks whether a new code has been scanned and it moves it to the
|
||||
// m_current_barcode array
|
||||
void nes_bcbattle_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
|
@ -12,8 +12,8 @@
|
||||
#include "miracle.h"
|
||||
|
||||
#define MIRACLE_MIDI_WAITING 0
|
||||
#define MIRACLE_MIDI_RECEIVE 1 // receive byte from piano
|
||||
#define MIRACLE_MIDI_SEND 2 // send byte to piano
|
||||
#define MIRACLE_MIDI_RECEIVE 1 // receive byte from piano
|
||||
#define MIRACLE_MIDI_SEND 2 // send byte to piano
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -141,7 +141,7 @@ UINT8 nes_miracle_device::read_bit0()
|
||||
|
||||
void nes_miracle_device::write(UINT8 data)
|
||||
{
|
||||
// printf("write: %d (%d %02x %d)\n", data & 1, m_sent_bits, m_data_sent, m_midi_mode);
|
||||
// printf("write: %d (%d %02x %d)\n", data & 1, m_sent_bits, m_data_sent, m_midi_mode);
|
||||
|
||||
if (m_midi_mode == MIRACLE_MIDI_SEND)
|
||||
{
|
||||
@ -154,7 +154,7 @@ void nes_miracle_device::write(UINT8 data)
|
||||
// then we go back to waiting
|
||||
if (m_sent_bits == 8)
|
||||
{
|
||||
// printf("xmit MIDI byte %02x\n", m_data_sent);
|
||||
// printf("xmit MIDI byte %02x\n", m_data_sent);
|
||||
xmit_char(m_data_sent);
|
||||
m_midi_mode = MIRACLE_MIDI_WAITING;
|
||||
m_sent_bits = 0;
|
||||
@ -175,7 +175,7 @@ void nes_miracle_device::write(UINT8 data)
|
||||
// was timer running?
|
||||
if (m_strobe_clock > 0)
|
||||
{
|
||||
// printf("got strobe at %d clocks\n", m_strobe_clock);
|
||||
// printf("got strobe at %d clocks\n", m_strobe_clock);
|
||||
|
||||
if (m_strobe_clock < 66 && data == 0)
|
||||
{
|
||||
@ -188,7 +188,7 @@ void nes_miracle_device::write(UINT8 data)
|
||||
m_status_bit = true;
|
||||
if (m_recv_read != m_recv_write)
|
||||
{
|
||||
// printf("Getting %02x from Miracle[%d]\n", m_recvring[m_recv_read], m_recv_read);
|
||||
// printf("Getting %02x from Miracle[%d]\n", m_recvring[m_recv_read], m_recv_read);
|
||||
m_data_sent = m_recvring[m_recv_read++];
|
||||
if (m_recv_read >= RECV_RING_SIZE)
|
||||
{
|
||||
@ -199,7 +199,7 @@ void nes_miracle_device::write(UINT8 data)
|
||||
else
|
||||
{
|
||||
m_read_status = false;
|
||||
// printf("Miracle has no data\n");
|
||||
// printf("Miracle has no data\n");
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -230,7 +230,7 @@ void nes_miracle_device::rcv_complete() // Rx completed receiving byte
|
||||
receive_register_extract();
|
||||
UINT8 rcv = get_received_char();
|
||||
|
||||
// printf("Got %02x -> [%d]\n", rcv, m_recv_write);
|
||||
// printf("Got %02x -> [%d]\n", rcv, m_recv_write);
|
||||
m_recvring[m_recv_write++] = rcv;
|
||||
if (m_recv_write >= RECV_RING_SIZE)
|
||||
{
|
||||
@ -282,4 +282,3 @@ void nes_miracle_device::xmit_char(UINT8 data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ machine_config_constructor snes_bcbattle_device::device_mconfig_additions() cons
|
||||
//-------------------------------------------------
|
||||
|
||||
// This part is the hacky replacement for the real Barcode unit [shared with NES implementation]:
|
||||
// code periodically checks whether a new code has been scanned and it moves it to the
|
||||
// code periodically checks whether a new code has been scanned and it moves it to the
|
||||
// m_current_barcode array
|
||||
void snes_bcbattle_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
@ -140,7 +140,7 @@ int snes_bcbattle_device::read_current_bit()
|
||||
m_cur_bit++;
|
||||
return bit;
|
||||
}
|
||||
if (m_cur_bit == 4) // only the low nibble is transmitted (this is the main action of the BBII interface for SNES)
|
||||
if (m_cur_bit == 4) // only the low nibble is transmitted (this is the main action of the BBII interface for SNES)
|
||||
{
|
||||
m_cur_bit = 0;
|
||||
//printf("%X ", m_current_barcode[m_cur_byte]);
|
||||
@ -175,26 +175,26 @@ void snes_bcbattle_device::port_poll()
|
||||
UINT8 snes_bcbattle_device::read_pin4()
|
||||
{
|
||||
UINT8 ret = 0;
|
||||
|
||||
|
||||
if (m_idx >= 80)
|
||||
ret |= 0x00;
|
||||
else if (m_idx >= 28) // scan actual barcode
|
||||
else if (m_idx >= 28) // scan actual barcode
|
||||
{
|
||||
ret |= read_current_bit(); // if no code is pending transmission, the function returns 0
|
||||
ret |= read_current_bit(); // if no code is pending transmission, the function returns 0
|
||||
m_idx++;
|
||||
}
|
||||
else if (m_idx >= 25) // unknown flags?
|
||||
else if (m_idx >= 25) // unknown flags?
|
||||
m_idx++;
|
||||
else if (m_idx == 24) // barcode present
|
||||
else if (m_idx == 24) // barcode present
|
||||
{
|
||||
ret |= m_pending_code;
|
||||
m_idx++;
|
||||
}
|
||||
else if (m_idx >= 12) // controller ID
|
||||
else if (m_idx >= 12) // controller ID
|
||||
ret |= BIT(0x7000, m_idx++);
|
||||
else // first 12 bytes are unknown and probably always 0
|
||||
else // first 12 bytes are unknown and probably always 0
|
||||
m_idx++;
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -207,7 +207,7 @@ void snes_bcbattle_device::write_strobe(UINT8 data)
|
||||
{
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ protected:
|
||||
int read_current_bit();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
static const device_timer_id TIMER_BATTLER = 1;
|
||||
required_device<barcode_reader_device> m_reader;
|
||||
UINT8 m_current_barcode[20];
|
||||
|
@ -29,13 +29,13 @@ public:
|
||||
// construction/destruction
|
||||
device_snes_control_port_interface(const machine_config &mconfig, device_t &device);
|
||||
virtual ~device_snes_control_port_interface();
|
||||
|
||||
|
||||
virtual UINT8 read_pin4() { return 0; };
|
||||
virtual UINT8 read_pin5() { return 0; };
|
||||
virtual void write_pin6(UINT8 data) { };
|
||||
virtual void write_strobe(UINT8 data) { };
|
||||
virtual void port_poll() { };
|
||||
|
||||
|
||||
protected:
|
||||
snes_control_port_device *m_port;
|
||||
};
|
||||
|
@ -97,7 +97,7 @@ void snes_joypad_device::port_poll()
|
||||
// if up, no down
|
||||
if (temp & 0x10)
|
||||
temp &= ~0x20;
|
||||
|
||||
|
||||
m_latch = temp | 0xffff0000;
|
||||
}
|
||||
|
||||
@ -121,7 +121,6 @@ void snes_joypad_device::write_strobe(UINT8 data)
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ protected:
|
||||
virtual UINT8 read_pin4();
|
||||
virtual void write_strobe(UINT8 data);
|
||||
virtual void port_poll();
|
||||
|
||||
|
||||
private:
|
||||
required_ioport m_joypad;
|
||||
int m_strobe;
|
||||
|
@ -4,17 +4,17 @@
|
||||
|
||||
Copyright MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
|
||||
recv at PC = 008a4a
|
||||
xmit at PC = 008adb
|
||||
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#include "miracle.h"
|
||||
|
||||
#define MIRACLE_MIDI_WAITING 0
|
||||
#define MIRACLE_MIDI_RECEIVE 1 // receive byte from piano
|
||||
#define MIRACLE_MIDI_SEND 2 // send byte to piano
|
||||
#define MIRACLE_MIDI_RECEIVE 1 // receive byte from piano
|
||||
#define MIRACLE_MIDI_SEND 2 // send byte to piano
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -130,12 +130,12 @@ UINT8 snes_miracle_device::read_pin4()
|
||||
|
||||
void snes_miracle_device::write_pin6(UINT8 data)
|
||||
{
|
||||
// printf("%02x to pin6\n", data);
|
||||
// printf("%02x to pin6\n", data);
|
||||
}
|
||||
|
||||
void snes_miracle_device::write_strobe(UINT8 data)
|
||||
{
|
||||
// printf("%02x to strobe\n", data);
|
||||
// printf("%02x to strobe\n", data);
|
||||
|
||||
if (m_midi_mode == MIRACLE_MIDI_SEND)
|
||||
{
|
||||
@ -148,7 +148,7 @@ void snes_miracle_device::write_strobe(UINT8 data)
|
||||
// then we go back to waiting
|
||||
if (m_sent_bits == 8)
|
||||
{
|
||||
// printf("xmit MIDI byte %02x\n", m_data_sent);
|
||||
// printf("xmit MIDI byte %02x\n", m_data_sent);
|
||||
xmit_char(m_data_sent);
|
||||
m_midi_mode = MIRACLE_MIDI_WAITING;
|
||||
m_sent_bits = 0;
|
||||
@ -169,7 +169,7 @@ void snes_miracle_device::write_strobe(UINT8 data)
|
||||
// was timer running?
|
||||
if (m_strobe_clock > 0)
|
||||
{
|
||||
// printf("got strobe at %d clocks\n", m_strobe_clock);
|
||||
// printf("got strobe at %d clocks\n", m_strobe_clock);
|
||||
|
||||
if (m_strobe_clock < 500 && data == 0)
|
||||
{
|
||||
@ -182,7 +182,7 @@ void snes_miracle_device::write_strobe(UINT8 data)
|
||||
m_status_bit = true;
|
||||
if (m_recv_read != m_recv_write)
|
||||
{
|
||||
// printf("Getting %02x from Miracle[%d]\n", m_recvring[m_recv_read], m_recv_read);
|
||||
// printf("Getting %02x from Miracle[%d]\n", m_recvring[m_recv_read], m_recv_read);
|
||||
m_data_sent = m_recvring[m_recv_read++];
|
||||
if (m_recv_read >= RECV_RING_SIZE)
|
||||
{
|
||||
@ -193,7 +193,7 @@ void snes_miracle_device::write_strobe(UINT8 data)
|
||||
else
|
||||
{
|
||||
m_read_status = false;
|
||||
// printf("Miracle has no data\n");
|
||||
// printf("Miracle has no data\n");
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -225,7 +225,7 @@ void snes_miracle_device::rcv_complete() // Rx completed receiving byte
|
||||
receive_register_extract();
|
||||
UINT8 rcv = get_received_char();
|
||||
|
||||
// printf("Got %02x -> [%d]\n", rcv, m_recv_write);
|
||||
// printf("Got %02x -> [%d]\n", rcv, m_recv_write);
|
||||
m_recvring[m_recv_write++] = rcv;
|
||||
if (m_recv_write >= RECV_RING_SIZE)
|
||||
{
|
||||
@ -277,4 +277,3 @@ void snes_miracle_device::xmit_char(UINT8 data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/**********************************************************************
|
||||
|
||||
Nintendo Super Famicom & SNES Mouse
|
||||
|
||||
|
||||
Copyright MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
@ -32,11 +32,11 @@ static INPUT_PORTS_START( snes_mouse )
|
||||
// detect a sudden jump in the wrong direction, making the usage unfriendly...
|
||||
PORT_START("MOUSE_X")
|
||||
PORT_BIT( 0x1ff, 0x100, IPT_LIGHTGUN_X ) PORT_NAME("Superscope X Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
// PORT_BIT( 0xff, 0x00, IPT_MOUSE_X) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
// PORT_BIT( 0xff, 0x00, IPT_MOUSE_X) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
|
||||
PORT_START("MOUSE_Y")
|
||||
PORT_BIT( 0x1ff, 0x100, IPT_LIGHTGUN_Y) PORT_NAME("Superscope Y Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
// PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
// PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -155,7 +155,7 @@ void snes_mouse_device::port_poll()
|
||||
m_deltax = var;
|
||||
m_oldx = m_x;
|
||||
}
|
||||
|
||||
|
||||
var = m_y - m_oldy;
|
||||
if (var)
|
||||
{
|
||||
@ -163,7 +163,7 @@ void snes_mouse_device::port_poll()
|
||||
if (m_diry != new_dir)
|
||||
m_diry = new_dir;
|
||||
}
|
||||
|
||||
|
||||
if (var < -127)
|
||||
{
|
||||
m_deltay = 0x7f;
|
||||
@ -196,14 +196,14 @@ void snes_mouse_device::port_poll()
|
||||
UINT8 snes_mouse_device::read_pin4()
|
||||
{
|
||||
UINT8 res = 0;
|
||||
|
||||
|
||||
if (m_strobe == 1)
|
||||
{
|
||||
// reading with strobe 1, changes mouse speed
|
||||
m_speed = (m_speed + 1) % 3;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
if (m_idx >= 32)
|
||||
res |= 0x01;
|
||||
else if (m_idx >= 24)
|
||||
@ -222,7 +222,7 @@ UINT8 snes_mouse_device::read_pin4()
|
||||
}
|
||||
else
|
||||
res |= BIT(m_latch, m_idx++);
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -235,7 +235,6 @@ void snes_mouse_device::write_strobe(UINT8 data)
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ protected:
|
||||
virtual UINT8 read_pin4();
|
||||
virtual void write_strobe(UINT8 data);
|
||||
virtual void port_poll();
|
||||
|
||||
|
||||
private:
|
||||
required_ioport m_buttons;
|
||||
required_ioport m_xaxis;
|
||||
|
@ -121,14 +121,14 @@ UINT8 snes_multitap_device::read_pin4()
|
||||
ret |= m_select ? m_port1->read_pin4() : m_port3->read_pin4();
|
||||
else // 1P
|
||||
ret |= m_select ? m_port1->read_pin4() : 0;
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
UINT8 snes_multitap_device::read_pin5()
|
||||
{
|
||||
UINT8 ret = 0;
|
||||
|
||||
|
||||
if (m_cfg->read() == 0) // 4P
|
||||
ret |= m_select ? m_port2->read_pin4() : m_port4->read_pin4();
|
||||
return ret;
|
||||
|
@ -83,7 +83,7 @@ void snes_pachinko_device::device_reset()
|
||||
void snes_pachinko_device::port_poll()
|
||||
{
|
||||
UINT8 dial = BITSWAP8(m_dial->read() ^ 0xff,7,6,5,4,3,2,1,0);
|
||||
m_latch = m_button->read() | (dial << 25) | 0xee7000; // add ID
|
||||
m_latch = m_button->read() | (dial << 25) | 0xee7000; // add ID
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -105,7 +105,7 @@ void snes_pachinko_device::write_strobe(UINT8 data)
|
||||
{
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
@ -112,11 +112,11 @@ void snes_sscope_device::port_poll()
|
||||
// then start elaborating input bits
|
||||
// 1. only keep old turbo value
|
||||
m_latch &= 0x04;
|
||||
|
||||
|
||||
// 2. set onscreen/offscreen
|
||||
if (!m_port->m_onscreen_cb.isnull())
|
||||
m_latch |= (m_port->m_onscreen_cb(m_x, m_y) ? 0x00 : 0x40);
|
||||
|
||||
|
||||
// 3. pause is a button that is always edge sensitive
|
||||
if (BIT(input, 3) && !m_pause_lock)
|
||||
{
|
||||
@ -134,11 +134,11 @@ void snes_sscope_device::port_poll()
|
||||
}
|
||||
else if (!BIT(input, 2))
|
||||
m_turbo_lock = 0;
|
||||
|
||||
|
||||
// 5. cursor is a button that is always level sensitive
|
||||
m_latch |= BIT(input, 1);
|
||||
|
||||
// 6. fire is a button with two behaviors: if turbo is active, trigger is level sensitive;
|
||||
|
||||
// 6. fire is a button with two behaviors: if turbo is active, trigger is level sensitive;
|
||||
// otherwise it is edge sensitive
|
||||
if (BIT(input, 0) && (BIT(m_latch, 2) || !m_fire_lock))
|
||||
{
|
||||
@ -147,7 +147,7 @@ void snes_sscope_device::port_poll()
|
||||
}
|
||||
else if (!BIT(input, 0))
|
||||
m_fire_lock = 0;
|
||||
|
||||
|
||||
// If we have pressed fire or cursor and we are on-screen and SuperScope is in Port2, then latch video signal.
|
||||
// Notice that this only works in Port2 because its IOBit pin is connected to bit7 of the IO Port, while Port1
|
||||
// has IOBit pin connected to bit6 of the IO Port, and the latter is not detected by the H/V Counters. In other
|
||||
@ -163,12 +163,12 @@ void snes_sscope_device::port_poll()
|
||||
UINT8 snes_sscope_device::read_pin4()
|
||||
{
|
||||
UINT8 res = 0;
|
||||
|
||||
if (m_idx >= 8) // bits 8-15 = ID = all 1s; bits >= 16 all 1s
|
||||
|
||||
if (m_idx >= 8) // bits 8-15 = ID = all 1s; bits >= 16 all 1s
|
||||
res |= 0x01;
|
||||
else
|
||||
res |= BIT(m_latch, m_idx++);
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -181,7 +181,6 @@ void snes_sscope_device::write_strobe(UINT8 data)
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ protected:
|
||||
virtual UINT8 read_pin4();
|
||||
virtual void write_strobe(UINT8 data);
|
||||
virtual void port_poll();
|
||||
|
||||
|
||||
private:
|
||||
required_ioport m_buttons;
|
||||
required_ioport m_xaxis;
|
||||
|
@ -3,12 +3,12 @@
|
||||
Nintendo Super Famicom - Yonezawa / PartyRoom 21 Twin Tap Controller
|
||||
|
||||
This controller consists of two 1-button small units attached to a
|
||||
single 7pin connector. You plug the connector to Port2 and two
|
||||
single 7pin connector. You plug the connector to Port2 and two
|
||||
players can compete on the quiz game (Port1 should have a joypad
|
||||
plugged in, to start the game and browse the menus). By plugging
|
||||
a multitap adapter to Port2, up to 4 Twin Tap controllers can be
|
||||
attached at the same time, allowing for 8 players quiz sessions.
|
||||
|
||||
|
||||
Copyright MESS Team.
|
||||
Visit http://mamedev.org for licensing and usage restrictions.
|
||||
|
||||
@ -28,7 +28,7 @@ static INPUT_PORTS_START( snes_twintap )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Button 2")
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Button 1")
|
||||
PORT_BIT( 0x8ffc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_LOW, IPT_UNUSED ) // controller ID unknown
|
||||
PORT_BIT( 0x7000, IP_ACTIVE_LOW, IPT_UNUSED ) // controller ID unknown
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -108,7 +108,7 @@ void snes_twintap_device::write_strobe(UINT8 data)
|
||||
{
|
||||
int old = m_strobe;
|
||||
m_strobe = data & 0x01;
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
|
||||
if (m_strobe < old) // 1 -> 0 transition
|
||||
port_poll();
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ void amis2152_cpu_device::device_start()
|
||||
amis2000_base_device::device_start();
|
||||
|
||||
m_d2f_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(amis2152_cpu_device::d2f_timer_cb), this));
|
||||
|
||||
|
||||
// zerofill
|
||||
m_d2f_latch = 0;
|
||||
m_fout_state = 0;
|
||||
@ -205,7 +205,7 @@ void amis2000_base_device::device_reset()
|
||||
m_pc = 0;
|
||||
m_op = 0;
|
||||
m_skip = false;
|
||||
|
||||
|
||||
// clear i/o
|
||||
m_a = 0x1fff;
|
||||
m_write_a(0, m_a, 0xffff);
|
||||
@ -235,14 +235,14 @@ void amis2000_base_device::execute_run()
|
||||
while (m_icount > 0)
|
||||
{
|
||||
m_icount--;
|
||||
|
||||
|
||||
// remember previous opcode
|
||||
m_prev_op = m_op;
|
||||
|
||||
debugger_instruction_hook(this, m_pc);
|
||||
m_op = m_program->read_byte(m_pc);
|
||||
m_pc = (m_pc + 1) & 0x1fff;
|
||||
|
||||
|
||||
if (m_skip)
|
||||
{
|
||||
// always skip over PP prefix
|
||||
@ -299,7 +299,7 @@ void amis2000_base_device::execute_run()
|
||||
case 0x2d: op_sf2(); break;
|
||||
case 0x2e: op_tf1(); break;
|
||||
case 0x2f: op_tf2(); break;
|
||||
|
||||
|
||||
default:
|
||||
switch (m_op & 0xfc)
|
||||
{
|
||||
|
@ -95,7 +95,7 @@ protected:
|
||||
address_space_config m_data_config;
|
||||
address_space *m_program;
|
||||
address_space *m_data;
|
||||
|
||||
|
||||
UINT8 m_bu_bits;
|
||||
UINT16 m_bu_mask;
|
||||
UINT8 m_callstack_bits; // number of program counter bits held in callstack
|
||||
@ -129,14 +129,14 @@ protected:
|
||||
devcb_write8 m_write_d;
|
||||
devcb_write16 m_write_a;
|
||||
devcb_write_line m_write_f;
|
||||
|
||||
|
||||
// misc internal helpers
|
||||
UINT8 ram_r();
|
||||
void ram_w(UINT8 data);
|
||||
void pop_callstack();
|
||||
void push_callstack();
|
||||
void d_latch_out(bool active);
|
||||
|
||||
|
||||
// opcode handlers
|
||||
virtual void op_lai();
|
||||
virtual void op_lab();
|
||||
@ -221,7 +221,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
|
||||
// digital-to-frequency converter
|
||||
UINT8 m_d2f_latch;
|
||||
emu_timer *m_d2f_timer;
|
||||
@ -229,7 +229,7 @@ protected:
|
||||
|
||||
void d2f_timer_clock();
|
||||
TIMER_CALLBACK_MEMBER(d2f_timer_cb);
|
||||
|
||||
|
||||
// opcode handlers
|
||||
virtual void op_szk();
|
||||
};
|
||||
|
@ -108,21 +108,21 @@ CPU_DISASSEMBLE( amis2000 )
|
||||
|
||||
char *dst = buffer;
|
||||
dst += sprintf(dst, "%-5s ", s_mnemonics[instr]);
|
||||
|
||||
|
||||
// opcode parameter
|
||||
int mask = s_bits[instr];
|
||||
bool complement = (mask < 0);
|
||||
if (mask < 0)
|
||||
mask = -mask;
|
||||
mask = (1 << mask) - 1;
|
||||
|
||||
|
||||
if (mask != 0)
|
||||
{
|
||||
UINT8 param = op;
|
||||
if (complement)
|
||||
param = ~param;
|
||||
param &= mask;
|
||||
|
||||
|
||||
if (mask < 0x10)
|
||||
dst += sprintf(dst, "%d", param);
|
||||
else
|
||||
|
@ -307,7 +307,7 @@ void amis2000_base_device::op_jmp()
|
||||
// JMP X: jump to X(+PP)
|
||||
UINT16 mask = 0x3f;
|
||||
UINT16 param = m_op & mask;
|
||||
|
||||
|
||||
// if previous opcode was PP, change PC high bits too
|
||||
if ((m_prev_op & 0xf0) == 0x60)
|
||||
{
|
||||
@ -507,7 +507,7 @@ TIMER_CALLBACK_MEMBER(amis2152_cpu_device::d2f_timer_cb)
|
||||
{
|
||||
m_write_f(m_fout_state);
|
||||
m_fout_state ^= 1;
|
||||
|
||||
|
||||
d2f_timer_clock();
|
||||
}
|
||||
|
||||
|
@ -329,7 +329,7 @@ const i386_device::X86_OPCODE i386_device::s_x86_opcode_table[] =
|
||||
{ 0x32, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_rdmsr, &i386_device::pentium_rdmsr, false},
|
||||
{ 0x38, OP_2BYTE|OP_PENTIUM, &i386_device::i386_decode_three_byte38, &i386_device::i386_decode_three_byte38,false},
|
||||
{ 0x3A, OP_2BYTE|OP_PENTIUM, &i386_device::i386_decode_three_byte3a, &i386_device::i386_decode_three_byte3a,false},
|
||||
{ 0x40, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovo_r16_rm16, &i386_device::pentium_cmovo_r32_rm32, false},
|
||||
{ 0x40, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovo_r16_rm16, &i386_device::pentium_cmovo_r32_rm32, false},
|
||||
{ 0x41, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovno_r16_rm16, &i386_device::pentium_cmovno_r32_rm32, false},
|
||||
{ 0x42, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovb_r16_rm16, &i386_device::pentium_cmovb_r32_rm32, false},
|
||||
{ 0x43, OP_2BYTE|OP_PENTIUM, &i386_device::pentium_cmovae_r16_rm16, &i386_device::pentium_cmovae_r32_rm32, false},
|
||||
|
@ -86,7 +86,7 @@ bool m4510_device::memory_translate(address_spacenum spacenum, int intention, of
|
||||
{
|
||||
address = map(address);
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -357,7 +357,7 @@ public:
|
||||
|
||||
UINT32 ic_address[M68K_IC_SIZE]; /* instruction cache address data */
|
||||
UINT32 ic_data[M68K_IC_SIZE]; /* instruction cache content data */
|
||||
bool ic_valid[M68K_IC_SIZE]; /* instruction cache valid flags */
|
||||
bool ic_valid[M68K_IC_SIZE]; /* instruction cache valid flags */
|
||||
|
||||
|
||||
|
||||
|
@ -689,14 +689,14 @@ INLINE UINT32 m68ki_ic_readimm16(m68000_base_device *m68k, UINT32 address)
|
||||
if (m68k->cpu_type & (CPU_TYPE_EC020 | CPU_TYPE_020))
|
||||
{
|
||||
UINT32 tag = (address >> 8) | (m68k->s_flag ? 0x1000000 : 0);
|
||||
int idx = (address >> 2) & 0x3f; // 1-of-64 select
|
||||
int idx = (address >> 2) & 0x3f; // 1-of-64 select
|
||||
|
||||
// do a cache fill if the line is invalid or the tags don't match
|
||||
if ((!m68k->ic_valid[idx]) || (m68k->ic_address[idx] != tag))
|
||||
{
|
||||
m68k->ic_data[idx] = m68k->read32(address & ~3);
|
||||
|
||||
// printf("m68k: doing cache fill at %08x (tag %08x idx %d)\n", address, tag, idx);
|
||||
// printf("m68k: doing cache fill at %08x (tag %08x idx %d)\n", address, tag, idx);
|
||||
|
||||
// if no buserror occured, validate the tag
|
||||
if (!m68k->mmu_tmp_buserror_occurred)
|
||||
|
@ -3,7 +3,7 @@
|
||||
/*
|
||||
|
||||
NEC uCOM-4 MCU family cores
|
||||
|
||||
|
||||
References:
|
||||
- 1981 NEC Microcomputers Catalog (later editions may have errors!)
|
||||
- Supplement to uCOM-43 Single Chip Microcomputer Users' Manual
|
||||
@ -20,7 +20,7 @@ enum
|
||||
NEC_UCOM43 = 0,
|
||||
NEC_UCOM44,
|
||||
NEC_UCOM45
|
||||
};
|
||||
};
|
||||
|
||||
#include "ucom4.h"
|
||||
#include "debugger.h"
|
||||
@ -115,7 +115,7 @@ enum
|
||||
void ucom4_cpu_device::device_start()
|
||||
{
|
||||
assert(NEC_UCOM4_PORTA == 0);
|
||||
|
||||
|
||||
m_program = &space(AS_PROGRAM);
|
||||
m_data = &space(AS_DATA);
|
||||
m_prgmask = (1 << m_prgwidth) - 1;
|
||||
@ -195,12 +195,12 @@ void ucom4_cpu_device::device_reset()
|
||||
m_skip = false;
|
||||
|
||||
m_timer->adjust(attotime::never);
|
||||
|
||||
|
||||
// clear interrupt
|
||||
m_int_line = CLEAR_LINE;
|
||||
m_int_f = 0;
|
||||
m_inte_f = (m_family == NEC_UCOM43) ? 0 : 1;
|
||||
|
||||
|
||||
// clear i/o
|
||||
for (int i = NEC_UCOM4_PORTC; i <= NEC_UCOM4_PORTI; i++)
|
||||
output_w(i, 0xf);
|
||||
@ -221,9 +221,9 @@ void ucom4_cpu_device::execute_set_input(int line, int state)
|
||||
if (m_int_line == CLEAR_LINE && state)
|
||||
m_int_f = 1;
|
||||
m_int_line = state;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -273,13 +273,13 @@ void ucom4_cpu_device::execute_run()
|
||||
m_bitmask = 1 << (m_op & 0x03);
|
||||
increment_pc();
|
||||
fetch_arg();
|
||||
|
||||
|
||||
if (m_skip)
|
||||
{
|
||||
m_skip = false;
|
||||
m_op = 0; // nop
|
||||
}
|
||||
|
||||
|
||||
// handle opcode
|
||||
switch (m_op & 0xf0)
|
||||
{
|
||||
@ -287,9 +287,9 @@ void ucom4_cpu_device::execute_run()
|
||||
case 0x90: op_li(); break;
|
||||
case 0xa0: op_jmpcal(); break;
|
||||
case 0xb0: op_czp(); break;
|
||||
|
||||
|
||||
case 0xc0: case 0xd0: case 0xe0: case 0xf0: op_jcp(); break;
|
||||
|
||||
|
||||
default:
|
||||
switch (m_op)
|
||||
{
|
||||
@ -374,7 +374,7 @@ void ucom4_cpu_device::execute_run()
|
||||
case 0x7c: op_sfb(); break;
|
||||
}
|
||||
break; // 0xfc
|
||||
|
||||
|
||||
}
|
||||
break; // 0xff
|
||||
|
||||
|
@ -143,7 +143,7 @@ protected:
|
||||
bool m_skip; // skip next opcode
|
||||
int m_icount;
|
||||
emu_timer *m_timer;
|
||||
|
||||
|
||||
UINT16 m_pc; // program counter
|
||||
UINT8 m_acc; // 4-bit accumulator
|
||||
UINT8 m_dpl; // 4-bit data pointer low (RAM x)
|
||||
@ -169,7 +169,7 @@ protected:
|
||||
devcb_write8 m_write_g;
|
||||
devcb_write8 m_write_h;
|
||||
devcb_write8 m_write_i;
|
||||
|
||||
|
||||
// misc internal helpers
|
||||
void increment_pc();
|
||||
void fetch_arg();
|
||||
|
@ -121,7 +121,7 @@ CPU_DISASSEMBLE(ucom4)
|
||||
|
||||
char *dst = buffer;
|
||||
dst += sprintf(dst, "%-4s ", s_mnemonics[instr]);
|
||||
|
||||
|
||||
// opcode parameter
|
||||
int bits = s_bits[instr];
|
||||
if (bits)
|
||||
@ -133,7 +133,7 @@ CPU_DISASSEMBLE(ucom4)
|
||||
param = (param << (bits / 10)) | (op2 & ((1 << (bits / 10)) - 1));
|
||||
bits = (bits % 10) + (bits / 10);
|
||||
}
|
||||
|
||||
|
||||
// special case for CZP
|
||||
if (instr == mCZP)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ UINT8 ucom4_cpu_device::input_r(int index)
|
||||
{
|
||||
index &= 0xf;
|
||||
UINT8 inp = 0xf;
|
||||
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case NEC_UCOM4_PORTA: inp = m_read_a(index, 0xff); break;
|
||||
@ -62,7 +62,7 @@ void ucom4_cpu_device::output_w(int index, UINT8 data)
|
||||
case NEC_UCOM4_PORTG: m_write_g(index, data, 0xff); break;
|
||||
case NEC_UCOM4_PORTH: m_write_h(index, data, 0xff); break;
|
||||
case NEC_UCOM4_PORTI: m_write_i(index, data & 7, 0xff); break;
|
||||
|
||||
|
||||
default:
|
||||
logerror("%s write to unknown port %c = $%X at $%03X\n", tag(), 'A' + index, data & 0xf, m_pc);
|
||||
break;
|
||||
@ -370,7 +370,7 @@ void ucom4_cpu_device::op_ci()
|
||||
{
|
||||
// CI X: skip next on ACC equals X
|
||||
m_skip = (m_acc == (m_arg & 0x0f));
|
||||
|
||||
|
||||
if ((m_arg & 0xf0) != 0xc0)
|
||||
logerror("%s CI opcode unexpected upper arg $%02X at $%03X\n", tag(), m_arg & 0xf0, m_pc);
|
||||
}
|
||||
@ -397,7 +397,7 @@ void ucom4_cpu_device::op_cli()
|
||||
{
|
||||
// CLI X: skip next on DPl equals X
|
||||
m_skip = (m_dpl == (m_arg & 0x0f));
|
||||
|
||||
|
||||
if ((m_arg & 0xf0) != 0xe0)
|
||||
logerror("%s CLI opcode unexpected upper arg $%02X at $%03X\n", tag(), m_arg & 0xf0, m_pc);
|
||||
}
|
||||
@ -530,7 +530,7 @@ void ucom4_cpu_device::op_taw()
|
||||
void ucom4_cpu_device::op_taz()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// TAZ: Transfer ACC to Z
|
||||
m_icount--;
|
||||
ucom43_reg_w(UCOM43_Z, m_acc);
|
||||
@ -539,7 +539,7 @@ void ucom4_cpu_device::op_taz()
|
||||
void ucom4_cpu_device::op_thx()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// THX: Transfer DPh to X
|
||||
m_icount--;
|
||||
ucom43_reg_w(UCOM43_X, m_dph);
|
||||
@ -548,7 +548,7 @@ void ucom4_cpu_device::op_thx()
|
||||
void ucom4_cpu_device::op_tly()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// TLY: Transfer DPl to Y
|
||||
m_icount--;
|
||||
ucom43_reg_w(UCOM43_Y, m_dpl);
|
||||
@ -560,7 +560,7 @@ void ucom4_cpu_device::op_tly()
|
||||
void ucom4_cpu_device::op_xaw()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XAW: Exchange ACC with W
|
||||
m_icount--;
|
||||
UINT8 old_acc = m_acc;
|
||||
@ -571,7 +571,7 @@ void ucom4_cpu_device::op_xaw()
|
||||
void ucom4_cpu_device::op_xaz()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XAZ: Exchange ACC with Z
|
||||
m_icount--;
|
||||
UINT8 old_acc = m_acc;
|
||||
@ -582,7 +582,7 @@ void ucom4_cpu_device::op_xaz()
|
||||
void ucom4_cpu_device::op_xhr()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XHR: Exchange DPh with R
|
||||
m_icount--;
|
||||
UINT8 old_dph = m_dph;
|
||||
@ -593,7 +593,7 @@ void ucom4_cpu_device::op_xhr()
|
||||
void ucom4_cpu_device::op_xhx()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XHX: Exchange DPh with X
|
||||
m_icount--;
|
||||
UINT8 old_dph = m_dph;
|
||||
@ -604,7 +604,7 @@ void ucom4_cpu_device::op_xhx()
|
||||
void ucom4_cpu_device::op_xls()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XLS: Exchange DPl with S
|
||||
m_icount--;
|
||||
UINT8 old_dpl = m_dpl;
|
||||
@ -615,7 +615,7 @@ void ucom4_cpu_device::op_xls()
|
||||
void ucom4_cpu_device::op_xly()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XLY: Exchange DPl with Y
|
||||
m_icount--;
|
||||
UINT8 old_dpl = m_dpl;
|
||||
@ -626,7 +626,7 @@ void ucom4_cpu_device::op_xly()
|
||||
void ucom4_cpu_device::op_xc()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// XC: Exchange Carry F/F with Carry Save F/F
|
||||
UINT8 c = m_carry_f;
|
||||
m_carry_f = m_carry_s_f;
|
||||
@ -639,7 +639,7 @@ void ucom4_cpu_device::op_xc()
|
||||
void ucom4_cpu_device::op_sfb()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// SFB B: Set a single bit of FLAG
|
||||
m_icount--;
|
||||
ucom43_reg_w(UCOM43_F, ucom43_reg_r(UCOM43_F) | m_bitmask);
|
||||
@ -648,7 +648,7 @@ void ucom4_cpu_device::op_sfb()
|
||||
void ucom4_cpu_device::op_rfb()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// RFB B: Reset a single bit of FLAG
|
||||
m_icount--;
|
||||
ucom43_reg_w(UCOM43_F, ucom43_reg_r(UCOM43_F) & ~m_bitmask);
|
||||
@ -657,7 +657,7 @@ void ucom4_cpu_device::op_rfb()
|
||||
void ucom4_cpu_device::op_fbt()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// FBT B: skip next on bit(FLAG)
|
||||
m_icount--;
|
||||
m_skip = ((ucom43_reg_r(UCOM43_F) & m_bitmask) != 0);
|
||||
@ -666,7 +666,7 @@ void ucom4_cpu_device::op_fbt()
|
||||
void ucom4_cpu_device::op_fbf()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// FBF B: skip next on not bit(FLAG)
|
||||
m_icount--;
|
||||
m_skip = ((ucom43_reg_r(UCOM43_F) & m_bitmask) == 0);
|
||||
@ -678,7 +678,7 @@ void ucom4_cpu_device::op_fbf()
|
||||
void ucom4_cpu_device::op_rar()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// RAR: Rotate ACC Right through Carry F/F
|
||||
UINT8 c = m_acc & 1;
|
||||
m_acc = m_acc >> 1 | m_carry_f << 3;
|
||||
@ -691,7 +691,7 @@ void ucom4_cpu_device::op_rar()
|
||||
void ucom4_cpu_device::op_inm()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// INM: Increment RAM, skip next on carry
|
||||
UINT8 val = (ram_r() + 1) & 0xf;
|
||||
ram_w(val);
|
||||
@ -701,7 +701,7 @@ void ucom4_cpu_device::op_inm()
|
||||
void ucom4_cpu_device::op_dem()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// DEM: Decrement RAM, skip next on carry
|
||||
UINT8 val = (ram_r() - 1) & 0xf;
|
||||
ram_w(val);
|
||||
@ -714,7 +714,7 @@ void ucom4_cpu_device::op_dem()
|
||||
void ucom4_cpu_device::op_stm()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// STM X: Reset Timer F/F, Start Timer with X
|
||||
m_timer_f = 0;
|
||||
|
||||
@ -730,7 +730,7 @@ void ucom4_cpu_device::op_stm()
|
||||
void ucom4_cpu_device::op_ttm()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// TTM: skip next on Timer F/F
|
||||
m_skip = (m_timer_f != 0);
|
||||
}
|
||||
@ -741,7 +741,7 @@ void ucom4_cpu_device::op_ttm()
|
||||
void ucom4_cpu_device::op_ei()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// EI: Set Interrupt Enable F/F
|
||||
m_inte_f = 1;
|
||||
}
|
||||
@ -749,7 +749,7 @@ void ucom4_cpu_device::op_ei()
|
||||
void ucom4_cpu_device::op_di()
|
||||
{
|
||||
if (!check_op_43()) return;
|
||||
|
||||
|
||||
// DI: Reset Interrupt Enable F/F
|
||||
m_inte_f = 0;
|
||||
}
|
||||
|
@ -234,8 +234,8 @@ void debug_view_breakpoints::view_update()
|
||||
m_total.y = 10;
|
||||
|
||||
// Draw
|
||||
debug_view_char *dest = m_viewdata;
|
||||
astring linebuf;
|
||||
debug_view_char *dest = m_viewdata;
|
||||
astring linebuf;
|
||||
|
||||
// Header
|
||||
if (m_visible.y > 0)
|
||||
|
@ -261,8 +261,8 @@ void debug_view_watchpoints::view_update()
|
||||
m_total.y = 10;
|
||||
|
||||
// Draw
|
||||
debug_view_char *dest = m_viewdata;
|
||||
astring linebuf;
|
||||
debug_view_char *dest = m_viewdata;
|
||||
astring linebuf;
|
||||
|
||||
// Header
|
||||
if (m_visible.y > 0)
|
||||
|
@ -57,7 +57,7 @@ enum
|
||||
XTAL_2_5MHz = 2500000, /* Janken Man units */
|
||||
XTAL_3MHz = 3000000, /* Probably only used to drive 68705 or similar MCUs on 80's Taito PCBs */
|
||||
XTAL_3_12MHz = 3120000, /* SP0250 clock on Gottlieb games */
|
||||
XTAL_3_5MHz = 3500000, /* Reported by Commodore 65 document, true xtal unchecked on PCB */
|
||||
XTAL_3_5MHz = 3500000, /* Reported by Commodore 65 document, true xtal unchecked on PCB */
|
||||
XTAL_3_52128MHz = 3521280, /* RCA COSMAC VIP */
|
||||
XTAL_3_579545MHz = 3579545, /* NTSC color subcarrier, extremely common, used on 100's of PCBs (Keytronic custom part #48-300-010 is equivalent) */
|
||||
XTAL_3_6864MHz = 3686400, /* CPS3 */
|
||||
|
@ -154,7 +154,7 @@ private:
|
||||
astring m_fullpath; // full filename
|
||||
core_file * m_file; // core file pointer
|
||||
path_iterator m_iterator; // iterator for paths
|
||||
path_iterator m_mediapaths; // media-path iterator
|
||||
path_iterator m_mediapaths; // media-path iterator
|
||||
UINT32 m_crc; // file's CRC
|
||||
UINT32 m_openflags; // flags we used for the open
|
||||
hash_collection m_hashes; // collection of hashes
|
||||
@ -168,7 +168,7 @@ private:
|
||||
UINT64 m__7zlength; // 7Z file length
|
||||
|
||||
bool m_remove_on_close; // flag: remove the file when closing
|
||||
bool m_restrict_to_mediapath; // flag: restrict to paths inside the media-path
|
||||
bool m_restrict_to_mediapath; // flag: restrict to paths inside the media-path
|
||||
};
|
||||
|
||||
|
||||
|
@ -48,13 +48,13 @@ void jvs_host::commit_raw()
|
||||
// - have the message length without the two header bytes but with the checksum byte in the second byte
|
||||
// - have at least one command byte
|
||||
if(send_size < 3 || send_buffer[0] == 0x00 || send_buffer[1] != send_size-1) {
|
||||
logerror("JVS checksum error\n");
|
||||
// "This message is crap" doesn't exist so call it checksum error
|
||||
recv_buffer[0] = 0x00;
|
||||
recv_buffer[1] = 0x02;
|
||||
recv_buffer[2] = 0x03;
|
||||
recv_size = 3;
|
||||
} else {
|
||||
logerror("JVS checksum error\n");
|
||||
// "This message is crap" doesn't exist so call it checksum error
|
||||
recv_buffer[0] = 0x00;
|
||||
recv_buffer[1] = 0x02;
|
||||
recv_buffer[2] = 0x03;
|
||||
recv_size = 3;
|
||||
} else {
|
||||
if(first_device) {
|
||||
first_device->message(send_buffer[0], send_buffer+2, send_size-2, recv_buffer+2, recv_size);
|
||||
recv_is_encoded = false;
|
||||
|
@ -338,7 +338,7 @@ public:
|
||||
float width; // width (for line primitives)
|
||||
render_texinfo texture; // texture info (for quad primitives)
|
||||
render_quad_texuv texcoords; // texture coordinates (for quad primitives)
|
||||
render_container * container; // the render container we belong to
|
||||
render_container * container; // the render container we belong to
|
||||
|
||||
private:
|
||||
// internal state
|
||||
|
@ -161,7 +161,7 @@ void saa1099_device::device_start()
|
||||
|
||||
/* for each chip allocate one stream */
|
||||
m_stream = stream_alloc(0, 2, m_sample_rate);
|
||||
|
||||
|
||||
save_item(NAME(m_noise_params));
|
||||
save_item(NAME(m_env_enable));
|
||||
save_item(NAME(m_env_reverse_right));
|
||||
@ -172,7 +172,7 @@ void saa1099_device::device_start()
|
||||
save_item(NAME(m_all_ch_enable));
|
||||
save_item(NAME(m_sync_state));
|
||||
save_item(NAME(m_selected_reg));
|
||||
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
save_item(NAME(m_channels[i].frequency), i);
|
||||
@ -185,7 +185,7 @@ void saa1099_device::device_start()
|
||||
save_item(NAME(m_channels[i].freq), i);
|
||||
save_item(NAME(m_channels[i].level), i);
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
save_item(NAME(m_noise[i].counter), i);
|
||||
|
@ -1048,7 +1048,7 @@ void video_manager::recompute_speed(const attotime &emutime)
|
||||
if (filerr == FILERR_NONE)
|
||||
save_snapshot(machine().first_screen(), file);
|
||||
}
|
||||
//printf("Scheduled exit at %f\n", emutime.as_double());
|
||||
//printf("Scheduled exit at %f\n", emutime.as_double());
|
||||
// schedule our demise
|
||||
machine().schedule_exit();
|
||||
}
|
||||
|
@ -699,16 +699,16 @@ void scn2674_device::device_timer(emu_timer &timer, device_timer_id id, int para
|
||||
|
||||
if (!m_display_cb.isnull())
|
||||
m_display_cb(m_bitmap,
|
||||
i * m_hpixels_per_column,
|
||||
m_linecounter,
|
||||
tilerow,
|
||||
space().read_byte(address),
|
||||
address,
|
||||
(charrow >= m_IR6_cursor_first_scanline) && m_cursor_on,
|
||||
dw != 0,
|
||||
m_gfx_enabled != 0,
|
||||
charrow == m_IR7_cursor_underline_position,
|
||||
m_IR7_cursor_blink && (m_screen->frame_number() & (m_IR7_cursor_rate_divisor ? 0x40 : 0x20)));
|
||||
i * m_hpixels_per_column,
|
||||
m_linecounter,
|
||||
tilerow,
|
||||
space().read_byte(address),
|
||||
address,
|
||||
(charrow >= m_IR6_cursor_first_scanline) && m_cursor_on,
|
||||
dw != 0,
|
||||
m_gfx_enabled != 0,
|
||||
charrow == m_IR7_cursor_underline_position,
|
||||
m_IR7_cursor_blink && (m_screen->frame_number() & (m_IR7_cursor_rate_divisor ? 0x40 : 0x20)));
|
||||
address = (address + 1) & 0xffff;
|
||||
|
||||
if(address > ((m_IR9_display_buffer_last_address << 10) | 0x3ff))
|
||||
|
@ -19,8 +19,8 @@
|
||||
#define SCN2674_DRAW_CHARACTER_MEMBER(_name) void _name(bitmap_rgb32 &bitmap, int x, int y, UINT8 linecount, UINT8 charcode, UINT16 address, UINT8 cursor, UINT8 dw, UINT8 lg, UINT8 ul, UINT8 blink)
|
||||
|
||||
class scn2674_device : public device_t,
|
||||
public device_video_interface,
|
||||
public device_memory_interface
|
||||
public device_video_interface,
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
@ -659,7 +659,7 @@ bool a2_16sect_format::load(io_generic *io, UINT32 form_factor, floppy_image *im
|
||||
else if (!memcmp(pascal2_block1, §or_data[0x100], 4))
|
||||
{
|
||||
m_prodos_order = true;
|
||||
} // check for CP/M disks in ProDOS order
|
||||
} // check for CP/M disks in ProDOS order
|
||||
else if (!memcmp(cpm22_block1, §or_data[0x100], 8))
|
||||
{
|
||||
m_prodos_order = true;
|
||||
|
@ -629,17 +629,17 @@ BGFXOBJS = \
|
||||
$(LIBOBJ)/bgfx/common/imgui/imgui.o \
|
||||
$(LIBOBJ)/bgfx/common/nanovg/nanovg.o \
|
||||
$(LIBOBJ)/bgfx/common/nanovg/nanovg_bgfx.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/cmd.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/dbg.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_android.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_asmjs.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_linux.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_nacl.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_qnx.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_sdl.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_windows.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/input.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/cmd.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/dbg.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_android.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_asmjs.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_linux.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_nacl.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_qnx.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_sdl.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/entry_windows.o \
|
||||
# $(LIBOBJ)/bgfx/common/entry/input.o \
|
||||
|
||||
ifeq ($(TARGETOS),macosx)
|
||||
BGFXOBJS += $(LIBOBJ)/bgfx/glcontext_eagl.o
|
||||
|
@ -489,7 +489,7 @@ void seibu_adpcm_device::device_start()
|
||||
m_stream = machine().sound().stream_alloc(*this, 0, 1, clock());
|
||||
m_base = machine().root_device().memregion(m_rom_tag)->base();
|
||||
m_adpcm.reset();
|
||||
|
||||
|
||||
save_item(NAME(m_current));
|
||||
save_item(NAME(m_end));
|
||||
save_item(NAME(m_nibble));
|
||||
|
@ -169,7 +169,7 @@ t5182_device::t5182_device(const machine_config &mconfig, const char *tag, devic
|
||||
void t5182_device::device_start()
|
||||
{
|
||||
m_setirq_cb = timer_alloc(SETIRQ_CB);
|
||||
|
||||
|
||||
save_item(NAME(m_irqstate));
|
||||
save_item(NAME(m_semaphore_main));
|
||||
save_item(NAME(m_semaphore_snd));
|
||||
@ -314,7 +314,7 @@ ioport_constructor t5182_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(t5182);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 4000-407F RAM shared with main CPU
|
||||
// 4000 output queue length
|
||||
|
@ -22,7 +22,7 @@ public:
|
||||
{
|
||||
SETIRQ_CB
|
||||
};
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(sound_irq_w );
|
||||
DECLARE_READ8_MEMBER(sharedram_semaphore_snd_r);
|
||||
DECLARE_WRITE8_MEMBER(sharedram_semaphore_main_acquire_w);
|
||||
|
@ -49,7 +49,7 @@ Notes:
|
||||
01016E: btst #$7, $60621.l ;check dsw2 ram copy bit 15 (debug feature?)
|
||||
010176: bne $1017e
|
||||
010178: bra $f9f0 ;timer over event occurs
|
||||
btanb perhaps? Currently patched to work, might also be that DSW2 bit 7 is actually a MCU bit ready flag, so it
|
||||
btanb perhaps? Currently patched to work, might also be that DSW2 bit 7 is actually a MCU bit ready flag, so it
|
||||
definitely needs PCB tests.
|
||||
|
||||
|
||||
@ -1178,7 +1178,7 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
|
||||
|
||||
|
||||
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
|
||||
|
||||
/* video hardware */
|
||||
@ -1277,7 +1277,7 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
|
||||
|
||||
|
||||
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
|
||||
|
||||
/* video hardware */
|
||||
@ -1371,7 +1371,7 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
|
||||
|
||||
|
||||
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
|
||||
|
||||
/* video hardware */
|
||||
@ -1419,7 +1419,7 @@ static MACHINE_CONFIG_START( legion, armedf_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
|
||||
|
||||
|
||||
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
|
||||
|
||||
/* video hardware */
|
||||
@ -2128,7 +2128,7 @@ DRIVER_INIT_MEMBER(armedf_state,legiono)
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),this));
|
||||
|
||||
m_scroll_type = 2;
|
||||
|
||||
|
||||
save_item(NAME(m_legion_cmd));
|
||||
}
|
||||
|
||||
|
@ -707,7 +707,7 @@ GFXDECODE_END
|
||||
CUSTOM_INPUT_MEMBER(bnstars_state::mahjong_ctrl_r)
|
||||
{
|
||||
required_ioport_array<4> &keys = (param == 0) ? m_p1_keys : m_p2_keys;
|
||||
|
||||
|
||||
switch (m_bnstars1_mahjong_select & 0x2080)
|
||||
{
|
||||
default:
|
||||
|
@ -6,7 +6,7 @@ Nearly everything.
|
||||
|
||||
There also appears to be a sequel which may be running on the same hardware, but which does not seem to have been released.
|
||||
Come On Baby - Ballympic Heroes! (c) 2001
|
||||
|
||||
|
||||
Other games in this series include:
|
||||
Come On Baby 2 (c) 2002
|
||||
Come On Baby Jr (c) 2003 (which seems to be otherwise identical to Come On Baby but in a smaller cabinet)
|
||||
@ -20,29 +20,29 @@ Nearly everything.
|
||||
BIOS String: 07/03/2000-440BX-ITE8671-2A69KV3IC-00
|
||||
aka. BIOS-I-2M
|
||||
Award BIOS
|
||||
B1120IAG.BIN For Super IO = ITE 8671
|
||||
Clock Gen IC : Winbond-39A
|
||||
(Nov/2000 built)
|
||||
|
||||
B1120IAG.BIN For Super IO = ITE 8671
|
||||
Clock Gen IC : Winbond-39A
|
||||
(Nov/2000 built)
|
||||
|
||||
CPU - Slot 1 Celeron 633MHz (66x9.5)
|
||||
Memory - 65536k SDRAM PC100
|
||||
|
||||
Brief motherboard overview (from PC Partner BXAS1-928 motherboard manual)
|
||||
--
|
||||
|
||||
|
||||
HARDWARE CONFIGURATION
|
||||
This motherboard is based on Intel 82440BX chipset. The chipset is a
|
||||
highly integrated solution for a cost-effective and compact motherboard.
|
||||
The motherboard supports standard DIMM module, PC-100 DIMM module or
|
||||
Registered DIMM Module.
|
||||
|
||||
This motherboard is based on Intel 82440BX chipset. The chipset is a
|
||||
highly integrated solution for a cost-effective and compact motherboard.
|
||||
The motherboard supports standard DIMM module, PC-100 DIMM module or
|
||||
Registered DIMM Module.
|
||||
|
||||
Features on-board include....
|
||||
super-I/O, Ultra DMA33 (Ultra DMA66 optional for VIA chipset), PCI bus master IDE, AGP Ver 1.0, PCI Ver 2.1 compliance,
|
||||
USB, VRM 8.4 compliance, ECC, ATX specification 2.01 compliance, hardware monitoring (optional), On-board PCI Sound
|
||||
Sub-system(optional, not populated). Supports PC-100 DIMM Module.
|
||||
|
||||
Key Features:
|
||||
|
||||
|
||||
Processor
|
||||
- Full support for the Intel Pentium II & Intel Pentium III, Intel Celeron and Deschutes processors using Slot 1 connector.
|
||||
- Slot 1 connector for Intel Pentium II & Intel Pentium III microprocessors.
|
||||
@ -50,33 +50,33 @@ Nearly everything.
|
||||
|
||||
CPU Speed Setting
|
||||
- Jumper setting or no jumper is needed to set for various speed of CPU (Factory optional).
|
||||
|
||||
|
||||
VRM (Voltage Regulator Modules) on Board
|
||||
- Flexible motherboard design with on-board VRM 8.4, easy to upgrade with
|
||||
Future Intel Pentium II & Pentium III processors.
|
||||
|
||||
|
||||
Cache
|
||||
- Pentium II & Pentium III Processor built-in L2 cache.
|
||||
|
||||
|
||||
System Memory
|
||||
- Up to 384MB (SDRAM) or 768MB (Registered SDRAM) - for 440BX.
|
||||
- A total of three 168-pin DIMM sockets for 440BX.
|
||||
- Supports SDRAM (only for 66MHz bus speed).
|
||||
- Supports PC-100.
|
||||
|
||||
|
||||
Memory Organization
|
||||
- Supports single-density DIMMs of 1MB, 2MB, 4MB, 8MB and 16MB depth (x64 or 72).
|
||||
- Supports double-density DIMMs of 2MB, 4MB, 8MB, 16MB and 32MB depth
|
||||
(x64 or 72).
|
||||
- Supports error checking correction (ECC) using parity DRAM modules (for 440BX).
|
||||
- Banks of different DRAM types depths can be mixed.
|
||||
|
||||
|
||||
Expansion Slots
|
||||
- Supports SB-LINK Port for Creative Sound PCI Card.
|
||||
- 1 AGP slot (ver. 1.0, 1x/2x mode supported).
|
||||
- 5 PCI bus master slots (rev. 2.1 compliant, with 1 PCI slot sharing with 1 ISA slot)
|
||||
- 2 ISA slots (1 ISA slot sharing with 1 PCI slot).
|
||||
|
||||
|
||||
On-Board I/O
|
||||
- Two PCI fast IDE ports supporting up to 4 ATA2, Ultra DMA33 IDE HDDs, Ultra DMA66 (optional only for VIA Chipset)
|
||||
IDE HDDs, CD-Roms, ZIP devices and LS-120 drives as boot drive.
|
||||
@ -91,19 +91,19 @@ Nearly everything.
|
||||
- PS/2 mouse port.
|
||||
- Infrared (IrDA) support (via a header).
|
||||
- One Line / Speaker out, one Mic in, one Line in and MIDI / Gameport
|
||||
|
||||
|
||||
System BIOS
|
||||
- 2MB flash BIOS supporting PnP, APM, ATAPI, ACPI and DMI;
|
||||
- Jumper selection for 5V or 12V flash memory voltage.
|
||||
- Auto detects and supports LBA hard disks with formatted capacities over
|
||||
8.4GB.
|
||||
- Easily upgradable by end-user.
|
||||
|
||||
|
||||
Plug-and-Play
|
||||
- Supports Plug-and-Play Specification 1.1.
|
||||
- Plug-and-play for DOS, Windows 3.X, Windows 95 as well as Windows 98.
|
||||
- Fully steerable PCI interrupts.
|
||||
|
||||
|
||||
Power Management
|
||||
- Supports SMM, APM and ACPI.
|
||||
- Break switch for instant suspend/resume on system operation.
|
||||
@ -111,7 +111,7 @@ Nearly everything.
|
||||
- Supports WAKE-ON-LAN (WOL).
|
||||
- Supports Wake on Ring for External Modem.
|
||||
- Supports ATX specification 2.01.
|
||||
|
||||
|
||||
Creative PCI Sound (optional, not populated)
|
||||
- Full DOS game support (DDMA, PC/PCI, CLS).
|
||||
- PCI 2.1 Bus Master, hardware sound acceleration.
|
||||
@ -119,13 +119,13 @@ Nearly everything.
|
||||
- Full Duplex, 3D Enhancement, Software wavetable.
|
||||
- PNP and APM 1.2 support.
|
||||
- Win95/98, NT drivers ready.
|
||||
|
||||
|
||||
Keyboard Password Turn ON
|
||||
- Special feature for system security.
|
||||
|
||||
|
||||
System monitoring (optional)
|
||||
- Hardware monitoring circuitry is supported, provides voltages, temperature, fan speeds etc. monitoring.
|
||||
|
||||
|
||||
--
|
||||
|
||||
The donor PC looks like a standard Windows 98 setup.
|
||||
@ -140,8 +140,8 @@ Nearly everything.
|
||||
It uses DirectSound and the Microsoft MCI interfaces and 3dfx Glide for video.
|
||||
The PC that the game was dumped from has Sound Blaster and Ensoniq drivers,
|
||||
but it works fine with some other sound configurations.
|
||||
The sound chip on the motherboard is not populated. There is a cheap Korean
|
||||
sound card "CS-6500P Made In Korea OJU CTN CO LTD." plugged into one of the
|
||||
The sound chip on the motherboard is not populated. There is a cheap Korean
|
||||
sound card "CS-6500P Made In Korea OJU CTN CO LTD." plugged into one of the
|
||||
slots containing a CRYSTAL CS4281-CM chip.
|
||||
The donor PC has a "3dfxvoodoo3" driver installation directory, but it works
|
||||
fine with a Voodoo4 4500.
|
||||
|
@ -889,12 +889,12 @@ ROM_START( cops )
|
||||
|
||||
ROM_REGION( 0x8000, "system", 0 )
|
||||
ROM_LOAD( "cops_sys.dat", 0x0000, 0x8000, CRC(0060e5d0) SHA1(b8c9f6fde6a315e33fa7946e5d3bb4ea2fbe76a8) )
|
||||
|
||||
|
||||
DISK_REGION( "audiocd" )
|
||||
DISK_IMAGE_READONLY( "copscd", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "copscd", 0, NO_DUMP )
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "cops", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "cops", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
ROM_START( copsuk )
|
||||
@ -905,10 +905,10 @@ ROM_START( copsuk )
|
||||
ROM_LOAD( "cops_sys.dat", 0x0000, 0x8000, CRC(0060e5d0) SHA1(b8c9f6fde6a315e33fa7946e5d3bb4ea2fbe76a8) )
|
||||
|
||||
DISK_REGION( "audiocd" )
|
||||
DISK_IMAGE_READONLY( "copscd", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "copscd", 0, NO_DUMP )
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "cops", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "cops", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
ROM_START( revlatns )
|
||||
@ -919,7 +919,7 @@ ROM_START( revlatns )
|
||||
ROM_LOAD( "revelations_sys.bin", 0x0000, 0x8000, CRC(43e5e3ec) SHA1(fa44b102b5aa7ad2421c575abdc67f1c29f23bc1) )
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "revlatns", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "revlatns", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -494,7 +494,7 @@ Notes:
|
||||
2 RCA cables from A-board CN L/R go in at the top. The audio goes through
|
||||
Mitsumi MM1326 series "Q Expander" ICs responsible for creating the 3D stereo
|
||||
effect. The 4-pin connector at the bottom goes to the cabinet speakers.
|
||||
|
||||
|
||||
IC1 - don't know yet which chip is which
|
||||
IC2 - "
|
||||
IC3 - "
|
||||
|
@ -97,7 +97,7 @@ public:
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_vram;
|
||||
required_shared_ptr<UINT8> m_cram;
|
||||
required_shared_ptr<UINT8> m_obj1_ram;
|
||||
@ -121,13 +121,13 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(cyclemb_flip_w);
|
||||
DECLARE_READ8_MEMBER(skydest_i8741_0_r);
|
||||
DECLARE_WRITE8_MEMBER(skydest_i8741_0_w);
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(skydest);
|
||||
DECLARE_DRIVER_INIT(cyclemb);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
DECLARE_PALETTE_INIT(cyclemb);
|
||||
|
||||
|
||||
UINT32 screen_update_cyclemb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_skydest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
@ -39,24 +39,24 @@ public:
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_lo_vram;
|
||||
required_shared_ptr<UINT8> m_hi_vram;
|
||||
required_shared_ptr<UINT8> m_cram;
|
||||
|
||||
|
||||
tilemap_t *m_sc0_tilemap;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(sc0_lovram);
|
||||
DECLARE_WRITE8_MEMBER(sc0_hivram);
|
||||
DECLARE_WRITE8_MEMBER(sc0_cram);
|
||||
DECLARE_WRITE8_MEMBER(bank_w);
|
||||
DECLARE_READ8_MEMBER(prot_latch_r);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
|
||||
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
|
@ -229,7 +229,7 @@ static MACHINE_CONFIG_START( darkmist, darkmist_state )
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", darkmist_state, scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("t5182", T5182, 0)
|
||||
|
||||
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -205,7 +205,7 @@ MACHINE_CONFIG_END
|
||||
ROM_START( dlair2 )
|
||||
ROM_REGION( 0x10000, "ipl", 0 )
|
||||
ROM_LOAD( "dl2_319.bin", 0x00000, 0x10000, CRC(e9453a1b) SHA1(eb1201abd0124f6edbabd49bec81af827369cb2c) )
|
||||
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "C-910-00002-00", 0, NO_DUMP )
|
||||
ROM_END
|
||||
@ -213,7 +213,7 @@ ROM_END
|
||||
ROM_START( dlair2_319e )
|
||||
ROM_REGION( 0x10000, "ipl", 0 )
|
||||
ROM_LOAD( "dl2euro3.19.bin", 0x00000, 0x10000, CRC(cc23ad9f) SHA1(24add8f03749dcc27b1b166dc2e5d346534a0088) )
|
||||
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "C-910-00002-00", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(dreambal);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
|
||||
|
||||
UINT32 screen_update_dreambal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECO16IC_BANK_CB_MEMBER(bank_callback);
|
||||
|
||||
|
@ -141,7 +141,7 @@ ROM_START( attckexd )
|
||||
ROM_LOAD( "attack.k6", 0x0000, 0x0100, CRC(e120839f) SHA1(74dc19a732238d35e467d814ead581a60463aaa2) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( attckexd2 ) // These are likely an overdump, but we are waiting for confirmation before removing the files
|
||||
ROM_START( attckexd2 ) // These are likely an overdump, but we are waiting for confirmation before removing the files
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x0400, "roms", ROMREGION_ERASE00 )
|
||||
|
@ -5,21 +5,21 @@
|
||||
Used by the newer (or possibly older/original) revisions of Gals Panic
|
||||
also the basis of the various Comad clones
|
||||
|
||||
Fantasia 1994 Comad
|
||||
Super Model 1994 Comad
|
||||
New Fantasia 1994 Comad
|
||||
New Fantasia 1995 Comad (set 2)
|
||||
Fantasy '95 1995 Hi-max Technology Inc. (Running on a Comad PCB)
|
||||
Miss World '96 1996 Comad
|
||||
Ms/Mr World '96 1996 Comad
|
||||
Fantasia II 1997 Comad
|
||||
|
||||
Fantasia 1994 Comad
|
||||
Super Model 1994 Comad
|
||||
New Fantasia 1994 Comad
|
||||
New Fantasia 1995 Comad (set 2)
|
||||
Fantasy '95 1995 Hi-max Technology Inc. (Running on a Comad PCB)
|
||||
Miss World '96 1996 Comad
|
||||
Ms/Mr World '96 1996 Comad
|
||||
Fantasia II 1997 Comad
|
||||
|
||||
The following seem similar but could have other changes
|
||||
|
||||
Pocket Gal VIP /
|
||||
Gals Hustler 1997 Ace International
|
||||
Zip & Zap 1995 Barko Corp
|
||||
|
||||
Pocket Gal VIP /
|
||||
Gals Hustler 1997 Ace International
|
||||
Zip & Zap 1995 Barko Corp
|
||||
|
||||
Notes:
|
||||
- In gfx data banking function, some strange gfx are shown. Timing issue?
|
||||
|
||||
@ -294,7 +294,7 @@ UINT32 expro02_state::screen_update_backgrounds(screen_device &screen, bitmap_in
|
||||
/*
|
||||
else
|
||||
{
|
||||
dest[x] = 0x0000;
|
||||
dest[x] = 0x0000;
|
||||
}
|
||||
*/
|
||||
|
||||
@ -967,7 +967,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( comad_noview2, comad )
|
||||
MCFG_DEVICE_REMOVE("view2_0")
|
||||
|
||||
|
||||
MCFG_GFXDECODE_MODIFY("gfxdecode", expro02_noview2)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1001,8 +1001,8 @@ static MACHINE_CONFIG_DERIVED( galhustl, comad_noview2 )
|
||||
MCFG_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_zipzap)
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_zipzap)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( zipzap, comad_noview2 )
|
||||
@ -1012,8 +1012,8 @@ static MACHINE_CONFIG_DERIVED( zipzap, comad_noview2 )
|
||||
MCFG_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen") // doesn't work with original kaneko_spr implementation
|
||||
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_zipzap)
|
||||
MCFG_SCREEN_MODIFY("screen") // doesn't work with original kaneko_spr implementation
|
||||
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_zipzap)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/*************************************
|
||||
@ -1764,7 +1764,7 @@ ROM_END
|
||||
*************************************/
|
||||
|
||||
DRIVER_INIT_MEMBER(expro02_state,expro02)
|
||||
{
|
||||
{
|
||||
UINT32 *src = (UINT32 *)memregion("gfx3" )->base();
|
||||
UINT32 *dst = (UINT32 *)memregion("gfx2" )->base();
|
||||
int x, offset;
|
||||
|
@ -432,7 +432,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( asurabusa )
|
||||
PORT_INCLUDE(asurabld)
|
||||
|
||||
|
||||
PORT_MODIFY("INPUTS")
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
|
@ -471,7 +471,7 @@ static MACHINE_CONFIG_START( ninjemak, galivan_state )
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak)
|
||||
|
||||
|
||||
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
|
||||
|
||||
/* video hardware */
|
||||
@ -507,7 +507,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_DERIVED(youmab, ninjemak)
|
||||
|
||||
|
||||
MCFG_DEVICE_REMOVE("nb1414m4")
|
||||
MACHINE_CONFIG_END
|
||||
/***************************************************************************
|
||||
|
@ -125,7 +125,7 @@ void galpani2_state::machine_start()
|
||||
UINT8 *ROM = memregion("subdata")->base();
|
||||
membank("subdatabank")->configure_entries(0, 0x2000000/0x0800000, ROM, 0x0800000);
|
||||
membank("subdatabank")->set_entry(0);
|
||||
|
||||
|
||||
save_item(NAME(m_eeprom_word));
|
||||
save_item(NAME(m_old_mcu_nmi1));
|
||||
save_item(NAME(m_old_mcu_nmi2));
|
||||
|
@ -113,7 +113,7 @@ public:
|
||||
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
|
||||
UINT32 screen_update_galpani3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(galpani3_vblank);
|
||||
int gp3_is_alpha_pen(int pen);
|
||||
@ -147,7 +147,7 @@ void galpani3_state::video_start()
|
||||
{
|
||||
/* so we can use video/sknsspr.c */
|
||||
m_spritegen->skns_sprite_kludge(0,0);
|
||||
|
||||
|
||||
save_item(NAME(m_priority_buffer_scrollx));
|
||||
save_item(NAME(m_priority_buffer_scrolly));
|
||||
save_item(NAME(m_spriteram32));
|
||||
|
@ -314,4 +314,3 @@ ROM_END
|
||||
|
||||
GAME( 1990, galpanic, 0, galpanic, galpanic, driver_device, 0, ROT90, "Kaneko", "Gals Panic (Unprotected)", GAME_NO_COCKTAIL )
|
||||
GAME( 1990, galpanica,galpanic, galpanica,galpanica, driver_device, 0, ROT90, "Kaneko", "Gals Panic (MCU Protected)", GAME_NO_COCKTAIL )
|
||||
|
||||
|
@ -1032,7 +1032,7 @@ DRIVER_INIT_MEMBER(gladiatr_state,ppking)
|
||||
}
|
||||
}
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xf6a3,0xf6a3,read8_delegate(FUNC(gladiatr_state::ppking_f6a3_r),this));
|
||||
|
||||
|
||||
save_item(NAME(m_data1));
|
||||
save_item(NAME(m_data2));
|
||||
}
|
||||
|
@ -211,20 +211,20 @@ public:
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_videoram;
|
||||
required_shared_ptr<UINT8> m_colorram;
|
||||
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(colorram_w);
|
||||
DECLARE_WRITE8_MEMBER(counters_w);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
|
||||
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(gluck2);
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
|
@ -101,12 +101,12 @@ public:
|
||||
tilemap_t *m_sc1_tilemap;
|
||||
tilemap_t *m_sc2_tilemap;
|
||||
tilemap_t *m_sc3_tilemap;
|
||||
|
||||
|
||||
UINT16 m_mux_data;
|
||||
UINT16 m_seibucrtc_sc0bank;
|
||||
UINT16 m_layer_en;
|
||||
UINT16 m_scrollram[6];
|
||||
|
||||
|
||||
DECLARE_WRITE16_MEMBER(gfxbank_w);
|
||||
DECLARE_READ16_MEMBER(mahjong_panel_r);
|
||||
DECLARE_WRITE16_MEMBER(mahjong_panel_w);
|
||||
@ -116,14 +116,14 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(seibucrtc_sc3vram_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc3_tile_info);
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(irq);
|
||||
|
||||
|
||||
void seibucrtc_sc0bank_w(UINT16 data);
|
||||
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int pri);
|
||||
virtual void video_start();
|
||||
@ -355,7 +355,7 @@ void goodejan_state::video_start()
|
||||
m_sc3_tilemap->set_transparent_pen(15);
|
||||
|
||||
m_seibucrtc_sc0bank = 0;
|
||||
|
||||
|
||||
save_item(NAME(m_mux_data));
|
||||
save_item(NAME(m_seibucrtc_sc0bank));
|
||||
save_item(NAME(m_layer_en));
|
||||
|
@ -587,5 +587,5 @@ ROM_END
|
||||
GAME( 1985, gunsmoke, 0, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom", "Gun.Smoke (World, 851115)", GAME_SUPPORTS_SAVE ) // GSE_03
|
||||
GAME( 1985, gunsmokeb, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "bootleg", "Gun.Smoke (World, 851115) (bootleg)", GAME_SUPPORTS_SAVE ) // based on above version, warning message patched out
|
||||
GAME( 1985, gunsmokej, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom", "Gun.Smoke (Japan, 851115)", GAME_SUPPORTS_SAVE ) // GSJ_03
|
||||
GAME( 1985, gunsmokeu, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US, 851115)", GAME_SUPPORTS_SAVE ) // GSR_03
|
||||
GAME( 1985, gunsmokeu, gunsmoke, gunsmoke, gunsmoke, driver_device, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US, 851115)", GAME_SUPPORTS_SAVE ) // GSR_03
|
||||
GAME( 1986, gunsmokeua, gunsmoke, gunsmoke, gunsmokeua, driver_device, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US, 860408)", GAME_SUPPORTS_SAVE ) // GSA_03
|
||||
|
@ -535,7 +535,7 @@ READ8_MEMBER(hornet_state::sysreg_r)
|
||||
0x02 = ADDOR (ADC DOR)
|
||||
0x01 = ADDO (ADC DO)
|
||||
*/
|
||||
r = 0xf0;
|
||||
r = 0xf0;
|
||||
if (m_lan_eeprom)
|
||||
r |= m_lan_eeprom->do_read() << 3;
|
||||
r |= m_adc12138->do_r(space, 0) | (m_adc12138->eoc_r(space, 0) << 2);
|
||||
@ -987,7 +987,7 @@ static MACHINE_CONFIG_START( hornet, hornet_state )
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
|
||||
|
||||
// PCB description at top doesn't mention any EEPROM on the base board...
|
||||
// MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
|
||||
// MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
|
||||
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
|
@ -1103,14 +1103,14 @@ WRITE16_MEMBER(igs011_state::igs011_prot_addr_w)
|
||||
sp.install_rom(m_prot1_addr + 0, m_prot1_addr + 9, rom + m_prot1_addr);
|
||||
|
||||
m_prot1_addr = (data << 4) ^ 0x8340;
|
||||
|
||||
|
||||
prot_mem_range_set();
|
||||
}
|
||||
|
||||
void igs011_state::prot_mem_range_set()
|
||||
{
|
||||
{
|
||||
address_space &sp = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
|
||||
// Add protection memory range
|
||||
sp.install_write_handler(m_prot1_addr + 0, m_prot1_addr + 7, write16_delegate(FUNC(igs011_state::igs011_prot1_w), this));
|
||||
sp.install_read_handler (m_prot1_addr + 8, m_prot1_addr + 9, read16_delegate(FUNC(igs011_state::igs011_prot1_r), this));
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
optional_device<qs1000_device> m_qs1000;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT32> m_mainram;
|
||||
required_shared_ptr<UINT32> m_fg_videoram;
|
||||
required_shared_ptr<UINT32> m_md_videoram;
|
||||
@ -60,17 +60,17 @@ public:
|
||||
required_shared_ptr<UINT32> m_spriteram;
|
||||
required_shared_ptr<UINT32> m_spriteram2;
|
||||
required_shared_ptr<UINT32> m_videoreg;
|
||||
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_md_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
|
||||
|
||||
int m_spriteram_bit;
|
||||
bitmap_ind16 m_sprites_bitmap;
|
||||
bitmap_ind8 m_sprites_bitmap_pri;
|
||||
int m_prev_sprites_count;
|
||||
UINT8 m_spotty_sound_cmd;
|
||||
|
||||
|
||||
DECLARE_WRITE32_MEMBER(limenko_coincounter_w);
|
||||
DECLARE_WRITE32_MEMBER(bg_videoram_w);
|
||||
DECLARE_WRITE32_MEMBER(md_videoram_w);
|
||||
@ -89,7 +89,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(qs1000_p1_w);
|
||||
DECLARE_WRITE8_MEMBER(qs1000_p2_w);
|
||||
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
|
||||
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(spriteram_bit_r);
|
||||
|
||||
DECLARE_DRIVER_INIT(common);
|
||||
@ -97,11 +97,11 @@ public:
|
||||
DECLARE_DRIVER_INIT(dynabomb);
|
||||
DECLARE_DRIVER_INIT(legendoh);
|
||||
DECLARE_DRIVER_INIT(spotty);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_md_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
|
||||
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_limenko(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_single_sprite(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,UINT32 code,UINT32 color,int flipx,int flipy,int sx,int sy,int priority);
|
||||
@ -505,7 +505,7 @@ void limenko_state::video_start()
|
||||
|
||||
m_sprites_bitmap.allocate(384,240);
|
||||
m_sprites_bitmap_pri.allocate(384,240);
|
||||
|
||||
|
||||
save_item(NAME(m_spriteram_bit));
|
||||
save_item(NAME(m_prev_sprites_count));
|
||||
}
|
||||
@ -1146,7 +1146,7 @@ DRIVER_INIT_MEMBER(limenko_state,spotty)
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x6626c, 0x6626f, read32_delegate(FUNC(limenko_state::spotty_speedup_r), this));
|
||||
|
||||
m_spriteram_bit = 1;
|
||||
|
||||
|
||||
save_item(NAME(m_spotty_sound_cmd));
|
||||
}
|
||||
|
||||
|
@ -1049,9 +1049,9 @@ DRIVER_INIT_MEMBER(lordgun_state, lordgun)
|
||||
|
||||
rom[i] = x;
|
||||
}
|
||||
|
||||
|
||||
save_item(NAME(m_old));
|
||||
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
save_item(NAME(m_gun[i].scr_x), i);
|
||||
|
@ -458,12 +458,12 @@ public:
|
||||
required_device<msm5205_device> m_msm;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_nvram;
|
||||
required_shared_ptr<UINT8> m_workram;
|
||||
required_shared_ptr<UINT8> m_tileram;
|
||||
required_shared_ptr<UINT8> m_colram;
|
||||
|
||||
|
||||
UINT8* m_vram;
|
||||
UINT8 m_bank;
|
||||
int m_irq0_ack;
|
||||
@ -503,7 +503,7 @@ public:
|
||||
void mastboy_state::video_start()
|
||||
{
|
||||
m_gfxdecode->gfx(0)->set_source(m_vram);
|
||||
|
||||
|
||||
save_pointer(NAME(m_vram), 0x10000);
|
||||
}
|
||||
|
||||
@ -877,7 +877,7 @@ GFXDECODE_END
|
||||
void mastboy_state::machine_start()
|
||||
{
|
||||
m_vram = memregion( "gfx1" )->base(); // makes decoding the RAM based tiles easier this way
|
||||
|
||||
|
||||
save_item(NAME(m_bank));
|
||||
save_item(NAME(m_irq0_ack));
|
||||
save_item(NAME(m_backupram_enabled));
|
||||
|
@ -2699,9 +2699,9 @@ ROM_START( nflfoot )
|
||||
ROM_LOAD( "nflvidfg.cp7", 0x0a000, 0x2000, CRC(73f62392) SHA1(18f28be7264f8edff38f8a6aa067eeb1970f544c) )
|
||||
ROM_LOAD( "nflvidfg.c10", 0x0c000, 0x2000, CRC(1766dcc7) SHA1(df499e3c66ae702d2d56e6cd095a754665569fcd) )
|
||||
ROM_LOAD( "nflvidfg.cp9", 0x0e000, 0x2000, CRC(46558146) SHA1(4bedfae8cf0fcb9d837706ee13fbe3944ab47216) )
|
||||
|
||||
|
||||
DISK_REGION( "ced_videodisc" )
|
||||
DISK_IMAGE_READONLY( "nflfoot", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "nflfoot", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -571,7 +571,7 @@ ROM_START( vnight )
|
||||
ROM_LOAD( "vpn3verb.ic002", 0x000000, 0x800000, CRC(d0011dc6) SHA1(d01a418b4b83057708e8f0ac4b271112b4a24d15) )
|
||||
ROM_LOAD( "vpn3verb_spr.ic002", 0x800000, 0x040000, CRC(41169c24) SHA1(40bffbe93da65fe5512be9f80254b034a071c38b) )
|
||||
|
||||
DISK_REGION("dvd") // actually single-track CD-ROM
|
||||
DISK_REGION("dvd") // actually single-track CD-ROM
|
||||
DISK_IMAGE_READONLY( "vpn1cd0", 0, SHA1(714bd19eee3b31a060223003e4567e405ce04cd7) )
|
||||
ROM_END
|
||||
|
||||
|
@ -2670,8 +2670,8 @@ MACHINE_CONFIG_END
|
||||
*/
|
||||
/*
|
||||
static MACHINE_CONFIG_DERIVED( naomi2, naomi )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(naomi2_map)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(naomi2_map)
|
||||
MACHINE_CONFIG_END
|
||||
*/
|
||||
/*
|
||||
@ -3467,13 +3467,13 @@ ROM_START( derbyoc )
|
||||
// 840-0016 1999 317-0262-JPN Naomi
|
||||
ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fee35" )
|
||||
/*
|
||||
838-13661 RS422/RS232C BD DOC
|
||||
IC1 - Toshiba TMPZ84C015BF-10 Z80-based MCU
|
||||
IC6 - Toshiba TC551001CF-70L 128k x8 SRAM
|
||||
IC8 - Sega 315-5338A
|
||||
OSC1 - 19.680MHz OSC2 - 32.000MHz
|
||||
838-13661 RS422/RS232C BD DOC
|
||||
IC1 - Toshiba TMPZ84C015BF-10 Z80-based MCU
|
||||
IC6 - Toshiba TC551001CF-70L 128k x8 SRAM
|
||||
IC8 - Sega 315-5338A
|
||||
OSC1 - 19.680MHz OSC2 - 32.000MHz
|
||||
|
||||
connected between Naomi motherboard and card reader/printer, accessed via MIE MCU ports 0x09-0x0d
|
||||
connected between Naomi motherboard and card reader/printer, accessed via MIE MCU ports 0x09-0x0d
|
||||
*/
|
||||
ROM_REGION( 0x10000, "rs422_io", 0 )
|
||||
ROM_LOAD( "epr-22083.ic7", 0x0000, 0x10000, CRC(c70b0de9) SHA1(329c924b4d29017482b1ecca839fb610ca20b2af) )
|
||||
|
@ -3720,9 +3720,9 @@ ROM_START( shabdama )
|
||||
ROM_LOAD( "6.bin", 0x020000, 0x010000, CRC(0fece809) SHA1(1fe8436af8ead02a3b517b6306f9824cd64b2d26) )
|
||||
ROM_LOAD( "5.bin", 0x010000, 0x010000, CRC(0706386a) SHA1(29eee363775869dcc9c46285632e8bf745c9110b) )
|
||||
ROM_LOAD( "4.bin", 0x000000, 0x010000, CRC(199e2127) SHA1(2514d51cb06438b312d1f328c72baa739280416a) )
|
||||
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "shabdama", 0, NO_DUMP )
|
||||
DISK_IMAGE_READONLY( "shabdama", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS
|
||||
|
@ -48,7 +48,7 @@ DIPSW are present on the main board (instead of on the filter board) and the
|
||||
SOIC8 chip (a secured PIC?) is not populated (the solder pads are there though).
|
||||
There's an extra sound IC AN7395S (it's not populated on Hornet).
|
||||
The PALs/PLDs are the same on NWK-TR and Hornet.
|
||||
Both Racing JAM/Chapter 2 and Thrill Drive use two video boards.
|
||||
Both Racing JAM/Chapter 2 and Thrill Drive use two video boards.
|
||||
The top video board is set to MASTER/TWIN, lower video board is set to SLAVE
|
||||
They are otherwise identical.
|
||||
|
||||
@ -91,7 +91,7 @@ Notes:
|
||||
DRM1M4SJ8 - Fujitsu 81C4256 256kx4 DRAM (SOJ24)
|
||||
SRAM256K - Cypress CY7C199 32kx8 SRAM (SOJ28)
|
||||
DRAM16X16 - Fujitsu 8118160A-60 16megx16 DRAM (SOJ42)
|
||||
M48T58Y-70PC1 - ST Timekeeper RAM
|
||||
M48T58Y-70PC1 - ST Timekeeper RAM
|
||||
RF5C400 - Ricoh RF5C400 PCM 32Ch, 44.1 kHz Stereo, 3D Effect Spatializer, clock input 16.9344MHz
|
||||
056800 - Konami Custom (QFP80)
|
||||
058232 - Konami Custom Ceramic Package (SIL14)
|
||||
@ -130,7 +130,7 @@ Notes:
|
||||
CN6 - DIN96 joining connector to lower PCB
|
||||
CN7 - Multi-pin connector (pads only, not used)
|
||||
CN9 to CN13 - Power Connectors
|
||||
CN14 to CN17 - RCA Stereo Audio OUT
|
||||
CN14 to CN17 - RCA Stereo Audio OUT
|
||||
CN18 - RCA Mono Audio OUT
|
||||
CN19 - USB Connector
|
||||
|
||||
@ -161,20 +161,20 @@ sticker - GC713AC
|
||||
| CN1 |
|
||||
|------------------------|
|
||||
Notes:
|
||||
CN1 - Connector joining to CPU board CN4
|
||||
CN2/3 - RCA jacks for network cable
|
||||
2G - Small SOIC8 chip with number 0038323 at location 2G. An identical chip is present on
|
||||
*some* Hornet games on the GN715 CPU board at location 30C. It may be a PIC or EEPROM.
|
||||
On Hornet, the chip seems to refresh the data in the Timekeeper RAM when the battery
|
||||
dies and keeps the game working. It's purpose on the network board is unknown but it may
|
||||
'upgrade' the data in the NVRAM to the network version of the game for a twin cabinet set-up.
|
||||
HYC2485S - Hybrid ceramic module for RS485
|
||||
CY7C199 - 32k x8 SRAM
|
||||
XC5204 - Xilinx XC5204 FPGA
|
||||
XC5210 - Xilink XC5210 FPGA
|
||||
N676H1 - PALCE16V8Q-15 stamped 'N676H1'
|
||||
CN1 - Connector joining to CPU board CN4
|
||||
CN2/3 - RCA jacks for network cable
|
||||
2G - Small SOIC8 chip with number 0038323 at location 2G. An identical chip is present on
|
||||
*some* Hornet games on the GN715 CPU board at location 30C. It may be a PIC or EEPROM.
|
||||
On Hornet, the chip seems to refresh the data in the Timekeeper RAM when the battery
|
||||
dies and keeps the game working. It's purpose on the network board is unknown but it may
|
||||
'upgrade' the data in the NVRAM to the network version of the game for a twin cabinet set-up.
|
||||
HYC2485S - Hybrid ceramic module for RS485
|
||||
CY7C199 - 32k x8 SRAM
|
||||
XC5204 - Xilinx XC5204 FPGA
|
||||
XC5210 - Xilink XC5210 FPGA
|
||||
N676H1 - PALCE16V8Q-15 stamped 'N676H1'
|
||||
|
||||
|
||||
|
||||
Bottom Board (VIDEO PCB)
|
||||
GN676 PWB(B)B
|
||||
|-------------------------------------------------------------------------------------------|
|
||||
@ -215,9 +215,9 @@ Notes:
|
||||
TEXELFX - 3DFX 500-0004-02 BD0665.1 TMU (QFP208)
|
||||
PIXELFX - 3DFX 500-0003-03 F001701.1 FBI (QFP240)
|
||||
001604 - Konami Custom (QFP208)
|
||||
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
|
||||
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
|
||||
MACH111 - AMD MACH111 CPLD (Stamped '03161A', PLCC44)
|
||||
PLCC44_SOCKET - empty PLCC44 socket
|
||||
PLCC44_SOCKET - empty PLCC44 socket
|
||||
AV9170 - Integrated Circuit Systems Inc. Clock Multiplier (SOIC8)
|
||||
AM7201 - AMD AM7201 FIFO (PLCC32)
|
||||
PAL1 - AMD PALCE16V8 (stamped 'N676B4', DIP20)
|
||||
|
@ -84,7 +84,7 @@ public:
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_mainram;
|
||||
required_shared_ptr<UINT8> m_spriteram;
|
||||
required_shared_ptr<UINT8> m_textram;
|
||||
@ -112,14 +112,14 @@ public:
|
||||
TILE_GET_INFO_MEMBER(get_infotile_info_3);
|
||||
TILE_GET_INFO_MEMBER(get_infotile_info_4);
|
||||
TILE_GET_INFO_MEMBER(get_txttile_info);
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(panicr);
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(panicr);
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect );
|
||||
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
|
||||
};
|
||||
|
||||
@ -243,7 +243,7 @@ void panicr_state::video_start()
|
||||
|
||||
m_txttilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(panicr_state::get_txttile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
|
||||
m_txttilemap->configure_groups(*m_gfxdecode->gfx(0), 0);
|
||||
|
||||
|
||||
save_item(NAME(m_scrollx));
|
||||
}
|
||||
|
||||
@ -609,7 +609,7 @@ static MACHINE_CONFIG_START( panicr, panicr_state )
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", panicr_state, scanline, "screen", 0, 1)
|
||||
|
||||
MCFG_DEVICE_ADD("t5182", T5182, 0)
|
||||
|
||||
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -5017,7 +5017,7 @@ ROM_END
|
||||
ROM_START( peps0090 ) /* Normal board : Gold, Silver & Bronze (PS0090) - Payout 90.19% */
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "ps0090_569-a2c.u68", 0x00000, 0x10000, CRC(5a727ff0) SHA1(6eed9d85620eff751c598d56807470f8753e8dd5) ) /* 3 Coins Max / 1 Line */
|
||||
|
||||
|
||||
ROM_REGION( 0x020000, "gfx1", 0 )
|
||||
ROM_LOAD( "mro-cg1059.u72", 0x00000, 0x8000, CRC(96210de3) SHA1(10daa358f1fc507e9f4c788265c0acc57678fa40) ) /* Also contains graphics for Double Diamonds, use CAP1003 */
|
||||
ROM_LOAD( "mgo-cg1059.u73", 0x08000, 0x8000, CRC(cfb9a357) SHA1(a390bed240960efd8da6e7815a0b0d272133f20f) )
|
||||
|
@ -98,7 +98,7 @@ public:
|
||||
UINT8 m_toMCU;
|
||||
UINT8 m_fromMCU;
|
||||
UINT8 m_ddrA;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(vram2_w);
|
||||
DECLARE_WRITE8_MEMBER(vram1_w);
|
||||
DECLARE_WRITE8_MEMBER(mcu_portA_w);
|
||||
@ -107,16 +107,16 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(vidctrl_w);
|
||||
DECLARE_READ8_MEMBER(protection_r);
|
||||
DECLARE_WRITE8_MEMBER(protection_w);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tile_info2);
|
||||
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(pipeline);
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
|
||||
TIMER_CALLBACK_MEMBER(protection_deferred_w);
|
||||
};
|
||||
|
||||
@ -153,7 +153,7 @@ void pipeline_state::video_start()
|
||||
m_tilemap1 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
m_tilemap2 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
|
||||
m_tilemap2->set_transparent_pen(0);
|
||||
|
||||
|
||||
save_item(NAME(m_vidctrl));
|
||||
save_pointer(NAME(m_palram), 0x1000);
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public:
|
||||
|
||||
required_shared_ptr<UINT8> m_videoram;
|
||||
required_shared_ptr<UINT8> m_fbram;
|
||||
|
||||
|
||||
UINT8 m_char_pen;
|
||||
UINT8 m_char_pen_vreg;
|
||||
UINT8 *m_fg_fb;
|
||||
@ -86,7 +86,7 @@ public:
|
||||
UINT8 m_scrollx_lo;
|
||||
UINT8 m_gfx_switch;
|
||||
UINT8 m_sound_cmd;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(charram_w);
|
||||
DECLARE_WRITE8_MEMBER(char_vregs_w);
|
||||
DECLARE_WRITE8_MEMBER(scrollx_lo_w);
|
||||
@ -96,13 +96,13 @@ public:
|
||||
DECLARE_READ8_MEMBER(audio_command_r);
|
||||
DECLARE_READ8_MEMBER(videoram_r);
|
||||
DECLARE_WRITE8_MEMBER(videoram_w);
|
||||
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
|
||||
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(progolf);
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
@ -118,7 +118,7 @@ void progolf_state::video_start()
|
||||
m_scrollx_lo = 0;
|
||||
|
||||
m_fg_fb = auto_alloc_array(machine(), UINT8, 0x2000*8);
|
||||
|
||||
|
||||
save_item(NAME(m_char_pen));
|
||||
save_item(NAME(m_char_pen_vreg));
|
||||
save_pointer(NAME(m_fg_fb), 0x2000*8);
|
||||
|
@ -268,7 +268,7 @@ DRIVER_INIT_MEMBER(quizo_state,quizo)
|
||||
{
|
||||
m_videoram=auto_alloc_array(machine(), UINT8, 0x4000*2);
|
||||
membank("bank1")->configure_entries(0, 6, memregion("user1")->base(), 0x4000);
|
||||
|
||||
|
||||
save_pointer(NAME(m_videoram), 0x4000*2);
|
||||
//save_item(NAME(m_port60));
|
||||
save_item(NAME(m_port70));
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
required_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT32> m_viewregs0;
|
||||
required_shared_ptr<UINT32> m_viewregs6;
|
||||
required_shared_ptr<UINT32> m_viewregs7;
|
||||
@ -124,7 +124,7 @@ public:
|
||||
required_shared_ptr<UINT32> m_spriteregs;
|
||||
required_shared_ptr<UINT32> m_blitterregs;
|
||||
required_shared_ptr<UINT32> m_spriteram;
|
||||
|
||||
|
||||
bitmap_ind16 *m_sprite_bitmap;
|
||||
rectangle m_sprite_clip;
|
||||
int m_vblirqlevel;
|
||||
@ -132,7 +132,7 @@ public:
|
||||
int m_banking;
|
||||
UINT32 *m_tilemap_ram[4];
|
||||
tilemap_t *m_tilemap[4];
|
||||
|
||||
|
||||
DECLARE_WRITE32_MEMBER(tilemap0_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap1_w);
|
||||
DECLARE_WRITE32_MEMBER(tilemap2_w);
|
||||
@ -145,18 +145,18 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(rombank_w);
|
||||
DECLARE_WRITE32_MEMBER(blitter_w);
|
||||
DECLARE_WRITE32_MEMBER(eeprom_write);
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(rabbit);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_tilemap0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tilemap3_tile_info);
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(vblank_interrupt);
|
||||
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
inline void get_tilemap_info(tile_data &tileinfo, int tile_index, int whichtilemap, int tilesize);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
@ -437,7 +437,7 @@ void rabbit_state::video_start()
|
||||
|
||||
m_sprite_bitmap = auto_bitmap_ind16_alloc(machine(),0x1000,0x1000);
|
||||
m_sprite_clip.set(0, 0x1000-1, 0, 0x1000-1);
|
||||
|
||||
|
||||
save_pointer(NAME(m_tilemap_ram[0]), 0x20000/4);
|
||||
save_pointer(NAME(m_tilemap_ram[1]), 0x20000/4);
|
||||
save_pointer(NAME(m_tilemap_ram[2]), 0x20000/4);
|
||||
|
@ -4,16 +4,16 @@
|
||||
|
||||
Seibu Protected 1993-94 era hardware, V30 based (sequel to the 68k based hardware)
|
||||
|
||||
TODO:
|
||||
* zeroteam - sort-DMA doesn't seem to work too well, sprite-sprite priorities are broken as per now
|
||||
TODO:
|
||||
* zeroteam - sort-DMA doesn't seem to work too well, sprite-sprite priorities are broken as per now
|
||||
|
||||
* xsedae - it does an "8-liner"-style scroll during attract, doesn't work too well.
|
||||
* xsedae - it does an "8-liner"-style scroll during attract, doesn't work too well.
|
||||
|
||||
* sprite chip is the same as seibuspi.c and feversoc.c, needs device-ification and merging.
|
||||
* sprite chip is the same as seibuspi.c and feversoc.c, needs device-ification and merging.
|
||||
|
||||
* sprite chip also uses first entry for "something" that isn't sprite, some of them looks clipping
|
||||
regions (150 - ff in zeroteam, 150 - 0 and 150 - 80 in raiden2). Latter probably do double buffering
|
||||
on odd/even frames, by updating only top or bottom part of screen.
|
||||
* sprite chip also uses first entry for "something" that isn't sprite, some of them looks clipping
|
||||
regions (150 - ff in zeroteam, 150 - 0 and 150 - 80 in raiden2). Latter probably do double buffering
|
||||
on odd/even frames, by updating only top or bottom part of screen.
|
||||
|
||||
===========================================================================================================
|
||||
|
||||
|
@ -16,11 +16,11 @@
|
||||
Trivia (1975/11) YES
|
||||
Volly (1973/03?) YES 500378A 500322A
|
||||
Wipe Out (1974/01) YES 500986B/C 500963B/?
|
||||
|
||||
|
||||
Volly Industries Discrete Games List
|
||||
(Volly was Ramtek's Canada-based affiliate and distributor.)
|
||||
|
||||
Game Name Clone Of
|
||||
Game Name Clone Of
|
||||
---------------------------------------------------------------------------------
|
||||
Batter Up (1974/??) Deluxe Baseball (Ramtek, 1975/06)
|
||||
Crossfire (1974/01) (registered trademark?) Knock Out (Ramtek, 1974/09)?
|
||||
@ -31,7 +31,7 @@
|
||||
Hockey (Cocktail) (1973/??) Soccer (Ramtek, 1973/11)
|
||||
Scoring (1973/11?) Soccer (Ramtek, 1973/11)?
|
||||
Tennis (1973/??) Volly (Ramtek, 1973/03?)
|
||||
|
||||
|
||||
*********************************************************************************/
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@ void retofinv_state::machine_start()
|
||||
save_item(NAME(m_main_irq_mask));
|
||||
save_item(NAME(m_sub_irq_mask));
|
||||
save_item(NAME(m_cpu2_m6000));
|
||||
|
||||
|
||||
if (m_68705 != NULL) // only for the parent (with MCU)
|
||||
{
|
||||
save_item(NAME(m_from_main));
|
||||
|
@ -2373,7 +2373,7 @@ ROM_END
|
||||
// VIDEO BD 837-6906
|
||||
//
|
||||
// NOTE: This PCB set used EPROMs instead of the OPR (One time PRogram) used by other sets.
|
||||
// Same data so the rom numbers are the same, just labeled EPR-xxxxx versus OPR-xxxxx
|
||||
// Same data so the rom numbers are the same, just labeled EPR-xxxxx versus OPR-xxxxx
|
||||
//
|
||||
ROM_START( toutrunj1 )
|
||||
ROM_REGION( 0x60000, "maincpu", 0 ) // 68000 code
|
||||
|
@ -89,12 +89,12 @@ public:
|
||||
tilemap_t *m_sc1_tilemap;
|
||||
tilemap_t *m_sc2_tilemap;
|
||||
tilemap_t *m_sc3_tilemap;
|
||||
|
||||
|
||||
UINT16 m_mux_data;
|
||||
UINT8 m_hopper_io;
|
||||
UINT16 m_layer_en;
|
||||
UINT16 m_scrollram[6];
|
||||
|
||||
|
||||
DECLARE_READ16_MEMBER(mahjong_panel_r);
|
||||
DECLARE_WRITE16_MEMBER(mahjong_panel_w);
|
||||
DECLARE_WRITE16_MEMBER(out_w);
|
||||
@ -105,12 +105,12 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(seibucrtc_sc3vram_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc0_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc1_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc2_tile_info);
|
||||
TILE_GET_INFO_MEMBER(seibucrtc_sc3_tile_info);
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(interrupt);
|
||||
|
||||
virtual void machine_start();
|
||||
|
@ -488,7 +488,7 @@ DRIVER_INIT_MEMBER(sidepckt_state,sidepckt)
|
||||
m_prot_table[0] = sidepckt_prot_table_1;
|
||||
m_prot_table[1] = sidepckt_prot_table_2;
|
||||
m_prot_table[2] = sidepckt_prot_table_3;
|
||||
|
||||
|
||||
save_item(NAME(m_i8751_return));
|
||||
save_item(NAME(m_current_ptr));
|
||||
save_item(NAME(m_current_table));
|
||||
@ -501,7 +501,7 @@ DRIVER_INIT_MEMBER(sidepckt_state,sidepcktj)
|
||||
m_prot_table[0] = sidepcktj_prot_table_1;
|
||||
m_prot_table[1] = sidepcktj_prot_table_2;
|
||||
m_prot_table[2] = sidepcktj_prot_table_3;
|
||||
|
||||
|
||||
save_item(NAME(m_i8751_return));
|
||||
save_item(NAME(m_current_ptr));
|
||||
save_item(NAME(m_current_table));
|
||||
|
@ -296,12 +296,12 @@ static INPUT_PORTS_START( puzzlove )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) /* Listed as "Unused" */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" ) /* Listed as "Unused" */
|
||||
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) /* Listed as "Unused" */
|
||||
PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0300, DEF_STR( Very_Easy ) ) /* Initial start time 40 secs */
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) ) /* Initial start time 30 secs - Other in game effects?? */
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) /* Initial start time 30 secs - Other in game effects?? */
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) /* Initial start time 30 secs - Other in game effects?? */
|
||||
PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:3,4,5")
|
||||
PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:3,4,5")
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x1400, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_2C ) ) /* Works the same as 2C/1C */
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Notes:
|
||||
Pop Shot is a prototype sequel (or upgrade) to Skeet Shot
|
||||
|
||||
|
||||
Supposedly Skeet Shot used a laserdisc to supply video for eight
|
||||
different background "scenes". Pop Shot probably did too, in that case.
|
||||
|
||||
@ -266,9 +266,9 @@ ROM_START( skeetsht )
|
||||
ROM_REGION16_LE( 0x200000, "tms", 0 )
|
||||
ROM_LOAD16_BYTE( "even_v1.2.u14", 0x000000, 0x40000, CRC(c7c9515e) SHA1(ce3e813c15085790d5335d9fc751b3cc5b617b20) )
|
||||
ROM_LOAD16_BYTE( "odd_v1.2.u13", 0x000001, 0x40000, CRC(ea4402fb) SHA1(b0b6b191a8b48bead660a385c638363943a6ffe2) )
|
||||
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "skeetsht", 0, NO_DUMP ) // unknown disc label?
|
||||
DISK_IMAGE_READONLY( "skeetsht", 0, NO_DUMP ) // unknown disc label?
|
||||
ROM_END
|
||||
|
||||
ROM_START( popshot )
|
||||
@ -281,7 +281,7 @@ ROM_START( popshot )
|
||||
ROM_LOAD16_BYTE( "popshot_tms34_odd.u13", 0x000001, 0x80000, CRC(82d616d8) SHA1(83ab33727ebab882b79c9ebd3557e2c319b3387a) )
|
||||
|
||||
DISK_REGION( "laserdisc" )
|
||||
DISK_IMAGE_READONLY( "popshot", 0, NO_DUMP ) // unknown disc label?
|
||||
DISK_IMAGE_READONLY( "popshot", 0, NO_DUMP ) // unknown disc label?
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -50,24 +50,24 @@ public:
|
||||
required_shared_ptr<UINT8> m_colorram;
|
||||
required_shared_ptr<UINT8> m_spriteram;
|
||||
required_shared_ptr<UINT8> m_scrollram;
|
||||
|
||||
|
||||
tilemap_t* m_tilemap;
|
||||
int m_nmi;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(flip_screen_x_w);
|
||||
DECLARE_WRITE8_MEMBER(flip_screen_y_w);
|
||||
DECLARE_WRITE8_MEMBER(videoram_w);
|
||||
DECLARE_WRITE8_MEMBER(colorram_w);
|
||||
DECLARE_WRITE8_MEMBER(nmi_enable_w);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
|
||||
|
||||
virtual void machine_start();
|
||||
virtual void video_start();
|
||||
DECLARE_PALETTE_INIT(skyarmy);
|
||||
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(nmi_source);
|
||||
};
|
||||
|
||||
|
@ -2853,7 +2853,7 @@ DRIVER_INIT_MEMBER(snowbros_state,snowbro3)
|
||||
buffer[i] = src[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,3,4,1,2,0)];
|
||||
memcpy(src,buffer,len);
|
||||
}
|
||||
|
||||
|
||||
save_item(NAME(m_sb3_music_is_playing));
|
||||
save_item(NAME(m_sb3_music));
|
||||
}
|
||||
|
@ -977,7 +977,7 @@ ROM_START( cstripxi )
|
||||
ROM_LOAD( "prom.u17", 0x0000, 0x0020, NO_DUMP ) /* Socketted */
|
||||
ROM_LOAD( "prom.u21", 0x0020, 0x0020, NO_DUMP ) /* Soldered in (Color?) */
|
||||
ROM_LOAD( "prom.u22", 0x0040, 0x0100, NO_DUMP ) /* Soldered in */
|
||||
|
||||
|
||||
DISK_REGION( "laserdisc")
|
||||
DISK_IMAGE_READONLY("cstripxi", 0, NO_DUMP )
|
||||
ROM_END
|
||||
|
@ -156,7 +156,7 @@ MACHINE_CONFIG_END
|
||||
/*
|
||||
|
||||
Gunman
|
||||
|
||||
|
||||
label loc. Part #
|
||||
==========================================================
|
||||
CR11 N5 74s287 yes, it says CRxx not GNxx
|
||||
|
@ -441,7 +441,7 @@ WRITE_LINE_MEMBER(tecmosys_state::sound_irq)
|
||||
void tecmosys_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 16, memregion("audiocpu")->base(), 0x4000);
|
||||
|
||||
|
||||
save_item(NAME(m_device_read_ptr));
|
||||
save_item(NAME(m_device_status));
|
||||
save_item(NAME(m_device_value));
|
||||
|
@ -366,13 +366,13 @@ void tmmjprd_state::video_start()
|
||||
m_tilemap_ram[1] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
|
||||
m_tilemap_ram[2] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
|
||||
m_tilemap_ram[3] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
|
||||
|
||||
|
||||
|
||||
|
||||
save_pointer(NAME(m_tilemap_ram[0]), 0x8000);
|
||||
save_pointer(NAME(m_tilemap_ram[1]), 0x8000);
|
||||
save_pointer(NAME(m_tilemap_ram[2]), 0x8000);
|
||||
save_pointer(NAME(m_tilemap_ram[3]), 0x8000);
|
||||
|
||||
|
||||
save_item(NAME(m_old_brt1));
|
||||
save_item(NAME(m_old_brt2));
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ DRIVER_INIT_MEMBER(welltris_state,welltris)
|
||||
void welltris_state::machine_start()
|
||||
{
|
||||
membank("soundbank")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x8000);
|
||||
|
||||
|
||||
save_item(NAME(m_pending_command));
|
||||
}
|
||||
|
||||
|
@ -30,13 +30,13 @@ public:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
|
||||
|
||||
required_shared_ptr<UINT8> m_videoram;
|
||||
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
UINT8 m_sound_flag;
|
||||
UINT8 m_tile_bank;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(bgram_w);
|
||||
DECLARE_WRITE8_MEMBER(player_mux_w);
|
||||
DECLARE_WRITE8_MEMBER(tile_banking_w);
|
||||
@ -47,16 +47,16 @@ public:
|
||||
DECLARE_READ8_MEMBER(prot_r);
|
||||
DECLARE_WRITE8_MEMBER(prot_w);
|
||||
DECLARE_READ8_MEMBER(sound_r);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
|
||||
|
||||
DECLARE_DRIVER_INIT(wink);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
|
||||
|
||||
UINT32 screen_update_wink(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
|
||||
INTERRUPT_GEN_MEMBER(wink_sound);
|
||||
};
|
||||
|
||||
|
@ -79,7 +79,7 @@ void xxmissio_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 8, memregion("user1")->base(), 0x4000);
|
||||
membank("bank1")->set_entry(0);
|
||||
|
||||
|
||||
save_item(NAME(m_status));
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ public:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
||||
required_shared_ptr<UINT16> m_spriteram;
|
||||
required_shared_ptr<UINT16> m_bgvideoram;
|
||||
required_shared_ptr<UINT16> m_fgvideoram;
|
||||
@ -22,7 +22,7 @@ public:
|
||||
|
||||
UINT16 m_scrollram[6];
|
||||
UINT16 m_layer_en;
|
||||
|
||||
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
tilemap_t *m_tx_tilemap;
|
||||
@ -32,13 +32,13 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(txvideoram_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_en_w);
|
||||
DECLARE_WRITE16_MEMBER(layer_scroll_w);
|
||||
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_tx_tile_info);
|
||||
|
||||
|
||||
virtual void video_start();
|
||||
|
||||
|
||||
UINT32 screen_update_bloodbro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_weststry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_skysmash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user