srcclean and cleanup

This commit is contained in:
Vas Crabb 2024-07-28 08:56:25 +10:00
parent 79c2365979
commit 0f64064d47
24 changed files with 129 additions and 132 deletions

View File

@ -124,7 +124,7 @@ license:CC0-1.0
<rom name="usercart_5_1.u1" size="0x100000" crc="a2761c33" sha1="957b95983037bedb42759502e0111fd9008cb26f"/> <rom name="usercart_5_1.u1" size="0x100000" crc="a2761c33" sha1="957b95983037bedb42759502e0111fd9008cb26f"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- this one has some songs programmed into it: <!-- this one has some songs programmed into it:
雫 スキマスイッチ Shizuku Sukima Switch 雫 スキマスイッチ Shizuku Sukima Switch
@ -147,7 +147,7 @@ license:CC0-1.0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- this one has some songs programmed into it: <!-- this one has some songs programmed into it:
陽は、また昇る アラジン Hi wa, Mata Noboru Aladdin 陽は、また昇る アラジン Hi wa, Mata Noboru Aladdin
ポリリズム Perfume Polyrhythm Perfume ポリリズム Perfume Polyrhythm Perfume
@ -167,7 +167,7 @@ license:CC0-1.0
<rom name="usercart_10.u1" size="0x200000" crc="51e64d8e" sha1="90e5592446101807f47772b0868ce3de5d78b9f9"/> <rom name="usercart_10.u1" size="0x200000" crc="51e64d8e" sha1="90e5592446101807f47772b0868ce3de5d78b9f9"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- this one has some songs programmed into it: <!-- this one has some songs programmed into it:
一番綺麗な私を 中島美嘉 Ichiban Kireina Watashi o Nakajima Mika 一番綺麗な私を 中島美嘉 Ichiban Kireina Watashi o Nakajima Mika
@ -200,7 +200,7 @@ license:CC0-1.0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- this one has some songs programmed into it: <!-- this one has some songs programmed into it:
もうすぐクリスマス 里田まい with 合田兄妹 Mōsugu Christmas Satoda Mai with Gōda Kyōdai もうすぐクリスマス 里田まい with 合田兄妹 Mōsugu Christmas Satoda Mai with Gōda Kyōdai
ブルーバード いきねのがかり Blue Bird Ikimonogakari ブルーバード いきねのがかり Blue Bird Ikimonogakari
@ -231,7 +231,7 @@ license:CC0-1.0
<rom name="usercart_20.u1" size="0x200000" crc="e047d928" sha1="a75ca2035d74bf4292562576872389e012ceb1ad"/> <rom name="usercart_20.u1" size="0x200000" crc="e047d928" sha1="a75ca2035d74bf4292562576872389e012ceb1ad"/>
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="bh1jpop1" supported="no"> <software name="bh1jpop1" supported="no">
<description>Best Hit Collection Volume 1: J-Pop 1 (Japan)</description> <description>Best Hit Collection Volume 1: J-Pop 1 (Japan)</description>

View File

@ -7354,7 +7354,7 @@ Wave Studio v3.12
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="ultrasnd" supported="partial"> <software name="ultrasnd" supported="partial">
<!-- includes Gravis UltraSound (GUS) Installation - V4.11 --> <!-- includes Gravis UltraSound (GUS) Installation - V4.11 -->
<description>The UltraSound CD</description> <description>The UltraSound CD</description>

View File

@ -112,7 +112,7 @@ license:CC0-1.0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- for the Super Computer / Learn Computer version of the Mega Duck, has custom banking --> <!-- for the Super Computer / Learn Computer version of the Mega Duck, has custom banking -->
<software name="bildrlex" supported="no" > <software name="bildrlex" supported="no" >
<description>Bilder Lexikon</description> <description>Bilder Lexikon</description>
@ -124,7 +124,7 @@ license:CC0-1.0
<rom name="bilder_lexikon.bin" size="0x80000" crc="7c277223" sha1="c91f0141a06c2dbf0883303779c3b7cba09722a8" /> <rom name="bilder_lexikon.bin" size="0x80000" crc="7c277223" sha1="c91f0141a06c2dbf0883303779c3b7cba09722a8" />
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="captkk"> <software name="captkk">
<description>Captain Knick Knack</description> <description>Captain Knick Knack</description>

View File

@ -164427,7 +164427,7 @@ Side B - Game 1: Cauldron II: The Pumpkin Strikes Back (Palace Software)
Side B - Game 2: Quazatron (Hewson Consultants) Side B - Game 2: Quazatron (Hewson Consultants)
Side B - Game 3: Strike Force Cobra (Piranha) Side B - Game 3: Strike Force Cobra (Piranha)
]]></notes> ]]></notes>
<part name="cass1" interface="spectrum_cass"> <part name="cass1" interface="spectrum_cass">
<dataarea name="cass" size="134771"> <dataarea name="cass" size="134771">
<rom name="five star games 2 - side a.tzx" size="134771" crc="fcaef142" sha1="45941de1ad9817ae2b59621d89a824a5d2d0bfd9"/> <rom name="five star games 2 - side a.tzx" size="134771" crc="fcaef142" sha1="45941de1ad9817ae2b59621d89a824a5d2d0bfd9"/>

