Merge remote-tracking branch 'origin/master'

This commit is contained in:
couriersud 2015-01-28 19:37:34 +01:00
commit 48a36e5241
268 changed files with 4039 additions and 5864 deletions

View File

@ -38,8 +38,8 @@
<publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor">
<dataarea name="rom" size="0x10000">
<!-- <rom name="cd2315.vsm" size="0x4000" crc="" sha1="" offset="0x0000" /> -->
<!-- <rom name="cd2316.vsm" size="0x4000" crc="" sha1="" offset="0x4000" /> -->
<!-- <rom name="cd2315.vsm" size="0x4000" crc="" sha1="" offset="0x0000" /> -->
<!-- <rom name="cd2316.vsm" size="0x4000" crc="" sha1="" offset="0x4000" /> -->
<rom name="cd2317.vsm" size="0x4000" crc="53231c0b" sha1="472117c3d0e28437fa8faa054f98088e06efc2a1" offset="0x8000" />
<rom name="cd2318.vsm" size="0x4000" crc="6c0727bc" sha1="132e39755b122f2cbec6f3e767f5d256a9c1e7ae" offset="0xc000" />
</dataarea>

View File

@ -931,7 +931,7 @@ $(EMULATOR): $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBBUS) $(LIBOP
$(CC) $(CDEFS) $(CFLAGS) -c $(SRC)/version.c -o $(VERSIONOBJ)
@echo Linking $@...
ifeq ($(TARGETOS),emscripten)
# Emscripten's linker seems to be stricter about the ordering of .a files
# Emscripten's linker seems to be stricter about the ordering of .a files
$(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $(VERSIONOBJ) -Wl,--start-group $^ -Wl,--end-group $(LIBS) -o $@
else
$(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $(VERSIONOBJ) $^ $(LIBS) -o $@

View File

@ -217,4 +217,3 @@ WRITE_LINE_MEMBER( device_a8sio_card_interface::motor_w )
SLOT_INTERFACE_START(a8sio_cards)
SLOT_INTERFACE("cassette", A8SIO_CASSETTE)
SLOT_INTERFACE_END

View File

@ -115,4 +115,3 @@ void a8sio_cassette_device::device_timer(emu_timer &timer, device_timer_id id, i
break;
}
}

View File

@ -105,9 +105,9 @@ UINT8 nes_vaus_device::read_bit34()
UINT8 nes_vausfc_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 0) //$4016
if (offset == 0) //$4016
ret = m_button->read() << 1;
else //$4017
else //$4017
{
ret = (m_latch & 0x80) >> 6;
m_latch <<= 1;

View File

@ -184,7 +184,7 @@ int nes_bcbattle_device::read_current_bit()
UINT8 nes_bcbattle_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) //$4017
if (offset == 1) //$4017
{
ret |= read_current_bit() << 2;
}

View File

@ -168,7 +168,7 @@ SLOT_INTERFACE_START( nes_control_port1_devices )
SLOT_INTERFACE("joypad", NES_JOYPAD)
SLOT_INTERFACE("zapper", NES_ZAPPER)
SLOT_INTERFACE("4score_p1p3", NES_4SCORE_P1P3)
// SLOT_INTERFACE("miracle_piano", NES_MIRACLE)
// SLOT_INTERFACE("miracle_piano", NES_MIRACLE)
SLOT_INTERFACE_END
SLOT_INTERFACE_START( nes_control_port2_devices )

View File

@ -183,7 +183,7 @@ void nes_fckeybrd_device::device_reset()
UINT8 nes_fckeybrd_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 0) //$4016
if (offset == 0) //$4016
{
// FC Keyboard: tape input
if ((m_cassette->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_PLAY)
@ -195,7 +195,7 @@ UINT8 nes_fckeybrd_device::read_exp(offs_t offset)
ret |= 0x02;
}
}
else //$4017
else //$4017
{
// FC Keyboard: rows of the keyboard matrix are read 4-bits at time and returned as bit1->bit4
if (m_fck_scan < 9)

View File

@ -119,7 +119,7 @@ void nes_ftrainer_device::device_reset()
UINT8 nes_ftrainer_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) //$4017
if (offset == 1) //$4017
{
if (!BIT(m_row_scan, 0))
{

View File

@ -117,9 +117,9 @@ nes_hori4p_device::nes_hori4p_device(const machine_config &mconfig, const char *
UINT8 nes_horitwin_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 0) //$4016
if (offset == 0) //$4016
ret |= (m_port1->read_bit0() << 1);
else //$4017
else //$4017
ret |= (m_port2->read_bit0() << 1);
return ret;
}
@ -127,21 +127,21 @@ UINT8 nes_horitwin_device::read_exp(offs_t offset)
UINT8 nes_hori4p_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (m_cfg->read() == 0) // 2P
if (m_cfg->read() == 0) // 2P
{
if (offset == 0) //$4016
if (offset == 0) //$4016
ret |= (m_port1->read_bit0() << 1);
else //$4017
else //$4017
ret |= (m_port2->read_bit0() << 1);
}
else // 4P
else // 4P
{
if (offset == 0) //$4016
if (offset == 0) //$4016
{
ret |= (m_port1->read_bit0() << 0);
ret |= (m_port3->read_bit0() << 1);
}
else //$4017
else //$4017
{
ret |= (m_port2->read_bit0() << 0);
ret |= (m_port4->read_bit0() << 1);

View File

@ -103,14 +103,14 @@ static INPUT_PORTS_START( nes_arcstick )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("B")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SELECT )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x01)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_CONDITION("CONFIG", 0x01, EQUALS, 0x00)
INPUT_PORTS_END
//-------------------------------------------------
@ -245,7 +245,7 @@ UINT8 nes_joypad_device::read_bit0()
UINT8 nes_fcpad2_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (!offset) // microphone input
if (!offset) // microphone input
ret |= m_joypad->read() & 0x04;
return ret;
@ -260,9 +260,9 @@ UINT8 nes_fcpad2_device::read_exp(offs_t offset)
UINT8 nes_arcstick_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 0) //$4016
if (offset == 0) //$4016
{
if ((m_cfg->read() & 2) == 0) // we are P1 input
if ((m_cfg->read() & 2) == 0) // we are P1 input
{
ret |= (m_latch & 1) << 1;
m_latch >>= 1;
@ -270,9 +270,9 @@ UINT8 nes_arcstick_device::read_exp(offs_t offset)
else
ret |= m_daisychain->read_exp(0);
}
else //$4017
else //$4017
{
if ((m_cfg->read() & 2) == 2) // we are P2 input
if ((m_cfg->read() & 2) == 2) // we are P2 input
{
ret |= (m_latch & 1) << 1;
m_latch >>= 1;
@ -314,4 +314,3 @@ void nes_arcstick_device::write(UINT8 data)
m_latch = m_joypad->read();
}

View File

@ -81,7 +81,7 @@ void nes_konamihs_device::device_reset()
UINT8 nes_konamihs_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) //$4017
if (offset == 1) //$4017
{
ret |= m_latch_p1 << 1;
ret |= m_latch_p2 << 3;

View File

@ -2,8 +2,7 @@
Nintendo Entertainment System - Miracle Piano Keyboard
TODO: basically everything, this is just a skeleton with no
real MIDI handling at the moment.
TODO: MIDI input, output is now working.
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
@ -44,6 +43,10 @@ void nes_miracle_device::device_timer(emu_timer &timer, device_timer_id id, int
{
m_strobe_clock++;
}
else
{
device_serial_interface::device_timer(timer, id, param, ptr);
}
}
//**************************************************************************
@ -204,7 +207,6 @@ void nes_miracle_device::rcv_complete() // Rx completed receiving byte
void nes_miracle_device::tra_complete() // Tx completed sending byte
{
// printf("Tx complete\n");
// is there more waiting to send?
if (m_xmit_read != m_xmit_write)
{
@ -222,14 +224,14 @@ void nes_miracle_device::tra_complete() // Tx completed sending byte
void nes_miracle_device::tra_callback() // Tx send bit
{
UINT8 bit = transmit_register_get_data_bit();
// send this to midi out
m_midiout->write_txd(transmit_register_get_data_bit());
m_midiout->write_txd(bit);
}
void nes_miracle_device::xmit_char(UINT8 data)
{
// printf("xmit %02x\n", data);
// if tx is busy it'll pick this up automatically when it completes
// if not, send now!
if (!m_tx_busy)

View File

@ -28,7 +28,7 @@ class nes_miracle_device : public device_t,
public device_nes_control_port_interface
{
public:
static const int XMIT_RING_SIZE = 16;
static const int XMIT_RING_SIZE = 64;
// construction/destruction
nes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);

View File

@ -85,7 +85,7 @@ UINT8 nes_pachinko_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
// this controller behaves like a standard P3 joypad, with longer stream of inputs
if (offset == 0) //$4016
if (offset == 0) //$4016
{
ret |= (m_latch & 1) << 1;
m_latch >>= 1;

View File

@ -81,7 +81,7 @@ void nes_partytap_device::device_reset()
UINT8 nes_partytap_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) //$4017
if (offset == 1) //$4017
{
ret |= m_latch & 0x1c;
m_latch >>= 3;

View File

@ -198,7 +198,7 @@ void nes_suborkey_device::device_reset()
UINT8 nes_suborkey_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) //$4017
if (offset == 1) //$4017
{
// Subor Keyboard: rows of the keyboard matrix are read 4-bits at time and returned as bit1->bit4
if (m_fck_scan < 13)

View File

@ -91,7 +91,7 @@ UINT8 nes_zapper_device::read_bit34()
UINT8 nes_zapper_device::read_exp(offs_t offset)
{
UINT8 ret = 0;
if (offset == 1) // $4017
if (offset == 1) // $4017
ret |= nes_zapper_device::read_bit34();
return ret;
}

View File

@ -36,27 +36,27 @@
class media_identifier
{
public:
// construction/destruction
media_identifier(cli_options &options);
// construction/destruction
media_identifier(cli_options &options);
// getters
int total() const { return m_total; }
int matches() const { return m_matches; }
int nonroms() const { return m_nonroms; }
// getters
int total() const { return m_total; }
int matches() const { return m_matches; }
int nonroms() const { return m_nonroms; }
// operations
void reset() { m_total = m_matches = m_nonroms = 0; }
void identify(const char *name);
void identify_file(const char *name);
void identify_data(const char *name, const UINT8 *data, int length);
int find_by_hash(const hash_collection &hashes, int length);
// operations
void reset() { m_total = m_matches = m_nonroms = 0; }
void identify(const char *name);
void identify_file(const char *name);
void identify_data(const char *name, const UINT8 *data, int length);
int find_by_hash(const hash_collection &hashes, int length);
private:
// internal state
driver_enumerator m_drivlist;
int m_total;
int m_matches;
int m_nonroms;
// internal state
driver_enumerator m_drivlist;
int m_total;
int m_matches;
int m_nonroms;
};
@ -1619,8 +1619,8 @@ void cli_frontend::execute_commands(const char *exename)
}
if (!m_osd.execute_command(m_options.command()))
// if we get here, we don't know what has been requested
throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command());
// if we get here, we don't know what has been requested
throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command());
}

View File

@ -60,6 +60,5 @@ const options_entry cli_options::s_option_entries[] =
cli_options::cli_options()
: emu_options()
{
add_entries(cli_options::s_option_entries);
add_entries(cli_options::s_option_entries);
}

View File

@ -184,17 +184,17 @@ protected:
ARCOMPACT_RETTYPE arcompact_handle04_1c(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_1d(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_20(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_21(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_21(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_22(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_23(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_28(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_29(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2a(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2a(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2b(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_2f_00(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_2f_01(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2f_02(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2f_03(OPS_32);
// ARCOMPACT_RETTYPE arcompact_handle04_2f_03(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_2f_04(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_2f_05(OPS_32);
ARCOMPACT_RETTYPE arcompact_handle04_2f_06(OPS_32);

View File

@ -2142,7 +2142,7 @@ ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_21_p11_m0(OPS_32) // Jcc.
size = 8;
}
// c = limm;
// c = limm;
}
else
@ -2151,7 +2151,7 @@ ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_21_p11_m0(OPS_32) // Jcc.
// Jcc [c] 0010 0RRR 1110 0000 0RRR CCCC CC0Q QQQQ
// no conditional links to ILINK1, ILINK2?
// c = m_regs[creg];
// c = m_regs[creg];
}
if (!check_condition(condition))

View File

@ -114,8 +114,14 @@ void h8_device::device_start()
save_item(NAME(EXR));
save_item(NAME(CCR));
save_item(NAME(TMP1));
save_item(NAME(TMP2));
save_item(NAME(inst_state));
save_item(NAME(inst_substate));
save_item(NAME(irq_vector));
save_item(NAME(taken_irq_vector));
save_item(NAME(irq_level));
save_item(NAME(taken_irq_level));
save_item(NAME(irq_nmi));
m_icountptr = &icount;

View File

@ -98,7 +98,7 @@ enum
#define ALWAYS64 0x400
#define SPECIAL64 0x800
#define SPECIAL64_ENT(x) (SPECIAL64 | ((x) << 24))
#define GROUP_MOD 0x1000
#define GROUP_MOD 0x1000
struct I386_OPCODE {
const char *mnemonic;
@ -1953,7 +1953,7 @@ static const GROUP_OP group_op_table[] =
{ "group0F0D", group0F0D_table },
{ "group0F12", group0F12_table },
{ "group0F16", group0F16_table },
{ "group0F18", group0F18_table },
{ "group0F18", group0F18_table },
{ "group0F71", group0F71_table },
{ "group0F72", group0F72_table },
{ "group0F73", group0F73_table },

View File

@ -75,8 +75,8 @@ void m4510_device::device_reset()
nomap = true;
// Wild guess, this setting makes the cpu start executing some code in the c65 driver
map_offset[1] = 0x30000;
map_enable = 0x80;
//map_offset[1] = 0x2e000;
//map_enable = 0x80;
m65ce02_device::device_reset();
}

View File

@ -579,7 +579,7 @@ offs_t m6502_device::disassemble_generic(char *buffer, offs_t pc, const UINT8 *o
break;
case DASM_rw2:
sprintf(buffer, " $%04x", (pc & 0xf0000) | UINT16(pc + 3 + INT16((opram[2] << 8) | opram[1])));
sprintf(buffer, " $%04x", (pc & 0xf0000) | UINT16(pc + 2 + INT16((opram[2] << 8) | opram[1])));
flags |= 3;
break;

View File

@ -220,8 +220,8 @@ protected:
// inline helpers
static inline bool page_changing(UINT16 base, int delta) { return ((base + delta) ^ base) & 0xff00; }
static inline UINT16 set_l(UINT16 base, UINT8 val) { return (base & 0xff00) | val; }
static inline UINT16 set_h(UINT16 base, UINT8 val) { return (base & 0x00ff) | (val << 8); }
static inline UINT16 set_l(UINT16 base, UINT16 val) { return (base & 0xff00) | val; }
static inline UINT16 set_h(UINT16 base, UINT16 val) { return (base & 0x00ff) | (val << 8); }
inline void dec_SP() { SP = set_l(SP, SP-1); }
inline void inc_SP() { SP = set_l(SP, SP+1); }

View File

@ -9,4 +9,13 @@ map_imp
map_offset[0] = (A<<8) | ((X & 0xf) << 16);
map_offset[1] = (Y<<8) | ((Z & 0xf) << 16);
map_enable = ((X & 0xf0) >> 4) | (Z & 0xf0);
logerror("MAP execute\n");
logerror("0x0000 - 0x1fff = %08x\n",map_enable & 1 ? map_offset[0]+0x0000 : 0x0000);
logerror("0x2000 - 0x3fff = %08x\n",map_enable & 2 ? map_offset[0]+0x2000 : 0x2000);
logerror("0x4000 - 0x5fff = %08x\n",map_enable & 4 ? map_offset[0]+0x4000 : 0x4000);
logerror("0x6000 - 0x7fff = %08x\n",map_enable & 8 ? map_offset[0]+0x6000 : 0x6000);
logerror("0x8000 - 0x9fff = %08x\n",map_enable & 16 ? map_offset[1]+0x8000 : 0x8000);
logerror("0xa000 - 0xbfff = %08x\n",map_enable & 32 ? map_offset[1]+0xa000 : 0xa000);
logerror("0xc000 - 0xdfff = %08x\n",map_enable & 64 ? map_offset[1]+0xc000 : 0xc000);
logerror("0xe000 - 0xffff = %08x\n",map_enable & 128 ? map_offset[1]+0xe000 : 0xe000);
prefetch();

View File

@ -245,7 +245,7 @@ bcc_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(!(P & F_C))
PC += TMP;
PC += TMP-1;
prefetch();
bcs_ce_rel
@ -258,7 +258,7 @@ bcs_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(P & F_C)
PC += TMP;
PC += TMP-1;
prefetch();
beq_ce_rel
@ -271,7 +271,7 @@ beq_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(P & F_Z)
PC += TMP;
PC += TMP-1;
prefetch();
bit_ce_abx
@ -307,7 +307,7 @@ bmi_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(P & F_N)
PC += TMP;
PC += TMP-1;
prefetch();
bne_ce_rel
@ -320,7 +320,7 @@ bne_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(!(P & F_Z))
PC += TMP;
PC += TMP-1;
prefetch();
bpl_ce_rel
@ -333,7 +333,7 @@ bpl_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(!(P & F_N))
PC += TMP;
PC += TMP-1;
prefetch();
bra_ce_rel
@ -344,7 +344,7 @@ bra_ce_rel
bra_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
PC += TMP;
PC += TMP - 1;
prefetch();
brk_ce_imp
@ -379,7 +379,7 @@ bsr_rw2
write(SP, PC);
dec_SP_ce();
TMP = set_h(TMP, read_pc());
PC += TMP;
PC += TMP-1;
prefetch();
bvc_ce_rel
@ -392,7 +392,7 @@ bvc_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(!(P & F_V))
PC += TMP;
PC += TMP-1;
prefetch();
bvs_ce_rel
@ -405,7 +405,7 @@ bvs_rw2
TMP = read_pc();
TMP = set_h(TMP, read_pc());
if(P & F_V)
PC += TMP;
PC += TMP-1;
prefetch();
clc_ce_imp
@ -419,6 +419,7 @@ cld_ce_imp
cle_imp
read_pc_noinc();
P &= ~F_E;
logerror("CLE\n");
prefetch();
cli_ce_imp

View File

@ -2177,11 +2177,11 @@ void m68881_ftrap(m68000_base_device *m68k)
// trap here
m68ki_exception_trap(m68k, EXCEPTION_TRAPV);
}
else // fall through, requires eating the operand
else // fall through, requires eating the operand
{
switch (m68k->ir & 0x7)
{
case 2: // word operand
case 2: // word operand
OPER_I_16(m68k);
break;
@ -2189,9 +2189,8 @@ void m68881_ftrap(m68000_base_device *m68k)
OPER_I_32(m68k);
break;
case 4: // no operand
case 4: // no operand
break;
}
}
}

View File

@ -114,12 +114,12 @@ bool finder_base::report_missing(bool found, const char *objname, bool required)
void finder_base::printf_warning(const char *format, ...)
{
va_list argptr;
char buffer[1024];
va_list argptr;
char buffer[1024];
/* do the output */
va_start(argptr, format);
vsnprintf(buffer, 1024, format, argptr);
osd_printf_warning("%s", buffer);
va_end(argptr);
/* do the output */
va_start(argptr, format);
vsnprintf(buffer, 1024, format, argptr);
osd_printf_warning("%s", buffer);
va_end(argptr);
}

View File

@ -57,7 +57,7 @@ protected:
void *find_memshare(UINT8 width, size_t &bytes, bool required);
bool report_missing(bool found, const char *objname, bool required);
void printf_warning(const char *format, ...) ATTR_PRINTF(2,3);
void printf_warning(const char *format, ...) ATTR_PRINTF(2,3);
// internal state
finder_base *m_next;

View File

@ -89,7 +89,7 @@ device_state_entry::device_state_entry(int index, const char *symbol, void *data
device_state_entry::device_state_entry(int index, device_state_interface *dev)
: m_device_state(dev),
m_next(NULL),
m_next(NULL),
m_index(index),
m_dataptr(NULL),
m_datamask(0),

View File

@ -57,6 +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_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 */

View File

@ -17,61 +17,61 @@
emu_fatalerror::emu_fatalerror(const char *format, ...)
: code(0)
{
if (format == NULL)
{
text[0] = '\0';
}
else
{
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
}
osd_break_into_debugger(text);
if (format == NULL)
{
text[0] = '\0';
}
else
{
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
}
osd_break_into_debugger(text);
}
emu_fatalerror::emu_fatalerror(const char *format, va_list ap)
: code(0)
{
if (format == NULL)
{
text[0] = '\0';
}
else
{
vsprintf(text, format, ap);
}
osd_break_into_debugger(text);
if (format == NULL)
{
text[0] = '\0';
}
else
{
vsprintf(text, format, ap);
}
osd_break_into_debugger(text);
}
emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, ...)
: code(_exitcode)
{
if (format == NULL)
{
text[0] = '\0';
}
else
{
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
}
if (format == NULL)
{
text[0] = '\0';
}
else
{
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
}
}
emu_fatalerror::emu_fatalerror(int _exitcode, const char *format, va_list ap)
: code(_exitcode)
{
if (format == NULL)
{
text[0] = '\0';
}
else
{
vsprintf(text, format, ap);
}
if (format == NULL)
{
text[0] = '\0';
}
else
{
vsprintf(text, format, ap);
}
}
@ -89,18 +89,18 @@ void report_bad_device_cast(const device_t *dev, const std::type_info &src_type,
void fatalerror(const char *format, ...)
{
va_list ap;
va_start(ap, format);
emu_fatalerror error(format, ap);
va_end(ap);
throw error;
va_list ap;
va_start(ap, format);
emu_fatalerror error(format, ap);
va_end(ap);
throw error;
}
void fatalerror_exitcode(running_machine &machine, int exitcode, const char *format, ...)
{
va_list ap;
va_start(ap, format);
emu_fatalerror error(exitcode, format, ap);
va_end(ap);
throw error;
va_list ap;
va_start(ap, format);
emu_fatalerror error(exitcode, format, ap);
va_end(ap);
throw error;
}

View File

@ -150,10 +150,10 @@ const options_entry emu_options::s_option_entries[] =
// debugging options
{ NULL, NULL, OPTION_HEADER, "CORE DEBUGGING OPTIONS" },
{ OPTION_VERBOSE ";v", "0", OPTION_BOOLEAN, "display additional diagnostic information" },
{ OPTION_LOG, "0", OPTION_BOOLEAN, "generate an error.log file" },
{ OPTION_OSLOG, "0", OPTION_BOOLEAN, "output error.log data to the system debugger" },
{ OPTION_DEBUG ";d", "0", OPTION_BOOLEAN, "enable/disable debugger" },
{ OPTION_VERBOSE ";v", "0", OPTION_BOOLEAN, "display additional diagnostic information" },
{ OPTION_LOG, "0", OPTION_BOOLEAN, "generate an error.log file" },
{ OPTION_OSLOG, "0", OPTION_BOOLEAN, "output error.log data to the system debugger" },
{ OPTION_DEBUG ";d", "0", OPTION_BOOLEAN, "enable/disable debugger" },
{ OPTION_UPDATEINPAUSE, "0", OPTION_BOOLEAN, "keep calling video updates while in pause" },
{ OPTION_DEBUGSCRIPT, NULL, OPTION_STRING, "script for debugger" },

View File

@ -318,11 +318,11 @@ public:
bool joystick_contradictory() const { return bool_value(OPTION_JOYSTICK_CONTRADICTORY); }
int coin_impulse() const { return int_value(OPTION_COIN_IMPULSE); }
// core debugging options
bool log() const { return bool_value(OPTION_LOG); }
bool debug() const { return bool_value(OPTION_DEBUG); }
bool verbose() const { return bool_value(OPTION_VERBOSE); }
bool oslog() const { return bool_value(OPTION_OSLOG); }
// core debugging options
bool log() const { return bool_value(OPTION_LOG); }
bool debug() const { return bool_value(OPTION_DEBUG); }
bool verbose() const { return bool_value(OPTION_VERBOSE); }
bool oslog() const { return bool_value(OPTION_OSLOG); }
const char *debug_script() const { return value(OPTION_DEBUGSCRIPT); }
bool update_in_pause() const { return bool_value(OPTION_UPDATEINPAUSE); }

View File

@ -714,8 +714,8 @@ int lua_engine::lua_screen::l_draw_text(lua_State *L)
render_container &rc = sc->container();
ui_manager &ui = sc->machine().ui();
ui.draw_text_full(&rc, msg, x, y , (1.0f - x),
JUSTIFY_LEFT, WRAP_WORD, DRAW_NORMAL, UI_TEXT_COLOR,
UI_TEXT_BG_COLOR, NULL, NULL);
JUSTIFY_LEFT, WRAP_WORD, DRAW_NORMAL, UI_TEXT_COLOR,
UI_TEXT_BG_COLOR, NULL, NULL);
return 0;
}

View File

@ -108,7 +108,7 @@ static char giant_string_buffer[65536] = { 0 };
osd_interface &running_machine::osd() const
{
return m_manager.osd();
return m_manager.osd();
}
//-------------------------------------------------

View File

@ -253,7 +253,7 @@ intelfsh_device::intelfsh_device(const machine_config &mconfig, device_type type
m_size = 0x400000;
m_maker_id = MFG_INTEL;
m_device_id = 0x14;
// m_sector_is_4k = true; 128kb?
// m_sector_is_4k = true; 128kb?
map = ADDRESS_MAP_NAME( memory_map16_32Mb );
break;
case FLASH_SST_39VF020:

View File

@ -48,17 +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");
} /*
Naomi suchie3 have bad working controls with this
// "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;
@ -120,10 +116,13 @@ void jvs_host::encode(UINT8 *buffer, UINT32 &size)
if(!size)
return;
UINT32 add = 1;
UINT8 sum = 0;
for(UINT32 i=0; i<size; i++)
sum += buffer[i];
buffer[size++] = sum;
for(UINT32 i=0; i<size; i++)
if(buffer[i] == 0xd0 || buffer[i] == 0xe0)
add++;
UINT32 nsize = size+add;
for(UINT32 i=size; i; i--) {
UINT8 t = buffer[i-1];
if(t == 0xd0 || t == 0xe0) {
@ -134,11 +133,7 @@ void jvs_host::encode(UINT8 *buffer, UINT32 &size)
buffer[i+add-1] = t;
}
buffer[0] = 0xe0;
UINT8 sum = 0;
for(UINT32 i=1; i<nsize; i++)
sum += buffer[i];
buffer[nsize++] = sum;
size = nsize;
size += add;
}
void jvs_host::decode(UINT8 *buffer, UINT32 &size)
@ -146,7 +141,7 @@ void jvs_host::decode(UINT8 *buffer, UINT32 &size)
if(!size)
return;
UINT32 pos = 0;
for(UINT32 i=0; i<size-1; i++) {
for(UINT32 i=0; i<size; i++) {
UINT8 t = buffer[i];
if(!i && t == 0xe0)
continue;
@ -156,5 +151,5 @@ void jvs_host::decode(UINT8 *buffer, UINT32 &size)
}
buffer[pos++] = t;
}
size = pos;
size = pos ? pos - 1 : 0;
}

View File

@ -440,12 +440,12 @@ ATTR_COLD void netlist_mame_device_t::save_state()
if (td != NULL) save_pointer(td, s->m_name, s->m_count);
}
break;
case DT_FLOAT:
{
float *td = s->resolved<float>();
if (td != NULL) save_pointer(td, s->m_name, s->m_count);
}
break;
case DT_FLOAT:
{
float *td = s->resolved<float>();
if (td != NULL) save_pointer(td, s->m_name, s->m_count);
}
break;
case DT_INT64:
save_pointer((INT64 *) s->m_ptr, s->m_name, s->m_count);
break;

View File

@ -94,7 +94,7 @@ machine_manager* machine_manager::m_manager = NULL;
osd_interface &machine_manager::osd() const
{
return m_osd;
return m_osd;
}

View File

@ -14,7 +14,7 @@ class netlist_matrix_solver_direct_t: public netlist_matrix_solver_t
public:
netlist_matrix_solver_direct_t(const netlist_solver_parameters_t &params, int size);
netlist_matrix_solver_direct_t(const eSolverType type, const netlist_solver_parameters_t &params, int size);
netlist_matrix_solver_direct_t(const eSolverType type, const netlist_solver_parameters_t &params, int size);
virtual ~netlist_matrix_solver_direct_t();
@ -69,13 +69,13 @@ netlist_matrix_solver_direct_t<m_N, _storage_N>::~netlist_matrix_solver_direct_t
{
//delete[] m_A[k];
}
for (int k = 0; k < N(); k++)
{
nl_free(m_terms[k]);
nl_free(m_row_ops[k]);
}
nl_free(m_row_ops[N()]);
//delete[] m_last_RHS;
for (int k = 0; k < N(); k++)
{
nl_free(m_terms[k]);
nl_free(m_row_ops[k]);
}
nl_free(m_row_ops[N()]);
//delete[] m_last_RHS;
//delete[] m_RHS;
nl_free_array(m_terms);
nl_free_array(m_rails_temp);
@ -193,17 +193,17 @@ ATTR_COLD void netlist_matrix_solver_direct_t<m_N, _storage_N>::vsetup(netlist_a
* Sorting as a general matrix pre-conditioning is mentioned in
* literature but I have found no articles about Gauss Seidel.
*
* For Gaussian Elimination however increasing order is better suited.
* FIXME: Even better would be to sort on elements right of the matrix diagonal.
*
* For Gaussian Elimination however increasing order is better suited.
* FIXME: Even better would be to sort on elements right of the matrix diagonal.
*
*/
int sort_order = (type() == GAUSS_SEIDEL ? 1 : -1);
int sort_order = (type() == GAUSS_SEIDEL ? 1 : -1);
for (int k = 0; k < N() / 2; k++)
for (int i = 0; i < N() - 1; i++)
{
if ((m_terms[i]->m_railstart - m_terms[i+1]->m_railstart) * sort_order < 0)
if ((m_terms[i]->m_railstart - m_terms[i+1]->m_railstart) * sort_order < 0)
{
std::swap(m_terms[i],m_terms[i+1]);
m_nets.swap(i, i+1);
@ -475,15 +475,15 @@ netlist_matrix_solver_direct_t<m_N, _storage_N>::netlist_matrix_solver_direct_t(
, m_dim(size)
, m_lp_fact(0)
{
m_terms = nl_alloc_array(terms_t *, N());
m_rails_temp = nl_alloc_array(terms_t, N());
m_terms = nl_alloc_array(terms_t *, N());
m_rails_temp = nl_alloc_array(terms_t, N());
for (int k = 0; k < N(); k++)
{
m_terms[k] = nl_alloc(terms_t);
m_row_ops[k] = vector_ops_t::create_ops(k);
}
m_row_ops[N()] = vector_ops_t::create_ops(N());
for (int k = 0; k < N(); k++)
{
m_terms[k] = nl_alloc(terms_t);
m_row_ops[k] = vector_ops_t::create_ops(k);
}
m_row_ops[N()] = vector_ops_t::create_ops(N());
}

View File

@ -17,16 +17,16 @@ class ATTR_ALIGNED(64) netlist_matrix_solver_gauss_seidel_t: public netlist_matr
public:
netlist_matrix_solver_gauss_seidel_t(const netlist_solver_parameters_t &params, int size)
: netlist_matrix_solver_direct_t<m_N, _storage_N>(netlist_matrix_solver_t::GAUSS_SEIDEL, params, size)
: netlist_matrix_solver_direct_t<m_N, _storage_N>(netlist_matrix_solver_t::GAUSS_SEIDEL, params, size)
, m_lp_fact(0)
, m_gs_fail(0)
, m_gs_total(0)
{
const char *p = osd_getenv("NETLIST_STATS");
if (p != NULL)
m_log_stats = (bool) atoi(p);
else
m_log_stats = false;
const char *p = osd_getenv("NETLIST_STATS");
if (p != NULL)
m_log_stats = (bool) atoi(p);
else
m_log_stats = false;
}
virtual ~netlist_matrix_solver_gauss_seidel_t() {}
@ -52,21 +52,21 @@ private:
template <int m_N, int _storage_N>
void netlist_matrix_solver_gauss_seidel_t<m_N, _storage_N>::log_stats()
{
if (this->m_stat_calculations != 0 && m_log_stats)
{
printf("==============================================\n");
printf("Solver %s\n", this->name().cstr());
printf(" ==> %d nets\n", this->N()); //, (*(*groups[i].first())->m_core_terms.first())->name().cstr());
printf(" has %s elements\n", this->is_dynamic() ? "dynamic" : "no dynamic");
printf(" has %s elements\n", this->is_timestep() ? "timestep" : "no timestep");
printf(" %6.3f average newton raphson loops\n", (double) this->m_stat_newton_raphson / (double) this->m_stat_vsolver_calls);
printf(" %10d invocations (%6d Hz) %10d gs fails (%6.2f%%) %6.3f average\n",
this->m_stat_calculations,
this->m_stat_calculations * 10 / (int) (this->netlist().time().as_double() * 10.0),
this->m_gs_fail,
100.0 * (double) this->m_gs_fail / (double) this->m_stat_calculations,
(double) this->m_gs_total / (double) this->m_stat_calculations);
}
if (this->m_stat_calculations != 0 && m_log_stats)
{
printf("==============================================\n");
printf("Solver %s\n", this->name().cstr());
printf(" ==> %d nets\n", this->N()); //, (*(*groups[i].first())->m_core_terms.first())->name().cstr());
printf(" has %s elements\n", this->is_dynamic() ? "dynamic" : "no dynamic");
printf(" has %s elements\n", this->is_timestep() ? "timestep" : "no timestep");
printf(" %6.3f average newton raphson loops\n", (double) this->m_stat_newton_raphson / (double) this->m_stat_vsolver_calls);
printf(" %10d invocations (%6d Hz) %10d gs fails (%6.2f%%) %6.3f average\n",
this->m_stat_calculations,
this->m_stat_calculations * 10 / (int) (this->netlist().time().as_double() * 10.0),
this->m_gs_fail,
100.0 * (double) this->m_gs_fail / (double) this->m_stat_calculations,
(double) this->m_gs_total / (double) this->m_stat_calculations);
}
}
template <int m_N, int _storage_N>
@ -299,7 +299,7 @@ ATTR_HOT inline int netlist_matrix_solver_gauss_seidel_t<m_N, _storage_N>::vsolv
//if (fabs(gabs_t - fabs(gtot_t)) > 1e-20)
// printf("%d %e abs: %f tot: %f\n",k, gabs_t / gtot_t -1.0, gabs_t, gtot_t);
gabs_t *= 0.95; // avoid rounding issues
gabs_t *= 0.95; // avoid rounding issues
if (!USE_GABS || gabs_t <= gtot_t)
{
w[k] = ws / gtot_t;
@ -343,7 +343,7 @@ ATTR_HOT inline int netlist_matrix_solver_gauss_seidel_t<m_N, _storage_N>::vsolv
this->m_nets[k]->m_cur_Analog = new_V[k];
this->m_gs_total += resched_cnt;
this->m_stat_calculations++;
this->m_stat_calculations++;
if (resched)
{

View File

@ -31,7 +31,7 @@ NETLIST_START(opamp_lm3900)
NET_C(R1.2, R2.2, G1.ON)
VCVS(G1)
PARAM(G1.G, 10000000)
//PARAM(G1.RI, 1)
//PARAM(G1.RI, 1)
PARAM(G1.RO, RES_K(8))
NETLIST_END()

View File

@ -99,11 +99,11 @@ ATTR_COLD void terms_t::set_pointers()
ATTR_COLD netlist_matrix_solver_t::netlist_matrix_solver_t(const eSolverType type, const netlist_solver_parameters_t &params)
: m_stat_calculations(0),
m_stat_newton_raphson(0),
m_stat_vsolver_calls(0),
m_params(params),
m_cur_ts(0),
m_type(type)
m_stat_newton_raphson(0),
m_stat_vsolver_calls(0),
m_params(params),
m_cur_ts(0),
m_type(type)
{
}
@ -257,7 +257,7 @@ ATTR_HOT void netlist_matrix_solver_t::step(const netlist_time delta)
template<class C >
void netlist_matrix_solver_t::solve_base(C *p)
{
m_stat_vsolver_calls++;
m_stat_vsolver_calls++;
if (is_dynamic())
{
int this_resched;
@ -270,7 +270,7 @@ void netlist_matrix_solver_t::solve_base(C *p)
newton_loops++;
} while (this_resched > 1 && newton_loops < m_params.m_nr_loops);
m_stat_newton_raphson += newton_loops;
m_stat_newton_raphson += newton_loops;
// reschedule ....
if (this_resched > 1 && !m_Q_sync.net().is_queued())
{
@ -438,7 +438,7 @@ netlist_matrix_solver_t * NETLIB_NAME(solver)::create_solver(int size, const int
return nl_alloc(netlist_matrix_solver_direct2_t, m_params);
else
{
typedef netlist_matrix_solver_gauss_seidel_t<m_N,_storage_N> solver_N;
typedef netlist_matrix_solver_gauss_seidel_t<m_N,_storage_N> solver_N;
if (size >= gs_threshold)
return nl_alloc(solver_N, m_params, size);
else

View File

@ -197,8 +197,8 @@ public:
enum eSolverType
{
GAUSSIAN_ELIMINATION,
GAUSS_SEIDEL
GAUSSIAN_ELIMINATION,
GAUSS_SEIDEL
};
ATTR_COLD netlist_matrix_solver_t(const eSolverType type, const netlist_solver_parameters_t &params);
@ -243,9 +243,9 @@ protected:
plinearlist_t<netlist_analog_net_t *> m_nets;
plinearlist_t<netlist_analog_output_t *> m_inps;
int m_stat_calculations;
int m_stat_newton_raphson;
int m_stat_vsolver_calls;
int m_stat_calculations;
int m_stat_newton_raphson;
int m_stat_vsolver_calls;
const netlist_solver_parameters_t &m_params;
@ -264,7 +264,7 @@ private:
ATTR_HOT void update_inputs();
const eSolverType m_type;
const eSolverType m_type;
};

View File

@ -78,7 +78,7 @@ void nl_initialize_factory(netlist_factory_t &factory)
ENTRY(VCCS, VCCS, "-")
ENTRY(CCCS, CCCS, "-")
ENTRY(dummy_input, DUMMY_INPUT, "-")
ENTRY(frontier, FRONTIER, "+I,Q")
ENTRY(frontier, FRONTIER, "+I,Q")
ENTRY(QBJT_EB, QBJT_EB, "model")
ENTRY(QBJT_switch, QBJT_SW, "model")
ENTRY(ttl_input, TTL_INPUT, "IN")
@ -148,4 +148,3 @@ void nl_initialize_factory(netlist_factory_t &factory)
ENTRY(SN74LS629_dip, SN74LS629_DIP, "1.CAP1,2.CAP2")
ENTRY(NE555_dip, NE555_DIP, "-")
}

View File

@ -43,7 +43,7 @@ NETLIB_START(4020_sub)
register_output("Q5", m_Q[4]);
register_output("Q6", m_Q[5]);
register_output("Q7", m_Q[6]);
register_output("Q8", m_Q[7]);
register_output("Q8", m_Q[7]);
register_output("Q9", m_Q[8]);
register_output("Q10", m_Q[9]);
register_output("Q11", m_Q[10]);

View File

@ -21,11 +21,11 @@ class nld_vdd_vss : public netlist_device_t
protected:
ATTR_HOT void update() {};
ATTR_HOT void start()
{
register_input("VDD,", m_vdd);
register_input("VSS,", m_vss);
};
ATTR_HOT void start()
{
register_input("VDD,", m_vdd);
register_input("VSS,", m_vss);
};
ATTR_HOT void reset() {};
public:

View File

@ -40,10 +40,9 @@
NET_REGISTER_DEV(dummy_input, _name)
#define FRONTIER(_name, _IN, _OUT) \
NET_REGISTER_DEV(frontier, _name) \
NET_C(_IN, _name.I) \
NET_C(_OUT, _name.Q) \
NET_REGISTER_DEV(frontier, _name) \
NET_C(_IN, _name.I) \
NET_C(_OUT, _name.Q)
// -----------------------------------------------------------------------------
// mainclock
// -----------------------------------------------------------------------------
@ -159,31 +158,31 @@ private:
class NETLIB_NAME(frontier) : public netlist_device_t
{
public:
ATTR_COLD NETLIB_NAME(frontier)()
: netlist_device_t(DUMMY) { }
ATTR_COLD NETLIB_NAME(frontier)()
: netlist_device_t(DUMMY) { }
ATTR_COLD virtual ~NETLIB_NAME(frontier)() {}
ATTR_COLD virtual ~NETLIB_NAME(frontier)() {}
protected:
ATTR_COLD void start()
{
register_input("I", m_I);
register_output("Q", m_Q);
}
ATTR_COLD void start()
{
register_input("I", m_I);
register_output("Q", m_Q);
}
ATTR_COLD void reset()
{
}
ATTR_COLD void reset()
{
}
ATTR_HOT ATTR_ALIGN void update()
{
OUTANALOG(m_Q, INPANALOG(m_I));
}
ATTR_HOT ATTR_ALIGN void update()
{
OUTANALOG(m_Q, INPANALOG(m_I));
}
private:
netlist_analog_input_t m_I;
netlist_analog_output_t m_Q;
netlist_analog_input_t m_I;
netlist_analog_output_t m_Q;
};

View File

@ -1001,4 +1001,3 @@ NETLIB_UPDATE(mainclock)
net.toggle_new_Q();
net.set_time(netlist().time() + m_inc);
}

View File

@ -337,7 +337,7 @@ public:
CAPACITOR, // Capacitor
DIODE, // Diode
DUMMY, // DUMMY device without function
FRONTIER, // Net frontier
FRONTIER, // Net frontier
BJT_EB, // BJT(Ebers-Moll)
BJT_SWITCH, // BJT(Switch)
VCVS, // Voltage controlled voltage source
@ -1268,13 +1268,13 @@ ATTR_HOT inline netlist_logic_net_t & RESTRICT netlist_net_t::as_logic()
ATTR_HOT inline const netlist_logic_net_t & RESTRICT netlist_net_t::as_logic() const
{
nl_assert(family() == LOGIC);
nl_assert(family() == LOGIC);
return static_cast<const netlist_logic_net_t &>(*this);
}
ATTR_HOT inline netlist_analog_net_t & RESTRICT netlist_net_t::as_analog()
{
nl_assert(family() == ANALOG);
nl_assert(family() == ANALOG);
return static_cast<netlist_analog_net_t &>(*this);
}

View File

@ -121,21 +121,21 @@
class nl_fatalerror : public std::exception
{
public:
nl_fatalerror(const char *format, ...) ATTR_PRINTF(2,3)
{
char text[1024];
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
osd_printf_error("%s\n", text);
}
nl_fatalerror(const char *format, va_list ap)
{
char text[1024];
vsprintf(text, format, ap);
osd_printf_error("%s\n", text);
}
nl_fatalerror(const char *format, ...) ATTR_PRINTF(2,3)
{
char text[1024];
va_list ap;
va_start(ap, format);
vsprintf(text, format, ap);
va_end(ap);
osd_printf_error("%s\n", text);
}
nl_fatalerror(const char *format, va_list ap)
{
char text[1024];
vsprintf(text, format, ap);
osd_printf_error("%s\n", text);
}
};
//============================================================

View File

@ -56,18 +56,18 @@
ATTR_COLD const nl_util::pstring_list net_device_t_base_factory::term_param_list()
{
if (m_def_param.startsWith("+"))
return nl_util::split(m_def_param.substr(1), ",");
else
return nl_util::pstring_list();
if (m_def_param.startsWith("+"))
return nl_util::split(m_def_param.substr(1), ",");
else
return nl_util::pstring_list();
}
ATTR_COLD const nl_util::pstring_list net_device_t_base_factory::def_params()
{
if (m_def_param.startsWith("+") || m_def_param.equals("-"))
return nl_util::pstring_list();
else
return nl_util::split(m_def_param, ",");
if (m_def_param.startsWith("+") || m_def_param.equals("-"))
return nl_util::pstring_list();
else
return nl_util::split(m_def_param, ",");
}

View File

@ -97,10 +97,10 @@ netlist_device_t *netlist_setup_t::register_dev(netlist_device_t *dev, const pst
netlist_device_t *netlist_setup_t::register_dev(const pstring &classname, const pstring &name)
{
netlist_device_t *dev = factory().new_device_by_classname(classname);
if (dev == NULL)
netlist().error("Class %s not found!\n", classname.cstr());
return register_dev(dev, name);
netlist_device_t *dev = factory().new_device_by_classname(classname);
if (dev == NULL)
netlist().error("Class %s not found!\n", classname.cstr());
return register_dev(dev, name);
}
template <class T>
@ -697,7 +697,7 @@ void netlist_setup_t::resolve_inputs()
void netlist_setup_t::start_devices()
{
//FIXME: we need a nl_getenv
//FIXME: we need a nl_getenv
if (getenv("NL_LOGS"))
{
NL_VERBOSE_OUT(("Creating dynamic logs ...\n"));

View File

@ -146,13 +146,13 @@ public:
void namespace_push(const pstring &aname);
void namespace_pop();
netlist_factory_t &factory() { return *m_factory; }
const netlist_factory_t &factory() const { return *m_factory; }
netlist_factory_t &factory() { return *m_factory; }
const netlist_factory_t &factory() const { return *m_factory; }
/* not ideal, but needed for save_state */
tagmap_terminal_t m_terminals;
/* not ideal, but needed for save_state */
tagmap_terminal_t m_terminals;
void print_stats() const;
void print_stats() const;
protected:

View File

@ -60,7 +60,7 @@ public:
ATTR_COLD ~plinearlist_t()
{
if (m_list != NULL)
nl_free_array(m_list);
nl_free_array(m_list);
m_list = NULL;
}
@ -183,7 +183,7 @@ private:
else
{
if (m_list != NULL)
nl_free_array(m_list);
nl_free_array(m_list);
m_list = NULL;
m_count = 0;
}

View File

@ -24,7 +24,7 @@ ATTR_COLD void pstate_manager_t::save_state_ptr(const pstring &stname, const pst
"DT_INT8",
"DT_INT",
"DT_BOOLEAN",
"DT_FLOAT"
"DT_FLOAT"
};
NL_VERBOSE_OUT(("SAVE: <%s> %s(%d) %p\n", fullname.cstr(), ts[dt].cstr(), size, ptr));
@ -64,8 +64,8 @@ ATTR_COLD void pstate_manager_t::post_load()
template<> ATTR_COLD void pstate_manager_t::save_item(pstate_callback_t &state, const void *owner, const pstring &stname)
{
//save_state_ptr(stname, DT_CUSTOM, 0, 1, &state);
pstate_entry_t *p = nl_alloc(pstate_entry_t, stname, owner, &state);
m_save.add(p);
state.register_state(*this, stname);
//save_state_ptr(stname, DT_CUSTOM, 0, 1, &state);
pstate_entry_t *p = nl_alloc(pstate_entry_t, stname, owner, &state);
m_save.add(p);
state.register_state(*this, stname);
}

View File

@ -24,4 +24,3 @@ void parameters_manager::add(astring tag, astring value)
{
m_parameters.add(tag, value);
}

View File

@ -207,62 +207,62 @@ inline item_layer get_layer_and_blendmode(const layout_view &view, int index, in
render_texinfo &render_texinfo::operator=(const render_texinfo &src)
{
free_palette();
base = src.base;
rowpixels = src.rowpixels;
width = src.width;
height = src.height;
seqid = src.seqid;
osddata = src.osddata;
m_palette = src.m_palette;
if (m_palette != NULL)
{
m_palette->ref_count++;
}
return *this;
free_palette();
base = src.base;
rowpixels = src.rowpixels;
width = src.width;
height = src.height;
seqid = src.seqid;
osddata = src.osddata;
m_palette = src.m_palette;
if (m_palette != NULL)
{
m_palette->ref_count++;
}
return *this;
}
render_texinfo::render_texinfo(const render_texinfo &src)
{
base = src.base;
rowpixels = src.rowpixels;
width = src.width;
height = src.height;
seqid = src.seqid;
osddata = src.osddata;
m_palette = src.m_palette;
if (m_palette != NULL)
{
m_palette->ref_count++;
}
base = src.base;
rowpixels = src.rowpixels;
width = src.width;
height = src.height;
seqid = src.seqid;
osddata = src.osddata;
m_palette = src.m_palette;
if (m_palette != NULL)
{
m_palette->ref_count++;
}
}
void render_texinfo::set_palette(const dynamic_array<rgb_t> *source)
{
free_palette();
if (source != NULL)
{
m_palette = global_alloc(render_palette_copy);
m_palette->palette.copyfrom(*source);
m_palette->ref_count = 1;
}
else
{
m_palette = NULL;
}
free_palette();
if (source != NULL)
{
m_palette = global_alloc(render_palette_copy);
m_palette->palette.copyfrom(*source);
m_palette->ref_count = 1;
}
else
{
m_palette = NULL;
}
}
void render_texinfo::free_palette()
{
if (m_palette != NULL)
{
m_palette->ref_count--;
if (m_palette->ref_count == 0)
{
global_free(m_palette);
}
}
m_palette = NULL;
if (m_palette != NULL)
{
m_palette->ref_count--;
if (m_palette->ref_count == 0)
{
global_free(m_palette);
}
}
m_palette = NULL;
}
@ -277,31 +277,31 @@ void render_texinfo::free_palette()
void render_primitive::reset()
{
// public state
type = INVALID;
bounds.x0 = 0;
bounds.y0 = 0;
bounds.x1 = 0;
bounds.y1 = 0;
color.a = 0;
color.r = 0;
color.g = 0;
color.b = 0;
flags = 0;
width = 0.0f;
texture.set_palette(NULL);
texture = render_texinfo();
texcoords.bl.u = 0.0f;
texcoords.bl.v = 0.0f;
texcoords.br.u = 0.0f;
texcoords.br.v = 0.0f;
texcoords.tl.u = 0.0f;
texcoords.tl.v = 0.0f;
texcoords.tr.u = 0.0f;
texcoords.tr.v = 0.0f;
// public state
type = INVALID;
bounds.x0 = 0;
bounds.y0 = 0;
bounds.x1 = 0;
bounds.y1 = 0;
color.a = 0;
color.r = 0;
color.g = 0;
color.b = 0;
flags = 0;
width = 0.0f;
texture.set_palette(NULL);
texture = render_texinfo();
texcoords.bl.u = 0.0f;
texcoords.bl.v = 0.0f;
texcoords.br.u = 0.0f;
texcoords.br.v = 0.0f;
texcoords.tl.u = 0.0f;
texcoords.tl.v = 0.0f;
texcoords.tr.u = 0.0f;
texcoords.tr.v = 0.0f;
// do not clear m_next!
// memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
// do not clear m_next!
// memset(&type, 0, FPTR(&texcoords + 1) - FPTR(&type));
}
@ -556,63 +556,63 @@ void render_texture::get_scaled(UINT32 dwidth, UINT32 dheight, render_texinfo &t
texinfo.width = swidth;
texinfo.height = sheight;
// will be set later
texinfo.set_palette(NULL);
texinfo.set_palette(NULL);
texinfo.seqid = ++m_curseq;
}
else
{
// make sure we can recover the original argb32 bitmap
bitmap_argb32 dummy;
bitmap_argb32 &srcbitmap = (m_bitmap != NULL) ? downcast<bitmap_argb32 &>(*m_bitmap) : dummy;
// make sure we can recover the original argb32 bitmap
bitmap_argb32 dummy;
bitmap_argb32 &srcbitmap = (m_bitmap != NULL) ? downcast<bitmap_argb32 &>(*m_bitmap) : dummy;
// is it a size we already have?
scaled_texture *scaled = NULL;
int scalenum;
for (scalenum = 0; scalenum < ARRAY_LENGTH(m_scaled); scalenum++)
{
scaled = &m_scaled[scalenum];
// is it a size we already have?
scaled_texture *scaled = NULL;
int scalenum;
for (scalenum = 0; scalenum < ARRAY_LENGTH(m_scaled); scalenum++)
{
scaled = &m_scaled[scalenum];
// we need a non-NULL bitmap with matching dest size
if (scaled->bitmap != NULL && dwidth == scaled->bitmap->width() && dheight == scaled->bitmap->height())
break;
}
// we need a non-NULL bitmap with matching dest size
if (scaled->bitmap != NULL && dwidth == scaled->bitmap->width() && dheight == scaled->bitmap->height())
break;
}
// did we get one?
if (scalenum == ARRAY_LENGTH(m_scaled))
{
int lowest = -1;
// did we get one?
if (scalenum == ARRAY_LENGTH(m_scaled))
{
int lowest = -1;
// didn't find one -- take the entry with the lowest seqnum
for (scalenum = 0; scalenum < ARRAY_LENGTH(m_scaled); scalenum++)
if ((lowest == -1 || m_scaled[scalenum].seqid < m_scaled[lowest].seqid) && !primlist.has_reference(m_scaled[scalenum].bitmap))
lowest = scalenum;
assert_always(lowest != -1, "Too many live texture instances!");
// didn't find one -- take the entry with the lowest seqnum
for (scalenum = 0; scalenum < ARRAY_LENGTH(m_scaled); scalenum++)
if ((lowest == -1 || m_scaled[scalenum].seqid < m_scaled[lowest].seqid) && !primlist.has_reference(m_scaled[scalenum].bitmap))
lowest = scalenum;
assert_always(lowest != -1, "Too many live texture instances!");
// throw out any existing entries
scaled = &m_scaled[lowest];
if (scaled->bitmap != NULL)
{
m_manager->invalidate_all(scaled->bitmap);
global_free(scaled->bitmap);
}
// throw out any existing entries
scaled = &m_scaled[lowest];
if (scaled->bitmap != NULL)
{
m_manager->invalidate_all(scaled->bitmap);
global_free(scaled->bitmap);
}
// allocate a new bitmap
scaled->bitmap = global_alloc(bitmap_argb32(dwidth, dheight));
scaled->seqid = ++m_curseq;
// allocate a new bitmap
scaled->bitmap = global_alloc(bitmap_argb32(dwidth, dheight));
scaled->seqid = ++m_curseq;
// let the scaler do the work
(*m_scaler)(*scaled->bitmap, srcbitmap, m_sbounds, m_param);
}
// let the scaler do the work
(*m_scaler)(*scaled->bitmap, srcbitmap, m_sbounds, m_param);
}
// finally fill out the new info
primlist.add_reference(scaled->bitmap);
texinfo.base = &scaled->bitmap->pix32(0);
texinfo.rowpixels = scaled->bitmap->rowpixels();
texinfo.width = dwidth;
texinfo.height = dheight;
// will be set later
texinfo.set_palette(NULL);
texinfo.seqid = scaled->seqid;
// finally fill out the new info
primlist.add_reference(scaled->bitmap);
texinfo.base = &scaled->bitmap->pix32(0);
texinfo.rowpixels = scaled->bitmap->rowpixels();
texinfo.width = dwidth;
texinfo.height = dheight;
// will be set later
texinfo.set_palette(NULL);
texinfo.seqid = scaled->seqid;
}
}
@ -1817,26 +1817,26 @@ void render_target::add_container_primitives(render_primitive_list &list, const
height = MIN(height, m_maxtexheight);
curitem->texture()->get_scaled(width, height, prim->texture, list);
// set the palette
// set the palette
#if 1
const dynamic_array<rgb_t> *adjusted_pal = curitem->texture()->get_adjusted_palette(container);
prim->texture.set_palette(adjusted_pal);
prim->texture.set_palette(adjusted_pal);
#else
prim->texture.palette = curitem->texture()->get_adjusted_palette(container);
prim->texture.palette = curitem->texture()->get_adjusted_palette(container);
#endif
// determine UV coordinates and apply clipping
prim->texcoords = oriented_texcoords[finalorient];
clipped = render_clip_quad(&prim->bounds, &cliprect, &prim->texcoords);
// determine UV coordinates and apply clipping
prim->texcoords = oriented_texcoords[finalorient];
clipped = render_clip_quad(&prim->bounds, &cliprect, &prim->texcoords);
// apply the final orientation from the quad flags and then build up the final flags
prim->flags = (curitem->flags() & ~(PRIMFLAG_TEXORIENT_MASK | PRIMFLAG_BLENDMODE_MASK | PRIMFLAG_TEXFORMAT_MASK)) |
PRIMFLAG_TEXORIENT(finalorient) |
PRIMFLAG_TEXFORMAT(curitem->texture()->format());
if (blendmode != -1)
prim->flags |= PRIMFLAG_BLENDMODE(blendmode);
else
prim->flags |= PRIMFLAG_BLENDMODE(PRIMFLAG_GET_BLENDMODE(curitem->flags()));
// apply the final orientation from the quad flags and then build up the final flags
prim->flags = (curitem->flags() & ~(PRIMFLAG_TEXORIENT_MASK | PRIMFLAG_BLENDMODE_MASK | PRIMFLAG_TEXFORMAT_MASK)) |
PRIMFLAG_TEXORIENT(finalorient) |
PRIMFLAG_TEXFORMAT(curitem->texture()->format());
if (blendmode != -1)
prim->flags |= PRIMFLAG_BLENDMODE(blendmode);
else
prim->flags |= PRIMFLAG_BLENDMODE(PRIMFLAG_GET_BLENDMODE(curitem->flags()));
}
else
{
@ -1876,15 +1876,15 @@ void render_target::add_container_primitives(render_primitive_list &list, const
(container_xform.orientation & ORIENTATION_SWAP_XY) ? width : height, prim->texture, list);
// determine UV coordinates
prim->texcoords = oriented_texcoords[container_xform.orientation];
prim->texcoords = oriented_texcoords[container_xform.orientation];
// set the flags and add it to the list
prim->flags = PRIMFLAG_TEXORIENT(container_xform.orientation) |
PRIMFLAG_BLENDMODE(BLENDMODE_RGB_MULTIPLY) |
PRIMFLAG_TEXFORMAT(container.overlay()->format()) |
PRIMFLAG_TEXSHADE(1);
// set the flags and add it to the list
prim->flags = PRIMFLAG_TEXORIENT(container_xform.orientation) |
PRIMFLAG_BLENDMODE(BLENDMODE_RGB_MULTIPLY) |
PRIMFLAG_TEXFORMAT(container.overlay()->format()) |
PRIMFLAG_TEXSHADE(1);
list.append_or_return(*prim, false);
list.append_or_return(*prim, false);
}
}
@ -1925,17 +1925,17 @@ void render_target::add_element_primitives(render_primitive_list &list, const ob
texture->get_scaled(width, height, prim->texture, list);
// compute the clip rect
render_bounds cliprect;
cliprect.x0 = render_round_nearest(xform.xoffs);
cliprect.y0 = render_round_nearest(xform.yoffs);
cliprect.x1 = render_round_nearest(xform.xoffs + xform.xscale);
cliprect.y1 = render_round_nearest(xform.yoffs + xform.yscale);
sect_render_bounds(&cliprect, &m_bounds);
// compute the clip rect
render_bounds cliprect;
cliprect.x0 = render_round_nearest(xform.xoffs);
cliprect.y0 = render_round_nearest(xform.yoffs);
cliprect.x1 = render_round_nearest(xform.xoffs + xform.xscale);
cliprect.y1 = render_round_nearest(xform.yoffs + xform.yscale);
sect_render_bounds(&cliprect, &m_bounds);
// determine UV coordinates and apply clipping
prim->texcoords = oriented_texcoords[xform.orientation];
bool clipped = render_clip_quad(&prim->bounds, &cliprect, &prim->texcoords);
// determine UV coordinates and apply clipping
prim->texcoords = oriented_texcoords[xform.orientation];
bool clipped = render_clip_quad(&prim->bounds, &cliprect, &prim->texcoords);
// add to the list or free if we're clipped out
list.append_or_return(*prim, clipped);

View File

@ -213,26 +213,26 @@ struct render_quad_texuv
struct render_palette_copy
{
int ref_count;
dynamic_array<rgb_t> palette;
int ref_count;
dynamic_array<rgb_t> palette;
};
class render_texinfo
{
public:
render_texinfo()
: base(NULL), rowpixels(0), width(0), height(0),
seqid(0), osddata(0), m_palette(NULL)
{}
render_texinfo()
: base(NULL), rowpixels(0), width(0), height(0),
seqid(0), osddata(0), m_palette(NULL)
{}
render_texinfo(const render_texinfo &src);
render_texinfo(const render_texinfo &src);
~render_texinfo()
{
free_palette();
}
~render_texinfo()
{
free_palette();
}
render_texinfo &operator=(const render_texinfo &src);
render_texinfo &operator=(const render_texinfo &src);
void * base; // base of the data
UINT32 rowpixels; // pixels per row
@ -241,14 +241,14 @@ public:
UINT32 seqid; // sequence ID
UINT64 osddata; // aux data to pass to osd
const rgb_t * palette() const { return ((m_palette == NULL) ? NULL : &m_palette->palette[0]); }
const rgb_t * palette() const { return ((m_palette == NULL) ? NULL : &m_palette->palette[0]); }
void set_palette(const dynamic_array<rgb_t> *source);
void set_palette(const dynamic_array<rgb_t> *source);
private:
void free_palette();
void free_palette();
render_palette_copy *m_palette; // palette for PALETTE16 textures, LUTs for RGB15/RGB32
render_palette_copy *m_palette; // palette for PALETTE16 textures, LUTs for RGB15/RGB32
};

View File

@ -92,14 +92,14 @@ render_font::render_font(render_manager &manager, const char *filename)
m_osdfont = manager.machine().osd().font_alloc();
if (m_osdfont != NULL)
{
if (m_osdfont->open(manager.machine().options().font_path(), filename, m_height))
{
m_scale = 1.0f / (float)m_height;
m_format = FF_OSD;
return;
}
global_free(m_osdfont);
m_osdfont = NULL;
if (m_osdfont->open(manager.machine().options().font_path(), filename, m_height))
{
m_scale = 1.0f / (float)m_height;
m_format = FF_OSD;
return;
}
global_free(m_osdfont);
m_osdfont = NULL;
}
}
@ -136,8 +136,8 @@ render_font::~render_font()
// release the OSD font
if (m_osdfont != NULL)
{
m_osdfont->close();
global_free(m_osdfont);
m_osdfont->close();
global_free(m_osdfont);
}
}

View File

@ -109,9 +109,9 @@ void ui_menu_device_config::populate()
const rectangle &visarea = screen->visible_area();
string.catprintf("%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n",
visarea.width(), visarea.height(),
(machine().system().flags & ORIENTATION_SWAP_XY) ? "V" : "H",
ATTOSECONDS_TO_HZ(screen->frame_period().attoseconds));
visarea.width(), visarea.height(),
(machine().system().flags & ORIENTATION_SWAP_XY) ? "V" : "H",
ATTOSECONDS_TO_HZ(screen->frame_period().attoseconds));
}
}
}
@ -275,7 +275,7 @@ void ui_menu_device_config::populate()
}
if ((execiter.count() + scriter.count() + snditer.count() + imgiter.count() + slotiter.count() + bios + dips + confs
+ input + input_mj + input_hana + input_gamble + input_analog + input_adjust + input_keypad + input_keyboard) == 0)
+ input + input_mj + input_hana + input_gamble + input_analog + input_adjust + input_keypad + input_keyboard) == 0)
string.cat("[None]\n");
const_cast<machine_config &>(machine().config()).device_remove(&machine().config().root_device(), m_option->name());

View File

@ -83,9 +83,9 @@ void ui_menu_tape_control::populate()
(state & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED
? "stopped"
: ((state & CASSETTE_MASK_UISTATE) == CASSETTE_PLAY
? ((state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_ENABLED ? "playing" : "(playing)")
: ((state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_ENABLED ? "recording" : "(recording)")
),
? ((state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_ENABLED ? "playing" : "(playing)")
: ((state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_ENABLED ? "recording" : "(recording)")
),
timepos,
tapeflags,
TAPECMD_SLIDER);

View File

@ -100,12 +100,12 @@ public:
void resize_keep_and_clear_new(int count, UINT8 data = 0) { int oldcount = m_count; resize_keep(count); if (oldcount < m_count) clear_internal(oldcount, m_count - oldcount, data); }
// batch operations
void copyfrom(const dynamic_array<_ElementType> &source)
{
resize(source.count());
for (int i=0; i < source.count(); i++)
m_array[i] = source[i];
}
void copyfrom(const dynamic_array<_ElementType> &source)
{
resize(source.count());
for (int i=0; i < source.count(); i++)
m_array[i] = source[i];
}
private:
// internal helpers

View File

@ -171,7 +171,7 @@ public:
// entry list getters
const rgb_t *entry_list_raw() const { return m_entry_color; }
const dynamic_array<rgb_t> *entry_list_adjusted_darray() const { return &m_adjusted_color; }
const rgb_t *entry_list_adjusted() const { return m_adjusted_color; }
const rgb_t *entry_list_adjusted() const { return m_adjusted_color; }
const rgb_t *entry_list_adjusted_rgb15() const { return m_adjusted_rgb15; }
// group adjustments

View File

@ -46,47 +46,47 @@
/* ---------------------------------------------------------------------- */
static NETLIST_START(nl_mario_snd0)
RES(R17, RES_K(27)) /* 20 according to parts list */
/* 27 verified, 30K in schematics */
CAP(C14, CAP_U(4.7)) /* verified */
RES(R17, RES_K(27)) /* 20 according to parts list */
/* 27 verified, 30K in schematics */
CAP(C14, CAP_U(4.7)) /* verified */
TTL_74123(2H_A)
NET_C(2H_A.VCC, V5)
NET_C(2H_A.GND, GND)
NET_C(SOUND0.Q, 2H_A.B)
NET_C(GND, 2H_A.A)
NET_C(2H_A.CLRQ, ttlhigh) /* NOT IN SCHEMATICS */
DIODE(D1, "1N4148") /* FIXME: try to identify */
TTL_7404_INVERT(1H_A, 2H_A.QQ)
NET_C(R17.1, V5)
NET_C(R17.2, D1.A, C14.1)
NET_C(D1.K, 2H_A.RC)
NET_C(C14.2, 2H_A.C)
TTL_74123(2H_A)
NET_C(2H_A.VCC, V5)
NET_C(2H_A.GND, GND)
NET_C(SOUND0.Q, 2H_A.B)
NET_C(GND, 2H_A.A)
NET_C(2H_A.CLRQ, ttlhigh) /* NOT IN SCHEMATICS */
DIODE(D1, "1N4148") /* FIXME: try to identify */
TTL_7404_INVERT(1H_A, 2H_A.QQ)
NET_C(R17.1, V5)
NET_C(R17.2, D1.A, C14.1)
NET_C(D1.K, 2H_A.RC)
NET_C(C14.2, 2H_A.C)
RES(R6, RES_K(4.7)) /* verified */
CAP(C3, CAP_U(10)) /* verified */
RES(R6, RES_K(4.7)) /* verified */
CAP(C3, CAP_U(10)) /* verified */
NET_C(1H_A.Q, R6.1)
NET_C(R6.2, C3.1, 1J_A.FC)
NET_C(R6.2, 2J_A.FC)
NET_C(C3.2, GND)
NET_C(1H_A.Q, R6.1)
NET_C(R6.2, C3.1, 1J_A.FC)
NET_C(R6.2, 2J_A.FC)
NET_C(C3.2, GND)
//#define MR_C6 CAP_N(3.9) /* verified */
//#define MR_C6 CAP_N(3.9) /* verified */
SN74LS629(1J_A, CAP_N(3.9))
NET_C(1J_A.RNG, V5)
NET_C(1J_A.ENQ, ttllow)
NET_C(GND, 1J_A.GND)
SN74LS629(1J_A, CAP_N(3.9))
NET_C(1J_A.RNG, V5)
NET_C(1J_A.ENQ, ttllow)
NET_C(GND, 1J_A.GND)
//#define MR_C17 CAP_N(22) /* verified */
//#define MR_C17 CAP_N(22) /* verified */
SN74LS629(2J_A, CAP_N(22))
NET_C(2J_A.RNG, V5)
NET_C(2J_A.ENQ, ttllow)
NET_C(GND, 2J_A.GND)
SN74LS629(2J_A, CAP_N(22))
NET_C(2J_A.RNG, V5)
NET_C(2J_A.ENQ, ttllow)
NET_C(GND, 2J_A.GND)
TTL_7486_XOR(1K_A, 1J_A.Y, 2J_A.Y)
TTL_7408_AND(2K_A, 2H_A.Q, 1K_A)
TTL_7486_XOR(1K_A, 1J_A.Y, 2J_A.Y)
TTL_7408_AND(2K_A, 2H_A.Q, 1K_A)
NETLIST_END()
/* ---------------------------------------------------------------------- */
@ -96,49 +96,49 @@ NETLIST_END()
// FIXME: Diodes are 1S953
static NETLIST_START(nl_mario_snd7)
RES(R61, RES_K(47))
CAP(C41, CAP_U(4.7)) /* verified */
RES(R61, RES_K(47))
CAP(C41, CAP_U(4.7)) /* verified */
TTL_74123(4L_A)
NET_C(4L_A.VCC, V5)
NET_C(4L_A.GND, GND)
NET_C(SOUND7.Q, 4L_A.B)
NET_C(GND, 4L_A.A)
NET_C(4L_A.CLRQ, ttlhigh) /* NOT IN SCHEMATICS */
DIODE(D10, "1N4148") /* FIXME: try to identify */
TTL_7404_INVERT(4J_A, 4L_A.Q)
NET_C(R61.1, V5)
NET_C(R61.2, D10.A, C41.1)
NET_C(D10.K, 4L_A.RC)
NET_C(C41.2, 4L_A.C)
TTL_74123(4L_A)
NET_C(4L_A.VCC, V5)
NET_C(4L_A.GND, GND)
NET_C(SOUND7.Q, 4L_A.B)
NET_C(GND, 4L_A.A)
NET_C(4L_A.CLRQ, ttlhigh) /* NOT IN SCHEMATICS */
DIODE(D10, "1N4148") /* FIXME: try to identify */
TTL_7404_INVERT(4J_A, 4L_A.Q)
NET_C(R61.1, V5)
NET_C(R61.2, D10.A, C41.1)
NET_C(D10.K, 4L_A.RC)
NET_C(C41.2, 4L_A.C)
RES(R65, RES_K(10))
CAP(C44, CAP_U(3.3)) /* verified */
RES(R65, RES_K(10))
CAP(C44, CAP_U(3.3)) /* verified */
SN74LS629(4K_A, CAP_U(0.022))
NET_C(4K_A.RNG, V5)
NET_C(4K_A.ENQ, ttllow)
NET_C(GND, 4K_A.GND)
NET_C(R65.1, 4J_A.Q)
NET_C(R65.2, 4K_A.FC, C44.1)
NET_C(C44.2, GND)
SN74LS629(4K_A, CAP_U(0.022))
NET_C(4K_A.RNG, V5)
NET_C(4K_A.ENQ, ttllow)
NET_C(GND, 4K_A.GND)
NET_C(R65.1, 4J_A.Q)
NET_C(R65.2, 4K_A.FC, C44.1)
NET_C(C44.2, GND)
CD_4020(3H, 4K_B.Y, ttllow, V5, GND)
TTL_7404_INVERT(4J_B, 3H.Q12)
CD_4020(3H, 4K_B.Y, ttllow, V5, GND)
TTL_7404_INVERT(4J_B, 3H.Q12)
RES(R64, RES_K(20))
CAP(C43, CAP_U(3.3)) /* verified */
RES(R64, RES_K(20))
CAP(C43, CAP_U(3.3)) /* verified */
SN74LS629(4K_B, CAP_U(0.0047))
NET_C(4K_B.RNG, V5)
NET_C(4K_B.ENQ, ttllow)
NET_C(GND, 4K_B.GND)
NET_C(R64.1, 4J_B.Q)
NET_C(R64.2, 4K_B.FC, C43.1)
NET_C(C43.2, GND)
SN74LS629(4K_B, CAP_U(0.0047))
NET_C(4K_B.RNG, V5)
NET_C(4K_B.ENQ, ttllow)
NET_C(GND, 4K_B.GND)
NET_C(R64.1, 4J_B.Q)
NET_C(R64.2, 4K_B.FC, C43.1)
NET_C(C43.2, GND)
TTL_7486_XOR(1K_C, 3H.Q4, 4K_A.Y)
TTL_7408_AND(2K_C, 4L_A.Q, 1K_C)
TTL_7486_XOR(1K_C, 3H.Q4, 4K_A.Y)
TTL_7408_AND(2K_C, 4L_A.Q, 1K_C)
NETLIST_END()
@ -146,140 +146,140 @@ NETLIST_END()
/* DAC sound */
/* ---------------------------------------------------------------------- */
static NETLIST_START(nl_mario_dac)
RES(R34, RES_M(2))
RES(R35, RES_M(1))
RES(R36, RES_M(1.8))
LM3900(3M_1)
NET_C(3M_1.VM, GND)
NET_C(3M_1.VP, V5)
RES(R34, RES_M(2))
RES(R35, RES_M(1))
RES(R36, RES_M(1.8))
LM3900(3M_1)
NET_C(3M_1.VM, GND)
NET_C(3M_1.VP, V5)
NET_C(DAC.VOUT, R34.1)
NET_C(3M_1.MINUS, R34.2, R35.2)
NET_C(3M_1.OUT, R35.1)
NET_C(3M_1.PLUS, R36.1)
NET_C(R36.2, GND)
NET_C(DAC.VOUT, R34.1)
NET_C(3M_1.MINUS, R34.2, R35.2)
NET_C(3M_1.OUT, R35.1)
NET_C(3M_1.PLUS, R36.1)
NET_C(R36.2, GND)
RES(R21, RES_M(1.8))
RES(R23, RES_K(10))
RES(R25, RES_K(10))
RES(R37, RES_K(750))
RES(R38, RES_K(360))
RES(R39, RES_K(750))
RES(R21, RES_M(1.8))
RES(R23, RES_K(10))
RES(R25, RES_K(10))
RES(R37, RES_K(750))
RES(R38, RES_K(360))
RES(R39, RES_K(750))
CAP(C18, CAP_P(100))
CAP(C19, CAP_U(10))
CAP(C20, CAP_U(1))
CAP(C30, CAP_P(100))
CAP(C18, CAP_P(100))
CAP(C19, CAP_U(10))
CAP(C20, CAP_U(1))
CAP(C30, CAP_P(100))
LM3900(3M_2)
NET_C(3M_2.VM, GND)
NET_C(3M_2.VP, V5)
LM3900(3M_2)
NET_C(3M_2.VM, GND)
NET_C(3M_2.VP, V5)
NET_C(R35.1, C20.1)
NET_C(C20.2, R37.1)
NET_C(R37.2, R38.2, C18.1, R39.2)
NET_C(R35.1, C20.1)
NET_C(C20.2, R37.1)
NET_C(R37.2, R38.2, C18.1, R39.2)
NET_C(C18.2, GND)
NET_C(R38.1, C30.2, 3M_2.MINUS)
NET_C(3M_2.OUT, R39.1, C30.1)
NET_C(C18.2, GND)
NET_C(R38.1, C30.2, 3M_2.MINUS)
NET_C(3M_2.OUT, R39.1, C30.1)
NET_C(R21.1, 3M_2.PLUS)
NET_C(R21.2, C19.1, R25.2, R23.1)
NET_C(C19.2, R23.2, GND)
NET_C(R25.1, V5)
NET_C(R21.1, 3M_2.PLUS)
NET_C(R21.2, C19.1, R25.2, R23.1)
NET_C(C19.2, R23.2, GND)
NET_C(R25.1, V5)
NETLIST_END()
static NETLIST_START(nl_mario)
/* Standard stuff */
/* Standard stuff */
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-8)
PARAM(Solver.SOR_FACTOR, 1.0)
PARAM(Solver.GS_THRESHOLD, 5)
PARAM(Solver.GS_LOOPS, 4)
//PARAM(Solver.LTE, 5e-2) // Default is not enough for paddle control
PARAM(Solver.DYNAMIC_TS, 0)
ANALOG_INPUT(V5, 5)
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-8)
PARAM(Solver.SOR_FACTOR, 1.0)
PARAM(Solver.GS_THRESHOLD, 5)
PARAM(Solver.GS_LOOPS, 4)
//PARAM(Solver.LTE, 5e-2) // Default is not enough for paddle control
PARAM(Solver.DYNAMIC_TS, 0)
ANALOG_INPUT(V5, 5)
TTL_INPUT(SOUND0, 1)
INCLUDE(nl_mario_snd0)
TTL_INPUT(SOUND0, 1)
INCLUDE(nl_mario_snd0)
TTL_INPUT(SOUND7, 1)
INCLUDE(nl_mario_snd7)
TTL_INPUT(SOUND7, 1)
INCLUDE(nl_mario_snd7)
R2R_DAC(DAC, 3.4, 10000.0, 8)
NET_C(DAC.VGND, GND)
R2R_DAC(DAC, 3.4, 10000.0, 8)
NET_C(DAC.VGND, GND)
INCLUDE(nl_mario_dac)
INCLUDE(nl_mario_dac)
/* ---------------------------------------------------------------------- */
/* mixing */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* mixing */
/* ---------------------------------------------------------------------- */
RES(R20, RES_K(22)) /* verified */
RES(R19, RES_K(22)) /* verified */
RES(R40, RES_K(22)) /* verified */
RES(R41, RES_K(100)) /* verified */
CAP(C31, CAP_U(0.022)) /* */
RES(R20, RES_K(22)) /* verified */
RES(R19, RES_K(22)) /* verified */
RES(R40, RES_K(22)) /* verified */
RES(R41, RES_K(100)) /* verified */
CAP(C31, CAP_U(0.022)) /* */
NET_C(2K_A.Q, R20.1)
NET_C(GND, R19.1) //FIXME
NET_C(2K_C.Q, R41.1)
NET_C(2K_A.Q, R20.1)
NET_C(GND, R19.1) //FIXME
NET_C(2K_C.Q, R41.1)
#if 1
RES(DUM, RES_K(22))
NET_C(R39.1, DUM.1)
NET_C(DUM.2, GND)
FRONTIER(front1, R39.1, R40.1)
RES(DUM, RES_K(22))
NET_C(R39.1, DUM.1)
NET_C(DUM.2, GND)
FRONTIER(front1, R39.1, R40.1)
#else
NET_C(R39.1, R40.1)
NET_C(R39.1, R40.1)
#endif
NET_C(R20.2, R19.2, R40.2, R41.2, C31.1)
NET_C(C31.2, GND)
NET_C(R20.2, R19.2, R40.2, R41.2, C31.1)
NET_C(C31.2, GND)
CAP(C32, CAP_U(1)) /* verified */
RES(R42, RES_K(43)) /* verified */
RES(R43, RES_K(100)) /* verified */
CAP(C32, CAP_U(1)) /* verified */
RES(R42, RES_K(43)) /* verified */
RES(R43, RES_K(100)) /* verified */
NET_C(C31.1, C32.1)
NET_C(C32.2, R42.1, R43.2, Q10.B)
//NET_C(C32.2, R42.1, R43.2)
NET_C(R43.1, V5)
NET_C(R42.2, GND)
NET_C(C31.1, C32.1)
NET_C(C32.2, R42.1, R43.2, Q10.B)
//NET_C(C32.2, R42.1, R43.2)
NET_C(R43.1, V5)
NET_C(R42.2, GND)
#if 1
RES(R63, RES_K(1)) /* */
RES(R62, 150) /* */
RES(R63, RES_K(1)) /* */
RES(R62, 150) /* */
QBJT_EB(Q10, "2SC1815")
QBJT_EB(Q10, "2SC1815")
NET_C(R62.2, GND)
NET_C(R62.1, Q10.E)
NET_C(R62.2, GND)
NET_C(R62.1, Q10.E)
NET_C(R63.1, V5)
NET_C(R63.2, Q10.C)
NET_C(R63.1, V5)
NET_C(R63.2, Q10.C)
CAP(C42, CAP_U(0.1))
CAP(C47, CAP_U(4.7))
RES(VR1, RES_K(10))
CAP(C42, CAP_U(0.1))
CAP(C47, CAP_U(4.7))
RES(VR1, RES_K(10))
NET_C(C42.1, C47.1, R62.1)
NET_C(C42.2, GND)
NET_C(C47.2, VR1.1)
NET_C(VR1.2, GND)
NET_C(C42.1, C47.1, R62.1)
NET_C(C42.2, GND)
NET_C(C47.2, VR1.1)
NET_C(VR1.2, GND)
#endif
/* ---------------------------------------------------------------------- */
/* Output */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* Output */
/* ---------------------------------------------------------------------- */
RES(ROUT, 1000000)
RES(ROUT, 1000000)
//NET_C(Q10.C, ROUT.1)
//NET_C(R43.2, ROUT.1)
NET_C(VR1.1, ROUT.1)
//NET_C(Q10.C, ROUT.1)
//NET_C(R43.2, ROUT.1)
NET_C(VR1.1, ROUT.1)
NET_C(GND, ROUT.2)
NET_C(GND, ROUT.2)
NETLIST_END()
@ -790,7 +790,7 @@ WRITE8_MEMBER(mario_state::mario_sh1_w)
#if OLD_SOUND
m_discrete->write(space, DS_SOUND0_INP, 0);
#else
m_audio_snd0->write(data);
m_audio_snd0->write(data);
#endif
}
@ -835,7 +835,7 @@ WRITE8_MEMBER(mario_state::mario_sh3_w)
#if OLD_SOUND
machine().device<discrete_device>("discrete")->write(space, DS_SOUND7_INP, data & 1);
#else
m_audio_snd7->write((data & 1) ^ 1);
m_audio_snd7->write((data & 1) ^ 1);
#endif
break;
}
@ -891,16 +891,16 @@ MACHINE_CONFIG_FRAGMENT( mario_audio )
MCFG_DISCRETE_INTF(mario)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1)
#else
MCFG_SOUND_ADD("snd_nl", NETLIST_SOUND, 48000)
MCFG_NETLIST_SETUP(nl_mario)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_SOUND_ADD("snd_nl", NETLIST_SOUND, 48000)
MCFG_NETLIST_SETUP(nl_mario)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "snd0", "SOUND0.IN", 0, 1)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "snd7", "SOUND7.IN", 0, 1)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "dac", "DAC.VAL", 0, 255)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "snd0", "SOUND0.IN", 0, 1)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "snd7", "SOUND7.IN", 0, 1)
MCFG_NETLIST_LOGIC_INPUT("snd_nl", "dac", "DAC.VAL", 0, 255)
MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "ROUT.1")
MCFG_NETLIST_ANALOG_MULT_OFFSET(150000.0, 0.0)
MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "ROUT.1")
MCFG_NETLIST_ANALOG_MULT_OFFSET(150000.0, 0.0)
#endif
MACHINE_CONFIG_END

View File

@ -229,21 +229,11 @@ WRITE8_MEMBER( seibu_sound_device::rst18_ack_w )
update_irq_lines(RST18_CLEAR);
}
void seibu_sound_device::ym3812_irqhandler(int linestate)
{
update_irq_lines(linestate ? RST10_ASSERT : RST10_CLEAR);
}
WRITE_LINE_MEMBER( seibu_sound_device::ym2151_irqhandler )
WRITE_LINE_MEMBER( seibu_sound_device::fm_irqhandler )
{
update_irq_lines(state ? RST10_ASSERT : RST10_CLEAR);
}
void seibu_sound_device::ym2203_irqhandler(int linestate)
{
update_irq_lines(linestate ? RST10_ASSERT : RST10_CLEAR);
}
WRITE8_MEMBER( seibu_sound_device::bank_w )
{
space.machine().root_device().membank("bank1")->set_entry(data & 1);

View File

@ -45,17 +45,13 @@ public:
DECLARE_READ16_MEMBER( main_word_r );
DECLARE_WRITE16_MEMBER( main_word_w );
DECLARE_WRITE16_MEMBER( main_mustb_w );
DECLARE_WRITE8_MEMBER( irq_clear_w );
DECLARE_WRITE8_MEMBER( rst10_ack_w );
DECLARE_WRITE8_MEMBER( rst18_ack_w );
DECLARE_WRITE8_MEMBER( bank_w );
DECLARE_WRITE8_MEMBER( coin_w );
void ym3812_irqhandler(int linestate);
WRITE_LINE_MEMBER(ym2151_irqhandler);
void ym2203_irqhandler(int linestate);
WRITE_LINE_MEMBER( fm_irqhandler );
DECLARE_READ8_MEMBER( soundlatch_r );
DECLARE_READ8_MEMBER( main_data_pending_r );
DECLARE_WRITE8_MEMBER( main_data_w );
@ -193,8 +189,8 @@ extern const device_type SEIBU_ADPCM;
#define SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(freq1,freq2) \
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_SOUND_ADD("ymsnd", YM3812, freq1) \
MCFG_YM3812_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym3812_irqhandler)) \
MCFG_SOUND_ADD("ymsnd", YM3812, freq1) \
MCFG_YM3812_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) \
\
MCFG_OKIM6295_ADD("oki", freq2, OKIM6295_PIN7_LOW) \
@ -203,8 +199,8 @@ extern const device_type SEIBU_ADPCM;
#define SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(freq1,freq2) \
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_SOUND_ADD("ymsnd", YM3812, freq1) \
MCFG_YM3812_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym3812_irqhandler)) \
MCFG_SOUND_ADD("ymsnd", YM3812, freq1) \
MCFG_YM3812_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) \
\
MCFG_OKIM6295_ADD("oki", freq2, OKIM6295_PIN7_HIGH) \
@ -213,8 +209,8 @@ extern const device_type SEIBU_ADPCM;
#define SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(freq1,freq2) \
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler)) \
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(0, "mono", 0.50) \
MCFG_SOUND_ROUTE(1, "mono", 0.50) \
\
@ -224,16 +220,16 @@ extern const device_type SEIBU_ADPCM;
#define SEIBU_AIRRAID_SOUND_SYSTEM_YM2151_INTERFACE(freq1) \
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler)) \
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(0, "mono", 0.50) \
MCFG_SOUND_ROUTE(1, "mono", 0.50)
#define SEIBU_SOUND_SYSTEM_YM2151_RAIDEN2_INTERFACE(freq1,freq2,regiona, regionb) \
#define SEIBU_SOUND_SYSTEM_YM2151_RAIDEN2_INTERFACE(freq1, freq2, regiona, regionb) \
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler)) \
MCFG_YM2151_ADD("ymsnd", freq1) \
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(0, "mono", 0.50) \
MCFG_SOUND_ROUTE(1, "mono", 0.50) \
\
@ -247,7 +243,7 @@ extern const device_type SEIBU_ADPCM;
MCFG_SPEAKER_STANDARD_MONO("mono") \
\
MCFG_SOUND_ADD("ym1", YM2203, freq) \
MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2203_irqhandler)) \
MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) \
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) \
\
MCFG_SOUND_ADD("ym2", YM2203, freq) \
@ -255,11 +251,11 @@ extern const device_type SEIBU_ADPCM;
#define SEIBU_SOUND_SYSTEM_ADPCM_INTERFACE \
MCFG_SOUND_ADD("adpcm1", SEIBU_ADPCM, 8000) \
MCFG_SEIBU_ADPCM_ROMREGION("adpcm1") \
MCFG_SEIBU_ADPCM_ROMREGION("adpcm1") \
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) \
\
MCFG_SOUND_ADD("adpcm2", SEIBU_ADPCM, 8000) \
MCFG_SEIBU_ADPCM_ROMREGION("adpcm2") \
MCFG_SEIBU_ADPCM_ROMREGION("adpcm2") \
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
/**************************************************************************/

