I've decided to mark Deroon DeroDero as working.

New games added or promoted from NOT_WORKING status
---------------------------------------------------

Deroon DeroDero [nuapete, David Haywood]


** note, the guys decapping this will have to dump the internal eeprom too, I suspect the internal ROM is the same between games, and the EEPROM contains the password and game specific data.
This commit is contained in:
davidhay 2008-06-01 13:11:18 +00:00
parent 63c83ccc50
commit 0708be1300

View File

@ -3,10 +3,10 @@
Protection simulation by nuapete Protection simulation by nuapete
ToDo: ToDo:
Tilemap scroll regs (protection related?, they don't seem to get written with valid values) Is tilemap scroll / sprite scroll 100% correct - seems to be protection releated
Sprite Zoom Fix Angel Eyes resets (due to code to allow tilemap scroll regs to be written)
Priorities Dump / Decap MCUs to allow for proper protection emulation.
Redump GFX rom for Deroon Dero Dero Alpha Blending? (should the backround of the 'pit' in Deroon be blended?)
Fix Sound (are the sound roms good?) Fix Sound (are the sound roms good?)
@ -209,7 +209,6 @@ static UINT16* tecmosys_c00000regs;
static UINT16* tecmosys_c80000regs; static UINT16* tecmosys_c80000regs;
static UINT16* tecmosys_880000regs; static UINT16* tecmosys_880000regs;
static int tecmosys_spritelist; static int tecmosys_spritelist;
static int tecmosys_spritey_hack; // should be a register..
static bitmap_t *sprite_bitmap; static bitmap_t *sprite_bitmap;
@ -623,7 +622,7 @@ static void tecmosys_render_sprites_to_bitmap(bitmap_t *bitmap, UINT16 extrax, U
int zoomx, zoomy; int zoomx, zoomy;
x = tecmosys_spriteram[i+0]; x = tecmosys_spriteram[i+0];
y = (tecmosys_spriteram[i+1]+1)&0x1ff; y = (tecmosys_spriteram[i+1]+1);
x-= extrax; x-= extrax;
y-= extray; y-= extray;
@ -641,8 +640,6 @@ static void tecmosys_render_sprites_to_bitmap(bitmap_t *bitmap, UINT16 extrax, U
flipx = (tecmosys_spriteram[i+4]&0x0040)>>6; flipx = (tecmosys_spriteram[i+4]&0x0040)>>6;
flipy = (tecmosys_spriteram[i+4]&0x0080)>>7; // used by some move effects in tkdensho flipy = (tecmosys_spriteram[i+4]&0x0080)>>7; // used by some move effects in tkdensho
//y -= tecmosys_spritey_hack;
x -= 96; x -= 96;
zoomx = (tecmosys_spriteram[i+2] & 0x0fff)>>0; // zoom? zoomx = (tecmosys_spriteram[i+2] & 0x0fff)>>0; // zoom?
@ -880,6 +877,10 @@ ROM_START( deroon )
ROM_LOAD( "t003.uz1", 0x000000, 0x008000, CRC(8bdfafa0) SHA1(c0cf3eb7a65d967958fe2aace171859b0faf7753) ) ROM_LOAD( "t003.uz1", 0x000000, 0x008000, CRC(8bdfafa0) SHA1(c0cf3eb7a65d967958fe2aace171859b0faf7753) )
ROM_CONTINUE( 0x010000, 0x038000 ) /* banked part */ ROM_CONTINUE( 0x010000, 0x038000 ) /* banked part */
ROM_REGION( 0x2200, REGION_CPU3, 0 ) // MCU is a 68HC11A8 with 8k ROM, 512 bytes EEPROM
ROM_LOAD( "deroon_68hc11a8.rom", 0x0000, 0x2000, NO_DUMP )
ROM_LOAD( "deroon_68hc11a8.eeprom", 0x2000, 0x0200, NO_DUMP )
ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_ERASE00 ) // Sprites (non-tile based) ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_ERASE00 ) // Sprites (non-tile based)
/* all these roms need verifying, they could be half size */ /* all these roms need verifying, they could be half size */
@ -918,6 +919,10 @@ ROM_START( tkdensho )
ROM_LOAD( "aesprg-2.z1", 0x000000, 0x008000, CRC(43550ab6) SHA1(2580129ef8ebd9295249175de4ba985c752e06fe) ) ROM_LOAD( "aesprg-2.z1", 0x000000, 0x008000, CRC(43550ab6) SHA1(2580129ef8ebd9295249175de4ba985c752e06fe) )
ROM_CONTINUE( 0x010000, 0x018000 ) /* banked part */ ROM_CONTINUE( 0x010000, 0x018000 ) /* banked part */
ROM_REGION( 0x2200, REGION_CPU3, 0 ) // MCU is a 68HC11A8 with 8k ROM, 512 bytes EEPROM
ROM_LOAD( "tkdensho_68hc11a8.rom", 0x0000, 0x2000, NO_DUMP )
ROM_LOAD( "tkdensho_68hc11a8.eeprom", 0x2000, 0x0200, NO_DUMP )
ROM_REGION( 0x4000000, REGION_GFX1, ROMREGION_ERASE00 ) // Graphics - mostly (maybe all?) not tile based ROM_REGION( 0x4000000, REGION_GFX1, ROMREGION_ERASE00 ) // Graphics - mostly (maybe all?) not tile based
ROM_LOAD16_BYTE( "ae100h.ah1", 0x0000000, 0x0400000, CRC(06be252b) SHA1(08d1bb569fd2e66e2c2f47da7780b31945232e62) ) ROM_LOAD16_BYTE( "ae100h.ah1", 0x0000000, 0x0400000, CRC(06be252b) SHA1(08d1bb569fd2e66e2c2f47da7780b31945232e62) )
ROM_LOAD16_BYTE( "ae100.al1", 0x0000001, 0x0400000, CRC(009cdff4) SHA1(fd88f07313d14fd4429b09a1e8d6b595df3b98e5) ) ROM_LOAD16_BYTE( "ae100.al1", 0x0000001, 0x0400000, CRC(009cdff4) SHA1(fd88f07313d14fd4429b09a1e8d6b595df3b98e5) )
@ -982,17 +987,15 @@ void tecmosys_decramble(void)
static DRIVER_INIT( deroon ) static DRIVER_INIT( deroon )
{ {
tecmosys_decramble(); tecmosys_decramble();
tecmosys_spritey_hack = 128;
device_data = &deroon_data; device_data = &deroon_data;
} }
static DRIVER_INIT( tkdensho ) static DRIVER_INIT( tkdensho )
{ {
tecmosys_decramble(); tecmosys_decramble();
tecmosys_spritey_hack = 264;
device_data = &tkdensho_data; device_data = &tkdensho_data;
} }
GAME( 1996, deroon, 0, deroon, deroon, deroon, ROT0, "Tecmo", "Deroon DeroDero", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS ) GAME( 1995, deroon, 0, deroon, deroon, deroon, ROT0, "Tecmo", "Deroon DeroDero", 0 )
GAME( 1996, tkdensho, 0, deroon, deroon, tkdensho, ROT0, "Tecmo", "Touki Denshou -Angel Eyes-", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS ) GAME( 1996, tkdensho, 0, deroon, deroon, tkdensho, ROT0, "Tecmo", "Touki Denshou -Angel Eyes-", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )