Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in ROM Hacking. |
Acmlm's Board - I3 Archive - ROM Hacking - New blocktool ASM idea | New poll | | |
Pages: 1 2 3 | Add to favorites | Next newer thread | Next older thread |
User | Post | ||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Yeah, I just want to know what you guys think of this:
I've been thinking about blocktool and how slow it is with a lot of blocks to check, and thought of a new routine that would work better. Basically, it uses a 16Kbn table that uses 4-byte entries: One byte for if there is a custom block set for a specific block number, and a 3-byte entry for the location in the ROM of the ASM code for the block. The code would simply take the MAP16 number, and use the SNES's 8/16 -> 24 bit multiplication coprocessor to find a block's address, then check that block number to see if there is a block for that tile. If so, the code would then copy $22 and the address to RAM, jump there, do the code, and then jump back to finish running the block. If there was no block for that tile,. nothing would happen. Although this idea would need all-new blocks to support it's needing a JSL instead of a JSR, and therefore RTL's instead of RTS's, there would not be slowdown, regardless of how many custom blocks you actually have in your hack. Oh, and credit for the inspiration goes to sendy for Her complaint about the lag that results from too many custom blocks. |
|||
asdf Link's Awakening ಠ_ಠ Since: 11-18-05 Last post: 6310 days Last view: 6308 days |
| ||
Good idea. Blocktool is in desperate need of an update anyhow. There's that slowdown problem, plus due to limitations of whatever Jonwil used to design it, you need to do hex to dec conversions (which works, but is unwieldly). I believe there are other problems with it as well, such as the "5 Yoshi Coin" and "No 5 Yoshi Coin" blocks being reversed. In addition, the code only works if you have exactly 5 Yoshi coins, despite what the usage notes say (you just need to change one byte for them to work as intended, though) (edited by asdf on 12-22-05 01:21 AM) |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Well, when I get this working, I could set up a VB6 program to work with the blocks, and also accept hexadecimal block numbers, since all you'd need to do is
a = VAL("&h" + text1.text) and that. There, you can now input Hexadecimal block numbers into your program. Or code similar to that. |
|||
Dan Purple Leever Since: 11-18-05 Last post: 6317 days Last view: 6308 days |
| ||
I actually have a fully functional rewrite of Block Tool sitting on my PC. It's just missing the vast majority of the blocks (I dumped the DBF file format that Jonwil's Block Tool uses, and thus have to reimport virtually all the blocks into my program), but it has a few features that the original block tool doesn't like hex entry, an installer format for blocks, and the ability to select the ASM that is inserted into the ROM.
If enough people nag me about it, I might get around to finishing it. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
When I finish the code for this version of blocktool, I could send you it.
Also, I could modify it to wsork with existing blocks, and use JSR's instead of JSL's. |
|||
spel werdz rite Since: 11-19-05 Last post: 6309 days Last view: 6308 days |
| ||
Originally posted by asdfI figured this out last Monday! Open up yc.bin Change D0 to 30 Open up noyc.bin Change F0 to 10 And hurray! Now it will still work even if you have collected more than 5 Yoshi Coins! |
|||
Xeruss Cukeman Since: 11-18-05 From: Oregon Last post: 6309 days Last view: 6309 days |
| ||
Hmm... I still have some trouble understanding ASM, but what I did catch was: less - no slowdown, no more stupid hex-dec conversions, allover easier. sounds awesome. Oh, and Dan you may as well release your re-write of blocktool, it's not very much help to the rest of the hacking community while it's on your computer. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Originally posted by Xeruss Yes, but you'll only see a difference if you had a huge ton of blocks already in your hack. If you barely use any, then perhaps it's really not the best Idea, unfortunately, since the ASM for checking the blocks is a lot more than LDA, CMP, BEQ and the like. Originally posted by Xeruss For sure! quote=Xeruss]all over easier Not really... If you want any of the originalblocks, you'd have to convert them for use with this new ASM, at least for it's version 1. quote=Xeruss]Oh, and Dan you may as well release your re-write of blocktool, it's not very much help to the rest of the hacking community while it's on your computer. I second that motion. |
|||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6309 days Last view: 6309 days |
| ||
Converting existing blocks to use RTL in place of RTS shouldn't be difficult. Or, you can use stack manipulation tricks to let them work with an RTS anyway.
If you're going to do this, I have a suggestion: Copy into some unused RAM addresses the block's coords and Map16 address. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Funny, you read my mind.
If I can trace the MAP16PP code as well, then I'll add in bitflags to let you have the code change the block's GFX and act like sttings easily. |
|||
spel werdz rite Since: 11-19-05 Last post: 6309 days Last view: 6308 days |
| ||
I look forward to this coming out.
Suggestion: how about the ability to combine Block features. i.e.:you set tile x200 to be the SMB3 Smashable Brick. But you want to combine it with the Fire Block, instead of making a new block which combines these, how about making a feature that adds both of these? |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Not at first, unfortunately. first I have to get it where it can handle one block at a time, then yes, I can do that in the second version. | |||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6309 days Last view: 6309 days |
| ||
Are you planning to make an actual inserter? Becuase I'd love to. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
I was, but if you can make a good one that trumps the old blocktool in every way, please, have at it, and I'll send you all the SNES-side code and tables as I finish them. | |||
spel werdz rite Since: 11-19-05 Last post: 6309 days Last view: 6308 days |
| ||
Are you going to I can make several custom blocks! Let's start with these! A gameover block (self-explanatory ) and Hurt/Kill blocks depending on your powerup. (i.e. Hurt Mario only if he has a Mushroom. Kill Caped Mario only) Dark Ludwig's Star Blocks! Only passable as Star Mario, and it's reverse. Kills only Star Mario, and it's reverse. And my Star blocks are here! It's the exact hurt code. Hurts only Star Mario, and hurt Mario anytime block. As you can see, I love blocks that hurt Mario. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
No, seeing as the engine will be completely different for MAP16++, RTLing instead of RTS'ing and that, I can't really use any of the old blocks, which is too bad. | |||
spel werdz rite Since: 11-19-05 Last post: 6309 days Last view: 6308 days |
| ||
Originally posted by Sukasa Well I'd still like to be a part of the "making the blocks" part. Need any help? |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Yes.
If you want, No, I know what you could do! Make blocks to go along with my Controller override ASM patch! That way other people can use it easily, without having to know which RAM address does what! |
|||
spel werdz rite Since: 11-19-05 Last post: 6309 days Last view: 6308 days |
| ||
Originally posted by SukasaWhat is the Controller override? And if you actually do want me to remake the blocks, give an example of their style, so I know what I got myself into. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6309 days Last view: 6308 days |
| ||
Here you go:
Old block Codeline1 Codeline2 RTS New Block: Codeline1 Codeline2 RTL Oh, and for the override: thread |
Pages: 1 2 3 | Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - ROM Hacking - New blocktool ASM idea | | |