gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > MoonShell v1.5x

#111271 - Xtreme - Tue Dec 05, 2006 11:05 am

MoonShell v1.51 (stable) (for Nintendo DS) by Moonlight

Release notes:
Version 1.51 (stable) 2006/12/16
- Corresponded to GBAMP/SD.
- Voice/image quality of DPG has been greatly improved. Please re-encode try again. Thank you for Firon.
- [Chinese traditional] by nhlay was added to the language file of dpgenc.
- Skin supported for The file cursor with alpha channel.
- The bug that failed in reading of the genre of IDv3 because of the MP3 plug-in was corrected.
- The bug with the loop noise when MP3 reproduced was corrected.
- I was misunderstanding the default setting of the resume. It corrected.
- About the setting that turns off the power supply of NDS when you shut the cap. The bug that this doesn't work was corrected.

Version 1.50 (stable) 2006/12/03
- Corresponded to EZ4/DSLink. I wish to express my deep gratitude to Rudolph.
- 'The cartridge of enhancing the memory of DS browser' can be used for the cache memory.
- The resume item was added. (sound volume, reproduction mode, and NDSLite backlight brightness)
- ResumeUsingWhileMusicPlaying item was added to [System] section of global.ini. The resume is preserved while performing the tune.
- The DPG format was renewed. As for the DPG file made with a new encoder, seek is fast and the image doesn't fall into disorder either. Especially, it is remarkable in a long video.

_________________
My Theme
DS Lite (FM_V8a) ** R4 Revolution (2GB Transcend) ** SuperCard Lite (2x 2GB Transcend)


Last edited by Xtreme on Sun Jan 21, 2007 12:47 pm; edited 4 times in total

#111306 - Mr. Picklesworth - Tue Dec 05, 2006 4:34 pm

Oooh, new DPG updates!
Must try...

It's a shame that Moonshell is so much bother to update. It's usually well worth it, though...
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896

#111308 - Dan2552 - Tue Dec 05, 2006 5:07 pm

Quote:
- 'The cartridge of enhancing the memory of DS browser' can be used for the cache memory.


Cache-ing what? I have a memory expansion pack!

#111309 - Darkflame - Tue Dec 05, 2006 5:09 pm

Yes, I was wondering that too..Moonshell was working wonderfully without a cache, so i wonder whats better with it.

Also, anyone know what NDSkybookM Version 0.3 is?
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.

#111332 - Xtreme - Tue Dec 05, 2006 6:35 pm

Dan2552 wrote:
Quote:
- 'The cartridge of enhancing the memory of DS browser' can be used for the cache memory.


Cache-ing what? I have a memory expansion pack!

For example to read BIG pictures like 7Mpix. :)
_________________
My Theme
DS Lite (FM_V8a) ** R4 Revolution (2GB Transcend) ** SuperCard Lite (2x 2GB Transcend)

#111333 - OOPMan - Tue Dec 05, 2006 6:40 pm

Basically I seem to recall that this means people using a DS-X can use the Opera DS memory cart in slot-2 to provide extra memory...

If I recall, Moonshell already uses the memory on the SC and M3 when displaying large images...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#111364 - Dan2552 - Tue Dec 05, 2006 9:39 pm

Xtreme wrote:
Dan2552 wrote:
Quote:
- 'The cartridge of enhancing the memory of DS browser' can be used for the cache memory.


Cache-ing what? I have a memory expansion pack!

For example to read BIG pictures like 7Mpix. :)


I prob cant use this feature anyway, with my only devices being GBAMP and supercard CF :p

#111371 - Firon - Tue Dec 05, 2006 11:33 pm

Mr. Picklesworth wrote:
Oooh, new DPG updates!
Must try...

It's a shame that Moonshell is so much bother to update. It's usually well worth it, though...


dpgenc sucks though, quality-wise. :P

Dan2552 wrote:

I prob cant use this feature anyway, with my only devices being GBAMP and supercard CF :p


Supercard has built-in RAM, and I'm pretty sure Moonshell can use it (well, 16MB of it anyway). I know it can for the M3.

#111385 - Bluemercury - Wed Dec 06, 2006 4:04 am

Enlighten me please, does the m3 perfect cards have 4 megs of ram like the opera browser comes with?

#111399 - Kir - Wed Dec 06, 2006 6:47 am

Bluemercury wrote:
Enlighten me please, does the m3 perfect cards have 4 megs of ram like the opera browser comes with?