View File

@ -235,20 +235,6 @@ if (SOUNDS["ES1373"]~=null) then
} }
end end
---------------------------------------------------
-- Data East custom sound chips
--@src/devices/sound/bsmt2000.h,SOUNDS["BSMT2000"] = true
---------------------------------------------------
if (SOUNDS["BSMT2000"]~=null) then
files {
MAME_DIR .. "src/devices/sound/bsmt2000.cpp",
MAME_DIR .. "src/devices/sound/bsmt2000.h",
}
end
--------------------------------------------------- ---------------------------------------------------
-- Ensoniq 5503 (Apple IIgs) -- Ensoniq 5503 (Apple IIgs)
--@src/devices/sound/es5503.h,SOUNDS["ES5503"] = true --@src/devices/sound/es5503.h,SOUNDS["ES5503"] = true
@ -262,7 +248,6 @@ if (SOUNDS["ES5503"]~=null) then
end end
--------------------------------------------------- ---------------------------------------------------
-- Ensoniq 5505/5506 -- Ensoniq 5505/5506
--@src/devices/sound/es5506.h,SOUNDS["ES5505"] = true --@src/devices/sound/es5506.h,SOUNDS["ES5505"] = true
@ -289,6 +274,20 @@ if (SOUNDS["ESQPUMP"]~=null) then
end end
---------------------------------------------------
-- Data East custom sound chips
--@src/devices/sound/bsmt2000.h,SOUNDS["BSMT2000"] = true
---------------------------------------------------
if (SOUNDS["BSMT2000"]~=null) then
files {
MAME_DIR .. "src/devices/sound/bsmt2000.cpp",
MAME_DIR .. "src/devices/sound/bsmt2000.h",
}
end
--------------------------------------------------- ---------------------------------------------------
-- Excellent Systems ADPCM sound chip -- Excellent Systems ADPCM sound chip
--@src/devices/sound/es8712.h,SOUNDS["ES8712"] = true --@src/devices/sound/es8712.h,SOUNDS["ES8712"] = true
@ -1623,18 +1622,6 @@ if (SOUNDS["XT446"]~=null) then
} }
end end
---------------------------------------------------
-- Roland LP-based sample players
--@src/devices/sound/roland_lp.h,SOUNDS["ROLANDLP"] = true
---------------------------------------------------
if (SOUNDS["ROLANDLP"]~=null) then
files {
MAME_DIR .. "src/devices/sound/roland_lp.cpp",
MAME_DIR .. "src/devices/sound/roland_lp.h",
}
end
--------------------------------------------------- ---------------------------------------------------
-- Roland GP-based sample players -- Roland GP-based sample players
--@src/devices/sound/roland_gp.h,SOUNDS["ROLANDGP"] = true --@src/devices/sound/roland_gp.h,SOUNDS["ROLANDGP"] = true
@ -1647,6 +1634,18 @@ if (SOUNDS["ROLANDGP"]~=null) then
} }
end end
---------------------------------------------------
-- Roland LP-based sample players
--@src/devices/sound/roland_lp.h,SOUNDS["ROLANDLP"] = true
---------------------------------------------------
if (SOUNDS["ROLANDLP"]~=null) then
files {
MAME_DIR .. "src/devices/sound/roland_lp.cpp",
MAME_DIR .. "src/devices/sound/roland_lp.h",
}
end
--------------------------------------------------- ---------------------------------------------------
-- --
--@src/devices/sound/vgm_visualizer.h,SOUNDS["VGMVIZ"] = true --@src/devices/sound/vgm_visualizer.h,SOUNDS["VGMVIZ"] = true

View File

