mirror of
https://github.com/holub/mame
synced 2025-07-06 18:39:28 +03:00
Pool 10 (Dino 4 encrypted hardware) improvements. [Roberto Fresca]
- Added PCB layout and technical notes. - Decrypted the program data & address. - Decrypted the graphics ROMs address. - Added a default NVRAM. - Added button-lamps layout. - Promoted to working state. - Improved the PCB layout. - Added some encryption notes.
This commit is contained in:
parent
33d4d9d0c6
commit
7f11fec181
@ -791,10 +791,15 @@
|
||||
- Rearrange the whole Magic Card 2 sets, and improved descriptions.
|
||||
- Added technical notes.
|
||||
|
||||
[2012/11/08]
|
||||
- Added a new Pool 10 set, from a Dino 4 encrypted hardware.
|
||||
[2012/11/08-09]
|
||||
- New Pool 10 set, from a Dino 4 encrypted hardware.
|
||||
- Added PCB layout and technical notes.
|
||||
- Decrypted the program data & address. GFX need to be decrypted.
|
||||
- Decrypted the program data & address.
|
||||
- Decrypted the graphics ROMs address.
|
||||
- Added a default NVRAM.
|
||||
- Added button-lamps layout.
|
||||
- Promoted to working state.
|
||||
- Improved the PCB layout.
|
||||
- Added some technical notes.
|
||||
|
||||
|
||||
@ -3426,73 +3431,75 @@ ROM_END
|
||||
|
||||
/*
|
||||
Pool 10...
|
||||
Dino 4 (non working) board,
|
||||
Dino 4 (not working) board,
|
||||
with the infamous mexican Rockwell R65C02.
|
||||
|
||||
Encrypted program & graphics ROMs.
|
||||
______________________________________________________________________________________________
|
||||
|
||||
PCB layout...
|
||||
.----------------------------------------------------------------------------------------------.
|
||||
| |
|
||||
| ____ __________ ______________ ______________ |
|
||||
| | A00| |M74HC00B1 | | SN74HCT245N | |PALCE16V8H_15 | |
|
||||
| |____| |__________| |______________| |______________| |
|
||||
| .----. .----------. .--------------. .--------------. |
|
||||
| |A00 | |M74HC00B1 | | SN74HCT245N | |PALCE16V8H-15 | |
|
||||
| '----' '----------' '--------------' '--------------' |
|
||||
| |
|
||||
| ____________ ___________ |
|
||||
| | | | DIP 1 | ____________________________ |
|
||||
| .------------. .-----------. |
|
||||
| | | | DIP SW #1 | .----------------------------. |
|
||||
| | BATTERY | | | | R65C02P2 | |
|
||||
|___ | | |___________| | 11450_12 | |
|
||||
'---. | | '-----------' | 11450-12 | |
|
||||
| | | | MEXICO | |
|
||||
| |____________| | 9740 S11493_2 | |
|
||||
| |____________________________| |
|
||||
___| ____________________________ |
|
||||
|__ | | |
|
||||
|__ | HD46821P | |
|
||||
|__ | | ____________________ _________ |
|
||||
|__ | | | 03.bin | |74HC126B1| |
|
||||
|__ |____________________________| | | |_________| |
|
||||
|__ | | |
|
||||
|__ ____________________________ | 27256| |
|
||||
|__ | MC6821P | |____________________| |
|
||||
|__ | QL M9N8623 | _________ |
|
||||
|__ _________ | | |74HC139E | |
|
||||
|__ J |ULN2003A | | | |_________| |
|
||||
|__ |_________| |____________________________| _________________ |
|
||||
|__ A | | |
|
||||
|__ | JAPAN 2G3 | _________ |
|
||||
|__ M _________ ___________ ___________ | HM6116LP_4 | |SN74LS02N| |
|
||||
|__ |74LS04B1 | | 411GR-001 | | 411GR-001 | | | |_________| |
|
||||
|__ M |_________| |___________| |___________| |_________________| |
|
||||
|__ |
|
||||
|__ A |
|
||||
|__ ____________________________ ____________________________ |
|
||||
|__ | FILE | | MC6845P | |
|
||||
|__ | KV89C72 | | R1A 8210 | |
|
||||
|__ | | | | |
|
||||
|__ | | | | |
|
||||
|__ _____________ |____________________________| |____________________________| |
|
||||
|__ | 74HCT373N | |
|
||||
|__ |_____________| _________ _______________ _____________ _________ |
|
||||
|__ |ULN2003A | |PALCE20V8H_25PC| | SN74LS245N | |74157 PC | |
|
||||
|__ _____________ |_________| |_______________| |_____________| |_________| |
|
||||
|__ | AM27S29 | |
|
||||
|__ |_____________| ____________________ _________ |
|
||||
|__ | 02.bin | ____________________ |74157 PC | |
|
||||
|__ ________ | | | GOLDSTAR | |_________| |
|
||||
|__ |74LS174B| ___ | | | GM76C88_12 | |
|
||||
|___ |________| |74L| | 27256| | 8928 KOREA | _________ |
|
||||
| |S08| |____________________| LC DINO 4 | | |74157 PC | |
|
||||
| |B1 | |____________________| |_________| |
|
||||
| ________ | | ____________________ |
|
||||
___| |74LS02N | | | | 01.bin | |
|
||||
| |________| |___| | | _____________ _________ |
|
||||
| '------------' | 9740 S11493_2 | |
|
||||
| '----------------------------' |
|
||||
.---' .----------------------------. |
|
||||
|--- | | |
|
||||
|--- | HD46821P | |
|
||||
|--- | | .--------------------. .---------. |
|
||||
|--- | | | 3_50.U2 | |74HC126B1| |
|
||||
|--- '----------------------------' | | '---------' |
|
||||
|--- | | |
|
||||
|--- .----------------------------. | 27256| |
|
||||
|--- | MC6821P | '--------------------' |
|
||||
|--- | QL M9N8623 | .---------. |
|
||||
|--- .---------. | | |74HC139E | |
|
||||
|---J |ULN2003A | | | '---------' |
|
||||
|--- '---------' '----------------------------' .-----------------. |
|
||||
|---A | | |
|
||||
|--- | JAPAN 2G3 | .---------. |
|
||||
|---M .---------. .-----------. .-----------. | HM6116LP-4 | |SN74LS02N| |
|
||||
|--- |74LS04B1 | | 411GR-001 | | 411GR-001 | | | '---------' |
|
||||
|---M '---------' '-----------' '-----------' '-----------------' |
|
||||
|--- |
|
||||
|---A |
|
||||
|--- .----------------------------. .----------------------------. |
|
||||
|--- | FILE | | MC6845P | |
|
||||
|--- | KV89C72 | | R1A 8210 | |
|
||||
|--- | | | | |
|
||||
|--- | | | | |
|
||||
|--- .-------------. '----------------------------' '----------------------------' |
|
||||
|--- | 74HCT373N | |
|
||||
|--- '-------------' .---------. .---------------. .-------------. .---------. |
|
||||
|--- |ULN2003A | |PALCE20V8H-25PC| | SN74LS245N | |74157 PC | |
|
||||
|--- .-------------. '---------' '---------------' '-------------' '---------' |
|
||||
|--- | AM27S29 | |
|
||||
|--- '-------------' .--------------------. .---------. |
|
||||
|--- | 2.U21 | .--------------------. |74157 PC | |
|
||||
|--- .--------. | | | GOLDSTAR | '---------' |
|
||||
|-- |74LS174B| .---. | | | GM76C88-12 | |
|
||||
'---. '--------' |74L| | 27256| | 8928 KOREA | .---------. |
|
||||
| |S08| '--------------------' LC DINO 4 | | |74157 PC | |
|
||||
| |B1 | '--------------------' '---------' |
|
||||
| .--------. | | .--------------------. |
|
||||
.---' |74LS02N | | | | 1.U20 | |
|
||||
| '--------' '---' | | .-------------. .---------. |
|
||||
| | | | SN74LS377N | |74157 PC | |
|
||||
| | 27256| |_____________| |_________| |
|
||||
| |____________________| |
|
||||
| ________ |
|
||||
| | X_TAL | _________ _______________ _____________ _________ |
|
||||
| |16.00Mhz| |74LS161AN| |PALCE20V8H_25PC| | SN74LS377N | |74LS174B1| |
|
||||
| |________| |_________| |_______________| |_____________| |_________| |
|
||||
| | 27256| '-------------' '---------' |
|
||||
| '--------------------' |
|
||||
| .--------. |
|
||||
| | XTAL | .---------. .---------------. .-------------. .---------. |
|
||||
| | 16 MHz | |74LS161AN| |PALCE20V8H-25PC| | SN74LS377N | |74LS174B1| |
|
||||
| '--------' '---------' '---------------' '-------------' '---------' |
|
||||
| |
|
||||
|______________________________________________________________________________________________|
|
||||
'----------------------------------------------------------------------------------------------'
|
||||
|
||||
A00 = TL7705ACE
|
||||
|
||||
@ -3506,6 +3513,9 @@ ROM_START( pool10e )
|
||||
ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(a0d54044) SHA1(c7be1f12f72095daee32ae41c3554d8ab4f99245) )
|
||||
ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(55c9fcc8) SHA1(224bdf63ed345b1def4852af3b33f07790fbf123) )
|
||||
|
||||
ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */
|
||||
ROM_LOAD( "pool10e_nvram.bin", 0x0000, 0x0800, CRC(e20f9a14) SHA1(617ca53263a971c9f835a95737a66fac5b99780f) )
|
||||
|
||||
ROM_REGION( 0x0200, "proms", 0 ) /* Same as Pool 10, but the 1st half duplicated to cover any PLD addressing */
|
||||
ROM_LOAD( "am27s29.u25", 0x0000, 0x0200, CRC(2c315cbf) SHA1(f3f91329f2b8388decf26a050f8fb7da38694218) )
|
||||
|
||||
@ -4773,6 +4783,7 @@ DRIVER_INIT_MEMBER(funworld_state, tabblue)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, magicd2b)
|
||||
/*****************************************************************
|
||||
|
||||
@ -4784,7 +4795,7 @@ DRIVER_INIT_MEMBER(funworld_state, magicd2b)
|
||||
putting value 0x34 in $0800-$0803 & $0A00-$0A03.
|
||||
|
||||
The code use STA ($zp),y (opcode 0x91). As soon as register 'y'
|
||||
increments, almost all writes goes out of range.
|
||||
increments, almost all writes go out of range.
|
||||
|
||||
******************************************************************/
|
||||
{
|
||||
@ -4793,6 +4804,7 @@ DRIVER_INIT_MEMBER(funworld_state, magicd2b)
|
||||
ROM[0xc1c6] = 0x92;
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, magicd2c)
|
||||
/*** same as blue TAB PCB, with the magicd2a patch ***/
|
||||
{
|
||||
@ -4814,6 +4826,7 @@ DRIVER_INIT_MEMBER(funworld_state, magicd2c)
|
||||
ROM[0xc1c6] = 0x92;
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, soccernw)
|
||||
{
|
||||
/* temporary patch to avoid hardware errors for debug purposes */
|
||||
@ -4830,6 +4843,7 @@ DRIVER_INIT_MEMBER(funworld_state, soccernw)
|
||||
// ROM[0xa33c] = 0xea;
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, saloon)
|
||||
/*************************************************
|
||||
|
||||
@ -4938,6 +4952,7 @@ DRIVER_INIT_MEMBER(funworld_state, saloon)
|
||||
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, multiwin)
|
||||
/*****************************************************
|
||||
|
||||
@ -4968,6 +4983,7 @@ DRIVER_INIT_MEMBER(funworld_state, multiwin)
|
||||
space.set_decrypted_region(0x8000, 0xffff, machine().root_device().memregion("maincpu")->base() + 0x18000);
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(funworld_state, royalcdc)
|
||||
{
|
||||
/*****************************************************
|
||||
@ -5027,17 +5043,26 @@ DRIVER_INIT_MEMBER(funworld_state, dino4)
|
||||
|
||||
DINO 4 hardware.
|
||||
|
||||
Program data & address are bitswapped.
|
||||
GFX are encrypted...
|
||||
Program ROM data & address lines are swapped,
|
||||
hardcoded in the board.
|
||||
|
||||
GFX ROMs address lines are also swapped, but they
|
||||
are connected to 2 PLDs that handle the encryption.
|
||||
|
||||
Color PROM is straight.
|
||||
|
||||
All PLD's are read protected.
|
||||
|
||||
******************************************************/
|
||||
{
|
||||
UINT8 *rom = machine().root_device().memregion("maincpu")->base();
|
||||
int size = machine().root_device().memregion("maincpu")->bytes();
|
||||
int start = 0x8000;
|
||||
|
||||
UINT8 *gfxrom = machine().root_device().memregion("gfx1")->base();
|
||||
int sizeg = machine().root_device().memregion("gfx1")->bytes();
|
||||
int startg = 0;
|
||||
|
||||
UINT8 *buffer;
|
||||
int i, a;
|
||||
|
||||
@ -5065,12 +5090,30 @@ DRIVER_INIT_MEMBER(funworld_state, dino4)
|
||||
}
|
||||
|
||||
auto_free(machine(), buffer);
|
||||
|
||||
|
||||
/******************************
|
||||
* Graphics ROM decryption *
|
||||
******************************/
|
||||
|
||||
buffer = auto_alloc_array(machine(), UINT8, sizeg);
|
||||
memcpy(buffer, gfxrom, sizeg);
|
||||
|
||||
/* address lines swap: fedcba9876543210 -> fedcb67584a39012 */
|
||||
|
||||
for (i = startg; i < sizeg; i++)
|
||||
{
|
||||
a = BITSWAP16(i, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0);
|
||||
gfxrom[a] = buffer[i];
|
||||
}
|
||||
|
||||
auto_free(machine(), buffer);
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
* Game Drivers *
|
||||
*************************/
|
||||
/**********************************************
|
||||
* Game Drivers *
|
||||
**********************************************/
|
||||
|
||||
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
||||
|
||||
@ -5102,7 +5145,7 @@ GAMEL( 1996, pool10, 0, cuoreuno, pool10, driver_device, 0,
|
||||
GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd )
|
||||
GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd )
|
||||
GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd )
|
||||
GAME( 1997, pool10e, pool10, cuoreuno, cuoreuno, funworld_state, dino4, ROT0, "C.M.C.", "Pool 10 (Italian, Dino 4 hardware, encrypted)", GAME_NOT_WORKING )
|
||||
GAMEL( 1997, pool10e, pool10, cuoreuno, cuoreuno, funworld_state, dino4, ROT0, "C.M.C.", "Pool 10 (Italian, Dino 4 hardware, encrypted)", 0, layout_jollycrd )
|
||||
GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd )
|
||||
GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd )
|
||||
GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd )
|
||||
@ -5142,6 +5185,7 @@ GAMEL( 198?, jolyjokra, jolyjokr, fw1stpal, jolyjokra, driver_device, 0,
|
||||
GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, driver_device, 0, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd )
|
||||
|
||||
// Encrypted games...
|
||||
// also pool10e (dino 4) and jolycdit/jolycdib (tab blue) are encrypted...
|
||||
GAME( 1992, multiwin, 0, fw1stpal, funworld, funworld_state, multiwin, ROT0, "Fun World", "Multi Win (Ver.0167, encrypted)", GAME_NOT_WORKING )
|
||||
GAME( 1993, jokercrd, 0, fw2ndpal, funworld, driver_device, 0, ROT0, "Vesely Svet", "Joker Card (Ver.A267BC, encrypted)", GAME_NOT_WORKING )
|
||||
GAME( 198?, saloon, 0, saloon, saloon, funworld_state, saloon, ROT0, "<unknown>", "Saloon (French, encrypted)", GAME_NOT_WORKING )
|
||||
|
Loading…
Reference in New Issue
Block a user