(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-07-24 05:27 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - New blocktool ASM idea New poll | |
Pages: 1 2 3Add 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: 6288 days
Last view: 6287 days
Posted on 12-21-05 07:35 PM Link | Quote
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: 6289 days
Last view: 6287 days
Posted on 12-21-05 11:45 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-22-05 12:15 AM Link | Quote
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: 6296 days
Last view: 6287 days
Posted on 12-22-05 04:50 AM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-22-05 02:47 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-22-05 04:51 PM Link | Quote
Originally posted by asdf
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)
I 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: 6288 days
Last view: 6288 days
Posted on 12-22-05 06:22 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-22-05 07:01 PM Link | Quote
Originally posted by Xeruss
less - no slowdown


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
no more stupid hex-dec conversions


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: 6288 days
Last view: 6288 days
Posted on 12-23-05 12:35 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-23-05 01:58 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-24-05 05:39 PM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-24-05 05:49 PM Link | Quote
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: 6288 days
Last view: 6288 days
Posted on 12-25-05 06:06 AM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-26-05 12:18 AM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-28-05 03:47 AM Link | Quote
Are you going to steal borrow the original 350 blocks in JonWil's Blocktool?
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: 6288 days
Last view: 6287 days
Posted on 12-28-05 04:30 AM Link | Quote
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: 6288 days
Last view: 6287 days
Posted on 12-28-05 04:37 AM Link | Quote
Originally posted by Sukasa
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.


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: 6288 days
Last view: 6287 days
Posted on 12-28-05 04:53 AM Link | Quote
Yes.

If you want, please remake as many block as you can, or make new

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: 6288 days
Last view: 6287 days
Posted on 12-28-05 05:07 AM Link | Quote
Originally posted by Sukasa
Yes.

If you want, please remake as many block as you can, or make new *fixed*

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!
What 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: 6288 days
Last view: 6287 days
Posted on 12-28-05 05:12 AM Link | Quote
Here you go:

Old block

Codeline1
Codeline2
RTS

New Block:

Codeline1
Codeline2
RTL

Oh, and for the override:

thread
Pages: 1 2 3Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - New blocktool ASM idea |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.030 seconds; used 448.29 kB (max 580.47 kB)