@ -439,8 +439,9 @@ bool dio16_98620_device::dma_transfer(int channel)
if (!m_dmar[channel]) if (!m_dmar[channel])
return false; return false;
LOG("dma_transfer %s: tc %d/%d\n", m_regs[channel].dma_out ? "out" : "in", LOG("dma_transfer %s: tc %d/%d\n",
m_regs[channel].tc, m_regs[channel].subcount); m_regs[channel].dma_out ? "out" : "in",
m_regs[channel].tc, m_regs[channel].subcount);
if (m_regs[channel].dma_out) { if (m_regs[channel].dma_out) {
dmack_w_out(channel, program_space().read_byte(m_regs[channel].address++)); dmack_w_out(channel, program_space().read_byte(m_regs[channel].address++));

View File

@ -28,7 +28,7 @@
namespace { namespace {
class hp9133_device : public device_t, class hp9133_device : public device_t,
public device_ieee488_interface public device_ieee488_interface
{ {
public: public:
// construction/destruction // construction/destruction
@ -534,11 +534,11 @@ void hp9133_device::io1_w(uint8_t data)
// 0 - Fault LED# // 0 - Fault LED#
m_head = (data >> 2) & 7; m_head = (data >> 2) & 7;
LOG("%s: %02x Head %d %s%s%s%s\n", __func__, LOG("%s: %02x Head %d %s%s%s%s\n", __func__,
data, m_head, data, m_head,
(data & IO1_W_BRDY) ? "BRDY " : "", (data & IO1_W_BRDY) ? "BRDY " : "",
(data & IO1_W_WDRESET_N) ? "" : "HDCRESET ", (data & IO1_W_WDRESET_N) ? "" : "HDCRESET ",
(data & IO1_W_DS1) ? "ACTIVE " : "", (data & IO1_W_DS1) ? "ACTIVE " : "",
(data & IO1_W_FLT_N) ? "" : "FAULT "); (data & IO1_W_FLT_N) ? "" : "FAULT ");
if (!(data & IO1_W_WDRESET_N)) if (!(data & IO1_W_WDRESET_N))
m_hdc->reset(); m_hdc->reset();
m_hdc->buffer_ready(data & IO1_W_BRDY); m_hdc->buffer_ready(data & IO1_W_BRDY);
@ -590,8 +590,8 @@ void hp9133_device::io3_w(uint8_t data)
m_intsel = data & IO3_W_INTSEL_MASK; m_intsel = data & IO3_W_INTSEL_MASK;
LOG("%s: %02x = INTSEL %d, INT %d DMA %d DMA start %d DMA ACK %s\n", __func__, LOG("%s: %02x = INTSEL %d, INT %d DMA %d DMA start %d DMA ACK %s\n", __func__,
data, m_intsel, m_intenable, m_dmaenable, BIT(data, 4), data, m_intsel, m_intenable, m_dmaenable, BIT(data, 4),
m_dmaack_switch ? "GPIB" : "FDC"); m_dmaack_switch ? "GPIB" : "FDC");
update_intsel(); update_intsel();
if (m_fast) if (m_fast)
m_fast_timer->adjust(attotime::from_usec(1000)); m_fast_timer->adjust(attotime::from_usec(1000));
@ -713,7 +713,7 @@ void hp9133_device::hdc_readwrite_sector(bool write)
const auto &info = m_harddisk->get_info(); const auto &info = m_harddisk->get_info();
lba = (m_hdc_cylinder * info.heads + m_head) * info.sectors + sector; lba = (m_hdc_cylinder * info.heads + m_head) * info.sectors + sector;
LOG("%s: %s cyl %4d, head %d, sector %2d lba %8d\n", __func__, LOG("%s: %s cyl %4d, head %d, sector %2d lba %8d\n", __func__,
write ? "WRITE" : "READ ", m_hdc_cylinder, m_head, sector, lba); write ? "WRITE" : "READ ", m_hdc_cylinder, m_head, sector, lba);
if (write) { if (write) {
m_harddisk->write(lba, m_dma_ram); m_harddisk->write(lba, m_dma_ram);
} else { } else {

View File

@ -53,7 +53,7 @@ ROM_START(mcx128)
ROMX_LOAD("mcx128bas.rom", 0x0000, 0x4000, CRC(11202e4b) SHA1(36c30d0f198a1bffee88ef29d92f2401447a91f4), ROM_BIOS(0)) ROMX_LOAD("mcx128bas.rom", 0x0000, 0x4000, CRC(11202e4b) SHA1(36c30d0f198a1bffee88ef29d92f2401447a91f4), ROM_BIOS(0))
ROM_SYSTEM_BIOS(1, "alice", "Darren Atkinson's MCX-128 cartridge for Alice") ROM_SYSTEM_BIOS(1, "alice", "Darren Atkinson's MCX-128 cartridge for Alice")
ROMX_LOAD("alice128bas.rom", 0x0000, 0x4000, CRC(a737544a) SHA1(c8fd92705fc42deb6a0ffac6274e27fd61ecd4cc), ROM_BIOS(1)) ROMX_LOAD("alice128bas.rom", 0x0000, 0x4000, CRC(a737544a) SHA1(c8fd92705fc42deb6a0ffac6274e27fd61ecd4cc), ROM_BIOS(1))
ROM_END ROM_END
//************************************************************************** //**************************************************************************

View File

@ -48,9 +48,9 @@ DEFINE_DEVICE_TYPE(R800, r800_device, "r800", "ASCII R800")
r800_device::r800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) r800_device::r800_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: z80_device(mconfig, R800, tag, owner, clock) : z80_device(mconfig, R800, tag, owner, clock)
{ {
z80_set_m1_cycles(1); z80_set_m1_cycles(1);
z80_set_memrq_cycles(1); z80_set_memrq_cycles(1);
z80_set_iorq_cycles(1); z80_set_iorq_cycles(1);
} }
std::unique_ptr<util::disasm_interface> r800_device::create_disassembler() std::unique_ptr<util::disasm_interface> r800_device::create_disassembler()

View File

@ -116,7 +116,7 @@ void ima_adpcm_state::compute_tables()
// compute the step value // compute the step value
int stepval = std::min(floor(16.0 * pow(11.0 / 10.0, (double)step)), 32767.); int stepval = std::min(floor(16.0 * pow(11.0 / 10.0, (double)step)), 32767.);
// manual correction of some early values // manual correction of some early values
if (step == -5 || step == -4) if (step == -5 || step == -4)
stepval++; stepval++;

View File

@ -830,7 +830,7 @@ void eclipse_state::via2_out_b_q900(u8 data)
SOFTWARE_LIST(config, "hdd_list").set_original("mac_hdd"); SOFTWARE_LIST(config, "hdd_list").set_original("mac_hdd");
SOFTWARE_LIST(config, "cd_list").set_original("mac_cdrom").set_filter("MC68040"); SOFTWARE_LIST(config, "cd_list").set_original("mac_cdrom").set_filter("MC68040");
// SOFTWARE_LIST(config, "cd_apple_dev").set_original("apple_devcd"); //SOFTWARE_LIST(config, "cd_apple_dev").set_original("apple_devcd");
SOFTWARE_LIST(config, "flop_mac35_orig").set_original("mac_flop_orig"); SOFTWARE_LIST(config, "flop_mac35_orig").set_original("mac_flop_orig");
SOFTWARE_LIST(config, "flop_mac35_clean").set_original("mac_flop_clcracked"); SOFTWARE_LIST(config, "flop_mac35_clean").set_original("mac_flop_clcracked");
SOFTWARE_LIST(config, "flop35_list").set_original("mac_flop"); SOFTWARE_LIST(config, "flop35_list").set_original("mac_flop");

View File

@ -490,8 +490,9 @@ void pv1000_state::pv1000(machine_config &config)
// Note that this value is overridden by the user's pv1000.cfg, if present. // Note that this value is overridden by the user's pv1000.cfg, if present.
// 206px x 48/35(PAR) / 4/3(DAR) = 212sl // 206px x 48/35(PAR) / 4/3(DAR) = 212sl
m_screen->set_default_position(216/206.0,0, //216 px in storage aspect; cropped to 206 px m_screen->set_default_position(
244/212.0,0); //244 sl in storage aspect; cropped to 212 sl 216/206.0, 0, //216 px in storage aspect; cropped to 206 px
244/212.0, 0); //244 sl in storage aspect; cropped to 212 sl
m_screen->set_screen_update(FUNC(pv1000_state::screen_update_pv1000)); m_screen->set_screen_update(FUNC(pv1000_state::screen_update_pv1000));
m_screen->set_palette(m_palette); m_screen->set_palette(m_palette);

View File

@ -4,9 +4,9 @@
Magnolia Microsystems 77316 DD soft-sectored floppy controller Magnolia Microsystems 77316 DD soft-sectored floppy controller
Supported upto 8 floppy drives Supported upto 8 floppy drives
- 4 8" drives - 4 8" drives
- 4 5.25" drives - 4 5.25" drives
****************************************************************************/ ****************************************************************************/

View File

@ -76,7 +76,7 @@ void z29_state::keyin_w(int state)
/** /**
* Port 1 (based on ROM listing) * Port 1 (based on ROM listing)
* *
* bit 0 - KB output line * bit 0 - KB output line
* bit 1 - KB input line * bit 1 - KB input line
* bit 2 - 0 = normal video 1 = suppressed * bit 2 - 0 = normal video 1 = suppressed
@ -93,7 +93,7 @@ u8 z29_state::p1_r()
/** /**
* Port 3 (based on ROM listing) * Port 3 (based on ROM listing)
* *
* bit 1 - predefined serial port transmit pin * bit 1 - predefined serial port transmit pin
* bit 4 - 0 = clear memory 1 = DMA CRTC * bit 4 - 0 = clear memory 1 = DMA CRTC
* bit 5 - Clear to Send * bit 5 - Clear to Send

View File

@ -200,13 +200,13 @@ INPUT_CHANGED_MEMBER(brikett_state::change_cpu_freq)
if (newval & 8) if (newval & 8)
{ {
/* /*
3rd hardware model has 2 XTALs, it will increase CPU voltage (and speed) 3rd hardware model has 2 XTALs, it will increase CPU voltage (and speed)
when running on mains power, the 3.579545MHz XTAL is still used for IRQ. when running on mains power, the 3.579545MHz XTAL is still used for IRQ.
Mephisto III could be fitted with a 12MHz XTAL instead of 6.144MHz and Mephisto III could be fitted with a 12MHz XTAL instead of 6.144MHz and
a newer CDP1805CE CPU by Hobby Computer Centrale on request. (It is a newer CDP1805CE CPU by Hobby Computer Centrale on request. (It is
unexpected that the 1805 accepts such a high overclock, but tests show unexpected that the 1805 accepts such a high overclock, but tests show
that it is indeed twice faster) that it is indeed twice faster)
*/ */
static const XTAL freq[3] = { 3.579545_MHz_XTAL, 6.144_MHz_XTAL, 12_MHz_XTAL }; static const XTAL freq[3] = { 3.579545_MHz_XTAL, 6.144_MHz_XTAL, 12_MHz_XTAL };
m_maincpu->set_unscaled_clock(freq[(newval & 3) % 3]); m_maincpu->set_unscaled_clock(freq[(newval & 3) % 3]);

View File

@ -94,7 +94,7 @@
\- sscopex/sogeki desyncs during gameplay intro, leaves heavy trails in gameplay; \- sscopex/sogeki desyncs during gameplay intro, leaves heavy trails in gameplay;
- ppp2nd: hangs when selecting game mode from service (manages to save); - ppp2nd: hangs when selecting game mode from service (manages to save);
- wcombatj: gets stuck on network check; - wcombatj: gets stuck on network check;
- thrild2c: bad CF dump (blue screens because of it); - thrild2c: bad CF dump (blue screens because of it);
- all games needs to be verified against factory settings - all games needs to be verified against factory settings
(game options, coin options & sound options often don't match "green colored" defaults) (game options, coin options & sound options often don't match "green colored" defaults)

View File

@ -643,16 +643,15 @@ uint32_t cclimber_state::screen_update_cclimber(screen_device &screen, bitmap_in
bitmap.fill(0, cliprect); bitmap.fill(0, cliprect);
draw_playfield(screen, bitmap, cliprect); draw_playfield(screen, bitmap, cliprect);
// draw the "big sprite" under the regular sprites if (m_bigsprite_control[0] & 0x01)
if ((m_bigsprite_control[0] & 0x01))
{ {
// draw the "big sprite" under the regular sprites
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
} }
// draw the "big sprite" over the regular sprites
else else
{ {
// draw the "big sprite" over the regular sprites
cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
} }
@ -675,16 +674,15 @@ uint32_t yamato_state::screen_update_yamato(screen_device &screen, bitmap_ind16
draw_playfield(screen, bitmap, cliprect); draw_playfield(screen, bitmap, cliprect);
// draw the "big sprite" under the regular sprites if (m_bigsprite_control[0] & 0x01)
if ((m_bigsprite_control[0] & 0x01))
{ {
// draw the "big sprite" under the regular sprites
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
} }
// draw the "big sprite" over the regular sprites
else else
{ {
// draw the "big sprite" over the regular sprites
toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
} }
@ -728,16 +726,15 @@ uint32_t swimmer_state::screen_update_swimmer(screen_device &screen, bitmap_ind1
draw_playfield(screen, bitmap, cliprect); draw_playfield(screen, bitmap, cliprect);
// draw the "big sprite" under the regular sprites if (m_bigsprite_control[0] & 0x01)
if ((m_bigsprite_control[0] & 0x01))
{ {
// draw the "big sprite" under the regular sprites
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
} }
// draw the "big sprite" over the regular sprites
else else
{ {
// draw the "big sprite" over the regular sprites
swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1)); swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect); cclimber_draw_bigsprite(screen, bitmap, cliprect);
} }
@ -760,16 +757,15 @@ uint32_t toprollr_state::screen_update_toprollr(screen_device &screen, bitmap_in
m_bg_tilemap->mark_all_dirty(); m_bg_tilemap->mark_all_dirty();
m_bg_tilemap->draw(screen, bitmap, scroll_area_clip, 0, 0); m_bg_tilemap->draw(screen, bitmap, scroll_area_clip, 0, 0);
// draw the "big sprite" over the regular sprites if (m_bigsprite_control[1] & 0x20)
if ((m_bigsprite_control[1] & 0x20))
{ {
// draw the "big sprite" over the regular sprites
toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1)); toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1));
toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip); toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip);
} }
// draw the "big sprite" under the regular sprites
else else
{ {
// draw the "big sprite" under the regular sprites
toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip); toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip);
toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1)); toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1));
} }

