mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
namco/namcos10.cpp: Added decrypter for Panicuru Panekuru, and initialized settings for panikuru and squizchs. (#11136)
* Added decryption setup for Panicuru Panekuru. [Samuel Neves, Peter Wilhelmsen] * Fixed an issue with initialization vector for squizchs. [Samuel Neves, Peter Wilhelmsen] * Added controls for squizchs.
This commit is contained in:
parent
265d3f607c
commit
49efed1be8
@ -2313,7 +2313,27 @@ void namcos10_memn_state::ns10_panikuru(machine_config &config)
|
||||
namcos10_memn_base(config);
|
||||
namcos10_nand_k9f2808u0b(config, 3);
|
||||
|
||||
// NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, logic);
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000130,0x00000018802004,0x00b04a04781081,0x00000006802000,
|
||||
0x00000000000c02,0x00000042040020,0x00000000000003,0x00b040c00c0940,
|
||||
0x00000000000009,0x001020a0010400,0x00000010204104,0x0000005a840004,
|
||||
0x00000000000290,0x00000010204380,0x00000000001041,0x00000000006100
|
||||
}, {
|
||||
0x00000000000120,0x00000028002004,0x00010800480001,0x00000006040100,
|
||||
0x00000000000c00,0x00000042000820,0x00000000001003,0x00910212040100,
|
||||
0x00000000008009,0x00900021018000,0x00000090004104,0x0000006a004004,
|
||||
0x00000000000214,0x00000090004190,0x00000000001040,0x00000000006008
|
||||
},
|
||||
0x7c29,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
return (1 & ((gf2_reduce(0x0000000088300281ull & previous_cipherwords) ^ gf2_reduce(0x0000000004600281ull & previous_plainwords))) & ((gf2_reduce(0x0000a13140090000ull & previous_cipherwords) ^ gf2_reduce(0x0000806240090000ull & previous_plainwords)))) << 2;
|
||||
},
|
||||
[] (int iv) -> uint64_t {
|
||||
constexpr uint64_t values[16]{ 0x0000, 0x020e, 0x0412, 0x0411, 0x0204, 0x001b, 0x0009, 0x0207, 0x2040, 0x2440, 0x0012, 0x0001, 0x0614, 0x000a, 0x0214, 0x041b };
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void namcos10_memn_state::ns10_ptblank3(machine_config &config)
|
||||
@ -2723,6 +2743,11 @@ void namcos10_memp3_state::ns10_squizchs(machine_config &config)
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
uint64_t previous_masks = previous_cipherwords ^ previous_plainwords;
|
||||
return (1 & (previous_masks>>12) & (gf2_reduce(previous_cipherwords & 0x140840000000ULL) ^ gf2_reduce(previous_plainwords & 0x141040000000ULL))) << 14;
|
||||
},
|
||||
[] (int iv) -> uint64_t {
|
||||
constexpr int UNKNOWN = 16;
|
||||
constexpr uint64_t values[16]{ UNKNOWN, 0x9000, 0x9101, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN };
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -3047,6 +3072,24 @@ static INPUT_PORTS_START( nicetsuk )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( squizchs )
|
||||
PORT_INCLUDE(namcos10)
|
||||
|
||||
PORT_MODIFY("IN1")
|
||||
PORT_BIT( 0x0fff7070, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
// MEM(M)
|
||||
ROM_START( mrdrilr2 )
|
||||
ROM_REGION32_LE( 0x400000, "maincpu:rom", 0 )
|
||||
@ -3330,7 +3373,7 @@ ROM_START( panikuru )
|
||||
ROM_FILL( 0x0000000, 0x400000, 0x55 )
|
||||
|
||||
ROM_REGION32_LE( 0x1080000, "nand0", 0 )
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(3aa66da4) SHA1(3f6ff164981e2c1825766c775442608fbf86d702) )
|
||||
ROM_LOAD( "0.8e", 0x0000000, 0x1080000, CRC(a68b0965) SHA1(037e41e80a62675ffe1c820060c8bb414fb84c30) )
|
||||
|
||||
ROM_REGION32_LE( 0x1080000, "nand1", 0 )
|
||||
ROM_LOAD( "1.8d", 0x0000000, 0x1080000, CRC(18e5135d) SHA1(a7b1533a1df71be5498718e301d1c9c548551fb4) )
|
||||
@ -3555,7 +3598,7 @@ ROM_START( squizchs )
|
||||
ROM_FILL( 0x0000000, 0x400000, 0x55 )
|
||||
|
||||
ROM_REGION32_LE( 0x1080000, "nand0", 0 )
|
||||
ROM_LOAD( "chs1vera_0.2j", 0x0000000, 0x1080000, CRC(2b1a1392) SHA1(fd5a0e448d8bc7ba8ca57db3008196c9c9433231) )
|
||||
ROM_LOAD( "chs1vera_0.2j", 0x0000000, 0x1080000, CRC(2e92071c) SHA1(51e0bf8989b8a8fdf0d915df2d2227f3e425684a) )
|
||||
|
||||
ROM_REGION32_LE( 0x1080000, "nand1", 0 )
|
||||
ROM_LOAD( "chs1vera_1.1j", 0x0000000, 0x1080000, CRC(85212a85) SHA1(3c8c1d1671d65d594d30da546e8f4c2dcdfca840) )
|
||||
@ -3617,7 +3660,7 @@ GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_sta
|
||||
GAME( 2002, chocovdr, 0, ns10_chocovdr, namcos10, namcos10_memn_state, init_chocovdr, ROT0, "Namco", "Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2002, gamshara, 0, ns10_gamshara, gamshara, namcos10_memn_state, init_gamshara, ROT0, "Mitchell", "Gamshara (World, 20020912A / 10021 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) // Ver. 20020912A ETC
|
||||
GAME( 2002, gamsharaj, gamshara, ns10_gamshara, gamshara, namcos10_memn_state, init_gamshara, ROT0, "Mitchell", "Gamshara (Japan, 20020716A / 10021 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2002, panikuru, 0, ns10_panikuru, namcos10, namcos10_memn_state, init_panikuru, ROT0, "Namco", "Panicuru Panekuru (Japan, PPA1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION )
|
||||
GAME( 2002, panikuru, 0, ns10_panikuru, namcos10, namcos10_memn_state, init_panikuru, ROT0, "Namco", "Panicuru Panekuru (Japan, PPA1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2002, puzzball, 0, ns10_puzzball, mgexio_medal, namcos10_memn_state, init_puzzball, ROT0, "Namco", "Puzz Ball (Japan, PZB1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // title guessed based on known game list and PCB sticker
|
||||
GAME( 2002, startrgn, 0, ns10_startrgn, startrgn, namcos10_memn_state, init_startrgn, ROT0, "Namco", "Star Trigon (Japan, STT1 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2002, sugorotc, 0, ns10_sugorotic, mgexio_medal, namcos10_memn_state, init_sugorotic, ROT0, "Namco", "Sugorotic JAPAN (STJ1 Ver.C)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // uses MGEXIO
|
||||
@ -3628,7 +3671,7 @@ GAME( 2004, sekaikh, 0, ns10_sekaikh, mgexio_medal, namcos10_memn_sta
|
||||
GAME( 2004, sekaikha, sekaikh, ns10_sekaikh, mgexio_medal, namcos10_memn_state, init_sekaikh, ROT0, "Namco", "Sekai Kaseki Hakken (Japan, SKH1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2005, ballpom, 0, ns10_ballpom, mgexio_medal, namcos10_memn_state, init_ballpom, ROT0, "Namco", "Ball Pom Line", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND ) // ROM VER. B0 FEB 09 2005 15:29:02 in test mode, boots but requires MGEXIO to proceed
|
||||
GAME( 2005, medalnt, 0, ns10_medalnt, namcos10, namcos10_memn_state, init_medalnt, ROT0, "Namco", "Medal no Tatsujin Doki! Ooatari-Darake no Sugoroku Matsuri (MTL1 SPR0B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2006, keroro, 0, ns10_keroro, mgexio_medal, namcos10_memn_state, init_keroro, ROT0, "Namco", "Keroro Gunso Chikyu Shinryaku Shirei Dearimasu! (KRG1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // ケロロ軍曹 地球侵略指令…であります!
|
||||
GAME( 2006, keroro, 0, ns10_keroro, mgexio_medal, namcos10_memn_state, init_keroro, ROT0, "Namco / Banpresto", "Keroro Gunso Chikyu Shinryaku Shirei Dearimasu! (KRG1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // ケロロ軍曹 地球侵略指令…であります!
|
||||
GAME( 2007, gegemdb, 0, ns10_gegemdb, mgexio_medal, namcos10_memn_state, empty_init, ROT0, "Namco", "Gegege no Kitaro Yokai Yokocho Matsuri de Battle Ja (GYM1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION ) // ゲゲゲの鬼太郎 妖怪横丁まつりでバトルじゃ
|
||||
GAME( 2007, medalnt2, 0, ns10_medalnt2, namcos10, namcos10_memn_state, init_medalnt2, ROT0, "Namco", "Medal no Tatsujin 2 Atsumare! Go! Go! Sugoroku Sentai Don Ranger Five (MTA1 STMPR0A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // メダルの達人2 あつまれ!ゴー!ゴー!双六戦隊ドンレンジャーファイブ MTA100-1-ST-MPR0-A00 2007/01/30 19:51:54
|
||||
|
||||
@ -3641,4 +3684,4 @@ GAME( 2004, taiko6, 0, ns10_taiko6, taiko, namcos10_memn_sta
|
||||
// MEM(P3)
|
||||
GAME( 2001, g13jnr, 0, ns10_g13jnr, g13jnr, namcos10_memp3_state, init_g13jnr, ROT0, "Eighting / Raizing / Namco", "Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2002, nicetsuk, 0, ns10_nicetsuk, nicetsuk, namcos10_memp3_state, init_nicetsuk, ROT0, "Namco / Metro", "Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2003, squizchs, 0, ns10_squizchs, namcos10, namcos10_memp3_state, init_squizchs, ROT0, "Namco", "Seishun-Quiz Colorful High School (CHS1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2003, squizchs, 0, ns10_squizchs, squizchs, namcos10_memp3_state, init_squizchs, ROT0, "Namco", "Seishun-Quiz Colorful High School (CHS1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
|
Loading…
Reference in New Issue
Block a user