From 7bef365ac9bd9ffc83ecd596178b1287f8111c37 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 22 Jul 2023 22:25:02 +0200 Subject: [PATCH 1/7] beezer: swap ptm/via at mcfg, so via doesn't write to ptm before ptm is reset (cherry picked from commit b0550296595047a9bc20d81df6b6aec662518b19) --- src/mame/misc/beezer.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/mame/misc/beezer.cpp b/src/mame/misc/beezer.cpp index 1c963c25000..e2138d20fae 100644 --- a/src/mame/misc/beezer.cpp +++ b/src/mame/misc/beezer.cpp @@ -25,6 +25,7 @@ ***************************************************************************/ #include "emu.h" + #include "cpu/m6809/m6809.h" #include "machine/input_merger.h" #include "machine/timer.h" @@ -34,6 +35,7 @@ #include "sound/mm5837.h" #include "sound/dac76.h" #include "video/resnet.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -98,6 +100,7 @@ public: void beezer(machine_config &config); void main_map(address_map &map); void sound_map(address_map &map); + protected: virtual void machine_start() override; virtual void machine_reset() override; @@ -505,6 +508,13 @@ void beezer_state::beezer(machine_config &config) input_merger_device &audio_irqs(INPUT_MERGER_ANY_HIGH(config, "audio_irqs")); audio_irqs.output_handler().set_inputline(m_audiocpu, M6809_IRQ_LINE); + PTM6840(config, m_ptm, 4_MHz_XTAL / 4); + m_ptm->o1_callback().set(FUNC(beezer_state::ptm_o1_w)); + m_ptm->o2_callback().set(FUNC(beezer_state::ptm_o2_w)); + m_ptm->o3_callback().set(FUNC(beezer_state::ptm_o3_w)); + m_ptm->irq_callback().set("audio_irqs", FUNC(input_merger_device::in_w<0>)); + // schematics show an input labeled VCO to channel 2, but the source is unknown + MOS6522(config, m_via_audio, 4_MHz_XTAL / 4); m_via_audio->readpa_handler().set(FUNC(beezer_state::via_audio_pa_r)); m_via_audio->writepa_handler().set(FUNC(beezer_state::via_audio_pa_w)); @@ -512,14 +522,7 @@ void beezer_state::beezer(machine_config &config) m_via_audio->ca2_handler().set(m_via_system, FUNC(via6522_device::write_cb1)); m_via_audio->cb1_handler().set(FUNC(beezer_state::dmod_clr_w)); m_via_audio->cb2_handler().set(FUNC(beezer_state::dmod_data_w)); - m_via_audio->irq_handler().set("audio_irqs", FUNC(input_merger_device::in_w<0>)); - - PTM6840(config, m_ptm, 4_MHz_XTAL / 4); - m_ptm->o1_callback().set(FUNC(beezer_state::ptm_o1_w)); - m_ptm->o2_callback().set(FUNC(beezer_state::ptm_o2_w)); - m_ptm->o3_callback().set(FUNC(beezer_state::ptm_o3_w)); - m_ptm->irq_callback().set("audio_irqs", FUNC(input_merger_device::in_w<1>)); - // schematics show an input labeled VCO to channel 2, but the source is unknown + m_via_audio->irq_handler().set("audio_irqs", FUNC(input_merger_device::in_w<1>)); mm5837_device &noise(MM5837(config, "noise")); noise.set_vdd(-12); From f57940493de04f96c5fbb6320ef9180796d7684e Mon Sep 17 00:00:00 2001 From: angelosa Date: Sat, 22 Jul 2023 22:56:47 +0200 Subject: [PATCH 2/7] trs/vis.cpp: fix black screen regression --- src/mame/trs/vis.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mame/trs/vis.cpp b/src/mame/trs/vis.cpp index 60bb409a386..50e537145a5 100644 --- a/src/mame/trs/vis.cpp +++ b/src/mame/trs/vis.cpp @@ -728,6 +728,14 @@ void vis_vga_device::device_start() m_isa->install_device(0x03b0, 0x03df, *this, &vis_vga_device::io_isa_map); svga_device::device_start(); + save_item(NAME(m_extreg)); + save_item(NAME(m_extcnt)); + save_item(NAME(m_wina)); + save_item(NAME(m_winb)); + save_item(NAME(m_interlace)); + save_item(NAME(m_shift256)); + save_item(NAME(m_dw)); + save_item(NAME(m_8bit_640)); } void vis_vga_device::device_reset() @@ -817,7 +825,7 @@ void vis_vga_device::ramdac_hidden_mask_w(offs_t offset, u8 data) return; } - vga_device::ramdac_write_index_w(offset, data); + vga_device::ramdac_mask_w(offset, data); } class vis_state : public driver_device From 12e98b8f4374aa7124eec297fb8c5e63b990074e Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 23 Jul 2023 07:10:49 +1000 Subject: [PATCH 3/7] apple/dafb.cpp: Handle debugger reads better. --- src/mame/apple/dafb.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mame/apple/dafb.cpp b/src/mame/apple/dafb.cpp index 478ac9e6460..29b98d9ded6 100644 --- a/src/mame/apple/dafb.cpp +++ b/src/mame/apple/dafb.cpp @@ -624,17 +624,21 @@ u32 dafb_base::ramdac_r(offs_t offset) switch (offset << 2) { case 0: - m_pal_idx = 0; + if (!machine().side_effects_disabled()) + { + m_pal_idx = 0; + } return m_pal_address; case 0x10: { - pen_t entry = m_palette->pen(m_pal_address); + pen_t const entry = m_palette->pen(m_pal_address); + u8 const idx = m_pal_idx; if (!machine().side_effects_disabled()) { m_pal_idx++; } - switch (m_pal_idx - 1) + switch (idx) { case 0: return (entry >> 16) & 0xff; From 1929a31dd7924335dd59b687d7f3e4e4b8c0e617 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Tue, 25 Jul 2023 03:34:51 +1000 Subject: [PATCH 4/7] taito/taitosj.cpp: Reverted raw screen parameters and VBL interrupt. This partially reverts 7d9d020529e2e1a3b533f3d37ff10177ac66486e until a proper solution can be found that doesn't break graphics. --- src/mame/taito/taitosj.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mame/taito/taitosj.cpp b/src/mame/taito/taitosj.cpp index aa5473088d9..c5138cdfb4d 100644 --- a/src/mame/taito/taitosj.cpp +++ b/src/mame/taito/taitosj.cpp @@ -1771,6 +1771,7 @@ void taitosj_state::nomcu(machine_config &config) // basic machine hardware Z80(config, m_maincpu, 8_MHz_XTAL / 2); // on CPU board m_maincpu->set_addrmap(AS_PROGRAM, &taitosj_state::main_nomcu_map); + m_maincpu->set_vblank_int("screen", FUNC(taitosj_state::irq0_line_hold)); Z80(config, m_audiocpu, 12_MHz_XTAL / 4); // on GAME board m_audiocpu->set_addrmap(AS_PROGRAM, &taitosj_state::taitosj_audio_map); @@ -1782,10 +1783,12 @@ void taitosj_state::nomcu(machine_config &config) // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_raw(12_MHz_XTAL / 2, 384, 0, 256, 264, 16, 240); // verified from schematics + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + m_screen->set_size(32*8, 32*8); + m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1); m_screen->set_screen_update(FUNC(taitosj_state::screen_update)); m_screen->set_palette(m_palette); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_taitosj); PALETTE(config, m_palette).set_entries(64); From 64661ce1d17d0807b37fb69188779bcc37d3a40a Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 28 Jul 2023 01:49:52 +1000 Subject: [PATCH 5/7] apple2_flop_orig.xml, msx1_cart.xml: Fixed a couple of descriptions. --- hash/apple2_flop_orig.xml | 2 +- hash/msx1_cart.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hash/apple2_flop_orig.xml b/hash/apple2_flop_orig.xml index 011b7dcc19f..003775f353d 100644 --- a/hash/apple2_flop_orig.xml +++ b/hash/apple2_flop_orig.xml @@ -27084,7 +27084,7 @@ license:CC0-1.0 - Sorcerer (Release 18-860904-K) + Sorcerer (Release 18 / 860904-K) 1986 Infocom diff --git a/hash/msx1_cart.xml b/hash/msx1_cart.xml index 2ee1af18f15..94e5c9e5506 100644 --- a/hash/msx1_cart.xml +++ b/hash/msx1_cart.xml @@ -21454,7 +21454,7 @@ legacy FM implementations cannot find it. - Minimagos + MiniMagos 2017 <homebrew> From f811a66c53097f36052a7b798347cda0566aa5bf Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 28 Jul 2023 02:00:24 +1000 Subject: [PATCH 6/7] Bump version to 0.257 --- android-project/app/src/main/AndroidManifest.xml | 4 ++-- docs/source/conf.py | 4 ++-- makefile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android-project/app/src/main/AndroidManifest.xml b/android-project/app/src/main/AndroidManifest.xml index 8b575ace1e5..a288a689a01 100644 --- a/android-project/app/src/main/AndroidManifest.xml +++ b/android-project/app/src/main/AndroidManifest.xml @@ -4,8 +4,8 @@ --> diff --git a/docs/source/conf.py b/docs/source/conf.py index 5306b6a0912..0c4b9a54e36 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -63,9 +63,9 @@ copyright = u'1997-2023, MAMEdev and contributors' # built documents. # # The short X.Y version. -version = '0.256' +version = '0.257' # The full version, including alpha/beta/rc tags. -release = '0.256' +release = '0.257' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/makefile b/makefile index 1c612fbab73..f81ca839d97 100644 --- a/makefile +++ b/makefile @@ -1561,7 +1561,7 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.256"' > $@ + @echo '#define BARE_BUILD_VERSION "0.257"' > $@ @echo '#define BARE_VCS_REVISION "$(NEW_GIT_VERSION)"' >> $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char bare_vcs_revision[];' >> $@ @@ -1571,7 +1571,7 @@ $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) @echo 'const char build_version[] = BARE_BUILD_VERSION " (" BARE_VCS_REVISION ")";' >> $@ else $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo #define BARE_BUILD_VERSION "0.256" > $@ + @echo #define BARE_BUILD_VERSION "0.257" > $@ @echo #define BARE_VCS_REVISION "$(NEW_GIT_VERSION)" >> $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char bare_vcs_revision[]; >> $@ From 641f9d59ae87d3d1ac4d556589c0742da6a891ff Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 28 Jul 2023 16:03:43 +1000 Subject: [PATCH 7/7] Revert "taito/taitosj.cpp: Reverted raw screen parameters and VBL interrupt." This reverts commit 1929a31dd7924335dd59b687d7f3e4e4b8c0e617. --- src/mame/taito/taitosj.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/mame/taito/taitosj.cpp b/src/mame/taito/taitosj.cpp index c5138cdfb4d..aa5473088d9 100644 --- a/src/mame/taito/taitosj.cpp +++ b/src/mame/taito/taitosj.cpp @@ -1771,7 +1771,6 @@ void taitosj_state::nomcu(machine_config &config) // basic machine hardware Z80(config, m_maincpu, 8_MHz_XTAL / 2); // on CPU board m_maincpu->set_addrmap(AS_PROGRAM, &taitosj_state::main_nomcu_map); - m_maincpu->set_vblank_int("screen", FUNC(taitosj_state::irq0_line_hold)); Z80(config, m_audiocpu, 12_MHz_XTAL / 4); // on GAME board m_audiocpu->set_addrmap(AS_PROGRAM, &taitosj_state::taitosj_audio_map); @@ -1783,12 +1782,10 @@ void taitosj_state::nomcu(machine_config &config) // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(60); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate - m_screen->set_size(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + m_screen->set_raw(12_MHz_XTAL / 2, 384, 0, 256, 264, 16, 240); // verified from schematics m_screen->set_screen_update(FUNC(taitosj_state::screen_update)); m_screen->set_palette(m_palette); + m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_taitosj); PALETTE(config, m_palette).set_entries(64);