Pages: 1
Hiccup |
Posted on 07-17-17, 01:31 pm (rev. 4 by Hiccup on 07-17-17, 04:14 pm)
|
Birdo
Karma: 2754 Posts: 1979/2091 Since: 06-26-11 |
I turned on this filesystem access logging feature in desmume (go into the Slot 1 config and choose the debug thing then look at desmume's command line window - you may have to increase the window scrolling buffer thing in cmd window properties) and it seems that NSMB loads files for unnecessary things at the start of different scenes. e.g. "Bullet Bill" model at the title screen and "Blockhopper - ? Block" model at the World Map. Though strangely after replacing the bullet bill file with a random bytes file with Every File Explorer, the desmume log thing says that different files are loaded at the title screen. Maybe an issue with Every File Explorer or desmume tool?
Could somebody who is familiar with looking at NSMB's code (e.g. someone who is working on Newer DS ASM) have a look at the code for these scenes to see if they actually try and load these files, and if so - in what context. I appreciate that the file offsets/IDs/whatevers might have changed, so the developers may not have intended for the Bullet Bill to load on the title screen, but rather something else that use to be in its place, but it is still interesting. |
skawo |
Posted on 07-17-17, 03:19 pm
|
Karma: 19757 Posts: 1000/1100 Since: 04-02-13 |
Did you add 0x83 to every file ID you saw?
|
Hiccup |
Posted on 07-17-17, 04:16 pm (rev. 1 by Hiccup on 07-17-17, 04:16 pm)
|
Birdo
Karma: 2754 Posts: 1980/2091 Since: 06-26-11 |
No, why? I can't try it right now, sorry.
|
skawo |
Posted on 07-17-17, 04:51 pm
|
Karma: 19757 Posts: 1001/1100 Since: 04-02-13 |
Because that's how you get the NSMBe File ID. The game does not count the overlays as files.
|
Arisotura |
Posted on 07-17-17, 04:59 pm
|
☭ coffee and cream
Karma: 10415 Posts: 2409/2768 Since: 06-26-11 |
I have a theory:
the files aren't aligned to a specific boundary, but cart reads are aligned to a boundary (512 bytes iirc) so when it reads the beginning or end of a file, it ends up reading a bit of the neighbor file maybe that's what desmume is picking up (and would explain why it changes after replacing a file, if EFE changes the order of the files) _________________________ Kuribo64 - zrghij |
skawo |
Posted on 07-17-17, 05:04 pm
|
Karma: 19757 Posts: 1002/1100 Since: 04-02-13 |
Oh, Desmume gets the physical adresses? hum
|
Hiccup |
Posted on 07-17-17, 05:07 pm (rev. 3 by Hiccup on 03-10-18, 02:29 pm)
|
Birdo
Karma: 2754 Posts: 1981/2091 Since: 06-26-11 |
Desmume actually displays the filenames, as well as what are presumably addresses - I didn't check if they were.
I tried it with other games and it didn't seem to log any weird files. Posted by StapleButter so when it reads the beginning or end of a file, it ends up reading a bit of the neighbor file That'd explain it. edit 10/03/2018: it definitely looks like its doing that. |
Arisotura |
Posted on 07-18-17, 08:16 am
|
☭ coffee and cream
Karma: 10415 Posts: 2410/2768 Since: 06-26-11 |
Dirbaio |
Posted on 07-24-17, 05:00 pm
|
Super Mario
( ͡° ͜ʖ ͡°) Karma: 10010 Posts: 4388/4457 Since: 06-08-11 |
@ Hiccup: you will have more accuracy if you hook the actual functions reading files: FS_OpenFile, FS_OpenFileFast, FS_OpenFileDirect. IIRC NSMB uses mostly FS_OpenFileFast, which is by file ID (?) but I'd hook them all just in case, maybe some files are loaded by name.
|
skawo |
Posted on 07-24-17, 05:12 pm
|
Karma: 19757 Posts: 1003/1100 Since: 04-02-13 |
The only files loaded by name are BUILDTIME and sound_data.sdat
|
RicBent |
Posted on 07-24-17, 08:22 pm
|
Mariomaster
Karma: 8528 Posts: 924/1681 Since: 06-09-12 |
Arisotura |
Posted on 07-24-17, 08:32 pm
|
☭ coffee and cream
Karma: 10415 Posts: 2413/2768 Since: 06-26-11 |
if that makes you feel better, SM64DS has a list of filenames, that it uses to build a list of NitroFS file IDs upon startup
it seems that in NSMB the process was done before compilation, so it directly uses the NitroFS file ID list _________________________ Kuribo64 - zrghij |
Pages: 1