M3 Perfect has 32 Mbytes of RAM, just like SuperCard. M3 Pro doesn't have RAM at all.

#111408 - OOPMan - Wed Dec 06, 2006 8:44 am

I thought the M3 Pro had 4megs of RAM?
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#111414 - HyperHacker - Wed Dec 06, 2006 9:38 am

Darkflame wrote:
Also, anyone know what NDSkybookM Version 0.3 is?
Seems to be a text viewer that plays MP3s in the background.
_________________
I'm a PSP hacker now, but I still <3 DS.

#111437 - Darkflame - Wed Dec 06, 2006 4:37 pm

Your kidding right? :p
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.

#111442 - awh85 - Wed Dec 06, 2006 5:08 pm

its an ebook reader right?
i mean for japanese text coz they read from top to bottom, right to left.

and i dont recall the mp3, tho there are sound effects from pressing buttons, turning pages etc.

i wonder if he is gonna make it compatible for english reading or not since i think its quite nice.

#111466 - Bluemercury - Wed Dec 06, 2006 8:11 pm

Does anyone gets an image with following text temporarly:

"An Error was detected while trying to acess the disc or a file. Please confirm the following:

did the setup end normally?
is the "/shell" folder moved or deleted?
......."

tihs is very fast and imediatelly it goes to the moonshell workspacei you can barely read it but i managed to get a shot with my camera....still, i was wondering what this might be since the thing seems to work well....
[/img]

#111468 - Ninden - Wed Dec 06, 2006 8:22 pm

Bluemercury, it's been doing this for a few versions now. If something happens and it does fail, that message stays on the screen.
If all goes correctly it just goes to the main screen.

#111480 - Xtreme - Wed Dec 06, 2006 11:54 pm

Video quality of DPG Tools v1.2 is worse than with v1.1.
Version 1.1 used 15fps for default and v1.2 uses 16fps for default.
Has anyone made any huge tests with the video quality (I could do it later but I'm too busy atm)?
_________________
My Theme
DS Lite (FM_V8a) ** R4 Revolution (2GB Transcend) ** SuperCard Lite (2x 2GB Transcend)

#111492 - Firon - Thu Dec 07, 2006 2:01 am

OOPMan wrote:
I thought the M3 Pro had 4megs of RAM?


Correct.

Xtreme: it's no surprise because the keyint is set to 60, instead of the default of 30. 1 extra FPS would drop quality a little more probably.

Like I've said bother, don't bother with DPG Tools, and just use BatchDPG.


I was thinking, if the Resume function for music is writing to your SD card every 5 seconds, then you'll end up with an astronomical amount of writes to your card after a few hours. It's a very easy way to kill your SD card. What was Infantile thinking? He needs to make it write to SRAM instead, though this would require him either creating the save file for each device, or requiring users to run it through the GM/patcher for the card.


Last edited by Firon on Thu Dec 07, 2006 4:15 am; edited 1 time in total

#111499 - user6336 - Thu Dec 07, 2006 2:39 am

Firon wrote:
OOPMan wrote:
I thought the M3 Pro had 4megs of RAM?


Correct.

Xtreme: it's no surprise because the keyint is set to 60, instead of the default of 30. 1 extra FPS would drop quality a little more probably.

Like I've said bother, don't bother with DPG Tools, and just use BatchDPG.


I was thinking, if the Resume function for music is writing to your SD card function, then you'll end up with an astronomical amount of writes to your card after a few hours. It's a very easy way to kill your SD card. What was Infantile thinking? He needs to make it write to SRAM instead, though this would require him either creating the save file for each device, or requiring users to run it through the GM/patcher for the card.

Yeah, I was going to mention I didn't like the resume feature... is there a way to turn it off? (without downgrading)
_________________
http://prdesign.co.nr
All shirts just $11.11 each!

#111502 - Mr. Picklesworth - Thu Dec 07, 2006 3:32 am

I agree, the resume feature does not seem a sane thing to do.

There is an option in Setup.Exe for "Resume function is made effective."
Does this not stop it from doing the writing?
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896

#111503 - chuckstudios - Thu Dec 07, 2006 3:38 am

There is a OPTION in global.ini for something like "ResumeWhileMusicPlaying"

#111505 - Bluemercury - Thu Dec 07, 2006 3:46 am

Ninden wrote:
Bluemercury, it's been doing this for a few versions now. If something happens and it does fail, that message stays on the screen.
If all goes correctly it just goes to the main screen.


ok thanks, anyway how do i make homebrew applications quit but dont turn off the console, for example when i quit scummvm can i just go back to moonshell from which i runned it ?

#111506 - Firon - Thu Dec 07, 2006 4:15 am

Nope. Gotta turn it off then on again. Not a lot of homebrew has reset support right now.

#111610 - HyperHacker - Fri Dec 08, 2006 9:20 am

I found the resume feature is just annoying because it often re-opens a file at boot even after I'd closed it.
_________________
I'm a PSP hacker now, but I still <3 DS.

#111611 - SyntaxGS - Fri Dec 08, 2006 9:52 am

Installed 1.5 today. ;D Works great, except the date on the 'screensaver clock' are all messed up..?

Anyone else having this problem?

#111703 - user6336 - Sat Dec 09, 2006 4:27 am

chuckstudios wrote:
There is a OPTION in global.ini for something like "ResumeWhileMusicPlaying"

It doesn't turn it off, just changes the way it works:
Code:

; 1.xx ResumeUsingWhileMusicPlaying = [0|1] (Default = 0)

; The resume using while music playing. (Request use resume function from setup.exe)
; 0 = Only when it began to music playing, the resume is preserved.
; 1 = The resume is preserved at intervals of 5 seconds. (Slow SD card has the click noise.)


Figured it out... delete the resume.sav file in the shell directory... worked for me :)
_________________
http://prdesign.co.nr
All shirts just $11.11 each!

