News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Dragon Warrior 2 Disassembly  (Read 1608 times)

joe73ffdq

  • Full Member
  • ***
  • Posts: 185
    • View Profile
Dragon Warrior 2 Disassembly
« on: April 05, 2018, 06:38:32 pm »
Finally, after several weeks of plugging away at this, I got everything organized the right way. All the data is presented in disassembly form, which made it much easier then how I was doing it before.

There are 2 banks, 04 and 06, where almost all of the found data is. The full rom disassembly is left unmarked. Then there is an index, and one for detailed info.

Characters - Exp, Stats, Equip, Magic
Enemies - Stats, Skills, Formations, Zones, Palettes
Shop and Treasure
Text for - starting names, items, equipment, magic, enemies

Just about all I want to find has been found. The Item drops for Evil Clown and Saber Lion still havent been found yet. Power for all healing and fire spells have been found, except for the 3 fire breath attacks. The next things I would like to find is enemy drops, and see if I can find enemies assigned. I would like to create a blue and red dragon, among a few other ideas. Now with the ability to normalize all the equipment, there will be more varied options, also expanding what can be found in chests. I also want to remove sacrifice and surround, and add healall for poc, and hustle for pom. The last thing I would like to try and figure out, is HP past 256 for characters and enemies. There is a location in ram for this, and if I can find the zero page instruction, then writing new code to add this in, would really expand the options quite a bit.

In DW1 I, found a way to change the damage resistance for Erdricks and magic armor. I took the ASL and expanded it to 3 ASL's. Now every armor can have x16 resistance options, by choosing between ASL, LSR, and NOP, on those 3 bytes. That was my best accomplishment, with total new code of about 225 bytes. I need to find the bank switch in DW2, which I haveent looked for, but it should be similar to DW1 MMC1. There is roughly 80K free space, with the US release being expanded to 256, from the original 128. I am getting a little bit ahead of my self, but when I understand the code, I can branch upon it, even though I have no idea how to write a whole new instruction.

I will admit, that I struggle more with concentration, then I do understanding the code. Using a hex editor all these years, and now I found the mix of good methods. Organize the notes, scan through the disassembly, look for things in fceux, and then use HxD.


With all that said, here we finally have, a good foundation for further disassembly of DW2, now that I finally set it up in an organized manner.


Original thanks to AlexKC, who found the initial data back in 2011. Special thanks to gameboy9, who was finding code left and right 2 years ago, when he was helping me on my DW2 thread  :)  :beer:

Then there are the many people here that have helped me quite a bit. Disch and King Mike in particular, who always give a full scale analysis, and precise direction to find the code I am looking for  :) :beer:



One last thing here, that I was wondering if someone knew about. DragonWarriorX overworld editor sort of works. There is a full interface that edits everything perfectly fine, and even marks coords and location entrances as well. When you try to open the game, all the graphics and tiles are a garbled mess. So it partially works...


If anyone is interested in helping look for code, that would be awesome  :beer:

Now I am finally ready to start the writing process. Starting with Character stats, exp, and magic. Equipment and then enemy stats, abilities, formations, and zoning. Then shop and treasure last.


https://www.dropbox.com/s/dv539hthifv8mw4/DW%202%20Disassembly.zip?dl=0
« Last Edit: April 05, 2018, 06:56:12 pm by joe73ffdq »

DavidtheIdeaMan

  • Hero Member
  • *****
  • Posts: 544
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #1 on: April 05, 2018, 06:40:51 pm »
Nice!

Mari42

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #2 on: April 05, 2018, 06:43:57 pm »
Finally, after several weeks of plugging away at this, I got everything organized the right way. All the data is presented in disassembly form, which made it much easier then how I was doing it before.

There are 2 banks, 04 and 06, where almost all of the found data is. The full rom disassembly is left unmarked. Then there is an index, and one for detailed info.

Characters - Exp, Stats, Equip, Magic
Enemies - Stats, Skills, Formations, Zones, Palettes
Shop and Treasure
Text for - starting names, items, equipment, magic, enemies

