diff options
| author | 2025-10-11 15:45:34 -0400 | |
|---|---|---|
| committer | 2025-10-11 15:49:56 -0400 | |
| commit | 1ff330c9fbb768cb7669d6f52347470c6abd215a (patch) | |
| tree | 6fe5a13063a7f1ea1d6d508f79e8fe4ac8637542 | |
| parent | 71e7563495b2c58ede3a0c357110ad2e9a529f0f (diff) | |
nintendo/nes_vt42xx.cpp: Switch extended palette feature back to VT03 mode (improves colors in Commando on gprnrs16 & wol260)
Clones promoted to working
--------------------------
260 in 1 Handheld Game (Wolsen) [David Haywood, Team Europe, AJR]
| -rw-r--r-- | src/mame/nintendo/nes_vt42xx.cpp | 5 | ||||
| -rw-r--r-- | src/mame/nintendo/nes_vt42xx_soc.cpp | 36 |
2 files changed, 20 insertions, 21 deletions
diff --git a/src/mame/nintendo/nes_vt42xx.cpp b/src/mame/nintendo/nes_vt42xx.cpp index 2ef2bd5b8c5..e9b991dc22a 100644 --- a/src/mame/nintendo/nes_vt42xx.cpp +++ b/src/mame/nintendo/nes_vt42xx.cpp @@ -313,7 +313,7 @@ void nes_vt42xx_state::nes_vt42xx(machine_config &config) dynamic_cast<nes_vt09_soc_device&>(*m_soc).upper_read_412d_callback().set(FUNC(nes_vt42xx_state::upper_412d_r)); dynamic_cast<nes_vt09_soc_device&>(*m_soc).upper_write_412c_callback().set(FUNC(nes_vt42xx_state::upper_412c_w)); - m_soc->set_default_palette_mode(PAL_MODE_NEW_RGB12); + m_soc->set_default_palette_mode(PAL_MODE_VT0x); m_soc->force_bad_dma(); } @@ -596,6 +596,7 @@ CONS( 2019, gbox2019, 0, 0, nes_vt42xx_16mb, nes_vt42xx, nes_vt42xx_state, emp CONS( 200?, gprnrs1, 0, 0, nes_vt42xx_8mb, nes_vt42xx, nes_vt42xx_state, empty_init, "<unknown>", "Game Prince RS-1", MACHINE_IMPERFECT_GRAPHICS ) CONS( 200?, gprnrs16, 0, 0, nes_vt42xx_gprnrs16_2x16mb, nes_vt42xx, nes_vt42xx_bitboy_state, empty_init, "<unknown>", "Game Prince RS-16", MACHINE_IMPERFECT_GRAPHICS ) +CONS( 201?, wol260, gprnrs16, 0, nes_vt42xx_gprnrs16_2x16mb, nes_vt42xx, nes_vt42xx_bitboy_state, empty_init, "Wolsen", "260 in 1 Handheld Game (Wolsen)", MACHINE_IMPERFECT_GRAPHICS ) CONS( 200?, mc_9x6ss, 0, 0, nes_vt42xx_4mb, nes_vt42xx, nes_vt42xx_state, empty_init, "<unknown>", "999999 in 1 (PXP2 Slim Station)", MACHINE_IMPERFECT_GRAPHICS ) CONS( 200?, mc_9x6sa, mc_9x6ss, 0, nes_vt42xx_2mb, nes_vt42xx, nes_vt42xx_state, empty_init, "<unknown>", "999999 in 1 (8 bit Slim Station, NEWPXP-DVT22-A PCB)", MACHINE_IMPERFECT_GRAPHICS ) @@ -604,5 +605,3 @@ CONS( 200?, mc_8x6ss, 0, 0, nes_vt42xx_1mb, nes_vt42xx, nes_vt42xx_state, // Uses DIP switch to select console or cartridge, as cartridge is fake and just toggles a GPIO CONS( 2017, fapocket, 0, 0, nes_vt42xx_fa, nes_vt42xx_fa, nes_vt42xx_fapocket_state, empty_init, "<unknown>", "Family Pocket 638 in 1", MACHINE_IMPERFECT_GRAPHICS ) // has external banking (4x 16mbyte banks) - -CONS( 201?, wol260, 0, 0, nes_vt42xx_gprnrs16_2x16mb, nes_vt42xx, nes_vt42xx_bitboy_state, empty_init, "Wolsen", "260 in 1 Handheld Game (Wolsen)", MACHINE_NOT_WORKING ) diff --git a/src/mame/nintendo/nes_vt42xx_soc.cpp b/src/mame/nintendo/nes_vt42xx_soc.cpp index 267fce460ac..d9eea9e01de 100644 --- a/src/mame/nintendo/nes_vt42xx_soc.cpp +++ b/src/mame/nintendo/nes_vt42xx_soc.cpp @@ -50,7 +50,7 @@ void nes_vt42xx_soc_device::device_add_mconfig(machine_config& config) m_screen->set_visarea(0*8, 32*8-1, 0*8, 30*8-1); m_screen->set_screen_update(FUNC(nes_vt42xx_soc_device::screen_update)); - PPU_VT32(config, m_ppu, RP2A03_NTSC_XTAL); + PPU_VT03(config, m_ppu, RP2A03_NTSC_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_ppu->read_bg().set(FUNC(nes_vt42xx_soc_device::chr_r)); @@ -72,7 +72,7 @@ void nes_vt42xx_soc_pal_device::do_pal_timings_and_ppu_replacement(machine_confi { m_maincpu->set_clock(PALC_APU_CLOCK); - PPU_VT32PAL(config.replace(), m_ppu, RP2A03_PAL_XTAL); + PPU_VT03PAL(config.replace(), m_ppu, RP2A03_PAL_XTAL); m_ppu->set_cpu_tag(m_maincpu); m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_ppu->read_bg().set(FUNC(nes_vt42xx_soc_pal_device::chr_r)); @@ -157,22 +157,22 @@ void nes_vt42xx_soc_device::nes_vt42xx_soc_map(address_map &map) map(0x2000, 0x2007).rw(m_ppu, FUNC(ppu2c0x_device::read), FUNC(ppu2c0x_device::write)); // standard PPU registers // 2010 - 201f are extended regs, and can differ between VT models - map(0x2010, 0x2010).rw(m_ppu, FUNC(ppu_vt32_device::extended_modes_enable_r), FUNC(ppu_vt32_device::extended_modes_enable_w)); - map(0x2011, 0x2011).rw(m_ppu, FUNC(ppu_vt32_device::extended_modes2_enable_r), FUNC(ppu_vt32_device::extended_modes2_enable_w)); - map(0x2012, 0x2012).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_0_r), FUNC(ppu_vt32_device::videobank0_0_w)); - map(0x2013, 0x2013).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_1_r), FUNC(ppu_vt32_device::videobank0_1_w)); - map(0x2014, 0x2014).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_2_r), FUNC(ppu_vt32_device::videobank0_2_w)); - map(0x2015, 0x2015).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_3_r), FUNC(ppu_vt32_device::videobank0_3_w)); - map(0x2016, 0x2016).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_4_r), FUNC(ppu_vt32_device::videobank0_4_w)); - map(0x2017, 0x2017).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_5_r), FUNC(ppu_vt32_device::videobank0_5_w)); - map(0x2018, 0x2018).rw(m_ppu, FUNC(ppu_vt32_device::videobank1_r), FUNC(ppu_vt32_device::videobank1_w)); - map(0x2019, 0x2019).rw(m_ppu, FUNC(ppu_vt32_device::unk_2019_r), FUNC(ppu_vt32_device::gun_reset_w)); - map(0x201a, 0x201a).rw(m_ppu, FUNC(ppu_vt32_device::videobank0_extra_r), FUNC(ppu_vt32_device::videobank0_extra_w)); - map(0x201b, 0x201b).rw(m_ppu, FUNC(ppu_vt32_device::unk_201b_r), FUNC(ppu_vt32_device::m_newvid_1b_w)); - map(0x201c, 0x201c).rw(m_ppu, FUNC(ppu_vt32_device::gun_x_r), FUNC(ppu_vt32_device::m_newvid_1c_w)); - map(0x201d, 0x201d).rw(m_ppu, FUNC(ppu_vt32_device::gun_y_r), FUNC(ppu_vt32_device::m_newvid_1d_w)); - map(0x201e, 0x201e).r(m_ppu, FUNC(ppu_vt32_device::gun2_x_r)); - map(0x201f, 0x201f).r(m_ppu, FUNC(ppu_vt32_device::gun2_y_r)); + map(0x2010, 0x2010).rw(m_ppu, FUNC(ppu_vt03_device::extended_modes_enable_r), FUNC(ppu_vt03_device::extended_modes_enable_w)); + map(0x2011, 0x2011).rw(m_ppu, FUNC(ppu_vt03_device::extended_modes2_enable_r), FUNC(ppu_vt03_device::extended_modes2_enable_w)); + map(0x2012, 0x2012).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_0_r), FUNC(ppu_vt03_device::videobank0_0_w)); + map(0x2013, 0x2013).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_1_r), FUNC(ppu_vt03_device::videobank0_1_w)); + map(0x2014, 0x2014).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_2_r), FUNC(ppu_vt03_device::videobank0_2_w)); + map(0x2015, 0x2015).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_3_r), FUNC(ppu_vt03_device::videobank0_3_w)); + map(0x2016, 0x2016).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_4_r), FUNC(ppu_vt03_device::videobank0_4_w)); + map(0x2017, 0x2017).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_5_r), FUNC(ppu_vt03_device::videobank0_5_w)); + map(0x2018, 0x2018).rw(m_ppu, FUNC(ppu_vt03_device::videobank1_r), FUNC(ppu_vt03_device::videobank1_w)); + map(0x2019, 0x2019).rw(m_ppu, FUNC(ppu_vt03_device::unk_2019_r), FUNC(ppu_vt03_device::gun_reset_w)); + map(0x201a, 0x201a).rw(m_ppu, FUNC(ppu_vt03_device::videobank0_extra_r), FUNC(ppu_vt03_device::videobank0_extra_w)); + map(0x201b, 0x201b).r(m_ppu, FUNC(ppu_vt03_device::unk_201b_r)); + map(0x201c, 0x201c).r(m_ppu, FUNC(ppu_vt03_device::gun_x_r)); + map(0x201d, 0x201d).r(m_ppu, FUNC(ppu_vt03_device::gun_y_r)); + map(0x201e, 0x201e).r(m_ppu, FUNC(ppu_vt03_device::gun2_x_r)); + map(0x201f, 0x201f).r(m_ppu, FUNC(ppu_vt03_device::gun2_y_r)); map(0x2040, 0x2049).nopw();// w(m_ppu, FUNC(ppu_vt3xx_device::lcdc_regs_w)); // LCD control like on VT369? |