#111733 - Firon - Sat Dec 09, 2006 5:12 pm

You can also just not turn on the resume function in the Moonshell installer.

#111746 - chuckstudios - Sat Dec 09, 2006 8:00 pm

You were discussing the music writing portion of resume. Deleting resume.sav is the way to turn it off completely.

#111924 - Firon - Mon Dec 11, 2006 7:51 pm

Does anyone actually know how to get into contact with Moonlight?

#111949 - HyperHacker - Tue Dec 12, 2006 12:45 am

Isn't his email posted on his website? I have it, but if it's not shown on his site somewhere, then he probably doesn't want it given out in public. (Plus we haven't talked in ages, only once to fix a Moonshell bug, since it's difficult to carry on a conversation when you don't speak the same language, so I don't even know if the address is still valid.)
_________________
I'm a PSP hacker now, but I still <3 DS.

#111960 - Firon - Tue Dec 12, 2006 1:28 am

I saw one e-mail posted, but it was one where he explicitly said that he does not reply to any e-mails sent to it.

#112078 - Firon - Wed Dec 13, 2006 12:42 am

http://mdxonlinemirror.dyndns.org/mshl15fdpg2beta3.zip
http://mdxonlinemirror.dyndns.org/mshl15fdpg2beta3.7z


http://mdxonlinemirror.dyndns.org/dpgenc_plan.zip <- newer dpgenc than the one above.

1.5 beta 3. Only pre-compiled .NDS and dpgenc/dpgshow are provided, so install 1.5 and then replace the nds with one from here. Or just put it in the same folder with a different name. Make sure you pick the correct one for your flashcart.

24fps DPG playback (no skips!). And older videos should play back better too.
High quality profile added (use dpgenc_plan, profile selection is in the Options) Uses B-frames without any decoding speed penalty. Identical to the VeryHigh/Ultra profile from BatchDPG.
B-frames no longer cause a crash (beta 1/2 did).
>160kbps audio can no longer raise volume beyond 100% because of a lack of CPU power (skips).
TwoLame is now used for audio encoding, so the audio quality is much much better. Same as BatchDPG since it uses Joint Stereo.

Low-quality profile 24fps (sample)
http://mdxonlinemirror.dyndns.org/short_normalprof.dpg
http://mdxonlinemirror.dyndns.org/short_normalprof.png

High-quality profile 24fps (sample)
http://mdxonlinemirror.dyndns.org/short_highprof.dpg
http://mdxonlinemirror.dyndns.org/short_highprof.png

Both are 256x144, RGB21, video bitrate of 384, audio bitrate of 128.

Consider this beta to be a pre-release or something. The next version will likely have the new GBAMP SD driver integrated.

