Final Fantasy VII Field Script Debugger: Difference between revisions
| Revision as of 14:34, 2 November 2026 RemmyLee (File pages: Source says what each image is and when it was made; License is CC BY-SA 4.0; the rule in context/pages.md) | Revision as of 14:36, 2 November 2026 RemmyLee (FF7 file pages and captions: short labels in the manual's form; the dates and rooms stay in Source and the text) | ||
| Line 41: | Line 41: | ||
| These changes were made on a SCPH-5501 on 31 October 2026 in room MDS5_3. The screen then showed AUTHR:AKIYAMA and EVENT:MDS5_3 in window 5 with the GO, STOP, STEP, ACTOR OFF and INFO OFF rows below them. Window 4 showed ACTOR:FURYOB with its RQLV, MAN, DIR and position rows (X FE32, Y FF34), and window 3 showed WORD:RET.[^run1] | These changes were made on a SCPH-5501 on 31 October 2026 in room MDS5_3. The screen then showed AUTHR:AKIYAMA and EVENT:MDS5_3 in window 5 with the GO, STOP, STEP, ACTOR OFF and INFO OFF rows below them. Window 4 showed ACTOR:FURYOB with its RQLV, MAN, DIR and position rows (X FE32, Y FF34), and window 3 showed WORD:RET.[^run1] | ||
| − |  | + |  |
| The text draw routine at 800D9C04h draws at most 344 character sprites in one frame, whereas the four windows together need about 400. Consequently, when window 1 is filled as well, the text is cut off: in the StationX emulator, window 5 stopped partway through its author line. The field pointer routine at 800BC438h, which tests the Select button, is called only from 800BA7A8h, and the code that it calls at 800BC4D4h is therefore unused once that call is changed. A routine placed at 800BC4D4h fills window 1 for the party leader and then draws the windows, and a second one at 800BC538h skips spaces and extends the sprite buffers, so that the four windows need only 357 sprites. With both routines in place, a SCPH-5501 showed all four windows on 1 November 2026 in room MDS5_2, and window 1 read CTRL:CLOUD.[^bench][^run2] | The text draw routine at 800D9C04h draws at most 344 character sprites in one frame, whereas the four windows together need about 400. Consequently, when window 1 is filled as well, the text is cut off: in the StationX emulator, window 5 stopped partway through its author line. The field pointer routine at 800BC438h, which tests the Select button, is called only from 800BA7A8h, and the code that it calls at 800BC4D4h is therefore unused once that call is changed. A routine placed at 800BC4D4h fills window 1 for the party leader and then draws the windows, and a second one at 800BC538h skips spaces and extends the sprite buffers, so that the four windows need only 357 sprites. With both routines in place, a SCPH-5501 showed all four windows on 1 November 2026 in room MDS5_2, and window 1 read CTRL:CLOUD.[^bench][^run2] | ||
| − |  | + |  |
| ## GameShark Codes | ## GameShark Codes | ||
| Line 98: | Line 98: | ||
| In the StationX emulator on 1 November 2026, the two lists were run by a program that reads and writes memory in the same way as the bench cart's cheat engine. All four windows appeared in room MDS5_2: window 1 showed CTRL:CLOUD, window 5 showed AUTHR:AKIYAMA and EVENT:MDS5_2 with all five rows, window 4 showed ACTOR:SAVEL0 and window 3 showed WORD:RET.[^w1] | In the StationX emulator on 1 November 2026, the two lists were run by a program that reads and writes memory in the same way as the bench cart's cheat engine. All four windows appeared in room MDS5_2: window 1 showed CTRL:CLOUD, window 5 showed AUTHR:AKIYAMA and EVENT:MDS5_2 with all five rows, window 4 showed ACTOR:SAVEL0 and window 3 showed WORD:RET.[^w1] | ||
| − |  | + |  |
| List 1A: | List 1A: | ||