Just about all I want to find has been found. The Item drops for Evil Clown and Saber Lion still havent been found yet. Power for all healing and fire spells have been found, except for the 3 fire breath attacks. The next things I would like to find is enemy drops, and see if I can find enemies assigned. I would like to create a blue and red dragon, among a few other ideas. Now with the ability to normalize all the equipment, there will be more varied options, also expanding what can be found in chests. I also want to remove sacrifice and surround, and add healall for poc, and hustle for pom. The last thing I would like to try and figure out, is HP past 256 for characters and enemies. There is a location in ram for this, and if I can find the zero page instruction, then writing new code to add this in, would really expand the options quite a bit.

In DW1 I, found a way to change the damage resistance for Erdricks and magic armor. I took the ASL and expanded it to 3 ASL's. Now every armor can have x16 resistance options, by choosing between ASL, LSR, and NOP, on those 3 bytes. That was my best accomplishment, with total new code of about 225 bytes. I need to find the bank switch in DW2, which I haveent looked for, but it should be similar to DW1 MMC1. There is roughly 80K free space, with the US release being expanded to 256, from the original 128. I am getting a little bit ahead of my self, but when I understand the code, I can branch upon it, even though I have no idea how to write a whole new instruction.

I will admit, that I struggle more with concentration, then I do understanding the code. Using a hex editor all these years, and now I found the mix of good methods. Organize the notes, scan through the disassembly, look for things in fceux, and then use HxD.


With all that said, here we finally have, a good foundation for further disassembly of DW2, now that I finally set it up in an organized manner.


Original thanks to AlexKC, who found the initial data back in 2011. Special thanks to gameboy9, who was finding code left and right 2 years ago, when he was helping me on my DW2 thread  :)  :beer:

Then there are the many people here that have helped me quite a bit. Disch and King Mike in particular, who always give a full scale analysis, and precise direction to find the code I am looking for  :) :beer:



One last thing here, that I was wondering if someone knew about. DragonWarriorX overworld editor sort of works. There is a full interface that edits everything perfectly fine, and even marks coords and location entrances as well. When you try to open the game, all the graphics and tiles are a garbled mess. So it partially works...


If anyone is interested in helping look for code, that would be awesome  :beer:

Now I am finally ready to start the writing process. Starting with Character stats, exp, and magic. Equipment and then enemy stats, abilities, formations, and zoning. Then shop and treasure last.


https://www.dropbox.com/preview/Public/DW%202%20Disassembly.zip?role=personal

It said that it doesn't exist. :<

joe73ffdq

  • Full Member
  • ***
  • Posts: 185
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #3 on: April 05, 2018, 06:46:59 pm »


https://www.dropbox.com/s/dv539hthifv8mw4/DW%202%20Disassembly.zip?dl=0



I copied the new link above. Let me know if it still isnt working.



Character development is almost done, and then enemies next. My goal for the end of April still looks possible. Hopefully there are others interested in this great under rated game as well  :beer:
« Last Edit: April 09, 2018, 11:01:03 pm by joe73ffdq »

joe73ffdq

  • Full Member
  • ***
  • Posts: 185
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #4 on: April 20, 2018, 04:04:59 am »
Check this out. I discovered how to change the enemies, and this is what I have decided on.


Here are screen shots of all the enemies in each family. The following have been removed...

Ghost Mouse
Ghost Rat
Enchanter
Poison Lily
Evil Tree
Hork

https://imageshack.com/a/img922/6112/hfOuqg.png ... Slimes

https://imageshack.com/a/img924/9723/zDifxZ.png ... Drakees

https://imageshack.com/a/img923/4494/hQZGVX.png ... Snakes

https://imageshack.com/a/img922/2162/gIhkTm.png ... Cats

https://imageshack.com/a/img923/5017/zSRkzQ.png ... Dragons

https://imageshack.com/a/img922/9895/DSRB1b.png ... Name changes



Aside of that, I have all the character, magic, and equipment stuff done



Str-Agi-HP-MP

