Phantasy Star Disassemblies

Discuss anything related to the Phantasy Star series

Re: Phantasy Star Disassemblies

Postby lorenzo » Wed Sep 16, 2015 3:09 am

There is a new update for PSIV. It is now version 2. I managed to uncover quite a few things thanks to Regen. Here's an overview of what's been discovered:

* All maps
* All musics and sounds
* Most of the objects in the field screen; for the battle screen I found out where they are in ROM and where they are stored in memory, but they are organized a bit differently so I will take care of those another time
* Most of the events and all cutscenes.

There is now a constants file as usual with all the IDs of the items, characters and stuff mentioned above. Besides some of the hardware stuff like VDP and DMA are labelled and commented as well as joypad input. There is probably other stuff I forgot to mention...
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby marlin1500 » Mon Nov 09, 2015 4:12 am

Hi I've been mapping the PS2 rom Hex values, I have had help from a few members of the romhacking forum in the past.

I can't find where the techniques are modified, I am not referring to TP cost & damage, but the actual effects, for instance making SHIFT work on any part member not just the caster, changing the targeting hex value does allows you to target another party member but the effect still only works/fires on the caster.

I also want to make some new techniques with the extra spots after Megrid.

Can anyone help me?

If anyone wants my hack notes I'm happy to pass them on.
marlin1500
Pinchant
Pinchant
 
Posts: 5
Joined: Thu Jan 02, 2014 2:12 pm

Re: Phantasy Star Disassemblies

Postby lorenzo » Mon Nov 09, 2015 9:39 am

In my disassembly to find what you're looking for, open it and search for 'TechniqueActionIndex': this contains branches to the code for each technique. I know you are only familiar with hex editing, but assembly is a recommended choice to change something like this. I helped fedorajoe, the author of the Modernization hack, to change Shift so I can give you the code as well if you want.

The same goes for creating new techniques: you fill data with hex values, but you need to reference these in the different tables around the code and that means you have to expand them. For hex editing this requires tons of work because you need to relocate them in a unused space in the ROM. With my disassembly you can expand the tables in place since all pointers are calculated each time you build the new ROM.
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby marlin1500 » Mon Nov 09, 2015 10:00 am

Thank you for getting back to me, I was looking at that, but it makes no sense to me at the moment, I have a heavily modified so I will need to edit the hex values unless I can dissemble my version.
marlin1500
Pinchant
Pinchant
 
Posts: 5
Joined: Thu Jan 02, 2014 2:12 pm

Re: Phantasy Star Disassemblies

Postby marlin1500 » Tue Nov 10, 2015 1:40 pm

If anyone is interested I just checked if you can use Neifirst as a normal monster and it appears you can, i am running the Numan Revolution mod, but I assume it works with the stock rom as well. Her code is 7C, I only fought 1 of her with 3 pythons at once. I'll test tomorrow if you can fight multiple "Neifirsts" at once, given her sprite I think 3 will be the max. For a challenge I gave her 8000hp.

This should also mean you can fight Dark Force & Mother brain as normal monster to.
marlin1500
Pinchant
Pinchant
 
Posts: 5
Joined: Thu Jan 02, 2014 2:12 pm

Re: Phantasy Star Disassemblies

Postby lorenzo » Thu Nov 12, 2015 8:52 am

I updated the PSII and PSIII disassemblies so that you can generate listing files when building a ROM; the listing file contains the addresses of the data and instructions to make hex editing much easier if you don't want to use the disassemblies. I will do that for PSIV also, but I'm in the middle of cleaning up and documenting the map data so that will come later.

Speaking of PSIV, I realized I didn't post about version 2.1 I released about a month ago. It basically has all addresses of the windows, labelled some of the battle main routines, found the pointers for the panel illustrations and some more address constants.

As I said above, I'm working on the map data; for each map I'm documenting the transition to other maps, objects, treasure chests, events and the manager for the some of the variables and other data used for that map. All in all it's progressing quite well. I will release an update and post here after this part is done.
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby marlin1500 » Wed Nov 18, 2015 11:20 pm

Look at this.
http://postimg.org/image/8xpzgdfsx/

Works fine with no bugs.
marlin1500
Pinchant
Pinchant
 
Posts: 5
Joined: Thu Jan 02, 2014 2:12 pm

Re: Phantasy Star Disassemblies

Postby lorenzo » Sat Nov 28, 2015 9:45 pm

I submitted a new update for the disassembly of Phantasy Star IV. Most of the work was on the map data which includes objects, treasure chests, map transitions and indexes of jump tables which govern what events to check, palettes cycle and more; I also added some notes on what the data means so that you can find and work on stuff more easily. I know that quite a few people have been wanting to change treasure chests, so now it's possible; moreover it's relatively easy to add new ones and there's quite a few bits to spare in the space allotted for new flags. Objects such as generic NPC's can be added as well as changing when they show up depending on the story (this is determined in the Map Data Manager jump table). I realize a disassembly is not exactly user friendly for most people, but it's better than nothing I guess....

I also added constants for story/event flags with the explanation of each one on when they are set as well as constants for treasure chests and town flags. More constants and more code annotations were added for other parts in the code.

Just like Phantasy Star II and III I added the option to add a listing file when assembling a ROM so that it's possible to see the hex addresses.
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby lorenzo » Tue Jan 19, 2016 12:47 pm

New update for PSIV and approved on RHDN.

