Player (62)
Joined: 9/2/2008
Posts: 289
Location: United Kingdom
I'll try to be a brief as possible. From what I remember, both PSX and Sega Saturn has to show BIOs screen sequence. DSiWare games as far as I know cannot be booted up automatically like DS cart games and even 3DS games, they have to be selected from the menu. This leads to a few unique issues I've experienced so far. The NAND file is region specific, so a USA NAND will not run EU/JP DSiWare roms, the NAND files may have other apps installed into it and lastly the NAND file probably has save data of DSiWare titles but I need to double check that. The second problem is booting it up. You could intentionally re-arrange your apps so that when you open up the correct DSiWare rom, the present should be as close to the game cart slot or most recently used app. Yeah it's not as straight forward than Saturn/PSX boot up bios. Heck the DSi with pre-installed games can still be booted up without even selecting Open Rom option so you technically can start a TAS run with the NAND file highlighting on the game you want to run to lower the TAS timer. This is more of an issue for judging the movie file as the only reliable way is to share the NAND which I'm sure is against the rules for copyright reasons. Right now with MelonDS's DSititle manager I've removed all of the pre-installed apps, moved an empty slot to the far left with the most recently used app (either settings or DS cart boot icon) next to it. So when you use open rom method, the DSi present icon is to the left which becomes a straight forward TAP or single arrow press to highlight and unwrap the new DSiware rom and finally boot up the game. TL:DR we need to make a guide for producing TASVideos submitable DSiware runs. What are your thoughts on this?
greenalink.blogspot.com
Emulator Coder, Judge, Experienced player (729)
Joined: 2/26/2020
Posts: 779
Location: California
Agreed. The region locking you describe is not really "fixable" unless melonDS just has some dummy NAND created and some way to directly boot to DSiWare like how we already got it with WiiWare in Dolphin (neither of which I can see happening any time soon, considering that direct booting into a game cart in DSi mode is already broken/half-working). While you can force import a wrong region title, it just won't appear on the menu, presumably due checks by the NAND at runtime (so probably can't avoid it). The NAND file does indeed have save data and probably will have other titles installed on it. Currently the "easiest" method so far to clear the NAND state is to format NAND data (but even then, some titles like PWC crap you might find floating online still stick, those may need to be manually removed with melonDS' title manager). It might be best too to have the NAND setup (that is needed after formatting NAND) done pre-run with the DSiWare title set to be hovered over so it's a single A press on bootup to get to it. Although I wonder whether this should need a verification file? A lot of what melonDS' title manager does should also optimally be exposed in BizHawk. Would need a lot of work and of course would need to wait until the next release. What we have now with upstream melonDS shouldn't be too bad though.
Tompa
Any
Editor, Expert player (2215)
Joined: 8/15/2005
Posts: 1941
Location: Mullsjö, Sweden
Going to revive this as I'm about to start TASing a DSi game: Four Swords: Anniversary Edition. Before I go too far into it, the issues that Greenalink brought up still have no solution as far as I know. The JP version is the fastest, but I've been unable, thus far, to find official firmware for it and it will currently boot up like this: https://imgur.com/a/PIs7yR9 loading the ROM still works fine. I have a working setup for the US version, which I do not plan to continue with as it will be slower. So far with my testings, nothing I've ever done in the DSi menus, changing the time or whatever, have had any affect on the game. Thus my plan right now is to continue TASing on the JP version, despite it having a bad menu, and then just copy paste the inputs to a movie file that, in the future, will be a submittable when guidelines have been made.