Chrono Compendium

Kajar Laboratories - Fan Works and Submissions => Chrono Trigger Modification => Topic started by: Chickenlump on November 08, 2005, 04:11:26 am

Title: Memory MAP
Post by: Chickenlump on November 08, 2005, 04:11:26 am
It might be helpful to compile every memory address known into one place. Here is the current listing compiled by Geiger.

Byte Offset   Bytes   Bits   Description   Modified
7E00F2   1   FF   "Also seems to be a JoyPress, used by Event Command 38, 39 during Arris Dome"   7/21/2004
7E00F8   1   FF   "Used for activating save points with joypress, Event Command 31"   7/21/2004
7E0100   2   FF   Current Location   10/22/2004
7E0150   1   FF   JoyPress1   7/21/2004
7E0151   1   FF   JoyPress2   7/21/2004
7E0155   1   FF   Z-plane   7/21/2004
7E0290   2   FF   Epoch X Coord in pixels   8/16/2004
7E0292   2   FF   Epoch Y Coord in pixels   8/16/2004
7E0294   1   FF   Epoch Status . A0 - upgraded   8/16/2004
7E0295   2   FF   Dactyl X Coord in pixels   8/16/2004
7E0297   2   FF   Dactyl Y Coord in pixels   8/16/2004
7E0299   1   FF   Dactyl Status   8/16/2004
7E029A   2   FF   Epoch Map   8/16/2004
7E1B9B   10   FF   Overworld music   8/23/2004
7E1BA6   1   FF   Overworld storyline counter (only during event processing)   8/23/2004
7E2603   2   FF   Crono current HP   11/17/2004
7E2605   2   FF   Crono max HP   11/17/2004
7E2607   2   FF   Crono current MP   11/17/2004
7E2609   2   FF   Crono max MP   11/17/2004
7E260B   1   FF   Crono power   11/17/2004
7E260C   1   FF   Crono stamina   11/17/2004
7E260D   1   FF   Crono speed   11/17/2004
7E260E   1   FF   Crono magic   11/17/2004
7E260F   1   FF   Crono hit   11/17/2004
7E2610   1   FF   Crono evade   11/17/2004
7E2611   1   FF   Crono magic defense   11/17/2004
7E2612   1   FF   Crono Level   8/23/2004
7E2613   3   FF   Crono XP   11/17/2004
7E2662   1   FF   Marle Level   8/23/2004
7E26B2   1   FF   Lucca Level   8/23/2004
7E2702   1   FF   Robo Level   8/23/2004
7E2752   1   FF   Frog Level   8/23/2004
7E27A2   1   FF   Ayla Level   8/23/2004
7E27F2   1   FF   Magus Level   8/23/2004
7E2980   1   FF   PC1   7/21/2004
7E2981   1   FF   PC2   7/21/2004
7E2982   1   FF   PC3   7/21/2004
7E2983   1   FF   Reserve PC1   8/23/2004
7E2984   1   FF   Reserve PC2   8/23/2004
7E2985   1   FF   Reserve PC3   8/23/2004
7E2986   1   FF   Reserve PC4   8/23/2004
7E2987   1   FF   Reserve PC5   8/23/2004
7E2988   1   FF   Reserve PC6   8/23/2004
7E2990   1   FF   Battle guage speed setting   11/17/2004
7E2991   1   FF   Menu Background Style   11/17/2004
7E2992   1   FF   Battle guage type   11/17/2004
7E2993   1   FF   Confirm button   11/17/2004
7E2994   1   FF   Cancel button   11/17/2004
7E2995   1   FF   Menu button   11/17/2004
7E2996   1   FF   Dash button   11/17/2004
7E2997   1   FF   Map button   11/17/2004
7E2998   1   FF   Warp button   11/17/2004
7E2C53   1   FF   Gold   7/21/2004
7E3000   40   FF   Location Layer 1 Tile   7/21/2004
7E3040   40   FF   Location Layer 2 Tile   7/21/2004
7E3080   40   FF   Location Layer 3 Tile   7/21/2004
7E30C0   40   FF   Location Tile Properties 1   7/21/2004
7E3100   3F00   FF   Repeat of previous pattern for each row   7/21/2004
7E4000   1800   FF   Overworld L2 Tiles   8/20/2004
7E5800   1800   FF   Overworld L1 Tiles   8/20/2004
7E7000   40   FF   Location Tile Properties 2   7/21/2004
7E7000   0200   FF   Overworld tile properties   8/23/2004
7E7040   40   FF   Location Tile Properties 3   7/21/2004
7E7080   80   FF   ???   7/21/2004
7E7100   3F00   FF   Repeat of previous pattern for each row   7/21/2004
7E7200   0C00   FF   Overworld music transition data   8/23/2004
7E7E00   ?   FF   Overworld exits   8/23/2004
7EFE01   1   FF   Juror 2 bases final decision on this address   7/21/2004
7F0000   1   FF   Storyline Counter (keeps track of storyline progress)   7/21/2004
7F0050   1   01   Marle bumped into Crono . Said never stole anything . Juror 7 - Guilty   7/21/2004
7F0050   1   02   "Tempted by Marle's fortune . Juror 4, 5 - Guilty"   7/21/2004
7F0050   1   04   Just a bit tempted by Marle's fortune . Juror 1 - Guilty   7/21/2004
7F0050   1   08   Found out the Chancellor is framing King Gaurdia   7/21/2004
7F0051   1   FF   Trial innocent votes   8/5/2004
7F0052   1   FF   Silver Points   7/21/2004
7F0053   1   FF   Kittens   7/21/2004
7F0054   1   01   Brought the girl her cat back . Juror 2 - Innocent   7/21/2004
7F0054   1   02   Talked to the girl who lost her cat before bringing it back to her . Juror 2 - Guilty   7/21/2004
7F0054   1   04   Ate the old man's lunch . Juror 6 - Guilty   7/21/2004
7F0055   1   01   Tried to sell Marle's pendant . Juror 1 - Guilty   7/21/2004
7F0055   1   02   Picked up pendant before talking to Marle . Juror 4 - Guilty   7/21/2004
7F0055   1   04   Talked to Marle about missing pendant   7/21/2004
7F0055   1   20   Marle yells about being kidnapped . Juror 3 - Guilty   7/21/2004
7F0055   1   40   Given Marle her pendant / Juror 5 - Guilty   7/21/2004
7F005A   1   20   Lucca tries to change the past   7/21/2004
7F005D   1   01   Crono Poyozo   7/21/2004
7F005D   1   02   Marle Poyozo   7/21/2004
7F005D   1   04   Lucca Poyozo   7/21/2004
7F005D   1   08   Robo Poyozo   7/21/2004
7F005D   1   10   Frog Poyozo   7/21/2004
7F005D   1   20   Ayla Poyozo   7/21/2004
7F005D   1   40   Magus Poyozo   7/21/2004
7F005D   1   80   Crono won cat at fair   7/21/2004
7F005E   1   01   Crono Clone   7/21/2004
7F005E   1   02   Marle Clone   7/21/2004
7F005E   1   04   Lucca Clone   7/21/2004
7F005E   1   08   Robo Clone   7/21/2004
7F005E   1   10   Frog Clone   7/21/2004
7F005E   1   20   Ayla Clone   7/21/2004
7F005E   1   40   Magus Clone   7/21/2004
7F005F   1   FF   Cat Food   7/21/2004
7F007C   1   40   Lara loses her legs   7/21/2004
7F00E1   1   02   Met Spekkio   7/21/2004
7F00E1   1   04   Beat Spekkio E0   7/21/2004
7F00E1   1   08   Beat Spekkio E1   7/21/2004
7F00E1   1   10   Beat Spekkio E2   7/21/2004
7F00E1   1   20   Beat Spekkio E3   7/21/2004
7F00E1   1   40   Beat Spekkio E4   7/21/2004
7F00E1   1   80   Beat Spekkio E5   7/21/2004
7F00E2   1   01   Spekkio has met Robo   7/21/2004
7F00E2   1   02   Spekkio has met Ayla   7/21/2004
7F00E2   1   04   Spekkio has met Magus   7/21/2004
7F00F7   1   02   Told sapling woman to plant the tree   7/21/2004
7F00FE   1   02   Naga-ette Bromide (?)   7/21/2004
7F013A   1   01   Fought Son of Sun   7/21/2004
7F0140   1   01   Mom mentioned Lucca dropping by   7/21/2004
7F0140   1   02   Mom gave Crono allowance   7/21/2004
7F0140   1   04   Mom has met Marle   7/21/2004
7F0140   1   08   Mom has met Lucca   7/21/2004
7F0140   1   10   Mom has met Robo   7/21/2004
7F0140   1   20   Mom has met Frog   7/21/2004
7F0140   1   40   Mom has met Ayla   7/21/2004
7F0140   1   80   Mom has met Magus   7/21/2004
7F014A   1   08   Power Tab in long Geno Dome hallway   8/5/2004
7F014E   1   08   Mother speaks to PCs in long Geno Dome hallway   8/5/2004
7F0190   1   01   Brought to Prison   8/5/2004
7F0198   1   02   Mid Tonics on Prison Supervisor   8/5/2004
7F0198   1   20   Defeated Guards in Prison Supervisor's Office   8/5/2004
7F01A2   1   10   Fought Medina Merchant   7/21/2004
7F01CF   1   80   Saving available   8/5/2004
7F01D2   1   04   Gave Jerky away   7/21/2004
7F01E0   1   01   Spekkio has given Crono magic   7/21/2004
7F01E0   1   02   Spekkio has given Marle magic   7/21/2004
7F01E0   1   04   Spekkio has given Lucca magic   7/21/2004
7F01E0   1   08   Spekkio has given Robo magic   7/21/2004
7F01E0   1   10   Spekkio has given Frog magic   7/21/2004
7F01E0   1   20   Spekkio has given Ayla magic   7/21/2004
7F01E0   1   40   Spekkio has given Magus magic   7/21/2004
7F01F7   1   02   Black Omen has appeared   7/21/2004
7F0400   1900   FF   Overworld Event Data   8/6/2004
7F2000   1800   FF   Location Event Data   8/6/2004




