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. |
User | Post |
Sukasa Posts: 911/2068 |
I goofed. Actually, the SNES-side source code is done. I just need to finish the PC-side code.
Anyways, I have a good idea on how to find free space: Look for (starting at the user ROM space) a string of 5 $00's, then if I find that, look from there for a string of $00's large enough to fit the blocktool code, then look for two more chunks of space to hold the two tables for block data. (total size of tables: 2.625 ROM banks, or two and five eighths.) |
Dan Posts: 167/219 |
Lunar Compress might have some kind of free space finder. Look at Blocktool's source, because I'm pretty sure it looks for free space using Lunar Compress. |
Sukasa Posts: 910/2068 |
...Progress? Well, the block data save/load is going good (By that I mean that the program saves, in an external file, the inserted block lists properly), the main UI is done, the SNES-side code and SNES-insertion (PC-sidE) code have to be done, and then I have to write a free space-detection routine, unless someone would be kind ewnough to write one that can give variable-size free space chunks, as well as let me know when there is not an available chunk of space large enough for Blocktool Omega's data tables. |
Smallhacker Posts: 589/832 |
Originally posted by cory21391 If you wouldn't like it to work, then yes. |
cory21391 Posts: 118/208 |
This may be a dumbass question, I'm only asking this to clarify, but to insert downloaded custom blocks that aren't included with blocktool, don't you just put the downloaded block in the blocktool directory (with all the .bin files)? |
spel werdz rite Posts: 1069/1796 |
Yes it does.
You can do this, but only through hex (it's the same method I used to make sure Fu's SMB3 Pipes don't get deleted when reused). Go to 0x37890, that's where the custom block JSLs are. If you remember Fu's Help file, he left room for 3 JSLs per offset. So just rewrite the JSL's to the next space. |
mikeyk Posts: 18/89 |
i thought of another question. if you use blocktool a second time, does everything that you inserted the first time get erased from the rom? if so, any idea how it goes about this? |
spel werdz rite Posts: 1067/1796 |
What's your current progress? |
Sukasa Posts: 897/2068 |
Also, I'm working on a replacement to blocktool that will be a bit more useable and user-friendly, not to mention incrediblyt faster. |
mikeyk Posts: 17/89 |
thanks... that exactly what i wanted to know. i'll be sure to pop back in if i have any more questions. |
spel werdz rite Posts: 1053/1796 |
1. Blocktool looks for the first area with enough empty space and inserts it there.
2. Blocktool uses the RATS tag like Lunar Magic, so no overwriting complications occur 3. Yes, it's basically all the info in the bin modified to fit the new JSRs of the relocs. |
mikeyk Posts: 15/89 |
does anybody know much about how blocktool operates. i decided it might not be too difficult to make a similar program for sprites, but i had a few questions first. i would find the answers myself, but i'm not going to be at a computer with smw for about a week. so, here they are:
1. does blocktool insert code into a static location? in other words, does the custom block routine always start at the same SNES location? the alternative would be that blocktool inserts its routine at a place where it finds free space. 2. if the code is put in a static location, what prevents blocktool from overwriting data that might already be there in a hack in progress? 3. if a block uses reloc offsets, does blocktool just insert a modified version of the .bin file? the alternative here would be that blocktool inserts the .bin file unmodified and handles the reloc offsets in its main routine. any technical information would be appreciated, not just stuff related to the questions above. on a unrelated note, i updated my sprite page with a few more goodies. |