View File

@ -178,8 +178,8 @@ class aleck64_state : public n64_state
public:
aleck64_state(const machine_config &mconfig, device_type type, const char *tag)
: n64_state(mconfig, type, tag),
m_e90_vram(*this,"e90vram"),
m_e90_pal(*this,"e90pal"),
m_e90_vram(*this,"e90vram"),
m_e90_pal(*this,"e90pal"),
m_dip_read_offset(0) { }
optional_shared_ptr<UINT32> m_e90_vram;
@ -342,7 +342,7 @@ WRITE16_MEMBER(aleck64_state::e90_prot_w)
if(data & 1) // 0 -> 1 transition
{
//for(int i=0;i<0x1000;i+=4)
// space.write_dword(0x007502f4+i,space.read_dword(0xd0000000+i));
// space.write_dword(0x007502f4+i,space.read_dword(0xd0000000+i));
}
break;
//0x1e bit 0 probably enables the chip

View File

@ -106,7 +106,6 @@ public:
required_ioport m_io_in3;
required_device<palette_device> m_palette;
required_shared_ptr<UINT32> m_generic_paletteram_32;
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
};
//UINT32 *backfire_180010, *backfire_188010;
@ -439,11 +438,6 @@ static GFXDECODE_START( backfire )
GFXDECODE_END
WRITE_LINE_MEMBER(backfire_state::sound_irq_gen)
{
logerror("sound irq\n");
}
INTERRUPT_GEN_MEMBER(backfire_state::deco32_vbl_interrupt)
{
device.execute().set_input_line(ARM_IRQ_LINE, HOLD_LINE);
@ -559,7 +553,6 @@ static MACHINE_CONFIG_START( backfire, backfire_state )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, 28000000 / 2)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(backfire_state, sound_irq_gen))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END

