Post by Chiz on Jun 2, 2012 3:33:41 GMT -5
This is a two-part status update, one related to the PC version, and one not, but are both along the same theme - intercompatibility.
The first is that I'm happy to announce that I've really delved deep into the workings of the savefile format that DASH2PC uses. For the past number of months, logging where things are stored has been my primary focus, and I'm pleased to say I've made a lot of progress on it. It's far from done, of course, but a great deal of statistics and variables have been isolated and can be changed for experimental and educational purposes.
However, through a random hunch, I looked at the savefile of the PS1 originals. Turns out they're the same, to the point that, if one extracts the raw data from a PS1 save (regardless of region), without much effort, one can load it into DASH2PC; likewise, a DASH2PC save can be injected into a memory card image and loaded in the PS1 game (again, any region) without error. This is both an interesting bit of insight into how the game was ported.
While researching the Playstation 1 save header format (which DASH2PC reproduces faithfully), I came across a light technical document related to Resident Evil 2, but it discussed the header. Once I was finished reading the notes, it caught my eye that the technical document pertained to the PC version of Resident Evil 2, but still had the PS1 save header mimiced, which leads me to believe that pretty much every PC port of a Capcom game from the early 2000s uses the same saves format as its PS1 original.. This could be exciting news to anyone who happens to be working on a project similar to my own.
Anyway, as such, I suspect once I sit down and get serious about writing a savegame editor (I'd like to thank MLT for agreeing to consider the possibility of taking the time to potentially produce a preliminary save editor on a strictly non-committal basis), I will naturally support extracted PS1 saves in .mcs format for all 3 versions, and will support conversion between them. Tools to extract to and inject from .mcs files are commonly available from, your friend and mine, Google. I recommend 'PSXGameEdit' or 'MemcardRex'.
Part 2 of this strange tale comes as a recent development tonight that I have no serious, immediate intentions to follow up on, but could very well make an interesting project for someone to work on.
I have long held that the PSP versions of the games are, on some level, PS1 emulation. Indeed, early news reports of the game's release suggested the possibility of PS1 emulation on the PSP (this is before the official emulator's release, of course), but this was quickly dismissed as unlikely. "The PSP is its own game" and isn't a PS1 ISO wrapped in an eboot or some such, like PSN purchases or Popsloader packages. And to an extent, this is true. There's a lot of things that the PSP games do that the PS1 games obviously don't. AC3 audio replaces the original XA, Episode 1 is embedded in the game, subtitles in the cutscenes, or the most obvious, widescreen support without stretching.
However, playing the PSP game, I noticed that, at the right angles, polygons and textures stretch and distort, just like the PS1 does. Now, the PC version doesn't do this, so if it were truly a port, this wouldn't occur, unless they explicitly programmed in these flaws. Likewise, many cutscenes have some minor z-fighting and pop-in that occured on the original console, like the rear of the Sulphur Bottom.
So, again, on a hunch, I looked at the game files. Turns out that the PSP version uses the same format of .BIN files as the PS1 original. Innocent enough, but many of them are also the same size, down to the byte, of their PS1 counterparts. Same format, same size...
So I patched a PS1 ISO with one of the PSP's files. ST4A.BIN, to be specific - the Tutorial level. No difference. I try it in reverse, patching the PSP ISO with the PS1's version of ST4A.BIN. No difference. The files are slightly different, but not dramatically, and in-game there is no obvious change.
So I get the idea - what about the American-PS1 version's ST4A.BIN in DASH2PSP? It's still the same filesize, remarkably; down to the byte. I expect it to crash and burn, since, as Pitch pointed out, "there's a big difference between the US and Japanese versions". Whether or not I'm to be disappointed or impressed is up in the air:
This could make a fun project for someone who is interested in this sort of thing. I have no intentions on following up on this because DASH2PC is my main focus, and its resource files are wildly different from those of the PS1 original. However, it's something to note, that an English DASH2PSP - a "real" one, not an "emulated" one, although I still hold both are emulated, even more so now - is only as hard as figuring out the PS1 version.
The first is that I'm happy to announce that I've really delved deep into the workings of the savefile format that DASH2PC uses. For the past number of months, logging where things are stored has been my primary focus, and I'm pleased to say I've made a lot of progress on it. It's far from done, of course, but a great deal of statistics and variables have been isolated and can be changed for experimental and educational purposes.
However, through a random hunch, I looked at the savefile of the PS1 originals. Turns out they're the same, to the point that, if one extracts the raw data from a PS1 save (regardless of region), without much effort, one can load it into DASH2PC; likewise, a DASH2PC save can be injected into a memory card image and loaded in the PS1 game (again, any region) without error. This is both an interesting bit of insight into how the game was ported.
While researching the Playstation 1 save header format (which DASH2PC reproduces faithfully), I came across a light technical document related to Resident Evil 2, but it discussed the header. Once I was finished reading the notes, it caught my eye that the technical document pertained to the PC version of Resident Evil 2, but still had the PS1 save header mimiced, which leads me to believe that pretty much every PC port of a Capcom game from the early 2000s uses the same saves format as its PS1 original.. This could be exciting news to anyone who happens to be working on a project similar to my own.
Anyway, as such, I suspect once I sit down and get serious about writing a savegame editor (I'd like to thank MLT for agreeing to consider the possibility of taking the time to potentially produce a preliminary save editor on a strictly non-committal basis), I will naturally support extracted PS1 saves in .mcs format for all 3 versions, and will support conversion between them. Tools to extract to and inject from .mcs files are commonly available from, your friend and mine, Google. I recommend 'PSXGameEdit' or 'MemcardRex'.
Part 2 of this strange tale comes as a recent development tonight that I have no serious, immediate intentions to follow up on, but could very well make an interesting project for someone to work on.
I have long held that the PSP versions of the games are, on some level, PS1 emulation. Indeed, early news reports of the game's release suggested the possibility of PS1 emulation on the PSP (this is before the official emulator's release, of course), but this was quickly dismissed as unlikely. "The PSP is its own game" and isn't a PS1 ISO wrapped in an eboot or some such, like PSN purchases or Popsloader packages. And to an extent, this is true. There's a lot of things that the PSP games do that the PS1 games obviously don't. AC3 audio replaces the original XA, Episode 1 is embedded in the game, subtitles in the cutscenes, or the most obvious, widescreen support without stretching.
However, playing the PSP game, I noticed that, at the right angles, polygons and textures stretch and distort, just like the PS1 does. Now, the PC version doesn't do this, so if it were truly a port, this wouldn't occur, unless they explicitly programmed in these flaws. Likewise, many cutscenes have some minor z-fighting and pop-in that occured on the original console, like the rear of the Sulphur Bottom.
So, again, on a hunch, I looked at the game files. Turns out that the PSP version uses the same format of .BIN files as the PS1 original. Innocent enough, but many of them are also the same size, down to the byte, of their PS1 counterparts. Same format, same size...
So I patched a PS1 ISO with one of the PSP's files. ST4A.BIN, to be specific - the Tutorial level. No difference. I try it in reverse, patching the PSP ISO with the PS1's version of ST4A.BIN. No difference. The files are slightly different, but not dramatically, and in-game there is no obvious change.
So I get the idea - what about the American-PS1 version's ST4A.BIN in DASH2PSP? It's still the same filesize, remarkably; down to the byte. I expect it to crash and burn, since, as Pitch pointed out, "there's a big difference between the US and Japanese versions". Whether or not I'm to be disappointed or impressed is up in the air:
This could make a fun project for someone who is interested in this sort of thing. I have no intentions on following up on this because DASH2PC is my main focus, and its resource files are wildly different from those of the PS1 original. However, it's something to note, that an English DASH2PSP - a "real" one, not an "emulated" one, although I still hold both are emulated, even more so now - is only as hard as figuring out the PS1 version.