He is also attempting to add an AAC decoder for music playback (not present in this beta). However, he's having difficulties getting libfaad2 working. When he calls faacDecDecode, it hangs and he doesn't know why.
http://mdxonlinemirror.dyndns.org/mspv10_aac_20061213.zip
If anyone could debug this, that'd be great.


Last edited by Firon on Fri Dec 15, 2006 5:36 am; edited 2 times in total

#112093 - user6336 - Wed Dec 13, 2006 4:11 am

Firon wrote:
http://mdxonlinemirror.dyndns.org/mshl15fdpg2beta3.zip
http://mdxonlinemirror.dyndns.org/mshl15fdpg2beta3.7z

1.5 beta 3. Only pre-compiled .NDS and dpgenc/dpgshow are provided, so install 1.5 and then replace the nds with one from here. Or just put it in the same folder with a different name. Make sure you pick the correct one for your flashcart.

24fps DPG playback (no skips!). And older videos should play back better too.
High quality profile (enable "Advance settings", click on the inputbox above it, select "Reset to high-quality profile", then hit Apply) added. Uses B-frames without any decoding speed penalty. Pretty much the same as the VeryHigh/Ultra profile from BatchDPG.
B-frames no longer cause a crash (beta 1/2 did).
>160kbps audio can no longer raise volume beyond 100% because of a lack of CPU power (skips).
TwoLame is now used for audio encoding, so the audio quality is much much better. Same as BatchDPG since it uses Joint Stereo.

Low-quality profile 24fps (sample)
http://mdxonlinemirror.dyndns.org/short_normalprof.dpg
http://mdxonlinemirror.dyndns.org/short_normalprof.png

High-quality profile 24fps (sample)
http://mdxonlinemirror.dyndns.org/short_highprof.dpg
http://mdxonlinemirror.dyndns.org/short_highprof.png

Both are 256x144, RGB21, video bitrate of 384, audio bitrate of 128.

Consider this beta to be a pre-release or something. The next version will likely have the new GBAMP SD driver integrated (and a slight tweak to the HQ profile).

He is also attempting to add an AAC decoder for music playback (not present in this beta). However, he's having difficulties getting libfaad2 working. When he calls faacDecDecode, it hangs and he doesn't know why.
http://mdxonlinemirror.dyndns.org/mspv10_aac_20061213.zip

WOW this is absolutely incredible! It runs full speed all my videos without any freezing of the frames! I thought it would just be a little, barely noticeable upgrade, but this is just beyond words better! :D
_________________
http://prdesign.co.nr
All shirts just $11.11 each!

#112100 - Mr. Picklesworth - Wed Dec 13, 2006 6:20 am

...Excellent...

1.50 worked great for me on a Supercard CF, so I can't wait to try this beta!

I guess I could use a difference checker thing to quickly get the changes into my very specific global.ini to avoid that bother that happens with every release.
Good thing the actual appearance isn't changing much anymore so I can just keep my old skin files! (That bit there can be a real pain... although it is usually worth it).

Do the DPG Playback changes involve more changes to the encoder?

Anyhow... good, good.

I wonder if Moonlight is planning to check out Internet audio streaming like with DSOrganize. It can be made fairly transparent, and his plugin system would work beautifully with that sort of stuff!


Edit:
Okay, just watched an episode of Star Trek: TOS on it. (Ah... having a bunch of idle computers at my disposal to rip / convert this stuff is great :p)