View File

@ -610,13 +610,6 @@ MACHINE_START_MEMBER(sc4_state,sc4)
}
WRITE_LINE_MEMBER(sc4_state::bfm_sc4_irqhandler)
{
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
WRITE_LINE_MEMBER(sc4_state::bfm_sc4_duart_irq_handler)
{
// triggers after reel tests on luckb, at the start on dnd...
@ -709,7 +702,6 @@ MACHINE_CONFIG_FRAGMENT( sc4_common )
// MCFG_DEFAULT_LAYOUT(layout_bfm_sc4)
MCFG_SOUND_ADD("ymz", YMZ280B, 16000000) // ?? Mhz
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(sc4_state, bfm_sc4_irqhandler))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END

View File

@ -186,14 +186,6 @@ WRITE8_MEMBER( bfm_sc5_state::sc5_10202F0_w )
}
WRITE_LINE_MEMBER(bfm_sc5_state::bfm_sc5_ym_irqhandler)
{
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
WRITE_LINE_MEMBER(bfm_sc5_state::bfm_sc5_duart_irq_handler)
{
printf("bfm_sc5_duart_irq_handler\n");
@ -235,6 +227,5 @@ MACHINE_CONFIG_START( bfm_sc5, bfm_sc5_state )
MCFG_DEFAULT_LAYOUT(layout_bfm_sc5)
MCFG_SOUND_ADD("ymz", YMZ280B, 16000000) // ?? Mhz
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(bfm_sc5_state, bfm_sc5_ym_irqhandler))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END

View File

@ -122,7 +122,6 @@ public:
{
return 0;
}
DECLARE_WRITE_LINE_MEMBER(irqhandler);
protected:
@ -132,12 +131,6 @@ protected:
virtual void machine_start();
};
WRITE_LINE_MEMBER(bfm_swp_state::irqhandler)
{
}
READ32_MEMBER(bfm_swp_state::bfm_swp_mem_r)
{
int pc = space.device().safe_pc();
@ -218,7 +211,6 @@ static MACHINE_CONFIG_START( bfm_swp, bfm_swp_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymz", YMZ280B, 10000000 )
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(bfm_swp_state, irqhandler))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END

View File

@ -357,12 +357,6 @@ static INPUT_PORTS_START( bishi2p )
INPUT_PORTS_END
WRITE_LINE_MEMBER(bishi_state::sound_irq_gen)
{
m_maincpu->set_input_line(M68K_IRQ_1, (state) ? ASSERT_LINE : CLEAR_LINE);
}
void bishi_state::machine_start()
{
save_item(NAME(m_cur_control));
@ -413,7 +407,7 @@ static MACHINE_CONFIG_START( bishi, bishi_state )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, SOUND_CLOCK) /* 16.9344MHz */
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(bishi_state, sound_irq_gen))
MCFG_YMZ280B_IRQ_HANDLER(INPUTLINE("maincpu", M68K_IRQ_1))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END

