Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
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 |
| ||
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 |
| ||
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 |
| ||
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 |