View File

@ -3994,22 +3994,22 @@ void nmk16_state::machine_reset()
This hardware relies on two counters and the contents of two PROMs for the timing signals generation. This hardware relies on two counters and the contents of two PROMs for the timing signals generation.
The counters are implemented inside NMK902 custom chip (except tharrier) for all "low-res" games and are used to The counters are implemented inside NMK902 custom chip (except tharrier) for all "low-res" games and are used to
address the entries on each PROM in a sequential way. On "mid-res" and "hi-res" games, one of the counters is address the entries on each PROM in a sequential way. On "mid-res" and "hi-res" games, one of the counters is
implemented outside the custom chip, due to they decided to boost up the horizontal resolution, and the initial implemented outside the custom chip, due to they decided to boost up the horizontal resolution, and the initial
configuration is hardwired inside the chip. configuration is hardwired inside the chip.
- "Horizontal" signals, such as HBlank, HSync... are generated using one of the counters and a 256x4bit PROM, and - "Horizontal" signals, such as HBlank, HSync... are generated using one of the counters and a 256x4bit PROM, and
each step on the counter takes 2 pixel clock cycles: each step on the counter takes 2 pixel clock cycles:
- For "low-res" games the counter starts on 0x40 and goes to 0xFF having 192 steps. As each step is 2 px, the total - For "low-res" games the counter starts on 0x40 and goes to 0xFF having 192 steps. As each step is 2 px, the total
H-size is 384px wide. PROM entries from 0x00 to 0x39 address are never used. H-size is 384px wide. PROM entries from 0x00 to 0x39 address are never used.
- For "mid-res" games the counter starts on 0x20 and goes to 0xFF having 224 steps. As each step is 2 px, the total - For "mid-res" games the counter starts on 0x20 and goes to 0xFF having 224 steps. As each step is 2 px, the total
H-size is 448px wide. PROM entries from 0x00 to 0x19 address are never used. H-size is 448px wide. PROM entries from 0x00 to 0x19 address are never used.
- For "hi-res" games the counter starts on 0x00 and goes to 0xFF having 256 steps. As each step is 2 px, the total - For "hi-res" games the counter starts on 0x00 and goes to 0xFF having 256 steps. As each step is 2 px, the total
H-size is 512px wide. All PROM entries are used. H-size is 512px wide. All PROM entries are used.
- "Vertical" signals, such as VBlank, Interrupt requests... are generated using the other counter and a 256x8bit PROM, - "Vertical" signals, such as VBlank, Interrupt requests... are generated using the other counter and a 256x8bit PROM,
and each step on the counter takes 2 scanlines. and each step on the counter takes 2 scanlines.
- In this case, for all games the counter starts on 0x75 and goes to 0xFF having 139 steps. As each step is 2 lines, - In this case, for all games the counter starts on 0x75 and goes to 0xFF having 139 steps. As each step is 2 lines,
the total V-size is 278 lines high. PROM entries from 0x00 address to 0x74 are never used. the total V-size is 278 lines high. PROM entries from 0x00 address to 0x74 are never used.
Going into more detail: Going into more detail:
@ -4022,7 +4022,7 @@ void nmk16_state::machine_reset()
1 --x- HSYNC (active low) 1 --x- HSYNC (active low)
2 -x-- HBLANK (active low) 2 -x-- HBLANK (active low)
3 x--- unused on almost all games (only used in gunnail and raphero, purpose unknown) 3 x--- unused on almost all games (only used in gunnail and raphero, purpose unknown)
Considering that and looking at the contents of the PROMs, the horizontal timings are below: Considering that and looking at the contents of the PROMs, the horizontal timings are below:
- For "low-res" (6MHz pixel clock): - For "low-res" (6MHz pixel clock):
@ -4034,8 +4034,8 @@ void nmk16_state::machine_reset()
| |
'start of line' (pixel 0) 'start of line' (pixel 0)
Each line: ( 6MHz / 384 pixels per line ) = 15625Hz = 64 usec Each line: ( 6MHz / 384 pixels per line ) = 15625Hz = 64 usec
- For "mid-res" (7MHz pixel clock): - For "mid-res" (7MHz pixel clock):
0........59..........................................................................380...400...416....447 0........59..........................................................................380...400...416....447
/LINE-END (2 px): ----------------------------------------------------------------------------------------------------------X /LINE-END (2 px): ----------------------------------------------------------------------------------------------------------X
@ -4054,7 +4054,7 @@ void nmk16_state::machine_reset()
HBLANK (28 + 100 px): XXXXXX-------------------------------------------384-wide-------------------------XXXXXXXXXXXXXXXXXXXXXXXXX // HBlank ends 28 pixels after 'start of line' HBLANK (28 + 100 px): XXXXXX-------------------------------------------384-wide-------------------------XXXXXXXXXXXXXXXXXXXXXXXXX // HBlank ends 28 pixels after 'start of line'
^ ^
| |
'start of line' (pixel 0) 'start of line' (pixel 0)
Each line: ( 8MHz / 512 pixels per line ) = 15625Hz = 64 usec Each line: ( 8MHz / 512 pixels per line ) = 15625Hz = 64 usec
@ -4149,16 +4149,16 @@ void nmk16_state::set_screen_hires(machine_config &config)
- IRQ1: - IRQ1:
- At 68 and 196 scanlines on most games - At 68 and 196 scanlines on most games
- 'tharrier' only at 146 scanline - 'tharrier' only at 146 scanline
- 'vandyke', 'bioship' and 'blkheart' only at 102 scanline (also 'ddealer' outside this driver). - 'vandyke', 'bioship' and 'blkheart' only at 102 scanline (also 'ddealer' outside this driver).
'vandyke' permanently inhibits it by software. 'vandyke' permanently inhibits it by software.
- 'powerins' only at 16 scanline (looks like it's always inhibited by software) - 'powerins' only at 16 scanline (looks like it's always inhibited by software)
- IRQ2: - IRQ2:
- At 16 scanline on most games (VBIN = end of VBLANK = start of active video) - At 16 scanline on most games (VBIN = end of VBLANK = start of active video)
- 'tdragon', 'macross2', 'tdragon2' and 'raphero' lack it - 'tdragon', 'macross2', 'tdragon2' and 'raphero' lack it
- 'tharrier' at 54 scanline - 'tharrier' at 54 scanline
- 'powerins' at 128 scanline (looks like it's always inhibited by software) - 'powerins' at 128 scanline (looks like it's always inhibited by software)
- IRQ3: - IRQ3:
- Only triggered by 'powerins' at 90 and 166 scanlines (looks like it's always inhibited by software) - Only triggered by 'powerins' at 90 and 166 scanlines (looks like it's always inhibited by software)
@ -4168,10 +4168,10 @@ void nmk16_state::set_screen_hires(machine_config &config)
*/ */
TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::nmk16_scanline) TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::nmk16_scanline)
{ {
// constexpr int SPRDMA_INDEX = 0; // not used in emulation TODO: check if it could be used to trigger the sprite DMA instead of setting it 4 lines after VBOUT // constexpr int SPRDMA_INDEX = 0; // not used in emulation TODO: check if it could be used to trigger the sprite DMA instead of setting it 4 lines after VBOUT
// constexpr int VSYNC_INDEX = 1; // not used in emulation // constexpr int VSYNC_INDEX = 1; // not used in emulation
// constexpr int VBLANK_INDEX = 2; // not used in emulation // constexpr int VBLANK_INDEX = 2; // not used in emulation
// constexpr int NOT_USED = 3; // not used in emulation // constexpr int NOT_USED = 3; // not used in emulation
constexpr int IPL0_INDEX = 4; constexpr int IPL0_INDEX = 4;
constexpr int IPL1_INDEX = 5; constexpr int IPL1_INDEX = 5;
constexpr int IPL2_INDEX = 6; constexpr int IPL2_INDEX = 6;
@ -4252,7 +4252,7 @@ LV4 LV2 LV1 LV1
- VBlank = 54 lines * 64 usec = 3456 usec - VBlank = 54 lines * 64 usec = 3456 usec
- Active = 224 lines * 64 usec = 14336 usec - Active = 224 lines * 64 usec = 14336 usec
- IRQ1 gap = 128 lines * 64 usec = 8192 usec - IRQ1 gap = 128 lines * 64 usec = 8192 usec
The following code is used for bootleg, Afega, Comad and NMK games that PROMs are still undumped, on which the The following code is used for bootleg, Afega, Comad and NMK games that PROMs are still undumped, on which the
interrupt triggering cannot be relied on the PROMs contents. interrupt triggering cannot be relied on the PROMs contents.
*/ */

View File

@ -33,14 +33,14 @@
*/ */
/* /*
TODO:
- DMA TODO:
- floppy
- SASI - DMA
- video - floppy
- keyboard - SASI
- video
- keyboard
*/ */
@ -79,7 +79,7 @@ uint8_t mm2_state::status_r(offs_t offset)
uint8_t data = 0x80; uint8_t data = 0x80;
data |= !m_rs232a->dsr_r() << 4; data |= !m_rs232a->dsr_r() << 4;
return data; return data;
} }
@ -169,8 +169,8 @@ uint8_t mm2_state::dmac_mem_r(offs_t offset)
if (WORD_ALIGNED(offset)) if (WORD_ALIGNED(offset))
{ {
return mem[offset >> 1] & 0xff; return mem[offset >> 1] & 0xff;
} }
else else
{ {
return mem[offset >> 1] >> 8; return mem[offset >> 1] >> 8;
} }
@ -180,11 +180,11 @@ void mm2_state::dmac_mem_w(offs_t offset, uint8_t data)
{ {
uint16_t *mem = (uint16_t *)m_maincpu->space(AS_PROGRAM).get_write_ptr(m_dma_hi << 15); uint16_t *mem = (uint16_t *)m_maincpu->space(AS_PROGRAM).get_write_ptr(m_dma_hi << 15);
uint16_t value = mem[offset >> 1]; uint16_t value = mem[offset >> 1];
if (WORD_ALIGNED(offset)) if (WORD_ALIGNED(offset))
{ {
mem[offset >> 1] = (value & 0xff00) | data; mem[offset >> 1] = (value & 0xff00) | data;
} }
else else
{ {
mem[offset >> 1] = data << 8 | (value & 0xff); mem[offset >> 1] = data << 8 | (value & 0xff);
@ -376,12 +376,12 @@ void mm2_state::mm2(machine_config &config)
m_mpsc->out_txdb_callback().set(m_rs232b, FUNC(rs232_port_device::write_txd)); m_mpsc->out_txdb_callback().set(m_rs232b, FUNC(rs232_port_device::write_txd));
m_mpsc->out_rtsb_callback().set(m_rs232b, FUNC(rs232_port_device::write_rts)); m_mpsc->out_rtsb_callback().set(m_rs232b, FUNC(rs232_port_device::write_rts));
m_mpsc->out_int_callback().set(m_pic, FUNC(pic8259_device::ir1_w)); m_mpsc->out_int_callback().set(m_pic, FUNC(pic8259_device::ir1_w));
RS232_PORT(config, m_rs232a, default_rs232_devices, nullptr); RS232_PORT(config, m_rs232a, default_rs232_devices, nullptr);
m_rs232a->rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxa_w)); m_rs232a->rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxa_w));
m_rs232a->dcd_handler().set(m_mpsc, FUNC(z80dart_device::dcda_w)); m_rs232a->dcd_handler().set(m_mpsc, FUNC(z80dart_device::dcda_w));
m_rs232a->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsa_w)); m_rs232a->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsa_w));
RS232_PORT(config, m_rs232b, default_rs232_devices, "terminal"); RS232_PORT(config, m_rs232b, default_rs232_devices, "terminal");
m_rs232b->rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxb_w)); m_rs232b->rxd_handler().set(m_mpsc, FUNC(z80dart_device::rxb_w));
m_rs232b->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsb_w)); m_rs232b->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsb_w));

