srcclean in preparation for release
This commit is contained in:
parent
e20239398c
commit
e298c31a69
@ -5,13 +5,13 @@ license:CC0
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Not dumped:
|
Not dumped:
|
||||||
|
|
||||||
The Princess and the Frog
|
The Princess and the Frog
|
||||||
Toy Story 3
|
Toy Story 3
|
||||||
|
|
||||||
|
(it also needs confirming if US / UK cartridges are different, dumps are all from UK cartridges)
|
||||||
|
|
||||||
(it also needs confirming if US / UK cartridges are different, dumps are all from UK cartridges)
|
|
||||||
|
|
||||||
-->
|
-->
|
||||||
<softwarelist name="leapfrog_zippity_cart" description="LeapFrog Zippity Cartridges">
|
<softwarelist name="leapfrog_zippity_cart" description="LeapFrog Zippity Cartridges">
|
||||||
|
|
||||||
@ -36,5 +36,5 @@ license:CC0
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -25,7 +25,7 @@ project "formats"
|
|||||||
MAME_DIR .. "src/lib",
|
MAME_DIR .. "src/lib",
|
||||||
MAME_DIR .. "src/lib/util",
|
MAME_DIR .. "src/lib/util",
|
||||||
MAME_DIR .. "3rdparty",
|
MAME_DIR .. "3rdparty",
|
||||||
GEN_DIR,
|
GEN_DIR,
|
||||||
ext_includedir("zlib"),
|
ext_includedir("zlib"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1404,7 +1404,7 @@ void i80186_cpu_device::internal_timer_update(int which, int new_count, int new_
|
|||||||
/* RIU is cleared whenever ALT = 0 */
|
/* RIU is cleared whenever ALT = 0 */
|
||||||
if (!(new_control & 0x0002))
|
if (!(new_control & 0x0002))
|
||||||
new_control &= ~0x1000;
|
new_control &= ~0x1000;
|
||||||
|
|
||||||
/* set the new control register */
|
/* set the new control register */
|
||||||
t->control = new_control;
|
t->control = new_control;
|
||||||
}
|
}
|
||||||
|
@ -230,7 +230,7 @@ void mk1_cpu_device::alu_update()
|
|||||||
m_alu_result = m_alu_a + (m_alu_a & m_alu_b) + (carry ? 1 : 0);
|
m_alu_result = m_alu_a + (m_alu_a & m_alu_b) + (carry ? 1 : 0);
|
||||||
carry = u16(m_alu_a) + u16(m_alu_a & m_alu_b) + (carry ? 1 : 0) >= 0x100;
|
carry = u16(m_alu_a) + u16(m_alu_a & m_alu_b) + (carry ? 1 : 0) >= 0x100;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0b1001:
|
case 0b1001:
|
||||||
if (BIT(m_alu_function, 4))
|
if (BIT(m_alu_function, 4))
|
||||||
m_alu_result = ~(m_alu_a ^ m_alu_b);
|
m_alu_result = ~(m_alu_a ^ m_alu_b);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
|
|
||||||
Mac video support, "Sonora" edition
|
Mac video support, "Sonora" edition
|
||||||
Supports 5 different modelines at up to 16bpp
|
Supports 5 different modelines at up to 16bpp
|
||||||
|
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ uint8_t mac_video_sonora_device::vctrl_r(offs_t offset)
|
|||||||
res = mon;
|
res = mon;
|
||||||
if(!(m_monitor_id & 8))
|
if(!(m_monitor_id & 8))
|
||||||
res &= m_monitor_id & 7;
|
res &= m_monitor_id & 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_monitor_id | (res << 4);
|
return m_monitor_id | (res << 4);
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
|
|
||||||
Mac video support, "Sonora" edition
|
Mac video support, "Sonora" edition
|
||||||
Supports 5 different modelines at up to 16bpp
|
Supports 5 different modelines at up to 16bpp
|
||||||
|
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
#ifndef MAME_MACHINE_MAC_VIDEO_SONORA_H
|
#ifndef MAME_MACHINE_MAC_VIDEO_SONORA_H
|
||||||
|
@ -551,7 +551,7 @@ void swim3_device::live_run(attotime limit)
|
|||||||
if(!(m_cur_live.bit_counter & 1))
|
if(!(m_cur_live.bit_counter & 1))
|
||||||
m_cur_live.crc = 0xffff;
|
m_cur_live.crc = 0xffff;
|
||||||
|
|
||||||
// logerror("pre counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
// logerror("pre counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L_MFM_SCAN_ID:
|
case L_MFM_SCAN_ID:
|
||||||
@ -574,7 +574,7 @@ void swim3_device::live_run(attotime limit)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// logerror("post counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
// logerror("post counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L_MFM_READ_ID:
|
case L_MFM_READ_ID:
|
||||||
@ -646,7 +646,7 @@ void swim3_device::live_run(attotime limit)
|
|||||||
if(!(m_cur_live.bit_counter & 1))
|
if(!(m_cur_live.bit_counter & 1))
|
||||||
m_cur_live.crc = 0xffff;
|
m_cur_live.crc = 0xffff;
|
||||||
|
|
||||||
// logerror("pre counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
// logerror("pre counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L_MFM_SCAN_DATA:
|
case L_MFM_SCAN_DATA:
|
||||||
@ -670,7 +670,7 @@ void swim3_device::live_run(attotime limit)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// logerror("post counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
// logerror("post counter %02d sr %04x data %02x crc %04x\n", m_cur_live.bit_counter, m_cur_live.shift_reg, m_cur_live.data_reg, m_cur_live.crc);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L_MFM_READ_DATA:
|
case L_MFM_READ_DATA:
|
||||||
@ -707,9 +707,9 @@ void swim3_device::live_run(attotime limit)
|
|||||||
update_irq();
|
update_irq();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_cur_live.state = L_MFM_SEARCH_DATA;
|
m_cur_live.state = L_MFM_SEARCH_DATA;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
checkpoint();
|
checkpoint();
|
||||||
m_error |= 0x80;
|
m_error |= 0x80;
|
||||||
|
@ -130,7 +130,7 @@ void awacs_device::sound_stream_update(sound_stream &stream, std::vector<read_st
|
|||||||
s16 right = data;
|
s16 right = data;
|
||||||
outputs[0].put_int(0, left, 32768);
|
outputs[0].put_int(0, left, 32768);
|
||||||
outputs[1].put_int(0, right, 32768);
|
outputs[1].put_int(0, right, 32768);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
m_output_buffer = false;
|
m_output_buffer = false;
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ void awacs_device::sound_stream_update(sound_stream &stream, std::vector<read_st
|
|||||||
else
|
else
|
||||||
m_in_irq |= 0x80;
|
m_in_irq |= 0x80;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
update_irq();
|
update_irq();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -299,7 +299,7 @@ void awacs_device::write(offs_t offset, uint8_t data)
|
|||||||
case 0x10:
|
case 0x10:
|
||||||
m_ctrl0 = data;
|
m_ctrl0 = data;
|
||||||
m_stream->set_sample_rate(clock()/64/divider[(m_ctrl0 >> 1) & 3]);
|
m_stream->set_sample_rate(clock()/64/divider[(m_ctrl0 >> 1) & 3]);
|
||||||
|
|
||||||
logerror("ctr0_w %02x - play=%s rate=%d\n", m_ctrl0, m_ctrl0 & 1 ? "on" : "off", clock()/64/divider[(m_ctrl0 >> 1) & 3]);
|
logerror("ctr0_w %02x - play=%s rate=%d\n", m_ctrl0, m_ctrl0 & 1 ? "on" : "off", clock()/64/divider[(m_ctrl0 >> 1) & 3]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
based on ST-0016 emulation
|
based on ST-0016 emulation
|
||||||
|
|
||||||
used by
|
used by
|
||||||
- ST-0026 NiLe (srmp6, 8 voices)
|
- ST-0026 NiLe (srmp6, 8 voices)
|
||||||
- ST-0032 (jclub2, 16 voices)
|
- ST-0032 (jclub2, 16 voices)
|
||||||
- Capcom CPS3 sound hardware has similarity?
|
- Capcom CPS3 sound hardware has similarity?
|
||||||
|
|
||||||
Register Format (32 byte per voices)
|
Register Format (32 byte per voices)
|
||||||
|
|
||||||
00-1f: Voice 0
|
00-1f: Voice 0
|
||||||
Offset Bit Description
|
Offset Bit Description
|
||||||
fedcba98 76543210
|
fedcba98 76543210
|
||||||
04 xxxxxxxx xxxxxxxx Start position LSB
|
04 xxxxxxxx xxxxxxxx Start position LSB
|
||||||
06 xxxxxxxx xxxxxxxx Start position MSB
|
06 xxxxxxxx xxxxxxxx Start position MSB
|
||||||
0a -------- ----xxx- Used but unknown
|
0a -------- ----xxx- Used but unknown
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
20-3f: Voice 1
|
20-3f: Voice 1
|
||||||
...
|
...
|
||||||
e0-ff: Voice 7
|
e0-ff: Voice 7
|
||||||
|
|
||||||
100: Keyon/off, Bit 0-7 means Voice 0-7
|
100: Keyon/off, Bit 0-7 means Voice 0-7
|
||||||
110: Used but unknown
|
110: Used but unknown
|
||||||
@ -416,7 +416,7 @@ void setapcm_device<MaxVoices, Divider>::key_w(offs_t offset, u16 data, u16 mem_
|
|||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// key_r - get keyon/off status from each voices
|
// key_r - get keyon/off status from each voices
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
template<unsigned MaxVoices, unsigned Divider>
|
template<unsigned MaxVoices, unsigned Divider>
|
||||||
u16 setapcm_device<MaxVoices, Divider>::key_r()
|
u16 setapcm_device<MaxVoices, Divider>::key_r()
|
||||||
{
|
{
|
||||||
|
@ -89,7 +89,7 @@ u8 ym2151_device::read(offs_t offset)
|
|||||||
logerror("Unexpected read from YM2151 offset %d\n", offset & 3);
|
logerror("Unexpected read from YM2151 offset %d\n", offset & 3);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: // status port, YM2203 compatible
|
case 1: // status port, YM2203 compatible
|
||||||
result = m_opm.status();
|
result = m_opm.status();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ void ym2151_device::write(offs_t offset, u8 value)
|
|||||||
|
|
||||||
switch (offset & 1)
|
switch (offset & 1)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ void ym2164_device::write(offs_t offset, u8 value)
|
|||||||
|
|
||||||
switch (offset & 1)
|
switch (offset & 1)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ u8 ym2203_device::read(offs_t offset)
|
|||||||
u8 result = 0;
|
u8 result = 0;
|
||||||
switch (offset & 1)
|
switch (offset & 1)
|
||||||
{
|
{
|
||||||
case 0: // status port
|
case 0: // status port
|
||||||
result = m_opn.status();
|
result = m_opn.status();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ void ym2203_device::write(offs_t offset, u8 value)
|
|||||||
{
|
{
|
||||||
switch (offset & 1)
|
switch (offset & 1)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
if (m_address < 0x10)
|
if (m_address < 0x10)
|
||||||
{
|
{
|
||||||
|
@ -54,7 +54,7 @@ u8 ym2608_device::read(offs_t offset)
|
|||||||
u8 result = 0;
|
u8 result = 0;
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // status port, YM2203 compatible
|
case 0: // status port, YM2203 compatible
|
||||||
result = m_opn.status() & (ymopna_engine::STATUS_TIMERA | ymopna_engine::STATUS_TIMERB | ymopna_engine::STATUS_BUSY);
|
result = m_opn.status() & (ymopna_engine::STATUS_TIMERA | ymopna_engine::STATUS_TIMERB | ymopna_engine::STATUS_BUSY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -65,11 +65,11 @@ u8 ym2608_device::read(offs_t offset)
|
|||||||
result = 1; // ID code
|
result = 1; // ID code
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // status port, extended
|
case 2: // status port, extended
|
||||||
result = combine_status();
|
result = combine_status();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: // ADPCM-B data
|
case 3: // ADPCM-B data
|
||||||
if (m_address < 0x10)
|
if (m_address < 0x10)
|
||||||
result = m_adpcm_b.read(m_address);
|
result = m_adpcm_b.read(m_address);
|
||||||
break;
|
break;
|
||||||
@ -87,7 +87,7 @@ void ym2608_device::write(offs_t offset, u8 value)
|
|||||||
{
|
{
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
if (m_address < 0x10)
|
if (m_address < 0x10)
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ u8 ym2610_device::read(offs_t offset)
|
|||||||
u8 result = 0;
|
u8 result = 0;
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // status port, YM2203 compatible
|
case 0: // status port, YM2203 compatible
|
||||||
result = m_opn.status() & (ymopna_engine::STATUS_TIMERA | ymopna_engine::STATUS_TIMERB | ymopna_engine::STATUS_BUSY);
|
result = m_opn.status() & (ymopna_engine::STATUS_TIMERA | ymopna_engine::STATUS_TIMERB | ymopna_engine::STATUS_BUSY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -67,11 +67,11 @@ u8 ym2610_device::read(offs_t offset)
|
|||||||
result = 1; // ID code
|
result = 1; // ID code
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // status port, extended
|
case 2: // status port, extended
|
||||||
result = m_eos_status & m_flag_mask;
|
result = m_eos_status & m_flag_mask;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: // ADPCM-B data
|
case 3: // ADPCM-B data
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -87,7 +87,7 @@ void ym2610_device::write(offs_t offset, u8 value)
|
|||||||
{
|
{
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
|
|
||||||
// write register to SSG emulator
|
// write register to SSG emulator
|
||||||
|
@ -47,13 +47,13 @@ u8 ym2612_device::read(offs_t offset)
|
|||||||
u8 result = 0;
|
u8 result = 0;
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // status port, YM2203 compatible
|
case 0: // status port, YM2203 compatible
|
||||||
result = m_opn.status();
|
result = m_opn.status();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: // data port (unused)
|
case 1: // data port (unused)
|
||||||
case 2: // status port, extended
|
case 2: // status port, extended
|
||||||
case 3: // data port (unused)
|
case 3: // data port (unused)
|
||||||
logerror("Unexpected read from YM2612 offset %d\n", offset & 3);
|
logerror("Unexpected read from YM2612 offset %d\n", offset & 3);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -70,7 +70,7 @@ void ym2612_device::write(offs_t offset, u8 value)
|
|||||||
{
|
{
|
||||||
switch (offset & 3)
|
switch (offset & 3)
|
||||||
{
|
{
|
||||||
case 0: // address port
|
case 0: // address port
|
||||||
m_address = value;
|
m_address = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -252,14 +252,14 @@ inline s8 detune_adjustment(u8 detune, u8 keycode)
|
|||||||
{
|
{
|
||||||
static u8 const s_detune_adjustment[32][4] =
|
static u8 const s_detune_adjustment[32][4] =
|
||||||
{
|
{
|
||||||
{ 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 },
|
{ 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 }, { 0, 0, 1, 2 },
|
||||||
{ 0, 1, 2, 2 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 },
|
{ 0, 1, 2, 2 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 }, { 0, 1, 2, 3 },
|
||||||
{ 0, 1, 2, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 5 },
|
{ 0, 1, 2, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 4 }, { 0, 1, 3, 5 },
|
||||||
{ 0, 2, 4, 5 }, { 0, 2, 4, 6 }, { 0, 2, 4, 6 }, { 0, 2, 5, 7 },
|
{ 0, 2, 4, 5 }, { 0, 2, 4, 6 }, { 0, 2, 4, 6 }, { 0, 2, 5, 7 },
|
||||||
{ 0, 2, 5, 8 }, { 0, 3, 6, 8 }, { 0, 3, 6, 9 }, { 0, 3, 7, 10 },
|
{ 0, 2, 5, 8 }, { 0, 3, 6, 8 }, { 0, 3, 6, 9 }, { 0, 3, 7, 10 },
|
||||||
{ 0, 4, 8, 11 }, { 0, 4, 8, 12 }, { 0, 4, 9, 13 }, { 0, 5, 10, 14 },
|
{ 0, 4, 8, 11 }, { 0, 4, 8, 12 }, { 0, 4, 9, 13 }, { 0, 5, 10, 14 },
|
||||||
{ 0, 5, 11, 16 }, { 0, 6, 12, 17 }, { 0, 6, 13, 19 }, { 0, 7, 14, 20 },
|
{ 0, 5, 11, 16 }, { 0, 6, 12, 17 }, { 0, 6, 13, 19 }, { 0, 7, 14, 20 },
|
||||||
{ 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }
|
{ 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }, { 0, 8, 16, 22 }
|
||||||
};
|
};
|
||||||
s8 result = s_detune_adjustment[keycode][detune & 3];
|
s8 result = s_detune_adjustment[keycode][detune & 3];
|
||||||
return BIT(detune, 2) ? -result : result;
|
return BIT(detune, 2) ? -result : result;
|
||||||
@ -1640,7 +1640,7 @@ TIMER_CALLBACK_MEMBER(ymfm_engine_base<RegisterType>::timer_handler)
|
|||||||
if (param == 0 && m_regs.enable_timer_a())
|
if (param == 0 && m_regs.enable_timer_a())
|
||||||
set_reset_status(STATUS_TIMERA, 0);
|
set_reset_status(STATUS_TIMERA, 0);
|
||||||
else if (param == 1 && m_regs.enable_timer_b())
|
else if (param == 1 && m_regs.enable_timer_b())
|
||||||
set_reset_status(STATUS_TIMERB, 0);
|
set_reset_status(STATUS_TIMERB, 0);
|
||||||
|
|
||||||
// if timer A fired in CSM mode, trigger CSM on all relevant channels
|
// if timer A fired in CSM mode, trigger CSM on all relevant channels
|
||||||
if (param == 0 && m_regs.csm())
|
if (param == 0 && m_regs.csm())
|
||||||
|
@ -819,7 +819,7 @@ private:
|
|||||||
attotime m_busy_end; // end of the busy time
|
attotime m_busy_end; // end of the busy time
|
||||||
emu_timer *m_timer[2]; // our two timers
|
emu_timer *m_timer[2]; // our two timers
|
||||||
devcb_write_line m_irq_handler; // IRQ callback
|
devcb_write_line m_irq_handler; // IRQ callback
|
||||||
std::unique_ptr<ymfm_channel<RegisterType>> m_channel[RegisterType::CHANNELS]; // channel pointers
|
std::unique_ptr<ymfm_channel<RegisterType>> m_channel[RegisterType::CHANNELS]; // channel pointers
|
||||||
std::vector<u8> m_regdata; // raw register data
|
std::vector<u8> m_regdata; // raw register data
|
||||||
RegisterType m_regs; // register accessor
|
RegisterType m_regs; // register accessor
|
||||||
};
|
};
|
||||||
|
@ -506,7 +506,7 @@ bool i82730_device::dscmd_sl_scroll_end(uint8_t param)
|
|||||||
{
|
{
|
||||||
LOGMASKED(LOG_DATASTREAM, "Executing datastream command SL SCROLL END %d - not implemented\n", param);
|
LOGMASKED(LOG_DATASTREAM, "Executing datastream command SL SCROLL END %d - not implemented\n", param);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool i82730_device::dscmd_tab_to(uint8_t param)
|
bool i82730_device::dscmd_tab_to(uint8_t param)
|
||||||
@ -556,7 +556,7 @@ bool i82730_device::dscmd_repeat(uint8_t param)
|
|||||||
while (param--)
|
while (param--)
|
||||||
{
|
{
|
||||||
if (--m_dma_count && m_row_count < 200)
|
if (--m_dma_count && m_row_count < 200)
|
||||||
m_row[m_row_count++] = data;
|
m_row[m_row_count++] = data;
|
||||||
else
|
else
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -595,7 +595,7 @@ void address_space_installer::check_optimize_all(const char *function, int width
|
|||||||
// 1. Adjusting
|
// 1. Adjusting
|
||||||
nstart &= ~default_lowbits_mask;
|
nstart &= ~default_lowbits_mask;
|
||||||
nend |= default_lowbits_mask;
|
nend |= default_lowbits_mask;
|
||||||
|
|
||||||
// 2. Clearing
|
// 2. Clearing
|
||||||
u64 smask, emask;
|
u64 smask, emask;
|
||||||
if(m_config.endianness() == ENDIANNESS_BIG) {
|
if(m_config.endianness() == ENDIANNESS_BIG) {
|
||||||
|
@ -303,7 +303,7 @@ menu_select_floppy_init::menu_select_floppy_init(mame_ui_manager &mui, render_co
|
|||||||
: menu(mui, container),
|
: menu(mui, container),
|
||||||
m_fs(fs),
|
m_fs(fs),
|
||||||
m_result(result)
|
m_result(result)
|
||||||
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ public:
|
|||||||
|
|
||||||
// Floppy image initialization for add_raw
|
// Floppy image initialization for add_raw
|
||||||
virtual void floppy_instantiate_raw(u32 key, floppy_image *image) const;
|
virtual void floppy_instantiate_raw(u32 key, floppy_image *image) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
filesystem_manager_t() = default;
|
filesystem_manager_t() = default;
|
||||||
|
|
||||||
|
@ -1298,7 +1298,7 @@ void ti99_tdf_format::determine_sizes(io_generic *io, int& cell_size, int& secto
|
|||||||
sector_count = 18;
|
sector_count = 18;
|
||||||
tracks = 40;
|
tracks = 40;
|
||||||
break;
|
break;
|
||||||
case 1003520:
|
case 1003520:
|
||||||
sector_count = 36;
|
sector_count = 36;
|
||||||
tracks = 40;
|
tracks = 40;
|
||||||
break;
|
break;
|
||||||
@ -1325,7 +1325,7 @@ void ti99_tdf_format::determine_sizes(io_generic *io, int& cell_size, int& secto
|
|||||||
sector_count = 0;
|
sector_count = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
heads = 2; // TDF only supports two-sided recordings
|
heads = 2; // TDF only supports two-sided recordings
|
||||||
cell_size = (sector_count <= 9)? 4000 : ((sector_count <= 18)? 2000 : 1000);
|
cell_size = (sector_count <= 9)? 4000 : ((sector_count <= 18)? 2000 : 1000);
|
||||||
}
|
}
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
Tierras Salvajes
|
Tierras Salvajes
|
||||||
Zorton Brothers (Los Justicieros) [2 versions]
|
Zorton Brothers (Los Justicieros) [2 versions]
|
||||||
|
|
||||||
Picmatic games had different versions depending on TV system (PAL or NTSC) and
|
Picmatic games had different versions depending on TV system (PAL or NTSC) and
|
||||||
TV frequency (NTSC 60Hz, PAL 50Hz, PAL 100Hz):
|
TV frequency (NTSC 60Hz, PAL 50Hz, PAL 100Hz):
|
||||||
|
|
||||||
Game System ROM dumped LD dumped
|
Game System ROM dumped LD dumped
|
||||||
--------------------- --------- ---------- ---------
|
--------------------- --------- ---------- ---------
|
||||||
|
@ -737,7 +737,7 @@ void apple2e_state::recalc_active_device()
|
|||||||
{
|
{
|
||||||
m_cur_floppy = m_floppy[1]->get_device();
|
m_cur_floppy = m_floppy[1]->get_device();
|
||||||
}
|
}
|
||||||
else // should be external 3.5 #2, for a 3rd drive
|
else // should be external 3.5 #2, for a 3rd drive
|
||||||
{
|
{
|
||||||
m_cur_floppy = nullptr;
|
m_cur_floppy = nullptr;
|
||||||
}
|
}
|
||||||
|
@ -1713,89 +1713,89 @@ INPUT_PORTS_START( HANAFUDA_KEYS_BET )
|
|||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
/*
|
/*
|
||||||
[[maybe_unused]] static INPUT_PORTS_START( HANAFUDA_KEYS_BET_ALT )
|
[[maybe_unused]] static INPUT_PORTS_START( HANAFUDA_KEYS_BET_ALT )
|
||||||
PORT_START("KEY0")
|
PORT_START("KEY0")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(1)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(1)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(1)
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t"
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t"
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||||
|
|
||||||
PORT_START("KEY1")
|
PORT_START("KEY1")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(1)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(1)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(1)
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s"
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s"
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY2")
|
PORT_START("KEY2")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(1)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_PLAYER(1)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b"
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b"
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY3")
|
PORT_START("KEY3")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(1)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_PLAYER(1)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w"
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w"
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY4")
|
PORT_START("KEY4")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY5")
|
PORT_START("KEY5")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_A ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_E ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2)
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_YES ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t"
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t"
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||||
|
|
||||||
PORT_START("KEY6")
|
PORT_START("KEY6")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_B ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_F ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2)
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_HANAFUDA_NO ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s"
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s"
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY7")
|
PORT_START("KEY7")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_C ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_PLAYER(2)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_G ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b"
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b"
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY8")
|
PORT_START("KEY8")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2)
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_HANAFUDA_D ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_PLAYER(2)
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_HANAFUDA_H ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w"
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w"
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("KEY9")
|
PORT_START("KEY9")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
*/
|
*/
|
||||||
static INPUT_PORTS_START( cdracula )
|
static INPUT_PORTS_START( cdracula )
|
||||||
|
@ -159,7 +159,7 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
static INPUT_PORTS_START( tvbg_2button )
|
static INPUT_PORTS_START( tvbg_2button )
|
||||||
PORT_INCLUDE( tvbg_1button )
|
PORT_INCLUDE( tvbg_1button )
|
||||||
|
|
||||||
PORT_MODIFY("IN2")
|
PORT_MODIFY("IN2")
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Boggle uses 2 buttons for gameplay, other units do read this to enter secret test mode, but none of the games need it?
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) // Boggle uses 2 buttons for gameplay, other units do read this to enter secret test mode, but none of the games need it?
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
@ -76,7 +76,7 @@
|
|||||||
- racooon (Raccoon World)
|
- racooon (Raccoon World)
|
||||||
|
|
||||||
Game animation & timers seem too fast? demoted to NOT WORKING as a
|
Game animation & timers seem too fast? demoted to NOT WORKING as a
|
||||||
result
|
result
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Game Issues (unknown):
|
Game Issues (unknown):
|
||||||
|
@ -76,8 +76,8 @@
|
|||||||
GQ972 Main Board
|
GQ972 Main Board
|
||||||
2x CD-ROM drive in Slot 1
|
2x CD-ROM drive in Slot 1
|
||||||
|
|
||||||
Pop'n Music
|
Pop'n Music
|
||||||
------------
|
------------
|
||||||
GQ986 Backplane
|
GQ986 Backplane
|
||||||
GQ971 SPU
|
GQ971 SPU
|
||||||
GQ972 Main Board
|
GQ972 Main Board
|
||||||
@ -826,31 +826,31 @@ uint32_t firebeat_state::cabinet_r(offs_t offset, uint32_t mem_mask)
|
|||||||
/* Security dongle is a Dallas DS1411 RS232 Adapter with a DS1991 Multikey iButton */
|
/* Security dongle is a Dallas DS1411 RS232 Adapter with a DS1991 Multikey iButton */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Each DS1991 dongle has 3 secure enclaves. The first enclave is always the game
|
Each DS1991 dongle has 3 secure enclaves. The first enclave is always the game
|
||||||
serial number. This is a 9 digit alphanumeric ID. The first three characters are
|
serial number. This is a 9 digit alphanumeric ID. The first three characters are
|
||||||
always the game's code, and the rest of the characters are all digits. The fourth
|
always the game's code, and the rest of the characters are all digits. The fourth
|
||||||
character seems to be a region specifier and causes many games to check against
|
character seems to be a region specifier and causes many games to check against
|
||||||
values in the m_cabinet_info register to verify that the hardware matches. This was
|
values in the m_cabinet_info register to verify that the hardware matches. This was
|
||||||
used to region lock JP and overseas data as well as specify that certain firebeats
|
used to region lock JP and overseas data as well as specify that certain firebeats
|
||||||
only accept e-Amusement dongles (Konami's rental service before it was an online network).
|
only accept e-Amusement dongles (Konami's rental service before it was an online network).
|
||||||
|
|
||||||
Odd numbers in the 4th position correspond to JP data, with 1 and 3 being observed
|
Odd numbers in the 4th position correspond to JP data, with 1 and 3 being observed
|
||||||
values in the wild. Some games also accept a 7 and a few games also accept a 5.
|
values in the wild. Some games also accept a 7 and a few games also accept a 5.
|
||||||
Even numbers in the 4th position correspond to overseas data, with 4 being the only
|
Even numbers in the 4th position correspond to overseas data, with 4 being the only
|
||||||
observed value. A 0 or 9 in the 4th position is game-specific (much like the handling of
|
observed value. A 0 or 9 in the 4th position is game-specific (much like the handling of
|
||||||
m_cabinet_info) but generally correspond to rental data.
|
m_cabinet_info) but generally correspond to rental data.
|
||||||
|
|
||||||
The second enclave is license data for some Pop'n Music games and specifies the length
|
The second enclave is license data for some Pop'n Music games and specifies the length
|
||||||
of time a dongle is valid for. The RTCRAM is used for this check which is why there is
|
of time a dongle is valid for. The RTCRAM is used for this check which is why there is
|
||||||
no operator menu to change the RTC. Instead, the time is set using the license check
|
no operator menu to change the RTC. Instead, the time is set using the license check
|
||||||
screen that appears on some series such as Pop'n Music and Firebeat. It is encoded in
|
screen that appears on some series such as Pop'n Music and Firebeat. It is encoded in
|
||||||
the password that is given to the operator to pass the check. For games which do not use
|
the password that is given to the operator to pass the check. For games which do not use
|
||||||
extended license information, this enclave is left blank.
|
extended license information, this enclave is left blank.
|
||||||
|
|
||||||
The third enclave is a mode switch. Every game looks for some unique set of data here
|
The third enclave is a mode switch. Every game looks for some unique set of data here
|
||||||
and will turn on manufacture/service mode if the right value is set. Some games also
|
and will turn on manufacture/service mode if the right value is set. Some games also
|
||||||
look for overseas and rental strings here and a few also have no hardware check dongles
|
look for overseas and rental strings here and a few also have no hardware check dongles
|
||||||
and debug dongles. In the case of normal retail dongles, this enclave is left blank.
|
and debug dongles. In the case of normal retail dongles, this enclave is left blank.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -62,8 +62,8 @@ Notes:
|
|||||||
V106.U16 - MX27C4000 4MBit DIP32 EPROM; Main Program
|
V106.U16 - MX27C4000 4MBit DIP32 EPROM; Main Program
|
||||||
V100.U7 - ST M27C801 8MBit DIP32 EPROM; Audio Samples?
|
V100.U7 - ST M27C801 8MBit DIP32 EPROM; Audio Samples?
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- Game speed seems to be completely wrong, timers and player movement too fast?
|
- Game speed seems to be completely wrong, timers and player movement too fast?
|
||||||
|
|
||||||
*********************************************************************************************************************/
|
*********************************************************************************************************************/
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@ void macpdm_state::irq_control_w(uint8_t data)
|
|||||||
if((data & 0xc0) == 0xc0 && (m_irq_control & 0x80)) {
|
if((data & 0xc0) == 0xc0 && (m_irq_control & 0x80)) {
|
||||||
m_irq_control &= 0x7f;
|
m_irq_control &= 0x7f;
|
||||||
m_maincpu->set_input_line(PPC_IRQ, CLEAR_LINE);
|
m_maincpu->set_input_line(PPC_IRQ, CLEAR_LINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void macpdm_state::irq_main_set(uint8_t mask, int state)
|
void macpdm_state::irq_main_set(uint8_t mask, int state)
|
||||||
@ -371,7 +371,7 @@ void macpdm_state::irq_main_set(uint8_t mask, int state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// logerror("irq control %02x\n", m_irq_control);
|
// logerror("irq control %02x\n", m_irq_control);
|
||||||
}
|
}
|
||||||
|
|
||||||
void macpdm_state::via2_irq_main_set(uint8_t mask, int state)
|
void macpdm_state::via2_irq_main_set(uint8_t mask, int state)
|
||||||
@ -380,7 +380,7 @@ void macpdm_state::via2_irq_main_set(uint8_t mask, int state)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
m_via2_ifr ^= mask;
|
m_via2_ifr ^= mask;
|
||||||
// logerror("via2 main %02x / %02x -> %02x\n", m_via2_ifr, m_via2_ier, m_via2_ifr & m_via2_ier);
|
// logerror("via2 main %02x / %02x -> %02x\n", m_via2_ifr, m_via2_ier, m_via2_ifr & m_via2_ier);
|
||||||
|
|
||||||
irq_main_set(0x02, (m_via2_ifr & m_via2_ier) != 0);
|
irq_main_set(0x02, (m_via2_ifr & m_via2_ier) != 0);
|
||||||
}
|
}
|
||||||
@ -910,7 +910,7 @@ void macpdm_state::dma_floppy_step()
|
|||||||
m_maincpu->space().write_byte(m_dma_floppy_adr + m_dma_floppy_offset, r);
|
m_maincpu->space().write_byte(m_dma_floppy_adr + m_dma_floppy_offset, r);
|
||||||
m_dma_floppy_offset ++;
|
m_dma_floppy_offset ++;
|
||||||
m_dma_floppy_byte_count --;
|
m_dma_floppy_byte_count --;
|
||||||
// logerror("dma_w %03x, %02x\n", m_dma_floppy_offset, r);
|
// logerror("dma_w %03x, %02x\n", m_dma_floppy_offset, r);
|
||||||
if(m_dma_floppy_byte_count == 0) {
|
if(m_dma_floppy_byte_count == 0) {
|
||||||
m_dma_floppy_ctrl &= ~0x02;
|
m_dma_floppy_ctrl &= ~0x02;
|
||||||
m_dma_floppy_ctrl |= 0x80;
|
m_dma_floppy_ctrl |= 0x80;
|
||||||
|
@ -52,8 +52,8 @@ Winning Run
|
|||||||
- priority, mixing incorrection
|
- priority, mixing incorrection
|
||||||
|
|
||||||
reference videos
|
reference videos
|
||||||
- https://youtu.be/ZNNveBLWevg
|
- https://youtu.be/ZNNveBLWevg
|
||||||
- https://youtu.be/KazxHW9wQ60
|
- https://youtu.be/KazxHW9wQ60
|
||||||
|
|
||||||
*****************************
|
*****************************
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- Needs better I82730 emulation
|
- Needs better I82730 emulation
|
||||||
- Floppy I/O errors
|
- Floppy I/O errors
|
||||||
- Many more things
|
- Many more things
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Press SPACE during self-test for an extended menu
|
- Press SPACE during self-test for an extended menu
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
@ -283,17 +283,17 @@ void rc759_state::palette_w(offs_t offset, uint8_t data)
|
|||||||
// two colors/byte. format: IRGBIRGB
|
// two colors/byte. format: IRGBIRGB
|
||||||
static constexpr uint8_t val[4] = { 0x00, 0x55, 0xaa, 0xff };
|
static constexpr uint8_t val[4] = { 0x00, 0x55, 0xaa, 0xff };
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
|
|
||||||
r = (BIT(data, 2) << 1) | BIT(data, 3);
|
r = (BIT(data, 2) << 1) | BIT(data, 3);
|
||||||
g = (BIT(data, 1) << 1) | BIT(data, 3);
|
g = (BIT(data, 1) << 1) | BIT(data, 3);
|
||||||
b = (BIT(data, 0) << 1) | BIT(data, 3);
|
b = (BIT(data, 0) << 1) | BIT(data, 3);
|
||||||
|
|
||||||
m_palette->set_pen_color(offset * 2 + 0, rgb_t(val[r], val[g], val[b]));
|
m_palette->set_pen_color(offset * 2 + 0, rgb_t(val[r], val[g], val[b]));
|
||||||
|
|
||||||
r = (BIT(data, 6) << 1) | BIT(data, 7);
|
r = (BIT(data, 6) << 1) | BIT(data, 7);
|
||||||
g = (BIT(data, 5) << 1) | BIT(data, 7);
|
g = (BIT(data, 5) << 1) | BIT(data, 7);
|
||||||
b = (BIT(data, 4) << 1) | BIT(data, 7);
|
b = (BIT(data, 4) << 1) | BIT(data, 7);
|
||||||
|
|
||||||
m_palette->set_pen_color(offset * 2 + 1, rgb_t(val[r], val[g], val[b]));
|
m_palette->set_pen_color(offset * 2 + 1, rgb_t(val[r], val[g], val[b]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +494,7 @@ static INPUT_PORTS_START( itvphone ) // hold 8 and ENTER for Diagnostics mode
|
|||||||
PORT_CONFNAME( 0x7000, 0x0000, "Non-TV Mode Game" )
|
PORT_CONFNAME( 0x7000, 0x0000, "Non-TV Mode Game" )
|
||||||
PORT_CONFSETTING( 0x1000, "Learning Game" )
|
PORT_CONFSETTING( 0x1000, "Learning Game" )
|
||||||
PORT_CONFSETTING( 0x2000, "Finding Game" )
|
PORT_CONFSETTING( 0x2000, "Finding Game" )
|
||||||
PORT_CONFSETTING( 0x4000, "Memory Game" )
|
PORT_CONFSETTING( 0x4000, "Memory Game" )
|
||||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
|
|
||||||
PORT_START("P2")
|
PORT_START("P2")
|
||||||
@ -1203,7 +1203,7 @@ static INPUT_PORTS_START( doraglobe )
|
|||||||
|
|
||||||
PORT_START("P1_ROW4")
|
PORT_START("P1_ROW4")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_PLAYER(1) PORT_NAME("Continent Button: Australia")
|
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_PLAYER(1) PORT_NAME("Continent Button: Australia")
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED ) // skips over some cutscenes and makes a 'button press' sound, but doesn't seem to be a real input on the device
|
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED ) // skips over some cutscenes and makes a 'button press' sound, but doesn't seem to be a real input on the device
|
||||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_PLAYER(1) PORT_NAME("Reset")
|
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_PLAYER(1) PORT_NAME("Reset")
|
||||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_PLAYER(1) PORT_NAME("Mode Button: Explore and Find")
|
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_PLAYER(1) PORT_NAME("Mode Button: Explore and Find")
|
||||||
|
|
||||||
@ -1870,14 +1870,14 @@ void spg2xx_game_hotwheels_state::hotwheels(machine_config &config)
|
|||||||
|
|
||||||
uint16_t spg2xx_game_doraphone_state::porta_r(offs_t offset, uint16_t mem_mask)
|
uint16_t spg2xx_game_doraphone_state::porta_r(offs_t offset, uint16_t mem_mask)
|
||||||
{
|
{
|
||||||
uint16_t matrix = 0x000f;
|
uint16_t matrix = 0x000f;
|
||||||
for (int b = 1; 6 >= b; ++b)
|
for (int b = 1; 6 >= b; ++b)
|
||||||
{
|
{
|
||||||
if (!BIT(m_portb_data, b))
|
if (!BIT(m_portb_data, b))
|
||||||
matrix &= m_io_p1_rows[b - 1]->read();
|
matrix &= m_io_p1_rows[b - 1]->read();
|
||||||
}
|
}
|
||||||
|
|
||||||
return matrix | (m_io_p1->read() & 0xfff0);
|
return matrix | (m_io_p1->read() & 0xfff0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void spg2xx_game_doraphone_state::portb_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
void spg2xx_game_doraphone_state::portb_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||||
|
@ -329,7 +329,7 @@ WRITE_LINE_MEMBER( taito_state::votrax_request )
|
|||||||
|
|
||||||
void taito_state::machine_start()
|
void taito_state::machine_start()
|
||||||
{
|
{
|
||||||
m_digits.resolve();
|
m_digits.resolve();
|
||||||
|
|
||||||
m_out_offs = 0;
|
m_out_offs = 0;
|
||||||
std::fill(std::begin(m_io), std::end(m_io), 0);
|
std::fill(std::begin(m_io), std::end(m_io), 0);
|
||||||
|
@ -75,7 +75,7 @@ public:
|
|||||||
void impact_nonvideo(machine_config &config);
|
void impact_nonvideo(machine_config &config);
|
||||||
void impact_nonvideo_altreels(machine_config &config);
|
void impact_nonvideo_altreels(machine_config &config);
|
||||||
void impact_nonvideo_disc(machine_config &config);
|
void impact_nonvideo_disc(machine_config &config);
|
||||||
|
|
||||||
|
|
||||||
DECLARE_INPUT_CHANGED_MEMBER(coin_changed);
|
DECLARE_INPUT_CHANGED_MEMBER(coin_changed);
|
||||||
template <unsigned N> DECLARE_READ_LINE_MEMBER( coinsense_r ) { return (m_coinstate >> N) & 1; }
|
template <unsigned N> DECLARE_READ_LINE_MEMBER( coinsense_r ) { return (m_coinstate >> N) & 1; }
|
||||||
|
@ -43,9 +43,9 @@
|
|||||||
#define MAC_H_TOTAL (704) // (512+192)
|
#define MAC_H_TOTAL (704) // (512+192)
|
||||||
#define MAC_V_TOTAL (370) // (342+28)
|
#define MAC_V_TOTAL (370) // (342+28)
|
||||||
|
|
||||||
/* Mac driver data */
|
// Mac driver data
|
||||||
|
|
||||||
class mac_state:public driver_device
|
class mac_state:public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
mac_state(const machine_config &mconfig, device_type type, const char *tag) :
|
mac_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
|
@ -5032,4 +5032,4 @@
|
|||||||
<bounds x="768" y="386" width="46" height="13"/>
|
<bounds x="768" y="386" width="46" height="13"/>
|
||||||
</element>
|
</element>
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
@ -6161,6 +6161,6 @@
|
|||||||
</element>
|
</element>
|
||||||
<element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
|
<element name="debug_reel_symbol_count" ref="debug_reel_symbol_count_3">
|
||||||
<bounds x="1600" y="272" width="50" height="30"/>
|
<bounds x="1600" y="272" width="50" height="30"/>
|
||||||
</element>
|
</element>
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
@ -37,7 +37,7 @@ uint8_t elan_ep3a19asys_device::rombank_r(offs_t offset)
|
|||||||
|
|
||||||
void elan_ep3a19asys_device::map(address_map& map)
|
void elan_ep3a19asys_device::map(address_map& map)
|
||||||
{
|
{
|
||||||
// elan_eu3a05commonsys_device::map(map); // 00 - 0e
|
// elan_eu3a05commonsys_device::map(map); // 00 - 0e
|
||||||
|
|
||||||
map(0x0c, 0x0c).rw(FUNC(elan_ep3a19asys_device::rombank_r), FUNC(elan_ep3a19asys_device::rombank_w));
|
map(0x0c, 0x0c).rw(FUNC(elan_ep3a19asys_device::rombank_r), FUNC(elan_ep3a19asys_device::rombank_w));
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ void elan_ep3a19asys_device::elan_eu3a05_dmatrg_w(uint8_t data)
|
|||||||
destspace.write_byte(dest, dat);
|
destspace.write_byte(dest, dat);
|
||||||
dest++;
|
dest++;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_dmaparams[0] = src & 0xff;
|
m_dmaparams[0] = src & 0xff;
|
||||||
m_dmaparams[1] = (src >> 8) & 0xff;
|
m_dmaparams[1] = (src >> 8) & 0xff;
|
||||||
m_dmaparams[2] = (src >> 16) & 0xff;
|
m_dmaparams[2] = (src >> 16) & 0xff;
|
||||||
|
@ -1026,7 +1026,7 @@ void macadb_device::device_reset()
|
|||||||
|
|
||||||
WRITE_LINE_MEMBER(macadb_device::adb_linechange_w)
|
WRITE_LINE_MEMBER(macadb_device::adb_linechange_w)
|
||||||
{
|
{
|
||||||
/* static char const *const states[] =
|
/* static char const *const states[] =
|
||||||
{
|
{
|
||||||
"idle",
|
"idle",
|
||||||
"attention",
|
"attention",
|
||||||
@ -1053,14 +1053,14 @@ WRITE_LINE_MEMBER(macadb_device::adb_linechange_w)
|
|||||||
int dtime = (int)(machine().time().as_ticks(adb_timebase) - m_last_adb_time);
|
int dtime = (int)(machine().time().as_ticks(adb_timebase) - m_last_adb_time);
|
||||||
m_last_adb_time = machine().time().as_ticks(adb_timebase);
|
m_last_adb_time = machine().time().as_ticks(adb_timebase);
|
||||||
|
|
||||||
/* if (m_adb_linestate <= 12)
|
/* if (m_adb_linestate <= 12)
|
||||||
{
|
{
|
||||||
printf("linechange: %d -> %d, time %d (state %d = %s)\n", state^1, state, dtime, m_adb_linestate, states[m_adb_linestate]);
|
printf("linechange: %d -> %d, time %d (state %d = %s)\n", state^1, state, dtime, m_adb_linestate, states[m_adb_linestate]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("linechange: %d -> %d, time %d (state %d)\n", state^1, state, dtime, m_adb_linestate);
|
printf("linechange: %d -> %d, time %d (state %d)\n", state^1, state, dtime, m_adb_linestate);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
if ((m_adb_direction) && (m_adb_linestate == LST_TSTOP))
|
if ((m_adb_direction) && (m_adb_linestate == LST_TSTOP))
|
||||||
{
|
{
|
||||||
|
@ -40,7 +40,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 13 */ PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('`') PORT_CHAR('@')
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 13 */ PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('`') PORT_CHAR('@')
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 14 */ PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(0x08)
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 14 */ PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(0x08)
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 15 */ PORT_CODE(KEYCODE_LALT) PORT_NAME("Alt")
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 15 */ PORT_CODE(KEYCODE_LALT) PORT_NAME("Alt")
|
||||||
|
|
||||||
PORT_START("row_1")
|
PORT_START("row_1")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 16 */ PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 16 */ PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 17 */ PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 17 */ PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
|
||||||
@ -58,7 +58,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 29 */ PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 29 */ PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 30 */ PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 30 */ PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 31 */ PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 31 */ PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
|
||||||
|
|
||||||
PORT_START("row_2")
|
PORT_START("row_2")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 32 */ PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 32 */ PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 33 */ PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 33 */ PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
|
||||||
@ -76,7 +76,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 45 */ PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 45 */ PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 46 */ PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 46 */ PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 47 */ PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 47 */ PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
|
||||||
|
|
||||||
PORT_START("row_3")
|
PORT_START("row_3")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 48 */ PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 48 */ PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 49 */ PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 49 */ PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
|
||||||
@ -94,7 +94,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 61 */ PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3))
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 61 */ PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3))
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 62 */ PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4))
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 62 */ PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4))
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 63 */ PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5))
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 63 */ PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5))
|
||||||
|
|
||||||
PORT_START("row_4")
|
PORT_START("row_4")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 64 */ PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6))
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 64 */ PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6))
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 65 */ PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7))
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 65 */ PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7))
|
||||||
@ -112,7 +112,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 77 */ PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 77 */ PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 78 */ PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 78 */ PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 79 */ PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 79 */ PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
|
||||||
|
|
||||||
PORT_START("row_5")
|
PORT_START("row_5")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 80 */ PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 80 */ PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 81 */ PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_NAME("\xe2\x86\x96") // ↖
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 81 */ PORT_CODE(KEYCODE_HOME) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_NAME("\xe2\x86\x96") // ↖
|
||||||
@ -130,7 +130,7 @@ static INPUT_PORTS_START( keyboard )
|
|||||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 93 */ PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
|
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 93 */ PORT_CODE(KEYCODE_1_PAD) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
|
||||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 94 */ PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
|
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 94 */ PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
|
||||||
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 95 */ PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD))
|
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 95 */ PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD))
|
||||||
|
|
||||||
PORT_START("row_6")
|
PORT_START("row_6")
|
||||||
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 96 */ PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
|
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 96 */ PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
|
||||||
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 97 */ PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
|
PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) /* 97 */ PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
|
||||||
|
@ -92,7 +92,7 @@ void hng64_state::draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, cons
|
|||||||
for(auto it : m_spritelist)
|
for(auto it : m_spritelist)
|
||||||
{
|
{
|
||||||
source = it.second;
|
source = it.second;
|
||||||
|
|
||||||
int tileno,chainx,chainy,xflip;
|
int tileno,chainx,chainy,xflip;
|
||||||
int pal,xinc,yinc,yflip;
|
int pal,xinc,yinc,yflip;
|
||||||
uint16_t xpos, ypos;
|
uint16_t xpos, ypos;
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
|
|
||||||
Video hardware driver by Uki 02/Mar/2001
|
Video hardware driver by Uki 02/Mar/2001
|
||||||
|
|
||||||
Video consists of
|
Video consists of
|
||||||
- Sprites
|
- Sprites
|
||||||
- 2x ROM based tilemaps (bg and fg) with priority over some sprites
|
- 2x ROM based tilemaps (bg and fg) with priority over some sprites
|
||||||
- 1x RAM based tilemap (text layer) (no wrapping?)
|
- 1x RAM based tilemap (text layer) (no wrapping?)
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- update to use tilemap system?
|
- update to use tilemap system?
|
||||||
- check if any of this is common Jaleco/NMK etc. hardware and use shared
|
- check if any of this is common Jaleco/NMK etc. hardware and use shared
|
||||||
devices if possible
|
devices if possible
|
||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -471,7 +471,7 @@ uint32_t zaxxon_state::screen_update_ixion(screen_device &screen, bitmap_ind16 &
|
|||||||
//
|
//
|
||||||
// On Razzmatazz instead the fg tilemap is used to mask off sprites near the edges so must appear
|
// On Razzmatazz instead the fg tilemap is used to mask off sprites near the edges so must appear
|
||||||
// above them.
|
// above them.
|
||||||
//
|
//
|
||||||
// The Zaxxon and Congo Bongo schematics don't appear to show anything related to priority control
|
// The Zaxxon and Congo Bongo schematics don't appear to show anything related to priority control
|
||||||
// so this is most likely a hardwired change somewhere on the PCB. There are additional bits set
|
// so this is most likely a hardwired change somewhere on the PCB. There are additional bits set
|
||||||
// in the 2nd PROM, which are currently masked out as they're not used for palette.
|
// in the 2nd PROM, which are currently masked out as they're not used for palette.
|
||||||
|
@ -117,7 +117,7 @@ static io_generic *ram_open(std::vector<u8> &data)
|
|||||||
f->pos = 0;
|
f->pos = 0;
|
||||||
return new io_generic({ &iop_ram, f });
|
return new io_generic({ &iop_ram, f });
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<std::string, std::vector<floppy_image_format_t *>> formats_by_category;
|
std::map<std::string, std::vector<floppy_image_format_t *>> formats_by_category;
|
||||||
std::map<std::string, floppy_image_format_t *> formats_by_key;
|
std::map<std::string, floppy_image_format_t *> formats_by_key;
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ struct enumerator : public mame_formats_enumerator {
|
|||||||
virtual void add(filesystem_manager_type fs) {
|
virtual void add(filesystem_manager_type fs) {
|
||||||
auto ff = fs();
|
auto ff = fs();
|
||||||
ff->enumerate(fse, floppy_image::FF_UNKNOWN, variants);
|
ff->enumerate(fse, floppy_image::FF_UNKNOWN, variants);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void fs_enum::reg(const fs_info &fsi) const
|
void fs_enum::reg(const fs_info &fsi) const
|
||||||
@ -464,7 +464,7 @@ static int create(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
fclose((FILE *)dest_io.file);
|
fclose((FILE *)dest_io.file);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user