(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-16-24 02:20 PM
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: 6309 days
Last view: 6296 days
Posted on 09-30-06 09:55 PM Link | Quote
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: 6296 days
Last view: 6296 days
Posted on 09-30-06 09:56 PM Link | Quote
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: 6309 days
Last view: 6296 days
Posted on 09-30-06 09:58 PM Link | Quote
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: 6304 days
Last view: 6297 days
Posted on 09-30-06 11:39 PM Link | Quote
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: 6318 days
Last view: 6318 days
Posted on 09-30-06 11:59 PM Link | Quote
Originally posted by Stephan Reiken
How about a related question, could putting blocks in via ASM eliminate the Slow-Down that having many Custom Blocks from BlockTool has?

Well, the new BlockTool Omega doesn´t has slowdown . I recommend to use that instead.
Kailieann



 





Since: 11-18-05

Last post: 6296 days
Last view: 6296 days
Posted on 10-01-06 12:16 AM Link | Quote
Originally posted by Watermelon
Well, the new BlockTool Omega doesn´t has slowdown . I recommend to use that instead.

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: 6297 days
Last view: 6296 days
Posted on 10-01-06 12:23 AM Link | Quote
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: 6297 days
Last view: 6296 days
Posted on 10-01-06 02:07 PM Link | Quote
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: 6318 days
Last view: 6318 days
Posted on 10-01-06 07:21 PM Link | Quote
Originally posted by Kailieann
Originally posted by Watermelon
Well, the new BlockTool Omega doesn´t has slowdown . I recommend to use that instead.

That would be a little tricky, seeing as BTO doesn't actually do anything yet.

Really? Damn, is that I never tryed it . My bad.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6297 days
Last view: 6296 days
Posted on 10-02-06 08:30 AM Link | Quote
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: 6297 days
Last view: 6296 days
Posted on 10-02-06 02:44 PM Link | Quote
...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
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6297 days
Last view: 6296 days
Posted on 10-02-06 06:11 PM Link | Quote
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: 6297 days
Last view: 6296 days
Posted on 10-02-06 07:55 PM Link | Quote
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: 6309 days
Last view: 6296 days
Posted on 10-02-06 08:03 PM Link | Quote
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? |


ABII

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

Page rendered in 0.026 seconds; used 415.11 kB (max 520.43 kB)