From 92b95bd0dad30579d46079cac7f4820352a5342f Mon Sep 17 00:00:00 2001 From: 0kmg <9137159+0kmg@users.noreply.github.com> Date: Tue, 13 Sep 2022 08:50:00 -0800 Subject: [PATCH] New NOT_WORKING clones (#10327) ---------------------- Famicom Titler [kmg] --- src/mame/mame.lst | 1 + src/mame/nintendo/nes.cpp | 26 ++++++++++++++++++++++++-- src/mame/nintendo/nes.h | 1 + 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3051073c2aa..20ced901cf4 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -33397,6 +33397,7 @@ famicom // Nintendo Family Computer (a.k.a. Famicom) famicomo // Nintendo Family Computer (original with RP2A03) famitvc1 // Sharp My Computer Terebi C1 famitwin // Sharp Famicom Twin System +fctitler // Sharp Famicom Titler AN-510 fds // Nintendo Family Computer (a.k.a. Famicom) + Disk System add-on gchinatv // Golden China TV Game Centre (Chinese famiclone) m82 // Nintendo M82 Display Unit diff --git a/src/mame/nintendo/nes.cpp b/src/mame/nintendo/nes.cpp index f76151abf72..c8baea8f901 100644 --- a/src/mame/nintendo/nes.cpp +++ b/src/mame/nintendo/nes.cpp @@ -142,7 +142,7 @@ void nes_state::nespalc(machine_config &config) // UMC 6538 and friends -- extends time for rendering dummy scanlines PPU_PALC(config.replace(), m_ppu); m_ppu->set_cpu_tag(m_maincpu); - m_ppu->int_callback().set_inputline("maincpu", INPUT_LINE_NMI); + m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_cartslot->set_clock(PALC_APU_CLOCK); @@ -267,7 +267,7 @@ void nes_state::famitvc1(machine_config &config) PPU_2C03B(config.replace(), m_ppu); m_ppu->set_cpu_tag(m_maincpu); - m_ppu->int_callback().set_inputline("maincpu", INPUT_LINE_NMI); + m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); m_cartslot->set_must_be_loaded(false); } @@ -311,6 +311,15 @@ void nes_state::famitwin(machine_config &config) NES_DISKSYS(config, "disk", NTSC_APU_CLOCK); } +void nes_state::fctitler(machine_config &config) +{ + famicom(config); + + // PPU is really RC2C05-99, but it can't be like the other 2C05s since they swap PPUCTRL and PPUMASK registers + PPU_2C03B(config.replace(), m_ppu); + m_ppu->set_cpu_tag(m_maincpu); + m_ppu->int_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); +} ROM_START( nes ) @@ -347,6 +356,18 @@ ROM_START( famitwin ) ROM_LOAD( "rp2c33a-02.bin", 0xe000, 0x2000, CRC(4df24a6c) SHA1(e4e41472c454f928e53eb10e0509bf7d1146ecc1) ) // "Famicom" logo instead of Nintendo logo ROM_END +ROM_START( fctitler ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) // Main RAM + + // builtin has its own MMC1B1, 8K PRGRAM (battery backed), and 8K CHRRAM + // TODO: add switch that selects which boots: builtin vs cart + ROM_REGION( 0x80000, "builtin_prg", 0 ) + ROM_LOAD( "x1252ce.prg", 0x00000, 0x80000, CRC(696712f9) SHA1(1b9475f569ea9943122676ce65165dc82d11ef38) ) + + ROM_REGION( 0xc0, "ppu:palette", 0 ) + ROM_LOAD( "rp2c0x.pal", 0x00, 0xc0, CRC(48de65dc) SHA1(d10acafc8da9ff479c270ec01180cca61efe62f5) ) +ROM_END + ROM_START( m82 ) ROM_REGION( 0x14000, "maincpu", 0 ) // Main RAM + program banks // Banks to be mapped at 0xe000? More investigations needed... @@ -417,6 +438,7 @@ CONS( 1983, famicomo, famicom, 0, famicomo, famicom, nes_state, init_famico CONS( 1983, famitvc1, famicom, 0, famitvc1, famicom, nes_state, init_famicom, "Sharp", "My Computer Terebi C1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) CONS( 1986, fds, famicom, 0, fds, famicom, nes_state, init_famicom, "Nintendo", "Famicom (w/ Disk System add-on)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) CONS( 1986, famitwin, famicom, 0, famitwin, famicom, nes_state, init_famicom, "Sharp", "Famicom Twin", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) +CONS( 1989, fctitler, famicom, 0, fctitler, famicom, nes_state, init_famicom, "Sharp", "Famicom Titler", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // Clone hardware // Many knockoffs using derivatives of the UMC board design, later incorporated into single CMOS chips, were manufactured before and past the end of the Famicom's timeline. diff --git a/src/mame/nintendo/nes.h b/src/mame/nintendo/nes.h index f1c3ae6d452..45a795da0e5 100644 --- a/src/mame/nintendo/nes.h +++ b/src/mame/nintendo/nes.h @@ -88,6 +88,7 @@ public: void famicomo(machine_config &config); void famitvc1(machine_config &config); void famitwin(machine_config &config); + void fctitler(machine_config &config); void nespal(machine_config &config); void nespalc(machine_config &config); void nes(machine_config &config);