| Previous | 199869 Revisions | Next |
| r18917 Friday 9th November, 2012 at 15:44:34 UTC by Roberto Fresca |
|---|
| 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. |
| [src/mame/drivers] | funworld.c |
| r18916 | r18917 | |
|---|---|---|
| 791 | 791 | - Rearrange the whole Magic Card 2 sets, and improved descriptions. |
| 792 | 792 | - Added technical notes. |
| 793 | 793 | |
| 794 | [2012/11/08] | |
| 795 | - Added a new Pool 10 set, from a Dino 4 encrypted hardware. | |
| 794 | [2012/11/08-09] | |
| 795 | - New Pool 10 set, from a Dino 4 encrypted hardware. | |
| 796 | 796 | - Added PCB layout and technical notes. |
| 797 | - Decrypted the program data & address. GFX need to be decrypted. | |
| 797 | - Decrypted the program data & address. | |
| 798 | - Decrypted the graphics ROMs address. | |
| 799 | - Added a default NVRAM. | |
| 800 | - Added button-lamps layout. | |
| 801 | - Promoted to working state. | |
| 802 | - Improved the PCB layout. | |
| 798 | 803 | - Added some technical notes. |
| 799 | 804 | |
| 800 | 805 | |
| r18916 | r18917 | |
| 3426 | 3431 | |
| 3427 | 3432 | /* |
| 3428 | 3433 | Pool 10... |
| 3429 | Dino 4 (no | |
| 3434 | Dino 4 (not working) board, | |
| 3430 | 3435 | with the infamous mexican Rockwell R65C02. |
| 3431 | 3436 | |
| 3432 | 3437 | Encrypted program & graphics ROMs. |
| 3433 | ______________________________________________________________________________________________ | |
| 3438 | ||
| 3439 | PCB layout... | |
| 3440 | .----------------------------------------------------------------------------------------------. | |
| 3434 | 3441 | | | |
| 3435 | | ____ __________ ______________ ______________ | | |
| 3436 | | | A00| |M74HC00B1 | | SN74HCT245N | |PALCE16V8H_15 | | | |
| 3437 | | |____| |__________| |______________| |______________| | | |
| 3442 | | .----. .----------. .--------------. .--------------. | | |
| 3443 | | |A00 | |M74HC00B1 | | SN74HCT245N | |PALCE16V8H-15 | | | |
| 3444 | | '----' '----------' '--------------' '--------------' | | |
| 3438 | 3445 | | | |
| 3439 | | ____________ ___________ | | |
| 3440 | | | | | DIP 1 | ____________________________ | | |
| 3446 | | .------------. .-----------. | | |
| 3447 | | | | | DIP SW #1 | .----------------------------. | | |
| 3441 | 3448 | | | BATTERY | | | | R65C02P2 | | |
| 3442 | | |
| 3449 | '---. | | '-----------' | 11450-12 | | | |
| 3443 | 3450 | | | | | MEXICO | | |
| 3444 | | |____________| | 9740 S11493_2 | | | |
| 3445 | | |____________________________| | | |
| 3446 | ___| ____________________________ | | |
| 3447 | |__ | | | | |
| 3448 | |__ | HD46821P | | | |
| 3449 | |__ | | ____________________ _________ | | |
| 3450 | |__ | | | 03.bin | |74HC126B1| | | |
| 3451 | |__ |____________________________| | | |_________| | | |
| 3452 | |__ | | | | |
| 3453 | |__ ____________________________ | 27256| | | |
| 3454 | |__ | MC6821P | |____________________| | | |
| 3455 | |__ | QL M9N8623 | _________ | | |
| 3456 | |__ _________ | | |74HC139E | | | |
| 3457 | |__ J |ULN2003A | | | |_________| | | |
| 3458 | |__ |_________| |____________________________| _________________ | | |
| 3459 | |__ A | | | | |
| 3460 | |__ | JAPAN 2G3 | _________ | | |
| 3461 | |__ M _________ ___________ ___________ | HM6116LP_4 | |SN74LS02N| | | |
| 3462 | |__ |74LS04B1 | | 411GR-001 | | 411GR-001 | | | |_________| | | |
| 3463 | |__ M |_________| |___________| |___________| |_________________| | | |
| 3464 | |__ | | |
| 3465 | |__ A | | |
| 3466 | |__ ____________________________ ____________________________ | | |
| 3467 | |__ | FILE | | MC6845P | | | |
| 3468 | |__ | KV89C72 | | R1A 8210 | | | |
| 3469 | |__ | | | | | | |
| 3470 | |__ | | | | | | |
| 3471 | |__ _____________ |____________________________| |____________________________| | | |
| 3472 | |__ | 74HCT373N | | | |
| 3473 | |__ |_____________| _________ _______________ _____________ _________ | | |
| 3474 | |__ |ULN2003A | |PALCE20V8H_25PC| | SN74LS245N | |74157 PC | | | |
| 3475 | |__ _____________ |_________| |_______________| |_____________| |_________| | | |
| 3476 | |__ | AM27S29 | | | |
| 3477 | |__ |_____________| ____________________ _________ | | |
| 3478 | |__ | 02.bin | ____________________ |74157 PC | | | |
| 3479 | |__ ________ | | | GOLDSTAR | |_________| | | |
| 3480 | |__ |74LS174B| ___ | | | GM76C88_12 | | | |
| 3481 | |___ |________| |74L| | 27256| | 8928 KOREA | _________ | | |
| 3482 | | |S08| |____________________| LC DINO 4 | | |74157 PC | | | |
| 3483 | | |B1 | |____________________| |_________| | | |
| 3484 | | ________ | | ____________________ | | |
| 3485 | ___| |74LS02N | | | | 01.bin | | | |
| 3486 | | |________| |___| | | _____________ _________ | | |
| 3451 | | '------------' | 9740 S11493_2 | | | |
| 3452 | | '----------------------------' | | |
| 3453 | .---' .----------------------------. | | |
| 3454 | |--- | | | | |
| 3455 | |--- | HD46821P | | | |
| 3456 | |--- | | .--------------------. .---------. | | |
| 3457 | |--- | | | 3_50.U2 | |74HC126B1| | | |
| 3458 | |--- '----------------------------' | | '---------' | | |
| 3459 | |--- | | | | |
| 3460 | |--- .----------------------------. | 27256| | | |
| 3461 | |--- | MC6821P | '--------------------' | | |
| 3462 | |--- | QL M9N8623 | .---------. | | |
| 3463 | |--- .---------. | | |74HC139E | | | |
| 3464 | |---J |ULN2003A | | | '---------' | | |
| 3465 | |--- '---------' '----------------------------' .-----------------. | | |
| 3466 | |---A | | | | |
| 3467 | |--- | JAPAN 2G3 | .---------. | | |
| 3468 | |---M .---------. .-----------. .-----------. | HM6116LP-4 | |SN74LS02N| | | |
| 3469 | |--- |74LS04B1 | | 411GR-001 | | 411GR-001 | | | '---------' | | |
| 3470 | |---M '---------' '-----------' '-----------' '-----------------' | | |
| 3471 | |--- | | |
| 3472 | |---A | | |
| 3473 | |--- .----------------------------. .----------------------------. | | |
| 3474 | |--- | FILE | | MC6845P | | | |
| 3475 | |--- | KV89C72 | | R1A 8210 | | | |
| 3476 | |--- | | | | | | |
| 3477 | |--- | | | | | | |
| 3478 | |--- .-------------. '----------------------------' '----------------------------' | | |
| 3479 | |--- | 74HCT373N | | | |
| 3480 | |--- '-------------' .---------. .---------------. .-------------. .---------. | | |
| 3481 | |--- |ULN2003A | |PALCE20V8H-25PC| | SN74LS245N | |74157 PC | | | |
| 3482 | |--- .-------------. '---------' '---------------' '-------------' '---------' | | |
| 3483 | |--- | AM27S29 | | | |
| 3484 | |--- '-------------' .--------------------. .---------. | | |
| 3485 | |--- | 2.U21 | .--------------------. |74157 PC | | | |
| 3486 | |--- .--------. | | | GOLDSTAR | '---------' | | |
| 3487 | |-- |74LS174B| .---. | | | GM76C88-12 | | | |
| 3488 | '---. '--------' |74L| | 27256| | 8928 KOREA | .---------. | | |
| 3489 | | |S08| '--------------------' LC DINO 4 | | |74157 PC | | | |
| 3490 | | |B1 | '--------------------' '---------' | | |
| 3491 | | .--------. | | .--------------------. | | |
| 3492 | .---' |74LS02N | | | | 1.U20 | | | |
| 3493 | | '--------' '---' | | .-------------. .---------. | | |
| 3487 | 3494 | | | | | SN74LS377N | |74157 PC | | |
| 3488 | | | 27256| |_____________| |_________| | | |
| 3489 | | |____________________| | | |
| 3490 | | ________ | | |
| 3491 | | | X_TAL | _________ _______________ _____________ _________ | | |
| 3492 | | |16.00Mhz| |74LS161AN| |PALCE20V8H_25PC| | SN74LS377N | |74LS174B1| | | |
| 3493 | | |________| |_________| |_______________| |_____________| |_________| | | |
| 3495 | | | 27256| '-------------' '---------' | | |
| 3496 | | '--------------------' | | |
| 3497 | | .--------. | | |
| 3498 | | | XTAL | .---------. .---------------. .-------------. .---------. | | |
| 3499 | | | 16 MHz | |74LS161AN| |PALCE20V8H-25PC| | SN74LS377N | |74LS174B1| | | |
| 3500 | | '--------' '---------' '---------------' '-------------' '---------' | | |
| 3494 | 3501 | | | |
| 3495 | | |
| 3502 | '----------------------------------------------------------------------------------------------' | |
| 3496 | 3503 | |
| 3497 | 3504 | A00 = TL7705ACE |
| 3498 | 3505 | |
| r18916 | r18917 | |
| 3506 | 3513 | ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(a0d54044) SHA1(c7be1f12f72095daee32ae41c3554d8ab4f99245) ) |
| 3507 | 3514 | ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(55c9fcc8) SHA1(224bdf63ed345b1def4852af3b33f07790fbf123) ) |
| 3508 | 3515 | |
| 3516 | ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ | |
| 3517 | ROM_LOAD( "pool10e_nvram.bin", 0x0000, 0x0800, CRC(e20f9a14) SHA1(617ca53263a971c9f835a95737a66fac5b99780f) ) | |
| 3518 | ||
| 3509 | 3519 | ROM_REGION( 0x0200, "proms", 0 ) /* Same as Pool 10, but the 1st half duplicated to cover any PLD addressing */ |
| 3510 | 3520 | ROM_LOAD( "am27s29.u25", 0x0000, 0x0200, CRC(2c315cbf) SHA1(f3f91329f2b8388decf26a050f8fb7da38694218) ) |
| 3511 | 3521 | |
| r18916 | r18917 | |
| 4773 | 4783 | } |
| 4774 | 4784 | } |
| 4775 | 4785 | |
| 4786 | ||
| 4776 | 4787 | DRIVER_INIT_MEMBER(funworld_state, magicd2b) |
| 4777 | 4788 | /***************************************************************** |
| 4778 | 4789 | |
| r18916 | r18917 | |
| 4784 | 4795 | putting value 0x34 in $0800-$0803 & $0A00-$0A03. |
| 4785 | 4796 | |
| 4786 | 4797 | The code use STA ($zp),y (opcode 0x91). As soon as register 'y' |
| 4787 | increments, almost all writes go | |
| 4798 | increments, almost all writes go out of range. | |
| 4788 | 4799 | |
| 4789 | 4800 | ******************************************************************/ |
| 4790 | 4801 | { |
| r18916 | r18917 | |
| 4793 | 4804 | ROM[0xc1c6] = 0x92; |
| 4794 | 4805 | } |
| 4795 | 4806 | |
| 4807 | ||
| 4796 | 4808 | DRIVER_INIT_MEMBER(funworld_state, magicd2c) |
| 4797 | 4809 | /*** same as blue TAB PCB, with the magicd2a patch ***/ |
| 4798 | 4810 | { |
| r18916 | r18917 | |
| 4814 | 4826 | ROM[0xc1c6] = 0x92; |
| 4815 | 4827 | } |
| 4816 | 4828 | |
| 4829 | ||
| 4817 | 4830 | DRIVER_INIT_MEMBER(funworld_state, soccernw) |
| 4818 | 4831 | { |
| 4819 | 4832 | /* temporary patch to avoid hardware errors for debug purposes */ |
| r18916 | r18917 | |
| 4830 | 4843 | // ROM[0xa33c] = 0xea; |
| 4831 | 4844 | } |
| 4832 | 4845 | |
| 4846 | ||
| 4833 | 4847 | DRIVER_INIT_MEMBER(funworld_state, saloon) |
| 4834 | 4848 | /************************************************* |
| 4835 | 4849 | |
| r18916 | r18917 | |
| 4938 | 4952 | |
| 4939 | 4953 | } |
| 4940 | 4954 | |
| 4955 | ||
| 4941 | 4956 | DRIVER_INIT_MEMBER(funworld_state, multiwin) |
| 4942 | 4957 | /***************************************************** |
| 4943 | 4958 | |
| r18916 | r18917 | |
| 4968 | 4983 | space.set_decrypted_region(0x8000, 0xffff, machine().root_device().memregion("maincpu")->base() + 0x18000); |
| 4969 | 4984 | } |
| 4970 | 4985 | |
| 4986 | ||
| 4971 | 4987 | DRIVER_INIT_MEMBER(funworld_state, royalcdc) |
| 4972 | 4988 | { |
| 4973 | 4989 | /***************************************************** |
| r18916 | r18917 | |
| 5027 | 5043 | |
| 5028 | 5044 | DINO 4 hardware. |
| 5029 | 5045 | |
| 5030 | Program data & address are bitswapped. | |
| 5031 | GFX are encrypted... | |
| 5046 | Program ROM data & address lines are swapped, | |
| 5047 | hardcoded in the board. | |
| 5032 | 5048 | |
| 5049 | GFX ROMs address lines are also swapped, but they | |
| 5050 | are connected to 2 PLDs that handle the encryption. | |
| 5051 | ||
| 5033 | 5052 | Color PROM is straight. |
| 5034 | 5053 | |
| 5054 | All PLD's are read protected. | |
| 5055 | ||
| 5035 | 5056 | ******************************************************/ |
| 5036 | 5057 | { |
| 5037 | 5058 | UINT8 *rom = machine().root_device().memregion("maincpu")->base(); |
| 5038 | 5059 | int size = machine().root_device().memregion("maincpu")->bytes(); |
| 5039 | 5060 | int start = 0x8000; |
| 5040 | 5061 | |
| 5062 | UINT8 *gfxrom = machine().root_device().memregion("gfx1")->base(); | |
| 5063 | int sizeg = machine().root_device().memregion("gfx1")->bytes(); | |
| 5064 | int startg = 0; | |
| 5065 | ||
| 5041 | 5066 | UINT8 *buffer; |
| 5042 | 5067 | int i, a; |
| 5043 | 5068 | |
| r18916 | r18917 | |
| 5065 | 5090 | } |
| 5066 | 5091 | |
| 5067 | 5092 | auto_free(machine(), buffer); |
| 5093 | ||
| 5094 | ||
| 5095 | /****************************** | |
| 5096 | * Graphics ROM decryption * | |
| 5097 | ******************************/ | |
| 5098 | ||
| 5099 | buffer = auto_alloc_array(machine(), UINT8, sizeg); | |
| 5100 | memcpy(buffer, gfxrom, sizeg); | |
| 5101 | ||
| 5102 | /* address lines swap: fedcba9876543210 -> fedcb67584a39012 */ | |
| 5103 | ||
| 5104 | for (i = startg; i < sizeg; i++) | |
| 5105 | { | |
| 5106 | a = BITSWAP16(i, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0); | |
| 5107 | gfxrom[a] = buffer[i]; | |
| 5108 | } | |
| 5109 | ||
| 5110 | auto_free(machine(), buffer); | |
| 5068 | 5111 | } |
| 5069 | 5112 | |
| 5070 | 5113 | |
| 5071 | /************************* | |
| 5072 | * Game Drivers * | |
| 5073 | *************************/ | |
| 5114 | /********************************************** | |
| 5115 | * Game Drivers * | |
| 5116 | **********************************************/ | |
| 5074 | 5117 | |
| 5075 | 5118 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ |
| 5076 | 5119 | |
| r18916 | r18917 | |
| 5102 | 5145 | GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd ) |
| 5103 | 5146 | GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd ) |
| 5104 | 5147 | GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd ) |
| 5105 | GAME( | |
| 5148 | GAMEL( 1997, pool10e, pool10, cuoreuno, cuoreuno, funworld_state, dino4, ROT0, "C.M.C.", "Pool 10 (Italian, Dino 4 hardware, encrypted)", 0, layout_jollycrd ) | |
| 5106 | 5149 | GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd ) |
| 5107 | 5150 | GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd ) |
| 5108 | 5151 | GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, driver_device, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd ) |
| r18916 | r18917 | |
| 5142 | 5185 | GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, driver_device, 0, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd ) |
| 5143 | 5186 | |
| 5144 | 5187 | // Encrypted games... |
| 5188 | // also pool10e (dino 4) and jolycdit/jolycdib (tab blue) are encrypted... | |
| 5145 | 5189 | GAME( 1992, multiwin, 0, fw1stpal, funworld, funworld_state, multiwin, ROT0, "Fun World", "Multi Win (Ver.0167, encrypted)", GAME_NOT_WORKING ) |
| 5146 | 5190 | GAME( 1993, jokercrd, 0, fw2ndpal, funworld, driver_device, 0, ROT0, "Vesely Svet", "Joker Card (Ver.A267BC, encrypted)", GAME_NOT_WORKING ) |
| 5147 | 5191 | GAME( 198?, saloon, 0, saloon, saloon, funworld_state, saloon, ROT0, "<unknown>", "Saloon (French, encrypted)", GAME_NOT_WORKING ) |
| Previous | 199869 Revisions | Next |