Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in SMW Hacking. |
Acmlm's Board - I3 Archive - SMW Hacking - Is inserting custom blocks via ASM better than using BlockTool? | New poll | | |
Add to favorites | Next newer thread | Next older thread |
User | Post | ||
pikaguy900 Sparky Since: 08-10-06 Last post: 6441 days Last view: 6428 days |
| ||
Is it better to insert blocks via ASM than inserting them using BlockTool? Every time I insert a new custom block, I use BlockTool, but I've grown to hate it somewhat, seeing as one of the blocks I inserted is now malfunctioning... So, would ASM prevent that sort of thing happening, or does it not matter? | |||
Kailieann Since: 11-18-05 Last post: 6428 days Last view: 6428 days |
| ||
If you want to insert blocks via ASM, go ahead.
But, I'm sure you already know it'd be an unholy pain in the ass to say the least. |
|||
pikaguy900 Sparky Since: 08-10-06 Last post: 6441 days Last view: 6428 days |
| ||
Sort of. Right now, I'm only wanting efficiency for the blocks, even if it means doing a lot of work in ASM. | |||
Stephan Reiken Blipper Since: 11-17-05 Last post: 6436 days Last view: 6429 days |
| ||
How about a related question, could putting blocks in via ASM eliminate the Slow-Down that having many Custom Blocks from BlockTool has? | |||
Watermelon Red Goomba Since: 07-29-06 Last post: 6450 days Last view: 6450 days |
| ||
Originally posted by Stephan Reiken Well, the new BlockTool Omega doesn´t has slowdown . I recommend to use that instead. |
|||
Kailieann Since: 11-18-05 Last post: 6428 days Last view: 6428 days |
| ||
Originally posted by Watermelon That would be a little tricky, seeing as BTO doesn't actually do anything yet. |
|||
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: 6429 days Last view: 6428 days |
| ||
Yeah, that is more of a demo of the program's UI.
However, ASM woudl be faster if you just comparted block numbers and branched, unlike blocktool which does some crazy huge lkooping that isn't really needed. |
|||
spel werdz rite Since: 11-19-05 Last post: 6429 days Last view: 6428 days |
| ||
ASM is much better! The best way to do it (at least how I do it) is like so:
1)Make your JSL at the specific block offsets (read the Lunar Magic readme to find where these are. 2)After you have made your JSL, go to it's address. 3)Write this: 08 C2 30 8B DA 4B AB A5 03 A2 nn nn CA CA 30 08 DD xx xx D0 F7 FC yy yy C2 30 FA AB 28 60 In those cases, 'nn nn' is the number of blocks you plan on inserting x2. So if you were going to put in 0x17 blocks, you would write 0x2E 00. And 'xx xx' is the high/low bytes of the address for the blocks you would write down. So say 'xx xx' is 0x13 87, you would go to $8713 and write the block numbers of the custom blocks. Indexed with the block number, 'yy yy' is the address to write the addresses of the blocks, then go to those addresses and write your custom block ASM. I have seen no slowdowns using this method. |
|||
Watermelon Red Goomba Since: 07-29-06 Last post: 6450 days Last view: 6450 days |
| ||
Originally posted by KailieannOriginally posted by Watermelon Really? Damn, is that I never tryed it . My bad. |
|||
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 6429 days Last view: 6428 days |
| ||
I abandoned Block Tool not too long ago in favor of my own system. I use 7 tables, each containing 128 16-bit addresses, which gives me 128 blocks and 32K of space to work with (plenty for now). Each table corresponds to a different action (touched from above/below/sides, hit by fireball, etc.). Basically, the code gets the current block number and uses it as an index into one of the aforementioned address tables, depending on the current action. This address is then compared with a reserved "unused" value. If it matches, no code exists for this block number/action, and the routine exits; otherwise, the routine jumps to the block code at that address. This method is simple and elegant, and uses very few CPU cycles, since no loops are involved. | |||
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: 6429 days Last view: 6428 days |
| ||
...Which, coincidentally, is the same premise as BTO. the difference lies in the fact that the data tables for BTO take up 4 1/2 ROM banks, and the code is slightly slower (but still incredibly faster than BT). And Watermelon: Don't worry, it will eventually | |||
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 6429 days Last view: 6428 days |
| ||
4 1/2 banks (~147K?!) seems a little...excessive.
Perhaps you could allow users to choose how many blocks they want to reserve the first time they run the program, in order to decrease the amount of space used? I highly doubt anyone is going to use that many blocks. |
|||
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: 6429 days Last view: 6428 days |
| ||
Yeah... 16 * 2 * 4096 bytes for the offset tables, and an additional 4096*5 btyes for the actual block-is-here tables and the bitflags for them. And, the way the tables are constructed and the system is coded, unfortunately you HAVE to have the full table. | |||
pikaguy900 Sparky Since: 08-10-06 Last post: 6441 days Last view: 6428 days |
| ||
I don't mean to sound rude, but... Why did you hijack my thread? Anyways.... I guess it really is better to insert Custom Blocks via ASM. Unfortunately, I barely understand it, even after reading the stickied thread that tells what each part of ASM is (my Hex Editor only lists the hex numbers, so I assume things like JSL are only for text files...). |
Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - SMW Hacking - Is inserting custom blocks via ASM better than using BlockTool? | | |