Main > Software Forum

ATTN All Programmers - Help improve Daphne (Dragon's Lair, Space Ace)

<< < (7/10) > >>

yotsuya:
Cleaned up thread!  :applaud:

I still <3 Haze.

degenatrons:
I may have got the DLE 2.1 enhancement working now with fastboot but a sanity check is needed :P
 
I've never played the Dragons Lair enhancements and don't know how to tell the difference from the original.  Can you let me know what I should be looking for to verify it is working with the enhancement?

So here's what I did...

I know the original rom and the DLE1.1 rom has the fastboot patch in memory address 0x121b and 0x1235 from my above post.
Those positions are within range of the first bin file - "dle11u1l.bin" file.

   static struct rom_def roms[] =
   {
      { "dle11u1l.bin", NULL, &m_cpumem[0x0000], 0x2000, 0x9E65B33D },
      { "dle11u2l.bin", NULL, &m_cpumem[0x2000], 0x2000, 0xF16FA36F },
      { "dle11u3l.bin", NULL, &m_cpumem[0x4000], 0x2000, 0xB8D07A16 },
      { "dle11u4l.bin", NULL, &m_cpumem[0x6000], 0x2000, 0x20FC79B7 },
      { NULL }
   };

Looking at the file contents in hex editor I can see the hex value at both addresses is F0 and that value does not appear often throughout the rest of the file.

Looking at the DLE21 rom,  I verified that those addresses are within range of the first bin file - DLE21_U1.bin,  and the contents confirm that DLE21 has F0 at the same address :D
 
   static struct rom_def roms[] =
   {
      { "DLE21_U1.bin", NULL, &m_cpumem[0x0000], 0x2000, 0x4F8AF481 },
      { "DLE21_U2.bin", NULL, &m_cpumem[0x2000], 0x2000, 0x5FCA04C5 },
      { "DLE21_U3.bin", NULL, &m_cpumem[0x4000], 0x2000, 0xC14F36B3 },
      { NULL }
   };

So,  I patched the file and tried executing in Daphne with the -nocrc flag (to bypass the file level CRC checks).  Didn't work though,  because the dragons lair rom seems to have a built in CRC ROM check :(

I was left with 2 options.
1) compile daphne
2) figure a workaround for the roms CRC check

I tried 1),  compiling Daphne was PITA,  lots of pre-requisites, libraries and versions,  had me going crazy.  I managed to build a daphne.exe for windows but it would not run. :(  Maybe will revisit this one some time.

2) Workaround.
I came up with a cheeky workaround to fool Daphne into thinking the original Dragons Lair rom is being launched...

* Extract all files from the original dragons lair rom (lair.zip) into a folder.  My version has 32 files.
* Delete the first 3 files: dl_a_u1.bin, dl_a_u2.bin, dl_a_u3.bin
* Copy all 4 files from the DLE21.zip into above folder: DLE21_U1.BIN, DLE_U2.BIN, DLE21_U3.BIN, readme21.txt
* Rename the 3 bin files inline with the original rom: DLE21_U1.BIN > dl_a_u1.bin, DLE21_U2.bin > dl_a_u2.bin, DLE_U3.bin > dl_a_u3.bin
* Leave the readme21.txt alone
* Zip the folder contents to make lair.zip and place this in the roms folder.

That's it.

Workaround was tested with the -fastboot flag.
daphne lair vldp -framefile "<framefile path>" -nocrc

In line with the rules on this site,  I won't be posting any rom files.
Would be good for someone to verify the procedure above and also to sanity check the DLE21 is running as it should.

Jon


benll64:
Jon,

Interesting solution.

To answer your question, here's how to tell the difference as to which rom version you're actually playing:

"lair" [original/arcade rom] - After the opening shot of the castle, the next scene is of Dirk running through the gates as they slam shut behind dim.

"dle21" [enhanced rom] - After the castle shot, you see Dirk walking across the drawbridge. This scene is playable; you have to hit sword/up/up (i think?) to finish it.

I'll try your method, which seems like a clever workaround. If indeed the -fastboot option is enabled within the ROM file itself, then I guess Daphne is distributing a modified version of the original arcade rom??

I'll let you know how it works.

benll64:
Jon,

No luck for me.

I'm not sure where you got your lair.zip rom file from, but the version distributed with Daphne does not have 32 files inside of it - only 5, and they are named differently. It is known as the "F2 version" in Daphne.

There are lots of different rom versions with Daphne, and I found that the lair_a.zip (Revision A, i think it's called) had the 3 files that you mentioned - dl_a_u1.bin, etc.

I tried your steps using that rom, but Daphne doesn't load it because it expects lair.zip to be the F2 version, which has differently named .bin files.

I'm thinking that what you're seeing is the non-enhanced/arcade rom running the -fastboot option. Let me know if you get the Dirk walking across the drawbridge and falling through the hole scene or not. If you get that along with the fast boot up time, then you've got it.

Also - had any luck with the Space Ace enhanced rom? (SAE.zip)

Thanks

degenatrons:
BAh!  It's not working for me either  :banghead:

I discovered that I should've been overwritting the _f2 BIN files in the lair.zip rom instead of the _a BIN files.  Still,  I didn't get much of an improvement with that.  I was able to start the rom but not with fastboot  :cry: 
My thinking was that Daphne is aware of fastboot on the DLE11 and original dragons lair,  so I could fool Daphne it into patching the enhancement by simply replacing the BIN files with DLE21 versions and starting up with -fastboot - nocrc parameters. 
Frustratingly,  this memory patch actually works,  but the game fails a diagonostic check which is built into the game during start-up. 
Fails on a CRC check of EEPROMs.  See chapter 2b in this troubleshooting guide for more info.

http://epg3.tripod.com/dl_subdir/dl_diagnostic.html

Back to square one then  :embarassed:
Sorry.
Would love to get this working still.  Will take a look at compiling Daphne again when I pick myself up from this downer.

BTW. Thanks for your notes on comparing Daphne versions  :cheers:

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version