...Wow!!
A quick before and after comparison (which is easy since all that's changed with this beta is the still tiny nds file) really shows how impressive this is. Congratulations, Moonlight, if you are reading this!
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896

#112140 - Firon - Wed Dec 13, 2006 5:04 pm

dpgenc has been changed as well. :P I imagine a more official beta will be released later.

Here's the todo. http://mdxonline.dyndns.org/todo.txt

http://mdxonlinemirror.dyndns.org/dpgenc_plan.zip
Slightly modified dpgenc from the last post. Minor tweak to low and high profile, and easier to select profiles now.

#112187 - Firon - Thu Dec 14, 2006 5:51 am

http://mdxonlinemirror.dyndns.org/mpsd(m2sd)test.7z
For any GBAMP SD users, please test these 3 .nds files and post which one (if any) works right/at all. This requires a previous installation of Moonshell 1.5, though.

#112449 - dangkict - Sat Dec 16, 2006 2:32 pm

There is new version of Moonshell available, version 1.51 together with DPGTools v1.21.
Here is from his site
Quote:
2006 December 16th
Supplementation Supplementation of Ver1.51

Because Ver1.51 corrected extremely fatal (resumption-related) bug, the number of hands applying, it is there is no excuse truly, but we ask update as much as possible. You think that (the sound flying with MP3 playback is corrected,)
The DPG file can play back also the present file, but it corrects seeking and the sound gap, because the sound quality/picture quality has improved, it is to think that this is difficult, but we request re-encoding.

Ver1.51 corrected the fatal bug of resume.
Please update MoonShell as much as possible.
It is thought that the skip in the MP3 reproduction is corrected.

DPG can play the DPG0/1/2 file.
at DPG2HQ. Seeking and the sound gap were corrected, and Sound/Image quality has improved.
Please encode again as much as possible.

I am sorry for multiplying the trouble many times. thanks!

#112459 - Firon - Sat Dec 16, 2006 5:02 pm

And the changelog:
Quote:
Version 1.51 2006/12/16

Corresponded to GBAMP/SD.
Voice/image quality of DPG has been greatly improved. Please re-encode try again. Thank you for Firon.
[Chinese traditional] by nhlay was added to the language file of dpgenc.
Skin supported for The file cursor with alpha channel.
The bug that failed in reading of the genre of IDv3 because of the MP3 plug-in was corrected.
The bug with the loop noise when MP3 reproduced was corrected.
I was misunderstanding the default setting of the resume. It corrected.
About the setting that turns off the power supply of NDS when you shut the cap. The bug that this doesn't work was corrected.

#112464 - Kyon - Sat Dec 16, 2006 5:24 pm

First post! Yay~

Umm, I'd like to translate the Readme to Dutch, to whom should I send an e-mail?
_________________
Receiving my SC Lite+SuperKey+1Gb TF card on Monday!

#112470 - Firon - Sat Dec 16, 2006 5:40 pm

Translate it, then when you do, host it somewhere and send an e-mail about it here.
autolinkpost@moonlight.servehttp.com

(he does not respond to this e-mail, by the way)

#112473 - Kyon - Sat Dec 16, 2006 6:09 pm

Okay, thanks! I'll mail it tomorrow (don't think I'll finish it today)~
_________________
Receiving my SC Lite+SuperKey+1Gb TF card on Monday!

#112474 - chuckstudios - Sat Dec 16, 2006 6:20 pm

Firon wrote:
And the changelog:
Quote:
Version 1.51 2006/12/16
The bug that failed in reading of the genre of IDv3 because of the MP3 plug-in was corrected.


Please tell me why it doesn't say "Thank you for chuckstudios." next to that.

#112482 - Firon - Sat Dec 16, 2006 8:12 pm

lol, beats me. :P I guess he implemented his own fix instead of using yours.

#112484 - chuckstudios - Sat Dec 16, 2006 9:00 pm

It's the same exact file as the one that was in my ZIP. Exactly the same.





...bullshit

#112489 - dangkict - Sat Dec 16, 2006 9:27 pm

chuckstudios wrote:
It's the same exact file as the one that was in my ZIP. Exactly the same.

...bullshit

Take it easy, man. I think maybe he fogot, possible huh, cause i also fogot many things and noone is perfect.
Sombody can contact with him and tell him that he miss this.

#112492 - chuckstudios - Sat Dec 16, 2006 9:52 pm

dangkict wrote:
chuckstudios wrote:
It's the same exact file as the one that was in my ZIP. Exactly the same.

...bullshit

Take it easy, man. I think maybe he fogot, possible huh, cause i also fogot many things and noone is perfect.
Sombody can contact with him and tell him that he miss this.


Yeah, I guess you're right.

#112493 - MoonShell - Sat Dec 16, 2006 11:15 pm

I forgot to write the copyright and to add.
I will surely correct it with Ver1.52.
I apologize deep deeply. and, Thank you for correcting it and the ID3v1 tag.

#112511 - HyperHacker - Sun Dec 17, 2006 6:40 am

Hey, you're back. Awesome.

I've been in a similar situation myself, posting peoples' Gameshark codes and forgetting to mention who made them. ^_^; Nothing to freak out over.
_________________
I'm a PSP hacker now, but I still <3 DS.

#112519 - ps2aich - Sun Dec 17, 2006 12:09 pm

Hi, I just installed the 1.5.1 Version on my GBAMPSD, and it works :-)
(I tested MP3 and Text files, I soon will encode a video to test).


Great work and many thanks for this ....


[Edit1] I've just encoded a video with default settings
(SndFreq=32768
SndKBPS=128
KBPS=384
FPS=20
Profile=1)
and I get freezes (video and audio) at a regular basis.
I will reduce bitrates to see if it is the data rate that makes problems
for my SD card ....
[/Edit1]
[Edit2]
With a smaller datarate it works flawless now :-),
except seeking seems to be a problem...
SndFreq=32768
SndKBPS=64
KBPS=256
FPS=15
Profile=2
[/Edit2]

#112563 - Firon - Sun Dec 17, 2006 10:29 pm

What resolution was it? 24fps playback only seems to work reliably with 256x144. x192 is still not fast enough, though you should be able to use an FPS higher than 15. Your SD card might just be slow.
Audio skips are definitely not normal.

#112599 - ps2aich - Mon Dec 18, 2006 11:51 am

Firon wrote:
What resolution was it? 24fps playback only seems to work reliably with 256x144. x192 is still not fast enough, though you should be able to use an FPS higher than 15. Your SD card might just be slow.
Audio skips are definitely not normal.


It think it was full resolution (256x192) ( I simply started dpdenc the first time,
and encoded the video). But I will check when I'm back at home.

The good message is, that even with full resolution and the freezes,
video and audio were always in sync :-)

My SD card is kind of noname brand, so this can always be a source of
problems.

But one concern is still there: seeking seems only to work backwards,
forward seeking seems to jump a very little forward, but not really usable.
When I keep pressing the right direction pad, it also freezes, only
single taps seems to forward a little bit.
But since I never used Moonshell before and the GBAMPSD integration is
very fresh, perhaps I am doing something wrong.

I read about better seeking support in 1.5.1 with the dpg2 format, and
this seems the format my video was encoded.

#113559 - Xtreme - Thu Dec 28, 2006 10:56 pm

I use MoonShell v1.5.1 and encode videos with DPG Encoder v1.2.1.

Atm I'm testing it with DSLink (+ Kingston 1GB MicroSD).

Video playback freezes after few (2-10) seconds. Black screen. Same happens with DPG and DPG2. I'm using the default settings.
MP3 playback works great.

EDIT: Now working. I updated to the latest MoonShell v1.6 beta 4.
_________________
My Theme
DS Lite (FM_V8a) ** R4 Revolution (2GB Transcend) ** SuperCard Lite (2x 2GB Transcend)

#113573 - chishm - Fri Dec 29, 2006 12:56 am

Anyone know how to contact MoonLight? Just to point him at the DLDI drivers for libfat and gba_nds_fat. Hopefully that page stands up to machine translation to Japanese.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#113587 - Firon - Fri Dec 29, 2006 1:54 am

I told him about it. I'm not sure the page will go well through machine translation, though.

#113622 - Firon - Fri Dec 29, 2006 8:20 am

http://mdxonlinemirror.dyndns.org/dlditest.zip
DLDI test build.

He's got a few questions about DLDI.
Moonlight wrote:
If section 'glue' is processed, does the C++ support become possible?
Classes functions. new/delete, Inheritance, Multiple inheritance, Composition, overload... etc.
I want to use C++ with DLL(MoonShellPlugin or DLDI).
Moreover, is the glue section compatible with DevKitARMr17 with DevKitARMr19?


Last edited by Firon on Fri Dec 29, 2006 9:26 am; edited 4 times in total

#113623 - theli - Fri Dec 29, 2006 9:11 am

o_O i now have moonshell 1.6b3 working on my G6.... hope DLDI will be included in next officiall releases

#113625 - Firon - Fri Dec 29, 2006 9:16 am

It's actually b4. But it should be included in the next version, assuming it works without problems.

#113634 - chishm - Fri Dec 29, 2006 11:15 am

Moonlight wrote:
If section 'glue' is processed, does the C++ support become possible?
Classes functions. new/delete, Inheritance, Multiple inheritance, Composition, overload... etc.
I want to use C++ with DLL(MoonShellPlugin or DLDI).
Moreover, is the glue section compatible with DevKitARMr17 with DevKitARMr19?

