mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
namco/namcos10.cpp: Added decryption setup for Mr Driller G. [Samuel Neves, Peter Wilhelmsen]
Systems promoted to working ----------------------- Mr. Driller G (Japan, DRG1 Ver.A) [Samuel Neves, Peter Wilhelmsen, Windy Fairy]
This commit is contained in:
parent
db6cd41a8b
commit
955c93409a
@ -637,6 +637,8 @@ Known issues:
|
||||
- g13jnr: Needs MP3 decoder emulation
|
||||
- sugorotc, sekaikh(?): BGMs stop early and/or crash the game. Seems to be expecting an SPU-related IRQ?
|
||||
- nicetsuk: Hangs on boot due to suspected issues with the PSX's timers
|
||||
- knpuzzle: Audio/sound effects can be glitchy, sound glitches on the difficulty select screen for a moment
|
||||
- panikuru: Audio/sound effects can be glitchy
|
||||
- Fix medal games I/O and refactor code to separate MGEXIO states from namcos10_state
|
||||
|
||||
|
||||
@ -2029,15 +2031,15 @@ void namcos10_memn_state::ns10_gahaha2(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000080064001ull,0x0000000a000104ull,0x00018220912000ull,0x00000001822010ull,
|
||||
0x000000000001a0ull,0x000481a4220004ull,0x00a11490041269ull,0x00000000000810ull,
|
||||
0x0000000a008200ull,0x000000010b0010ull,0x00000052108820ull,0x00042209a00258ull,
|
||||
0x00000001820401ull,0x00000090040040ull,0x00000000001002ull,0x00209008020004ull
|
||||
0x0000000080064001ull, 0x000000000a000104ull, 0x0000018220912000ull, 0x0000000001822010ull,
|
||||
0x00000000000001a0ull, 0x00000481a4220004ull, 0x0000a11490041269ull, 0x0000000000000810ull,
|
||||
0x000000000a008200ull, 0x00000000010b0010ull, 0x0000000052108820ull, 0x0000042209a00258ull,
|
||||
0x0000000001820401ull, 0x0000000090040040ull, 0x0000000000001002ull, 0x0000209008020004ull,
|
||||
}, {
|
||||
0x00000000020001ull,0x0000000a000024ull,0x00018000830400ull,0x00000001802002ull,
|
||||
0x00000000000130ull,0x00200110060004ull,0x000581080c1260ull,0x00000000000810ull,
|
||||
0x0000000a008040ull,0x00000021bf0010ull,0x00000040588820ull,0x00003000220210ull,
|
||||
0x00000001800400ull,0x00000090000040ull,0x00000000009002ull,0x000403a5020004ull
|
||||
0x0000000000020001ull, 0x000000000a000024ull, 0x0000018000830400ull, 0x0000000001802002ull,
|
||||
0x0000000000000130ull, 0x0000200110060004ull, 0x00000581080c1260ull, 0x0000000000000810ull,
|
||||
0x000000000a008040ull, 0x0000000021bf0010ull, 0x0000000040588820ull, 0x0000003000220210ull,
|
||||
0x0000000001800400ull, 0x0000000090000040ull, 0x0000000000009002ull, 0x00000403a5020004ull,
|
||||
},
|
||||
0x925a,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2124,15 +2126,15 @@ void namcos10_memn_state::ns10_keroro(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000024,0x00000000000884,0x000000000e0a00,0x00000000000040,
|
||||
0x0000000a002100,0x00000000002011,0x00000000004010,0x00050006000000,
|
||||
0x0000000000a004,0x00000000001082,0x000500060000c0,0x00000000000403,
|
||||
0x00000020014040,0x00000000001208,0x00000000000218,0x00000020014100
|
||||
0x0000000000000024ull, 0x0000000000000884ull, 0x00000000000e0a00ull, 0x0000000000000040ull,
|
||||
0x000000000a002100ull, 0x0000000000002011ull, 0x0000000000004010ull, 0x0000050006000000ull,
|
||||
0x000000000000a004ull, 0x0000000000001082ull, 0x00000500060000c0ull, 0x0000000000000403ull,
|
||||
0x0000000020014040ull, 0x0000000000001208ull, 0x0000000000000218ull, 0x0000000020014100ull,
|
||||
}, {
|
||||
0x00000000000024,0x00000000000888,0x000000001c1200,0x00000000000020,
|
||||
0x0000003a182101,0x00000000002012,0x00000000008010,0x00050000008000,
|
||||
0x0000000000c004,0x00000000001084,0x00050000000140,0x00000000000803,
|
||||
0x00000020014080,0x00000000002208,0x00000000000228,0x00000020014200
|
||||
0x0000000000000024ull, 0x0000000000000888ull, 0x00000000001c1200ull, 0x0000000000000020ull,
|
||||
0x000000003a182101ull, 0x0000000000002012ull, 0x0000000000008010ull, 0x0000050000008000ull,
|
||||
0x000000000000c004ull, 0x0000000000001084ull, 0x0000050000000140ull, 0x0000000000000803ull,
|
||||
0x0000000020014080ull, 0x0000000000002208ull, 0x0000000000000228ull, 0x0000000020014200ull,
|
||||
},
|
||||
0xee91,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2140,7 +2142,10 @@ void namcos10_memn_state::ns10_keroro(machine_config &config)
|
||||
return ((previous_masks>>4) & ((previous_masks>>24) ^ (previous_masks>>26)) & 1) << 6;
|
||||
},
|
||||
[] (int iv) -> uint64_t {
|
||||
constexpr uint64_t values[16]{ 0x0000, 0x0602, 0x0302, 0x0101, 0x0203, 0x0802, 0x0603, 0x0303, 0x0001, 0x0803, 0x0501, 0x0500, 0x0202, 0x0100, 0x0401, 0x0400 };
|
||||
constexpr uint64_t values[16]{
|
||||
0x0000, 0x0602, 0x0302, 0x0101, 0x0203, 0x0802, 0x0603, 0x0303,
|
||||
0x0001, 0x0803, 0x0501, 0x0500, 0x0202, 0x0100, 0x0401, 0x0400,
|
||||
};
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
@ -2204,15 +2209,15 @@ void namcos10_memn_state::ns10_medalnt(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000080601000ull,0x00000000006020ull,0x00000000004840ull,0x00000000000201ull,
|
||||
0x00000000020004ull,0x00000000000081ull,0x00000000009001ull,0x00000001041810ull,
|
||||
0x000000ca001806ull,0x00000080600500ull,0x00000000002022ull,0x0000002204001cull,
|
||||
0x0000000c508044ull,0x00000000000808ull,0x000000ca001094ull,0x00000000000184ull
|
||||
0x0000000080601000ull, 0x0000000000006020ull, 0x0000000000004840ull, 0x0000000000000201ull,
|
||||
0x0000000000020004ull, 0x0000000000000081ull, 0x0000000000009001ull, 0x0000000001041810ull,
|
||||
0x00000000ca001806ull, 0x0000000080600500ull, 0x0000000000002022ull, 0x000000002204001cull,
|
||||
0x000000000c508044ull, 0x0000000000000808ull, 0x00000000ca001094ull, 0x0000000000000184ull,
|
||||
}, {
|
||||
0x00000081201000ull,0x00000000006080ull,0x00000000000840ull,0x00000000000201ull,
|
||||
0x00000000080005ull,0x00000000000081ull,0x00000000009004ull,0x000000042c4810ull,
|
||||
0x0000000a003006ull,0x00000081201100ull,0x00000000008022ull,0x00000028050034ull,
|
||||
0x0000004c000044ull,0x0000000000080aull,0x0000000a001214ull,0x00000000000190ull
|
||||
0x0000000081201000ull, 0x0000000000006080ull, 0x0000000000000840ull, 0x0000000000000201ull,
|
||||
0x0000000000080005ull, 0x0000000000000081ull, 0x0000000000009004ull, 0x00000000042c4810ull,
|
||||
0x000000000a003006ull, 0x0000000081201100ull, 0x0000000000008022ull, 0x0000000028050034ull,
|
||||
0x000000004c000044ull, 0x000000000000080aull, 0x000000000a001214ull, 0x0000000000000190ull,
|
||||
},
|
||||
0x5d04,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2230,15 +2235,15 @@ void namcos10_memn_state::ns10_medalnt2(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000202ull,0x00242000120110ull,0x00000001624608ull,0x00000000001820ull,
|
||||
0x0000000000c040ull,0x00000000000184ull,0x00000007900002ull,0x00000000005008ull,
|
||||
0x00000000008401ull,0x00000000008800ull,0x00000000000250ull,0x00000000002000ull,
|
||||
0x00000000000024ull,0x00000000006080ull,0x00000000000042ull,0x00000007900006ull
|
||||
0x0000000000000202ull, 0x0000242000120110ull, 0x0000000001624608ull, 0x0000000000001820ull,
|
||||
0x000000000000c040ull, 0x0000000000000184ull, 0x0000000007900002ull, 0x0000000000005008ull,
|
||||
0x0000000000008401ull, 0x0000000000008800ull, 0x0000000000000250ull, 0x0000000000002000ull,
|
||||
0x0000000000000024ull, 0x0000000000006080ull, 0x0000000000000042ull, 0x0000000007900006ull,
|
||||
}, {
|
||||
0x00000000000203ull,0x00442000140120ull,0x00000002024008ull,0x00000000001840ull,
|
||||
0x00000000004040ull,0x00000000000188ull,0x00000000200002ull,0x00000000006008ull,
|
||||
0x00000000008801ull,0x00000000009000ull,0x00000000000290ull,0x00000000002003ull,
|
||||
0x00000000000024ull,0x0000000000a080ull,0x00000000000042ull,0x0000000020001eull
|
||||
0x0000000000000203ull, 0x0000442000140120ull, 0x0000000002024008ull, 0x0000000000001840ull,
|
||||
0x0000000000004040ull, 0x0000000000000188ull, 0x0000000000200002ull, 0x0000000000006008ull,
|
||||
0x0000000000008801ull, 0x0000000000009000ull, 0x0000000000000290ull, 0x0000000000002003ull,
|
||||
0x0000000000000024ull, 0x000000000000a080ull, 0x0000000000000042ull, 0x000000000020001eull,
|
||||
},
|
||||
0x4c57,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2253,7 +2258,31 @@ void namcos10_memn_state::ns10_mrdrilrg(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{
|
||||
{
|
||||
0x0000115c68620401ull, 0x0000008102802094ull, 0x00000081a65270a8ull, 0x0000000000810010ull,
|
||||
0x00004c2c080f3059ull, 0x00000081470a9500ull, 0x000000816a123009ull, 0x00000081a2b23038ull,
|
||||
0x00002d18a06b9000ull, 0x000001186c02000cull, 0x00000081a2b2704cull, 0x0000702811016302ull,
|
||||
0x00000081470a1122ull, 0x0000000000006200ull, 0x00009170ac403013ull, 0x0000000000001044ull,
|
||||
}, {
|
||||
0x0000115c68620401ull, 0x0000008102802094ull, 0x00000081a65270a8ull, 0x0000000000810010ull,
|
||||
0x00004c2c080f3059ull, 0x00000081470a9500ull, 0x000000816a123009ull, 0x00000081a2b23038ull,
|
||||
0x00002d18a06b9000ull, 0x000001186c02000cull, 0x00000081a2b2704cull, 0x0000702811016302ull,
|
||||
0x00000081470a1122ull, 0x0000000000006200ull, 0x00009170ac403013ull, 0x0000000000001044ull,
|
||||
},
|
||||
0x0000,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
uint64_t previous_masks = previous_cipherwords ^ previous_plainwords;
|
||||
return (1 & gf2_reduce(previous_masks & 0x120100400000) & gf2_reduce(previous_masks & 0x11800020000)) * 0x11;
|
||||
},
|
||||
[] (int iv) -> uint64_t {
|
||||
constexpr uint64_t values[16]{
|
||||
0x0000, 0x0000, 0x0000, 0x2000, 0x801a, 0x6000, 0x0002, 0x0000,
|
||||
0x0000, 0x0018, 0x0000, 0x0420, 0x0000, 0x8800, 0x0000, 0xc000,
|
||||
};
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void namcos10_memn_state::ns10_nflclsfb(machine_config &config)
|
||||
@ -2290,15 +2319,15 @@ void namcos10_memn_state::ns10_pacmball(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000008028ull, 0x00000000000400ull, 0x000000a9100004ull, 0x00000028004200ull,
|
||||
0x00000000001002ull, 0x00000000001041ull, 0x00001a70008022ull, 0x00000081100022ull,
|
||||
0x00000000000890ull, 0x00000000003040ull, 0x00e00000108411ull, 0x000000000000a4ull,
|
||||
0x00000000000980ull, 0x00000000004208ull, 0x00000000000300ull, 0x00e00000108001ull
|
||||
0x0000000000008028ull, 0x0000000000000400ull, 0x00000000a9100004ull, 0x0000000028004200ull,
|
||||
0x0000000000001002ull, 0x0000000000001041ull, 0x0000001a70008022ull, 0x0000000081100022ull,
|
||||
0x0000000000000890ull, 0x0000000000003040ull, 0x0000e00000108411ull, 0x00000000000000a4ull,
|
||||
0x0000000000000980ull, 0x0000000000004208ull, 0x0000000000000300ull, 0x0000e00000108001ull,
|
||||
}, {
|
||||
0x00000000008030ull, 0x00000000000800ull, 0x00000029100008ull, 0x00000028008200ull,
|
||||
0x00000000001002ull, 0x00000000002041ull, 0x00002e20038024ull, 0x00000001100042ull,
|
||||
0x00000000001090ull, 0x00000000003080ull, 0x00800000228421ull, 0x00000000000124ull,
|
||||
0x00000000000a80ull, 0x00000000004408ull, 0x00000000000300ull, 0x00800000228002ull,
|
||||
0x0000000000008030ull, 0x0000000000000800ull, 0x0000000029100008ull, 0x0000000028008200ull,
|
||||
0x0000000000001002ull, 0x0000000000002041ull, 0x0000002e20038024ull, 0x0000000001100042ull,
|
||||
0x0000000000001090ull, 0x0000000000003080ull, 0x0000800000228421ull, 0x0000000000000124ull,
|
||||
0x0000000000000a80ull, 0x0000000000004408ull, 0x0000000000000300ull, 0x0000800000228002ull,
|
||||
},
|
||||
0x247c,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2315,22 +2344,25 @@ void namcos10_memn_state::ns10_panikuru(machine_config &config)
|
||||
|
||||
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
|
||||
0x0000000000000130ull, 0x0000000018802004ull, 0x0000b04a04781081ull, 0x0000000006802000ull,
|
||||
0x0000000000000c02ull, 0x0000000042040020ull, 0x0000000000000003ull, 0x0000b040c00c0940ull,
|
||||
0x0000000000000009ull, 0x00001020a0010400ull, 0x0000000010204104ull, 0x000000005a840004ull,
|
||||
0x0000000000000290ull, 0x0000000010204380ull, 0x0000000000001041ull, 0x0000000000006100ull,
|
||||
}, {
|
||||
0x00000000000120,0x00000028002004,0x00010800480001,0x00000006040100,
|
||||
0x00000000000c00,0x00000042000820,0x00000000001003,0x00910212040100,
|
||||
0x00000000008009,0x00900021018000,0x00000090004104,0x0000006a004004,
|
||||
0x00000000000214,0x00000090004190,0x00000000001040,0x00000000006008
|
||||
0x0000000000000120ull, 0x0000000028002004ull, 0x0000010800480001ull, 0x0000000006040100ull,
|
||||
0x0000000000000c00ull, 0x0000000042000820ull, 0x0000000000001003ull, 0x0000910212040100ull,
|
||||
0x0000000000008009ull, 0x0000900021018000ull, 0x0000000090004104ull, 0x000000006a004004ull,
|
||||
0x0000000000000214ull, 0x0000000090004190ull, 0x0000000000001040ull, 0x0000000000006008ull,
|
||||
},
|
||||
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 };
|
||||
constexpr uint64_t values[16]{
|
||||
0x0000, 0x020e, 0x0412, 0x0411, 0x0204, 0x001b, 0x0009, 0x0207,
|
||||
0x2040, 0x2440, 0x0012, 0x0001, 0x0614, 0x000a, 0x0214, 0x041b,
|
||||
};
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
@ -2352,15 +2384,15 @@ void namcos10_memn_state::ns10_puzzball(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000288,0x00000050420100,0x000000000010a0,0x00000004020015,
|
||||
0x00000020400400,0x00000004020010,0x0008a880054080,0x00000000000140,
|
||||
0x00000000006002,0x00000000000830,0x0000000000000c,0x00000000000821,
|
||||
0x00000000000002,0x00008100c08204,0x00008430c20102,0x0000000000c000
|
||||
0x0000000000000288ull, 0x0000000050420100ull, 0x00000000000010a0ull, 0x0000000004020015ull,
|
||||
0x0000000020400400ull, 0x0000000004020010ull, 0x000008a880054080ull, 0x0000000000000140ull,
|
||||
0x0000000000006002ull, 0x0000000000000830ull, 0x000000000000000cull, 0x0000000000000821ull,
|
||||
0x0000000000000002ull, 0x0000008100c08204ull, 0x0000008430c20102ull, 0x000000000000c000ull,
|
||||
}, {
|
||||
0x00000000000380,0x00000070002000,0x00000000000020,0x00000004120091,
|
||||
0x00000028000410,0x00000004120200,0x00082a00244080,0x00000000000141,
|
||||
0x00000000006040,0x00000000000030,0x00000000000008,0x00000000000c01,
|
||||
0x00000000008402,0x00021d0040c004,0x00008c40880123,0x0000000000c000
|
||||
0x0000000000000380ull, 0x0000000070002000ull, 0x0000000000000020ull, 0x0000000004120091ull,
|
||||
0x0000000028000410ull, 0x0000000004120200ull, 0x0000082a00244080ull, 0x0000000000000141ull,
|
||||
0x0000000000006040ull, 0x0000000000000030ull, 0x0000000000000008ull, 0x0000000000000c01ull,
|
||||
0x0000000000008402ull, 0x0000021d0040c004ull, 0x0000008c40880123ull, 0x000000000000c000ull,
|
||||
},
|
||||
0x31d6,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2378,16 +2410,16 @@ void namcos10_memn_state::ns10_sekaikh(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000510ull, 0x00000000004000ull, 0x00000000000406ull, 0x00000000000400ull,
|
||||
0x000000c0410890ull, 0x00000041610800ull, 0x00000000002008ull, 0x0000002051a000ull,
|
||||
0x00000008800020ull, 0x00000008800014ull, 0x00000000000800ull, 0x00000000004001ull,
|
||||
0x00000041610884ull, 0x00000042308018ull, 0x00000000000888ull, 0x00000070014820ull
|
||||
0x0000000000000510ull, 0x0000000000004000ull, 0x0000000000000406ull, 0x0000000000000400ull,
|
||||
0x00000000c0410890ull, 0x0000000041610800ull, 0x0000000000002008ull, 0x000000002051a000ull,
|
||||
0x0000000008800020ull, 0x0000000008800014ull, 0x0000000000000800ull, 0x0000000000004001ull,
|
||||
0x0000000041610884ull, 0x0000000042308018ull, 0x0000000000000888ull, 0x0000000070014820ull,
|
||||
},
|
||||
{
|
||||
0x00000000000100ull, 0x00000000005040ull, 0x00000000000402ull, 0x00000000000608ull,
|
||||
0x00000084020892ull, 0x00000001418a00ull, 0x00000000000008ull, 0x00000000d0a400ull,
|
||||
0x00000000801020ull, 0x00000000800004ull, 0x00000000000020ull, 0x00000000000001ull,
|
||||
0x00000001410806ull, 0x000000042c8019ull, 0x00000000000880ull, 0x000000b0010920ull,
|
||||
0x0000000000000100ull, 0x0000000000005040ull, 0x0000000000000402ull, 0x0000000000000608ull,
|
||||
0x0000000084020892ull, 0x0000000001418a00ull, 0x0000000000000008ull, 0x0000000000d0a400ull,
|
||||
0x0000000000801020ull, 0x0000000000800004ull, 0x0000000000000020ull, 0x0000000000000001ull,
|
||||
0x0000000001410806ull, 0x00000000042c8019ull, 0x0000000000000880ull, 0x00000000b0010920ull,
|
||||
},
|
||||
0x3aa8,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2430,15 +2462,15 @@ void namcos10_memn_state::ns10_sugorotic(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00061402200010ull,0x00000000b2a150ull,0x00000080280021ull,0x00000000000880ull,
|
||||
0x00061410010004ull,0x00000000000800ull,0x00000000000141ull,0x00000041002000ull,
|
||||
0x00000000000084ull,0x00000000020401ull,0x00000041120100ull,0x00000000020480ull,
|
||||
0x00000000b21110ull,0x00000000128800ull,0x00000000003000ull,0x00061410014020ull
|
||||
0x0000061402200010ull, 0x0000000000b2a150ull, 0x0000000080280021ull, 0x0000000000000880ull,
|
||||
0x0000061410010004ull, 0x0000000000000800ull, 0x0000000000000141ull, 0x0000000041002000ull,
|
||||
0x0000000000000084ull, 0x0000000000020401ull, 0x0000000041120100ull, 0x0000000000020480ull,
|
||||
0x0000000000b21110ull, 0x0000000000128800ull, 0x0000000000003000ull, 0x0000061410014020ull,
|
||||
}, {
|
||||
0x00223011000034ull,0x00000040228150ull,0x00000000280101ull,0x00000000000880ull,
|
||||
0x00223010010004ull,0x00000000000848ull,0x00000000000301ull,0x00000041002001ull,
|
||||
0x00000000000084ull,0x00000000100408ull,0x00000041160800ull,0x00000000100000ull,
|
||||
0x00000040228110ull,0x0000000016c000ull,0x00000000003002ull,0x00223010010020ull
|
||||
0x0000223011000034ull, 0x0000000040228150ull, 0x0000000000280101ull, 0x0000000000000880ull,
|
||||
0x0000223010010004ull, 0x0000000000000848ull, 0x0000000000000301ull, 0x0000000041002001ull,
|
||||
0x0000000000000084ull, 0x0000000000100408ull, 0x0000000041160800ull, 0x0000000000100000ull,
|
||||
0x0000000040228110ull, 0x000000000016c000ull, 0x0000000000003002ull, 0x0000223010010020ull,
|
||||
},
|
||||
0x9006,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2456,15 +2488,15 @@ void namcos10_memn_state::ns10_taiko2(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000004011401,0x0000008c208806,0x0000008c200406,0x00004a08002208,
|
||||
0x00000030800000,0x00000000000540,0x0000002c01011e,0x000000ad4805c6,
|
||||
0x00000030000004,0x00000048100080,0x00003461204408,0x004510422000c0,
|
||||
0x00080080210002,0x000000ae004004,0x0000008c100016,0x00000082010009
|
||||
0x0000000004011401ull, 0x000000008c208806ull, 0x000000008c200406ull, 0x0000004a08002208ull,
|
||||
0x0000000030800000ull, 0x0000000000000540ull, 0x000000002c01011eull, 0x00000000ad4805c6ull,
|
||||
0x0000000030000004ull, 0x0000000048100080ull, 0x0000003461204408ull, 0x00004510422000c0ull,
|
||||
0x0000080080210002ull, 0x00000000ae004004ull, 0x000000008c100016ull, 0x0000000082010009ull,
|
||||
}, {
|
||||
0x000000a4019401,0x0000005e600a06,0x0000005e604406,0x00410308002208,
|
||||
0x00000030020400,0x00000000000150,0x000000ec09010e,0x0000004ecc04c2,
|
||||
0x00000030001004,0x00000048304180,0x00141249886488,0x0000454a000081,
|
||||
0x00184022210002,0x0000006c00400c,0x0000004e140816,0x00000080090008
|
||||
0x00000000a4019401ull, 0x000000005e600a06ull, 0x000000005e604406ull, 0x0000410308002208ull,
|
||||
0x0000000030020400ull, 0x0000000000000150ull, 0x00000000ec09010eull, 0x000000004ecc04c2ull,
|
||||
0x0000000030001004ull, 0x0000000048304180ull, 0x0000141249886488ull, 0x000000454a000081ull,
|
||||
0x0000184022210002ull, 0x000000006c00400cull, 0x000000004e140816ull, 0x0000000080090008ull,
|
||||
},
|
||||
0x0000,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2491,15 +2523,15 @@ void namcos10_memn_state::ns10_taiko4(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000042c82001,0x00000000000200,0x0000000910405c,0x00000000000c00,
|
||||
0x0000000f401100,0x0000000910002a,0x006280110a0440,0x00000040680044,
|
||||
0x000000b408b000,0x00000000108860,0x00000009100008,0x00a024b0000000,
|
||||
0x0000000a401a40,0x00000000001400,0x00000000100162,0x00000020402081
|
||||
0x0000000042c82001ull, 0x0000000000000200ull, 0x000000000910405cull, 0x0000000000000c00ull,
|
||||
0x000000000f401100ull, 0x000000000910002aull, 0x00006280110a0440ull, 0x0000000040680044ull,
|
||||
0x00000000b408b000ull, 0x0000000000108860ull, 0x0000000009100008ull, 0x0000a024b0000000ull,
|
||||
0x000000000a401a40ull, 0x0000000000001400ull, 0x0000000000100162ull, 0x0000000020402081ull,
|
||||
}, {
|
||||
0x00000082102019,0x00000000000400,0x00000005104050,0x00000000000c00,
|
||||
0x00000002001d00,0x0000000510001a,0x00129910a10443,0x00000040040044,
|
||||
0x00000034088000,0x00000000259060,0x00000005100188,0x00204480000000,
|
||||
0x0000000a801a80,0x00000000001400,0x00000000250262,0x00000020404081
|
||||
0x0000000082102019ull, 0x0000000000000400ull, 0x0000000005104050ull, 0x0000000000000c00ull,
|
||||
0x0000000002001d00ull, 0x000000000510001aull, 0x0000129910a10443ull, 0x0000000040040044ull,
|
||||
0x0000000034088000ull, 0x0000000000259060ull, 0x0000000005100188ull, 0x0000204480000000ull,
|
||||
0x000000000a801a80ull, 0x0000000000001400ull, 0x0000000000250262ull, 0x0000000020404081ull,
|
||||
},
|
||||
0x0000,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2526,15 +2558,15 @@ void namcos10_memn_state::ns10_taiko6(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x000000000000a2,0x000000000000c8,0x00909054044a04,0x009180101a2200,
|
||||
0x00000050002840,0x00000000004005,0x0000000e220900,0x00000086000004,
|
||||
0x00000014220d22,0x00000000000110,0x00000000000214,0x00000000001000,
|
||||
0x00000031088890,0x00000000000802,0x000000f025e800,0x00000000000010
|
||||
0x00000000000000a2ull, 0x00000000000000c8ull, 0x0000909054044a04ull, 0x00009180101a2200ull,
|
||||
0x0000000050002840ull, 0x0000000000004005ull, 0x000000000e220900ull, 0x0000000086000004ull,
|
||||
0x0000000014220d22ull, 0x0000000000000110ull, 0x0000000000000214ull, 0x0000000000001000ull,
|
||||
0x0000000031088890ull, 0x0000000000000802ull, 0x00000000f025e800ull, 0x0000000000000010ull,
|
||||
}, {
|
||||
0x000000000000a4,0x00000000000148,0x002090a2078a04,0x00218020012218,
|
||||
0x00000050c22840,0x00000000004009,0x000000164109c0,0x0000008a000004,
|
||||
0x00000014410d42,0x00000000000110,0x00000000000414,0x00000000001003,
|
||||
0x000000320b0890,0x00000000000802,0x000000902a8800,0x00000000000020
|
||||
0x00000000000000a4ull, 0x0000000000000148ull, 0x00002090a2078a04ull, 0x0000218020012218ull,
|
||||
0x0000000050c22840ull, 0x0000000000004009ull, 0x00000000164109c0ull, 0x000000008a000004ull,
|
||||
0x0000000014410d42ull, 0x0000000000000110ull, 0x0000000000000414ull, 0x0000000000001003ull,
|
||||
0x00000000320b0890ull, 0x0000000000000802ull, 0x00000000902a8800ull, 0x0000000000000020ull,
|
||||
},
|
||||
0x0000,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2679,15 +2711,15 @@ void namcos10_memp3_state::ns10_g13jnr(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x005600001c0582ull, 0x00000000004024ull, 0x00010212403000ull, 0x00000000008404ull,
|
||||
0x00005121060021ull, 0x00010212402001ull, 0x00000001024000ull, 0x00000000000840ull,
|
||||
0x000981c2100148ull, 0x00000020108400ull, 0x00000008110134ull, 0x00000000000003ull,
|
||||
0x004c9801080102ull, 0x00000040860083ull, 0x00000000000001ull, 0x00000000000288ull,
|
||||
0x00005600001c0582ull, 0x0000000000004024ull, 0x0000010212403000ull, 0x0000000000008404ull,
|
||||
0x0000005121060021ull, 0x0000010212402001ull, 0x0000000001024000ull, 0x0000000000000840ull,
|
||||
0x00000981c2100148ull, 0x0000000020108400ull, 0x0000000008110134ull, 0x0000000000000003ull,
|
||||
0x00004c9801080102ull, 0x0000000040860083ull, 0x0000000000000001ull, 0x0000000000000288ull,
|
||||
}, {
|
||||
0x00441800340584ull, 0x00000000004028ull, 0x00010212800000ull, 0x00000000000404ull,
|
||||
0x00485022000041ull, 0x00010212804001ull, 0x00000001028000ull, 0x00000000000841ull,
|
||||
0x000e0104080150ull, 0x00000023208400ull, 0x00000040110104ull, 0x00000000000003ull,
|
||||
0x00470001100102ull, 0x000000408c0083ull, 0x00000000000002ull, 0x00000000000308ull
|
||||
0x0000441800340584ull, 0x0000000000004028ull, 0x0000010212800000ull, 0x0000000000000404ull,
|
||||
0x0000485022000041ull, 0x0000010212804001ull, 0x0000000001028000ull, 0x0000000000000841ull,
|
||||
0x00000e0104080150ull, 0x0000000023208400ull, 0x0000000040110104ull, 0x0000000000000003ull,
|
||||
0x0000470001100102ull, 0x00000000408c0083ull, 0x0000000000000002ull, 0x0000000000000308ull,
|
||||
},
|
||||
0x9546,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2704,15 +2736,15 @@ void namcos10_memp3_state::ns10_nicetsuk(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000000000022,0x00000000008082,0x00808400d10000,0x00000000000088,
|
||||
0x00000000001040,0x00000000001600,0x00000714400404,0x00000021c40800,
|
||||
0x00000000004018,0x0000002c450200,0x00000000000c01,0x00000000000180,
|
||||
0x0000000c000414,0x00000000000110,0x00000023006000,0x00000000000068
|
||||
0x0000000000000022ull, 0x0000000000008082ull, 0x0000808400d10000ull, 0x0000000000000088ull,
|
||||
0x0000000000001040ull, 0x0000000000001600ull, 0x0000000714400404ull, 0x0000000021c40800ull,
|
||||
0x0000000000004018ull, 0x000000002c450200ull, 0x0000000000000c01ull, 0x0000000000000180ull,
|
||||
0x000000000c000414ull, 0x0000000000000110ull, 0x0000000023006000ull, 0x0000000000000068ull,
|
||||
}, {
|
||||
0x00000000000026,0x00000000008802,0x00081100f22000,0x0000000000008a,
|
||||
0x00000000001400,0x00000000000600,0x000012d8400404,0x00000021804800,
|
||||
0x00000000004090,0x00000068012000,0x00000000004801,0x00000000000180,
|
||||
0x000000c8000504,0x00000000000111,0x00000032086008,0x00000000000248
|
||||
0x0000000000000026ull, 0x0000000000008802ull, 0x0000081100f22000ull, 0x000000000000008aull,
|
||||
0x0000000000001400ull, 0x0000000000000600ull, 0x00000012d8400404ull, 0x0000000021804800ull,
|
||||
0x0000000000004090ull, 0x0000000068012000ull, 0x0000000000004801ull, 0x0000000000000180ull,
|
||||
0x00000000c8000504ull, 0x0000000000000111ull, 0x0000000032086008ull, 0x0000000000000248ull,
|
||||
},
|
||||
0x9f6b,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2729,15 +2761,15 @@ void namcos10_memp3_state::ns10_squizchs(machine_config &config)
|
||||
|
||||
NS10_TYPE2_DECRYPTER(config, m_decrypter, 0, ns10_type2_decrypter_device::ns10_crypto_logic{
|
||||
{
|
||||
0x00000080203001,0x0000008e001402,0x00000000000005,0x00000002030840,
|
||||
0x00000000008420,0x00000000000088,0x0000001c020442,0x000080c0a01041,
|
||||
0x000000a1800d08,0x00000000002240,0x00020385a08010,0x00008054080024,
|
||||
0x00000080209020,0x001408c4200004,0x00000000000010,0x00000000004108
|
||||
0x0000000080203001ull, 0x000000008e001402ull, 0x0000000000000005ull, 0x0000000002030840ull,
|
||||
0x0000000000008420ull, 0x0000000000000088ull, 0x000000001c020442ull, 0x00000080c0a01041ull,
|
||||
0x00000000a1800d08ull, 0x0000000000002240ull, 0x0000020385a08010ull, 0x0000008054080024ull,
|
||||
0x0000000080209020ull, 0x00001408c4200004ull, 0x0000000000000010ull, 0x0000000000004108ull,
|
||||
}, {
|
||||
0x00000080203001,0x00000008001404,0x00000000000005,0x00000002001040,
|
||||
0x00000000000420,0x00000000000089,0x00000020020842,0x000100c1201081,
|
||||
0x000000dc800b08,0x00000000004240,0x00020006a08010,0x00010054100044,
|
||||
0x00000080209020,0x00141044200008,0x00000000000020,0x00000000008108
|
||||
0x0000000080203001ull, 0x0000000008001404ull, 0x0000000000000005ull, 0x0000000002001040ull,
|
||||
0x0000000000000420ull, 0x0000000000000089ull, 0x0000000020020842ull, 0x00000100c1201081ull,
|
||||
0x00000000dc800b08ull, 0x0000000000004240ull, 0x0000020006a08010ull, 0x0000010054100044ull,
|
||||
0x0000000080209020ull, 0x0000141044200008ull, 0x0000000000000020ull, 0x0000000000008108ull,
|
||||
},
|
||||
0x0000,
|
||||
[] (uint64_t previous_cipherwords, uint64_t previous_plainwords) -> uint16_t {
|
||||
@ -2746,7 +2778,10 @@ void namcos10_memp3_state::ns10_squizchs(machine_config &config)
|
||||
},
|
||||
[] (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 };
|
||||
constexpr uint64_t values[16]{
|
||||
UNKNOWN, 0x9000, 0x9101, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN,
|
||||
};
|
||||
return values[iv];
|
||||
}
|
||||
});
|
||||
@ -3655,15 +3690,15 @@ GAME( 2000, gunbalina, ptblank3, ns10_ptblank3, namcos10, namcos10_memn_sta
|
||||
GAME( 2001, gahaha2, 0, ns10_gahaha2, gahaha, namcos10_memn_state, init_gahaha2, ROT0, "Namco / Metro", "GAHAHA Ippatsudou 2 (Japan, GIS1 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2001, gjspace, 0, ns10_gjspace, gjspace, namcos10_memn_state, init_gjspace, ROT0, "Namco / Metro", "Gekitoride-Jong Space (10011 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2001, kd2001, 0, ns10_kd2001, namcos10, namcos10_memn_state, empty_init, ROT0, "Namco", "Knock Down 2001 (Japan, KD11 Ver. B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION )
|
||||
GAME( 2001, knpuzzle, 0, ns10_knpuzzle, namcos10, namcos10_memn_state, init_knpuzzle, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", MACHINE_IMPERFECT_SOUND ) // sound glitches on the difficulty select screen for a moment
|
||||
GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, init_mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A, set 1)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION )
|
||||
GAME( 2001, knpuzzle, 0, ns10_knpuzzle, namcos10, namcos10_memn_state, init_knpuzzle, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, init_mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
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 )
|
||||
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, panikuru, 0, ns10_panikuru, namcos10, namcos10_memn_state, init_panikuru, ROT0, "Namco", "Panicuru Panekuru (Japan, PPA1 Ver.A)", 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 )
|
||||
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
|
||||
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 )
|
||||
GAME( 2003, konotako, 0, ns10_konotako, konotako, namcos10_memn_state, init_konotako, ROT0, "Mitchell", "Kono e Tako (10021 Ver.A)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2003, nflclsfb, 0, ns10_nflclsfb, nflclsfb, namcos10_memn_state, init_nflclsfb, ROT0, "Namco / Metro", "NFL Classic Football (US, NCF3 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2003, pacmball, 0, ns10_pacmball, mgexio_medal, namcos10_memn_state, init_pacmball, ROT0, "Namco", "Pacman BALL (PMB2 Ver.A.)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
|
Loading…
Reference in New Issue
Block a user