diff options
| author | 2024-07-22 16:52:19 +0200 | |
|---|---|---|
| committer | 2024-07-22 16:52:19 +0200 | |
| commit | e041ee7de45d45d6c4bfd346f28b9493d56b071c (patch) | |
| tree | 84fd5c0160f147c9a9f021dd8bc2e3cd43056f6d /src | |
| parent | 193680153b61a95e5c1e1ce26a8b9e4ca9c1fdd2 (diff) | |
New systems marked not working
------------------------------
Hill Climber [Hammy, Boge, K.CAT]
New clones marked not working
-----------------------------
Super Glob (Pac-Man hardware, bootleg) [Tirino73, f205v]
- igs/goldstar.cpp: redumped GFX ROM for cmast91. Fixes spurious white dots on some reels. [Ioannis Bampoulas]
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/igs/goldstar.cpp | 2 | ||||
| -rw-r--r-- | src/mame/irem/m102.cpp | 145 | ||||
| -rw-r--r-- | src/mame/mame.lst | 4 | ||||
| -rw-r--r-- | src/mame/pacman/pacman.cpp | 82 | ||||
| -rw-r--r-- | src/mame/pacman/pacman.h | 8 | ||||
| -rw-r--r-- | src/mame/pacman/pacman_m.cpp | 8 | ||||
| -rw-r--r-- | src/mame/toaplan/toaplan1.cpp | 2 |
7 files changed, 237 insertions, 14 deletions
diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index fdf0fa57aae..56c8ee68294 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -13722,7 +13722,7 @@ ROM_START( cmast91 ) ROM_LOAD( "4.bin", 0x00000, 0x8000, CRC(0dbabaa2) SHA1(44235b19dac1c996e2166672b03f6e3888ecbefa) ) ROM_LOAD( "3.bin", 0x08000, 0x8000, CRC(dc77d04a) SHA1(d8656130cde54d4bb96307899f6d607867e49e6c) ) ROM_LOAD( "1.bin", 0x10000, 0x8000, CRC(71bdab69) SHA1(d2c594ed88d6368df15b623c48eecc1c219b839e) ) - ROM_LOAD( "2.bin", 0x18000, 0x8000, CRC(fccd48d7) SHA1(af564f5ef9ff5b6363897ce6bdf0b21123911fd4) ) + ROM_LOAD( "2.bin", 0x18000, 0x8000, CRC(201d1e90) SHA1(c3c5224646b777f98ee35d146136788029b1782d) ) ROM_REGION( 0x40000, "user1", 0 ) // girls GFX ROM_LOAD( "9.bin", 0x00000, 0x40000, CRC(92342276) SHA1(f9436752f2ec67cf873fd01c729c7c113dc18be0) ) diff --git a/src/mame/irem/m102.cpp b/src/mame/irem/m102.cpp new file mode 100644 index 00000000000..985651faa40 --- /dev/null +++ b/src/mame/irem/m102.cpp @@ -0,0 +1,145 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +M102-C-A 05C04585A1 + +Games known to run on this PCB (may be only one): +Hill Climber +Electromechanical medal game +https://www.youtube.com/watch?v=vb7NiRsT_x4 + +Main components: + +D70008AC-6 CPU +27C010A-15 ROM (for program) +2 M27C4001-12F1 ROMs (for sound data) +PAL16L8 +CXK58257ASP-10L SRAM +Nanao GA20 sound chip +3.579545 MHz XTAL +2 8-DIP banks +9 connectors +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "sound/iremga20.h" + +#include "speaker.h" + + +namespace { + +class m102_state : public driver_device +{ +public: + m102_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + {} + + void m102(machine_config &config) ATTR_COLD; + +private: + required_device<cpu_device> m_maincpu; + + void program_map(address_map &map) ATTR_COLD; + void io_map(address_map &map) ATTR_COLD; +}; + + +void m102_state::program_map(address_map &map) +{ + map(0x0000, 0xefff).rom(); + map(0xf000, 0xffff).ram(); +} + + +// TODO: double-check everything +void m102_state::io_map(address_map &map) +{ + map.global_mask(0xff); + + map(0x00, 0x00).portr("IN0"); + map(0x01, 0x01).portr("IN1"); + map(0x02, 0x02).portr("DSW1"); + map(0x03, 0x03).portr("DSW2"); + // map(0x00, 0x10).w() Lamps, LEDs, coin counter and? + map(0x40, 0x5f).rw("ga20", FUNC(iremga20_device::read), FUNC(iremga20_device::write)); +} + + +static INPUT_PORTS_START( m102 ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(1) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2) + + PORT_START("DSW1") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8") + + PORT_START("DSW2") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8") +INPUT_PORTS_END + + +void m102_state::m102(machine_config &config) +{ + Z80(config, m_maincpu, 3.579545_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &m102_state::program_map); + m_maincpu->set_addrmap(AS_IO, &m102_state::io_map); + m_maincpu->set_periodic_int(FUNC(m102_state::irq0_line_hold), attotime::from_hz(60)); // TODO: where does this come from? + + SPEAKER(config, "mono").front_center(); + + IREMGA20(config, "ga20", 3.579545_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.7); +} + + +ROM_START( hclimber ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "hc-pr-c.ic23", 0x00000, 0x20000, CRC(0b91671b) SHA1(306bde2f4e46fc9927bd659f38e233e6d533a1e4) ) // 1xxxxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x100000, "ga20", 0 ) + ROM_LOAD( "hc-v0-.ic13", 0x00000, 0x80000, CRC(1658e7b5) SHA1(1a554d4381db09216983ddc301c329634043f694) ) + ROM_LOAD( "hc-v1-.ic14", 0x80000, 0x80000, CRC(ae505c2e) SHA1(abfa1b3996b6960d681bb1209bed91be72a656c2) ) + + ROM_REGION( 0x200, "plds", ROMREGION_ERASE00 ) + ROM_LOAD( "m102-c_pal.ic33", 0x000, 0x104, NO_DUMP ) // exact type not verified, but marked as 16L8 on PCB +ROM_END + +} // anonymous namespace + + +GAME( 1992, hclimber, 0, m102, m102, m102_state, empty_init, ROT0, "Irem", "Hill Climber", MACHINE_IS_SKELETON_MECHANICAL ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 43c3f4a9714..eca833983d9 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -21434,6 +21434,9 @@ uccopsaru // (c) 1992 Irem America (US) uccopsj // (c) 1992 Irem (Japan) uccopsu // (c) 1992 Irem America (US) +@source:irem/m102.cpp +hclimber // (c) 1992 Irem + @source:irem/m107.cpp airass // (c) 1993 Irem (World) dsoccr94 // (c) 1994 Irem (Data East Corporation license) @@ -35417,6 +35420,7 @@ rocktrv2 // (c) 1986 Triumph Software Inc shootbul // (c) 1985 Bally Midway sprglbpg // German bootleg sprglobp // (c) 1983 Epos Corporation +sprglobp2 // (c) 1983 Epos Corporation superabc // hack superabco // hack theglobme // (c) 1983 Magic Electronics diff --git a/src/mame/pacman/pacman.cpp b/src/mame/pacman/pacman.cpp index 78a9db684e6..4ec7bba2643 100644 --- a/src/mame/pacman/pacman.cpp +++ b/src/mame/pacman/pacman.cpp @@ -7443,14 +7443,36 @@ ROM_START( sprglobp ) ROM_LOAD( "82s126.3m" , 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Timing - not used ROM_END +// A second dump exists. It has half sized program ROMs. The blister was missing 2 ROMs. +// What's available is identical to the below dump but for 1 single byte at 0x88c which is 0x9a below and 0x92 in the other dump. +ROM_START( sprglobp2 ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "1.bin", 0x0000, 0x1000, CRC(ac5bd172) SHA1(8c74ba7611e58e677f384ccd1fc1022b84cc2190) ) + ROM_LOAD( "2.bin", 0x1000, 0x1000, CRC(35c7fcf1) SHA1(efb2efd51fb5643ad4f4df11593197097c5cad3f) ) + ROM_LOAD( "3.bin", 0x2000, 0x1000, CRC(c10aae4b) SHA1(e40f6066c2eeefcf60553360eb424b875ef007b3) ) + ROM_LOAD( "4.bin", 0x3000, 0x1000, CRC(b8fd4eb2) SHA1(9bd003b20af0fcaa27780cb7764795b6597f1156) ) + + ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_LOAD( "5,bin", 0x0000, 0x1000, CRC(1aa16109) SHA1(ddc8606512d7ab7555b84146b9d793f65ad0a75f) ) + ROM_LOAD( "6.bin", 0x1000, 0x1000, CRC(afe72a89) SHA1(fb17632e2665c3cebc1865ef25fa310cc52725c4) ) + + ROM_REGION( 0x0120, "proms", 0 ) // not dumped for this set + ROM_LOAD( "7 f the glob.7f", 0x0000, 0x0020, BAD_DUMP CRC(1f617527) SHA1(448845cab63800a05fcb106897503d994377f78f) ) + ROM_LOAD( "4 a the glob.4a", 0x0020, 0x0100, BAD_DUMP CRC(28faa769) SHA1(7588889f3102d4e0ca7918f536556209b2490ea1) ) + + ROM_REGION( 0x0200, "namco", 0 ) // Sound PROMs, not dumped for this set + ROM_LOAD( "82s126.1m", 0x0000, 0x0100, BAD_DUMP CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) ) + ROM_LOAD( "82s126.3m" , 0x0100, 0x0100, BAD_DUMP CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) // Timing - not used +ROM_END + /* This set is from a modified Pengo board. Pengo and Pacman are functionally the same. The bad sound is probably correct as the sound data is part of the protection. */ ROM_START( sprglbpg ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ic8.1", 0x0000, 0x1000, CRC(a2df2073) SHA1(14c55186053b080de06cc3691111ede8b2ead231) ) ROM_LOAD( "ic7.2", 0x1000, 0x1000, CRC(3d2c22d9) SHA1(2f1d27e49850f904d1f2256bfcf00557ed88bb16) ) - ROM_LOAD( "ic15.3", 0x2000, 0x1000, CRC(a252047f) SHA1(9fadbb098b86ee98e1a81da938316b833fc26912) ) - ROM_LOAD( "ic14.4", 0x3000, 0x1000, CRC(7efa81f1) SHA1(583999280623f02dcc318a6c7af5ee6fc46144b8) ) + ROM_LOAD( "ic15.3", 0x2000, 0x1000, CRC(a252047f) SHA1(9fadbb098b86ee98e1a81da938316b833fc26912) ) + ROM_LOAD( "ic14.4", 0x3000, 0x1000, CRC(7efa81f1) SHA1(583999280623f02dcc318a6c7af5ee6fc46144b8) ) ROM_REGION( 0x2000, "gfx1", 0 ) ROM_LOAD( "ic92.5", 0x0000, 0x2000, CRC(e54f484d) SHA1(4feb9ec917c2467a5ac531283cb00fe308be7775) ) @@ -8657,15 +8679,15 @@ void mspactwin_state::init_mspactwin() { // decode opcode m_decrypted_opcodes [A ] = bitswap<8>(rom[ A ] , 4, 5, 6, 7, 0, 1, 2, 3); - m_decrypted_opcodes [A+1] = bitswap<8>(rom[ A+1] ^ 0x9A, 6, 4, 5, 7, 2, 0, 3, 1); + m_decrypted_opcodes [A+1] = bitswap<8>(rom[ A+1] ^ 0x9a, 6, 4, 5, 7, 2, 0, 3, 1); m_decrypted_opcodes_high[A ] = bitswap<8>(rom[0x8000+A ] , 4, 5, 6, 7, 0, 1, 2, 3); - m_decrypted_opcodes_high[A+1] = bitswap<8>(rom[0x8000+A+1] ^ 0x9A, 6, 4, 5, 7, 2, 0, 3, 1); + m_decrypted_opcodes_high[A+1] = bitswap<8>(rom[0x8000+A+1] ^ 0x9a, 6, 4, 5, 7, 2, 0, 3, 1); // decode operand rom[ A ] = bitswap<8>(rom[ A ] , 0, 1, 2, 3, 4, 5, 6, 7); - rom[ A+1] = bitswap<8>(rom[ A+1] ^ 0xA3, 2, 4, 6, 3, 7, 0, 5, 1); + rom[ A+1] = bitswap<8>(rom[ A+1] ^ 0xa3, 2, 4, 6, 3, 7, 0, 5, 1); rom[0x8000+A ] = bitswap<8>(rom[0x8000+A ] , 0, 1, 2, 3, 4, 5, 6, 7); - rom[0x8000+A+1] = bitswap<8>(rom[0x8000+A+1] ^ 0xA3, 2, 4, 6, 3, 7, 0, 5, 1); + rom[0x8000+A+1] = bitswap<8>(rom[0x8000+A+1] ^ 0xa3, 2, 4, 6, 3, 7, 0, 5, 1); } } @@ -8677,6 +8699,51 @@ void pacman_state::init_mspackpls() rom[i] = bitswap<8>(rom[i], 7, 6, 5, 3, 4, 2, 1, 0); } +void epospm_state::init_sprglobp2() +{ + // this set is very similar to the unencrypted sprglbpg set + // for some reason the following doesn't work for some ranges + + static const uint8_t data_xortable[16][8] = + { + { 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, }, // 0x0000 + { 0xa0, 0xa0, 0x88, 0x88, 0x88, 0x88, 0xa0, 0xa0, }, // 0x0001 + { 0x00, 0x00, 0x88, 0x88, 0x00, 0x00, 0x88, 0x88, }, // 0x0010 + { 0xa0, 0xa0, 0x88, 0x88, 0x88, 0x88, 0xa0, 0xa0, }, // 0x0011 + { 0x88, 0x88, 0xa0, 0xa0, 0x28, 0x28, 0x00, 0x00, }, // 0x0100 + { 0xa0, 0xa0, 0x88, 0x88, 0x88, 0x88, 0xa0, 0xa0, }, // 0x0101 + { 0x20, 0x20, 0x20, 0x20, 0x80, 0x80, 0x80, 0x80, }, // 0x0110 + { 0xa0, 0xa0, 0x88, 0x88, 0x88, 0x88, 0xa0, 0xa0, }, // 0x0111 + { 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, }, // 0x1000 + { 0x28, 0x28, 0xa0, 0xa0, 0x00, 0x00, 0x88, 0x88, }, // 0x1001 + { 0x00, 0x00, 0x88, 0x88, 0x00, 0x00, 0x88, 0x88, }, // 0x1010 + { 0x28, 0x28, 0xa0, 0xa0, 0x00, 0x00, 0x88, 0x88, }, // 0x1011 + { 0x88, 0x88, 0xa0, 0xa0, 0x28, 0x28, 0x00, 0x00, }, // 0x1100 + { 0x28, 0x28, 0xa0, 0xa0, 0x00, 0x00, 0x88, 0x88, }, // 0x1101 + { 0x20, 0x20, 0x20, 0x20, 0x80, 0x80, 0x80, 0x80, }, // 0x1110 + { 0x28, 0x28, 0xa0, 0xa0, 0x00, 0x00, 0x88, 0x88, } // 0x1111 + }; + + uint8_t *rom = memregion("maincpu")->base(); + + for (int a = 0; a < 0x4000; a++) + { + uint8_t src = rom[a]; + + // pick the translation table from bits 0, 4, 8 and 12 of the address + int i = BIT(a, 0) + (BIT(a, 4) << 1) + (BIT(a, 8) << 2) + (BIT(a, 12) << 3); + + // pick the offset in the table from bits 1, 3 and 5 of the source data + int j = BIT(src, 1) + (BIT(src, 3) << 1) + (BIT(src, 5) << 2); + + // the bottom half of the translation table is the mirror image of the top + if (BIT(src, 7)) j = 7 - j; + + // decode the ROM data + rom[a] = src ^ data_xortable[i][j]; + } +} + /************************************* * * Game drivers @@ -8832,7 +8899,8 @@ GAME( 1983, acitya, bwcasino, acitya, acitya, epospm_state, empty_init, GAME( 1983, theglobp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware, set 1)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, theglobpa,suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, sprglobp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 1984, sprglbpg, suprglob, pacman, theglobp, epospm_state, empty_init, ROT90, "bootleg (Software Labor)", "Super Glob (Pac-Man hardware) (German bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1983, sprglobp2,suprglob, pacman, theglobp, epospm_state, init_sprglobp2,ROT90, "bootleg", "Super Glob (Pac-Man hardware, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // encrypted +GAME( 1984, sprglbpg, suprglob, pacman, theglobp, epospm_state, empty_init, ROT90, "bootleg (Software Labor)", "Super Glob (Pac-Man hardware, German bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, theglobme,suprglob, woodpek, theglobp, epospm_state, empty_init, ROT90, "Magic Electronics Inc.", "The Glob (Pacman hardware, Magic Electronics Inc. license)", MACHINE_SUPPORTS_SAVE ) GAME( 1984, beastfp, suprglob, theglobp, theglobp, epospm_state, empty_init, ROT90, "Epos Corporation", "Beastie Feastie (Pac-Man conversion)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/pacman/pacman.h b/src/mame/pacman/pacman.h index 2c646badf05..309933f57a4 100644 --- a/src/mame/pacman/pacman.h +++ b/src/mame/pacman/pacman.h @@ -242,11 +242,11 @@ public: void piranha(machine_config &config); private: - // pacplus.c + // pacplus.cpp uint8_t pacplus_decrypt(int addr, uint8_t e); void pacplus_decode(); - // jumpshot.c + // jumpshot.cpp uint8_t jumpshot_decrypt(int addr, uint8_t e); void jumpshot_decode(); }; @@ -261,7 +261,9 @@ public: void theglobp(machine_config &config); void eeekkp(machine_config &config); -protected: + void init_sprglobp2(); + +private: uint8_t epos_decryption_w(offs_t offset); DECLARE_MACHINE_START(theglobp); DECLARE_MACHINE_RESET(theglobp); diff --git a/src/mame/pacman/pacman_m.cpp b/src/mame/pacman/pacman_m.cpp index 79427e26235..9e67f7ea570 100644 --- a/src/mame/pacman/pacman_m.cpp +++ b/src/mame/pacman/pacman_m.cpp @@ -70,7 +70,7 @@ correctly, these ROMs will always be enabled. As it so happens, only four counter values are ever used, which is fortunate because the PAL only contains signals to enable the ROMs for those four counter values. The valid counter values are $8, $9, $A, and -$B. The counter's intial value is $A, which is set by jumpers on the +$B. The counter's initial value is $A, which is set by jumpers on the daughterboard. Following is a description of the resulting decryptions for these four counter states. @@ -135,7 +135,11 @@ MACHINE_RESET_MEMBER(epospm_state, theglobp) /* -Same Epos board as usual(theglobp,beastf,street heat). This is fairly easy to decrypt since it has consecutive bytes with the same algorithym. There are 4 different algorithyms. One consists almost entirely of text, one contains the majority of code and the remaining 2 are not used much and are therefore the most difficult. It is however difficult to decrypt to rom. The data for the coin sound is actually program code in a different phase. You need to move the sound tables and add a rom to get it to run without the daughterboard. +Same Epos board as usual(theglobp,beastf,street heat). This is fairly easy to decrypt since it has consecutive bytes with the same algorithm. +There are 4 different algorithms. One consists almost entirely of text, one contains the majority of code and the remaining 2 are not used +much and are therefore the most difficult. It is however difficult to decrypt to ROM. +The data for the coin sound is actually program code in a different phase. You need to move the sound tables and add a ROM to get it to run +without the daughterboard. acitya contains a bug with the insurance in blackjack. It's impossible to collect, so it's likely that acitya is earlier than bwcasino. diff --git a/src/mame/toaplan/toaplan1.cpp b/src/mame/toaplan/toaplan1.cpp index 314662f1455..728ddde7042 100644 --- a/src/mame/toaplan/toaplan1.cpp +++ b/src/mame/toaplan/toaplan1.cpp @@ -3236,5 +3236,5 @@ GAME( 1990, outzonecv, outzone, outzonecv,outzone, toaplan1_state, // has various licenses / regions depending on jumpers, including Tecmo GAME( 1991, vimana, 0, vimana, vimana, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World, rev A)", 0 ) -GAME( 1991, vimanan, vimana, vimana, vimanan, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World", 0 ) +GAME( 1991, vimanan, vimana, vimana, vimanan, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (World)", 0 ) GAME( 1991, vimanaj, vimana, vimana, vimanaj, toaplan1_state, empty_init, ROT270, "Toaplan", "Vimana (Japan)", 0 ) |
