summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2025-07-07 22:23:05 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2025-07-07 22:23:05 +0200
commit514b5c1268364ce90f500afd3227e55516b16795 (patch)
treeefcb7f48cbb7776d469e9e6882ab8e43a6650439
parent860a9cf5751a677af3dcd8aa05e68aa3c8f4ac6e (diff)
New systems marked not working
------------------------------ unknown Alba game [hammy] New clones marked not working ----------------------------- Hana Awase (set 2) [hammy] - astrocorp/astrcorp.cpp: reversed 'CPU code' for gostopac, goes in game
-rw-r--r--src/mame/astrocorp/astrcorp.cpp18
-rw-r--r--src/mame/mame.lst2
-rw-r--r--src/mame/seta/hanaawas.cpp46
-rw-r--r--src/mame/seta/speedatk.cpp24
4 files changed, 68 insertions, 22 deletions
diff --git a/src/mame/astrocorp/astrcorp.cpp b/src/mame/astrocorp/astrcorp.cpp
index 7644af954a3..8e61163f604 100644
--- a/src/mame/astrocorp/astrcorp.cpp
+++ b/src/mame/astrocorp/astrcorp.cpp
@@ -48,7 +48,7 @@ Year + Game PCB ID CPU Video
07 Happy Farm (US.01.02B) _P_ROHS ASTRO V102PX-008 ASTRO V07 ASTRO ROHS BA21C00009 M835KK01 Encrypted
11 Happy Farm (IN.01.02B) P1 ASTRO V102PX-008 ASTRO V07 ASTRO ROHS BA21C00009 N011483 Encrypted
13 Monkey Land (EN.20B) N1 ASTRO V102PX-005 ASTRO V05 ? Encrypted
-14 Magic Bomb (BR.71A) P1 ASTRO V102PX-014 ASTRO V07 ASTRO ROHS BA21C00009 JF13022 Encrypted
+14 Magic Bomb (BR.71A) P1 (CS350P087) ASTRO V102PX-014 ASTRO V07 ASTRO ROHS BA21C00009 JF13022 Encrypted
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Note: ASTRO F01 is a QuickLogic pASIC 3 FPGA (die-marked as QL3161A/1999).
@@ -77,8 +77,7 @@ TODO:
- hacher: need a redump of the sprite ROMs.
- astoneag, dinodino, magibombd, magibombg: exiting from test menu goes haywire (requires a soft-reset with F3).
- magibombg,m: need RE of the CPU code and correct EEPROM.
-- gostopac: stops with 'S4' message during boot. Needs RE of the CPU code and emulation of its peculiarities.
- when the "S4" message is on screen, enter PC=5f6 in the debugger to go to attract, but inputs and sound don't work.
+- gostopac: needs verifying of inputs, outputs and layout. Sound doesn't seem 100% correct (Oki banking problem?)
- monkeyl and clones: need RE of the CPU code, inputs and layout. After reset it initializes.
- speedmst,a,b: needs verifying of inputs, outputs and layout.
- cptshark: needs verifying of inputs and layout
@@ -1016,7 +1015,7 @@ void zoo_state::zulu_map(address_map &map)
void zoo_state::gostopac_map(address_map &map)
{
map(0x000000, 0x03ffff).rom().mirror(0x800000); // POST checks for ROM checksum at mirror
- map(0xb00001, 0xb00001).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0xb00000, 0xb00000).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xb80000, 0xb80001).portr("CPUCODE_IN");
map(0xc00000, 0xc00fff).ram().share("spriteram");
map(0xc02000, 0xc02001).nopr().w(FUNC(zoo_state::draw_sprites_w));
@@ -1026,8 +1025,7 @@ void zoo_state::gostopac_map(address_map &map)
map(0xc0e000, 0xc0e001).portr("EEPROM_IN");
map(0xc80000, 0xc801ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xd00000, 0xd03fff).ram().share("nvram"); // battery
-// map(0xb00001, 0xb00001).w(FUNC(zoo_state::oki_bank_w)); // TODO once it runs
-// map(0xc00000, 0xc00001).nopr().w(FUNC(zoo_state::screen_enable_w)).umask16(0x00ff); // unknown location
+ map(0xd80001, 0xd80001).w(FUNC(zoo_state::oki_bank_w));
}
void zoo_state::monkeyl_map(address_map &map)
@@ -2723,7 +2721,7 @@ ROM_START( gostopac )
ROM_LOAD( "93c46.u10", 0x0000, 0x0080, CRC(c5bfafa4) SHA1(b482fad6445487a5c14c4360c7b3b0b02f16944c) ) // TODO: factory default
ROM_REGION16_LE( 0x02, "astro_cpucode", 0 )
- ROM_LOAD( "gostopac_cpucode.key", 0x00, 0x02, NO_DUMP )
+ ROM_LOAD( "gostopac_cpucode.key", 0x00, 0x02, CRC(e14ff981) SHA1(322130632f4a29531f53755594f19876b371a223) )
ROM_END
/***************************************************************************
@@ -3541,8 +3539,8 @@ void zoo_state::init_gostopac()
// TODO: There's more stuff happening for addresses < 0x400...
// override reset vector for now
u16 * const rom = (u16 *)memregion("maincpu")->base();
- rom[0x00004/2] = 0x0000;
- rom[0x00006/2] = 0x040e;
+ rom[0x00004/2] = 0x0400;
+ rom[0x00006/2] = 0x0400;
rom[0x00010/2] = 0x0000;
rom[0x00012/2] = 0x1594;
@@ -3893,7 +3891,7 @@ GAMEL( 2001, magibombn, magibomb, magibombf, magibomb, magibomb_state, init_m
// Heavier encryption
GAMEL( 2004, zoo, 0, zoo, magibombd, zoo_state, init_zoo, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D, Aug 27 2004)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION, layout_zoo ) // 10:53:44 Aug 27 2004
GAMEL( 2004, zulu, zoo, zulu, dinodino, zoo_state, init_zulu, ROT0, "Astro Corp.", "Zulu (Ver. 2.04J, Feb 3 2004)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING, layout_zoo ) // 14:06:51 Feb 3 2004
-GAME( 2004, gostopac, 0, gostopac, dinodino, zoo_state, init_gostopac, ROT0, "Astro Corp.", "Go & Stop (Ver. EN1.10)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
+GAME( 2004, gostopac, 0, gostopac, dinodino, zoo_state, init_gostopac, ROT0, "Astro Corp.", "Go & Stop (Ver. EN1.10)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
GAMEL( 2005, dinodino, 0, dinodino, dinodino, zoo_state, init_dinodino, ROT0, "Astro Corp.", "Dino Dino (Ver. A1.1, 01/13/2005)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION, layout_dinodino ) // 13/01.2005 10:59
GAMEL( 2005, astoneag, 0, astoneag, astoneag, astoneag_state, init_astoneag, ROT0, "Astro Corp.", "Stone Age (Astro, Ver. EN.03.A, 2005/02/21)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION, layout_astoneag )
GAME( 2005, monkeyl, 0, monkeyl, magibombd, zoo_state, init_monkeyl, ROT0, "Astro Corp.", "Monkey Land (Ver. AA.21.A)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) // 18/02/2005 15:47
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 4c6bf275d22..4dd72fbb7f7 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -42286,6 +42286,7 @@ usclssic
@source:seta/hanaawas.cpp
hanaawas
+hanaawasa
@source:seta/hanadojo.cpp
hanadojo
@@ -42454,6 +42455,7 @@ daifugo
hanaren2
harashi
speedatk
+unkalba
@source:seta/speglsht.cpp
speglsht
diff --git a/src/mame/seta/hanaawas.cpp b/src/mame/seta/hanaawas.cpp
index 2ef9d4ffbc1..efac331c881 100644
--- a/src/mame/seta/hanaawas.cpp
+++ b/src/mame/seta/hanaawas.cpp
@@ -25,12 +25,16 @@
NC |U|17| NC
1P "1" |V|18| 1P "2"
+
+TODO:
+- hanaawasa reads inputs differently. Not implemented yet.
***************************************************************************/
#include "emu.h"
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
+
#include "emupal.h"
#include "screen.h"
#include "speaker.h"
@@ -53,7 +57,7 @@ public:
m_player(*this, "P%u", 1U)
{ }
- void hanaawas(machine_config &config);
+ void hanaawas(machine_config &config) ATTR_COLD;
protected:
virtual void machine_start() override ATTR_COLD;
@@ -70,11 +74,11 @@ private:
required_ioport m_coins, m_start;
required_ioport_array<2> m_player;
- tilemap_t *m_bg_tilemap;
+ tilemap_t *m_bg_tilemap = nullptr;
- uint8_t m_mux;
- uint8_t m_coin_settings;
- uint8_t m_coin_impulse;
+ uint8_t m_mux = 0;
+ uint8_t m_coin_settings = 0;
+ uint8_t m_coin_impulse = 0;
uint8_t input_port_0_r();
void inputs_mux_w(uint8_t data);
@@ -83,7 +87,7 @@ private:
void key_matrix_status_w(uint8_t data);
void irq_ack_w(uint8_t data);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void palette(palette_device &palette) const;
+ void palette(palette_device &palette) const ATTR_COLD;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void portb_w(uint8_t data);
void prg_map(address_map &map) ATTR_COLD;
@@ -368,12 +372,11 @@ void hanaawas_state::machine_reset()
void hanaawas_state::hanaawas(machine_config &config)
{
// basic machine hardware
- Z80(config, m_maincpu, 18432000 / 6); // 3.072 MHz ???
+ Z80(config, m_maincpu, 18.432_MHz_XTAL / 6); // 3.072 MHz ???
m_maincpu->set_addrmap(AS_PROGRAM, &hanaawas_state::prg_map);
m_maincpu->set_addrmap(AS_IO, &hanaawas_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(hanaawas_state::irq0_line_assert));
-
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
@@ -389,7 +392,7 @@ void hanaawas_state::hanaawas(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
- ay8910_device &aysnd(AY8910(config, "aysnd", 18432000 / 12));
+ ay8910_device &aysnd(AY8910(config, "aysnd", 18.432_MHz_XTAL / 12));
aysnd.port_a_read_callback().set_ioport("DSW");
aysnd.port_b_write_callback().set(FUNC(hanaawas_state::portb_w));
aysnd.add_route(ALL_OUTPUTS, "mono", 0.50);
@@ -421,7 +424,28 @@ ROM_START( hanaawas )
ROM_LOAD( "6g.bpr", 0x0120, 0x0100, CRC(4d94fed5) SHA1(3ea8e6fb95d5677991dc90fe7435f91e5320bb16) ) // I don't know what this is
ROM_END
-} // Anonymous namespace
+ROM_START( hanaawasa ) // PC0-017-41 PCB
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "za51.1e", 0x0000, 0x2000, CRC(9f7d97cb) SHA1(d9172105acb268056ec53774c869cde91534aeb5) )
+ ROM_LOAD( "za12.3e", 0x2000, 0x1000, CRC(b29222f6) SHA1(7cafdd66cfd9cc6c0e9284095ef77859f2dadb12) )
+ ROM_LOAD( "za13.4e", 0x4000, 0x1000, CRC(8ba0ee3c) SHA1(dd5e9a1285ad19800d32ff029bb2ae4ea5ff8a57) )
+ ROM_LOAD( "za34.6e", 0x6000, 0x1000, CRC(7dd06d73) SHA1(2172c5e31afec023c585cc7e3a01fce20a0fa01c) )
+
+ ROM_REGION( 0x4000, "tiles", 0 )
+ ROM_LOAD( "za05.9a", 0x0000, 0x1000, CRC(304ae219) SHA1(c1eac4973a6aec9fd8e848c206870667a8bb0922) )
+ ROM_LOAD( "za06.10a", 0x1000, 0x1000, CRC(765a4e5f) SHA1(b2f148c60cffb75d1a841be8b924a874bff22ce4) )
+ ROM_LOAD( "za07.12a", 0x2000, 0x1000, CRC(4bffdd52) SHA1(c077506da0af589cdf366b3f1f1be9faa469771c) )
+ ROM_LOAD( "za38.13a", 0x3000, 0x1000, CRC(7dfd9deb) SHA1(bcddaf74be8d2d845a6f08fb9ad2a84d57712a53) )
+
+ ROM_REGION( 0x0220, "proms", 0 )
+ ROM_LOAD( "z2.13j", 0x0000, 0x0020, CRC(99300d85) SHA1(dd383db1f3c8c6d784121d32f20ffed3d83e2278) ) // color PROM, N82S123
+ ROM_LOAD( "z1.2a", 0x0020, 0x0100, BAD_DUMP CRC(e26f21a2) SHA1(d0df06f833e0f97872d9d2ffeb7feef94aaaa02a) ) // lookup table, not dumped for this set but expected to match
+ ROM_LOAD( "6g.bpr", 0x0120, 0x0100, BAD_DUMP CRC(4d94fed5) SHA1(3ea8e6fb95d5677991dc90fe7435f91e5320bb16) ) // not dumped for this set
+ROM_END
+
+} // anonymous namespace
+
+GAME( 1982, hanaawas, 0, hanaawas, hanaawas, hanaawas_state, empty_init, ROT0, "Seta Kikaku", "Hana Awase (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, hanaawasa, hanaawas, hanaawas, hanaawas, hanaawas_state, empty_init, ROT0, "Seta Kikaku", "Hana Awase (set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1982, hanaawas, 0, hanaawas, hanaawas, hanaawas_state, empty_init, ROT0, "Seta Kikaku", "Hana Awase", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/seta/speedatk.cpp b/src/mame/seta/speedatk.cpp
index f4451ccfe26..b50a0de143a 100644
--- a/src/mame/seta/speedatk.cpp
+++ b/src/mame/seta/speedatk.cpp
@@ -13,7 +13,8 @@ TODO:
- daifugo: Improve IOX device (many hardwired reads);
- It's possible that there is only one coin chute and not two, needs a real board to know
more about it.
- - hanaren2, harashi: Everything. They seem to run on similar hardware, similar address maps, etc.
+ - hanaren2, harashi, unkalba: Everything. They seem to run on similar hardware, similar
+ address maps, etc.
How to play:
- A to D select a card.
@@ -764,6 +765,26 @@ ROM_START( harashi )
ROM_LOAD( "tbp24s10.6k", 0x0020, 0x0100, BAD_DUMP CRC(6bd28c7a) SHA1(6840481a9b496cb37a45895b73d3270e49212a3e) ) // lookup table
ROM_END
+// AAA-51 PCB with original Alba sticker
+// NEC D780C-1, LH5164-12, HD46505SP, D8255AC-2, AY-3-8910A, X1-019B and X2-001C, 11 MHz XTAL, 2 banks of 8 switches and 1 bank of 4 switches
+// strangely has Bonanza and Black Jack strings at the end of the program ROM
+ROM_START( unkalba )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "zb002.001.h1", 0x0000, 0x8000, CRC(65eda973) SHA1(493e0a86209bc53157fa061aecd2cff3bb7bb993) ) // M27C256
+
+ ROM_REGION( 0x6000, "gfx1", ROMREGION_ERASE00 )
+ // unused?
+
+ ROM_REGION( 0x4000, "gfx2", 0 )
+ ROM_LOAD( "zb0.004.c7", 0x0000, 0x1000, CRC(bd800379) SHA1(3db8930e2a1cac38169c31566ff000f28c0f8a4a) )
+ ROM_LOAD( "zb0.005.e7", 0x1000, 0x1000, CRC(5526ce20) SHA1(01c4b364ed43824044a14b0d469018dfe14fdd26) )
+ ROM_LOAD( "zb0.006.f7", 0x2000, 0x2000, CRC(4da4cb11) SHA1(101846ff103423f3be8eff4f5493c6e6ee41e8a8) )
+
+ ROM_REGION( 0x40, "proms", 0 )
+ ROM_LOAD( "zb-1", 0x00, 0x20, CRC(6c511ba4) SHA1(a9190b7fc3c4af3a7f9941e49dde3b4b69a05aa1) )
+ ROM_LOAD( "zb-2", 0x20, 0x20, CRC(e2357591) SHA1(197c94dc03e7f4e5873b226ebf11462ab1e59905) )
+ROM_END
+
} // anonymous namespace
@@ -771,3 +792,4 @@ GAME( 1983, daifugo, 0, daifugo, daifugo, speedatk_state, empty_init, ROT90,
GAME( 1984, speedatk, 0, speedatk, speedatk, speedatk_state, empty_init, ROT0, "Seta Kikaku", "Speed Attack! (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, hanaren2, 0, harashi, speedatk, speedatk_state, empty_init, ROT0, "K & K Electron", "Hana no Ren-Chan II (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
GAME( 1993, harashi, 0, harashi, speedatk, speedatk_state, empty_init, ROT0, "Asahi Bussan", "Hana Arashi (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
+GAME( 1982, unkalba, 0, harashi, speedatk, speedatk_state, empty_init, ROT90, "Alba", "unknown Alba game", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION )