mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
New systems marked not working
------------------------------ Shimura Ken no Bakatono-sama Ooedomatsuri [hammy] Sweetheart [Recreativos Piscis]
This commit is contained in:
parent
7e15a8d51c
commit
8dd917457a
@ -34193,6 +34193,8 @@ vandykejal2 // UPL-90064 (c) Jaleco
|
||||
@source:nmk/nmkmedal.cpp
|
||||
drail // NTC / NMK
|
||||
hpierrot // NTC / NMK
|
||||
omatsuri // NMK
|
||||
sweethrt // NMK
|
||||
trocana // NTC / NMK
|
||||
|
||||
@source:nmk/powerins.cpp
|
||||
|
@ -7098,8 +7098,9 @@ ROM_START( hachamf )
|
||||
ROM_LOAD16_BYTE( "7.93", 0x00000, 0x20000, CRC(9d847c31) SHA1(1d370d8db9cadadb9c2cb213e32f681947d81b7f) ) // internally reports as 19th Sep. 1991
|
||||
ROM_LOAD16_BYTE( "6.94", 0x00001, 0x20000, CRC(de6408a0) SHA1(2df77fecd44d2d8b0444abd4545923213ed76b2d) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) // unknown - sound CPU ??????
|
||||
ROM_LOAD( "1.70", 0x00000, 0x10000, CRC(9e6f48fc) SHA1(aeb5bfecc025b5478f6de874792fc0f7f54932be) )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) // for the NMK-113 custom (a TMP90C041 MCU in disguise with internal program ROM)
|
||||
ROM_LOAD( "1.70", 0x00000, 0x10000, CRC(9e6f48fc) SHA1(aeb5bfecc025b5478f6de874792fc0f7f54932be) )
|
||||
ROM_LOAD( "nmk-113", 0x00000, 0x04000, NO_DUMP ) // internal ROM, maps over the first 0x4000 of the above external ROM
|
||||
|
||||
ROM_REGION( 0x020000, "fgtile", 0 )
|
||||
ROM_LOAD( "5.95", 0x000000, 0x020000, CRC(29fb04a2) SHA1(9654b90a66d0e2a0f9cd369cab29cdd0c6f77869) ) // 8x8 tiles
|
||||
@ -7124,8 +7125,9 @@ ROM_START( hachamfa) // reportedly a Korean PCB / version
|
||||
ROM_LOAD16_BYTE( "7.ic93", 0x00000, 0x20000, CRC(f437e52b) SHA1(061a75a7a9734034d1c499fc0bc2d8a61bb26da4) ) // internally reports as 19th Sep. 1991
|
||||
ROM_LOAD16_BYTE( "6.ic94", 0x00001, 0x20000, CRC(60d340d0) SHA1(3c6f862901b403d6ddf58823af7d6e3f67573788) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) // unknown - sound CPU ??????
|
||||
ROM_LOAD( "1.70", 0x00000, 0x10000, CRC(9e6f48fc) SHA1(aeb5bfecc025b5478f6de874792fc0f7f54932be) )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) // for the NMK-113 custom (a TMP90C041 MCU in disguise with internal program ROM)
|
||||
ROM_LOAD( "1.70", 0x00000, 0x10000, CRC(9e6f48fc) SHA1(aeb5bfecc025b5478f6de874792fc0f7f54932be) )
|
||||
ROM_LOAD( "nmk-113", 0x00000, 0x04000, NO_DUMP ) // internal ROM, maps over the first 0x4000 of the above external ROM
|
||||
|
||||
ROM_REGION( 0x020000, "fgtile", 0 ) // Smaller NMK logo plus alternate Distributed by UPL Company Limited starting at tile 0xF80
|
||||
ROM_LOAD( "5.ic95", 0x000000, 0x020000, CRC(a2c1e25d) SHA1(cf09cbfd9afc7e3907fef6b26fb269b743f2e036) ) // 8x8 tiles
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "machine/nmk112.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/okim6376.h"
|
||||
#include "sound/ymz280b.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
@ -69,6 +70,51 @@ NMK MAC94104 - main CPU board, stickered 957G. 0144
|
||||
- 2 x 8-dip banks
|
||||
- 5 x connectors
|
||||
|
||||
Other PCBs unknown
|
||||
|
||||
-------
|
||||
Sweetheart by NMK
|
||||
|
||||
PCBs:
|
||||
|
||||
NMK MAC96114 - main CPU board, stickered 9607 M. M.
|
||||
- NMK-113 2321 9140EBI - A TMP90C041 MCU with internal program ROM, possibly grafted to a NMK-112? Seen also on Hacha Mecha Fighter PCBs
|
||||
- 16.0000 MHz XTAL
|
||||
- MCU external ROM. In this case, internal ROM is not used, as the /EA pin (External Access) is asserted, so all the program code is located in the external EPROM.
|
||||
- 2 x Oki M6295
|
||||
- 4 x Oki ROMs (identical pairs)
|
||||
- 2 x 8-dip banks (don't seem to be on PCB)
|
||||
- 9 x connectors
|
||||
|
||||
NMK MAC96115 - lamp / leds board
|
||||
- 7 x connectors
|
||||
- lamp
|
||||
- 8 x LEDs
|
||||
|
||||
NMK MAC96116
|
||||
- 4 x connectors
|
||||
- TTLs
|
||||
|
||||
NMK MAC96117
|
||||
- 5 x connectors
|
||||
- TTLs
|
||||
|
||||
-------
|
||||
Shimura Ken no Bakatono-sama Ooedomatsuri by NMK
|
||||
|
||||
Video of the game: https://www.youtube.com/watch?v=9HGdS2ydZDo
|
||||
|
||||
NMK MAC98205-1 - main CPU board, stickered 99040048
|
||||
- Toshiba TMP90C041AN
|
||||
- 16.0000 MHz XTAL
|
||||
- main CPU ROM
|
||||
- YMZ280B-F
|
||||
- 2 x YMZ ROMs
|
||||
- NMK001 custom
|
||||
- NMK003 custom
|
||||
- 2 x 8-dip banks
|
||||
- 9 x connectors
|
||||
|
||||
Other PCBs unknown
|
||||
*/
|
||||
|
||||
@ -110,17 +156,29 @@ class hpierrot_state : public nmkmedal_state
|
||||
public:
|
||||
hpierrot_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: nmkmedal_state(mconfig, type, tag)
|
||||
, m_oki(*this, "oki")
|
||||
{ }
|
||||
|
||||
void drail(machine_config &config);
|
||||
void hpierrot(machine_config &config);
|
||||
void sweethrt(machine_config &config);
|
||||
|
||||
private:
|
||||
void drail_mem_map(address_map &map);
|
||||
void mem_map(address_map &map);
|
||||
void sweethrt_mem_map(address_map &map);
|
||||
};
|
||||
|
||||
required_device<okim6295_device> m_oki;
|
||||
class omatsuri_state : public nmkmedal_state
|
||||
{
|
||||
public:
|
||||
omatsuri_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: nmkmedal_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void omatsuri(machine_config &config);
|
||||
|
||||
private:
|
||||
void mem_map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
@ -166,6 +224,29 @@ void hpierrot_state::drail_mem_map(address_map &map)
|
||||
map(0xc000, 0xc7ff).ram();
|
||||
}
|
||||
|
||||
void hpierrot_state::sweethrt_mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom().region("maincpu", 0);
|
||||
map(0x8000, 0x8000).portr("IN0");
|
||||
map(0x8001, 0x8001).portr("IN1");
|
||||
map(0x8002, 0x8002).portr("IN2");
|
||||
map(0x8003, 0x8003).portr("IN3");
|
||||
map(0x8004, 0x8004).portr("IN4");
|
||||
map(0x8005, 0x8005).portr("IN5");
|
||||
map(0x9000, 0x9007).w("nmk112", FUNC(nmk112_device::okibank_w));
|
||||
//map(0xa000, 0xa00f).w() // to the mechanical parts?? or leds / lamps?
|
||||
map(0xb000, 0xb000).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xb800, 0xb800).rw("oki2", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xc000, 0xdfff).ram();
|
||||
}
|
||||
|
||||
void omatsuri_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x9fff).rom().region("maincpu", 0);
|
||||
map(0xd000, 0xefff).ram();
|
||||
}
|
||||
|
||||
|
||||
static INPUT_PORTS_START( trocana )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("0.0") PORT_CODE(KEYCODE_1)
|
||||
@ -238,7 +319,7 @@ void hpierrot_state::hpierrot(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &hpierrot_state::mem_map);
|
||||
|
||||
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
|
||||
OKIM6295(config, "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)
|
||||
@ -250,7 +331,35 @@ void hpierrot_state::drail(machine_config &config)
|
||||
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
|
||||
OKIM6295(config, "oki", 16_MHz_XTAL / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified
|
||||
}
|
||||
|
||||
void hpierrot_state::sweethrt(machine_config &config)
|
||||
{
|
||||
TMP90841(config, m_maincpu, 16_MHz_XTAL / 2); // actually a NMK-113 custom
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &hpierrot_state::sweethrt_mem_map);
|
||||
|
||||
nmk112_device &nmk112(NMK112(config, "nmk112", 0)); // actually thought to be included in the NMK-113 custom
|
||||
nmk112.set_rom0_tag("oki");
|
||||
nmk112.set_rom1_tag("oki2");
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
OKIM6295(config, "oki", 16_MHz_XTAL / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified
|
||||
|
||||
OKIM6295(config, "oki2", 16_MHz_XTAL / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // divider and pin not verified
|
||||
}
|
||||
|
||||
void omatsuri_state::omatsuri(machine_config &config)
|
||||
{
|
||||
TMP90841(config, m_maincpu, 16_MHz_XTAL / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &omatsuri_state::mem_map);
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
ymz280b_device &ymz(YMZ280B(config, "ymz", 16_MHz_XTAL));
|
||||
ymz.add_route(0, "lspeaker", 1.0);
|
||||
ymz.add_route(1, "rspeaker", 1.0);
|
||||
}
|
||||
|
||||
|
||||
@ -268,20 +377,44 @@ ROM_START( trocana )
|
||||
ROM_LOAD( "tro1e.u12", 0x00000, 0x10000, CRC(f285043f) SHA1(6691091c1ecdab10c390db1d82c9d1d1dd0ded1f) ) // 1xxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION(0x80000, "oki", 0)
|
||||
ROM_LOAD( "tro2.u16", 0x00000, 0x80000, CRC(c801d8ca) SHA1(f57026f5386467c054299556dd8665e62557aa91) )
|
||||
ROM_LOAD( "tro2.u16", 0x00000, 0x80000, CRC(c801d8ca) SHA1(f57026f5386467c054299556dd8665e62557aa91) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( hpierrot )
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD( "v8210.u44", 0x00000, 0x10000, CRC(313d5d07) SHA1(2802c88a21a311d552e8f2bd9e588ca7450f695d) ) // 1xxxxxxxxxxxxxxx = 0xFF
|
||||
ROM_LOAD( "v8210.u44", 0x00000, 0x10000, CRC(313d5d07) SHA1(2802c88a21a311d552e8f2bd9e588ca7450f695d) ) // 1xxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION(0x80000, "oki", 0)
|
||||
ROM_LOAD( "sound.u27", 0x00000, 0x80000, CRC(fb6b4361) SHA1(7aaecf55efe219cb0b5eb93fee329b8e6ce0b307) )
|
||||
ROM_LOAD( "sound.u27", 0x00000, 0x80000, CRC(fb6b4361) SHA1(7aaecf55efe219cb0b5eb93fee329b8e6ce0b307) )
|
||||
ROM_END
|
||||
|
||||
} // Anonymous namespace
|
||||
ROM_START( sweethrt )
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD( "sweethart-typeb-v96b290.u55", 0x00000, 0x10000, CRC(d5ccce6d) SHA1(ef4c1a19df0bcf7961dc8df0ebc7a1654f4a86ca) ) // 1xxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION(0x140000, "oki", 0) // NMK112 device expects the first 0x40000 bytes to be left empty.
|
||||
ROM_LOAD( "sweethart-typeb-sound-2.u37", 0x40000, 0x80000, CRC(19caa092) SHA1(0a12e8524abdd09259e8f8c00f26807f2f2ef525) )
|
||||
ROM_LOAD( "sweethart-typeb-sound-3.u38", 0xc0000, 0x80000, CRC(03255848) SHA1(dfecc863e6b9dec7aa0b2430b43a3d6d9b15bbea) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION(0x140000, "oki2", 0) // identical to the above
|
||||
ROM_LOAD( "sweethart-typeb-sound-4.u18", 0x40000, 0x80000, CRC(19caa092) SHA1(0a12e8524abdd09259e8f8c00f26807f2f2ef525) )
|
||||
ROM_LOAD( "sweethart-typeb-sound-5.u19", 0xc0000, 0x80000, CRC(03255848) SHA1(dfecc863e6b9dec7aa0b2430b43a3d6d9b15bbea) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF
|
||||
ROM_END
|
||||
|
||||
ROM_START( omatsuri ) // seems to hit some unimplemented CPU regs
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD( "1bv994220.1", 0x00000, 0x10000, CRC(c67907f5) SHA1(9e3a8eddc4dd315bcd9e577808e4f913fc30bba0) )
|
||||
|
||||
ROM_REGION(0x100000, "ymz", 0)
|
||||
ROM_LOAD( "2", 0x00000, 0x80000, CRC(39c9d3a8) SHA1(9ea7e1ab51d68f014e15b09ac421d51441712a47) )
|
||||
ROM_LOAD( "3", 0x80000, 0x80000, CRC(0e6afb1f) SHA1(e016a684fb41acb55057797b22a07dab72ff9e9d) )
|
||||
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
|
||||
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
|
||||
GAME( 1996, sweethrt, 0, sweethrt, trocana, hpierrot_state, empty_init, ROT0, "NMK", "Sweetheart", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V96B29° strings
|
||||
GAME( 1999, omatsuri, 0, omatsuri, trocana, omatsuri_state, empty_init, ROT0, "NMK / Sega", "Shimura Ken no Bakatono-sama Ooedomatsuri", MACHINE_IS_SKELETON_MECHANICAL ) // NMK LTD, V99422 strings. Cabinet has NMK logo, manual has Sega logo
|
||||
|
Loading…
Reference in New Issue
Block a user