ScummVM 0.9.1a beta2 with DLDI support released

Subforum for discussion and help with ScummVM's Nintendo DS port

Moderator: ScummVM Team

Post Reply
alcaholjunkie
Posts: 6
Joined: Wed Jan 17, 2007 5:26 pm

Post by alcaholjunkie »

I just tested the CD version of monkey island 1 on my brother's G6, saved and loaded it a few times without a debug crash. ^_^

edit: My CD audio files are 88kbps, 4-bit, mono, 22KHz, IMA ADPCM ^_^
ancient_imhotep
Posts: 3
Joined: Sun Nov 05, 2006 8:00 pm

Post by ancient_imhotep »

Thank you agentq for getting the DLDI version done so quickly after everyone started asking for it.

I have tested this build on the Supercard DS One, using the SCDS1 driver from the DLDI website.

So far I have only tried build B, but it works flawlessly with Beneath A Steel Sky and Flight Of The Amazon Queen.

For all those with a SCDS1, you need to patch the .nds version of the ScummVM program using the DLDI GUI and the SCDS1 driver from the DLDI website.

PLEASE NOTE: DO NOT RUN SCUMMVM ON YOUR SCDS1 UNTIL YOU HAVE TURNED OFF THE "ON THE FLY PATCHING" IN THE LATEST VERSION OF THE OS....

IT WILL OVERWRITE THE DLDI DRIVERS AND MAKE SCUMMVM THINK THAT THE DLSI DRIVERS ARE NOT PATCHED.


I hope that this helps.

Cheers,

A.I.
User avatar
Grimgoil
Posts: 11
Joined: Sat Sep 23, 2006 11:24 am

Post by Grimgoil »

G6 works now voice wise, but as i see the DLDI driver still needs work since the saves keep getting corrupted in different situations. For example in Sam and Max when i examine the fish magnet and it switches to the map screen and adds the location the debug global error occurs and it corrupted both saves i had.
if the author is here if could please look into the problem
tomten
Posts: 138
Joined: Mon Oct 16, 2006 9:16 am

Post by tomten »

I tried saving in MI2 on DS-Xtreme with the DS-X DLDI, but the results are the same as with the GBAMP CF DLDI, as well as v0.9.1a beta1 ("illegal glob type" on load).
agentq
ScummVM Porter
Posts: 805
Joined: Wed Dec 21, 2005 4:29 pm
Location: London, UK

Post by agentq »

Its possible that the patching done by the DSX firmware would overwrite any DLDI you used. Its possible this could be defeated by overwriting some header or other bytes that the DSX firmware uses to locate libfat. If it can't find what its looking for it won't patch anything.
tomten
Posts: 138
Joined: Mon Oct 16, 2006 9:16 am

Post by tomten »

agentq wrote:Its possible that the patching done by the DSX firmware would overwrite any DLDI you used. Its possible this could be defeated by overwriting some header or other bytes that the DSX firmware uses to locate libfat. If it can't find what its looking for it won't patch anything.
Hm, can't the DSX developers help you with this?
agentq
ScummVM Porter
Posts: 805
Joined: Wed Dec 21, 2005 4:29 pm
Location: London, UK

Post by agentq »

They wouldn't be interested in defeating their own patching method, they could turn it off if they wanted with a simple option, or just detect a DLDI app. They know exactly what needs to be done, but choose not to do it. Whether that is because they don't consider it a priority, or just through arrogance that they think their method is 'better' I'm not sure. Perhaps they don't even believe there is an issue, and think that all the apps that don't work with their code are just broken.

In any case, there is no fix within ScummVM which will help this issue, it's all down to them.

It will probably be up to some enterprising hacker to defeat their patching system, either by using a modified OS on the DSX, or by patching the homebrew in such a way that the DSX firmware cannot patch it, allowing the DLDI code to work properly. Unfortunately, it seems likely that all the enterprising hackers around would not have bought a card like the DSX which doesn't really support homebrew all that well.
Aphex
Posts: 1
Joined: Thu Feb 08, 2007 12:40 am

Post by Aphex »

As I have already pointed out at the ds-x homewbrew forums, the ds-x dldi driver is not "patched over" when used.