View File

@ -1940,7 +1940,7 @@ ROM_START( discof )
ROM_LOAD( "w3-f.4a", 0xc000, 0x1000, CRC(9aadd252) SHA1(c6da7ef46333d525e676c59f03ccc908108b41ba) )
ROM_LOAD( "w2-f.6a", 0xd000, 0x1000, CRC(f131a5bb) SHA1(84b7dea112dce12e5cb235a13f6dc4edcfb18c06) )
ROM_LOAD( "w1-f.9a", 0xe000, 0x1000, CRC(a6ce9a19) SHA1(e8f380e17a21fb33504d6efe9d01d0f903fa25e1) )
// ROM_LOAD( "w1-f", 0xe000, 0x1000, CRC(c8ec57c5) SHA1(904a9ed0a7f1230c611bf473b9bc52e63eb56dbe) ) // 0x7d3 is 0x10 instead of 0x00, 1 bit different, looks out of place, bad?
// ROM_LOAD( "w1-f", 0xe000, 0x1000, CRC(c8ec57c5) SHA1(904a9ed0a7f1230c611bf473b9bc52e63eb56dbe) ) // 0x7d3 is 0x10 instead of 0x00, 1 bit different, looks out of place, bad?
ROM_LOAD( "w0-f.9a", 0xf000, 0x1000, CRC(b3787a92) SHA1(7f40621dc739c1108a5df43142ab04709a380219) )
ROM_REGION( 0x10000, "audiocpu", 0 )

