Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
1 user currently in Super Mario World hacking: |
Acmlm's Board - I2 Archive - Super Mario World hacking - Good place to insert subroutine? | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1916/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
I've got this piece of code which I would like to be a part of the "playing a level" loop. Therefore, does anyone know about a good spot to place the JSR/JSL? | |||
Keikonium Banned Level: NAN Posts: 2133/-2459 EXP: NAN For next: 0 Since: 04-02-04 Since last post: 63 days Last activity: 9 hours |
| ||
My guess would be at the end of the rom where all the free space (FF) is. You can jump to any part of a rom that isn't the expanded part (rats tags?) right? | |||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1918/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
I know where to place the code, but what I need is a good place to put the JSL/JSR which jumps to the new code. | |||
XPeter Fuzz Ball Level: 42 Posts: 662/963 EXP: 501695 For next: 19667 Since: 01-24-05 From: South Ireland Since last post: 1 hour Last activity: 26 min. |
| ||
What's the "playing a level" loop? | |||
Juggling Joker Boomerang Brother SMW Hacking Moderator Yeah, JAMH is still being worked on. Level: 48 Posts: 963/1033 EXP: 811447 For next: 12096 Since: 03-15-04 From: Wyoming Since last post: 2 days Last activity: 3 hours |
| ||
The loops that's executed every frame of gameplay. | |||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1508/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
My best advice SH would be to fire up geiger's debugger, and "step into" the code while playing any level. Locate the address of the code it gives you, and then overwrite it (and possibly the next command after that) with the JSL, and re-write the code that you overwrote in the beginning of your subroutine. | |||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 1919/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
Sukasa: Yeah, I know, but it's hard to be sure if it's always excecuted, or if it happened to be a part of the routine of the block Mario's standing on or such. I'll give it a try anyway. | |||
DisruptiveIdiot Paratroopa Level: 21 Posts: 122/147 EXP: 42614 For next: 7329 Since: 04-09-04 Since last post: 4 days Last activity: 5 hours |
| ||
Originally posted by Smallhacker You could always make a test level with only two blocks in it and trace the code while standing on both blocks so you can use the differences in the traced code to figure out what is block code and what is the actual "playing a level" loop. |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1517/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
I have another idea- If you're always going to be touching block 25, then why not just add the code in as a custom block, set for tile 0x25? | |||
Glyph Phoenix Level: 39 Posts: 418/745 EXP: 385876 For next: 18895 Since: 11-07-04 Since last post: 2 hours Last activity: 2 hours |
| ||
o_0 That'd be incredibly stupid. What if you were in water or on top of a background tile or in front of a ledge? It would be nearly impossible to eliminate all such occurances. And then the slowdown. And then the slowdown! But this did give me a nifty idea for a level. What if, in a water level or something, Block 25 was a waterfall that pushed you down? And then you had to navigate under ledges and things like you do the salt shaker of Level Ate of Earthworm Jim 2, else you couldn't jump because of the watefall pressure. But even then screwing with Block 25 is an inelegant and problematic way to do that, and making waterfall tiles would be a better solution. |
|||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1518/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
To be honest, I was kinda joking with that last one. | |||
Glyph Phoenix Level: 39 Posts: 419/745 EXP: 385876 For next: 18895 Since: 11-07-04 Since last post: 2 hours Last activity: 2 hours |
| ||
"Kinda joking"? How the hell do you say something that is only "kinda joking"? | |||
Sukasa Boomboom Error 349857348734534: The system experienced an error. Level: 57 Posts: 1520/1981 EXP: 1446921 For next: 39007 Since: 02-06-05 From: *Shrug* Since last post: 6 days Last activity: 1 day |
| ||
Because I was being funny, besides, you'd have the code running more than once a frame, if more than one block wre triggered. Just ignore that post. [ontopic]Well, another non-joking idea is to set a breakpoint on mario's XY location code, and then trace the code after that until you get to an RTS/RTL. that should put you in the main level loop. |
|||
HabsoluteFate Red Paratroopa Level: 23 Posts: 159/179 EXP: 58525 For next: 9198 Since: 03-15-04 From: Ottawa, Ontario, Canada Since last post: 10 days Last activity: 2 days |
| ||
Address 00/A314 is always called...or you would have to think it is (I know its always called when mario is within a level and although i havent checked i would assume it is called even during the overworld). Its the code that loads the current palette depending on which mario/luigi is currently on screen. From what i have seen in my tests there is never a jump in the middle of it so your safe moving the code.. I'd recommend perhaps moving the chunk of code that is currently there to the same bank as your new code. Have A314 first call your new code, within your new code have it call the chunk of code you already moved, return from that, return RTL from your code and your done... (edited by HabsoluteFate on 07-31-05 10:15 PM) (edited by HabsoluteFate on 07-31-05 10:16 PM) |
|||
BMF98567 BLACK HAS BUILT A SILLY DICE-MAZE! GO! Current list of BURNING FURY >8( recipients: - Yiffy Kitten (x2) - Xkeeper Level: 53 Posts: 1025/1261 EXP: 1094149 For next: 62970 Since: 03-15-04 From: Blobaria Special Move: Rising Meatloaf Backhand Combo Since last post: 21 hours Last activity: 1 hour |
| ||
I originally hooked the routine that clears the sprite RAM for my HDMA hack (until I discovered it would glitch up when the game slowed down). The routine's located in RAM at $7F8000, so look for 22 00 80 7F. There are a lot of these JSLs in the ROM, though, and I can't recall which one I hooked... |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Super Mario World hacking - Good place to insert subroutine? | | | |