Lv-10/09/08 : -48/037/023 ... -40/-43/-48 .... -73/-62/-51 .... -54/-60
Lv-24/23/20 : 104/085/063 ... -92/102/114 ... 141/123/101 ... 121/136
Lv-32/31/28 : 132/113/082 ... 120/133/151 ... 186/173/158 ... 158/192
Lv-50/45/35 : 160/140/110 ... 150/160/180 ... 250/225/200 ... 200/240



Cannock Spells :

Heal     
Antidote
Healmore
Return   
Healall 
Stepguard
Revive   

Firebal 
Heal     
Stopspell
Healmore
Firebane
Increase
Defeat   
Healall 


Moonbrooke Spells :

Antidote
Healmore
Outside 
Return   
Repel   
Stepguard
Open     

Infernos
Sleep   
Firebane
Healmore
Explodet
Defense
Confuse
Hustle 


Equipment

-3 : Bamboo Stick
-5 : Falcon Sword
10 : Club
14 : Magic Knife
18 : Copper Sword
25 : Chain Sickle
27 : Wizard's Wand
32 : Iron Spear
40 : Broad Sword
45 : Staff of Thunder
50 : Erdrick's Sword
60 : Giant Hammer
63 : Staff of Destruction
70 : Light Sword
80 : Dragon Killer
90 : Thunder Sword

-4 : Clothes
12 : Leather Armor
20 : Chain Mail
25 : Cloak of Evasion
30 : Bronze Armor
40 : Silver Armor
40 : Mink Coat
50 : Gold Armor
60 : Water Flying
60 : Diamond Armor
70 : Erdrick's Armor

-5 : Leather Shield
12 : Scale Shield
20 : Iron Shield
30 : Power Shield
40 : Erdrick's Shield

-8 : Mysterious Hat
15 : Iron Helmet
25 : Erdrick's Helmet



Enemy set up

#01 : Slime
#02 : Field Slug
#09 : Army Ant
#04 : Drakee
#14 : Red Slime
#05 : Wild Mouse..........Spring/Lake
#1f : Pit Viper
#03 : Iron Ant

#0a : Magician............Hamlin
#08 : Babble
#15 : Baboon
#13 : Smoke
#06 : Healer
#0e : Magidrakee
#0b : Giant Rat...........Tower
#0f : Centipod
#0d : Magic Ant
#11 : Lizard Fly
#12 : Zombie
#16 : Carnivog............West of Moonbrooke
#17 : Megapede
#20 : Mummy Man
#07 : Saber Leopard
#30 : Metal Slime
   
#18 : Sea Slug............Ocean
#10 : Man O’ War
#19 : Medusa
#1a : Drakeema
#1d : Demighost
#21 : Gorgon
#2e : Hawk Man


#1b : Mud Man.............Tantegel
#1c : Magic Baboon
#1e : Gremlin.............Lighthouse
#25 : Undead
#0c : King Cobra
#27 : Goopi
#22 : Saber Tiger.........Beran/Well/Oster
#24 : Titan Tree
#23 : Dragon Fly
#28 : Orc
#2a : Mummy
#2c : Gas
#2f : Sorcerer

#31 : Hunter..............Tuhn
#33 : Hibabango
#34 : Graboopi
#35 : Gold Orc............Moon/Sea Cave
#29 : Puppet Man
#32 : Evil Eye
#48 : Flame
#37 : Ghoul
#36 : Evil Clown
#39 : Mega Knight
#38 : Vampirus
#3a : Saber Lion
#46 : Green Dragon
#42 : Metal Babble

#3c : Ozwarg..............CTR
#3d : Dark Eye
#3e : Gargoyle
#3b : Metal Hunter
#3f : Orc King
#41 : Berserker
#26 : Basilisk
#49 : Silver Batboon
#40 : Magic Vampirus

#4a : Blizzard............Rhone
#44 : Cyclops
#43 : Hargon’s Knight
#2b : Blue Dragon
#47 : Mace Master
#4b : Giant
#4c : Gold Batboon
#45 : Attack Bot
#4d : Bullwong
#2d : Red Dragon
   