View File

@ -484,7 +484,7 @@ static MACHINE_CONFIG_START( cabal, cabal_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_YM2151_ADD("ymsnd", XTAL_3_579545MHz) /* verified on pcb */
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler))
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler))
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.80)
MCFG_SOUND_ADD("adpcm1", SEIBU_ADPCM, 8000) /* it should use the msm5205 */

View File

@ -154,7 +154,7 @@ public:
: dynax_state(mconfig, type, tag),
m_dsw_sel16(*this, "dsw_sel16"),
m_protection1(*this, "protection1"),
m_protection2(*this, "protection2") { }
m_protection2(*this, "protection2") { }
optional_shared_ptr<UINT16> m_dsw_sel16;

View File

@ -66,7 +66,6 @@ public:
UINT32 screen_update_wcvol95(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(deco32_vbl_interrupt);
void descramble_sound( const char *tag );
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
DECO16IC_BANK_CB_MEMBER(bank_callback);
DECOSPR_PRIORITY_CB_MEMBER(pri_callback);
};
@ -315,11 +314,6 @@ GFXDECODE_END
/**********************************************************************************/
WRITE_LINE_MEMBER(deco156_state::sound_irq_gen)
{
logerror("sound irq\n");
}
INTERRUPT_GEN_MEMBER(deco156_state::deco32_vbl_interrupt)
{
device.execute().set_input_line(ARM_IRQ_LINE, HOLD_LINE);
@ -441,7 +435,6 @@ static MACHINE_CONFIG_START( wcvol95, deco156_state )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, 28000000 / 2)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(deco156_state, sound_irq_gen))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END

