From c7ca12561a1fea5e43acd3b66ca3bb111158ade2 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 7 Dec 2022 18:21:01 +0100 Subject: New machines marked as NOT_WORKING ---------------------------------- Dream Rail [Recreativos Piscis] --- src/mame/atlus/patapata.cpp | 3 +- src/mame/mame.lst | 3 +- src/mame/nmk/nmkmedal.cpp | 76 ++++++++++++++++++++++++++++++++++++++++----- src/mame/nmk/quizpani.cpp | 2 +- 4 files changed, 73 insertions(+), 11 deletions(-) diff --git a/src/mame/atlus/patapata.cpp b/src/mame/atlus/patapata.cpp index 8e188281ecb..f17781ff276 100644 --- a/src/mame/atlus/patapata.cpp +++ b/src/mame/atlus/patapata.cpp @@ -7,8 +7,7 @@ RW93085 (C) NTC CO. on main PCB RW93085-SUB (c)NTC CO.LTD 1993 MADE IN JAPAN on sub (ROM) PCB -various NMK customs including NMK005 near dipswitches, difficult to read the rest from PCB pics -possible MCU or just IO extender? +various NMK customs including NMK005 (GPIO controller) near dipswitches, difficult to read the rest from PCB pics developed by NTC on NMK hardware? diff --git a/src/mame/mame.lst b/src/mame/mame.lst index d7b054e7c24..5c728d6394a 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -33985,7 +33985,8 @@ vandykejal // UPL-90064 (c) Jaleco vandykejal2 // UPL-90064 (c) Jaleco @source:nmk/nmkmedal.cpp -hpierrot // NMK +drail // NTC / NMK +hpierrot // NTC / NMK trocana // NTC / NMK @source:efo/nightmare.cpp diff --git a/src/mame/nmk/nmkmedal.cpp b/src/mame/nmk/nmkmedal.cpp index da96252b2f9..91d1a25f9e4 100644 --- a/src/mame/nmk/nmkmedal.cpp +++ b/src/mame/nmk/nmkmedal.cpp @@ -4,9 +4,12 @@ // Skeleton driver for medal games on NMK hardware. #include "emu.h" + #include "cpu/tlcs90/tlcs90.h" +#include "machine/nmk112.h" #include "sound/okim6295.h" #include "sound/okim6376.h" + #include "speaker.h" @@ -18,10 +21,10 @@ Recording of some of the music: https://www.youtube.com/watch?v=TZMr-MX_M0w PCBs: -NMK MEC95110 - maincpu board +NMK MEC95110 - main CPU board - Toshiba TMP90C041AN - 16.5000 MHz XTAL -- maincpu ROM +- main CPU ROM - Oki M6650 - OKI ROM - 8 x connectors @@ -39,7 +42,7 @@ Video of the game: https://www.youtube.com/watch?v=t4-IN1v_DOQ PCBs: -NMK MAC96112 - maincpu board, stickered 961409 +NMK MAC96112 - main CPU board, stickered 961409 - Toshiba TMP90C041AN - 16.0000 MHz XTAL - main CPU ROM @@ -48,6 +51,24 @@ NMK MAC96112 - maincpu board, stickered 961409 - 2 x 8-dip banks - 7 x connectors +Other PCBs unknown + +------- +Dream Rail by NMK + +PCBs: + +NMK MAC94104 - main CPU board, stickered 957G. 0144 +- Toshiba TMP90C041? Empty socket marked TMP041 +- 16.0000 MHz XTAL +- main CPU ROM +- Oki M6295 +- Oki ROM +- NMK005 custom +- NMK112 custom +- 2 x 8-dip banks +- 5 x connectors + Other PCBs unknown */ @@ -92,9 +113,11 @@ public: , m_oki(*this, "oki") { } + void drail(machine_config &config); void hpierrot(machine_config &config); private: + void drail_mem_map(address_map &map); void mem_map(address_map &map); required_device m_oki; @@ -125,6 +148,22 @@ void trocana_state::mem_map(address_map &map) void hpierrot_state::mem_map(address_map &map) { map(0x0000, 0x7fff).rom().region("maincpu", 0); + //map(0xa800, 0xa80f).w() // to the mechanical parts?? or leds / lamps? + map(0xc000, 0xc7ff).ram(); +} + +void hpierrot_state::drail_mem_map(address_map &map) +{ + map(0x0000, 0x7fff).rom().region("maincpu", 0); + map(0x8004, 0x8004).portr("IN4"); // probably 1 of the 2 dip banks + map(0x8005, 0x8005).portr("IN5"); // " + map(0x8800, 0x8800).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0x8820, 0x8827).w("nmk112", FUNC(nmk112_device::okibank_w)); + map(0xa000, 0xa000).portr("IN0"); + map(0xa001, 0xa001).portr("IN1"); + map(0xa002, 0xa002).portr("IN2"); + //map(0xa800, 0xa80f).w() // to the mechanical parts?? or leds / lamps? + map(0xc000, 0xc7ff).ram(); } static INPUT_PORTS_START( trocana ) @@ -183,25 +222,47 @@ static INPUT_PORTS_START( trocana ) PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED) INPUT_PORTS_END + void trocana_state::trocana(machine_config &config) { - TMP90841(config, m_maincpu, 16000000 / 2); // actually TMP90C041AN + TMP90841(config, m_maincpu, 16'000'000 / 2); // actually TMP90C041AN m_maincpu->set_addrmap(AS_PROGRAM, &trocana_state::mem_map); SPEAKER(config, "mono").front_center(); - OKIM6650(config, m_oki, 16500000 / 4).add_route(ALL_OUTPUTS, "mono", 1.0); + OKIM6650(config, m_oki, 16'500'000 / 4).add_route(ALL_OUTPUTS, "mono", 1.0); } void hpierrot_state::hpierrot(machine_config &config) { - TMP90841(config, m_maincpu, 16000000 / 2); // actually TMP90C041AN + TMP90841(config, m_maincpu, 16_MHz_XTAL / 2); // actually TMP90C041AN m_maincpu->set_addrmap(AS_PROGRAM, &hpierrot_state::mem_map); SPEAKER(config, "mono").front_center(); - OKIM6295(config, m_oki, 16000000 / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified + OKIM6295(config, m_oki, 16_MHz_XTAL / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified +} + +void hpierrot_state::drail(machine_config &config) +{ + TMP90841(config, m_maincpu, 16_MHz_XTAL / 2); // exact model unknown as the socket was empty + m_maincpu->set_addrmap(AS_PROGRAM, &hpierrot_state::drail_mem_map); + + nmk112_device &nmk112(NMK112(config, "nmk112", 0)); + nmk112.set_rom0_tag("oki"); + + SPEAKER(config, "mono").front_center(); + OKIM6295(config, m_oki, 16_MHz_XTAL / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified } +ROM_START( drail ) // handwritten labels + ROM_REGION(0x10000, "maincpu", 0) + ROM_LOAD( "1_dream rail v08c 2c0c v957220.u4", 0x00000, 0x10000, CRC(c14fae88) SHA1(f0478b563ac851372bc0b93772d89ab70ad61877) ) // 通ドリームレール V08C 2C0C V957220, 1xxxxxxxxxxxxxxx = 0xFF + + ROM_REGION(0x80000, "oki", 0) + ROM_LOAD( "2_dream rail pcm.u11", 0x00000, 0x80000, CRC(efdc1eea) SHA1(c39fed6f97b71556b468e0872a8240fe7b6495e6) ) // ドリームレールPCM + // empty socket 3.u10 +ROM_END + ROM_START( trocana ) ROM_REGION(0x10000, "maincpu", 0) ROM_LOAD( "tro1e.u12", 0x00000, 0x10000, CRC(f285043f) SHA1(6691091c1ecdab10c390db1d82c9d1d1dd0ded1f) ) // 1xxxxxxxxxxxxxxx = 0xFF @@ -221,5 +282,6 @@ ROM_END } // Anonymous namespace +GAME( 1995, drail, 0, drail, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Dream Rail", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, N.T.C., H07051, V39, TEST2, V07 strings GAME( 1996, trocana, 0, trocana, trocana, trocana_state, empty_init, ROT0, "NTC / NMK", "Trocana", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, NTC LTD, V96313 strings GAME( 1996, hpierrot, 0, hpierrot, trocana, hpierrot_state, empty_init, ROT0, "NTC / NMK", "Happy Pierrot", MACHINE_IS_SKELETON_MECHANICAL ) // NTC LTD, NMK LTD, V96821 strings diff --git a/src/mame/nmk/quizpani.cpp b/src/mame/nmk/quizpani.cpp index f0ee8a9a4eb..a664e5a3e37 100644 --- a/src/mame/nmk/quizpani.cpp +++ b/src/mame/nmk/quizpani.cpp @@ -16,7 +16,7 @@ CUSTOM: NMK112 (QFP64, near ROMs 31,32,4, M6295 sample ROM banking) NMK111 (QFP64, 1x input-related near JAMMA, 2x gfx related near ROMs 11,12,21,22) NMK903 (QFP44, x2, near ROMs 11,12,21,22) - NMK005 (QFP64, near DIPs, possible MCU?) + NMK005 (QFP64, near DIPs, GPIO controller) ROMs : 93094-51.127 27c4002 near 68000 -- cgit v1.2.3