Misc. other stuff

7E2C23 - Crono's name


7EAE93 - Crono's current tech animation
Title: Memory MAP
Post by: Agent 12 on November 09, 2005, 02:35:41 am
-------------------------------------------------------
7F0050--Used to hold Judges/in rainbow Shell quest

--------------------------------------------------------

750052-Silver Points

------------------------------------------------------------

7E0200-Holds the value that can be displayed to text
            by using the {value 8} command

------------------------------------------------------------

7E2603 - Crono current HP
7E2653 - Marle current HP
7E26A3 - Lucca current HP
7E26F3 - Robo current HP
7E2743 - Frog current HP
7E2793 - Ayla current HP
7E27E3 - Magus current HP
--JLUKAS
----------------------------------------------------------------

7E2981--Who is the current Second Playable character
00 crono
01 marle and so on

------------------------------------------------------------------

That's the ones used in the coliseum
Title: Memory MAP
Post by: Chickenlump on November 09, 2005, 02:46:06 am
7F01D3 - Guardia Forest tabs collected? (past and present) (bit 4 set for present,  bit 8 set for past if collected)
7F01D2 - Guardia Forest sealed chest opened? (past) (bit 80 set if opened)
7F01D1 - Guardia Forest Dead End sealed chest opened? (present) (bit 20 set if opened)
7F014A - Truce Inn sealed chest opened? (present) (bit 20 set if opened, If 7F004A has bit 40 set, you get powered up item)

Each chest and tab check a different address to see if it's collected.
If the guardia forest tab is collected, it sets bit 4 at 7F01D3, but when drawing it, it checks 7F00D3 to see if it's been collected, and hides it if it has...
Same with 7F01D1/7F00D1, etc...

If locations are different in your hacks, these types of addresses can be used for extra storyline counters and the likes. It would be good to go through all the events and make a master list of these.
Title: Memory MAP
Post by: Chickenlump on November 09, 2005, 03:32:53 am
-------------------------------------------
Menu Icons Attributes
-------------------------------------------
7E0700 - Equipment Icon - X position
7E0701 - Equipment Icon - Y position
7E0702 - Equipment Icon - graphic used
7E0703 - Equipment Icon - palette used
7E0704 - Item Icon - X position
7E0705 - Item Icon - Y position
7E0706 - Item Icon - graphic used
7E0707 - Item Icon - palette used
7E0708 - Tec Icon - X position
7E0709 - Tec Icon - Y position
7E070A - Tec Icon - graphic used
7E070B - Tec Icon - palette used
7E070C - Settings Icon - X position
7E070D - Settings Icon - Y position
7E070E - Settings Icon - graphic used
7E070F - Settings Icon - palette used
7E0710 - Exchange Icon - X position
7E0711 - Exchange Icon - Y position
7E0712 - Exchange Icon - graphic used
7E0713 - Exchange Icon - palette used
7E0714 - Save Icon - X position
7E0715 - Save Icon - Y position
7E0716 - Save Icon - graphic used
7E0717 - Save Icon - palette used
7E0718 - Bottom Pointer Icon - X position
7E0719 - Bottom Pointer Icon - Y position
7E071A - Bottom Pointer Icon - graphic used
7E071B - Bottom Pointer Icon - palette used
7E071C - Top Pointer Icon - X position
7E071D - Top Pointer Icon - Y position
7E071E - Top Pointer Icon - graphic used
7E071F - Top Pointer Icon - palette used




7E0D13 - Menu shading style
7E0D8C - Save menu  window theme type (0 - 7)

