Register - Login
Views: 99793916
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:07:45 AM
Jul - General Game/ROM Hacking - DS debugging/reverse engineering/whatever you call it New poll - New thread - New reply
Pages: 1 2Next newer thread | Next older thread
Hectamatatortron
Member
Level: 35


Posts: 133/232
EXP: 258215
For next: 21721

Since: 09-19-07


Since last post: 7.2 years
Last activity: 5.3 years

Posted on 04-02-09 03:17:00 PM Link | Quote
What if he wants to expand them?

Surely there's some static reference (perhaps on a per-ROM basis) that can be followed to eventually locate the tables within the (what I imagine is an) accessible file system.

____________________
Deleted User
Collection of nobodies
Posted on 04-02-09 03:29:31 PM Link | Quote
Well, the tables he found don't appear to be part of the filesystem.
If I was him, I'd not rely on these tables. Also, expanding them would need you to modify the code as well, because the tables are most likely stuck directly to eachother without any separation, and then if you expand one table you'd need to modify the offsets of the following tables as well.

But maybe I am wrong. What are the actual addresses of the famous tables?

____________________


===================
[Posted by Limonex]
Hectamatatortron
Member
Level: 35


Posts: 134/232
EXP: 258215
For next: 21721

Since: 09-19-07


Since last post: 7.2 years
Last activity: 5.3 years

Posted on 04-02-09 09:56:02 PM Link | Quote
How difficult it is (as well as whether code needs to be modified) should be viewed as trivial until efforts are made to practice theory.

At least, that's how I do things; if I let realism stand in the way of idealism I'd never get anything done.

If I pushed realism aside altogether I wouldn't get anything done, either, but...

____________________
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 232/2014
EXP: 6638525
For next: 12139

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 113 days
Last activity: 6 days

Posted on 05-14-09 04:16:02 PM Link | Quote
So I return to this thread.


After about 2 days, a hacked up version of NDSTool, a custom decompression program and much time spent in No$GBA's debugger, I have a version of NSMB which can accept modified code.

Now, what I'm stuck on: what's the best way to add code to a routine? For example, if a value is read from an I/O port in the original code, I'd like to make it so I can override that with a specific memory address - but I don't see any way to add more without overwriting existing code. Is there a better way to do this?

____________________
My most sincere excuses for all my bullshit to you. -- Mega-Moron · Hacking Tools: NSMB Editor 4 · Nitro Explorer · NARC Explorer
Xenesis

Roy Koopa
Actually a Doctor
Level: 101


Posts: 426/2732
EXP: 10486585
For next: 231090

Since: 07-28-07

Pronouns: She/Her
From: Orange Star's Retirement Villa

Since last post: 9 days
Last activity: 19 hours

Posted on 05-15-09 12:07:43 AM Link | Quote
Unless you can recompile the game, I've found that overwriting existing code is generally the only way to specifically add code to a routine. Often you can get away with it by optimising the existing code in terms of the amount of opcodes used (at the cost of what is probably slower CPU execution - but the Ds is so powerful it probably won't notice an extra 10 cycles or so) to sneak in a small set of code of your own. But apart from that, you'll probably need to find some free space, overwrite some code to jump to it and then restore the original code, run your new stuff and then branch back to what you're supposed to do.
Pages: 1 2Next newer thread | Next older thread
Jul - General Game/ROM Hacking - DS debugging/reverse engineering/whatever you call it New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries, 1 query cache hits.
Query execution time: 0.085506 seconds
Script execution time: 0.007017 seconds
Total render time: 0.092523 seconds