Vagrant Story/Executables

From Data Crystal
Jump to navigation Jump to search

This is a sub-page of Vagrant Story.

All address ranges and file sizes are specific to the US version of Vagrant Story. There are a couple of missing executables for the menu interface. MENUA.PRG is an empty file whilst MENU6.PRG is missing entirely. Most of the executables are partitioned into three sections. The first section is data, followed by code, which is followed by more data. The root executable is not partitioned as cleanly as the rest of the executables.

The games executables are only loaded as and when needed. Thus many executabels share RAM address ranges. The first executable to be loaded is the psx exe file. This would be SLUS_010.40 for the North American version. This file contains libraries, such as PsyQ. This file remains in memory throughout runtime. The main executable is BATTLE.PRG, this executable is the game engine. It shares an address range with TITLE.PRG and ENDING.PRG. The menu interface is controlled by various executables. The main menu is controlled by MAINMENU.PRG which shares an address range with INITBTL.PRG. All of the sub menus have an executable associated with them. They are all loaded to the same address and once finished they are left there until there is a need to load a new PRG file.

File Name : SLUS-010.40
Address   : 0x8000B070 - 0x8005D870
File Size : 0x00052800
LBA       : 0x00000018
Main exe

Root executable, contains libraries. Code and data are intermixed.

File Name : TITLE.PRG
Address   : 0x80068800 - 0x800EFE48
File Size : 0x00087648
LBA       : 0x0003E800
Data      : 0x80068800 - 0x80068A2C
Code      : 0x80068A2C - 0x80072880
Data      : 0x80072880 - 0x800EFE48

Displays opening sequence.

File Name : INITBTL.PRG
Address   : 0x800F9800 - 0x800FB37C
File Size : 0x00001B7C
LBA       : 0x00000567
Data      : 0x800F9800 - 0x800f9818
Code      : 0x800F9818 - 0x800FAB18
Data      : 0x800FAB18 - 0x800FB37C

Initializes a new game environment?

File Name : BATTLE.PRG
Address   : 0x80068800 - 0x800F5924
File Size : 0x0008D124
LBA       : 0x0000044C
Data      : 0x80068800 - 0x80069C6C
Code      : 0x80069C6C - 0x800E8184
Data      : 0x800E8184 - 0x800F5924

Main game engine.

File Name : ENDING.PRG
Address   : 0x80068800 - 0x800DC21C
File Size : 0x00073A1C
LBA       : 0x00041AC8
Data      : 0x80068800 - 0x800688D4
Code      : 0x800688D4 - 0x8006E3FC
Data      : 0x8006E3FC - 0x800B3000
Code      : 0x800B3000 - 0x800DC21C

Displays ending credits. Execution is allowed to continue beyond end of file, This casts doubts as to whether or not this file was partitioned correctly. There are branches consistent with short if statements right up to the end of the file but no return statement terminates the final proceedure.

File Name : MAINMENU.PRG
Address   : 0x800F9800 - 0x80102578
File Size : 0x00008D78
LBA       : 0x00014C08
Data      : 0x800F9800 - 0x800F9A24
Code      : 0x800F9A24 - 0x80102014
Data      : 0x80102014 - 0x80102578

Main menu interface.

File Name : MENU0.PRG
Address   : 0x80102800 - 0x80106A11
File Size : 0x00004211
LBA       : 0x00014C26
Data      : 0x80102800 - 0x80102884
Code      : 0x80102884 - 0x80104A58
Data      : 0x80104A58 - 0x80106A11

Magic menu interface.

File Name : MENU1.PRG
Address   : 0x80102800 - 0x80104546
File Size : 0x00001D46
LBA       : 0x00014C2F
Data      : 0x80102800 - 0x80102830
Code      : 0x80102830 - 0x80103478
Data      : 0x80103478 - 0x80104546

Break Arts menu interface.

File Name : MENU2.PRG
Address   : 0x80102800 - 0x80105120
File Size : 0x00002920
LBA       : 0x00014C33
Data      : 0x80102800 - 0x80102864
Code      : 0x80102864 - 0x80104690
Data      : 0x80104690 - 0x80105120