(Just trying to fight the spread of misinformation!)

--Aphex
tomten
Posts: 138
Joined: Mon Oct 16, 2006 9:16 am

Post by tomten »

agentq wrote:In any case, there is no fix within ScummVM which will help this issue, it's all down to them.
Maybe there's a fix within the libfat middleware which will help; there's some interesting things here, in the end of the thread:

http://forums.ds-xtreme.com/showthread.php?t=2667

Can you verify its relevance?
captaincabinets
Posts: 1
Joined: Thu Feb 08, 2007 1:57 pm

Post by captaincabinets »

To all people having problems with the Supercard Lite DLDI patch, try patching the .ds.gba with the Supercard SD DLDI code. It works perfectly on my sc lite now.

EDIT: according to forums over on gbadev.org, it seems to be exclusively a Kingston 1gb problem with the DLDI patch. Sandisk is reported to work with the Lite patch.
Last edited by captaincabinets on Fri Feb 09, 2007 5:25 am, edited 1 time in total.
agentq
ScummVM Porter
Posts: 805
Joined: Wed Dec 21, 2005 4:29 pm
Location: London, UK

Post by agentq »

Tomten: Yes, if the DSX DLDI expects buffers to be 4 byte aligned it won't work correctly with ScummVM DS. This can fairly easily be fixed inside the DLDI.
thebawp
Posts: 20
Joined: Wed May 31, 2006 2:34 pm

Post by thebawp »

The DLDI version of ScummVM is not working on my Supercard SD, I'm afraid to report. I patched as per the instructions in the readme, was told the process was successful, i.e.

Old driver: Default (No interface)
New driver: SuperCard (SD Card)

Position in file: 0x00011FC0
Position in memory: 0x02011BC0
Patch base address: 0xBF800000
Relocation offset: 0x42811BC0

Patched successfully

but I just get the following when ScummVM launches:

'DLDI Device: 'Supercard (SD Card)' DLDI Initialise failed.

No file system was found.'

According to the readme AgentQ provided (which is much appreciated btw, as simple as these things may seem, not everyone provides them which makes tackling problems like this twice as difficult) 'In this case, the driver did not start up correctly. The driver is
probably faulty, or incompatible with your card reader.'

I am 100% certain I've downloaded the correct .DLDI file (http://chishm.drunkencoders.com/DLDI/do ... /scsd.dldi), the patching process is reported as successful - I really can't see what I'm doing wrong.

My SD (1gb Viking Interworks) card has been recently reformatted, but I think the problem lies with DLDI somewhere because DLDI versions of DSorganize and Picodrive also refuse to work with my Supercard, as all of the above applications work perfectly provided I use pre-DLDI versions.

I also tried using a different SD card (same brand unfortunately, but it was 256mb rather than 1gb) and the results are exactly the same. Is there anyone who's using a Supercard SD that's having success with Scummvm DLDI or any other homebrew DLDI apps?
tomten
Posts: 138
Joined: Mon Oct 16, 2006 9:16 am

Post by tomten »

agentq wrote:Tomten: Yes, if the DSX DLDI expects buffers to be 4 byte aligned it won't work correctly with ScummVM DS. This can fairly easily be fixed inside the DLDI.
DS-X "will soon be coordinating a 1.1.1 release which, among other things, will include updated libfat drivers without the alignment requirement". Yay!
agentq
ScummVM Porter
Posts: 805
Joined: Wed Dec 21, 2005 4:29 pm
Location: London, UK

Post by agentq »

On this page: http://forums.ds-xtreme.com/showthread. ... 67&page=15

Chishm says he's fixed the DSX DLDI for alignment, so you might want to try that and see if it's better.

If they're plannig to fix this inside libfat, it won't work for me, since I don't use libfat.
tomten
Posts: 138
Joined: Mon Oct 16, 2006 9:16 am

Post by tomten »

agentq wrote:If they're plannig to fix this inside libfat, it won't work for me, since I don't use libfat.
In that case, the only thing that will fix this is unaligned buffer support in the DS-X OS, right? This is planned for the next DS-X firmware upgrade, so we'll have to test again then.
Post Reply