Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Super Mario World hacking: labmaster | 3 guests
Acmlm's Board - I2 Archive - Super Mario World hacking - What's Bank number?
  
User name:
Password:
Reply:
 

UserPost
FuSoYa
Posts: 238/255
Agreed. I'm not sure why I decided to use OR over XOR...

Well, it's easy enough to change for the next update.
Sukasa
Posts: 1719/1981
Interesting. Where LC OR's though, it should really XOR. Then it would have to be correct.
HyperLamer
Posts: 6521/8210
Hm... Interesting observation. You're supposed to use the actual inverted size, but it looks like that would work too. (But only 0xFFFF, it's a 16-bit value. )
Ragnara
Posts: 4/28
Just being curious, what happens if I take hex FFFFFFFF FFFFFFFF as inverted size? Anything ORed to this would have all bits set again. Would LC mind?
HyperLamer
Posts: 6507/8210
*copies from Lunar Compress docs*

The format of a RAT tag is as follows:

S T A R ssssssss SSSSSSSS cccccccc CCCCCCCC (8 bytes)

"STAR" Tag identifier, which is the word "RATS" reversed in
all-caps.
SSSSSSSS ssssssss Size-1 of data, 16 bit, little endian. It does not
include the size of the RAT tag itself.
CCCCCCCC cccccccc Inverse of size-1, 16 bit, little endian.

Min/Max size allowed: 1-0x10000


When LC is searching for free space, it still checks for consecutive zeros
but also checks for RATs. When LC comes across the tag identifier, it
first ensures that the size and inverse fields will give 0xFFFF when ORed.
If they don't, the tag is considered invalid and is ignored. If they do,
LC automatically jumps over the area protected by the tag and continues
scanning.

(Lunar Compress V1.50)
Jam1492
Posts: 2/13
thank you very much. But I don't know RATS tag..
You can tell about RATS tag for me?
sorry.
HyperLamer
Posts: 6502/8210
A ROM bank is 37,268 bytes of ROM. 0x000200 - 0x0081FF is bank 0, 0x008200 - 0x0101FF is bank 1, and so on. (The first 0x200 bytes are the ROM header, which isn't actually used by the game, so bank 0 is really from 0x000000 to 0x007FFF, and banke 1 from 0x008000 to 0x00FFFF, as far as the game is concerned. You can even just delete the first 0x200 bytes, but LM won't open the ROM if you do; just add a bunch of zeros back at the beginning if you need it back.)

To 'patch' a .bin file into the ROM, generally you just open the ROM and the file in a hex editor, and copy everything from the file into an unused part of the ROM. (Unused areas will be filled with 00, but beware that not all areas filled with 00 are unused! Anything after 0x80200 should be fine, but put a RATS tag in so it doesn't get deleted.) Though if it's a custom block, you need to use the block inserter program instead.
Jam1492
Posts: 1/13
Bank number?
Address within Bank?

What are those?

and

How can I patch .bin file into my rom?

Thanks.
Acmlm's Board - I2 Archive - Super Mario World hacking - What's Bank number?


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.011 seconds.