View File

@ -356,7 +356,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 32, funkball_state )
AM_RANGE(0x00000000, 0x003fffff) AM_DEVREADWRITE16("u29", intel_28f320j5_device, read, write, 0xffffffff ) // needed to boot
AM_RANGE(0x00400000, 0x007fffff) AM_DEVREADWRITE16("u30", intel_28f320j5_device, read, write, 0xffffffff ) // i assume it maps directly after
// AM_RANGE(0x02000000, 0x023fffff) AM_DEVREADWRITE16("u3", intel_28f320j5_device, read, write, 0xffffffff ) // sound program, don't think it matters where we map it, might not even be visible in this space
// AM_RANGE(0x02000000, 0x023fffff) AM_DEVREADWRITE16("u3", intel_28f320j5_device, read, write, 0xffffffff ) // sound program, don't think it matters where we map it, might not even be visible in this space
/* it checks for 64MBit chips at 0x80000000 the way things are set up, they must return an intel Flash ID of 0x15 */
ADDRESS_MAP_END

View File

@ -1499,8 +1499,8 @@ static ADDRESS_MAP_START( spactrai_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x1200, 0x12ff) AM_MIRROR(0x0100) AM_RAM_WRITE(galaxian_objram_w) AM_SHARE("spriteram")
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ(watchdog_reset_r)
AM_RANGE(0x4000, 0xbfff) AM_ROM
// AM_RANGE(0xc000, 0xc003) AM_MIRROR(0x3efc) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
// AM_RANGE(0xc100, 0xc103) AM_MIRROR(0x3efc) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
// AM_RANGE(0xc000, 0xc003) AM_MIRROR(0x3efc) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
// AM_RANGE(0xc100, 0xc103) AM_MIRROR(0x3efc) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
ADDRESS_MAP_END
static ADDRESS_MAP_START( anteaterg_map, AS_PROGRAM, 8, galaxian_state )

View File