View File

@ -103,7 +103,7 @@ private:
void update_pic_ir0() { m_pic->ir0_w(m_ir0); } void update_pic_ir0() { m_pic->ir0_w(m_ir0); }
void ir0_w(int state) { if (state) { m_ir0 = ASSERT_LINE; update_pic_ir0(); } } void ir0_w(int state) { if (state) { m_ir0 = ASSERT_LINE; update_pic_ir0(); } }
void tcl_w(offs_t offset, uint8_t data) { m_ir0 = CLEAR_LINE; update_pic_ir0(); } void tcl_w(offs_t offset, uint8_t data) { m_ir0 = CLEAR_LINE; update_pic_ir0(); }
void update_pic_ir5() { m_pic->ir5_w(m_vpac_int || m_sio_rxrdy || m_sio_txrdy); } void update_pic_ir5() { m_pic->ir5_w(m_vpac_int || m_sio_rxrdy || m_sio_txrdy); }
void vpac_int_w(int state) { m_vpac_int = state; update_pic_ir5(); } void vpac_int_w(int state) { m_vpac_int = state; update_pic_ir5(); }
void sio_rxrdy_w(int state) { m_sio_rxrdy = state; update_pic_ir5(); } void sio_rxrdy_w(int state) { m_sio_rxrdy = state; update_pic_ir5(); }

