Thank you for the warm welcome. I'm sorry it took so long to reply; I was very wrong about my workload this week. Anyway here's what I have so far.
You might try, by the way: find where in RAM the game loads the current world map data (might be known, I'm not sure), set a breakpoint to one of the tiles that changes with an event, then set and clear the event flag to observe the changes. Hope that helps!
Good call! The ram offset is known; I found it in Yousei's text file:
$7F5C71 Beginning of Map data
With that and comparing a snapshot of the RAM before and after I found where the map data is changed for Mist. Looking at the 1.0 ROM what starts as:
$7F92D2: 23 23 23 23 23
$7F93D2 50 16 16 16 16
$7F93D2 03 04 02 03 13
Becomes:
$7F92D2: 13 13 13 13 13
$7F93D2 12 13 13 13 14
$7F93D2 13 13 13 13 13
(Ram Addresses found using Geiger’s SNES9x debugger with Snes9X1.51.ep10r2)
So tracing that back through Assembly I found:
4A/C52D: AD8112 LDA $1281
4A/C530: 2940 AND #$40
---------------------------------------------
4A/C53A: A913 LDA #$13
4A/C53C: 9FD25C7F STA $7F5CD2,X
4A/C540: 9FD35C7F STA $7F5CD3,X
4A/C544: 9FD45C7F STA $7F5CD4,X
4A/C548: 9FD55C7F STA $7F5CD5,X
4A/C54C: 9FD65C7F STA $7F5CD6,X
---------------------------------------------
4A/C555: A912 LDA #$12
4A/C557: 9FD25C7F STA $7F5CD2,X
4A/C55B: A913 LDA #$13
4A/C55D: 9FD35C7F STA $7F5CD3,X
4A/C561: 9FD45C7F STA $7F5CD4,X
4A/C565: 9FD55C7F STA $7F5CD5,X
4A/C569: A914 LDA #$14
4A/C56B: 9FD65C7F STA $7F5CD6,X
---------------------------------------------
4A/C574: A913 LDA #$13
4A/C576: 9FD25C7F STA $7F5CD2,X
4A/C57A: 9FD35C7F STA $7F5CD3,X
4A/C57E: 9FD45C7F STA $7F5CD4,X
4A/C582: 9FD55C7F STA $7F5CD5,X
4A/C586: 9FD65C7F STA $7F5CD6,X
(Disassembled from 1.0 ROM using DisPel)
I checked in the ram to confirm that setting Flag 14 had an associated change from 00 --> 40 and that is then matched against. It appears that the map routine overall works as it would for the world as first seen exiting Baron and then this modification subroutine is called to change the map when and where appropriate. Not far below this set of code is what appears to change the graphics associated with the hole to the underground. I further tested this by hijacking the function call for the modification sub routine and then adding my own. Basically what I did was to change:
--- Main Code ---
((Some Code))
Set Map
Call Map Modification Subroutine
((More Code))
to:
--- Main Code ---
((Some Code))
Set Map
Call My Subroutine
((More Code))
--- My Subroutine ---
Map Modification Subroutine
My Changes
((Return to Main))
From my tinkering this was the safest way; I had many crashes when I was messing around. I ended up using ASMDev (
http://www.romhacking.net/utilities/395/) but I had to change the code line by line. Does anyone have a suggestion as to where I could get a good assembler to go with? Ideally, at least given the way I think & program, I would dump the ROM - edit it (so far Notepad++ is working well) and then reassemble. Any helpful hints in this regard would be welcome. It also seems that you all seem to be using a different program for working with the Assembly code (that itself may be the answer for me). If you let me know what you've been using to generate code such as:
0x1EB16 (without header) 9D 2F 20 STA $202F,x[$7E:22AF] A:0069 X:0280 Y:0000 P:envMxdizC - Store A in Monster's Steal Prevention.
That's what I have as far as Mist and Assembly. I do also have a follow up on FF4kster. 1st off: awesome! I love the new features. :) One thing I did notice, and this is not new for me at least was that in editing the NPC table for the hospital in Toria it shows up as an empty list. The event script appears correct and references characters 0 - 3, but there are no characters listed on the NPC list. I was very excited when I got my first response which included:
One caveat about the tools you're using: yousei's uses only version 1.0, and FF4Kster is really only fully compatible with v1.1 (specifically, it won't properly modify battle commands and level up data for v1.0, possibly more). Best workaround for this is to make map edits with yousei's, then patch the changes into a 1.1 ROM for use with pretty much any other editing tool.
I thought for sure that was my problem; but a test with a clean copy of the 1.1 ROM killed that hope. It's a very minor thing; but just something I noticed and wanted to bring up. I have a suspicion (complete speculation here) that given the accuracy of the rest of the NPC lists that the hospital at Toria is just some exception to the rule; I don't know but it seems that way to me.
That's it from me for now. The next thing I plan to toy around with is pulling equipment off of someone when they leave your party. I'm thinking of perhaps dumping them in the inventory associated with the Fat Chocobo. We shall see.