@ -427,13 +427,13 @@ static ADDRESS_MAP_START( video_map, AS_PROGRAM, 8, caveman_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( video_io_map, AS_IO, 8, caveman_state )
// AM_RANGE(0x000, 0x002) AM_READWRITE() // 8259 irq controller
// AM_RANGE(0x100, 0x102) AM_READWRITE() // HD46505
// AM_RANGE(0x200, 0x200) AM_READWRITE() // 8212 in, ?? out
// AM_RANGE(0x300, 0x300) AM_READWRITE() // soundlatch (command?) in, ?? out
// AM_RANGE(0x000, 0x002) AM_READWRITE() // 8259 irq controller
// AM_RANGE(0x100, 0x102) AM_READWRITE() // HD46505
// AM_RANGE(0x200, 0x200) AM_READWRITE() // 8212 in, ?? out
// AM_RANGE(0x300, 0x300) AM_READWRITE() // soundlatch (command?) in, ?? out
// AM_RANGE(0x400, 0x400) AM_READ() // joystick inputs
// AM_RANGE(0x500, 0x506) AM_WRITE() // palette
// AM_RANGE(0x400, 0x400) AM_READ() // joystick inputs
// AM_RANGE(0x500, 0x506) AM_WRITE() // palette
ADDRESS_MAP_END

View File

@ -263,8 +263,6 @@ public:
int write_dest_byte(UINT8 usedata);
//UINT16 main_m_vram[0x800][0x800];
DECLARE_WRITE_LINE_MEMBER(sound_irq_gen);
};
@ -1314,15 +1312,6 @@ static ADDRESS_MAP_START( io_map, AS_IO, 16, gunpey_state )
ADDRESS_MAP_END
/***************************************************************************************/
WRITE_LINE_MEMBER(gunpey_state::sound_irq_gen)
{
logerror("sound irq\n");
}
/***************************************************************************************/
static INPUT_PORTS_START( gunpey )
@ -1467,7 +1456,6 @@ static MACHINE_CONFIG_START( gunpey, gunpey_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(gunpey_state, sound_irq_gen))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.25)
MACHINE_CONFIG_END

View File

@ -50,7 +50,6 @@ protected:
required_device<cpu_device> m_maincpu;
public:
DECLARE_DRIVER_INIT(maygayep);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
};
// bp 29e58 in ep_simp reads the 'INITIALISE . . .' string
@ -101,11 +100,6 @@ DRIVER_INIT_MEMBER(maygayep_state,maygayep)
}
WRITE_LINE_MEMBER(maygayep_state::irqhandler)
{
}
static MACHINE_CONFIG_START( maygayep, maygayep_state )
MCFG_CPU_ADD("maincpu", H83002, 16000000 )
MCFG_CPU_PROGRAM_MAP( maygayep_map )
@ -113,7 +107,6 @@ static MACHINE_CONFIG_START( maygayep, maygayep_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymz", YMZ280B, 10000000 )
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(maygayep_state, irqhandler))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END

View File

@ -85,7 +85,6 @@ public:
UINT32 screen_update_midas(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(livequiz_irqhandler);
required_device<cpu_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom;
required_device<gfxdecode_device> m_gfxdecode;
@ -607,15 +606,6 @@ void midas_state::machine_reset()
{
}
WRITE_LINE_MEMBER(midas_state::livequiz_irqhandler)
{
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
void midas_state::screen_eof_midas(screen_device &screen, bool state)
{
if (state) m_sprgen->buffer_vram();
@ -647,7 +637,6 @@ static MACHINE_CONFIG_START( livequiz, midas_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(midas_state, livequiz_irqhandler))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.80)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END
@ -681,7 +670,6 @@ static MACHINE_CONFIG_START( hammer, midas_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(midas_state, livequiz_irqhandler))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.80)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)
MACHINE_CONFIG_END

View File

@ -2491,7 +2491,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( model2a_0229, model2a )
MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
READ8_MEMBER(model2_state::driveio_port_r)
@ -2599,7 +2599,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( model2b_0229, model2b )
MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
MACHINE_CONFIG_END
@ -5947,7 +5947,7 @@ WRITE32_MEMBER(model2_state::jaleco_network_w)
DRIVER_INIT_MEMBER(model2_state,sgt24h)
{
// DRIVER_INIT_CALL(genprot);
// DRIVER_INIT_CALL(genprot);
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),this), write32_delegate(FUNC(model2_state::jaleco_network_w),this));

View File

@ -1696,11 +1696,11 @@ READ64_MEMBER(model3_state::model3_5881prot_r)
{
UINT8* base;
retvalue = m_cryptdevice->do_decrypt(base);
// retvalue = ((retvalue & 0xff00) >> 8) | ((retvalue & 0x00ff) << 8); // don't endian swap the return value on this hardware
// retvalue = ((retvalue & 0xff00) >> 8) | ((retvalue & 0x00ff) << 8); // don't endian swap the return value on this hardware
retvalue <<= 16;
}
// printf("model3_5881prot_r offset %08x : %08x%08x (%08x%08x)\n", offset * 8, (UINT32)(retvalue >> 32), (UINT32)(retvalue & 0xffffffff), (UINT32)(mem_mask >> 32), (UINT32)(mem_mask & 0xffffffff));
// printf("model3_5881prot_r offset %08x : %08x%08x (%08x%08x)\n", offset * 8, (UINT32)(retvalue >> 32), (UINT32)(retvalue & 0xffffffff), (UINT32)(mem_mask >> 32), (UINT32)(mem_mask & 0xffffffff));
}
else
{
@ -5584,8 +5584,8 @@ UINT16 model3_state::crypt_read_callback(UINT32 addr)
dat = m_maincpu->space().read_word((0xf0180000 + 4 * addr)); // every other word is unused in this RAM, probably 32-bit ram on 64-bit bus?
}
// dat = ((dat & 0xff00) >> 8) | ((dat & 0x00ff) << 8);
// printf("reading %04x\n", dat);
// dat = ((dat & 0xff00) >> 8) | ((dat & 0x00ff) << 8);
// printf("reading %04x\n", dat);
return dat;
}
@ -5629,7 +5629,7 @@ static void interleave_vroms(running_machine &machine)
DRIVER_INIT_MEMBER(model3_state, genprot)
{
// astring key = parameter(":315_5881:key");
// astring key = parameter(":315_5881:key");
m_maincpu->space(AS_PROGRAM).install_ram(0xf0180000, 0xf019ffff, 0, 0x0e000000);
@ -5846,7 +5846,6 @@ DRIVER_INIT_MEMBER(model3_state,srally2)
DRIVER_INIT_MEMBER(model3_state,swtrilgy)
{
UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
@ -5890,7 +5889,7 @@ DRIVER_INIT_MEMBER(model3_state,dirtdvls)
DRIVER_INIT_MEMBER(model3_state,daytona2)
{
// UINT32 *rom = (UINT32*)memregion("user1")->base();
// UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
m_maincpu->space(AS_PROGRAM).install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),this));
@ -5906,17 +5905,17 @@ DRIVER_INIT_MEMBER(model3_state,daytona2)
DRIVER_INIT_MEMBER(model3_state,dayto2pe)
{
// UINT32 *rom = (UINT32*)memregion("user1")->base();
// UINT32 *rom = (UINT32*)memregion("user1")->base();
DRIVER_INIT_CALL(model3_20);
m_maincpu->space(AS_PROGRAM).install_write_handler(0xc3800000, 0xc3800007, write64_delegate(FUNC(model3_state::daytona2_rombank_w),this));
m_maincpu->space(AS_PROGRAM).install_read_bank(0xc3000000, 0xc37fffff, "bank2" );
// rom[(0x606784^4)/4] = 0x60000000;
// rom[(0x69a3fc^4)/4] = 0x60000000; // jump to encrypted code
// rom[(0x618b28^4)/4] = 0x60000000; // jump to encrypted code
// rom[(0x606784^4)/4] = 0x60000000;
// rom[(0x69a3fc^4)/4] = 0x60000000; // jump to encrypted code
// rom[(0x618b28^4)/4] = 0x60000000; // jump to encrypted code
// rom[(0x64ca34^4)/4] = 0x60000000; // dec
// rom[(0x64ca34^4)/4] = 0x60000000; // dec
DRIVER_INIT_CALL(genprot);
}

View File

@ -3780,12 +3780,6 @@ static GFXDECODE_START( atombjt )
GFXDECODE_END
WRITE_LINE_MEMBER(nmk16_state::ym2203_irqhandler)
{
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
/*
----
@ -3894,7 +3888,7 @@ static MACHINE_CONFIG_START( tharrier, nmk16_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(nmk16_state, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
@ -4421,7 +4415,7 @@ static MACHINE_CONFIG_START( macross2, nmk16_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(nmk16_state, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
@ -4464,7 +4458,7 @@ static MACHINE_CONFIG_START( tdragon2, nmk16_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(nmk16_state, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
@ -4506,7 +4500,7 @@ static MACHINE_CONFIG_START( raphero, nmk16_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(nmk16_state, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
@ -4636,7 +4630,7 @@ static MACHINE_CONFIG_START( manybloc, nmk16_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, 1500000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(nmk16_state, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.50)
MCFG_SOUND_ROUTE(2, "mono", 0.50)

View File

@ -947,4 +947,3 @@ ROM_END
GAME( 1987, psychic5, 0, psychic5, psychic5, driver_device, 0, ROT270, "Jaleco / NMK", "Psychic 5 (World)", 0 ) // "Oversea's version V2.00 CHANGED BY TAMIO NAKASATO" text present in ROM, various modifications (English names, more complete attract demo etc.)
GAME( 1987, psychic5j, psychic5, psychic5, psychic5, driver_device, 0, ROT270, "Jaleco / NMK", "Psychic 5 (Japan)", 0 )
GAME( 1988, bombsa, 0, bombsa, bombsa, driver_device, 0, ROT270, "Jaleco", "Bombs Away", GAME_NOT_WORKING )

View File

@ -1584,7 +1584,7 @@ static INPUT_PORTS_START( reelquak )
PORT_DIPSETTING( 0x0040, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, "1 Coin/10 Credits" )
PORT_START("DSW2") // $400302.w PORT_START("DSW2") // $400302.w
PORT_START("DSW2") // $400302.w PORT_START("DSW2") // $400302.w
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1") // used
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )

View File

@ -514,7 +514,7 @@ static MACHINE_CONFIG_START( kothello, shanghai_state )
/* same as standard seibu ym2203, but "ym1" also reads "DSW" */
MCFG_SOUND_ADD("ym1", YM2203, XTAL_16MHz/4)
MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2203_irqhandler))
MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler))
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW"))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)

View File