Battle Abilities menu interface.

File Name : MENU3.PRG
Address   : 0x80102800 - 0x80109768
File Size : 0x00006F68
LBA       : 0x00014C39
Data      : 0x80102800 - 0x8010296C
Code      : 0x8010296C - 0x801093B8
Data      : 0x801093B8 - 0x80109768

Items menu interface.

File Name : MENU4.PRG
Address   : 0x80102800 - 0x80108208
File Size : 0x00005A08
LBA       : 0x00014C47
Data      : 0x80102800 - 0x80102920
Code      : 0x80102920 - 0x80107448
Data      : 0x80107448 - 0x80108208

Status menu interface.

File Name : MENU5.PRG
Address   : 0x80102800 - 0x80108EB8
File Size : 0x000066B8
LBA       : 0x00014C53
Data      : 0x80102800 - 0x80102CD8
Code      : 0x80102CD8 - 0x801083F8
Data      : 0x801083F8 - 0x80108EB8

Map menu interface.

File Name : MENU7.PRG
Address   : 0x80102800 - 0x8010B0AD
File Size : 0x000088AD
LBA       : 0x00014C86
Data      : 0x80102800 - 0x80102A60
Code      : 0x80102A60 - 0x8010A2B4
Data      : 0x8010A2B4 - 0x8010B0AD

Data menu interface.

File Name : MENU8.PRG
Address   : 0x80102800 - 0x80105F54
File Size : 0x00003754
LBA       : 0x00014CDF
Data      : 0x80102800 - 0x80102888
Code      : 0x80102888 - 0x80105558
Data      : 0x80105558 - 0x80105F54

Options menu interface.

File Name : MENU9.PRG
Address   : 0x80102800 - 0x8010A4B8
File Size : 0x00007CB8
LBA       : 0x00014CE6
Data      : 0x80102800 - 0x80102A38
Code      : 0x80102A38 - 0x8010851C
Data      : 0x8010851C - 0x8010A4B8

Score menu interface.

File Name : MENUA.PRG
Address   : 0x80102800 - 0x80102800
File Size : 0x00000000
LBA       : 0x00014CF6

Empty, A planned sub menu that got axed perhaps?

File Name : MENUB.PRG
Address   : 0x80102800 - 0x8010A6C4
File Size : 0x00007EC4
LBA       : 0x00014CF7
Data      : 0x80102800 - 0x80102A60
Code      : 0x80102A60 - 0x8010A280
Data      : 0x8010A280 - 0x8010A6C4

Item Drop List menu interface.

File Name : MENUC.PRG
Address   : 0x80102800 - 0x8010C094
File Size : 0x00009894
LBA       : 0x00014D07
Data      : 0x80102800 - 0x80102968
Code      : 0x80102968 - 0x8010BB20
Data      : 0x8010BB20 - 0x8010C094

Items -> Setup menu interface.

File Name : MENUD.PRG
Address   : 0x80102800 - 0x80109A90
File Size : 0x00007290
LBA       : 0x00014D25
Data      : 0x80102800 - 0x80102A60
Code      : 0x80102A60 - 0x80109A90

Container menu interface. The final proceedure in this executable finished with a function call but no return statement. Execution would fall beyond end of file but the called function must modify or discard the return address.

File Name : MENUE.PRG
Address   : 0x80102800 - 0x8010525C
File Size : 0x00002A5C
LBA       : 0x00014D34
Data      : 0x80102800 - 0x80102C94 
Code      : 0x80102C94 - 0x80104E54
Data      : 0x80104E54 - 0x8010525C

Quick Manual menu interface.

File Name : MENUF.PRG
Address   : 0x80102800 - 0x801099F8
File Size : 0x000071F8
LBA       : 0x00014D3A
Data      : 0x80102800 - 0x80102BB8
Code      : 0x80102BB8 - 0x801091D8
Data      : 0x801091D8 - 0x801099F8

Ending menu interface.