From 79dddf368c82788d1110559972cd61e4d214d60b Mon Sep 17 00:00:00 2001 From: arbee Date: Fri, 23 Sep 2022 21:30:48 -0400 Subject: [PATCH 01/11] debugview.mm: Raise requirement for Dark Mode to 10.15. [R. Belmont, kmg] --- src/osd/modules/debugger/osx/debugview.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/modules/debugger/osx/debugview.mm b/src/osd/modules/debugger/osx/debugview.mm index 381c91f7dfc18..540fa41815d0c 100644 --- a/src/osd/modules/debugger/osx/debugview.mm +++ b/src/osd/modules/debugger/osx/debugview.mm @@ -51,8 +51,8 @@ static void debugwin_view_update(debug_view &view, void *osdprivate) @implementation MAMEDebugView + (void)initialize { - // 10.14 and better get full adaptive Dark Mode support -#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14 + // 10.15 and better get full adaptive Dark Mode support +#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_15 DefaultForeground = [[NSColor textColor] retain]; ChangedForeground = [[NSColor systemRedColor] retain]; CommentForeground = [[NSColor systemGreenColor] retain]; From e61f246a804617374f410e652fb63b97a4537012 Mon Sep 17 00:00:00 2001 From: arbee Date: Fri, 23 Sep 2022 23:07:13 -0400 Subject: [PATCH 02/11] es5503: More correct behavior in some swap-mode corner cases. [R. Belmont] --- src/devices/sound/es5503.cpp | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/devices/sound/es5503.cpp b/src/devices/sound/es5503.cpp index 50bef4568d2d1..9e4b9a91e0b05 100644 --- a/src/devices/sound/es5503.cpp +++ b/src/devices/sound/es5503.cpp @@ -34,6 +34,7 @@ Conversely, the intro voice in FTA Delta Demo has swap on the even and one-shot on the odd and doesn't want to loop. 2.1.3 (RB) - Fixed oscillator enable register off-by-1 which caused everything to be half a step sharp. + 2.2 (RB) - More precise one-shot even/swap odd behavior from hardware observations with Ian Brumby's SWAPTEST. */ #include "emu.h" @@ -85,7 +86,6 @@ void es5503_device::rom_bank_updated() } // halt_osc: handle halting an oscillator -// chip = chip ptr // onum = oscillator # // type = 1 for 0 found in sample data, 0 for hit end of table size void es5503_device::halt_osc(int onum, int type, uint32_t *accumulator, int resshift) @@ -117,14 +117,35 @@ void es5503_device::halt_osc(int onum, int type, uint32_t *accumulator, int ress *accumulator = altram << resshift; } - // if we're in swap mode or we're the even oscillator and the partner is in swap mode, - // start the partner. - if ((mode == MODE_SWAP) || ((partnerMode == MODE_SWAP) && ((onum & 1)==0))) + // if we're in swap mode, start the partner + if (mode == MODE_SWAP) { pPartner->control &= ~1; // clear the halt bit pPartner->accumulator = 0; // and make sure it starts from the top (does this also need phase preservation?) } + else + { + // if we're not swap and we're the even oscillator of the pair and the partner's swap + // but we aren't, we retrigger (!!!) Verified on IIgs hardware. + if ((partnerMode == MODE_SWAP) && ((onum & 1)==0)) + { + pOsc->control &= ~1; + // preserve the phase in this case too + uint16_t wtsize = pOsc->wtsize - 1; + uint32_t altram = (*accumulator) >> resshift; + if (altram > wtsize) + { + altram -= wtsize; + } + else + { + altram = 0; + } + + *accumulator = altram << resshift; + } + } // IRQ enabled for this voice? if (pOsc->control & 0x08) { @@ -396,7 +417,7 @@ void es5503_device::write(offs_t offset, u8 data) break; case 0xa0: // oscillator control - // if a fresh key-on, reset the accumulator + // key on? if ((oscillators[osc].control & 1) && (!(data&1))) { oscillators[osc].accumulator = 0; From d37543c7db1a80c2fb144595348ff8212e7efad6 Mon Sep 17 00:00:00 2001 From: arbee Date: Fri, 23 Sep 2022 23:34:29 -0400 Subject: [PATCH 03/11] apple2gs: Mega II banks now fully follow RAMRD/RAMWRT/ALTZP like banks $00/$01. [R. Belmont] --- src/mame/apple/apple2gs.cpp | 194 ++++++++++++++++++++++++++++-------- 1 file changed, 155 insertions(+), 39 deletions(-) diff --git a/src/mame/apple/apple2gs.cpp b/src/mame/apple/apple2gs.cpp index 421e6f32e6e88..4faea087db2f2 100644 --- a/src/mame/apple/apple2gs.cpp +++ b/src/mame/apple/apple2gs.cpp @@ -149,7 +149,12 @@ class apple2gs_state : public driver_device m_b0_0800bank(*this, A2GS_B00800_TAG), m_b0_2000bank(*this, A2GS_B02000_TAG), m_b0_4000bank(*this, A2GS_B04000_TAG), + m_e0_0000bank(*this, "e0_0000_bank"), + m_e0_0200bank(*this, "e0_0200_bank"), m_e0_0400bank(*this, "e0_0400_bank"), + m_e0_0800bank(*this, "e0_0800_bank"), + m_e0_2000bank(*this, "e0_2000_bank"), + m_e0_4000bank(*this, "e0_4000_bank"), m_lcbank(*this, A2GS_LCBANK_TAG), m_lcaux(*this, A2GS_LCAUX_TAG), m_lc00(*this, A2GS_LC00_TAG), @@ -203,7 +208,8 @@ class apple2gs_state : public driver_device required_device m_speaker; memory_view m_upperbank, m_upperaux, m_upper00, m_upper01; required_device m_c300bank; - memory_view m_b0_0000bank, m_b0_0200bank, m_b0_0400bank, m_b0_0800bank, m_b0_2000bank, m_b0_4000bank, m_e0_0400bank; + memory_view m_b0_0000bank, m_b0_0200bank, m_b0_0400bank, m_b0_0800bank, m_b0_2000bank, m_b0_4000bank; + memory_view m_e0_0000bank, m_e0_0200bank, m_e0_0400bank, m_e0_0800bank, m_e0_2000bank, m_e0_4000bank; memory_view m_lcbank, m_lcaux, m_lc00, m_lc01, m_bank0_atc, m_bank1_atc; required_device m_scc; required_device m_doc; @@ -340,10 +346,6 @@ class apple2gs_state : public driver_device int m_devsel = 0; u8 m_diskreg = 0; - u8 ram0000_r(offs_t offset); - void ram0000_w(offs_t offset, u8 data); - u8 ram0800_r(offs_t offset); - void ram0800_w(offs_t offset, u8 data); u8 auxram0000_r(offs_t offset); void auxram0000_w(offs_t offset, u8 data); u8 b0ram0000_r(offs_t offset); @@ -370,10 +372,12 @@ class apple2gs_state : public driver_device void b1ram2000_w(offs_t offset, u8 data); u8 b1ram4000_r(offs_t offset); void b1ram4000_w(offs_t offset, u8 data); - u8 e0ram0400_r(offs_t offset); - void e0ram0400_w(offs_t offset, u8 data); - u8 e1ram0400_r(offs_t offset); - void e1ram0400_w(offs_t offset, u8 data); + + template u8 e0ram_r(offs_t offset); + template void e0ram_w(offs_t offset, u8 data); + template u8 e1ram_r(offs_t offset); + template void e1ram_w(offs_t offset, u8 data); + u8 c000_r(offs_t offset); void c000_w(offs_t offset, u8 data); u8 c080_r(offs_t offset); @@ -1332,12 +1336,17 @@ void apple2gs_state::machine_start() m_lc00.select(0); m_lc01.select(0); m_b0_0000bank.select(0); + m_e0_0000bank.select(0); m_b0_0200bank.select(0); + m_e0_0200bank.select(0); m_b0_0400bank.select(0); m_e0_0400bank.select(0); m_b0_0800bank.select(0); + m_e0_0800bank.select(0); m_b0_2000bank.select(0); + m_e0_2000bank.select(0); m_b0_4000bank.select(0); + m_e0_4000bank.select(0); m_inh_bank = 0; #if !RUN_ADB_MICRO m_transchar = 0; @@ -1594,12 +1603,17 @@ void apple2gs_state::machine_reset() m_maincpu_space = &m_maincpu->space(AS_PROGRAM); m_b0_0000bank.select(0); + m_e0_0000bank.select(0); m_b0_0200bank.select(0); + m_e0_0200bank.select(0); m_b0_0400bank.select(0); m_e0_0400bank.select(0); m_b0_0800bank.select(0); + m_e0_0800bank.select(0); m_b0_2000bank.select(0); + m_e0_2000bank.select(0); m_b0_4000bank.select(0); + m_e0_4000bank.select(0); m_bank0_atc.select(1); m_bank1_atc.select(1); @@ -1889,7 +1903,9 @@ void apple2gs_state::auxbank_update() int ramwr = (m_ramrd ? 1 : 0) | (m_ramwrt ? 2 : 0); m_b0_0000bank.select(m_altzp ? 1 : 0); + m_e0_0000bank.select(m_altzp ? 1 : 0); m_b0_0200bank.select(ramwr); + m_e0_0200bank.select(ramwr); if (m_80store) { @@ -1911,24 +1927,29 @@ void apple2gs_state::auxbank_update() } m_b0_0800bank.select(ramwr); + m_e0_0800bank.select(ramwr); if ((m_80store) && (m_video->m_hires)) { if (m_page2) { m_b0_2000bank.select(3); + m_e0_2000bank.select(3); } else { m_b0_2000bank.select(0); + m_e0_2000bank.select(0); } } else { m_b0_2000bank.select(ramwr); + m_e0_2000bank.select(ramwr); } m_b0_4000bank.select(ramwr); + m_e0_4000bank.select(ramwr); } void apple2gs_state::update_slotrom_banks() @@ -3421,19 +3442,38 @@ void apple2gs_state::inh_w(offs_t offset, u8 data) u8 apple2gs_state::lc_r(offs_t offset) { slow_cycle(); - if (offset < 0x1000) + if (m_altzp) { - if (m_lcram2) + if (offset < 0x1000) { - return m_megaii_ram[(offset & 0xfff) + 0xc000]; + if (m_lcram2) + { + return m_megaii_ram[(offset & 0xfff) + 0x1c000]; + } + else + { + return m_megaii_ram[(offset & 0xfff) + 0x1d000]; + } } - else + + return m_megaii_ram[(offset & 0x1fff) + 0x1e000]; + } + else + { + if (offset < 0x1000) { - return m_megaii_ram[(offset & 0xfff) + 0xd000]; + if (m_lcram2) + { + return m_megaii_ram[(offset & 0xfff) + 0xc000]; + } + else + { + return m_megaii_ram[(offset & 0xfff) + 0xd000]; + } } - } - return m_megaii_ram[(offset & 0x1fff) + 0xe000]; + return m_megaii_ram[(offset & 0x1fff) + 0xe000]; + } } void apple2gs_state::lc_w(offs_t offset, u8 data) @@ -3444,20 +3484,40 @@ void apple2gs_state::lc_w(offs_t offset, u8 data) return; } - if (offset < 0x1000) + if (m_altzp) { - if (m_lcram2) + if (offset < 0x1000) { - m_megaii_ram[(offset & 0xfff) + 0xc000] = data; + if (m_lcram2) + { + m_megaii_ram[(offset & 0xfff) + 0x1c000] = data; + } + else + { + m_megaii_ram[(offset & 0xfff) + 0x1d000] = data; + } + return; } - else + + m_megaii_ram[(offset & 0x1fff) + 0x1e000] = data; + } + else + { + if (offset < 0x1000) { - m_megaii_ram[(offset & 0xfff) + 0xd000] = data; + if (m_lcram2) + { + m_megaii_ram[(offset & 0xfff) + 0xc000] = data; + } + else + { + m_megaii_ram[(offset & 0xfff) + 0xd000] = data; + } + return; } - return; - } - m_megaii_ram[(offset & 0x1fff) + 0xe000] = data; + m_megaii_ram[(offset & 0x1fff) + 0xe000] = data; + } } u8 apple2gs_state::lc_aux_r(offs_t offset) @@ -3755,15 +3815,46 @@ u8 apple2gs_state::read_floatingbus() ADDRESS MAP ***************************************************************************/ -u8 apple2gs_state::e0ram0400_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + 0x0400]; } -void apple2gs_state::e0ram0400_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + 0x0400] = data; } -u8 apple2gs_state::e1ram0400_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + 0x10400]; } -void apple2gs_state::e1ram0400_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + 0x10400] = data; } +template +u8 apple2gs_state::e0ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + addr]; } + +template +void apple2gs_state::e0ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + addr] = data; } + +template +u8 apple2gs_state::e1ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + addr + 0x10000]; } + +template +void apple2gs_state::e1ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + addr + 0x10000] = data; } + +template u8 apple2gs_state::e0ram_r<0x0000>(offs_t offset); +template u8 apple2gs_state::e0ram_r<0x0200>(offs_t offset); +template u8 apple2gs_state::e0ram_r<0x0400>(offs_t offset); +template u8 apple2gs_state::e0ram_r<0x0800>(offs_t offset); +template u8 apple2gs_state::e0ram_r<0x2000>(offs_t offset); +template u8 apple2gs_state::e0ram_r<0x4000>(offs_t offset); + +template u8 apple2gs_state::e1ram_r<0x0000>(offs_t offset); +template u8 apple2gs_state::e1ram_r<0x0200>(offs_t offset); +template u8 apple2gs_state::e1ram_r<0x0400>(offs_t offset); +template u8 apple2gs_state::e1ram_r<0x0800>(offs_t offset); +template u8 apple2gs_state::e1ram_r<0x2000>(offs_t offset); +template u8 apple2gs_state::e1ram_r<0x4000>(offs_t offset); + +template void apple2gs_state::e0ram_w<0x0000>(offs_t offset, u8 data); +template void apple2gs_state::e0ram_w<0x0200>(offs_t offset, u8 data); +template void apple2gs_state::e0ram_w<0x0400>(offs_t offset, u8 data); +template void apple2gs_state::e0ram_w<0x0800>(offs_t offset, u8 data); +template void apple2gs_state::e0ram_w<0x2000>(offs_t offset, u8 data); +template void apple2gs_state::e0ram_w<0x4000>(offs_t offset, u8 data); + +template void apple2gs_state::e1ram_w<0x0000>(offs_t offset, u8 data); +template void apple2gs_state::e1ram_w<0x0200>(offs_t offset, u8 data); +template void apple2gs_state::e1ram_w<0x0400>(offs_t offset, u8 data); +template void apple2gs_state::e1ram_w<0x0800>(offs_t offset, u8 data); +template void apple2gs_state::e1ram_w<0x2000>(offs_t offset, u8 data); +template void apple2gs_state::e1ram_w<0x4000>(offs_t offset, u8 data); -u8 apple2gs_state::ram0000_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset]; } -void apple2gs_state::ram0000_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset] = data; } -u8 apple2gs_state::ram0800_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + 0x800]; } -void apple2gs_state::ram0800_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + 0x800] = data; } u8 apple2gs_state::auxram0000_r(offs_t offset) { slow_cycle(); @@ -4089,14 +4180,39 @@ void apple2gs_state::apple2gs_map(address_map &map) /* "Mega II side" - this is basically a 128K IIe on a chip that runs merrily at 1 MHz */ /* Unfortunately all I/O happens here, including new IIgs-specific stuff */ - map(0xe00000, 0xe003ff).rw(FUNC(apple2gs_state::ram0000_r), FUNC(apple2gs_state::ram0000_w)); - map(0xe00400, 0xe007ff).view(m_e0_0400bank); - m_e0_0400bank[0](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e0ram0400_r), FUNC(apple2gs_state::e0ram0400_w)); // wr 0 rd 0 - m_e0_0400bank[1](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e1ram0400_r), FUNC(apple2gs_state::e0ram0400_w)); // wr 0 rd 1 - m_e0_0400bank[2](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e0ram0400_r), FUNC(apple2gs_state::e1ram0400_w)); // wr 1 rd 0 - m_e0_0400bank[3](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e1ram0400_r), FUNC(apple2gs_state::e1ram0400_w)); // wr 1 rd 1 + map(0xe00000, 0xe001ff).view(m_e0_0000bank); + m_e0_0000bank[0](0x0000, 0x01ff).rw(FUNC(apple2gs_state::e0ram_r<0x0000>), FUNC(apple2gs_state::e0ram_w<0x0000>)); + m_e0_0000bank[1](0x0000, 0x01ff).rw(FUNC(apple2gs_state::e1ram_r<0x0000>), FUNC(apple2gs_state::e1ram_w<0x0000>)); + + map(0xe00200, 0xe003ff).view(m_e0_0200bank); + m_e0_0200bank[0](0x0200, 0x03ff).rw(FUNC(apple2gs_state::e0ram_r<0x0200>), FUNC(apple2gs_state::e0ram_w<0x0200>)); // wr 0 rd 0 + m_e0_0200bank[1](0x0200, 0x03ff).rw(FUNC(apple2gs_state::e1ram_r<0x0200>), FUNC(apple2gs_state::e0ram_w<0x0200>)); // wr 0 rd 1 + m_e0_0200bank[2](0x0200, 0x03ff).rw(FUNC(apple2gs_state::e0ram_r<0x0200>), FUNC(apple2gs_state::e1ram_w<0x0200>)); // wr 1 rd 0 + m_e0_0200bank[3](0x0200, 0x03ff).rw(FUNC(apple2gs_state::e1ram_r<0x0200>), FUNC(apple2gs_state::e1ram_w<0x0200>)); // wr 1 rd 1 - map(0xe00800, 0xe0bfff).rw(FUNC(apple2gs_state::ram0800_r), FUNC(apple2gs_state::ram0800_w)); + map(0xe00400, 0xe007ff).view(m_e0_0400bank); + m_e0_0400bank[0](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e0ram_r<0x0400>), FUNC(apple2gs_state::e0ram_w<0x0400>)); // wr 0 rd 0 + m_e0_0400bank[1](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e1ram_r<0x0400>), FUNC(apple2gs_state::e0ram_w<0x0400>)); // wr 0 rd 1 + m_e0_0400bank[2](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e0ram_r<0x0400>), FUNC(apple2gs_state::e1ram_w<0x0400>)); // wr 1 rd 0 + m_e0_0400bank[3](0x0400, 0x07ff).rw(FUNC(apple2gs_state::e1ram_r<0x0400>), FUNC(apple2gs_state::e1ram_w<0x0400>)); // wr 1 rd 1 + + map(0xe00800, 0xe01fff).view(m_e0_0800bank); + m_e0_0800bank[0](0x0800, 0x1fff).rw(FUNC(apple2gs_state::e0ram_r<0x0800>), FUNC(apple2gs_state::e0ram_w<0x0800>)); + m_e0_0800bank[1](0x0800, 0x1fff).rw(FUNC(apple2gs_state::e1ram_r<0x0800>), FUNC(apple2gs_state::e0ram_w<0x0800>)); + m_e0_0800bank[2](0x0800, 0x1fff).rw(FUNC(apple2gs_state::e0ram_r<0x0800>), FUNC(apple2gs_state::e1ram_w<0x0800>)); + m_e0_0800bank[3](0x0800, 0x1fff).rw(FUNC(apple2gs_state::e1ram_r<0x0800>), FUNC(apple2gs_state::e1ram_w<0x0800>)); + + map(0xe02000, 0xe03fff).view(m_e0_2000bank); + m_e0_2000bank[0](0x2000, 0x3fff).rw(FUNC(apple2gs_state::e0ram_r<0x2000>), FUNC(apple2gs_state::e0ram_w<0x2000>)); + m_e0_2000bank[1](0x2000, 0x3fff).rw(FUNC(apple2gs_state::e1ram_r<0x2000>), FUNC(apple2gs_state::e0ram_w<0x2000>)); + m_e0_2000bank[2](0x2000, 0x3fff).rw(FUNC(apple2gs_state::e0ram_r<0x2000>), FUNC(apple2gs_state::e1ram_w<0x2000>)); + m_e0_2000bank[3](0x2000, 0x3fff).rw(FUNC(apple2gs_state::e1ram_r<0x2000>), FUNC(apple2gs_state::e1ram_w<0x2000>)); + + map(0xe04000, 0xe0bfff).view(m_e0_4000bank); + m_e0_4000bank[0](0x4000, 0xbfff).rw(FUNC(apple2gs_state::e0ram_r<0x4000>), FUNC(apple2gs_state::e0ram_w<0x4000>)); + m_e0_4000bank[1](0x4000, 0xbfff).rw(FUNC(apple2gs_state::e1ram_r<0x4000>), FUNC(apple2gs_state::e0ram_w<0x4000>)); + m_e0_4000bank[2](0x4000, 0xbfff).rw(FUNC(apple2gs_state::e0ram_r<0x4000>), FUNC(apple2gs_state::e1ram_w<0x4000>)); + m_e0_4000bank[3](0x4000, 0xbfff).rw(FUNC(apple2gs_state::e1ram_r<0x4000>), FUNC(apple2gs_state::e1ram_w<0x4000>)); map(0xe0c000, 0xe0c07f).rw(FUNC(apple2gs_state::c000_r), FUNC(apple2gs_state::c000_w)); map(0xe0c080, 0xe0c0ff).rw(FUNC(apple2gs_state::c080_r), FUNC(apple2gs_state::c080_w)); From 8060968351fb665bab145bc56a235c87977feb0e Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 24 Sep 2022 06:34:23 +0200 Subject: [PATCH 04/11] midway/midwunit.cpp, psikyo/psikyo.cpp: small notes updates / corrections. --- src/mame/midway/midwunit.cpp | 5 +++-- src/mame/psikyo/psikyo.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mame/midway/midwunit.cpp b/src/mame/midway/midwunit.cpp index 1ee3008b542a5..76309e9bd416d 100644 --- a/src/mame/midway/midwunit.cpp +++ b/src/mame/midway/midwunit.cpp @@ -23,8 +23,9 @@ BTANB: * umk3 Scorpion's "Get Over Here" sample gets cut off, ROM dumps confirmed good - NOTE: There is known to exist (currently not dumped) a Wrestlemania PCB with the following labels: - Wrestlemania 1.0 U63 #8549 & Wrestlemania 1.0 U54 #40C7 + NOTE: There is known to exist a Wrestlemania PCB with the following labels: + Wrestlemania 1.0 U63 #B549 & Wrestlemania 1.0 U54 #40C7 + These checksums match the version 1.1 dump. *************************************************************************** diff --git a/src/mame/psikyo/psikyo.cpp b/src/mame/psikyo/psikyo.cpp index 386f8db73c931..b964b145ac1c6 100644 --- a/src/mame/psikyo/psikyo.cpp +++ b/src/mame/psikyo/psikyo.cpp @@ -1191,7 +1191,7 @@ void psikyo_state::s1945(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - ymf278b_device &ymf(YMF278B(config, "ymf", 33.8688_MHz_XTAL)); // YMF286-K instead on some PCBs + ymf278b_device &ymf(YMF278B(config, "ymf", 33.8688_MHz_XTAL)); // YMF268-K instead on some PCBs ymf.irq_handler().set_inputline(m_audiocpu, 0); ymf.add_route(ALL_OUTPUTS, "mono", 1.0); From 1826615dad06d82e77f432cf5644a16fe979f36e Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 24 Sep 2022 09:34:36 +0200 Subject: [PATCH 05/11] namco/namcops2.cpp: redumped HDD for cobrata [Guru] --- src/mame/namco/namcops2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mame/namco/namcops2.cpp b/src/mame/namco/namcops2.cpp index 986bacbc4a4b3..721b8d65e7d62 100644 --- a/src/mame/namco/namcops2.cpp +++ b/src/mame/namco/namcops2.cpp @@ -1400,7 +1400,7 @@ ROM_START( cobrata ) ROM_LOAD( "cbr1verb_spr.ic002", 0x800000, 0x040000, CRC(65aaadcf) SHA1(5cc642f71bef3b5e44db5e999e8abccca7fdaa4c) ) DISK_REGION("dvd") - DISK_IMAGE_READONLY( "cbr1-ha", 0, SHA1(a20d4ace91a2f2caab0804ebdf62c87ab267239b) ) + DISK_IMAGE_READONLY( "cbr1-ha", 0, SHA1(aaaa389c6c0779c2177d2742b00f24ebe7039937) ) ROM_END ROM_START( rrvac ) From 8601d8cce3866ec40164cdc2662a3ace0eb1d005 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Sat, 24 Sep 2022 12:04:44 +0200 Subject: [PATCH 06/11] er1400: Correct clock phase and better handle data reads Fixes various issues in drivers. --- src/devices/machine/er1400.cpp | 4 ++-- src/mame/dec/decwritr.cpp | 6 ++---- src/mame/dec/vt100.cpp | 2 +- src/mame/facit/f4431.cpp | 13 ++----------- src/mame/facit/facit4440.cpp | 10 +--------- src/mame/learsiegler/adm36.cpp | 2 +- src/mame/wyse/wy50.cpp | 2 +- src/mame/wyse/wy85.cpp | 2 +- 8 files changed, 11 insertions(+), 30 deletions(-) diff --git a/src/devices/machine/er1400.cpp b/src/devices/machine/er1400.cpp index 695f22ac27a77..7a49272fe5c0e 100644 --- a/src/devices/machine/er1400.cpp +++ b/src/devices/machine/er1400.cpp @@ -323,7 +323,7 @@ WRITE_LINE_MEMBER(er1400_device::clock_w) m_clock_input = bool(state); // Commands are clocked by a logical 1 -> 0 transition (i.e. rising edge) - if (!state) + if (state) { if (machine().time() >= m_write_time) write_data(); @@ -398,5 +398,5 @@ WRITE_LINE_MEMBER(er1400_device::clock_w) READ_LINE_MEMBER(er1400_device::data_r) { - return m_data_input | m_data_output; + return m_data_input & m_data_output; } diff --git a/src/mame/dec/decwritr.cpp b/src/mame/dec/decwritr.cpp index a611086d46158..e5ada3255d7c9 100644 --- a/src/mame/dec/decwritr.cpp +++ b/src/mame/dec/decwritr.cpp @@ -180,12 +180,10 @@ void decwriter_state::la120_NVR_w(offs_t offset, uint8_t data) m_nvm->c3_w(BIT(offset, 10)); m_nvm->c2_w(BIT(offset, 9)); m_nvm->c1_w(BIT(offset, 8)); - - // FIXME: clock line shouldn't be inverted relative to C1-C3, but accesses only seems to work this way - m_nvm->clock_w(!BIT(offset, 0)); + m_nvm->clock_w(BIT(offset, 0)); // C2 is used to disable pullup on data line - m_nvm->data_w(!BIT(offset, 9) ? 0 : !BIT(data, 7)); + m_nvm->data_w(BIT(offset, 9) ? !BIT(data, 7) : 1); } /* todo: fully reverse engineer DC305 ASIC */ diff --git a/src/mame/dec/vt100.cpp b/src/mame/dec/vt100.cpp index e54e32c8e83bb..8c50cd35a2307 100644 --- a/src/mame/dec/vt100.cpp +++ b/src/mame/dec/vt100.cpp @@ -179,7 +179,7 @@ void vt100_state::nvr_latch_w(u8 data) m_nvr->c1_w(!BIT(data, 1)); // C2 is used to disable pullup on data line - m_nvr->data_w(BIT(data, 2) ? 0 : !BIT(data, 0)); + m_nvr->data_w(BIT(data, 2) ? 1 : !BIT(data, 0)); // SPDS present on pins 11, 19 and 23 of EIA connector m_rs232->write_spds(BIT(data, 5)); diff --git a/src/mame/facit/f4431.cpp b/src/mame/facit/f4431.cpp index dcdb7672b1910..0665a9771301c 100644 --- a/src/mame/facit/f4431.cpp +++ b/src/mame/facit/f4431.cpp @@ -310,20 +310,11 @@ void f4431_state::latch_w(uint8_t data) // ------1- earom data // -------0 earom c1 - if (0) - logerror("latch_w: %02x\n", data); - m_earom->c1_w(BIT(data, 0)); - m_earom->data_w(BIT(data, 4) ? 0 : BIT(data, 1)); + m_earom->data_w(BIT(data, 1)); m_earom->c3_w(BIT(data, 2)); m_earom->c2_w(BIT(data, 3)); - - // don't clock a 'standby' state. the system clocks this and afterwards - // the real state; this causes the real state to be ignored, losing the - // first bit. to avoid this we don't clock the standby state. maybe it - // works in the real system because of timing. - if (data & 0x1d) - m_earom->clock_w(BIT(data, 4)); + m_earom->clock_w(BIT(data, 4)); m_display_enabled = bool(BIT(data, 5)); m_nmi_disabled = bool(BIT(data, 6)); diff --git a/src/mame/facit/facit4440.cpp b/src/mame/facit/facit4440.cpp index d203d085319fa..3383577ff73ad 100644 --- a/src/mame/facit/facit4440.cpp +++ b/src/mame/facit/facit4440.cpp @@ -100,15 +100,6 @@ class facit4440_state : public driver_device void facit4440_state::earom_latch_w(u8 data) { // SN74LS174 latch + SN7406 inverter - - // Prevent outputs from interfering with data reads - if (!BIT(data, 2)) - data &= 0xfc; - - // FIXME: clock must be written first here due to data/control setup time - m_earom[0]->clock_w(BIT(data, 5)); - m_earom[1]->clock_w(BIT(data, 5)); - m_earom[0]->data_w(BIT(data, 0)); m_earom[1]->data_w(BIT(data, 1)); @@ -117,6 +108,7 @@ void facit4440_state::earom_latch_w(u8 data) earom->c2_w(BIT(data, 2)); earom->c1_w(BIT(data, 3)); earom->c3_w(BIT(data, 4)); + earom->clock_w(BIT(data, 5)); } } diff --git a/src/mame/learsiegler/adm36.cpp b/src/mame/learsiegler/adm36.cpp index 2e35f81120f38..1d006e876a70b 100644 --- a/src/mame/learsiegler/adm36.cpp +++ b/src/mame/learsiegler/adm36.cpp @@ -87,7 +87,7 @@ u8 adm36_state::pio_pb_r() void adm36_state::pio_pb_w(u8 data) { - m_earom->clock_w(!BIT(data, 4)); + m_earom->clock_w(BIT(data, 4)); m_earom->c3_w(BIT(data, 3)); m_earom->c2_w(BIT(data, 2)); m_earom->c1_w(BIT(data, 1)); diff --git a/src/mame/wyse/wy50.cpp b/src/mame/wyse/wy50.cpp index db5b5a6c13e2a..e5977e810130f 100644 --- a/src/mame/wyse/wy50.cpp +++ b/src/mame/wyse/wy50.cpp @@ -222,11 +222,11 @@ void wy50_state::earom_w(u8 data) // Bit 3 = EAROM C2 // Bit 4 = EAROM C1 // Bit 5 = UPCHAR/NORM + m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 1); m_earom->clock_w(BIT(data, 1)); m_earom->c3_w(BIT(data, 2)); m_earom->c2_w(BIT(data, 3)); m_earom->c1_w(BIT(data, 4)); - m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 0); m_font2 = BIT(data, 5); } diff --git a/src/mame/wyse/wy85.cpp b/src/mame/wyse/wy85.cpp index 1c4038d41b464..682fde95b41dd 100644 --- a/src/mame/wyse/wy85.cpp +++ b/src/mame/wyse/wy85.cpp @@ -99,7 +99,7 @@ void wy85_state::earom_w(u8 data) m_earom->c3_w(BIT(data, 2)); m_earom->c2_w(BIT(data, 3)); m_earom->c1_w(BIT(data, 4)); - m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 0); + m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 1); } u8 wy85_state::misc_r() From 7896c2921e5e4c0df8bd0db71a71a7eab5a27a54 Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Sat, 24 Sep 2022 03:28:26 -0800 Subject: [PATCH 07/11] famicom_cass.xml: Added one more Micom BASIC magazine game. (#10363) New working software list additions ----------------------------------- famicom_cass.xml: Star Ship Go!! [ozidual, Gaming Alexandria] --- hash/famicom_cass.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/hash/famicom_cass.xml b/hash/famicom_cass.xml index da8c151a47b1d..ad3a34aa6a90e 100644 --- a/hash/famicom_cass.xml +++ b/hash/famicom_cass.xml @@ -364,6 +364,27 @@ tape by UglyJoe of famicomworld --> + + Star Ship Go!! + 1985 + Micom BASIC + + + + + + + + + + + + + + + + + War Game 1985 From 942512e00c1174c39852b1cf82536e53e0047d6e Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Sat, 24 Sep 2022 03:31:05 -0800 Subject: [PATCH 08/11] a2600.xml: Added 19 homebrew cartridges. (#10364) New working software list additions (a2600.xml) ----------------------------------- Climber 5 (NTSC) [AtariAge] Climber 5 (PAL) [AtariAge] Gunfight (NTSC) [AtariAge] Gunfight (PAL) [AtariAge] Jammed [AtariAge] Marble Craze (NTSC) [AtariAge] Marble Craze (PAL) [AtariAge] Oystron [AtariAge] Qb (NTSC) [AtariAge] Qb (PAL) [AtariAge] Seawolf (NTSC) [AtariAge] Seawolf (PAL) [AtariAge] Space Instigators [AtariAge] Star Fire (NTSC) [AtariAge] Star Fire (PAL) [AtariAge] Synthcart [AtariAge] Testcart [AtariAge] Thrust+ - D.C. Edition [AtariAge] Thrust+ - Platinum Edition [AtariAge] --- hash/a2600.xml | 224 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) diff --git a/hash/a2600.xml b/hash/a2600.xml index eea16130c674f..3e708e84369e2 100644 --- a/hash/a2600.xml +++ b/hash/a2600.xml @@ -3617,6 +3617,28 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Climber 5 (NTSC) + 2004 + Xype / AtariAge + + + + + + + + + Climber 5 (PAL) + 2004 + Xype / AtariAge + + + + + + + Coco Nuts 1982 @@ -7307,6 +7329,28 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Gunfight (NTSC) + 2001 + Xype / AtariAge + + + + + + + + + Gunfight (PAL) + 2001 + Xype / AtariAge + + + + + + + Gyruss 1984 @@ -7895,6 +7939,17 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Jammed + 2001 + Xype / AtariAge + + + + + + + Jawbreaker 1982 @@ -9083,6 +9138,34 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Marble Craze (NTSC) + 2002 + Xype / AtariAge + + + + + + + + + + + + Marble Craze (PAL) + 2002 + Xype / AtariAge + + + + + + + + + + Marine Wars 1983 @@ -10943,6 +11026,18 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Oystron + 1997 + Xype / AtariAge + + + + + + + + Pac Kong (PAL) (Goliath) 1983 @@ -12194,6 +12289,28 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Qb (NTSC) + 2001 + Xype / AtariAge + + + + + + + + + Qb (PAL) + 2001 + Xype / AtariAge + + + + + + + Quadrun 1983 @@ -13698,6 +13815,28 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Seawolf (NTSC) + 2004 + Xype / AtariAge + + + + + + + + + Seawolf (PAL) + 2004 + Xype / AtariAge + + + + + + + Seawolf 3 (PAL) (prototype 19810323) 1983 @@ -14563,6 +14702,18 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Space Instigators + 2002 + Xype / AtariAge + + + + + + + + Space Invaders 1980 @@ -15318,6 +15469,30 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Star Fire (NTSC) + 2003 + Xype / AtariAge + + + + + + + + + + Star Fire (PAL) + 2003 + Xype / AtariAge + + + + + + + + Star Fox 1983 @@ -16530,6 +16705,20 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Synthcart + 2002 + AtariAge + + + + + + + + + + Tac-Scan 1982 @@ -16893,6 +17082,17 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Testcart + 2001 + AtariAge + + + + + + + The Texas Chainsaw Massacre 1983 @@ -16926,6 +17126,30 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb + + Thrust+ - Platinum Edition + 2003 + Xype / AtariAge + + + + + + + + + + Thrust+ - D.C. Edition + 2002 + Xype / AtariAge + + + + + + + + Thunderground 1983 From 816d54864008b5a86f276abd76bcf62945823308 Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Sat, 24 Sep 2022 05:00:04 -0800 Subject: [PATCH 09/11] -arcadia.xml: Added Japanese titles to Bandai games. (#10360) -mz2500.xml: Corrected gomokuna publisher. --- hash/arcadia.xml | 8 ++++++-- hash/famicom_cass.xml | 2 +- hash/mz2500.xml | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hash/arcadia.xml b/hash/arcadia.xml index 6b657eccc9ca7..582f1471ada16 100644 --- a/hash/arcadia.xml +++ b/hash/arcadia.xml @@ -638,6 +638,7 @@ Rumoured or Unreleased files: - 3D Raceway, Centipede, Fun with Math, Galaga, Ho Doraemon 1983 Bandai + @@ -647,9 +648,10 @@ Rumoured or Unreleased files: - 3D Raceway, Centipede, Fun with Math, Galaga, Ho - Dr. Slump: Arale + Dr. Slump: Arale-chan 1983 Bandai + @@ -797,6 +799,7 @@ Rumoured or Unreleased files: - 3D Raceway, Centipede, Fun with Math, Galaga, Ho Choujikuu Yousai Macross 1983 Bandai + @@ -810,7 +813,8 @@ Rumoured or Unreleased files: - 3D Raceway, Centipede, Fun with Math, Galaga, Ho Kidou Senshi Gundam 1983 Bandai - + + diff --git a/hash/famicom_cass.xml b/hash/famicom_cass.xml index ad3a34aa6a90e..57e8e4d0992ac 100644 --- a/hash/famicom_cass.xml +++ b/hash/famicom_cass.xml @@ -324,7 +324,7 @@ tape by UglyJoe of famicomworld --> - Kani-san no Hatahokobi + Kani-san no Hatahakobi 1984 Micom BASIC diff --git a/hash/mz2500.xml b/hash/mz2500.xml index 14ab91ab8c054..f72cf30617692 100644 --- a/hash/mz2500.xml +++ b/hash/mz2500.xml @@ -110,7 +110,7 @@ license:CC0 Gomoku Narabe 198? - Renju + ウスヰパソコンセンター (Usui Pasocom Center) From bec3213167334e5dac5e03de66b83dc73ad96c04 Mon Sep 17 00:00:00 2001 From: ArcadeShadow Date: Sat, 24 Sep 2022 14:46:56 +0100 Subject: [PATCH 10/11] ibm5150.xml: 6 new working software list additions (#10365) New working software list additions ----------------------------------- Chess Simulator [The Good Old Days] Chicago 90 [The Good Old Days] California Pro Golf [The Good Old Days] Command H.Q. (3.5") [The Good Old Days] Command H.Q. (5.25") [The Good Old Days] Expert Will (v1.4) [ibmpc5150, archive.org] Metadata correction: Change floppy interface to 3_5 on "Wizardry" games --- hash/ibm5150.xml | 94 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 87 insertions(+), 7 deletions(-) diff --git a/hash/ibm5150.xml b/hash/ibm5150.xml index 5441b227cbf67..8a2c7a67c8cc7 100644 --- a/hash/ibm5150.xml +++ b/hash/ibm5150.xml @@ -2463,12 +2463,12 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went 1985 Sir-Tech Software - + - + @@ -2480,12 +2480,12 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went 1986 Sir-Tech Software - + - + @@ -2498,7 +2498,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went Sir-Tech Software - + @@ -2511,7 +2511,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went Sir-Tech Software - + @@ -4117,7 +4117,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went - Word (PC World Demo, October 1983) + Word (PC World demo, October 1983) 1983 Microsoft @@ -9275,6 +9275,22 @@ has been replaced with an all-zero block. --> + + California Pro Golf + 1988 + Mastertronic + + + + + + + + + + + + Captain Blood @@ -9536,6 +9552,30 @@ has been replaced with an all-zero block. --> + + Chess Simulator + 1990 + Infogrames + + + + + + + + + + + Chicago 90 + 1990 + Microïds + + + + + + + Chip 'N Dale Rescue Rangers - The Adventure in Nimnul's Castle 1990 @@ -9686,6 +9726,35 @@ has been replaced with an all-zero block. --> + + Command H.Q. (5.25") + 1990 + MicroProse + + + + + + + + + + + + + + + Command H.Q. (3.5") + 1990 + MicroProse + + + + + + + + Commander Keen in Invasion of the Vorticons (5.25", v1.31) 1991 @@ -10590,6 +10659,17 @@ has been replaced with an all-zero block. --> + + Expert Will (v1.4) + 1990 + Expert Software + + + + + + + Eye of Horus 1989 From b2679ec43c7b358b29f2c5a3b6d3ccb93abbc8f3 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 25 Sep 2022 00:56:34 +1000 Subject: [PATCH 11/11] srcclean pass in preparation for release branch --- hash/apple2gs_flop_orig.xml | 4 ++-- hash/digiblast_cart.xml | 24 +++++++++---------- hash/ekara_japan_s.xml | 6 ++--- src/devices/bus/mtu130/board.h | 10 ++++---- src/devices/cpu/m6502/m6502.h | 4 ++-- src/devices/sound/hc55516.cpp | 2 +- src/lib/formats/ap2_dsk.cpp | 6 ++--- src/lib/formats/fsmgr.h | 4 ++-- src/lib/formats/victor9k_dsk.cpp | 34 +++++++++++++-------------- src/mame/act/victor9k.cpp | 6 ++--- src/mame/apple/apple2gs.cpp | 24 +++++++++---------- src/mame/apple/lisa.cpp | 4 ++-- src/mame/facit/f4431.cpp | 40 ++++++++++++++++---------------- src/mame/facit/f4431_kbd.cpp | 6 ++--- src/mame/ibm/rs6000_type7xxx.cpp | 24 +++++++++---------- src/mame/konami/rockrage.cpp | 2 +- src/mame/layout/f4431.lay | 4 ++-- src/mame/misc/mtu130.cpp | 8 +++---- src/mame/psikyo/psikyosh.cpp | 2 +- 19 files changed, 107 insertions(+), 107 deletions(-) diff --git a/hash/apple2gs_flop_orig.xml b/hash/apple2gs_flop_orig.xml index 77a9c240d407d..7754a0d74343f 100644 --- a/hash/apple2gs_flop_orig.xml +++ b/hash/apple2gs_flop_orig.xml @@ -3930,7 +3930,7 @@ license:CC0 - + Space Ace II: Borf's Revenge 2022 @@ -4021,5 +4021,5 @@ license:CC0 - + diff --git a/hash/digiblast_cart.xml b/hash/digiblast_cart.xml index 54f6c1bda4236..074038162ca18 100644 --- a/hash/digiblast_cart.xml +++ b/hash/digiblast_cart.xml @@ -5,7 +5,7 @@ license:CC0 --> @@ -19,7 +19,7 @@ license:CC0 - + Sponge Bob Square Pants 1 (Italy / Spain) 2005 @@ -29,8 +29,8 @@ license:CC0 - - + + Totally Spies! 1 (Italy) 2005 @@ -40,8 +40,8 @@ license:CC0 - - + + Yu-Gi-Oh! (Italy / Spain) 2005 @@ -51,8 +51,8 @@ license:CC0 - - + + Winx Club + 5 Atari Games (Italy / Spain) 2005 @@ -62,8 +62,8 @@ license:CC0 - - + + Winx Club 1 (Italy / Spain) 2005 @@ -73,6 +73,6 @@ license:CC0 - - + + diff --git a/hash/ekara_japan_s.xml b/hash/ekara_japan_s.xml index 6c95d99701048..8086cf4d97c58 100644 --- a/hash/ekara_japan_s.xml +++ b/hash/ekara_japan_s.xml @@ -155,7 +155,7 @@ license:CC0 - Saiten Cartridge Challenge Idol vol.4 (Japan) (SC0014-SAI) + Saiten Cartridge: Challenge Idol vol.4 (Japan) (SC0014-SAI) 2002 Takara @@ -164,7 +164,7 @@ license:CC0 - + Saiten Cartridge: Detective Conan Vol.2 (Japan) (SC0015-DCS) @@ -204,7 +204,7 @@ license:CC0 - Saiten Cartridge Challenge Idol vol.5 (Japan) (SC0020-SAI) + Saiten Cartridge: Challenge Idol vol.5 (Japan) (SC0020-SAI) 2002 Takara diff --git a/src/devices/bus/mtu130/board.h b/src/devices/bus/mtu130/board.h index fb14cf08b6fb1..a7556757c5e13 100644 --- a/src/devices/bus/mtu130/board.h +++ b/src/devices/bus/mtu130/board.h @@ -17,7 +17,7 @@ class mtu130_extension_interface : public device_interface // Read/write on banks 2/3 virtual void write23(offs_t offset, u8 data) = 0; virtual u8 read23(offs_t offset) = 0; - + // Map i/o in the bfxx area. virtual void map_io(address_space_installer &space) = 0; @@ -38,14 +38,14 @@ class mtu130_extension_device : public device_t, public device_single_card_slot_ // Read/write on banks 2/3, read return 0xff if not driven void write23(offs_t offset, u8 data) { - auto dev = get_card_device(); - if(dev) + auto dev = get_card_device(); + if(dev) dev->write23(offset, data); } u8 read23(offs_t offset) { - auto dev = get_card_device(); - return dev ? dev->read23(offset) : 0xff; + auto dev = get_card_device(); + return dev ? dev->read23(offset) : 0xff; } void map_io(address_space_installer &space); diff --git a/src/devices/cpu/m6502/m6502.h b/src/devices/cpu/m6502/m6502.h index a94448eddc1e3..4b05d7a0846bb 100644 --- a/src/devices/cpu/m6502/m6502.h +++ b/src/devices/cpu/m6502/m6502.h @@ -38,8 +38,8 @@ class m6502_device : public cpu_device { m6502_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); void set_address_width(int width, bool custom_interface) { - program_config.m_addr_width = width; - sprogram_config.m_addr_width = width; + program_config.m_addr_width = width; + sprogram_config.m_addr_width = width; uses_custom_memory_interface = custom_interface; } diff --git a/src/devices/sound/hc55516.cpp b/src/devices/sound/hc55516.cpp index 33dcab70e6a4c..ab4497a4a9349 100644 --- a/src/devices/sound/hc55516.cpp +++ b/src/devices/sound/hc55516.cpp @@ -11,7 +11,7 @@ TODO: - see .h file - - research HC-55536 and HC-55564 differences vs HC-55516 (better auto-zeroing, + - research HC-55536 and HC-55564 differences vs HC-55516 (better auto-zeroing, and removal of the encoder offset compensation DAC?) - /src/mame/exidy/exidy440_a.cpp has its own internal implementation of the MC3417 and MC3418, it should be using this file instead diff --git a/src/lib/formats/ap2_dsk.cpp b/src/lib/formats/ap2_dsk.cpp index 31f2554aea928..bb29cd1702bf0 100644 --- a/src/lib/formats/ap2_dsk.cpp +++ b/src/lib/formats/ap2_dsk.cpp @@ -2054,11 +2054,11 @@ bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::v uint32_t trks_off = off_trks + (fidx * 8); uint32_t boff = (uint32_t)r16(img, trks_off + 0) * 512; uint32_t track_size = r32(img, trks_off + 4); - + uint32_t total_ticks = 0; for(uint32_t i=0; i != track_size; i++) total_ticks += img[boff+i]; - + // Assume there is always a pulse at index, and it's // the last one in the stream std::vector &buf = image->get_buffer(track, head); @@ -2075,7 +2075,7 @@ bool moof_format::load(util::random_read &io, uint32_t form_factor, const std::v uint32_t trks_off = off_trks + (idx * 8); uint32_t boff = (uint32_t)r16(img, trks_off + 0) * 512; - + uint32_t track_size = r32(img, trks_off + 4); if (track_size == 0) diff --git a/src/lib/formats/fsmgr.h b/src/lib/formats/fsmgr.h index 6e3220ad75391..fa4acfaafe874 100644 --- a/src/lib/formats/fsmgr.h +++ b/src/lib/formats/fsmgr.h @@ -301,8 +301,8 @@ class manager_t { virtual void add_format(const floppy_image_format_t &type, u32 image_size, const char *name, const char *description) = 0; private: - u32 m_form_factor; - const std::vector & m_variants; + u32 m_form_factor; + const std::vector & m_variants; }; struct hd_enumerator { diff --git a/src/lib/formats/victor9k_dsk.cpp b/src/lib/formats/victor9k_dsk.cpp index df2b503aa02a9..eb2a0135d2021 100644 --- a/src/lib/formats/victor9k_dsk.cpp +++ b/src/lib/formats/victor9k_dsk.cpp @@ -36,10 +36,10 @@ 7 71-79 63-74 12 149.6 401 8 unused 75-79 11 144.0 417 - * The documentation for the Victor lists Zone 4 as ending with Track 48 - on side 1 and track 40 on side two. This is incorrect. The above table - reflects disks analyzed from various machines and matches the assembly - code in the floppy driver. Various written documents contain this + * The documentation for the Victor lists Zone 4 as ending with Track 48 + on side 1 and track 40 on side two. This is incorrect. The above table + reflects disks analyzed from various machines and matches the assembly + code in the floppy driver. Various written documents contain this documentation bug. Interleave factor 3 @@ -152,16 +152,16 @@ int victor9k_format::find_size(util::random_read &io, uint32_t form_factor) { return find_size(io); } - -int victor9k_format::identify(floppy_image *image) + +int victor9k_format::identify(floppy_image *image) { for(int i=0; formats[i].form_factor; i++) { const format &f = formats[i]; if(f.variant == image->get_variant()) return i; } - - return -1; + + return -1; } @@ -210,7 +210,7 @@ void victor9k_format::log_boot_sector(uint8_t *data) //Disk type - flags osd_printf_verbose("%s sided\n", (data[32]) ? "Double" : "Single"); - //Sector Interleave + //Sector Interleave osd_printf_verbose("Sector Interleave: %02x\n", data[33]); // Disc type @@ -296,7 +296,7 @@ bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const st const format &f = formats[type]; - osd_printf_verbose("Type: %d Head Count: %d Sector Count: %d\n", type, + osd_printf_verbose("Type: %d Head Count: %d Sector Count: %d\n", type, f.head_count, f.sector_count); uint64_t size; @@ -314,7 +314,7 @@ bool victor9k_format::load(util::random_read &io, uint32_t form_factor, const st int track_offset = 0; - osd_printf_verbose("load Heads: %01d Tracks: %02d Sectors/track head[1]track[1]: %02d\n ", + osd_printf_verbose("load Heads: %01d Tracks: %02d Sectors/track head[1]track[1]: %02d\n ", f.head_count, f.track_count, sectors_per_track[1][1]); for (int head = 0; head < f.head_count; head++) { @@ -432,7 +432,7 @@ const int victor9k_format::speed_zone[2][80] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -457,7 +457,7 @@ bool victor9k_format::save(util::random_read_write &io, const std::vector>type: %s, head: %d, track: %d, sector_count: %d, offset: %d, track_size: %d\n", + osd_printf_verbose(">>type: %s, head: %d, track: %d, sector_count: %d, offset: %d, track_size: %d\n", f.sector_base_size, head, track, sector_count, offset, track_size); build_sector_description(f, sectdata, 0, sectors, sector_count); @@ -481,7 +481,7 @@ bool victor9k_format::save(util::random_read_write &io, const std::vectorsize(); - u8 *m_ram_ptr = m_ram->pointer(); + u8 *m_ram_ptr = m_ram->pointer(); - int ramsize = m_ram_size; + int ramsize = m_ram_size; if (ramsize > 0) { address_space& space = m_maincpu->space(AS_PROGRAM); - if (ramsize > 0xdffff) //the 896KB option overlaps 1 bit with + if (ramsize > 0xdffff) //the 896KB option overlaps 1 bit with ramsize = 0xdffff; //the I/O memory space, truncating if (LOG) logerror("install_ram ramsize %x\n", ramsize); space.install_ram(0x0, ramsize, m_ram_ptr); diff --git a/src/mame/apple/apple2gs.cpp b/src/mame/apple/apple2gs.cpp index 4faea087db2f2..61f0a3809f35a 100644 --- a/src/mame/apple/apple2gs.cpp +++ b/src/mame/apple/apple2gs.cpp @@ -373,10 +373,10 @@ class apple2gs_state : public driver_device u8 b1ram4000_r(offs_t offset); void b1ram4000_w(offs_t offset, u8 data); - template u8 e0ram_r(offs_t offset); - template void e0ram_w(offs_t offset, u8 data); - template u8 e1ram_r(offs_t offset); - template void e1ram_w(offs_t offset, u8 data); + template u8 e0ram_r(offs_t offset); + template void e0ram_w(offs_t offset, u8 data); + template u8 e1ram_r(offs_t offset); + template void e1ram_w(offs_t offset, u8 data); u8 c000_r(offs_t offset); void c000_w(offs_t offset, u8 data); @@ -3815,17 +3815,17 @@ u8 apple2gs_state::read_floatingbus() ADDRESS MAP ***************************************************************************/ -template -u8 apple2gs_state::e0ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + addr]; } +template +u8 apple2gs_state::e0ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + Addr]; } -template -void apple2gs_state::e0ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + addr] = data; } +template +void apple2gs_state::e0ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + Addr] = data; } -template -u8 apple2gs_state::e1ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + addr + 0x10000]; } +template +u8 apple2gs_state::e1ram_r(offs_t offset) { slow_cycle(); return m_megaii_ram[offset + Addr + 0x10000]; } -template -void apple2gs_state::e1ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + addr + 0x10000] = data; } +template +void apple2gs_state::e1ram_w(offs_t offset, u8 data) { slow_cycle(); m_megaii_ram[offset + Addr + 0x10000] = data; } template u8 apple2gs_state::e0ram_r<0x0000>(offs_t offset); template u8 apple2gs_state::e0ram_r<0x0200>(offs_t offset); diff --git a/src/mame/apple/lisa.cpp b/src/mame/apple/lisa.cpp index 75badfdebef76..91bf04173da27 100644 --- a/src/mame/apple/lisa.cpp +++ b/src/mame/apple/lisa.cpp @@ -102,8 +102,8 @@ void lisa_state::lisa(machine_config &config) /* devices */ IWM(config, m_fdc, 8_MHz_XTAL); -// m_iwm->phases_cb().set(FUNC(mac128_state::phases_w)); -// m_iwm->devsel_cb().set(FUNC(mac128_state::devsel_w)); +// m_iwm->phases_cb().set(FUNC(mac128_state::phases_w)); +// m_iwm->devsel_cb().set(FUNC(mac128_state::devsel_w)); applefdintf_device::add_35(config, m_floppy[0]); applefdintf_device::add_35(config, m_floppy[1]); diff --git a/src/mame/facit/f4431.cpp b/src/mame/facit/f4431.cpp index 0665a9771301c..e7b10e7be42f2 100644 --- a/src/mame/facit/f4431.cpp +++ b/src/mame/facit/f4431.cpp @@ -4,29 +4,29 @@ Facit 4431 - VT100 compatible terminal + VT100 compatible terminal Hardware: - Z80 - - TMS9927 CRTC - - Z80A-DART - - Z80A-CTC - - ER1400 - - 6116 - - 6116 x2 - - 2114 x4 - - XTAL 9.828 MHz (B1), 14.976 MHz (B2), 4 MHz (B3) - - AY-5-1013A UART + - TMS9927 CRTC + - Z80A-DART + - Z80A-CTC + - ER1400 + - 6116 + - 6116 x2 + - 2114 x4 + - XTAL 9.828 MHz (B1), 14.976 MHz (B2), 4 MHz (B3) + - AY-5-1013A UART TODO: - - Character attributes (RAM at 0xc000) - - Cursor - - 132 column mode - - Smooth scrolling - - Timings - - Printer - - Figure out why the EAROM hack is needed - - Move ergo201 driver here? The hardware is very similar + - Character attributes (RAM at 0xc000) + - Cursor + - 132 column mode + - Smooth scrolling + - Timings + - Printer + - Figure out why the EAROM hack is needed + - Move ergo201 driver here? The hardware is very similar Notes: @@ -193,11 +193,11 @@ uint32_t f4431_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, // double height, bottom if ((m_row_attr & 0x30) == 0x10) line = line / 2 + 5; - + // double height, top if ((m_row_attr & 0x30) == 0x20) line = line / 2; - + if (BIT(m_row_attr, 4) || BIT(m_row_attr, 5) ) { // double width diff --git a/src/mame/facit/f4431_kbd.cpp b/src/mame/facit/f4431_kbd.cpp index db7c6b1d9ed82..e691ae2d1f6ed 100644 --- a/src/mame/facit/f4431_kbd.cpp +++ b/src/mame/facit/f4431_kbd.cpp @@ -5,11 +5,11 @@ Facit F4431 keyboard TOOD: - - Speaker sounds weird - - Verify country codes + - Speaker sounds weird + - Verify country codes Notes: - - Also supports F4420 and F4430? + - Also supports F4420 and F4430? - MCU P2 is never read? ***************************************************************************/ diff --git a/src/mame/ibm/rs6000_type7xxx.cpp b/src/mame/ibm/rs6000_type7xxx.cpp index f2cc652421140..ba8aaa9aeb9db 100755 --- a/src/mame/ibm/rs6000_type7xxx.cpp +++ b/src/mame/ibm/rs6000_type7xxx.cpp @@ -2,20 +2,20 @@ // copyright-holders:R. Belmont /*************************************************************************** - rs6000_type7xxx.cpp - IBM RS/6000 PowerPC based MicroChannel systems - Skeleton by R. Belmont + rs6000_type7xxx.cpp - IBM RS/6000 PowerPC based MicroChannel systems + Skeleton by R. Belmont - Type 7009: PPC 601 @ 80 MHz, serial console, SCSI, 3-digit 7-segment display, - 4 MCA slots, Ethernet, and a 2.88MB floppy with an unknown controller + Type 7009: PPC 601 @ 80 MHz, serial console, SCSI, 3-digit 7-segment display, + 4 MCA slots, Ethernet, and a 2.88MB floppy with an unknown controller - The NetBSD boot log for a Type 7011 indicates the integrated SCSI is - an NCR 53C720 appearing as an MCA board with the ID word 0x8fba. - The "I/O planar" appears as an MCA board with the ID word 0x8f98 and - it contains two NS16550A UARTs and an unknown Ethernet chip. + The NetBSD boot log for a Type 7011 indicates the integrated SCSI is + an NCR 53C720 appearing as an MCA board with the ID word 0x8fba. + The "I/O planar" appears as an MCA board with the ID word 0x8f98 and + it contains two NS16550A UARTs and an unknown Ethernet chip. - References: - https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/0/897/ENUS7009-C10/index.html&lang=en_US - http://mail-index.netbsd.org/port-prep/2008/01/15/msg000001.html + References: + https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/0/897/ENUS7009-C10/index.html&lang=en_US + http://mail-index.netbsd.org/port-prep/2008/01/15/msg000001.html ************************************************************************/ @@ -68,6 +68,6 @@ ROM_START( rs6k7009 ) ROM_LOAD( "am27c040@dip32_ibm_7009_c10.bin", 0x000000, 0x080000, CRC(ff889bba) SHA1(b633584a0707913ac42ec127fcc567aa27d8af06) ) ROM_END -} // anonymous namespace +} // anonymous namespace COMP( 1994, rs6k7009, 0, 0, type7009, type7009, type7xxx_state, empty_init, "International Business Machines", "RS/6000 Type 7009 Model C10 Server", MACHINE_NOT_WORKING|MACHINE_NO_SOUND_HW ) diff --git a/src/mame/konami/rockrage.cpp b/src/mame/konami/rockrage.cpp index 2813e1970e5e1..fc56da1806c2a 100644 --- a/src/mame/konami/rockrage.cpp +++ b/src/mame/konami/rockrage.cpp @@ -396,5 +396,5 @@ ROM_END // YEAR, NAME, PARENT, MACHINE, INPUT, INIT,MONITOR,COMPANY,FULLNAME,FLAGS GAME( 1986, rockrage, 0, rockrage, rockrage, rockrage_state, empty_init, ROT0, "Konami", "Rock'n Rage (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, rockragea, rockrage, rockrage, rockrage, rockrage_state, empty_init, ROT0, "Konami", "Rock'n Rage (prototype?)", MACHINE_SUPPORTS_SAVE ) // no title screen, abruptly cuts off ending before the "presented by Konami" seen in other sets, location test? +GAME( 1986, rockragea, rockrage, rockrage, rockrage, rockrage_state, empty_init, ROT0, "Konami", "Rock'n Rage (prototype?)", MACHINE_SUPPORTS_SAVE ) // no title screen, abruptly cuts off ending before the "presented by Konami" seen in other sets, location test? GAME( 1986, rockragej, rockrage, rockrage, rockrage, rockrage_state, empty_init, ROT0, "Konami", "Koi no Hotrock (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/layout/f4431.lay b/src/mame/layout/f4431.lay index d8fc03b5296a4..3abf86a9c9b98 100644 --- a/src/mame/layout/f4431.lay +++ b/src/mame/layout/f4431.lay @@ -7,7 +7,7 @@ Facit 4431 layout --> - + @@ -16,7 +16,7 @@ Facit 4431 layout - + diff --git a/src/mame/misc/mtu130.cpp b/src/mame/misc/mtu130.cpp index f5f0bdad3b15a..5a89d8c1d1e59 100644 --- a/src/mame/misc/mtu130.cpp +++ b/src/mame/misc/mtu130.cpp @@ -120,7 +120,7 @@ class mtu130_state : public driver_device u8 m_sadr, m_write_count, m_banks; memory_access<18, 0, 0, ENDIANNESS_LITTLE>::specific m_program; - + const u8 *m_sequencer; memory_interface(const u8 *sequencer, address_space &space); @@ -249,7 +249,7 @@ void mtu130_rom_device::call_unload() mtu130_state::memory_interface::memory_interface(const u8 *sequencer, address_space &space) : m_sadr(0), m_write_count(0), m_banks(0), m_sequencer(sequencer) { space.specific(m_program); -} +} u32 mtu130_state::memory_interface::banked_address(u16 adr, u8 sadr) const { @@ -310,7 +310,7 @@ u8 mtu130_state::memory_interface::read(u16 adr) m_write_count = 0; m_sadr = sadr; return data; -} +} u8 mtu130_state::memory_interface::read_arg(u16 adr) { @@ -451,7 +451,7 @@ WRITE_LINE_MEMBER(mtu130_state::dma_drq_w) u8 data = m_fdc->dma_r(); m_fdcram[m_dma_adr & 0x3fff] = data; m_dma_adr ++; - + } else { // Write to floppy u8 data = m_fdcram[m_dma_adr & 0x3fff]; diff --git a/src/mame/psikyo/psikyosh.cpp b/src/mame/psikyo/psikyosh.cpp index e862db1d99e12..c80b7a2b7e4c1 100644 --- a/src/mame/psikyo/psikyosh.cpp +++ b/src/mame/psikyo/psikyosh.cpp @@ -1352,7 +1352,7 @@ GAME( 1998, sbombera, sbomber, psikyo3v1, sbomber, psikyosh_state, in GAME( 1998, gunbird2, 0, psikyo5, gunbird2, psikyosh_state, init_ps5, ROT270, "Psikyo", "Gunbird 2 (set 1)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) GAME( 1998, gunbird2a, gunbird2, psikyo5, gunbird2, psikyosh_state, init_ps5, ROT270, "Psikyo", "Gunbird 2 (set 2)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) GAME( 1999, s1945iii, 0, psikyo5, s1945iii, psikyosh_state, init_ps5, ROT270, "Psikyo", "Strikers 1945 III (World) / Strikers 1999 (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) -GAME( 1999, s1945iiibl, s1945iii, s1945iiibl, s1945iii, psikyosh_state, init_s1945iiibl, ROT270, "bootleg", "Strikers 1945 III (World) / Strikers 1999 (Japan) (bootleg)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // sprites don't show up in +GAME( 1999, s1945iiibl, s1945iii, s1945iiibl, s1945iii, psikyosh_state, init_s1945iiibl, ROT270, "bootleg", "Strikers 1945 III (World) / Strikers 1999 (Japan) (bootleg)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // sprites don't show up in /* ps5v2 */ GAME( 2000, dragnblz, 0, psikyo5, dragnblz, psikyosh_state, init_ps5, ROT270, "Psikyo", "Dragon Blaze", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )