Closed rhaleblian closed 5 years ago
Built toolchain circa r43, runs on target. Try r46.
Too time-consuming to investigate any other versions of the toolchain.
Reopening due to inquiries from upstream. Note that toolchain versions later than the one cited in the README fail to initialize the FAT filesystem. That's a showstopper.
How are you testing your builds? (i.e. what card etc) currently desmume is bypassing dldi related things for binaries built with recent tools because it can't detect them as homebrew due to the changes we made to get DSi code booting on 3DS. See https://github.com/TASVideos/desmume/blob/37afaefa2f3c0cb4bb1c2a6a71485dc27d429e1c/desmume/src/NDSSystem.cpp#L622
I've made packages of the necessary libs & built dslibris with latest tools & the binary gets as far as displaying a splash screen at least when booted via hbmenu on 3DS. I'm not entirely sure why atm but most flashcards can't seem to boot the latest binaries, still to be investigated properly. In some cases this can be fixed by replacing the flashcard menu with https://github.com/devkitPro/nds-hb-menu
All I've really done atm is rework the Makefiles - since adding proper DSi support it's no longer possible to just flatten the elf & obtain a working binary which may have been your main problem.
The current changes are at https://github.com/WinterMute/dslibris/tree/fixes-for-latest-tools which I can PR if you want. You can grab pre-built portlibs using (dkp-)pacman - -S nds-portlibs will install all the ones I added or you can install them individually.
Interesting! If you get to the splash graphic on the top screen and an empty bottom screen, that's better mileage. I'm using a CycloDS card, or desmume on CentOS. The mileage i'm citing is when using the card on the h/w. I'll look at your changes.
BTW if you did get as far as the splash and book menu, you can put font/ and book/ dirs from the data/ dir into your FAT root and possibly get a list of books.
Had a chance to dig out some flashcarts to test with.
Using the -g option to set gamecode & maker code causes various flashcard menus to fail to launch the binary or just fail to dldi patch. Removing that allows the binary to boot on all the cards I currently have available, even without using hbmenu.
With the fonts and books available it's doing something but seems to not be rendering text at all. I've attached a logfile but I'm not really sure what I might be looking for beyond this point.
This log looks good. Fonts are being loaded and being hit and cached when books are parsed. This could not happen if the FAT subsystem couldn't start up. We need to suss out why glyphs don't actually display for you.
Still can't get a build the initializes FAT successfully. And the libfatdir example doesn't work for me either. My build environment or cart are hosed in some way. I've gotta resolve this independently of dslibris before getting anywhere.
A shame since i'd like to take a PR from you and get all this updated.
BTW, were you installing the support libraries (aka tool/) somewhere different? And, changing the subject: does the arm7 code need to exist at all?
Oh yeah, i was going to try the nitrofs example -- does one need to copy any files apart from the .nds to the cart? Or is the filesystem built into the .nds?
BTW, were you installing the support libraries (aka tool/) somewhere different?
nm, i see what you did -- nice. https://github.com/devkitPro/pacman-packages/tree/master/nds
Still can't get a build the initializes FAT successfully.
Does your card auto DLDI patch or is it an old menu?
A shame since i'd like to take a PR from you and get all this updated.
BTW, were you installing the support libraries (aka tool/) somewhere different?
I'm installing the support libs to $(DEVKITPRO)/portlibs/nds - they're all available via pacman now - see https://devkitpro.org/wiki/devkitPro_pacman. You can grab all of them with sudo (dkp-)pacman -S nds-portlibs or individually if you prefer. (dkp-)pacman -Ss should show you what nds packages are available.
And, changing the subject: does the arm7 code need to exist at all?
It probably doesn't if we add the brightness control stuff to libnds.
Oh yeah, i was going to try the nitrofs example -- does one need to copy any files apart from the .nds to the cart? Or is the filesystem built into the .nds?
The filesystem is built into the .nds but access is done via libfat so if you're having trouble with FAT initialisation then that's not likely to work either.
If it's easier I can still be found on IRC, see https://devkitpro.org/wiki/Community_Portal
Does your card auto DLDI patch or is it an old menu?
Damn good question, my memory says the CycloDS autopatches. Maybe Google can confirm that. Will poke around. Frankly, this cart seems to fallen into disrepute. Can you recommend a cart you use, to make our mileage more equal?
It probably doesn't if we add the brightness control stuff to libnds.
Ok. That's the only bit of new logic i can recall injecting.
If it's easier I can still be found on IRC, see https://devkitpro.org/wiki/Community_Portal
We can do that. You're in GMT? I'm in P[SD]T USA.
NM about the NitroFS question, i was able to build the example and run it in desmume, and will try again on the hw. If that works, i will try to describe the filesystem that way, just as a what-if, and see if i can get running again.
if you're having trouble with FAT initialisation then that's not likely to work either
Might be a hint in there then...
FAT on the CycloDS Evo was fixed by DLDI patching manually. FAT on DeSmuME was fixed by DLDI patching MPCF manually.
Builds are working with all latest pacman releases except Freetype, which we'll deal with separately.
The code has been reorged into the current project template and pushed to the modern
branch.
Resolved via https://github.com/rhaleblian/dslibris/pull/7
I don't even get the startup screen when building under today's devkitPro.