ScummVM 0.9.1a beta2 with DLDI support released
Moderator: ScummVM Team
-
- Posts: 6
- Joined: Wed Jan 17, 2007 5:26 pm
-
- Posts: 3
- Joined: Sun Nov 05, 2006 8:00 pm
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.
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.
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
if the author is here if could please look into the problem
Hm, can't the DSX developers help you with this?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.
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.
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.
Maybe there's a fix within the libfat middleware which will help; there's some interesting things here, in the end of the thread:agentq wrote:In any case, there is no fix within ScummVM which will help this issue, it's all down to them.
http://forums.ds-xtreme.com/showthread.php?t=2667
Can you verify its relevance?
-
- Posts: 1
- Joined: Thu Feb 08, 2007 1:57 pm
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.
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.
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?
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?
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 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.
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.
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.