Unfinished New Game +

If you are stuck in the Dunan Unification Wars; or wish for more details on the gameplay systems, this is the place.
User avatar
Pyriel
Webmaster
Posts: 915
Joined: Wed Aug 18, 2004 1:20 pm

Re: Unfinished New Game +

Postby Pyriel » Sun Jan 01, 2017 10:26 am

Yeah, the VA01 area has an untranslated name that you're never supposed to see. It was roughly translated to "Garrison" a while back. You're getting to that map via a mechanism that wasn't intended, at a point in the game that (eventually) wasn't intended. I'd be more surprised if it worked perfectly and there were no differences. Trying to display the area name is a fairly natural quirk of essentially teleporting there.

This is the "surprise attack" line:

Code: Select all

RAM:80113E80 unk_80113E80:   .byte 0xA4  # ñ          # DATA XREF: RAM:8011528Co
RAM:80113E80                                          # "Surprise attack!!!"
RAM:80113E81                 .byte 0x4D  # M
RAM:80113E82                 .byte 0x25  # %
RAM:80113E83                 .byte 0x22  # "
RAM:80113E84                 .byte 0x20
RAM:80113E85                 .byte 0x22  # "
RAM:80113E86                 .byte 0x19
RAM:80113E87                 .byte 0x23  # #
RAM:80113E88                 .byte 0x15
RAM:80113E89                 .byte 0x10
RAM:80113E8A                 .byte 0x11
RAM:80113E8B                 .byte 0x24  # $
RAM:80113E8C                 .byte 0x24  # $
RAM:80113E8D                 .byte 0x11
RAM:80113E8E                 .byte 0x13
RAM:80113E8F                 .byte 0x1B
RAM:80113E90                 .byte 0x67  # g
RAM:80113E91                 .byte 0x67  # g
RAM:80113E92                 .byte 0x67  # g
RAM:80113E93                 .byte 0xA4  # ñ
RAM:80113E94                 .byte    0
RAM:80113E95                 .byte    0
RAM:80113E96                 .byte    0
RAM:80113E97                 .byte    0


I don't see any other lines that are just %Hero Name% (Character 0) and nothing else, but all that would have to happen is that line gets a 0E 05 00 in that filler at the end. That'd be pretty specific and strange, though. It's probably more likely there's a bunch of garbage lingering around, and the text handlers end up treating random bytes as control characters until either a recognizable one is found, or it falls through.

One of the nearby, following lines is this:

Code: Select all

RAM:80113F14 unk_80113F14:   .byte 0xA4  # ñ          # DATA XREF: RAM:80115294o
RAM:80113F14                                          # "{Hero}! Jowy!"
RAM:80113F15                 .byte    5               # "(Hero)! Jowy!"
RAM:80113F16                 .byte    0
RAM:80113F17                 .byte 0x67  # g
RAM:80113F18                 .byte 0x10
RAM:80113F19                 .byte 0x44  # D
RAM:80113F1A                 .byte 0x1F
RAM:80113F1B                 .byte 0x27  # '
RAM:80113F1C                 .byte 0x29  # )
RAM:80113F1D                 .byte 0x67  # g
RAM:80113F1E                 .byte 0xA4  # ñ
RAM:80113F1F                 .byte    0


All that would need is an extra null character inserted. But I believe this is spoken by Rowd when you leave the tent, not when you're still in it.

I looked through the other VA modules, and while Konami copied VA01 as a base for other scenarios, notably the point where Riou and Jowy acquire their Runes (2 files), I didn't see any altered versions of the Unicorn Brigade events. I'm fairly sure you're being dropped into VA01 without getting rerouted somehow, and everything odd is just corruption either because of the way it's loaded, or because the scripts don't know how to handle the state of your game.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Mon Jan 02, 2017 1:36 am

There are a couple of things going on at once now, so I'll go for what seems solvable first.

TOWER:

I had a better look at the script commands, and can confirm that 09-11 only goes up to F5 and loads 09-13 from there, and so on. The file switch may be solely for the purpose of changing the encounter-enemies, as described in detail by JiN88.

I found the place where the boss is set, but don't know how to deactivate it because it is linked to flags. It should be noted that the boss does not reappear when you go back down the stairs once it has been defeated.
It seemed like a good idea to simply replace each boss with the first one that works, and it went OK for 09-13 and 09-14, but somehow I'm stuck on 09-15. I need to look into this more.

Pyriel, do you have any info on how the bosses get referened in the game, or in what order the boss files are lined up in the game? It seems like they are loaded with "1F xx 0F xx":

Code: Select all

boss calls in JA version:
09-11: "1F 00 0F 42 25 01"
09-13: "1F 01 0F 43 25 01"
09-14: "1F 00 0F 44 25 01"
09-15: "1F 01 0F 45 25 01"
09-16: "1F 00 0F 46 25 01"
09-17: "1F 01 0F 47 25 04"

in EN version:
09-11: "1F 00 0F 41 25 01"
09-13: "1F 01 0F 12 25 01"
09-14: "1F 00 0F 44 25 01"
09-15: "1F 01 0F 45 25 01"
09-16: "1F 00 0F 46 25 01"
09-17: "1F 01 0F 47 25 04"

It can be seen that there was another boss planned for 09-17, and when I look for its location, it's at the door. You'd probably have to open and go through the door to meet it.

I noticed in the BOSS folder that there seem to be exactly 6 instances where there is a "_K" copy of a boss file, and in JA version all having the same last-update-date, on "Oct 21, 1998", approx. 3 weeks before all the others' last-update-date.

DOR_K.BIN = Bone Dragon
GOL_K.BIN = Stone Golem
NIK_K.BIN = Abomination
RYO_K.BIN = Double Head
RAT_K.BIN = Pest Rat
HAP_K.BIN = Harpy

If it could be shown that the crash-bound tower scripts call these 6 boss files, it could possibly be said that they really ran out of time at the end. Problem of course is, Poison Moth is not among them. But maybe there is an explanation for that.