#4e : Atlas
#4f : Bazuzu
#50 : Zarlox
#51 : Hargon
#52 : Malroth




Now I can set up the enemies, and test the level ups.

This is moving along much better then I expected. I found the way to change enemies, by checking pointers to each palette set, and sure enough it was right before palettes. Enemy drops havent been found yet, but there is a GG code which narrows down the search area. Aside of that, there are just 2 things that will make this complete, and that is the Evil Clown/Saber Lion drops, which is still elusive.


With all that said, tell me what you guys think. There is now some vast options for DW2, similar to what DW3 has, maybe even more. I wanted FF1 hacking abilities for this game, and now it comes close, except for sprites and dialogue.

Im actually around 50% done now, depending on how long enemy set up takes.


This rocks  :beer:
« Last Edit: April 20, 2018, 04:20:46 am by joe73ffdq »

releasethedogs

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #5 on: April 30, 2018, 11:03:04 pm »
this has me excited.
thanks for doing it.
can you tell how the battle system work?

joe73ffdq

  • Full Member
  • ***
  • Posts: 185
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #6 on: May 03, 2018, 06:38:08 pm »
The battle system is the same as all classic RPG's, turn based. Specifically though, each formation can have up to 6 possible enemies, with each slot having a different % rate. Aside of that there are special battles, which have a 25% chance to occur instead of the normal formation. There is a 75% chance for the normal formation, and 25% for the special battle to occur.

#1 : 1-6 enemies - very high chance
#2 : 1-6 enemies - high chance
#3 : 1-6 enemies - Medium chance
#4 : 1-1 enemies - low chance
#5 : 3-6 enemies - low medium chance
#6 : 1-1 enemies - low chance

Depending on the formation #, there will be 1-3, 1-4, 1-6, 3-3, 3-4, or 3-6 enemies.

Here is the likely occurrence rate.

#1
#2
#3
#5
Special battle
#4
#6

#1-4 can appear in the same battle
#5-6 will appear alone
Special battles can have up to 4 enemies

There are 64 regular formations, and 13 special battles. 64 total special battles, but only 13 are changeable.


This is where I am at right now. Setting up all the formations and zones. Most of it is similar to the usual formations, but here are the new ones.

Saber Leopards west of Moonbrooke
Slime, Red Slime, Metal Slime, Drakee, Magidrakee, and Drakeema in Tantegal region
Green Dragon rare chance in the lower levels of Charlock Castle
Iron Ant and King Cobra in the Lighthouse
Demighost now in the ocean, and Gorgon being the most powerful
Green Dragons in Tuhn region, Moon Tower, Sea Cave, and CTR
Cyclops, Blue Dragon, and Magic Vampirus, rare chance in Tuhn region
Blue Dragon rare chance in Sea Cave, regular chance in the upper levels of CTR and Rhone
Red Dragon rare chance in Rhone, and regular chance in Hargons Castle


I am currently deciding on formations for Hamlin, Moonbrooke, and Wind Tower. Once I get further, I will have to see how well all these ideas will work. I already know that dragons will appear as singles, until deep into CTR and Rhone itself. Aside of that, many formations will be based on my favorite enemies.


Thank you for taking interest in this project  :beer:

This enemy set up is proving to be a little difficult, and what looks good on paper plays out differently in battle. I have the first 10 enemies pretty much all set, and equipment power/prices decided through Hamlin. Right now I am finalizing what enemies will appear where, and then I will create enemy stats/abilities from Hamlin and beyond.

I started to stall on this in the past week, but hopefully I can plow through this zoning thing, and actually complete a project for the first time.

releasethedogs

  • Jr. Member
  • **
  • Posts: 67
    • View Profile
Re: Dragon Warrior 2 Disassembly
« Reply #7 on: June 19, 2018, 02:07:48 am »
Sorry, I had forgotten i posted here and then got busy IRL.
What I meant was, can you understand how the game determines if you hit the monsters and how much damage you do? Can you tell how the game decides if you get a "tremendous blow" power attack? stuff like that, the mechanics behind the game.