summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-11-06 19:04:09 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2017-11-06 19:04:09 +0100
commite8cd1e81313c8e4f5cbb94415ababb0074fdc2b2 (patch)
tree1bd6798ebaac3e08034308163aedb41bc5c4fbf1
parent8e13c4a31aedceef1c0f9273d6624461c7e6cbaf (diff)
new working clone
--------------------------- The 26th Z [ShouTime, Paul Vining, The Dumping Union]
-rw-r--r--src/mame/drivers/tsamurai.cpp80
-rw-r--r--src/mame/includes/tsamurai.h88
-rw-r--r--src/mame/mame.lst1
3 files changed, 113 insertions, 56 deletions
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index c1a0a49a606..6b300c8029c 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -855,6 +855,7 @@ static MACHINE_CONFIG_START( m660 )
MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
+
/*******************************************************************************/
ROM_START( tsamurai ) // there's a protection device labeled B5 at location l3 on the main board
@@ -1240,6 +1241,50 @@ ROM_START( alphaxz )
ROM_LOAD( "5r.bpr", 0x200, 0x100, CRC(b7d6fdb5) SHA1(67d3bb16470f5d4ec35164a391ad6b65850f824a) )
ROM_END
+
+/*
+This version of the game is the original which was tested in small quantities in Taito owned arcades.
+Taito lost the license to sell the title which Kaneko sold to Wood Place.
+Same hardware as Samurai Nihon-ichi.
+*/
+
+ROM_START( the26thz ) // there's a protection device labeled 6 or 9 on the main board (seems to be the same as the tsamurai one)
+ ROM_REGION( 0x10000, "maincpu", 0 ) /* Z80 code - main CPU */
+ ROM_LOAD( "A72_01.3R", 0x0000, 0x4000, CRC(2be77520) SHA1(26c65a9c59a0cf3609d084ec4e0af4e670a3069c) ) // 27128
+ ROM_LOAD( "A72_02.3T", 0x4000, 0x4000, CRC(ef2646f2) SHA1(0b178793420bd5e5fb77cf55e049a73f0fbc2d0f) ) // 27128
+ ROM_LOAD( "A72_03.3V", 0x8000, 0x4000, CRC(d83b7758) SHA1(ff025c67e7ace9b178fd46642f98d79e18076d28) ) // 27128
+
+ ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code - sample player */
+ ROM_LOAD( "A72_16.4N", 0x0000, 0x4000, CRC(5734db5a) SHA1(ff99bf618018be20a4b38fcfbe75d9c5bb6fd176) ) // 27128
+
+ ROM_REGION( 0x10000, "audio2", 0 ) /* Z80 code - sample player */
+ ROM_LOAD( "A72_15.4J", 0x0000, 0x4000, CRC(fba51cf7) SHA1(b18571112dcbe3214a803d0898b0a21957dc5e5f) ) // 27128
+
+ ROM_REGION( 0x10000, "audio3", 0 ) /* Z80 code AY driver, identical to the parent set but split in 2 ROMs */
+ ROM_LOAD( "A72_14.4E", 0x0000, 0x4000, CRC(d078373e) SHA1(939c8c1eb651d34b3c873db3aeef4c59b4f70a9f) ) // 27128
+ ROM_LOAD( "A72_13.4D", 0x4000, 0x4000, CRC(11980449) SHA1(e17611980043c152c518b334ffda8e93d368e4a9) ) // 27128
+
+ ROM_REGION( 0xc000, "gfx1", 0 ) // tiles
+ ROM_LOAD( "A72_04.10A", 0x00000, 0x4000, CRC(23da4e3d) SHA1(fd48c86769360a778057a673d5c1dfdfe00f6c18) ) // 27128
+ ROM_LOAD( "A72_05.10B", 0x04000, 0x4000, CRC(8746ff69) SHA1(6b95f209d931601155ad492652e3016df3e5dfb0) ) // 27128
+ ROM_LOAD( "A72_06.10D", 0x08000, 0x4000, CRC(6e494964) SHA1(9f42935281502a1e73f602cb93ca241aeaa03201) ) // 27128
+
+ ROM_REGION( 0x6000, "gfx2", 0 ) // characters
+ ROM_LOAD( "A72_10.11N", 0x00000, 0x1000, CRC(a23e4829) SHA1(329ff6bd21c804c103938e333b355c7387b5d0be) ) // 2732
+ ROM_LOAD( "A72_11.11Q", 0x02000, 0x1000, CRC(9717229f) SHA1(ecc1bbde29fbd28eebc2016ca5e04bc841ca061e) ) // 2732
+ ROM_LOAD( "A72_12.11R", 0x04000, 0x1000, CRC(7a602979) SHA1(32c40ad1cb1b6bb49c6f37da443a4368fd24faf7) ) // 2732
+
+ ROM_REGION( 0xc000, "gfx3", 0 ) // sprites
+ ROM_LOAD( "A72_07.12H", 0x00000, 0x4000, CRC(5f9cc65e) SHA1(235b4a8762ba429855cc9db07477efde2a62e03d) ) // 27128
+ ROM_LOAD( "A72_08.12J", 0x04000, 0x4000, CRC(23e3a6ba) SHA1(d6d035b7b7530a909669ac045aea51e297ba784e) ) // 27128
+ ROM_LOAD( "A72_09.12K", 0x08000, 0x4000, CRC(7096fa71) SHA1(f9697b30d7eec5ee9122d783f9ee7b9cdbab9262) ) // 27128
+
+ ROM_REGION( 0x300, "proms", 0 )
+ ROM_LOAD( "A72_17.2K", 0x000, 0x100, CRC(cd16d0f1) SHA1(4b0a68f28329fb86d252f4170edd2ab0488805e5) ) // 82S129
+ ROM_LOAD( "A72_18.2L", 0x100, 0x100, CRC(22e8b22c) SHA1(2934ca96495fca72a33fa2881dc65ab21342c410) ) // 82S129
+ ROM_LOAD( "A72_19.2M", 0x200, 0x100, CRC(b7d6fdb5) SHA1(67d3bb16470f5d4ec35164a391ad6b65850f824a) ) // 82S129
+ROM_END
+
ROM_START( vsgongf )
ROM_REGION( 0x10000, "maincpu", 0 ) /* Z80 code - main CPU */
ROM_LOAD( "1.5a", 0x0000, 0x2000, CRC(2c056dee) SHA1(f063fdd571949a1b7ac36f88e17feec7354ea894) ) /* good? */
@@ -1324,21 +1369,28 @@ ROM_START( ringfgt2 )
ROM_LOAD( "clr.6p", 0x200, 0x0100, CRC(0e4fd17a) SHA1(d4e32bd9dd903177af61f77976a25c5db1467bba) )
ROM_END
-GAME( 1984, vsgongf, 0, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko", "VS Gong Fight", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )
-GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+DRIVER_INIT_MEMBER(tsamurai_state, the26thz)
+{
+ m_maincpu->space(AS_PROGRAM).unmap_read(0xd803, 0xd803);
+ m_maincpu->space(AS_PROGRAM).install_read_handler(0xd803, 0xd803, read8_delegate(FUNC(tsamurai_state::tsamurai_unknown_d803_r), this));
+}
+
+GAME( 1984, vsgongf, 0, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko", "VS Gong Fight", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )
+GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, tsamurai_state, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, tsamurai, 0, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, tsamurai2, tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, tsamuraih, tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, tsamurai, 0, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, tsamurai2, tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, tsamuraih, tsamurai, tsamurai, tsamurai, tsamurai_state, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, ladymstr, 0, tsamurai, ladymstr, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu (set 1, newer)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, ladymstr2, ladymstr, tsamurai, ladymstr, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu (set 2, older)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Nunchackun", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1985, ladymstr, 0, tsamurai, ladymstr, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu (set 1, newer)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, ladymstr2, ladymstr, tsamurai, ladymstr, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu (set 2, older)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Nunchackun", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, yamagchi, 0, tsamurai, yamagchi, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1985, yamagchi, 0, tsamurai, yamagchi, tsamurai_state, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1986, m660, 0, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito America Corporation license)", "Mission 660 (US)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, m660j, m660, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito Corporation license)", "Mission 660 (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, m660b, m660, m660, m660, tsamurai_state, 0, ROT90, "bootleg", "Mission 660 (bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1986, alphaxz, m660, m660, m660, tsamurai_state, 0, ROT90, "Ed Co. Ltd. (Wood Place Inc. license)", "The Alphax Z (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, m660, 0, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito America Corporation license)", "Mission 660 (US)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, m660j, m660, m660, m660, tsamurai_state, 0, ROT90, "Wood Place Inc. (Taito Corporation license)", "Mission 660 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, m660b, m660, m660, m660, tsamurai_state, 0, ROT90, "bootleg", "Mission 660 (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, alphaxz, m660, m660, m660, tsamurai_state, 0, ROT90, "Ed Co. Ltd. (Wood Place Inc. license)", "The Alphax Z (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1986, the26thz, m660, m660, m660, tsamurai_state, the26thz, ROT90, "Ed Co. Ltd. (Taito license)", "The 26th Z (Japan, location test)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/includes/tsamurai.h b/src/mame/includes/tsamurai.h
index 4b30a28ac30..df1e64e3929 100644
--- a/src/mame/includes/tsamurai.h
+++ b/src/mame/includes/tsamurai.h
@@ -20,41 +20,6 @@ public:
m_bg_videoram(*this, "bg_videoram"),
m_spriteram(*this, "spriteram") { }
- required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_audiocpu;
- optional_device<cpu_device> m_audio2;
- optional_device<cpu_device> m_audio3;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
- optional_device<generic_latch_8_device> m_soundlatch; // vsgongf only
-
- required_shared_ptr<uint8_t> m_videoram;
- optional_shared_ptr<uint8_t> m_colorram;
- optional_shared_ptr<uint8_t> m_bg_videoram;
- required_shared_ptr<uint8_t> m_spriteram;
-
- tilemap_t *m_background;
- tilemap_t *m_foreground;
-
- //common
- int m_flicker;
- int m_textbank1;
- int m_nmi_enabled;
-
- // tsamurai and m660 specific
- int m_bgcolor;
- int m_sound_command1;
- int m_sound_command2;
-
- //m660 specific
- int m_textbank2;
- int m_sound_command3;
-
- //vsgongf specific
- int m_vsgongf_sound_nmi_enabled;
- int m_vsgongf_color;
- int m_key_count; //debug only
-
// common
DECLARE_WRITE_LINE_MEMBER(nmi_enable_w);
DECLARE_WRITE_LINE_MEMBER(coin1_counter_w);
@@ -93,23 +58,62 @@ public:
DECLARE_READ8_MEMBER(vsgongf_a100_r);
DECLARE_WRITE8_MEMBER(vsgongf_sound_command_w);
- TILE_GET_INFO_MEMBER(get_bg_tile_info);
- TILE_GET_INFO_MEMBER(get_fg_tile_info);
- TILE_GET_INFO_MEMBER(get_vsgongf_tile_info);
-
- virtual void machine_start() override;
DECLARE_MACHINE_START(m660);
DECLARE_MACHINE_START(tsamurai);
DECLARE_MACHINE_START(vsgongf);
- virtual void video_start() override;
DECLARE_VIDEO_START(m660);
DECLARE_VIDEO_START(tsamurai);
DECLARE_VIDEO_START(vsgongf);
+ DECLARE_DRIVER_INIT(the26thz);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_vsgongf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
INTERRUPT_GEN_MEMBER(interrupt);
INTERRUPT_GEN_MEMBER(vsgongf_sound_interrupt);
+
+protected:
+ virtual void machine_start() override;
+ virtual void video_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+ required_device<cpu_device> m_audiocpu;
+ optional_device<cpu_device> m_audio2;
+ optional_device<cpu_device> m_audio3;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_device<palette_device> m_palette;
+ optional_device<generic_latch_8_device> m_soundlatch; // vsgongf only
+
+ required_shared_ptr<uint8_t> m_videoram;
+ optional_shared_ptr<uint8_t> m_colorram;
+ optional_shared_ptr<uint8_t> m_bg_videoram;
+ required_shared_ptr<uint8_t> m_spriteram;
+
+ tilemap_t *m_background;
+ tilemap_t *m_foreground;
+
+ //common
+ int m_flicker;
+ int m_textbank1;
+ int m_nmi_enabled;
+
+ // tsamurai and m660 specific
+ int m_bgcolor;
+ int m_sound_command1;
+ int m_sound_command2;
+
+ //m660 specific
+ int m_textbank2;
+ int m_sound_command3;
+
+ //vsgongf specific
+ int m_vsgongf_sound_nmi_enabled;
+ int m_vsgongf_color;
+ int m_key_count; //debug only
+
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_vsgongf_tile_info);
+ void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index c15d8597fba..82a3e7830ea 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -36993,6 +36993,7 @@ m660j // ??? (c) 1986 Taito Corporation (Japan)
nunchaku // ??? (c) 1985 Taito
ringfgt // (c) 1984 Taito
ringfgt2 // (c) 1984 Taito
+the26thz // A72 (c) 1986 Taito
tsamurai // A35 (c) 1985 Taito
tsamurai2 // A35 (c) 1985 Taito
tsamuraih // bootleg