summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp')
-rw-r--r--src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp66
1 files changed, 45 insertions, 21 deletions
diff --git a/src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp b/src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp
index 4373013aeb3..44d913e8c04 100644
--- a/src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp
+++ b/src/mame/tvgames/generalplus_gpl16250_spi_direct.cpp
@@ -25,7 +25,6 @@ public:
}
void init_fif();
- void init_siddr();
void generalplus_gpspi_direct(machine_config &config);
@@ -210,18 +209,41 @@ ROM_START( bftetris )
ROM_LOAD16_WORD_SWAP( "arcadeclassicstetris_25q16ct_c84015.bin", 0x0000, 0x200000, CRC(a97e1bab) SHA1(400944d310d5d5fccb2c6d048d7bf0cb00da09de) )
ROM_END
-ROM_START( siddr )
- ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
- //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
+
+ROM_START( punirune )
ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
- ROM_LOAD16_WORD_SWAP( "ddr-toy.bin", 0x0000, 0x400000, CRC(873cbcc8) SHA1(bdd3d12adb1284991a3f8aaa8e451e3a55931267) )
+ ROM_LOAD16_WORD_SWAP( "25l64.ic103", 0x0000, 0x800000, CRC(0737edc0) SHA1(fce19d91a0522a75e676197fb18645b8c6a273b8) )
ROM_END
+ROM_START( punij1m )
+ ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
+ ROM_LOAD16_WORD_SWAP( "japan_v1pcb_mint_25l6433f.ic103", 0x0000, 0x800000, CRC(76f28b5b) SHA1(be04d60c88df52951dd51eab2f5bf5f1dc2405e8) )
+ROM_END
-ROM_START( punirune )
+ROM_START( punij1pk ) // this might be the same software revision as punij1m with different save (or default save) data
ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
- ROM_LOAD16_WORD_SWAP( "25l64.ic103", 0x0000, 0x800000, CRC(0737edc0) SHA1(fce19d91a0522a75e676197fb18645b8c6a273b8) )
+ ROM_LOAD16_WORD_SWAP( "japan_v1pcb_pink_25l6433f.ic103", 0x0000, 0x800000, CRC(9268c881) SHA1(10bacfa48b3d02956d804396b652829ff868d947) )
+ROM_END
+
+ROM_START( punij1pu ) // different software revision to punij1m / punij1pk but same case style
+ ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
+ ROM_LOAD16_WORD_SWAP( "japan_v1pcb_purple_25l6433f.ic103", 0x0000, 0x800000, CRC(5b73bcb6) SHA1(109b6fa29693e7622c528d95d2a995d37a1cd8ca) )
+ROM_END
+
+ROM_START( punij2pk )
+ ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
+ ROM_LOAD16_WORD_SWAP( "japan_v2pcb_pink_gpr25l64.ic103", 0x0000, 0x800000, CRC(7ae9f009) SHA1(d762634a0442ff231837f9481a1203933c070df0) )
+ROM_END
+
+ROM_START( punifrnd )
+ ROM_REGION16_BE(0x800000, "maincpu:spidirect", ROMREGION_ERASE00)
+ ROM_LOAD16_WORD_SWAP( "25oh64.ic3", 0x0000, 0x800000, CRC(622ca9b3) SHA1(4206393a4458ffcdb63352e743481865532fe8b5) )
+ROM_END
+
+ROM_START( pokgoget )
+ ROM_REGION16_BE(0x2000000, "maincpu:spidirect", ROMREGION_ERASE00)
+ ROM_LOAD16_WORD_SWAP( "mx25l25645g.u1", 0x0000, 0x2000000, CRC(a76ae22f) SHA1(3fa5eeedb3fe343a7707d76710298377b22b0681) )
ROM_END
ROM_START( smkcatch )
@@ -245,17 +267,6 @@ void generalplus_gpspi_direct_game_state::init_fif()
}
}
-void generalplus_gpspi_direct_game_state::init_siddr()
-{
- uint8_t* spirom8 = (uint8_t*)memregion("maincpu:spidirect")->base();
- for (int i = 0x3000; i < 0x400000; i++)
- {
- spirom8[i] = bitswap<8>(spirom8[i] ^ 0x68,
- 3, 5, 0, 7, 1, 4, 2, 6);
- }
-}
-
-
} // anonymous namespace
@@ -269,15 +280,28 @@ CONS(2019, bfspyhnt, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi
CONS(2019, bftetris, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, init_fif, "Basic Fun", "Tetris (mini arcade)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
-// probably not identical hardware, encryption is different, but it does seem to still be a 'direct access' SPI ROM case
-CONS(201?, siddr, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, init_siddr, "Super Impulse", "Dance Dance Revolution - Broadwalk Arcade", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
// games below use GPL95101 series chips, which might be different but are definitely unSP2.0 chips that run from SPI directly
// unclear if colour matches, but there are multiple generations of these at least
// uses PUNIRUNZU_MAIN_V3 pcb
-CONS(2021, punirune, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (Europe, pastel blue)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+CONS(2021, punirune, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (PUNIRUNZU_MAIN_V3, pastel blue, Europe)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+
+// the case on these looks like the European release, including English title logo. CPU is a glob, PUNIRUNZU_MAIN_DICE_V1 on PCB
+CONS(2021, punij1m, punirune, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (PUNIRUNZU_MAIN_DICE_V1, mint, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+CONS(2021, punij1pk, punirune, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (PUNIRUNZU_MAIN_DICE_V1, pink, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+CONS(2021, punij1pu, punirune, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (PUNIRUNZU_MAIN_DICE_V1, purple, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+
+// the case on these is similar to the above, but the text is in Japanese, uses PUNIRUNZU_MAIN_V2 on pcb
+CONS(2021, punij2pk, punirune, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Punirunes (PUNIRUNZU_MAIN_V2, pink, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+
+// has a link feature
+CONS(2021, punifrnd, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", u8"Punirunes Punitomo Tsūshin (hot pink, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+
+// Pocket Monsters ガチッとゲットだぜ! モンスターボールゴー! - Pocket Monsters is printed on the inner shell, but not the box?
+CONS(2021, pokgoget, 0, 0, generalplus_gpspi_direct, bfspyhnt, generalplus_gpspi_direct_game_state, empty_init, "Takara Tomy", "Gachitto Get da ze! Monster Ball Go! (210406, Japan)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)
+
// 2020 (device) / 2021 (box) version of Sumikko Gurashi a cloud shaped device
// Sumikko Gurashi - Sumikko Catch (すみっコぐらし すみっコキャッチ)