View File

@ -338,7 +338,7 @@ void goal92_state::sound_map(address_map &map)
} }
static INPUT_PORTS_START( goal92 ) static INPUT_PORTS_START( goal92 )
PORT_START("DSW1") PORT_START("DSW1")
PORT_DIPNAME( 0x0007, 0x0007, "Coin 1 (3)" ) PORT_DIPLOCATION("SW1:1,2,3") PORT_DIPNAME( 0x0007, 0x0007, "Coin 1 (3)" ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
@ -363,7 +363,7 @@ static INPUT_PORTS_START( goal92 )
PORT_DIPSETTING( 0x0000, "x2" ) PORT_DIPSETTING( 0x0000, "x2" )
// NOTE: It should be the screen flip DIP, but isn't working // NOTE: It should be the screen flip DIP, but isn't working
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )

View File

@ -24,7 +24,7 @@
| | | |74HC4053||74HC4053| |__| | | | | |74HC4053||74HC4053| |__| |
| |____________| ___ _______ | | |____________| ___ _______ |
| _______ 34119->| | |MC3403| | | _______ 34119->| | |MC3403| |
| 74AHCT574 |__| | | 74AHCT574 |__| |
| ____________ ____________ | | ____________ ____________ |
| |KM416S4030CT| |KM416S4030CT| | | |KM416S4030CT| |KM416S4030CT| |
| |____________| |____________| | | |____________| |____________| |
@ -35,7 +35,7 @@
| Xtal | | |74HCT541 | | | Xtal | | |74HCT541 | |
| 32.768 MHz | | |_________| | | 32.768 MHz | | |_________| |
| |____________| | | |____________| |
| | | |
| _______ | | _______ |
| 3BN62121AAAF KAZZA 01 |ST 324| | | 3BN62121AAAF KAZZA 01 |ST 324| |
|___________________________________________________________________| |___________________________________________________________________|

View File

@ -240,13 +240,13 @@ void buggychl_state::sprite_lookup_w(offs_t offset, uint8_t data)
void buggychl_state::ctrl_w(uint8_t data) void buggychl_state::ctrl_w(uint8_t data)
{ {
// bit0 = VINV // bit0 = VINV
// bit1 = HINV // bit1 = HINV
// bit2 = /SN3OFF // bit2 = /SN3OFF
// bit3 = SKY OFF // bit3 = SKY OFF
// bit4 = OJMODE // bit4 = OJMODE
// bit6 = lockout // bit6 = lockout
// bit7 = lamp // bit7 = lamp
flip_screen_y_set(data & 0x01); flip_screen_y_set(data & 0x01);
flip_screen_x_set(data & 0x02); flip_screen_x_set(data & 0x02);

View File

@ -79,7 +79,7 @@
POP*STAR PILOT: Timer is synchronized with scanlines. POP*STAR PILOT: Timer is synchronized with scanlines.
Cloud Kingdoms: 512K bank switch on scanline. Cloud Kingdoms: 512K bank switch on scanline.
**********************************************************************/ **********************************************************************/