@ -388,5 +388,5 @@ ROM_START( silkroada )
ROM_END
GAME( 1999, silkroad, 0, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad", 0 )
GAME( 1999, silkroada, silkroad, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad (larger ROMs)", 0 ) // same content but fewer GFX roms of a larger size
GAME( 1999, silkroad, 0, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad", GAME_SUPPORTS_SAVE )
GAME( 1999, silkroada, silkroad, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad (larger ROMs)", GAME_SUPPORTS_SAVE ) // same content but fewer GFX roms of a larger size

View File

@ -226,7 +226,7 @@ ROM_END
MS06 M8 74s287 missile animated graphics
MS05 11F IM5610 200pt tank R->L graphic
MS05 11E IM5610 200pt tank L->R graphic
MS04 N7 IM5610 player missile trajectory pattern
MS04 N7 IM5610 player missile trajectory pattern
MS03 F3 IM5610 anti-missile ack-ack graphics
MS02 L12 IM5610 missile left/right position
MS01 D8 IM5610 100pt tanks graphics

View File

@ -3049,13 +3049,6 @@ static GFXDECODE_START( fixeightbl )
GFXDECODE_END
WRITE_LINE_MEMBER(toaplan2_state::bbakraid_irqhandler)
{
// Not used ??? Connected to a test pin (TP082)
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
/* basic machine hardware */
@ -4003,7 +3996,7 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(toaplan2_state, bbakraid_irqhandler))
// IRQ not used ??? Connected to a test pin (TP082)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END

View File

@ -669,13 +669,13 @@ WRITE16_MEMBER(twinkle_state::serial_w)
WRITE8_MEMBER(twinkle_state::shared_psx_w)
{
// printf("shared_psx_w: %04x, %04x, %04x\n", offset, data, mem_mask);
// printf("shared_psx_w: %04x, %04x, %04x\n", offset, data, mem_mask);
m_spu_shared[offset] = data;
if (offset == 0x03fe && data == 0xff)
{
// printf("spu command %02x %02x\n", m_spu_shared[1], m_spu_shared[3]);
// printf("spu command %02x %02x\n", m_spu_shared[1], m_spu_shared[3]);
m_audiocpu->set_input_line(M68K_IRQ_4, HOLD_LINE);
}
@ -808,21 +808,21 @@ READ16_MEMBER(twinkle_state::shared_68k_r)
{
UINT16 result = m_spu_shared[offset];
// printf("shared_68k_r: %04x, %04x, %04x\n", offset, result, mem_mask);
// printf("shared_68k_r: %04x, %04x, %04x\n", offset, result, mem_mask);
return result;
}
WRITE16_MEMBER(twinkle_state::shared_68k_w)
{
// printf("shared_68k_w: %04x, %04x, %04x\n", offset, data, mem_mask);
// printf("shared_68k_w: %04x, %04x, %04x\n", offset, data, mem_mask);
m_spu_shared[offset] = data & 0xff;
}
READ16_MEMBER(twinkle_state::unk_68k_r)
{
return 0xffff; // must return 0xff for 68000 POST to complete properly
return 0xffff; // must return 0xff for 68000 POST to complete properly
}
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
@ -840,7 +840,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, twinkle_state )
AM_RANGE(0x34000e, 0x34000f) AM_WRITENOP
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("rfsnd", rf5c400_device, rf5c400_r, rf5c400_w)
AM_RANGE(0x800000, 0xbfffff) AM_READWRITE(twinkle_waveram_r, twinkle_waveram_w )
AM_RANGE(0xfe0000, 0xffffff) AM_RAM // ...and the RAM test checks this last 128k (mirror of the work RAM at 0x100000?)
AM_RANGE(0xfe0000, 0xffffff) AM_RAM // ...and the RAM test checks this last 128k (mirror of the work RAM at 0x100000?)
ADDRESS_MAP_END
/* SCSI */

View File

@ -795,17 +795,17 @@ ROM_START( tx1 )
ROM_REGION( 0x10000, "audio_cpu", 0 )
ROM_LOAD( "8411-136027-157.11", 0x00000, 0x2000, CRC(10ae3075) SHA1(69c5f62f2473aba848383eed3cecf15e273d86ca) )
ROM_REGION( 0x20000, "char_tiles", 0 )
ROM_REGION( 0x8000, "char_tiles", 0 )
ROM_LOAD( "8411-136027-156.204", 0x0000, 0x4000, CRC(60f3c616) SHA1(59c4361891e4274e27e6279c919e8fd6803af7cf) )
ROM_LOAD( "8411-136027-155.174", 0x4000, 0x4000, CRC(e59a6b72) SHA1(c10efa77ab421ac60b97227a8d547f50f8415670) )
ROM_REGION( 0x40000, "obj_tiles", 0 )
ROM_REGION( 0x10000, "obj_tiles", 0 )
ROM_LOAD( "8411-136027-114.203", 0x0000, 0x4000, CRC(fc91328b) SHA1(e57fd2056b65d37cf2e1f0af56616c6555df3006) )
ROM_LOAD( "8411-136027-116.258", 0x4000, 0x4000, CRC(5745f671) SHA1(6e471633cd6de9926b3361a84430c088e1f6a097) )
ROM_LOAD( "8411-136027-115.173", 0x8000, 0x4000, CRC(720e5873) SHA1(151d9063c35b26f5876cf94bdf0c2665ec701bbd) )
ROM_LOAD( "8411-136027-117.232", 0xc000, 0x4000, CRC(3c68d0bc) SHA1(2dbaf2a268b90214fd61c016ac945d4371057826) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x6000, "road", 0 )
ROM_LOAD( "8411-136027-146.56", 0x0000, 0x2000, CRC(5635b8c1) SHA1(5cc9437a2ff0843f1917f2451852d4561c240b24) )
ROM_LOAD( "8411-136027-147.66", 0x2000, 0x2000, CRC(03d83cf8) SHA1(5c0cfc6bf02ad2b3f37e1ceb493f69eb9829ab1e) )
ROM_LOAD( "8411-136027-148.76", 0x4000, 0x2000, CRC(ad56013a) SHA1(ae3a91f58f30daff334754476db33ad1d12569fc) )
@ -816,11 +816,11 @@ ROM_START( tx1 )
ROM_LOAD16_BYTE( "136027-143.ic223", 0x8000, 0x0200, CRC(22c77af6) SHA1(1be8585b95316b4fc5712cdaef699e676320cd4d) )
ROM_LOAD16_BYTE( "136027-142.ic213", 0x8001, 0x0200, CRC(f6b8b70b) SHA1(b79374acf11d71db1e4ad3c494ac5f500a52677b) )
ROM_REGION( 0x50000, "obj_map", 0 )
ROM_REGION( 0x8000, "obj_map", 0 )
ROM_LOAD( "8411-136027-119.106", 0x0000, 0x4000, CRC(88eec0fb) SHA1(81d7a69dc1a4b3b81d7f28d97a3f80697cdcc6eb) )
ROM_LOAD( "8411-136027-120.73", 0x4000, 0x4000, CRC(407cbe65) SHA1(e1c11b65f3c6abde6d55afeaffdb39cdd6d66377) )
ROM_REGION( 0x50000, "user3", 0 )
ROM_REGION( 0x6000, "obj_luts", 0 )
ROM_LOAD( "8411-136027-113.48", 0x0000, 0x2000, CRC(4b3d7956) SHA1(fc2432dd69f3be7007d4fd6f7c86c7c19453b1ba) )
ROM_LOAD( "8411-136027-118.281", 0x2000, 0x4000, CRC(de418dc7) SHA1(1233e2f7499ec5a73a40ee336d3fe26c06187784) )
@ -882,17 +882,17 @@ ROM_START( tx1jb )
ROM_REGION( 0x10000, "audio_cpu", 0 )
ROM_LOAD( "tx1_22h.ic9", 0x00000, 0x2000, CRC(66376232) SHA1(b8a026dae47173e7760eea4f52e67e525ad1b70b) )
ROM_REGION( 0x20000, "char_tiles", 0 )
ROM_REGION( 0x8000, "char_tiles", 0 )
ROM_LOAD( "tx1_21a.ic204", 0x0000, 0x4000, CRC(cd3441ad) SHA1(8e6597b3177b8aaa34ed3373d85fc4b6231e1333) )
ROM_LOAD( "tx1_20a.ic174", 0x4000, 0x4000, CRC(dbe595fc) SHA1(1ed2f775f0a1b46a2ffbc056eb4ef732ed546d3c) )
ROM_REGION( 0x40000, "obj_tiles", 0 )
ROM_REGION( 0x10000, "obj_tiles", 0 )
ROM_LOAD( "tx1_16b.ic203", 0x0000, 0x4000, CRC(1141c965) SHA1(4b90c1428bcbd72d0449c064856a5596269b3fc6) )
ROM_LOAD( "tx1_18b.ic258", 0x4000, 0x4000, CRC(0ad36d68) SHA1(fd5a65c56557c1bc9c0f3916f15f62500b52bfe0) )
ROM_LOAD( "tx1_15b.ic173", 0x8000, 0x4000, CRC(30d1a8d5) SHA1(b4c585b7b8a8920bb3949d643e9e10c17d4009a0) )
ROM_LOAD( "tx1_17b.ic232", 0xc000, 0x4000, CRC(364bb354) SHA1(a26581ca1088b979285471e2c6595048df84d75e) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x6000, "road", 0 )
ROM_LOAD( "tx1_5a.ic56", 0x0000, 0x2000, CRC(5635b8c1) SHA1(5cc9437a2ff0843f1917f2451852d4561c240b24) )
ROM_LOAD( "tx1_6a.ic66", 0x2000, 0x2000, CRC(03d83cf8) SHA1(5c0cfc6bf02ad2b3f37e1ceb493f69eb9829ab1e) )
ROM_LOAD( "tx1_7a.ic76", 0x4000, 0x2000, CRC(ad56013a) SHA1(ae3a91f58f30daff334754476db33ad1d12569fc) )
@ -903,11 +903,11 @@ ROM_START( tx1jb )
ROM_LOAD16_BYTE( "xb02b.ic223", 0x8000, 0x0200, CRC(22c77af6) SHA1(1be8585b95316b4fc5712cdaef699e676320cd4d) )
ROM_LOAD16_BYTE( "xb01b.ic213", 0x8001, 0x0200, CRC(f6b8b70b) SHA1(b79374acf11d71db1e4ad3c494ac5f500a52677b) )
ROM_REGION( 0x50000, "obj_map", 0 )
ROM_REGION( 0x8000, "obj_map", 0 )
ROM_LOAD( "tx1_14b.ic106", 0x0000, 0x4000, CRC(68c63d6e) SHA1(110e02b99c44d31041be588bd14642e26890ecbd) )
ROM_LOAD( "tx1_13b.ic73", 0x4000, 0x4000, CRC(b0c581b2) SHA1(20926bc15e7c97045b219b828acfcdd99b8712a6) )
ROM_REGION( 0x50000, "user3", 0 )
ROM_REGION( 0x6000, "obj_luts", 0 )
ROM_LOAD( "tx1_12b.ic48", 0x0000, 0x2000, CRC(4b3d7956) SHA1(fc2432dd69f3be7007d4fd6f7c86c7c19453b1ba) )
ROM_LOAD( "tx1_19b.ic281", 0x2000, 0x4000, CRC(cb250de6) SHA1(4bf3006986fb8cbb3dd4fa988e6471633614e4bb) )
@ -963,17 +963,17 @@ ROM_START( tx1jc )
ROM_REGION( 0x10000, "audio_cpu", 0 ) /* Label was missing */
ROM_LOAD( "8411-136027-157.11", 0x00000, 0x2000, CRC(10ae3075) SHA1(69c5f62f2473aba848383eed3cecf15e273d86ca) ) /* Unconfirmed TC013A or the later TC013B */
ROM_REGION( 0x20000, "char_tiles", 0 )
ROM_REGION( 0x8000, "char_tiles", 0 )
ROM_LOAD( "tx1_21a.ic204", 0x0000, 0x4000, CRC(cd3441ad) SHA1(8e6597b3177b8aaa34ed3373d85fc4b6231e1333) )
ROM_LOAD( "tx1_20a.ic174", 0x4000, 0x4000, CRC(dbe595fc) SHA1(1ed2f775f0a1b46a2ffbc056eb4ef732ed546d3c) )
ROM_REGION( 0x40000, "obj_tiles", 0 )
ROM_REGION( 0x10000, "obj_tiles", 0 )
ROM_LOAD( "tx1_16b.ic203", 0x0000, 0x4000, CRC(1141c965) SHA1(4b90c1428bcbd72d0449c064856a5596269b3fc6) )
ROM_LOAD( "tx1_18b.ic258", 0x4000, 0x4000, CRC(0ad36d68) SHA1(fd5a65c56557c1bc9c0f3916f15f62500b52bfe0) )
ROM_LOAD( "tx1_15b.ic173", 0x8000, 0x4000, CRC(30d1a8d5) SHA1(b4c585b7b8a8920bb3949d643e9e10c17d4009a0) )
ROM_LOAD( "tx1_17b.ic232", 0xc000, 0x4000, CRC(364bb354) SHA1(a26581ca1088b979285471e2c6595048df84d75e) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x6000, "road", 0 )
ROM_LOAD( "tx1_5a.ic56", 0x0000, 0x2000, CRC(5635b8c1) SHA1(5cc9437a2ff0843f1917f2451852d4561c240b24) )
ROM_LOAD( "tx1_6a.ic66", 0x2000, 0x2000, CRC(03d83cf8) SHA1(5c0cfc6bf02ad2b3f37e1ceb493f69eb9829ab1e) )
ROM_LOAD( "tx1_7a.ic76", 0x4000, 0x2000, CRC(ad56013a) SHA1(ae3a91f58f30daff334754476db33ad1d12569fc) )
@ -984,11 +984,11 @@ ROM_START( tx1jc )
ROM_LOAD16_BYTE( "xb02b.ic223", 0x8000, 0x0200, CRC(22c77af6) SHA1(1be8585b95316b4fc5712cdaef699e676320cd4d) )
ROM_LOAD16_BYTE( "xb01b.ic213", 0x8001, 0x0200, CRC(f6b8b70b) SHA1(b79374acf11d71db1e4ad3c494ac5f500a52677b) )
ROM_REGION( 0x50000, "obj_map", 0 )
ROM_REGION( 0x8000, "obj_map", 0 )
ROM_LOAD( "tx1_14b.ic106", 0x0000, 0x4000, CRC(68c63d6e) SHA1(110e02b99c44d31041be588bd14642e26890ecbd) )
ROM_LOAD( "tx1_13b.ic73", 0x4000, 0x4000, CRC(b0c581b2) SHA1(20926bc15e7c97045b219b828acfcdd99b8712a6) )
ROM_REGION( 0x50000, "user3", 0 )
ROM_REGION( 0x6000, "obj_luts", 0 )
ROM_LOAD( "tx1_12b.ic48", 0x0000, 0x2000, CRC(4b3d7956) SHA1(fc2432dd69f3be7007d4fd6f7c86c7c19453b1ba) )
ROM_LOAD( "tx1_19b.ic281", 0x2000, 0x4000, CRC(cb250de6) SHA1(4bf3006986fb8cbb3dd4fa988e6471633614e4bb) )
@ -1072,7 +1072,7 @@ ROM_START( buggyboy )
ROM_LOAD( "bug25.157", 0x2c000, 0x4000, CRC(80c4e045) SHA1(be3b537d3ed3ee74fc51059aa744dca4d63431f6) )
ROM_RELOAD( 0x38000, 0x4000 )
ROM_REGION( 0x40000, "road", 0 )
ROM_REGION( 0x8000, "road", 0 )
ROM_LOAD( "bug12.58", 0x0000, 0x2000, CRC(bd34d55c) SHA1(05a719a6eff5af3aaaa1e0ee783b18597582ed64) )
ROM_LOAD( "bug11.57", 0x2000, 0x2000, CRC(a44d43eb) SHA1(c4d68c7e123506acaa6adc353579cac19ecb3a9d) )
ROM_LOAD( "bb3.137", 0x4000, 0x0200, CRC(ad76f3fb) SHA1(bf96f903b32e009a2592df0f28cc3e20b039f4d4) )
@ -1086,13 +1086,13 @@ ROM_START( buggyboy )
ROM_LOAD16_BYTE( "bb1.245", 0x8000, 0x0200, CRC(0ddbd36d) SHA1(7a08901a350c315d46ab8d0aa881db384b9f37d2) )
ROM_LOAD16_BYTE( "bb2.220", 0x8001, 0x0200, CRC(71d47de1) SHA1(2da9aeb3f2ebb1114631c8042a37c4f4c18e741b) )
ROM_REGION( 0x100000, "obj_map", 0 )
ROM_REGION( 0x10000, "obj_map", 0 )
ROM_LOAD( "bug16.210", 0x0000, 0x4000, CRC(8b64409e) SHA1(1fb4c6923e6a9e1f2a63a2c335b63e2bdc44b61f) )
ROM_LOAD( "bug14.209", 0x4000, 0x4000, CRC(4e765282) SHA1(f7d69d39823a8b33bd0e5b1bd78a5d68a293e221) )
ROM_LOAD( "bug17.182", 0x8000, 0x4000, CRC(a5d84df6) SHA1(4e33ef0bee383e0d47b0c679cd2a54edb7ca0e3e) )
ROM_LOAD( "bug15.181", 0xc000, 0x4000, CRC(d519de10) SHA1(535d05e11af65be65f3d9924b0c48faf8dcfd1bf) )
ROM_REGION( 0x10000, "obj_luts", 0 )
ROM_REGION( 0x6000, "obj_luts", 0 )
ROM_LOAD( "bug13.124", 0x0000, 0x2000, CRC(53604d7a) SHA1(bfa304cd885162ece7a5f54988d9880fc541eb3a) )
ROM_LOAD( "bug18.156", 0x2000, 0x4000, CRC(e58321a6) SHA1(81be87d3c6046bb375c74362dc940f0269b39d1d) )
@ -1161,7 +1161,7 @@ ROM_START( buggyboyjr )
ROM_LOAD( "bug30s.145", 0x20000, 0x8000, CRC(11d8e2a8) SHA1(9bf198229a12d331e8e7352b7ee3f39f6891f517) )
ROM_LOAD( "bug23s.142", 0x28000, 0x8000, CRC(015db5d8) SHA1(39ef8b44f2eb9399fb1555cffa6763e06d59c181) )
ROM_REGION( 0x40000, "road", 0 )
ROM_REGION( 0x8000, "road", 0 )
ROM_LOAD( "bug11s.225",0x0000, 0x4000, CRC(771af4e1) SHA1(a42b164dd0567c78c0d308ee48d63e5a284897bb) )
ROM_LOAD( "bb3s.195", 0x4000, 0x0200, CRC(2ab3d5ff) SHA1(9f8359cb4ba2e7d15dbb9dc21cd71c0902cd2153) )
ROM_LOAD( "bb4s.193", 0x4200, 0x0200, CRC(630f68a4) SHA1(d730f050353c688f81d090e33e00cd35e7b7b6fa) )
@ -1174,11 +1174,11 @@ ROM_START( buggyboyjr )
ROM_LOAD16_BYTE( "bb1.163", 0x8000, 0x0200, CRC(0ddbd36d) SHA1(7a08901a350c315d46ab8d0aa881db384b9f37d2) )
ROM_LOAD16_BYTE( "bb2.162", 0x8001, 0x0200, CRC(71d47de1) SHA1(2da9aeb3f2ebb1114631c8042a37c4f4c18e741b) )
ROM_REGION( 0x100000, "obj_map", 0 )
ROM_REGION( 0x10000, "obj_map", 0 )
ROM_LOAD( "bug16s.139", 0x0000, 0x8000, CRC(1903a9ad) SHA1(526c404c15e3f04b4afb27dee66e9deb0a6b9704) )
ROM_LOAD( "bug17s.140", 0x8000, 0x8000, CRC(82cabdd4) SHA1(94324fcf83c373621fc40553473ae3cb552ab704) )
ROM_REGION( 0x10000, "obj_luts", 0 )
ROM_REGION( 0x6000, "obj_luts", 0 )
ROM_LOAD( "bug13.32", 0x0000, 0x2000, CRC(53604d7a) SHA1(bfa304cd885162ece7a5f54988d9880fc541eb3a) )
ROM_LOAD( "bug18s.141", 0x2000, 0x4000, CRC(67786327) SHA1(32cc1f5bc654497c968ddcd4af29720c6d659482) )

View File

@ -3535,4 +3535,3 @@ GAME( 1980, digger, 0, digger, digger, driver_device, 0, ROT270
GAME( 1981, pulsar, 0, pulsar, pulsar, driver_device, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
GAME( 1979, heiankyo, 0, heiankyo, heiankyo, driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
GAME( 19??, alphaho, 0, alphaho, alphaho, driver_device, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )

View File

@ -90,7 +90,6 @@ public:
DECLARE_WRITE8_MEMBER(coh1001l_bank_w);
DECLARE_WRITE16_MEMBER(coh1001l_latch_w);
DECLARE_WRITE16_MEMBER(coh1001l_sound_unk_w);
DECLARE_WRITE_LINE_MEMBER(coh1001l_ymz_irq);
DECLARE_WRITE8_MEMBER(coh1002v_bank_w);
DECLARE_WRITE8_MEMBER(coh1002m_bank_w);
DECLARE_READ8_MEMBER(cbaj_sound_main_status_r);
@ -2273,11 +2272,6 @@ Notes:
VSync - 60Hz
*/
WRITE_LINE_MEMBER(zn_state::coh1001l_ymz_irq)
{
m_audiocpu->set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
}
WRITE16_MEMBER(zn_state::coh1001l_sound_unk_w)
{
// irq ack maybe?
@ -2326,7 +2320,7 @@ static MACHINE_CONFIG_DERIVED(coh1001l, zn1_2mb_vram)
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l)
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(zn_state, coh1001l_ymz_irq))
MCFG_YMZ280B_IRQ_HANDLER(INPUTLINE("audiocpu", 2))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.35)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.35)
MACHINE_CONFIG_END

Some files were not shown because too many files have changed in this diff Show More