It is funny they actually made some changes between the JA and EN versions. Maybe they played with the idea of implementing this new game + back in EN version? Just a thought.

While trying to replace all bosses with the Poison Moth, I noticed that in 09-13, when I should have moved on to 09-14, I was returned to 09-11 at B1 when I didn't collect the orbs. I only tried this once, so I might be wrong, but they might have put a check to see if you collected all the orbs to move ahead.

>JiN88
>Is there any way to turn of the game graphics and assets for a while?
When ripping graphics, I had read a bit about PSX GPU, and as far as I understood, it's not like the old snes stuff where you have five layers or so of sprites that can be turned off. The 2D in PSX seems to be really 3D with texture, but flat. So instead of polygons you have flat rectangles where the sprite sheets get pasted as texture. I can't think of any easy way of turning off graphics that doesn't involve taking stuff out of the game.

>Pyriel
You can see 0xD a lot in action when you follow the Genkaku Story, in case you want to look into it. Sounds like "no-pre-caching escape hatch" might be right on, though.


WHITE SAJAH

I can confirm JiN88's observation from script commands' point of view. The problem of white Sajah is probably that the masking layer is not being lifted on the Sajah side. Both in 09-11 and 09-17 the warp to Sajah involves the following script:

Code: Select all

45 03 0B 04 02 78

"45 03" puts the white layer, "0B 04 02 78" processes the temporary whitening of the screen, the warping after that is either processed with 0xD in 09-17, or with the 0x1F-0x20 combo in 09-11. I suppose they didn't make any receiving script on Sajah side to clear this mask.
(Note: changing "45 03" to "45 02" -> the screen whitens, but at the end you are left with a black screen. )


NEW GAME? FLASH FORWARD?

I should say that as far as the script commands go, these are really trial-and-error stuff, too! You put things in, out, change, and see what happens. For example, swapping the rune-warp's 0x0B+{3 data bytes} with the Sajah-warp script confirms that these handle darkening or whitening of the screen.

Anyway, though, it is true that deleting stuff from the script may change things too much, it is best if these things could be left untouched. Setting the interpreter to slow is an interesting idea that doesn't mess with the coding. Some of the strange result might be due to having deleted the "1E 02 00" part. If this is indeed a quick flash forward, it would be kind of cool being placed in the middle of the scene facing Luca in the beginning, instead of replaying the whole scene from the start.

千ユウトン扡 should probably be チュウトン地 which is 駐屯地 in Kanji. And it means garrison, as Pyriel pointed out, or it could be just "brigade camp" in this particular case.

It seems difficult to get consistent results here; there must be a lot of flags involved. Comparing the JA and EN versions of 09-17, though, they seem to have corrected a lot of things like pointers, etc, it may be possible that the EN version actually got futher than JA version. They really might have considered putting it back into the game for the EN release. Again, just a thought.

One thing I know is this picture:
http://suikosource.com/phpBB3/download/file.php?id=273
You can see this pic in the game when you go to Kyaro town at the end alone (idk about McDohl) and check the tree in Dojo's backyard, where Mukumuku joins you at the beginning of the game. It might thus be a simple flag issue not getting cleared, but again, it could hold meaning, too.

JiN88
Posts: 14
Joined: Tue Dec 20, 2016 11:40 pm

Re: Unfinished New Game +

Postby JiN88 » Tue Jan 03, 2017 9:30 am

TOWER:

One idea on the poison moth is that it could be related to Mchdohl file load, since you were never able to meet the poison moth unless you load it up (You were only suppose to meet the WORM). Since it was present in the JPG version (I didn't load the suikoden 1 file), it would have acted as a placeholder. It crashed on the ENG Vers (With suikoden 1file ) and another (without suikoden 1 file at the ending but I suspect it was preloaded but Mchdol quest was never recruited) since it was already used...or something like that.
I don't have a run without suikoden 1 but will try to find 1.

ne__ya. Since you could disable some of the bosses, you could try traveling backwards and forward since you're only stuck at 09-15:
Go 09-15, 09-14, 09-13, 09-11 to get the orbs in that order.
Since you can't go from 09-15 to 09-16 because of the boss crash...
go to 09-11 basement and warp back to White Sajah and blindly exit the place.
Talisman warp back to 09-16 and continue till 09-17 to get the orbs.(Opps didnt realize you can't get through 09-16 to 09-16 but focusing on that floor might speed things up)

I know it works since I tried from 09-11 to get the orb, go back white Sajah, talisman warp back to 09-17. I only got two orbs and had a pretty good idea on how it appears on the gate: top left on the first orb; bottom right on the last orb . Was stuck because I couldn't get through some of the boss crash.

Makes sense to have a last boss at the last door. Probably Double head. Most likely, by gameplay wise, you meet the boss when the gate opens (like every other game).

The last update-date could be just a porting issue since NTSC J (the first one) was released on December 17th 1998 while NTSC UC (2nd one) on August 31st 1999.


WHITE SAJAH:

Nothing much to say but this: https://tcrf.net/Suikoden_II
Sajah could just be Kazah.
Since the article have almost the same effect of the RUNE WARP (Not sure. not tested but read), it could be where the game development was having the problem of getting the entrance to work. It might be more or less the same thing as what we're doing now.

I tried to insert it back in but couldnt get it to work. Might be the save state issue where a different cheat was already used (my HQ name showed up at Viki).

NEW GAME? FLASH FORWARD?


Regarding the image:
Ah, I see. Don't think I ever knew about that part. My Bad.
Either way the better question indeed is how it ended back there after the RUNE WARP.


ne__ya, you may be right about being placed in the middle of the scene, since the music after the Rune warp correspond to the music on meting Luca for the first time.

Anyway:
PSOGL2_005.jpg

I tried the 108 fight (No 108 stars, RUNE warp) and there were no changes and, as expected, there were some colours (The Standing Riou under the tree was still there). The image attached is because the game softblocked me at that point. No 108 fight run got further than that.

Also I tried to set time to 0: nothing happens
Bought Mcdohl. At the tree as ne__ya, I tried but nothing changed. After the Rune warp he's still in my party and can be used but he never pops out during events.
Apart from the two, everything was the same after the RUNE warp.
You do not have the required permissions to view the files attached to this post.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Tue Jan 03, 2017 10:27 am

Was just about to make my post and I see JiN88 got ahead of me :D

TOWER

I actually managed to get through the tower by replacing bosses, but the crash at the Rune remained (BTW in JA version, too, you get a hint of the music "Suspicion", the Luca theme). I was hoping that setting all the flags correctly for the tower might have an effect on the outcome, in case these flags are reused in later processes. No such luck.

I noted down addresses that define the boss for all sections of the tower, so for anyone who wants to play through the tower by replacing bosses, here it is (Please correct if it doesn't work):

Code: Select all

EN version:
09-11: 301635F7 42
09-13: 301123F7 12 (no need for change)
09-14: 3016662F 42
09-15: 30113D0F 12
09-16: 30164EA7 42
09-17: 30113E27 12

JA version:
09-11: 3016360F 42 (no need for change)
09-13: 30112417 42
09-14: 3016666F 42
09-15: 30113D57 12
09-16: 30164F07 42
09-17: 30113E87 12

0x12: Sewer Rat
0x42: Poison Moth

* There are only 37 boss files in the game, but the reference at least goes up to 0x47, so I have no idea how the boss files are organized.

There are some cases where I had to replace the boss with Sewer Rat (0x12), while for the others Poison Moth (0x42) works. No idea why the difference.

It seems like when you have 108 recruits, Riou always uses the "Forgiver Sign" automatically against Poison Moth without any input from the player (it doesn' matter if your Lv4 spell is used up). Maybe if you don't have the Bright Shield Rune, or if you don't have 108 recruits, this will be an automatic "receive damage animation" instead. You have to actually fight against Sewer Rat, though.

Anyway, you can go all the way up the tower like this, and I can confirm that the eight-orb door is fully functional.

WHITE SAJAH

Oh, I had completely forgotten about this Kazah effect, even though I had taken a look at it when I started to investigate Sajah, before I learned about the Escape Talisman cheat. You are so right, the effect is similar to the Run-warp. I wonder how these teleportations work...

NEW GAME? FLASH FORWARD?

Wow - You tried the 108 fight!? It's just too bad that no more changes were observed than the expected color change.
I'm running out of ideas what else could be done to get any further.
Of course, we need to keep in mind this newgame+ is unfinished, so this really may be the end of it; but hearing Luca's theme feels like there's just a little bit more stuff to be seen.

>Pyriel
You mentioned that "I think 0x1E is for executing script extensions built into the module". By script extension, do you mean the assembly language executables at the beginning? That would really be a pain to decipher, but if it is anything after the executables, there might be hope.

User avatar
Pyriel
Webmaster
Posts: 915
Joined: Wed Aug 18, 2004 1:20 pm

Re: Unfinished New Game +

Postby Pyriel » Tue Jan 03, 2017 11:31 am

No, I don't really have any info on how the boss files are loaded. All I can tell you about them is that they tend be similar to area modules, but lack some of the control structure. When I parsed the bestiary data, the boss files had to be handled somewhat differently as the first full-word of the file is a pointer to encounter data rather than to a structure that contains area information that includes the encounter information. They're essentially the same thing, just slightly simplified.

I'm a bit curious why the file # arguments are so high. The value is an index into an array of LBA values for each area, IIRC. I'm not sure why they'd have 60+ values with less than 40 bosses, but perhaps they felt the need to keep these bosses' values separate and unchanging despite the possibility the main game might have bosses added. In any case, the array of area data used by the game (for the Talisman at least) doesn't have entries for an area 0x0F, so it must be handled specially, and 0x0B - 0x0E were probably also for future expansion if needed.

Oh, no actually that array includes entries for files in the 230_EVBA (event battle?) folder as well. There's probably more. I'll finish working it out this evening.

This may be a bit random now, but the oddity in the intro is probably down to something like STAFF.BIN being used for both the ending and the intro, and it's just confused by the state the game is in when you warp back. In the background/conditional scripts commands 03 and 04 check if bit flags are on/off (I forget which does which offhand), and 01 and 02 check the player's X and Y position. Each active script (given by the commands I provided) typically has a conditional script associated with it that defines when it should fire. So if all they do is check byte 0x1A to see if bit zero is on, because there's no way it should be during the introductory period, it'll fire whatever script displays scenes from the ending.

Code: Select all

01 14 16 - check if player is between X position 20 and 22 (inclusive) on the map.
02 20 23 - check if player is between Y position 32 and 35.
03 14 08 - check if bit 3 is on in flag byte 20.
04 14 10 - check that bit 4 is not on.


Apologies if I have these backwards (e.g., X is Y/set is not set). I haven't extensively documented this part of the game outside making notes in particular scripts I've reverse-engineered. I've mostly concerned myself with things that help me sort out bugs, and so far only one or two of them have been due to something in this part of the engine.

Edit:

ne__ya wrote:>Pyriel
You mentioned that "I think 0x1E is for executing script extensions built into the module". By script extension, do you mean the assembly language executables at the beginning? That would really be a pain to decipher, but if it is anything after the executables, there might be hope.


Yeah, whatever code happens to be compiled in there, and registered as calls that can be made from scripts. This, for example is from VB18.BIN. It calls a function from the main executable that halves HP, which I assume is associated with some spell effect, or something. I can't for the life of me remember what it would be, but something similar to Demi in Final Fantasy.

Code: Select all

RAM:8010DCA0                 li      $v1, 0x80073008  # Load Function Address
RAM:8010DCA8                 li      $a0, 3           # Arguments
RAM:8010DCAC                 li      $a1, 2
RAM:8010DCB0                 sw      $v1, dword_8015B238  # Trace
RAM:8010DCB4                 move    $s1, $v0         # Store return of last call.
RAM:8010DCB8                 li      $a2, 1
RAM:8010DCBC                 jalr    $v1              # Call function to halve HP
RAM:8010DCC0                 addiu   $a3, $sp, 0x10


In VB18's case, it needs to call the 0x80073008 routine outside of battle, so it wraps it in its own code, enabling it to be called from a script when you don't stand still during Eilie's knife-throwing performance.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Thu Jan 05, 2017 7:50 am

37 boss files and 27 event battle files would add up nicely, and if they have empty references for structural reasons, that might account for the high file # arguments :D

And oh, that's no good news - decompiling and understanding these executables will be a fulltime task.
I tried taking a save state at the crash (the message says "COP0 Opcode 1a UNK" by the way, just to have it noted down), and can confirm that VA01.BIN is fully loaded. So the problem is either the executable in VJ24.BIN, or something in VA01.BIN, or the "nothing" in VA01.BIN, meaning, there might be no receiving script that handles this procedure.
I intend to go through the script commands of VA01.BIN, but it's a lot going on there, so this will take some time.

EDIT: I forgot to add that the Luca theme is called by VJ24.BIN, not VA01.BIN.

Code: Select all

05 18 08 00 0D 49 0F 45 02 0B 02 02 B4 1E 02 00 65 09 0F 0D 05 00 00 00 31 26 FF FE FF

In the above Rune-warp code, "65 09" starts the sound, and modifying "09" to a different number will start differend sounds. So everything we see or hear up to the crash is done by VJ24.BIN.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Fri Jan 06, 2017 9:00 am

I was starting to take a close look at VA01.BIN, (many thanks again to Pyriel - everything makes so much more sense now knowing that 03/04 check flags bitwise like that) and was about to look at the actual flag locations, when I noticed something's totally off with the savestate I took at the crash. I don't know how to describe it - it's the part that gets saved into memory cards around $690D8-6AFF0 or so (everyone doing cheats is familiar with these addresses as they store character strength etc). It looks corrupt.

Before checking on VA01.BIN, I had taken a brief look at this region. The comparison I had made was between a savestate from the beginning of the game, and the one I was using to investigate newgame+; it seemed like $690F4-691F3 doesn't change throughout the game (no idea what it's for). And that part, is gone.
The next part, $6920E-697E3, looks gone, too.
The part after that, $69892-6A43E, seems to have replaced the first part, but continues on strangely.
To visualize this, I made a screenshot of bitimages (they are handy to use as customized fingerprints of binaries) of the said regions. Left one is a normal save and any good save looks pretty much like this, with little difference in the pattern. The right one comes from the savestate at the crash. There is definitely something going on - probably either an attempt at overwriting certain flags for the flash-forward, or in preparation of a newgame+. In either case, it doesn't look like it's doing the job it's supposed to do.
EDIT: At least, the run-on of 0x1C bytes of "FF" at the beginning looks like this part has been initialized. A savestate from the beginning of the game has the same run-on of "FF" there, while a savestate from the end has all sorts of data.

Comparison.jpg

EDIT: updated picture making sure they originate from the same save, left side is just before the Rune, right side is at the crash. The red rectangle indicates the region that is saved into mem cards. As can be seen, some other regions just before are partially deleted, too.
EDIT: Another picture update: for comparison, added a savestate from the start of the game at the very right. The overwritten part looks pretty close to it.

So this may actually be the reason for the crash. Analysing the corrupt region may give some more info on what was intented, but I kind of doubt there is an easy fix for this. On the other hand, if the written contents are OK (I have no idea), just in a wrong place, fixing some pointers in one of the executables might be all that is needed.
You do not have the required permissions to view the files attached to this post.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Sat Jan 07, 2017 1:56 am

Some good news!
The picture I posted yesterday used JA version, and today I checked out the EN version and results are MUCH BETTER (left side is before the Rune, right side is at the crash):

ComparisonEN.jpg

It can be seen that flags have been initialized, but character strengths are mostly untouched at this point.
So they really did some work before EN release! In JA version, it looked like the executable didn't know where to look and where to write.
I think we can forget about the possibility that JA version might be better off with regard to newgame+, and concentrate on the EN version :D
You do not have the required permissions to view the files attached to this post.

User avatar
Pyriel
Webmaster
Posts: 915
Joined: Wed Aug 18, 2004 1:20 pm

Re: Unfinished New Game +

Postby Pyriel » Sat Jan 07, 2017 11:50 pm

I think you have to acknowledge the more pessimistic hypothesis, which is that they took out more in the NA release, and instead of even attempting to reset the game properly, everything was just left untouched by the time all the cruft was gone. I honestly don't know which it is, but given the sort of shoddy localizations in the west, I'm leaning towards less work was done, rather than more.

Everything below is for the NA version unless otherwise stated.

Code: Select all

Viki Teleports to Unknown Dungeon (Pick Kazah Village)
8006AEAA 0080
D015DC50 E1C4
3015F53D 0009
D015DC50 E1C4
3015F53E 0011

Bypass crash on lower floor...
3006AFB4 0001

Or Fight Poison Moth (auto-win)
D015DC50 37E0
301635F7 0042


I did some work tonight to make things a bit simpler. I haven't tested these as codes (particularly the top one). I just poked the appropriate data at the appropriate times. The script that loads (what I presume is) the first boss battle has some commands I never reverse-engineered in it, so I'm not sure exactly what it's doing right now. Setting the event flag fools the scripts into believing the battle (or whatever) already occurred.

Might as well show my work. I looked through TELEPO.BIN, and figured out how to get additional teleportation destinations going. It's probably worth reinstating the Gregminster one for other purposes.

Code: Select all

RAM:8015F46C ArrTargetPlace: .byte    0               # DATA XREF: RAM:8015EFC4o
RAM:8015F46C                                          # RAM:8015F010o ...
RAM:8015F46C                                          # Place 0?
RAM:8015F46D                 .byte    0               # 8 bytes per target.  last byte is probably alignment padding.
RAM:8015F46E                 .byte    0
RAM:8015F46F                 .byte    0
RAM:8015F470                 .byte 0x64  # d
RAM:8015F471                 .byte    0
RAM:8015F472                 .byte 0xC8  # +
RAM:8015F473                 .byte    0
RAM:8015F474                 .byte    1               # Place 1?  Kyaro 00 - 02
RAM:8015F475                 .byte    0
RAM:8015F476                 .byte    2
RAM:8015F477                 .byte    1
RAM:8015F478                 .byte 0x64  # d
RAM:8015F479                 .byte    0
RAM:8015F47A                 .byte 0xC8  # +
RAM:8015F47B                 .byte    0
RAM:8015F47C                 .byte    2               # Place 2? Forest Village 04 - 01
RAM:8015F47D                 .byte    4               # Area
RAM:8015F47E                 .byte    1               # Map
RAM:8015F47F                 .byte 0x14               # ?
RAM:8015F480                 .byte 0x64  # d          # ??
RAM:8015F481                 .byte    0
RAM:8015F482                 .byte 0xC8  # +
RAM:8015F483                 .byte    0
RAM:8015F484                 .byte    3               # Place 3? None? 01 - 01 (Riverbank?)
RAM:8015F485                 .byte    1
RAM:8015F486                 .byte    1
RAM:8015F487                 .byte 0xFF
RAM:8015F488                 .byte 0x64  # d
RAM:8015F489                 .byte    0
RAM:8015F48A                 .byte 0xC8  # +
RAM:8015F48B                 .byte    0
RAM:8015F48C                 .byte    4               # Place 4? None? 01 - 02 (Toto Village?)
RAM:8015F48D                 .byte    1
RAM:8015F48E                 .byte    2
RAM:8015F48F                 .byte 0xFF
RAM:8015F490                 .byte 0x64  # d
RAM:8015F491                 .byte    0
RAM:8015F492                 .byte 0xC8  # +
RAM:8015F493                 .byte    0
RAM:8015F494                 .byte    5               # Place 5? None? 01 - 04 (Ryube?)
RAM:8015F495                 .byte    1
RAM:8015F496                 .byte    4
RAM:8015F497                 .byte 0xFF
RAM:8015F498                 .byte 0x64  # d
RAM:8015F499                 .byte    0
RAM:8015F49A                 .byte 0xC8  # +
RAM:8015F49B                 .byte    0
RAM:8015F49C                 .byte    6               # Place 6? None? 01 - 07 (North Sparrow Pass)
RAM:8015F49D                 .byte    1
RAM:8015F49E                 .byte    7
RAM:8015F49F                 .byte 0xFF
RAM:8015F4A0                 .byte 0x64  # d
RAM:8015F4A1                 .byte    0
RAM:8015F4A2                 .byte 0xC8  # +
RAM:8015F4A3                 .byte    0
RAM:8015F4A4                 .byte    7               # Place 7? Forest Pass Greenhill-Matilda 04 - 03
RAM:8015F4A5                 .byte    4
RAM:8015F4A6                 .byte    3
RAM:8015F4A7                 .byte 0x15
RAM:8015F4A8                 .byte 0x64  # d
RAM:8015F4A9                 .byte    0
RAM:8015F4AA                 .byte 0xC8  # +
RAM:8015F4AB                 .byte    0
RAM:8015F4AC                 .byte    8               # Place 8? None? 01 - 08 (Tenzen Pass Cliff)
RAM:8015F4AD                 .byte    1
RAM:8015F4AE                 .byte    8
RAM:8015F4AF                 .byte 0xFF
RAM:8015F4B0                 .byte 0x64  # d
RAM:8015F4B1                 .byte    0
RAM:8015F4B2                 .byte 0xC8  # +
RAM:8015F4B3                 .byte    0
RAM:8015F4B4                 .byte    9               # Place 9? Muse City 02 - 19 (liberated)
RAM:8015F4B5                 .byte    2
RAM:8015F4B6                 .byte 0x19
RAM:8015F4B7                 .byte    6
RAM:8015F4B8                 .byte 0x64  # d
RAM:8015F4B9                 .byte    0
RAM:8015F4BA                 .byte 0xC8  # +
RAM:8015F4BB                 .byte    0
RAM:8015F4BC                 .byte  0xA               # Place A? White Deer Inn 02 - 03
RAM:8015F4BD                 .byte    2
RAM:8015F4BE                 .byte    3
RAM:8015F4BF                 .byte    7
RAM:8015F4C0                 .byte 0x64  # d
RAM:8015F4C1                 .byte    0
RAM:8015F4C2                 .byte 0xC8  # +
RAM:8015F4C3                 .byte    0
RAM:8015F4C4                 .byte  0xB               # Place B? Muse-Greenhill Border 04 - 04
RAM:8015F4C5                 .byte    4
RAM:8015F4C6                 .byte    4
RAM:8015F4C7                 .byte  0xA
RAM:8015F4C8                 .byte 0x64  # d
RAM:8015F4C9                 .byte    0
RAM:8015F4CA                 .byte 0xC8  # +
RAM:8015F4CB                 .byte    0
RAM:8015F4CC                 .byte  0xC               # Place C? Coronet Town 02 - 05
RAM:8015F4CD                 .byte    2
RAM:8015F4CE                 .byte    5
RAM:8015F4CF                 .byte  0xB
RAM:8015F4D0                 .byte 0x64  # d
RAM:8015F4D1                 .byte    0
RAM:8015F4D2                 .byte 0xC8  # +
RAM:8015F4D3                 .byte    0
RAM:8015F4D4                 .byte  0xD               # Place D. Kuskus Town 03 - 00
RAM:8015F4D5                 .byte    3
RAM:8015F4D6                 .byte    0
RAM:8015F4D7                 .byte  0xC
RAM:8015F4D8                 .byte 0x64  # d
RAM:8015F4D9                 .byte    0
RAM:8015F4DA                 .byte 0xC8  # +
RAM:8015F4DB                 .byte    0
RAM:8015F4DC                 .byte  0xE               # Place E. South Window City 03 - 02
RAM:8015F4DD                 .byte    3
RAM:8015F4DE                 .byte    2
RAM:8015F4DF                 .byte  0xD
RAM:8015F4E0                 .byte 0x64  # d
RAM:8015F4E1                 .byte    0
RAM:8015F4E2                 .byte 0xC8  # +
RAM:8015F4E3                 .byte    0
RAM:8015F4E4                 .byte  0xF               # Place F. None? 03 - 03 (North Window)
RAM:8015F4E5                 .byte    3
RAM:8015F4E6                 .byte    3
RAM:8015F4E7                 .byte 0xFF
RAM:8015F4E8                 .byte 0x64  # d
RAM:8015F4E9                 .byte    0
RAM:8015F4EA                 .byte 0xC8  # +
RAM:8015F4EB                 .byte    0
RAM:8015F4EC                 .byte 0x10               # Place 10. Radat Town 03 - 04 (list says Dojo?)
RAM:8015F4ED                 .byte    3
RAM:8015F4EE                 .byte    4
RAM:8015F4EF                 .byte  0xE
RAM:8015F4F0                 .byte 0x64  # d
RAM:8015F4F1                 .byte    0
RAM:8015F4F2                 .byte 0xC8  # +
RAM:8015F4F3                 .byte    0
RAM:8015F4F4                 .byte 0x11               # Place 11. Cave of Wind 03 - 05 (list says Radat?)
RAM:8015F4F5                 .byte    3
RAM:8015F4F6                 .byte    5
RAM:8015F4F7                 .byte  0xF
RAM:8015F4F8                 .byte 0x64  # d
RAM:8015F4F9                 .byte    0
RAM:8015F4FA                 .byte 0xC8  # +
RAM:8015F4FB                 .byte    0
RAM:8015F4FC                 .byte 0x12               # Place 12. Greenhill City. 04 - 00
RAM:8015F4FD                 .byte    4
RAM:8015F4FE                 .byte    0
RAM:8015F4FF                 .byte 0x13
RAM:8015F500                 .byte 0x64  # d
RAM:8015F501                 .byte    0
RAM:8015F502                 .byte 0xC8  # +
RAM:8015F503                 .byte    0
RAM:8015F504                 .byte 0x13               # Place 13. Crom Village. 06 - 02
RAM:8015F505                 .byte    6
RAM:8015F506                 .byte    2
RAM:8015F507                 .byte 0x1B
RAM:8015F508                 .byte 0x64  # d
RAM:8015F509                 .byte    0
RAM:8015F50A                 .byte 0xC8  # +
RAM:8015F50B                 .byte    0
RAM:8015F50C                 .byte 0x14               # Place 14. Drakemouth Village. 06 - 05
RAM:8015F50D                 .byte    6
RAM:8015F50E                 .byte    5
RAM:8015F50F                 .byte 0x1C
RAM:8015F510                 .byte 0x64  # d
RAM:8015F511                 .byte    0
RAM:8015F512                 .byte 0xC8  # +
RAM:8015F513                 .byte    0
RAM:8015F514                 .byte 0x15               # Place 15. Tigermouth Village. 06 - 06
RAM:8015F515                 .byte    6
RAM:8015F516                 .byte    6
RAM:8015F517                 .byte 0x1D
RAM:8015F518                 .byte 0x64  # d
RAM:8015F519                 .byte    0
RAM:8015F51A                 .byte 0xC8  # +
RAM:8015F51B                 .byte    0
RAM:8015F51C                 .byte 0x16               # Place 16. Toto Village. 01 - 03 (burned)
RAM:8015F51D                 .byte    1
RAM:8015F51E                 .byte    3
RAM:8015F51F                 .byte    2
RAM:8015F520                 .byte 0x64  # d
RAM:8015F521                 .byte    0
RAM:8015F522                 .byte 0xC8  # +
RAM:8015F523                 .byte    0
RAM:8015F524                 .byte 0x17               # Place 17. Banner Village (To Toran Republic). 05 - 04
RAM:8015F525                 .byte    5
RAM:8015F526                 .byte    4
RAM:8015F527                 .byte 0x19
RAM:8015F528                 .byte 0x64  # d
RAM:8015F529                 .byte    0
RAM:8015F52A                 .byte 0xC8  # +
RAM:8015F52B                 .byte    0
RAM:8015F52C                 .byte 0x18               # Place 18.  None? 05 - 01 (Gregminster Town)
RAM:8015F52D                 .byte    5
RAM:8015F52E                 .byte    1
RAM:8015F52F                 .byte 0xFF
RAM:8015F530                 .byte 0x64  # d
RAM:8015F531                 .byte    0
RAM:8015F532                 .byte 0xC8  # +
RAM:8015F533                 .byte    0
RAM:8015F534                 .byte 0x19               # Place 19. Tinto City. 06 - 00
RAM:8015F535                 .byte    6
RAM:8015F536                 .byte    0
RAM:8015F537                 .byte 0x1A
RAM:8015F538                 .byte 0x64  # d
RAM:8015F539                 .byte    0
RAM:8015F53A                 .byte 0xC8  # +
RAM:8015F53B                 .byte    0
RAM:8015F53C                 .byte 0x1A               # Place 1A. Kazah Village 00 - 00 (Unicorn Brigade Garrison)
RAM:8015F53D                 .byte    0
RAM:8015F53E                 .byte    0
RAM:8015F53F                 .byte 0x17
RAM:8015F540                 .byte 0x64  # d
RAM:8015F541                 .byte    0
RAM:8015F542                 .byte 0xC8  # +
RAM:8015F543                 .byte    0
RAM:8015F544                 .byte 0x1B               # Place 1B.  Ryube Village.  01 - 05 (burned)
RAM:8015F545                 .byte    1
RAM:8015F546                 .byte    5
RAM:8015F547                 .byte    3
RAM:8015F548                 .byte 0x64  # d
RAM:8015F549                 .byte    0
RAM:8015F54A                 .byte 0xC8  # +
RAM:8015F54B                 .byte    0
RAM:8015F54C                 .byte 0x1C               # Place 1C. North Sparrow Pass.  01 - 10 (late game?)
RAM:8015F54D                 .byte    1
RAM:8015F54E                 .byte 0x10
RAM:8015F54F                 .byte    5
RAM:8015F550                 .byte 0x64  # d
RAM:8015F551                 .byte    0
RAM:8015F552                 .byte 0xC8  # +
RAM:8015F553                 .byte    0
RAM:8015F554                 .byte 0x1D               # Place 1D. Mercenary Fortress.  01 - 09
RAM:8015F555                 .byte    1
RAM:8015F556                 .byte    9
RAM:8015F557                 .byte    4
RAM:8015F558                 .byte 0x64  # d
RAM:8015F559                 .byte    0
RAM:8015F55A                 .byte 0xC8  # +
RAM:8015F55B                 .byte    0
RAM:8015F55C                 .byte 0x1E               # Place 1E. Two River City. 07 - 00
RAM:8015F55D                 .byte    7
RAM:8015F55E                 .byte    0
RAM:8015F55F                 .byte 0x10
RAM:8015F560                 .byte 0x64  # d
RAM:8015F561                 .byte    0
RAM:8015F562                 .byte 0xC8  # +
RAM:8015F563                 .byte    0
RAM:8015F564                 .byte 0x1F               # Place 1F. Lakewest Town. 07 - 01
RAM:8015F565                 .byte    7
RAM:8015F566                 .byte    1
RAM:8015F567                 .byte 0x11
RAM:8015F568                 .byte 0x64  # d
RAM:8015F569                 .byte    0
RAM:8015F56A                 .byte 0xC8  # +
RAM:8015F56B                 .byte    0
RAM:8015F56C                 .byte 0x20               # Place 20.  Kobold Village. 07 - 02
RAM:8015F56D                 .byte    7
RAM:8015F56E                 .byte    2
RAM:8015F56F                 .byte 0x12
RAM:8015F570                 .byte 0x64  # d
RAM:8015F571                 .byte    0
RAM:8015F572                 .byte 0xC8  # +
RAM:8015F573                 .byte    0
RAM:8015F574                 .byte 0x21  # !          # Place 21. None? 05 - 00 (Rokkaku)
RAM:8015F575                 .byte    5
RAM:8015F576                 .byte    0
RAM:8015F577                 .byte 0xFF
RAM:8015F578                 .byte 0x64  # d
RAM:8015F579                 .byte    0
RAM:8015F57A                 .byte 0xC8  # +
RAM:8015F57B                 .byte    0
RAM:8015F57C                 .byte 0x22  # "          # Place 22.  Rakutei Mountain. 08 - 0C
RAM:8015F57D                 .byte    8
RAM:8015F57E                 .byte  0xC
RAM:8015F57F                 .byte 0x18
RAM:8015F580                 .byte 0x64  # d
RAM:8015F581                 .byte    0
RAM:8015F582                 .byte 0xC8  # +
RAM:8015F583                 .byte    0
RAM:8015F584                 .byte 0x23  # #          # Place 23.  Rockaxe Castle. 08 - 00
RAM:8015F585                 .byte    8
RAM:8015F586                 .byte    0
RAM:8015F587                 .byte 0x16
RAM:8015F588                 .byte 0x64  # d
RAM:8015F589                 .byte    0
RAM:8015F58A                 .byte 0xC8  # +
RAM:8015F58B                 .byte    0
RAM:8015F58C                 .byte 0x24  # $          # Place 24.  Muse-Matilda Border. 08 - 0A
RAM:8015F58D                 .byte    8
RAM:8015F58E                 .byte  0xA
RAM:8015F58F                 .byte    9
RAM:8015F590                 .byte 0x64  # d
RAM:8015F591                 .byte    0
RAM:8015F592                 .byte 0xC8  # +
RAM:8015F593                 .byte    0
RAM:8015F594                 .byte 0x25  # %          # Place 25. Muse-Highland Border. 02 - 06
RAM:8015F595                 .byte    2
RAM:8015F596                 .byte    6
RAM:8015F597                 .byte    8
RAM:8015F598                 .byte 0x64  # d
RAM:8015F599                 .byte    0
RAM:8015F59A                 .byte 0xC8  # +
RAM:8015F59B                 .byte    0
RAM:8015F59C                 .byte 0x26  # &          # Place 26. None? 00 - 00 (Unicorn Brigade Garrison)
RAM:8015F59D                 .byte    0
RAM:8015F59E                 .byte    0
RAM:8015F59F                 .byte 0xFF
RAM:8015F5A0                 .byte 0x64  # d
RAM:8015F5A1                 .byte    0
RAM:8015F5A2                 .byte 0xC8  # +
RAM:8015F5A3                 .byte    0
RAM:8015F5A4                 .byte 0x27  # '          # Place 27. None. 00 - 00 ibid.
RAM:8015F5A5                 .byte    0
RAM:8015F5A6                 .byte    0
RAM:8015F5A7                 .byte 0xFF
RAM:8015F5A8                 .byte 0x64  # d
RAM:8015F5A9                 .byte    0
RAM:8015F5AA                 .byte 0xC8  # +
RAM:8015F5AB                 .byte    0
RAM:8015F5AC                 .byte 0x28  # (          # Place 28. L'Renouille. 09 - 00 (list says Muse?)
RAM:8015F5AD                 .byte    9
RAM:8015F5AE                 .byte    0
RAM:8015F5AF                 .byte 0x1E
RAM:8015F5B0                 .byte 0x64  # d
RAM:8015F5B1                 .byte    0
RAM:8015F5B2                 .byte 0xC8  # +
RAM:8015F5B3                 .byte    0
RAM:8015F5B4                 .byte 0x29  # )          # Place 29. Headquarters. 0A - 00 (game menu would say "%castle name% Castle")
RAM:8015F5B5                 .byte  0xA
RAM:8015F5B6                 .byte    0
RAM:8015F5B7                 .byte 0x1F
RAM:8015F5B8                 .byte 0x64  # d
RAM:8015F5B9                 .byte    0
RAM:8015F5BA                 .byte 0xC8  # +
RAM:8015F5BB                 .byte    0
RAM:8015F5BC                 .byte 0x2A  # *          # Place 2A. Forest Village. 04 - 01
RAM:8015F5BD                 .byte    4
RAM:8015F5BE                 .byte    1
RAM:8015F5BF                 .byte 0x14
RAM:8015F5C0                 .byte 0x64  # d
RAM:8015F5C1                 .byte    0
RAM:8015F5C2                 .byte 0xC8  # +
RAM:8015F5C3                 .byte    0               # Hidden "Not a City" place name.  No entry.


There are 3 scripts running simultaneously (in as much as that's possible) in 9-11. I assume it's the boss battle load that dies, as it's trying to load EB_VE15.BIN, and just going by the name that doesn't seem like a good idea. Looking at the arrays in the Japanese version, it's loading IMO3.BIN, which is the final bit of the Poison Moth. Kind of an anti-climax. One of the codes above will force the script to load that. I believe this has been touched upon previously, but you guys are jumping around a lot.

As far as I can tell, RAT_K.BIN is not called. The file loaded is RAT.BIN, so they just reused the fight from the sewer directly. Kind of lends itself to the idea that these are just placeholders for what they actually intended. I tried loading RAT_K.BIN in place of the Pest Rat, and the game just threw a bunch of bad op code errors and locked. The file is not even referenced in the array of boss battles. Worse than that, the stuff beyond index 0x42 with the bosses hits a different array, that points to stuff it really shouldn't. Entry 0x43 in the Japanese version gets you to VA01.BIN, which isn't so much a boss battle, unless you consider playing the whole game again the ultimate boss that must be faced.

Edit: A lot of this looks to me like the localization team trying to figure out what all this was, and messing about as a consequence. Maybe in development it was sort of half-working, and they just explored in the debug tools, throwing in a place-holder or two, until they found out or were told that there wasn't any point in localizing the data.

Edit: All the function calls in RAT_K are off for a start. The NA calls don't even match the Japanese version's main EXE. If you load it, it'll jump into the middle of functions, and then god knows what happens. With luck, it's conceivable that the file could be made into something that could run again, assuming it was merely removed from final builds, only function pointers are off, and all the code is comparable to RAT.BIN. Otherwise, it could be nigh impossible to divine Konami's intent, and the file is just an abandoned, useless resource.

ne__ya
Posts: 26
Joined: Wed Dec 07, 2016 8:47 am

Re: Unfinished New Game +

Postby ne__ya » Mon Jan 09, 2017 5:36 am

Yeah... You are probably right about it.
I had briefly gone through VA01 and VA09 (after the raid), but the initialized flags from the EN savestate at the crash wouldn't have made any difference in the event flow, even though the music suggests it should start with some event involving Luca. It is reasonable that the localization team might have tried to make sense of it, ending up initializing all flags when these should have been partially set, to start in the middle of the raid.

So they made the tower, complete with the eight-orb door, but never got to actually place treasure boxes or bosses in it (If the "_K" copies of boss files aren't even included in the boss array, I'd like to think these were intended for the tower, but like this, I guess we'll never know).
They made that hole in Sajah, but never created the insides of that cave, not even any sprite sheets.
They had the Rune and the dialogue ready, but never really got to prepare the flash-forward nor the newgame+. Since it looks like they never coded for the latter portion of the Rune-dialogue, it was kind of to be expected that they left off development somewhere around here.

Looks totally like this would be the cul-de-sac of this unfinished newgame+, then :(

All three of your codes work perfectly fine. It's really handy to have the tower as a destination for teleportation. Great to see the master at work and seeing how it's done in a sophisticated manner :D

User avatar
Pyriel
Webmaster
Posts: 915
Joined: Wed Aug 18, 2004 1:20 pm

Re: Unfinished New Game +

Postby Pyriel » Mon Jan 09, 2017 11:03 am

Well, the good news is that RAT_K looks like it might be salvageable so far. I've only reviewed about 20% of it closely, but a quick skim of the rest doesn't raise any alarms.

I'm doing this in a sort of linear fashion. If I can get RAT_K to actually run, I might be able to review the other _K files and get them working. Possibly a review of the enemy levels will give an indication of what order they should occur in, coupled with where they load, and the script references. Or, I'll just end up bypassing all the boss battles. After that, I'll have a look at what's going on in that last series of events.

JiN88
Posts: 14
Joined: Tue Dec 20, 2016 11:40 pm

Re: Unfinished New Game +

Postby JiN88 » Wed Jan 11, 2017 1:56 am

I been busy but it's been interesting to read on.

I tried the codes, it works, very glitchy but was able to play around it (if you're stuck in a boss fight like it got softblocked, reset to an earlier save and go into some random battle and go back to the boss. Should reset it).


I tried going around after getting the orbs and such and there really isn't much to do left in the dungeon. Nothing I know changed when I go back out of Sajah after the orbs as far as I can tell. Same goes for Rune-warp to the beginning.

It would make sense that any salvageable resources would in the JPG version since, you know, its the first one.

Hope the two of you can dig up something interesting from your datamining.

I don't have much left to do unless Omnigamer can somehow whip us some save state to experiment and explore.

But I still do have some question:
Anyone figured out the empty rooms in the 09-17 top floor? the same floor with the gate. It seems weird to have lots of empty rooms. The lower floors with the same empty spots would make sense if its meant for treasure chest but the top floor seems like its meant to place something else. Seems suspicious....6 bosses statues?
download/file.php?id=247

Omnigamer
Posts: 280
Joined: Wed Feb 13, 2013 11:48 am

Re: Unfinished New Game +

Postby Omnigamer » Wed Jan 11, 2017 11:12 am

Sorry on the wait, I'm wrapped up with AGDQ duties until at least next week though. Should be able to get you guys something pretty quickly after I get back though.


Return to “Suikoden II”

Who is online

Users browsing this forum: No registered users and 3 guests