I identified and started putting some graphics data in different folders so that you and use decompression and tools to edit some graphics, however there's not much for now; the game uses the knows Nemesis and Kosinski format so it should be fine. The game also uses Enigma compression for plane maps.

Here's other stuff:

- More constants and offsets
- Annotated functionality for item use and equipment stats outside of battle
- Identified and annotated subroutines for the field objects and for the interaction part (when using the Talk button)
- Cleaned up the interaction data found inside the maps
- Corrected and improved some label names
- Annotated main routines in the Sega and Intro screen sections
- Identified battle objects for items, techniques, skills and weapons
- Annotated the Enigma decompression routine and Nemesis pattern load cues
- Identified other global, hardware-related routines

Next update will include discoveries and annotations of all the battle system.
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby Paladin356 » Sun Jan 31, 2016 3:45 am

You know. I actually wanted to get this so I could make a few tiny fixes in PSIV. I know someone made an IPS that fixes the Level Bug and the Megid Nazan thing...but for some reason, I want to make it so that the five characters that you can choose in the end are able to equip the Rkyros-Ring. I know its a small thing, but Its been bugging me for a while.
Paladin356
Pinchant
Pinchant
 
Posts: 5
Joined: Fri Oct 23, 2015 4:10 am

Re: Phantasy Star Disassemblies

Postby lorenzo » Sun Jan 31, 2016 11:52 am

Paladin356 wrote:You know. I actually wanted to get this so I could make a few tiny fixes in PSIV. I know someone made an IPS that fixes the Level Bug and the Megid Nazan thing...but for some reason, I want to make it so that the five characters that you can choose in the end are able to equip the Rkyros-Ring. I know its a small thing, but Its been bugging me for a while.


If you downloaded my disassembly, search for the label "Item_RykrRing:", which is under the InventoryData section. At the start of the section is an explanation of what the values mean for each item so that you can change to your liking. See some other items as an example, such as how to make something equippable by someone, the type of item, etc. If you prefer using a hex editor, I'll give you the address of the Rykros Ring. If you don't feel confident or have trouble editing the values, I can give you a patch
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby Paladin356 » Fri Feb 05, 2016 3:46 am

lorenzo wrote:
Paladin356 wrote:You know. I actually wanted to get this so I could make a few tiny fixes in PSIV. I know someone made an IPS that fixes the Level Bug and the Megid Nazan thing...but for some reason, I want to make it so that the five characters that you can choose in the end are able to equip the Rkyros-Ring. I know its a small thing, but Its been bugging me for a while.


If you downloaded my disassembly, search for the label "Item_RykrRing:", which is under the InventoryData section. At the start of the section is an explanation of what the values mean for each item so that you can change to your liking. See some other items as an example, such as how to make something equippable by someone, the type of item, etc. If you prefer using a hex editor, I'll give you the address of the Rykros Ring. If you don't feel confident or have trouble editing the values, I can give you a patch



For doing the hexedit, would I just need to hexedit the romfile? I could try doing that. I'll also try the other way and if it gets too confusing,
Paladin356
Pinchant
Pinchant
 
Posts: 5
Joined: Fri Oct 23, 2015 4:10 am

Re: Phantasy Star Disassemblies

Postby lorenzo » Fri Feb 19, 2016 8:55 am

There's a guy who offered to help me with the disassembly of Phantasy Star IV; I decided to put it on GitHub. Here's the link:

https://github.com/lory90/ps4disasm

If someone wants to contribute, fork the repository and work on your changes. Once you're done, send me a Pull Request and I will review your edits: if they are good, I will merge them in. I'm going to include some links in the OP to get you started on Git.

EDIT: I also added Phantasy Star II and III

https://github.com/lory90/ps2disasm
https://github.com/lory90/ps3disasm
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

Re: Phantasy Star Disassemblies

Postby Paladin356 » Fri Feb 26, 2016 5:38 am

I was able to fix the value and give the Rykr-Ring equipability to one of the five optional characters at the end. Now i just need to add stat values to it. Any suggestions?

Its strange because when i looked at the code for this, it seemed as if the item was originally just meant to be a storyline item. IDK if its an oversight or if it was actually meant just to be a story based item. hmmm....
Paladin356
Pinchant
Pinchant
 
Posts: 5
Joined: Fri Oct 23, 2015 4:10 am

Re: Phantasy Star Disassemblies

Postby lorenzo » Fri Feb 26, 2016 11:52 am

Paladin356 wrote:I was able to fix the value and give the Rykr-Ring equipability to one of the five optional characters at the end. Now i just need to add stat values to it. Any suggestions?

Its strange because when i looked at the code for this, it seemed as if the item was originally just meant to be a storyline item. IDK if its an oversight or if it was actually meant just to be a story based item. hmmm....


The rings are plot items since they are required to enter The Edge; they made 4 rings equippable for the main characters (Chaz, Rika, Rune and Wren) because they can never leave the party. If you equip one of the rings to the other optional characters, they can be replaced by other characters and you end up not having the rings anymore so they made the Rykros Ring not equippable. So it's just not to create a plot hole.

For adding the stats, I would give a bonus to all stats since the five optional characters have different strengths and weaknesses, and the other rings give bonuses to more than one stat as well so I would do the same for the Rykros Ring
lorenzo
Blastoid
Blastoid
 
Posts: 92
Joined: Thu Dec 25, 2014 12:57 am
Location: Italy

PreviousNext

Return to Phantasy Star

Who is online

Users browsing this forum: No registered users and 1 guest

cron