trunk/src/mame/drivers/silkroad.c
| r22684 | r22685 | |
| 309 | 309 | Game driver(s) |
| 310 | 310 | |
| 311 | 311 | ***************************************************************************/ |
| 312 | | DRIVER_INIT_MEMBER(silkroad_state,silkroad) |
| 313 | | { |
| 314 | | /* why? rom04.bin looks like a bad dump, but it seems not since it was |
| 315 | | verified as correct... problem with the original which the gfx hardware |
| 316 | | didn't care about? Ideally it should be checked against a different PCB */ |
| 317 | 312 | |
| 318 | | UINT8 *src = memregion("gfx1")->base()+0x1000000; |
| 319 | | int len = 0x0200000; |
| 320 | | UINT8 *buffer; |
| 321 | | |
| 322 | | int tileoffset = 0x1300*64; // verify |
| 323 | | |
| 324 | | src += tileoffset; len -=tileoffset; |
| 325 | | |
| 326 | | buffer = auto_alloc_array(machine(), UINT8, len); |
| 327 | | { |
| 328 | | int i; |
| 329 | | for (i = 0;i < len; i++) |
| 330 | | buffer[i] = src[i-1]; |
| 331 | | memcpy(src,buffer,len); |
| 332 | | auto_free(machine(), buffer); |
| 333 | | } |
| 334 | | } |
| 335 | | |
| 336 | 313 | ROM_START( silkroad ) |
| 337 | 314 | ROM_REGION( 0x200000, "maincpu", 0 ) |
| 338 | 315 | ROM_LOAD32_WORD_SWAP( "rom02.bin", 0x000000, 0x100000, CRC(4e5200fc) SHA1(4d4cab03a6ec4ad825001e1e92193940646141e5) ) |
| r22684 | r22685 | |
| 342 | 319 | /* Sprites */ |
| 343 | 320 | ROM_LOAD( "rom12.bin", 0x0000000, 0x0200000, CRC(96393d04) SHA1(f512bb8603510d39e649f4ec1c5e2d0e4bf3a2cc) ) // 0 |
| 344 | 321 | ROM_LOAD( "rom08.bin", 0x0800000, 0x0200000, CRC(23f1d462) SHA1(6ca8052b16ccc1fe59716e03f66bd33af5145b37) ) // 0 |
| 345 | | ROM_LOAD( "rom04.bin", 0x1000000, 0x0200000, BAD_DUMP CRC(2cf6ed30) SHA1(e96585cd109debc45960090d73b15db87e91ce0f) ) // 0, See DRIVER_INIT |
| 322 | ROM_LOAD( "rom04.bin", 0x1000000, 0x0200000, CRC(d9f0bbd7) SHA1(32c055ad5497c0bec5db40b528e589d7724e354f) ) // 0 |
| 346 | 323 | |
| 347 | 324 | ROM_LOAD( "rom13.bin", 0x0200000, 0x0200000, CRC(4ca1698e) SHA1(4fffc2f2a5fb434c42463ce904fd811866c53f81) ) // 1 |
| 348 | 325 | ROM_LOAD( "rom09.bin", 0x0a00000, 0x0200000, CRC(ef0b5bf4) SHA1(acd3bc5070de84608c5da0d091094382853cb048) ) // 1 |
| r22684 | r22685 | |
| 373 | 350 | ROM_LOAD( "rom01.bin", 0x000000, 0x040000, CRC(db8cb455) SHA1(6723b4018208d554bd1bf1e0640b72d2f4f47302) ) |
| 374 | 351 | ROM_END |
| 375 | 352 | |
| 353 | ROM_START( silkroada ) |
| 354 | ROM_REGION( 0x200000, "maincpu", 0 ) |
| 355 | ROM_LOAD32_WORD_SWAP( "rom02.bin", 0x000000, 0x100000, CRC(4e5200fc) SHA1(4d4cab03a6ec4ad825001e1e92193940646141e5) ) |
| 356 | ROM_LOAD32_WORD_SWAP( "rom03.bin", 0x000002, 0x100000, CRC(73ccc78c) SHA1(2ac17aa8d7dac8636d29a4e4228a556334b51f1a) ) |
| 376 | 357 | |
| 377 | | GAME( 1999, silkroad, 0, silkroad, silkroad, silkroad_state, silkroad, ROT0, "Unico", "The Legend of Silkroad", 0 ) |
| 358 | ROM_REGION( 0x1800000, "gfx1", ROMREGION_INVERT ) |
| 359 | /* Sprites */ // this board has these 3 ROMs instead of the 6 on the set above |
| 360 | ROM_LOAD( "unico_sr13", 0x0000000, 0x0400000, CRC(d001c3df) SHA1(ef1b1510f33401b0983093e2d8db48d3886c4fe1) ) // 0 + 1 |
| 361 | ROM_LOAD( "unico_sr09", 0x0800000, 0x0400000, CRC(696d908d) SHA1(abe3ec8a53875a136f78bbed723bb89d04196427) ) // 0 + 1 |
| 362 | ROM_LOAD( "unico_sr05", 0x1000000, 0x0400000, CRC(00f638c1) SHA1(cc6da13f8e82b08f8098c7636fbd1d40ee5ab132) ) // 0 + 1 |
| 363 | |
| 364 | ROM_LOAD( "rom14.bin", 0x0400000, 0x0200000, CRC(d00b19c4) SHA1(d5b955dca5d0d251166a7f35a0bbbda6a91ecbd0) ) // 2 |
| 365 | ROM_LOAD( "rom10.bin", 0x0c00000, 0x0200000, CRC(7d324280) SHA1(cdf6d9342292f693cc5ec1b72816f2788963fcec) ) // 2 |
| 366 | ROM_LOAD( "rom06.bin", 0x1400000, 0x0200000, CRC(3ac26060) SHA1(98ad8efbbf8020daf7469db3e0fda02af6c4c767) ) // 2 |
| 367 | /* Backgrounds */ |
| 368 | ROM_LOAD( "rom07.bin", 0x0600000, 0x0200000, CRC(9fc6ff9d) SHA1(51c3ca9709a01e0ad6bc76c0d674ed03f9822598) ) // 3 |
| 369 | ROM_LOAD( "rom11.bin", 0x0e00000, 0x0200000, CRC(11abaf1c) SHA1(19e86f3ebfec518a96c0520f36cfc1b525e7e55c) ) // 3 |
| 370 | ROM_LOAD( "rom15.bin", 0x1600000, 0x0200000, CRC(26a3b168) SHA1(a4b7955cc4d4fbec7c975a9456f2219ef33f1166) ) // 3 |
| 371 | |
| 372 | ROM_REGION( 0x080000, "user1", 0 ) |
| 373 | ROM_LOAD( "rom00.bin", 0x000000, 0x080000, CRC(b10ba7ab) SHA1(a6a3ae71b803af9c31d7e97dc86cfcc123ee9a40) ) |
| 374 | |
| 375 | /* $00000-$20000 stays the same in all sound banks, */ |
| 376 | /* the second half of the bank is what gets switched */ |
| 377 | ROM_REGION( 0xc0000, "oki1", 0 ) /* Samples */ |
| 378 | ROM_COPY( "user1", 0x000000, 0x000000, 0x020000) |
| 379 | ROM_COPY( "user1", 0x020000, 0x020000, 0x020000) |
| 380 | ROM_COPY( "user1", 0x000000, 0x040000, 0x020000) |
| 381 | ROM_COPY( "user1", 0x040000, 0x060000, 0x020000) |
| 382 | ROM_COPY( "user1", 0x000000, 0x080000, 0x020000) |
| 383 | ROM_COPY( "user1", 0x060000, 0x0a0000, 0x020000) |
| 384 | |
| 385 | ROM_REGION( 0x080000, "oki2", 0 ) |
| 386 | ROM_LOAD( "rom01.bin", 0x000000, 0x040000, CRC(db8cb455) SHA1(6723b4018208d554bd1bf1e0640b72d2f4f47302) ) |
| 387 | ROM_END |
| 388 | |
| 389 | |
| 390 | GAME( 1999, silkroad, 0, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad", 0 ) |
| 391 | GAME( 1999, silkroada, silkroad, silkroad, silkroad, driver_device, 0, ROT0, "Unico", "The Legend of Silkroad (larger ROMs)", 0 ) // same content but fewer GFX roms of a larger size |