Previous 199869 Revisions Next

r18954 Wednesday 14th November, 2012 at 06:38:08 UTC by Roberto Fresca
Jolly Card Spanish encrypted set improvements [Roberto Fresca]
- Decrypted the program ROM.
- Added button-lamps layout.
- Added a default NVRAM.
- Promoted to working state.

New WORKING clones added
------------------------
Jolly Card (Spanish, blue TAB board, encrypted) [Roberto Fresca]
[src/mame]mame.lst
[src/mame/drivers]funworld.c
[src/mame/includes]funworld.h
[src/mame/video]funworld.c

trunk/src/mame/video/funworld.c
r18953r18954
2121  * Jolly Card (Italian, encrypted bootleg),          bootleg,            1990.
2222  * Super Joly 2000 - 3x,                             M.P.                1985.
2323  * Jolly Card (Austrian, Fun World, bootleg),        Inter Games,        1986.
24  * Jolly Card (Spanish, blue TAB board, encrypted),  TAB Austria,        1992.
2425  * Bonus Card (Austrian),                            Fun World,          1986.
2526  * Bonus Card (Austrian, ATG Electronic hack),       Fun World,          1986.
2627  * Big Deal (Hungarian, set 1),                      Fun World,          1986.
trunk/src/mame/includes/funworld.h
r18953r18954
2626   DECLARE_DRIVER_INIT(soccernw);
2727   DECLARE_DRIVER_INIT(tabblue);
2828   DECLARE_DRIVER_INIT(dino4);
29   DECLARE_DRIVER_INIT(ctunk);
2930   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3031   DECLARE_VIDEO_START(funworld);
3132   DECLARE_PALETTE_INIT(funworld);
trunk/src/mame/drivers/funworld.c
r18953r18954
2323  * Jolly Card (Italian, encrypted bootleg),          bootleg,            1990.
2424  * Super Joly 2000 - 3x,                             M.P.                1985.
2525  * Jolly Card (Austrian, Fun World, bootleg),        Inter Games,        1986.
26  * Jolly Card (Spanish, blue TAB board, encrypted),  TAB Austria,        1992.
2627  * Bonus Card (Austrian),                            Fun World,          1986.
2728  * Bonus Card (Austrian, ATG Electronic hack),       Fun World,          1986.
2829  * Big Deal (Hungarian, set 1),                      Fun World,          1986.
r18953r18954
804805  - Added PLD dumps to bonuscrd and powercrd.
805806
806807  [2012/11/14]
807  - Added a Jolly Card set from an unknown encrypted PCB
808    'alla TAB blue board. Graphics are decrypted. Program
809   needs decryption work.
808  - Added a Jolly Card spanish set from an unknown encrypted
809     PCB 'alla TAB blue board. Graphics are decrypted.
810  - Decrypted the program ROM.
811  - Added button-lamps layout.
812  - Added a default NVRAM.
813  - Promoted to working state.
810814
811815
812816  *** TO DO ***
r18953r18954
47574761
47584762
47594763/*
4760  Jolly Card (unknown, encrypted)
4764  Jolly Card (spanish, encrypted)
47614765  -------------------------------
47624766
47634767  Rare unknown board with scratched chips.
r18953r18954
47664770
47674771  3 roms.
47684772
4773  Graphics are encrypted 'alla blue TAB board.
4774  Program is encrypted through scrambling data lines.
4775
47694776*/
47704777
4771ROM_START( jolycdct )   /* Encrypted program in a module. Blue TAB PCB encrypted graphics */
4778ROM_START( jolycdsp )   /* Encrypted program in a module. Blue TAB PCB encrypted graphics */
47724779   ROM_REGION( 0x10000, "maincpu", 0 )
47734780   ROM_LOAD( "ct3.bin", 0x8000, 0x8000, CRC(0c9cbae6) SHA1(4f834370229797cac302a5185ed1e77ef2b7cabb) )
47744781
r18953r18954
47764783   ROM_LOAD( "ct2.bin", 0x0000, 0x8000, CRC(7569e719) SHA1(f96e1e72bc13d1888f3868f8d404fd3db94db7b2) )
47774784   ROM_LOAD( "ct1.bin", 0x8000, 0x8000, CRC(8f438635) SHA1(3200e20f4b28173cc2a68d0f87969627570418dc) )
47784785
4786   ROM_REGION( 0x0800,   "nvram", 0 )   /* default NVRAM */
4787   ROM_LOAD( "ctunk_nvram.bin", 0x0000, 0x0800, CRC(c55c6706) SHA1(a38ae926f057fb47e48ca841b2d097fc4fd06416) )
4788
47794789   ROM_REGION( 0x0200, "proms", 0 )   /* Borrowed from the parent set */
47804790   ROM_LOAD( "82s147.bin",   0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) )
47814791ROM_END
r18953r18954
51505160}
51515161
51525162
5163DRIVER_INIT_MEMBER(funworld_state, ctunk)
5164/*********************************************************
5165
5166  CTUNK: Rare board with blue TAB board encryption scheme
5167         plus a daughterboard for program encryption.
5168       
5169*********************************************************/
5170{
5171   UINT8 *rom = machine().root_device().memregion("maincpu")->base();
5172   int size = machine().root_device().memregion("maincpu")->bytes();
5173   int start = 0x8000;
5174
5175   UINT8 *buffer;
5176   int i, a;
5177
5178    /*****************************
5179    *   Program ROM decryption   *
5180    *****************************/
5181
5182   /* data lines swap: 76543210 -> 56734012 */
5183
5184   for (i = start; i < size; i++)
5185   {
5186      rom[i] = BITSWAP8(rom[i], 5, 6, 7, 3, 4, 0, 1, 2);
5187   }
5188
5189   buffer = auto_alloc_array(machine(), UINT8, size);
5190   memcpy(buffer, rom, size);
5191
5192
5193    /*****************************
5194    *  Graphics ROMs decryption  *
5195    *****************************/
5196
5197   int x, na, nb, nad, nbd;
5198   UINT8 *src = machine().root_device().memregion( "gfx1" )->base();
5199   UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
5200
5201   for (x=0x0000; x < 0x10000; x++)
5202   {
5203      na = src[x] & 0xf0;      /* nibble A */
5204      nb = src[x] << 4;      /* nibble B */
5205
5206         nad = (na ^ (na >> 1)) << 1;         /* nibble A decrypted */
5207         nbd = ((nb ^ (nb >> 1)) >> 3) & 0x0f;   /* nibble B decrypted */
5208
5209      src[x] = nad + nbd;      /* decrypted byte */
5210   }
5211}
5212
5213
51535214/**********************************************
51545215*                Game Drivers                 *
51555216**********************************************/
r18953r18954
51685229GAMEL( 1990, jolycdib,  jollycrd, cuoreuno, jolycdib,  funworld_state, tabblue,  ROT0, "bootleg",         "Jolly Card (Italian, encrypted bootleg)",         0,                       layout_jollycrd )   // not a real TAB blue PCB
51695230GAMEL( 1985, sjcd2kx3,  jollycrd, fw1stpal, funworld,  driver_device,  0,        ROT0, "M.P.",            "Super Joly 2000 - 3x",                            0,                       layout_jollycrd )
51705231GAME(  1986, jolycdab,  jollycrd, fw1stpal, funworld,  driver_device,  0,        ROT0, "Inter Games",     "Jolly Card (Austrian, Fun World, bootleg)",       GAME_NOT_WORKING )
5171GAME( 199?, jolycdct,  jollycrd, cuoreuno, jolycdit,  funworld_state, tabblue,  ROT0, "TAB Austria",     "Jolly Card (unknown, encrypted)",                 GAME_NOT_WORKING )
5232GAMEL( 1992, jolycdsp,  jollycrd, cuoreuno, jolycdit,  funworld_state, ctunk  ROT0, "TAB Austria",     "Jolly Card (Spanish, blue TAB board, encrypted)", 0,                       layout_royalcrd )
51725233
51735234// Bonus Card based...
51745235GAMEL( 1986, bonuscrd,  0,        fw2ndpal, bonuscrd,  driver_device,  0,        ROT0, "Fun World",       "Bonus Card (Austrian)",                           GAME_IMPERFECT_COLORS,   layout_bonuscrd ) // use fw1stpal machine for green background
trunk/src/mame/mame.lst
r18953r18954
98969896jolycdib      // 1990 bootleg
98979897sjcd2kx3      // (c) 1985 M.P.
98989898jolycdab      // (c) 1986 Inter Games
9899jolycdct      // (c) 199? TAB-Austria
9899jolycdsp      // (c) 1992 TAB-Austria
99009900bonuscrd      // (c) 1986 Fun World
99019901bonuscrda      // (c) 1986 Fun World
99029902bigdeal         // (c) 1986 Fun World

Previous 199869 Revisions Next


© 1997-2024 The MAME Team