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 - What file(s) of Block Inserter's do I edit to Program my own Custom Blocks? | | | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
User | Post | ||
Atma X Bandit Level: 43 Posts: 263/801 EXP: 553639 For next: 11407 Since: 03-16-04 From: Derrière vous!!! Since last post: 43 days Last activity: 14 days |
| ||
Also, how do I know what to Set the Reloc Offset to (In Block Inserter itself) when my Custom Block is done? Should I assume that it's usually going to be -1, since most Blocks use that number, or should I just use -1 as the Reloc Offset until I know how to make more Complex Blocks? Because it seems that the more Complex Blocks are usually the one's to use different numbers (and more than one number). (edited by Atma X on 06-01-04 01:18 AM) |
|||
BMF98567 BLACK HAS BUILT A SILLY DICE-MAZE! GO! Current list of BURNING FURY >8( recipients: - Yiffy Kitten (x2) - Xkeeper Level: 53 Posts: 210/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 |
| ||
Reloc Offsets only need to be used if you have JMPs or JSRs within your block code (for more complex, multi-function blocks). Block Inserter is capable of redirecting these jumps to point to the correct address after the block is inserted (since, obviously, a jump to $20F isn't going to point to the same location inside the ROM). A Reloc Offset simply points to the first byte of the address in a JSL/JMP instruction. Try examining the Reloc Offsets for some of the pre-made blocks to see how they work for yourself. | |||
Atma X Bandit Level: 43 Posts: 266/801 EXP: 553639 For next: 11407 Since: 03-16-04 From: Derrière vous!!! Since last post: 43 days Last activity: 14 days |
| ||
What does JMP, JSR, and JSL Stand for? BTW: I'm just starting to learn ASM, so I'll probably need the Actual Words that the Abbreviations stand for (at least for a little while). Also, I figured that Block Inserter would be a good place to start messing around with stuff, since it's more in my area of interest, and so I don't have to figure out where to place the Code in the Rom, since Block Tool will do it for me (I don't mean to ask a stupid question, but do you think this would be a good place for a beginner [like myself] to start?) (edited by Atma X on 06-01-04 04:45 AM) (edited by Atma X on 06-01-04 05:23 AM) |
|||
BMF98567 BLACK HAS BUILT A SILLY DICE-MAZE! GO! Current list of BURNING FURY >8( recipients: - Yiffy Kitten (x2) - Xkeeper Level: 53 Posts: 212/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 |
| ||
JMP: Jump. Jumps to the specified address. JSR: Jump to Subroutine. This pushes the address of the next instruction onto the stack and then jumps to the specified address. You can then use RTS (Return from Subroutine) to return to the address that was pushed onto the stack. JSL: Just to Subroutine Long. Just like JSR, but uses a 24-bit address, allowing you to jump pretty much anywhere in ROM or RAM. Use RTL (Return from Subroutine Long) instead of RTS with this. |
|||
Atma X Bandit Level: 43 Posts: 268/801 EXP: 553639 For next: 11407 Since: 03-16-04 From: Derrière vous!!! Since last post: 43 days Last activity: 14 days |
| ||
Thanks BMF. Now, does anyone know which Block Inserter file's' (which file extention) to edit so I can start programming my own Custom Blocks? |
|||
Smallhacker Green Birdo SMW Hacking Moderator Level: 68 Posts: 183/2273 EXP: 2647223 For next: 81577 Since: 03-15-04 From: Söderhamn, Sweden Since last post: 10 hours Last activity: 9 hours |
| ||
Originally posted by Atma X 1: Program in ASM 2: Compile 3: Renamed compiled data into .bin 4: Add to Block Inserter |
|||
HyperLamer <||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people Sesshomaru Tamaranian Level: 118 Posts: 855/8210 EXP: 18171887 For next: 211027 Since: 03-15-04 From: Canada, w00t! LOL FAD Since last post: 2 hours Last activity: 2 hours |
| ||
I'm a little confused myself. The only reason I can see that you might need to change the address is if you did a JSR to nearby code, in which case you don't know where your code's going to be anyway, so it wouldn't make much sense to do so. | |||
Atma X Bandit Level: 43 Posts: 290/801 EXP: 553639 For next: 11407 Since: 03-16-04 From: Derrière vous!!! Since last post: 43 days Last activity: 14 days |
| ||
I guess I'll just randomly try editing some files, and hope that I find the right one. | |||
Escherial Shyguy Level: 17 Posts: 20/90 EXP: 20866 For next: 3877 Since: 03-15-04 From: Pasadena, CA Since last post: 202 days Last activity: 38 days |
| ||
It's not just a matter of editing files; you actually need to write some assembly to be inserted into the ROM. Essentially, the block inserter takes in files that contain blocks of assembly and inserts them into the ROM as well as modifies the ROM to look to the newly inserted code when the block is activated in-game. So, to make new blocks, you're going to have to write some code, compile it to a file, and create a profile for the new block in Block Inserter so that it knows where to find this new chunk of assembly (your file) to stick into the ROM. From there, you use it as usual. |
|||
Atma X Bandit Level: 43 Posts: 291/801 EXP: 553639 For next: 11407 Since: 03-16-04 From: Derrière vous!!! Since last post: 43 days Last activity: 14 days |
| ||
Ok, I think I gave the wrong idea, I need to know what file extention to save the newly created file as (the one containing my customly writen ASM) BTW: What do I use to compile it? |
|||
Escherial Shyguy Level: 17 Posts: 21/90 EXP: 20866 For next: 3877 Since: 03-15-04 From: Pasadena, CA Since last post: 202 days Last activity: 38 days |
| ||
It doesn't really matter, but the convention is .bin (you're going to specify the exact filename when you create a profile for the block in Block Inserter, anyway *shrug*). There are quite a few compilers out there, some more mediocre than others. I still haven't found one that I'm totally happy with, but SNASM will do the trick, more or less. |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread |
Acmlm's Board - I2 Archive - Super Mario World hacking - What file(s) of Block Inserter's do I edit to Program my own Custom Blocks? | | | |