(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 06:00 AM
0 users currently in SMW Hacking.
Acmlm's Board - I3 Archive - SMW Hacking - How to: status bar border New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
RDOG

Goomba








Since: 11-17-05
From: London, Ontario, Canada

Last post: 6316 days
Last view: 6311 days
Posted on 01-13-07 03:43 AM Link | Quote
This thread will explain how to put a border in the status bar, like the one in my hack.

You'll need to fill in these 3 sections (numbers in brackets are the amount of tiles in hex):


To do that, you'll need 3 altered duplicates of BMF's LevelNames code. For each duplicate:
1)Offsets 0x28 and 0x40 in levelnames_code.bin determine how many tiles to load and display
2)Offsets 0x19 to 0x1B are the ROM address to load the tiles from
3)Change 0xD to 0xF to EA EA EA
4)Offsets 0x1F to 0x21 are the RAM address to store the tiles
5)Offsets 0x39 and 0x3A are the RAM address to load tiles from to put in VRAM
6)Offset 0x2D are where to place the tiles on the screen(00 for Section 1, 5E for Section 2, 7E for Section 3)

Then, you'll need a small table of pointers. At 0xFE1 in the ROM, enter 22 xx xx xx EA, where xx xx xx is the SNES address for the pointers. At that address, enter:
22 aa aa aa 22 bb bb bb 22 cc cc cc 6B. aa aa aa is Section 1 code, bb bb bb is Section 2 code, and cc cc cc is Section 3 code

You'll also need to change the tiles used by the counters for blank digits:
0x108B - blank digit tile used by timer
0x10E6 - blank digit tile used by score counter
0x1114 - blank digit tile used by small bonus star counter
0x1154 - blank digit tile used by lives counter
0x117D - blank digit tile used by coin counter
0x11A3 - blank digit tile used by big bonus star counter
0x11E7 - blank digit tile used by yoshi coin counter

Then, you must edit graphics accordingly. Keep questions and/or comments in this thread.
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6287 days
Last view: 6287 days
Posted on 01-13-07 06:59 PM Link | Quote
What if you expand the status bar scanlines with the Address $493?
RDOG

Goomba








Since: 11-17-05
From: London, Ontario, Canada

Last post: 6316 days
Last view: 6311 days
Posted on 01-13-07 08:38 PM Link | Quote
Oops, forgot about that. Set that address to 26 and the bottom tiles will be fully displayed.
KPhoenix

Koopa








Since: 08-01-06
From: USA

Last post: 6291 days
Last view: 6287 days
Skype
Posted on 01-22-07 04:34 AM Link | Quote
Originally posted by RDOG
This thread will explain how to put a border in the status bar, like the one in my hack.

You'll need to fill in these 3 sections (numbers in brackets are the amount of tiles in hex):


To do that, you'll need 3 altered duplicates of BMF's LevelNames code. For each duplicate:
1)Offsets 0x28 and 0x40 in levelnames_code.bin determine how many tiles to load and display
2)Offsets 0x19 to 0x1B are the ROM address to load the tiles from
3)Change 0xD to 0xF to EA EA EA
4)Offsets 0x1F to 0x21 are the RAM address to store the tiles
5)Offsets 0x39 and 0x3A are the RAM address to load tiles from to put in VRAM
6)Offset 0x2D are where to place the tiles on the screen(00 for Section 1, 5E for Section 2, 7E for Section 3)

Then, you'll need a small table of pointers. At 0xFE1 in the ROM, enter 22 xx xx xx EA, where xx xx xx is the SNES address for the pointers. At that address, enter:
22 aa aa aa 22 bb bb bb 22 cc cc cc 6B. aa aa aa is Section 1 code, bb bb bb is Section 2 code, and cc cc cc is Section 3 code

You'll also need to change the tiles used by the counters for blank digits:
0x108B - blank digit tile used by timer
0x10E6 - blank digit tile used by score counter
0x1114 - blank digit tile used by small bonus star counter
0x1154 - blank digit tile used by lives counter
0x117D - blank digit tile used by coin counter
0x11A3 - blank digit tile used by big bonus star counter
0x11E7 - blank digit tile used by yoshi coin counter

Then, you must edit graphics accordingly. Keep questions and/or comments in this thread.


I find it very hard to do this.

I have already inserted the needed Graphics into my rom.



Originally posted by RDOG
1)Offsets 0x28 and 0x40 in levelnames_code.bin determine how many tiles to load and display


So do I have to write 27 (decimal) to both addresses, or do I write 17 (hex) to both addresses?

Originally posted by RDOG
2)Offsets 0x19 to 0x1B are the ROM address to load the tiles from


How do I know what address to load the tiles from? Is it the starting address of GFX file 2B? Or is it the starting address of the first tile used for the status bar?

Originally posted by RDOG
4)Offsets 0x1F to 0x21 are the RAM address to store the tiles


How do I know what RAM addresses to store the tiles at? Should I just put in an unused RAM address?

Originally posted by RDOG
5)Offsets 0x39 and 0x3A are the RAM address to load tiles from to put in VRAM


Does this correspond with step 4?

Originally posted by RDOG
6)Offset 0x2D are where to place the tiles on the screen(00 for Section 1, 5E for Section 2, 7E for Section 3)


So for starting Section 2, it's at offset 5E in the table for 0x2D? And for the first tile, in GFX 2B it says for the first tile I plan to use: Bank 09. Does this mean for the first byte at 0x2D, I type 09?

Originally posted by RDOG
Then, you'll need a small table of pointers. At 0xFE1 in the ROM, enter 22 xx xx xx EA, where xx xx xx is the SNES address for the pointers. At that address, enter:
22 aa aa aa 22 bb bb bb 22 cc cc cc 6B. aa aa aa is Section 1 code, bb bb bb is Section 2 code, and cc cc cc is Section 3 code


"aa aa aa is Section 1 code" Wait... the code for what? I don't get it..
Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - SMW Hacking - How to: status bar border |


ABII

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

Page rendered in 0.011 seconds; used 367.16 kB (max 442.27 kB)