7E8B56 -7E8EC6(???) Overworld map hdma shading colors
(http://img.photobucket.com/albums/v109/Chickenlump/worldmap.png)





7E9F19 - 7E9F4E - Menu hdma shading colors
(http://img.photobucket.com/albums/v109/Chickenlump/shadez.png)

(I took screencaps of these, I thought they were cool. ^_^)
Title: Memory MAP
Post by: JLukas on November 09, 2005, 06:53:35 am
If the guardia forest tab is collected, it sets bit 4 at 7F01D3, but when drawing it, it checks 7F00D3 to see if it's been collected, and hides it if it has...

This is the "Bug #4 Event Command 16 Wrong Address Displayed"  I mentioned in e-mail yesterday.  That's why I thought the bug should be in the Critical category.  The check address is supposed to be the same, 7F01D3.

Nice find with the HDMA colors.
Title: Memory MAP
Post by: JLukas on November 09, 2005, 06:59:01 am
7F01DF - Character lock status

7F01EC - Status of last battle fought 00 - You won/ran away, 01 - defeated
Title: Memory MAP
Post by: Chickenlump on November 11, 2005, 04:51:12 am
Quote from: JLukas
If the guardia forest tab is collected, it sets bit 4 at 7F01D3, but when drawing it, it checks 7F00D3 to see if it's been collected, and hides it if it has...

This is the "Bug #4 Event Command 16 Wrong Address Displayed"  I mentioned in e-mail yesterday.  That's why I thought the bug should be in the Critical category.  The check address is supposed to be the same, 7F01D3.

Nice find with the HDMA colors.


The sad part is, I read the email about an hour before posting.  :oops:
I have egg on my face. Boiling hot, scalding egg.

The HDMA colors aren't palettized like other snes colors, but still pretty easy to edit. I'll post again tommorow with the ROM addresses for these.

Quote from: justin3009
Could you show a small pic of the coding...I want to see what lil detail you used to do that stuff...Like bit math byte math Mem-to-mem etc...


What effect are you wanting to see exactly? These RAM addresses can be modified with event code in TF, but some of these addresses are always being updated and cleared and changed, so using events to write to some of these addresses (like the HDMA colors) won't do any good. Most of these are being edited and discovered with Geiger's Snes9X Debugger, which allows for all sorts of information finding, and hacking of SNES ROMS, while playing the game.

http://geigercount.net/crypt/index.html
Title: Memory MAP
Post by: Chickenlump on December 22, 2005, 02:50:49 pm
Code: [Select]
7E001C - Overworld Brightness
7E0020 - Overworld Map centering (left to right position)
7E0026 - Overworld Map centering (up and down position)
7E002C - Overworld Map stretching (left to right)
7E002E - Overworld Map Diagonal stretching
7E0032 - Overworld Map stretching (up and down)
7E0045 - Overworld Map color oddity (00 - off/01 - on)
7E0046 - Overworld Map background Stretching (or something)
7E0119 - Location Screen Brightness
07 - pause value
0F - normal value
7E0121 - Screen color overlay (color value overlays Layers 1 & 2 only)


Code: [Select]
7EA329 - speed of Hetake Attack leaping goto/return in battle
7EA324 - speed of Crono attack leaping goto/return in battle
7E29AE - Music track to play after battle
7EB1FD - In-Battle target of damage/healing
7EB202 - Damage/Healing Target (does the attack or spell affect MP or HP?
7EB203 - Damage/Healing Type (Does the attack or spell add or subtract from MP or HP?
7EB191 - Which Enemy gets the next attack
7EB1FD - Which Character gets the graphical numbers from spell/attack (visual only)
7EAD8E - Which party member gets the attack
7EAE89 - Damage/healing receive (HP) Crono
7EAE9C - Damage/healing receive (MP) Crono
7EAE9E - Displays the 'miss' graphic, and other types of numeral animations for Crono
7EAE96 - Target of current tech/attack (80 for party/10 for enemies)
Title: Memory MAP
Post by: Dirtie on December 25, 2005, 04:27:11 am
There are some nice finds here. I really wanna see how those HDMA colours are worked out if they're not palette based.
Title: Memory MAP
Post by: Chickenlump on December 31, 2005, 01:57:36 am
Scroll Mask in RAM for the current location

7E1D1A - Scroll Left
7E1D1B - Scroll Right
7E1D1C - Scroll Top
7E1D1D - Scroll Bottom


soooo.... one map, and as many rooms as you can fit in it, and through events (value to mem) you can set the scroll mask properties in the event to correctly block out everything else in the map, all proper like. WOOO






other MAP related stuffs in RAM




7E1D24 - Layer 1 Scrolling (Unknown 1.70 in TF - Map Properties)
7E1D25 - Layer 1 Scrolling (Unknown 1.70 in TF - Map Properties)
7E1D26 - Layer 2 Scrolling (Unknown 2 in TF - Map Properties)
7E1D27 - Layer 2 Scrolling (Unknown 2 in TF - Map Properties)
7E1D28 - Layer 3 Scrolling (Unknown 3 in TF - Map Properties)
7E1D29 - Layer 3 Scrolling (Unknown 3 in TF - Map Properties)


7E1D1E - Layer 1 Width
7E1D1F - Layer 1 Height
7E1D20 - Layer 2 Width
7E1D21 - Layer 2 Height
7E1D22 - Layer 3 Width
7E1D23 - Layer 3 Height

7E1D00 - Screen Scrolling
7E1D01 - Screen Scrolling
7E1D02 - Screen Scrolling
7E1D03 - Screen Scrolling
Title: Memory MAP
Post by: Agent 12 on December 31, 2005, 06:22:24 pm
I used GetObjectCoordinates yesterday.  It's really easy to use so we'll definately be able to make use of the Scroll left/right/top bottom.  Way to go chickenlump.

--jp
Title: Memory MAP
Post by: Chickenlump on December 31, 2005, 06:30:39 pm
Make sure to change them before the screen loads (as soon as the event begins).  Changing it after will still change it, it just won't reflect visually unless you refresh the screen somehow (like going in and out of the menu).
Title: Memory MAP
Post by: Agent 12 on December 31, 2005, 08:09:50 pm
if you put it in startup/load that would work right?

--jp
Title: Memory MAP
Post by: Chickenlump on December 31, 2005, 08:16:28 pm
I've tried it twice successfully, so it should work. Events load, and then the screen is drawn (I think). I'm going to see if I can find out more on this.
Title: Memory MAP
Post by: Agent 12 on January 04, 2006, 07:39:29 pm
I'm wondering how to use the Epoch Memory correctly.  What I'm doing so far is using an assign command to 7f0290/292 and putting in the exact coordinates.  But it still isn't showing up.  So

Do I have to somehow say what map it is (I see that 7F029A)
Do I have to do some hex calculation (like location ->Overworld exits)
Something else?

Note:  TF 2.0 has 7f029A=Mem.DactylXCoord

--jp
Title: Memory MAP
Post by: JLukas on January 04, 2006, 09:10:42 pm
^ all the addresses in your post are 7Fxxxx, they should be 7Exxxx.

The memory locations doc (posted in CL's original post) has a mistake with the addresses for that.  TF is displaying the correct ones, though.  Anyway, here's an idea of the code you'll want to use for the Epoch:

Step 1:
-----

Category Memory Copy
Command Memory Copy
Variant 4E
Copy to 7E0290
Data: 00000000A0

The four 00 bytes are the X and Y coords (2 bytes each)  If you leave it like that it'll place the Epoch at 0,0 on the map (very upper-left corner)  The A0 is the Epoch status byte.  A0 is for upgraded, and IIRC 80 is for the original Epoch.

Here's an easy method to get the Epoch X and Y coords you want to use without having to calculate stuff.  In ZSNES, fly the Epoch to where you want it to be parked in your event code.  Then open the cheat search and hit Size 1 byte, Format Hex, Comparative Search, and press Start.  Then press the View button.  Scroll to 7E0290 and you'll see the 4 coordinates bytes.

Let's say I do this, and see the following:

7E0290 A8
7E0291 01
7EE292 10
7E0293 01

Then instead of the 00000000A0 above, enter A8011001A0.

Step 2:
-----

Assignment
Value-to-Mem
Variant 4B
Value 1F0
Store to 7E029F
Width Two Byte

The value box is where you put the map you want the Epoch to be on.  In this case it is 1F0, 1000 AD map.  Use 1F1 for 600 AD, 1F2 for 2300 AD, etc. etc.

-----

If you put in A8011001A0 for Data in Step 1, and 1F0 for Value in Step 2, it'll park a winged Epoch right in front of Crono's house.  :D

BTW, don't forget, if you don't where the Epoch is you can press Select to view the zoomed out map and look for the flashing yellow dot.

Have fun.
Title: Memory MAP
Post by: Agent 12 on January 04, 2006, 11:28:40 pm
Thanks I'll try it after the Rose Bowl game,

GO USC!!!

--jp
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 02:03:15 am
Ug.  First USC loses now this.  I got the epoch and everything to load where I wanted to (Note instead of doing Memory Copy, something I'm a little afraid of, I used 2 different Assignments to the memory spots) but Now when I go to enter the Epoch one member of my party enters but noone else follows.  By far this is the most unexpected error I've ever encountered.



I'll update this post if I find out more info


Edit:  

I've checked it on a  completely different ROM with the save results here's my exact Code

Mem.EpochStatus=A0
Mem.EpochXCoord=193
Mem.EpochYCoord=11B
Mem.EpochMapLocation=1F0
AddPartyActive(Lucca)
AddPartyActive(Robo)

To test you can put that in the startup of Crono's Room, walk outside and try to go in the Epoch.  It works if you don't have the two other people in your party

--jp
Title: Memory MAP
Post by: JLukas on January 05, 2006, 03:44:36 am
Found the problem.  Your Epoch can't land in that spot, even though the PCs can walk there.  It's too close to one of the nearby exits - Epoch can't land on exit tiles.  When you change the X, Y coords, check the Epoch can land first, then look at the coords in the cheat search.

Definately a strange problem to run into, though.  Not as frustrating as one problem I had when trying to figure out the Epoch a long time ago.  The Epoch would be in one spot, but the shadow that's underneath it would be somewhere else.  You could only board where the shadow was, and then the game would freeze...lol.
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 03:53:34 am
well JLukas you saved me hours of work......again.  Using the overworld Tile Properties it looks like my epoch is completely surrounded by "Etheral" (pink)

and there's no exits anywhere...


Thanks

--jp
Title: Memory MAP
Post by: JLukas on January 05, 2006, 04:14:15 am
You can land anywhere in the pink area.  You can see the yellow (exit) very close to your original coords that was causing the problem.

Going in-game and checking the Epoch can land in the spot first is the best way, however.  It's hard to tell from the TF map since it's often a matter of pixels, and the PCs (Epoch too, I think) move on the edges of tiles instead of directly in the middle of them.  Plus, there's the 3D depth when the Epoch is flying versus parked.  Anyway, if you can land, the memcpy should work OK.

Also, don't confuse that tile properties map with the Epoch NLZ (No Landing Zone.)  The Epoch NLZ is a specific square on the map that is hardcoded so the Epoch can't land no matter what.  On 1000 AD, it's the Fiona's Forest copytiles area in the middle of the ocean (turn off layer 1)  If ever needed, you can adjust the coords for that in the No Landing Zone section in the menu bar on the left.
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 04:20:01 am
If possible I would like for you to take a look at my project.  I've tried both methods (going in landing and browsing, and just doing an area completely surrounded by pink) and I get the same error.

I'm not doing 1000 AD by the way I just happened to reproduce the error there and it was easier to explain it to you.  I'm trying to do it on 12,000 BC.    

--jp
Title: Memory MAP
Post by: JLukas on January 05, 2006, 04:32:51 am
pm sent.

First though, try changing the X & Y coords by +/- 10 pixels and see if you can get them all on board.  That's all I needed to do with the 1000 AD problem coords example.
Title: Memory MAP
Post by: JLukas on January 05, 2006, 04:37:24 am
Hmm, in fact, it looks like it could be the Epoch NLZ causing it, and you just happen to be editing on a spot on the map where it used to be.  In the location menu on the left scroll to the bottom and change all 4 No Landing Zone boxes to 0.
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 04:44:50 am
It's currently grayed out...how do I make it editable?

--jp
Title: Memory MAP
Post by: JLukas on January 05, 2006, 04:52:39 am
Ah, you're using this on the F6 map? (Last Village instead of F4 snowing 12000 BC)  Go to File -> Patches and apply the All Maps Have NLZ Patch.  then File -> Save, close TF completely and then open it again and edit.  In fact, it should just default to all zeros by itself.
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 05:01:19 am
tear...I really thought we had it that time.  Still no dice even w/o a no landing zone.  I PM'd you the patch and instructions, so by all means feel free to go to bed.  I'll mess around a bit more and edit this post if I figure it out before tomorrow.  Kinda got a personal vendetta going here now.

A bit of discouraging news....I use the "debug girl" to get rid of 2 party members, and then fly in my fancy epoch and land it in a perfectly good spot.  Then I save and open TF and make the same girl add my two party members back.  I leave my epoch is still parked where I left it....and only one character gets in.....

We getting to the shadow problem in weirdness (jk still doesn't sound nearly as weird as the shadow haha)??

--jp
Title: Memory MAP
Post by: JLukas on January 05, 2006, 02:51:44 pm
Hmm...it's very picky with pixels.

I put in X coord 04A3 and Y coord 01B3.  This puts it in the middle of the snow field.  Try to board and PC2 and PC3 get stuck.

Changed X coord to 04A0 and y coord to 01B0 and now it works perfect.

Use "clean" numbers for the second byte - 00, 10, 20, 30, 40, etc.  Tried a bunch of tests and it's working - so far......

FYI, your Epoch time gauge when you press Y is broken - were you changing stuff in OW events, or any idea how it got broken? It doesn't appear to be related to the coords/boarding problem.
Title: Memory MAP
Post by: Agent 12 on January 05, 2006, 07:41:42 pm
Wow, it was that easy  haha.  Um yea were porting the whole project over to a clean ROM cause of that and the 65 MIL map.  I'll try it with the new Coords.  

Awesome, just tried it myself and it works fine.  I'll add this to my little How to... thread.

--jp
Title: Memory MAP
Post by: Agent 12 on January 12, 2006, 05:18:57 am
I'm not sure if Overworld Memory and Location Memory are different BUT


7E0041
7E0042
7E0045
7E0046

These change Layer 3 on the overworld...I'm not sure exactly how yet.  It's solidity color and brightness.  Probably 43, and 44 have something to do with it too.

--jp
Title: Memory MAP
Post by: Chickenlump on January 12, 2006, 02:49:24 pm
Yeah, I remember those values, I never bothered posting them though.

When I found them, I poked around in the RAM for other addresses overworld related.
(Overworld Map = push select map thing)

7E001C - Overworld Brightness
7E0020 - Overworld Map centering (left to right position)
7E0026 - Overworld Map centering (up and down position)
7E002C - Overworld Map stretching (left to right)
7E002E - Overworld Map Diagonal stretching
7E0032 - Overworld Map stretching (up and down)
7E0045 - Overworld Map color oddity (00 - off/01 - on)
7E0046 - Overworld Map background Stretching (or something)
7E0119 - Location Screen Brightness
   07 - pause value
   0F - normal value
7E0121 - Screen color overlay (color value overlays Layers 1 & 2 only)
Title: Memory MAP
Post by: JLukas on January 25, 2006, 09:07:13 pm
7E0110 - Set bit 01 to disable menu access

Location 007 is one example of a location that uses this.  At the beginning of an event, look in the startup for "Mem.000110 = 01"
Title: Memory MAP
Post by: fxar99 on January 26, 2006, 10:39:54 am
I'm not sure whether somebody has already mentioned it. To find out what time period you are in (if you are in a place accessible from every time period, like the Black Omen), you can use this code.
Use : Time
7F01A8 & 02 : 12000 BC
7F01A8 & 04 : 600 AD
7F01A8 & 08 : 1000 AD
* Must look for the values of the rest time periods *
Title: Memory MAP
Post by: Anonymous on February 01, 2006, 03:46:38 am
7E0110 - prevents players from pausing the game
Title: Memory MAP
Post by: Anonymous on February 01, 2006, 03:47:23 am
7E0111 - prevents users from pausing the game

Heh...   >_<
Title: Memory MAP
Post by: fxar99 on February 01, 2006, 07:56:39 am
What's the difference between these two? And... What is the value needed to prevent pausing the game?
Title: Memory MAP
Post by: ZeaLitY on March 03, 2006, 06:33:08 pm
Adding something before I add to the encyclopedia:

Finally, it appears memory range 7F0020-7F004F (48 bytes) is extra space reserved for additional treasure chests. It would be possible to use this as memory expansion space similar to the empty item inventory slots, provided you don't plan on creating more treasure chests that could potentially conflict. You could, for example, use 7F0030-7F004F for your own purposes, leaving 7F0020-7F002F for treasure chest expansion (127 slots, which is obviously a lot)
Title: Memory MAP
Post by: ZeaLitY on March 03, 2006, 07:49:22 pm
I have added everything in this thread (except stuff already in the original offests by Geiger) to a new text file.

http://www.chronocompendium.com/Term/Memory_Locations

But that doesn't seem to be preserving tabs I used in some places in Textpad; the raw text can be found at

http://cc.herograw.org/Black/Other/Offsets/memoryvalues.txt
Title: Memory MAP
Post by: Chrono'99 on April 12, 2006, 11:21:45 am
Does anyone know the memory address for the battle mode (active/wait stuff)? It seems it's not in the list yet.
Title: Memory MAP
Post by: Chickenlump on April 12, 2006, 02:28:36 pm
7E2990 seems to be it (8X for Wait, CX for Active), this address also holds the value for Battle Speed, where X is the battle speed.
Title: Memory MAP
Post by: Chrono'99 on April 13, 2006, 06:08:09 am
Cheers. It works perfectly.
Title: Re: Memory MAP
Post by: Chickenlump on April 23, 2006, 10:19:54 pm
7E21A2 - Crono's Palette (2 bytes per color).

7E1EF0 - Song Instruments used in current song

Title: Re: Memory MAP
Post by: Chickenlump on April 28, 2006, 02:43:26 am
28771 - HDMA Shading colors in ROM (while I have it fresh in my mind).

I found it in ROM once before, but I forgot to write it down. >_<

This is for Menu Shading. Just play around with it (note the pattern, try to stick with it... )

After playing around with it, I've gotten it to shade different layers (just the text, the character's portraits...) seperate layers, or over all layers at once!

It seems to be Color, then layer, then color, then layer, then color...
CC (color) DL (direction of shading(style)/Layer?)

CC DL CC DL CC DL CC DL etc...

7E9DE8 (or so) in RAM

It's easy to mess with it in RAM to get neat effects first, then try modifying the ROM to match.


I know, I'm stuck on this subject.  :?
I'm looking for just the right shade of .... red... for something.... >_>

 :lee:


(http://img.photobucket.com/albums/v109/Chickenlump/purdyz.png)

Title: Re: Memory MAP
Post by: Vargose on April 28, 2006, 10:18:50 am
We need to make this topic sticky. Its one of the more important.
Title: Re: Memory MAP
Post by: Chickenlump on April 28, 2006, 01:54:41 pm
Mmmmm... sticky......


Dialog HDMA colors are at about 7F1520 in RAM. It looks about the same as the menu colors, for the most part.

(http://img.photobucket.com/albums/v109/Chickenlump/purdyz2.png)

Title: Re: Memory MAP
Post by: Dirtie on April 28, 2006, 07:29:09 pm
Nice - so can you remove shading on the windows altogether?
Title: Re: Memory MAP
Post by: Chickenlump on May 01, 2006, 12:09:25 pm
Yes I can, I have before, I'll just have to look up how I went about it.  I found all this stuff by accident when I went looking for a way to disable the shading originally. The menu's look great unshaded. :D

I'm going to have to read up on some HDMA documents, this stuff is neat.
If I can do this by accident, I'm sure after I know how it works I can do stuff like this and know what's going on and why.

(http://img.photobucket.com/albums/v109/Chickenlump/purdyz3.png)
Title: Re: Memory MAP
Post by: Shinrin on May 01, 2006, 12:34:18 pm
That looks nice but it messes up with one of the layers but i would love to have that implemented in my hack. what did you do, and i'll see if i can do it on my rom, if not, i might have you to do it for me :D
Title: Re: Memory MAP
Post by: Chickenlump on May 01, 2006, 01:17:08 pm
I changed 6 bytes in memory. At first sprites wouldn't appear under the dialog window at all, then I got them to show up under there just fine. I'll have to do some reading up and more experiments on it

There are 2 parts to the dialog window, the border, and the inner, and these 2 chunks reflect that.
Simply change the addresses to these, and freeze it.  It will stay if you just write it there, but the moment you leave the area, or enter a menu, the addresses will be refreshed.

7F1524 - 09
7F1525 - 56
7F1526 - 78

7F1528 - 09
7F1529 - 52
7F152A - 78

It looks neat, but I'm not sure how it will react with, for example, a translucent layer 3, or spell effects, etc...
Title: Re: Memory MAP
Post by: Shinrin on May 01, 2006, 02:58:04 pm
Something isn't right, because i put that code in to the cheat device, and the bottom half of the text box make the text and anything under it negative

(http://img454.imageshack.us/img454/7172/ct00017ew.jpg)
Title: Re: Memory MAP
Post by: ZeaLitY on May 01, 2006, 03:05:09 pm
I think that Breath of Fire II hacker pulled it off.
Title: Re: Memory MAP
Post by: Chickenlump on May 02, 2006, 01:28:50 am
Yes, that man is good, very good. I'm wanting to say his name is D4s. He knows what he is doing, whereas every post of mine you see is me fooling around first, and then, maybe one day, reading up and understanding later.  :lol:

I know what you are doing wrong (I forgot to mention). You have done it correctly, I just forgot to mention that I edited the HDMA color table located directly under the addresses you used. All I basically did was edit the color table to all be just one solid color, basically the shading on the dialog box to be just one color instead of going from light to dark. The top is light, and the bottom is dark, which is why you are seeing almost an inverted effect towards the bottom of the box.  If you view it in Geiger's snes9x debugger's memory editor, you will see the color table. It would be insane to edit that table and turn it into cheat codes (it's not a huge color table, but... so many codes... >_>)

I'll post an example later on.
Title: Re: Memory MAP
Post by: Shinrin on May 02, 2006, 01:41:53 am
yeah, i try to get that program but his site is down :( i'll try again later.
Title: Re: Memory MAP
Post by: Chickenlump on May 02, 2006, 02:29:00 am
http://www.romhacking.net/utils/snes9x1.43.ep9r8.7z (http://www.romhacking.net/utils/snes9x1.43.ep9r8.7z)

Bookmark and give romhacking.net a good looking through too in your spare time. It has almost everything romhacking related, plenty of tools and documents, a good place for noobs and experts alike, even if you aren't serious about romhacking, some documents are a good read just find out how things work.

Everything is easier to work with if you can see it happening. Looking at a memory address change to a certain value as the game is playing makes everything click, when you know what the number means in the game, and why it's being written when it is...

It's a HUGE help.
Title: Re: Memory MAP
Post by: Shinrin on May 03, 2006, 01:19:10 am
nice thing to find out, How to lock out the menu.

Address

000110 - 00 = you can use the menu / 01 = locks out the menu.

you can even test it out by going adding it as a cheat.

doesn't work on the world map
Title: Re: Memory MAP
Post by: Geiger on May 05, 2006, 05:00:42 am
Sorry about my site.  My server has a habit of either randomly shutting itself off or having the hard drive go batshit crazy.  In either case, no web serving is going to get done.  It usually takes me a few days to notice something's wrong.  Of course, this particular computer worked fine for about two years, right up to the point I formatted the hard drive and made it my server machine.  :bleh:

Unfortunately, I do not have the cash reserves to solve this problem right now.  Once I am gainfully employed again, I plan to purchase a low-end laptop to replace my server.

---T.Geiger
Title: Re: Memory MAP
Post by: Agent 12 on May 11, 2006, 02:08:29 am
7f01F6 bit 1

if 0, ? shows in the corner
if 1 600 shows in the corner

--jp
Title: Re: Memory MAP
Post by: Chickenlump on May 24, 2006, 02:33:12 pm
------------------------------------------------------------------------------------------------------------------------------------
$C2/9A10   20 AD 9A   JSR $9AAD  [$C2:9AAD]   // Jump to routine that draws menu's tan background, and frontmost icon menu
------------------------------------------------------------------------------------------------------------------------------------


------------------------------------------------------------------------------------------------------------------------------------
Load and Place Menu Background tiles
------------------------------------------------------------------------------------------------------------------------------------
$C2/9AAD   08       PHP            
$C2/9AAE   C2 30      REP #$30         
$C2/9AB0   A9 A4 3F   LDA #$3FA4         
$C2/9AB3   8D 80 57   STA $5780  [$7E:5780]   // Begining of blue icon menu (Starts at upper left corner)   
$C2/9AB6   A9 A5 3F   LDA #$3FA5         
$C2/9AB9   8D 82 57   STA $5782  [$7E:5782]      
$C2/9ABC   A2 82 57   LDX #$5782         
$C2/9ABF   A0 84 57   LDY #$5784         
$C2/9AC2   A9 19 00   LDA #$0019         
$C2/9AC5   54 7E 7E   MVN 7E 7E         
$C2/9AC8   A9 A6 3F   LDA #$3FA6         
$C2/9ACB   8D 9E 57   STA $579E  [$7E:579E]      
$C2/9ACE   A9 A7 3F   LDA #$3FA7         
$C2/9AD1   8D C0 57   STA $57C0  [$7E:57C0]      
$C2/9AD4   A9 AC 3F   LDA #$3FAC         
$C2/9AD7   8D C2 57   STA $57C2  [$7E:57C2]      
$C2/9ADA   A2 C2 57   LDX #$57C2         
$C2/9ADD   A0 C4 57   LDY #$57C4      
$C2/9AE0   A9 19 00   LDA #$0019         
$C2/9AE3   54 7E 7E   MVN 7E 7E         
$C2/9AE6   A9 A8 3F   LDA #$3FA8         
$C2/9AE9   8D DE 57   STA $57DE  [$7E:57DE]      
$C2/9AEC   A9 A9 3F   LDA #$3FA9         
$C2/9AEF   8D C0 58   STA $58C0  [$7E:58C0]      
$C2/9AF2   A9 AA 3F   LDA #$3FAA         
$C2/9AF5   8D C2 58   STA $58C2  [$7E:58C2]      
$C2/9AF8   A2 C2 58   LDX #$58C2         
$C2/9AFB   A0 C4 58   LDY #$58C4         
$C2/9AFE   A9 19 00   LDA #$0019         
$C2/9B01   54 7E 7E   MVN 7E 7E         
$C2/9B04   A9 AB 3F   LDA #$3FAB         
$C2/9B07   8D DE 58   STA $58DE  [$7E:58DE]      
$C2/9B0A   A2 C0 57   LDX #$57C0         
$C2/9B0D   A0 00 58   LDY #$5800         
$C2/9B10   A9 BF 00   LDA #$00BF         
$C2/9B13   54 7E 7E   MVN 7E 7E         
$C2/9B16   A9 A0 1F   LDA #$1FA0             // Location of tan Background Tiles         
$C2/9B19   8D 00 3E   STA $3E00  [$7E:3E00]   // Begining of Tan Background Tiles   
$C2/9B1C   1A       INC A            
$C2/9B1D   8D 02 3E   STA $3E02  [$7E:3E02]      
$C2/9B20   1A       INC A            
$C2/9B21   8D 40 3E   STA $3E40  [$7E:3E40]      
$C2/9B24   1A       INC A            
$C2/9B25   8D 42 3E   STA $3E42  [$7E:3E42]      
$C2/9B28   A2 00 3E   LDX #$3E00         
$C2/9B2B   A0 04 3E   LDY #$3E04         
$C2/9B2E   A9 3B 00   LDA #$003B         
$C2/9B31   54 7E 7E   MVN 7E 7E         
$C2/9B34   A2 40 3E   LDX #$3E40         
$C2/9B37   A0 44 3E   LDY #$3E44         
$C2/9B3A   A9 3B 00   LDA #$003B         
$C2/9B3D   54 7E 7E   MVN 7E 7E         
$C2/9B40   A2 00 3E   LDX #$3E00         
$C2/9B43   A0 80 3E   LDY #$3E80         
$C2/9B46   A9 7F 07   LDA #$077F         
$C2/9B49   54 7E 7E   MVN 7E 7E         
$C2/9B4C   A2 F8 FB   LDX #$FBF8         
$C2/9B4F   20 85 83   JSR $8385  [$C2:8385]      

------------------------------------------------------------------------------------------------------------------------------------
Tan Menu Background tiles: 7E3E00 - 7E3E83 in RAM
(Place any tiles here in RAM, or hack the previous routine to draw
your own background)
------------------------------------------------------------------------------------------------------------------------------------
Tan Background as seen in Memory (each byte is a tile, it just repeats after so many to tile seamlessly)

A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F
A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F
A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F
A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F A0 1F A1 1F
A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F
A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F
A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F
A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F A2 1F A3 1F
A0 1F A1 1F
Title: Re: Memory MAP
Post by: Vehek on June 24, 2006, 06:40:31 pm
7E29ACXX
Variable for special battle events.
00-X-strike performed
01-Ice Sword performed
02-Frog Squash
Title: Re: Memory MAP
Post by: Agent 12 on August 07, 2006, 11:21:59 am
7E027E
7E027F
7E0294

JLukas pointed these out to me.  Theya re epoch status related.  The reason I point them out is because it's caused me a few bugs in the past.  If you somehow go from a location directly from a "flying epoch" (IE the end of time), you cannot be warped to an OW directly because the game still thinks you are in a "flying epoch"......kind of complicated but I'll give an example

You fly the epoch to the end of time, you then talk to gaspar and he sends you to...oh I dont know....um the dark ages overworld. 

This will not work unless you do the following:

Store 00 to 7E027E
Store 00 to 7E027F
Store A0 to 7E0294

That'll make sure the game doesn't still think you are in the epoch.

--jp
Title: Re: Memory MAP
Post by: JLukas on September 18, 2006, 07:02:05 pm
7E01FA - music to play when battle started
7E01FB - sound to play when treasure chest opened
7E01FC - sound to play when door opened

-----

Example usage:

Location 123 Hunting Range
Object 00, offset 0441

Mem.0001FA = 36

This sets the standard battle music to "Burn! Bobonga!"
Title: Re: Memory MAP
Post by: MathOnNapkins on October 31, 2007, 07:57:03 pm
Perhaps a submission system similar to http://www.smwcentral.net/?p=map&type=ram (http://www.smwcentral.net/?p=map&type=ram) would be helpful? I know I'd love to have one for a couple games (besides this one.)
Title: Re: Memory MAP
Post by: Shinrin on November 01, 2007, 01:25:25 pm
7E01FA - music to play when battle started
7E01FB - sound to play when treasure chest opened
7E01FC - sound to play when door opened

-----

Example usage:

Location 123 Hunting Range
Object 00, offset 0441

Mem.0001FA = 36

This sets the standard battle music to "Burn! Bobonga!"


yeah, you can use that to set it to the second battle music, but it only works in the US rom

Mem.0001FA = 52 ;) The song isn't present in the japanese version.
Title: Re: Memory MAP
Post by: Mauron on January 28, 2008, 10:58:13 am
7E2880 - If not 00, experience, tech point, and gold granting is skipped.
Title: Re: Memory MAP
Post by: JLukas on February 03, 2008, 09:20:03 am
7E2880 - If not 00, experience, tech point, and gold granting is skipped.

How did you discover this?  I see where it's being checked at the end of battle, but could not find a case where any non-zero value is being stored here.

Having all characters with max level/all techs/max gold does not change it, nor running away.  Is there a battle in the game without rewards?
Title: Re: Memory MAP
Post by: Mauron on February 03, 2008, 09:29:36 am
I stumbled onto it when working on eighth character stuff. The tech data I moved down ran into that byte.
Title: Re: Memory MAP
Post by: Edward on February 03, 2008, 10:11:47 am
Is there a battle in the game without rewards?

Do the scripted battles count, the automatic ones from the opening demo sequences?
Title: Re: Memory MAP
Post by: JLukas on February 03, 2008, 11:30:45 am
Good idea.  I just tested it out but no luck there, either.  The check will only occur if the battle finishes (all enemies defeated)  Final Lavos battle also gave no result.  Hmm...
Title: Re: Memory MAP
Post by: Zakyrus on February 23, 2008, 05:54:20 pm
What about Spekkio? I can't remember if he gives reward or not...
Title: Re: Memory MAP
Post by: Glennleo on February 23, 2008, 05:59:26 pm
What about Spekkio? I can't remember if he gives reward or not...

I know you get like a Magic tab for beating him at different levels. And other things like ethers etc...
Title: Re: Memory MAP
Post by: Mauron on February 23, 2008, 06:15:24 pm
Spekkio's prizes are given outside of the battle.
Title: Re: Memory MAP
Post by: Edward on February 23, 2008, 07:38:32 pm
It may be a leftover from prototypes, and they decided to not use the feature, or went about it differently for the demo sequences in the final. Perhaps an event command sets that byte before a battle in one of the many events? It's neat that it's there now for our usage if it is indeed unused.
Title: Re: Memory MAP
Post by: Glennleo on February 23, 2008, 10:06:15 pm
Spekkio's prizes are given outside of the battle.

Oh, sorry. Didn't quite know what you guys were talking about.

Maybe I shouldn't have posted anything at all lol.
Title: Re: Memory MAP
Post by: Mauron on February 23, 2008, 10:24:23 pm
Oh, sorry. Didn't quite know what you guys were talking about.

Maybe I shouldn't have posted anything at all lol.
It sounded like you did until you said that.

There's a way to turn off granting exp, gold, and tech points... I think it still gives items.

We're thinking of places it might be used.
Title: Re: Memory MAP
Post by: Glennleo on February 23, 2008, 10:39:40 pm
Haha, oh well. Was just trying to help if I could, but ot be honest just glanced at the topic.
I'll leave the editing with TF to you guys who know what you are doing.

Can't think of any places though where you didn't receive some kind of prize, whether it be exp, money, items etc... after a fight. Hmmmm. I'll be playing CT to beta-test the 2nd CT+ demo here soon, so I'll be on the lookout I guess.
Title: Re: Memory MAP
Post by: FaustWolf on November 15, 2008, 02:01:54 pm
Per Vehek:

Quote
The game seems to load a value from variables starting at 7E967C to determine what sprite assembly size to use in battle. 7E967C seems to represent the sprite assembly size for all three PCs in battle.


In a related matter, we've discovered that it's currently impossible to have characters with Size 1 sprite assembly in the party without serious sprite glitching -- details are in this thread (http://www.chronocompendium.com/Forums/index.php?topic=5987.msg117133#msg117133).

Anyone think a remedy for this type of sprite glitching is possible? I think the Size 1 sprite's extra tiles are overlapping the second character's tiles in VRAM. Several times per second (possibly whenever the tiles are refreshed in memory), the situation becomes the reverse -- the second character's tiles become dominant, and the game engine is pulling from the second character to construct the lead (Size 1) character. CT is apparently hard-coded to handle only Size 0 sprites in the party -- all the original player characters have Size 0 sprites after all.

This memory management issue doesn't crop up in battle though, I suppose because the game engine uses some address other than 7E967C to handle Field sprites.
Title: Re: Memory MAP
Post by: Mauron on April 01, 2009, 06:16:00 pm
Character byte 26 - Set to 80 to make a character always have berserk status.
Title: Re: Memory MAP
Post by: Agent 12 on April 01, 2009, 06:42:54 pm
Isn't there an item that does that? Maybe when you have that item equipped it sets that bit?

--JP
Title: Re: Memory MAP
Post by: Mauron on April 01, 2009, 06:50:06 pm
The Berserker does that, but while equipped it does not set that bit.

Edit: I've examined character byte 26 further, and this is what I've found:

80 - Berserk
40 - Magic Defense
20 - Haste
10 - ???
8 - ???
4 - Protect
2 - ???
1 - ???
Title: Re: Memory MAP
Post by: Schala Zeal on February 19, 2017, 09:45:08 pm
Hmm... are the addresses relative to an offset in RAM or is this for battery save files I can open with a hex editor?
Title: Re: Memory MAP
Post by: Mauron on February 20, 2017, 12:18:20 am
Most of these are RAM addresses. My last one is for the 0x50 bytes starting at 7E2600 for each character.
Title: Re: Memory MAP
Post by: Schala Zeal on February 20, 2017, 01:36:20 am
I was hoping to do a CT-specific rom corruptor using this info.
Title: Re: Memory MAP
Post by: Mauron on February 20, 2017, 02:20:45 pm
The most this would be useful for is a save stat corrupter. Geiger's Offsets would be a much better start on a ROM corrupter.
Title: Re: Memory MAP
Post by: Schala Zeal on February 20, 2017, 08:48:26 pm
Darn. I was hoping to make one that can like... swap character graphics in real time.
Title: Re: Memory MAP
Post by: Mauron on February 21, 2017, 02:30:16 pm
Real time character graphics swapping might be possible with RAM manipulation, but you'd need to target a specific emulator and palettes would screw up in battle and certain menus, because those load them based on character index, not palette index.
Title: Re: Memory MAP
Post by: Schala Zeal on February 22, 2017, 07:35:45 am
Yeah. I doubt the debugger has source code available. Tried it out and it would seem interesting as a corruption engine.
Title: Re: Memory MAP
Post by: Mauron on September 17, 2017, 11:46:45 pm
7F01CD - Two byte value for adjusting shop prices. Value/0x100 is the percentage of the final price. Medina Market sets 7F01CE to a random value of 5 or higher at first, and later sets 7F01CD to 00BF, resulting in a 25% reduction.

Technical: The game actually multiplies item prices by the value, then takes the two highest result bytes as the new price.
Title: Re: Memory MAP
Post by: JonIIDX on March 22, 2020, 12:40:16 am
Hey everyone, just wanted to say thanks so much for the great info about RAM Addresses! Thanks to the Screen Scrolling address, I was able to start making some full animated GIF maps of areas.

https://puu.sh/FnqDi/05abfa0ac1.gif (https://puu.sh/FnqDi/05abfa0ac1.gif)

It's kind of confusing how to get it working, so I am going to explain how to utilize it in the text below.

Code: [Select]
7E1D00                          Activate Screen Scrolling
Activate = 1
Deactivate = 0
*Note - Activating the screen scroll will make it so you can no longer go through any screen transitions.
Make sure to make a savestate before you activate this, otherwise you'll be stuck in the room.

7E1D01                          Screen Scrolling X-Axis
X-Axis Scroll (2-Byte Signed)
Full screen changes every 8200, accurate to the pixel

Screen 1 = 0
Screen 2 = 8200
Screen 3 = 16400
Screen 4 = 24600

7E1D02                          Screen Scrolling (Do not use)

7E1D03                          Screen Scrolling Y-Axis
Y-Axis Scroll (2-Byte Signed)
The tops of the screens have a 3 pixel overlap with the previous screen

Screen 1 - 0
Screen 2 = 26
Screen 3 = 52
Screen 4 = 78
Screen 5 = 104

Something I noticed is that if you transition screens, they don't always mesh up perfectly with the screen you came from. In the gif example that I posted above, there was a 17 pixel discrepancy which I had to use 16x16 pallets to re-build the best I could. I used one extra Y-pixel from other pallets as necessary. This can get kind of annoying when animations are in this gap...

Anyway, I just wanted to document this just in case someone else is interested in getting full screen caps. Hope this is useful to someone, someday!

Edit: Also, there are a lot more Memory Addresses that aren't mentioned here on a Japanese wiki as well. Most notably, ones that can move each of the main characters to any designated location on the map.

https://wikiwiki.jp/snes007/クロノ・トリガー (https://wikiwiki.jp/snes007/クロノ・トリガー)

Code: [Select]
Crono X-Pos: 7E1802, 7E1803
Crono Y-Pos: 7E1882, 7E1883

Marle X-Pos: 7E1804, 7E1805
Marle Y-Pos: 7E1884, 7E1885

Lucca X-Pos: 7E1806, 7E1807
Lucca Y-Pos: 7E1886, 7E1887

Frog X-Pos: 7E1808, 7E1809
Frog Y-Pos: 7E1888, 7E1889

Robo X-Pos: 7E180A, 7E180B
Robo Y-Pos: 7E188A, 7E188B

Ayla X-Pos: 7E180C, 7E180D
Ayla Y-Pos: 7E188C, 7E188D

Magus X-Pos: 7E180E, 7E180F
Magus Y-Pos: 7E188E, 7E188F
*Note: The screen will not scroll with you, so this would only be useful for minor adjustments (e.g. - accessing areas that are blocked by an NPC). If you move within the same screen, the screen will begin to scroll again when you take control of your character - if it can.

There are so many that I don't have time to translate it at the moment... But if you all are interested, I can hack away at it bit by bit.
Title: Re: Memory MAP
Post by: Mauron on March 22, 2020, 03:13:38 pm
We have for information in the Chrono Trigger Database (https://www.chronocompendium.com/Term/Modification.html#Geiger.27s_Offsets). In addition to that, I've mapped out all character data in the 7E26xx area.

The PC X/Y position there isn't 100% accurate. That data is set by object number, and in some locations the PCs will be pushed down one, so Crono would be at 7E1804 instead.
Title: Re: Memory MAP
Post by: Kodokami on March 23, 2020, 12:42:28 pm
Oh wow. I don't understand it all, but that gif is neat.
Title: Re: Memory MAP
Post by: TheMage on March 23, 2020, 09:21:51 pm
seconded  :shock: :D