'glue' is the section of code that is used for interworking between THUMB and ARM code. It doesn't use the GOT in -fPIC mode because the linker inserts it, not the compiler. Likewise, C++ constructors and destructors use code that isn't compiled using -fPIC mode. Unfortunately it is put in the same section as the rest of the code so I can't work on a specific region of memory. To fix this, I set the base memory address of DLDI compiled code (ddmem in dldi.ld) to 0xBF800000. This constant is unlikely to ever show up in code, as it is a reserved instruction in THUMB mode and an invalid SWI in ARM mode. In this way, I can modify any value starting with 0xBF8????? to point to the correct location in memory.

I don't have DRP r17 installed, so I can't test DLDI with that. To get -fPIC code to compile using DKP r19, I had to modify the GOT section of the link script by adding *(.rel.got), giving:
Code:
   __got_start = . ;
   .got            :
   {
      *(.got.plt)
      *(.got)
      *(.rel.got)
   } >ddmem = 0
   __got_end = . ;

_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#113641 - Firon - Fri Dec 29, 2006 12:17 pm

He wasn't able to run dlditool.exe, but he recompiled it with Borland C++ 5.5.1 and it seems to work now. Does your version require some specific MSVC DLLs?

#113642 - chishm - Fri Dec 29, 2006 12:33 pm

Firon wrote:
He wasn't able to run dlditool.exe, but he recompiled it with Borland C++ 5.5.1 and it seems to work now. Does your version require some specific MSVC DLLs?

It was compiled using Visual C++ 2005 Express Edition, so I think it needs fairly recent C runtime DLLs.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#113725 - kusma - Sat Dec 30, 2006 1:14 am

chishm wrote:
Firon wrote:
He wasn't able to run dlditool.exe, but he recompiled it with Borland C++ 5.5.1 and it seems to work now. Does your version require some specific MSVC DLLs?

It was compiled using Visual C++ 2005 Express Edition, so I think it needs fairly recent C runtime DLLs.


you could always link statically to the CRT, or use the old lib-file from VC6 (ask me if you can't find it...)

#113726 - Firon - Sat Dec 30, 2006 1:55 am

Moonlight wrote:
I understand glue from answer.
It regrets that there is no possibility of the C++ support. I sad. (Wry smile

By the way, I have strong hope concerning DLDI.
I want you to build information on the version into the header.
For example.
'.asciz ""__DATE__" "__TIME__" GMT+09:00"' (this is MSP info type) is put in the after of the shutdown function pointer.
Or,
'Version high' (==Version number) and 'Version low' are put.
Or,
verXX(verHighLow) and The date is added to the DLDI file name without fail. (mpcf_ver10_20061229.dldi?)

I dislike confusion by being not able to judge an old driver. please.
I am sorry for saying only a selfish thing.

#113745 - chishm - Sat Dec 30, 2006 8:21 am

Most drivers are assumed to work with the first version and not need any new revisions. If a driver is modified, I'll add a (ver 2) or similar to the end of the driver name string in the DLDI file, and add a ver2 to the end of the file name.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#113758 - Firon - Sat Dec 30, 2006 10:34 am

Alright.
Oh, and here's a DLDI + source for the Ewin2. http://mdxonlinemirror.dyndns.org/resources/20061229_dldi_ewsd_ver10_20061229.zip
Quote:
Device: Ewin2 (SD Card)
DeviceID: EWSD
Version: 1.0
Download: http://mdxonline.dyndns.org/
Source: Open (Edit ok, License free)
Author: Moonlight
Read/Write: R/W
Tested?: Yes
Manufacturer: Ewin flash
Manufacturer's Website: http://www.ewinflash.net/
Manufacturer's Website: http://www.ewin2.jp/
Last Modified: 2006-12-29

#113761 - chishm - Sat Dec 30, 2006 11:02 am

Ewin2 added to the DLDI list.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#114028 - 3xtec - Wed Jan 03, 2007 1:06 am

is there a dpg to dpg2 converter?
i haven't been able to find a decet working one so far...

#114043 - Firon - Wed Jan 03, 2007 4:03 am

No, not really. It'd be easy to do if someone bothered, though.

#114189 - tuLL - Fri Jan 05, 2007 2:35 am

chishm wrote:
Most drivers are assumed to work with the first version and not need any new revisions. If a driver is modified, I'll add a (ver 2) or similar to the end of the driver name string in the DLDI file, and add a ver2 to the end of the file name.


I'm having trouble with my M3 Lite. I have a Kingston 1 gig card.

Moonshell won't run any nds, saying it is not compatible.

Hope this helps. If needed ask more questions:)

EDIT: But it's on Moonshell1.6