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
Acmlm's Board - I2 Archive - - Posts by Alchemic
User Post
Alchemic

Level: 3

Posts: 1/3
EXP: 59
For next: 69

Since: 06-24-05

Since last post: 24 days
Last activity: 9 hours
Posted on 06-24-05 07:11 AM, in Secret of Mana Location Map Data Link
I did some looking around at this data; addresses below are unheadered.

Potos Village:
Runs from 7F0000 to 7F19B3 in RAM.
Starts at 0xD23D6; not sure where it ends yet. The first two bytes affect practically the whole map when changed - tile set stuff? The rest is decompressed and dumped into the specified RAM range. However, if dumping a block of material (say, with an E0 code) and you breach the map width, the game with automatically jump to the next row (see below for row stuff). How the map width is determined is unknown; for Potos it's 0x34.

Rows seem to use 0x80 bytes in RAM (ie. addressN is a tile; addressN + 0x80 is the tile directly below it.) In Potos, the first 0x34 bytes of each entry stores Layer 1 tiles. I haven't looked at the rest yet.

Also, Potos loops east-west; you can test this by changing the first 0x34 bytes of any given row to 0x0, stepping onto the now-black tile space, and walking due right or left.

There seems to be a map-related pointer table at D0000. Some data, based on what changes when the pointers are corrupted:
D0020: D6 23 = D23D6 = Potos Village
D0022: 12 27 = D2712 = Potos Village
D0028: 81 2E = D2E81 = Potos Village indoors? (may just be the Inn)
D002A: F7 2E = D2EF7 = Potos Village indoors? (may just be the Inn)
D0030: 82 31 = D3182 = Potos/Pandora road
D0032: DA 3C = D3CDA = Potos/Pandora road

EDIT: Fixed some errors and added some stuff.
EDIT 2: This is getting kind of disorganized; my apologies.
Some of the compression stuff:

(prevByte1) indicates the previous byte to be decompressed; (prevByte2) indicates the byte decompressed before that; and so on (if necessary).

(Is there a C0? Would be kind of useless, you could just repeat the same tile byte...)
C1: Fill the next 2 bytes with (prevByte1).
C2: Fill the next 3 bytes with (prevByte1).
C3: Fill the next 4 bytes with (prevByte1).
C4: Fill the next 5 bytes with (prevByte1).
C5: Fill the next 6 bytes with (prevByte1).
C6: Fill the next 7 bytes with (prevByte1).
C7: Fill the next 8 bytes with (prevByte1).
(Is there a C8? Same issues as C0.)
C9: Fill the next 2 bytes with (prevByte2).
(Does it continue up to CF with the same pattern?)

E0 XX: Repeat a specific byte to fill (XX + 1) following bytes (is it always 0xBB, or is this a Potos-map-specific value?). The 0x80 bit may specify something.

E8 XX: Repeat previous byte/word to fill (XX + 1) following bytes. If the 0x80 bit is set, it's a word; if unset, a byte. 7F/FF will fill 128 bytes, not zero.

F1: Fill the next two bytes with (1 + prevByte1) (2 + prevByte1)


(edited by Alchemic on 06-25-05 11:32 AM)
(edited by Alchemic on 06-25-05 08:21 PM)
Alchemic

Level: 3

Posts: 2/3
EXP: 59
For next: 69

Since: 06-24-05

Since last post: 24 days
Last activity: 9 hours
Posted on 07-04-05 06:16 PM, in Mario 64 - Amazing Stuff Link
4055BF affects another tree: to get to it, start climbing the mountain, and when you reach a small crate, stand on it and face the floating island. The tree should be in your line of sight.

I'd provide a screenshot, but I don't have anywhere convenient to store it
Alchemic

Level: 3

Posts: 3/3
EXP: 59
For next: 69

Since: 06-24-05

Since last post: 24 days
Last activity: 9 hours
Posted on 10-09-05 06:24 AM, in Secret of Mana map compression stuff Link
Somehow I thought I posted this already... apparently not. I worked out part of the Secret of Mana map compression scheme, and documented it here:
http://starmen.net/pkhack/som/sommapcomp.txt
Also, some uncompiled decompressor source (written in Java, created mostly for theory-testing purposes):
http://starmen.net/pkhack/som/ManaMapDecomp.java

Thanks go out to Chickenlump for providing the data that got me started, in this thread:
http://board.acmlm.org/thread.php?id=15049

Knowledge of the compression scheme is not complete; I still don't know how door destinations or event-based map changes (such as the Mantis Ant lair hole in Potos) are done, or how the set of graphical tiles to use is selected.
Acmlm's Board - I2 Archive - - Posts by Alchemic


ABII


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



Page rendered in 0.011 seconds.