Patch is up (v1.01 incoming)

Talk about Kojima's hard sci-fi masterpiece.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Project Status (1/14/09): Alpha Testing

Post by slowbeef »

snatchernaut wrote:and i was only wondering. i have played through the game on many occasions. i was just wondering on how many items you have come across which you would consider to be a bug in the game with the translation as opposed to those if any that were originally in the game anyway!
Well, originally - meaning before we incorporated really any of the patches - the game is very stable. After all, it was already programmed and tested by Konami!

When you introduce new assembly code and you're doing the programming at such a low-level without any sort of compiler or memory manager to help you, it's really difficult to know whether what you're doing has long-term or global effects to the game's stability.

The main hack I did for the in-game text is a three parter. You have to:

1. Hack the actual dialogue that appears below the game window. This is the majority of all text - it's whenever the characters speak (without voice actors), so as you can imagine it's the most prevalent and far-reaching effect. Konami however, packaged filenames and function calls along with the text, so my hack had to be smart enough to say, "Do this differently for English, but leave this other stuff alone."

So early on, you'd get in English in the prologue but certain parts of the game were unplayable. An example of this is a file called "telop.pak" which - unsurprisingly - is called upon when a telop appears onscreen. Since it's a filename, I don't want my hack trying to translate or readdress that, but early on I wasn't dealing with it correctly, so when you'd get a telop (which is quite often) the game would report a READ ERROR 10007 onscreen and either hang, not display the telop, or just move on after reporting the error. This is obviously very unacceptable.

So I started accounting for filenames - my patcher/hack basically marks those as "critical sections" and leaves them alone - it lets the game do its thing and only uses new routines for real text.

But a little bit later, I discovered Konami also put plain keywords in there, that were also not meant for display and had to be left alone. While some were obviously keywords and I could tell the hack to explicitly ignore them (such as "SANGO" or "ttt", strings unlikely to be present in a characters' dialogue), others were a lot trickier. One was "roll" which, while I can't think of any good examples right now, could presumably appear in the English.

But another one was "blood" which you can imagine, appears quite a lot.

So a big challenge is how to get my patcher to retain keywords which could also collide with the actual text itself.

In the end, it really wasn't that hard. The hack uses control codes I introduced to know when "blood" is in printed dialogue and should be displayed onscreen versus when it's a keyword and should be left alone. You can imagine though, the game would hang or skip certain events if these keywords were not present (usually hang).

The keywords just happened to start around Act 2, so I would say...

- I started the hack on the Prologue. Here, it was still in major development, so as expected, it took awhile to get working at all in English. Once it did, a lot of playtesting helped tighten it up.

- Act 1 introduces multiple new files (the Prologue is really only 2) so now the hack got a workout in terms of new data sets. It handled it okay, but at that point, it wasn't fully developed enough, so while it crashed a few times, a lot of times, the English wouldn't appear correctly. That said, that was where momentum picked up and I was able to do scene-after-scene requiring only some tweaking.

- Act 2 is really where Policenauts hit me hard and started throwing in these keywords. There were a lot of hangs in Act 2, which you may know, is where a lot of cool stuff starts happening. So you can imagine that was especially frustrating to me to have to start a cool scene, and then do programming in order to see what happened next. :)

- But by Act 3, I'd now seen pretty much everything the game had to throw at me in terms of exceptional cases and the rest of the game flew by in comparison. We still get bugs here and there, but they're mostly "garbage-in/garbage-out" - meaning something went wrong with the text file Marc sent me (like DOS linebreak kind of crap - nothing that's his fault, just stupid things I have to remember to keep an eye out for or make my patcher account for)

I think it's very solid now and honestly, I'm sort of surprised whenever we get a bug in that aspect. At this point in the build, I do not know of any bugs directly related to the text patching hack and I think it will work as is for the finished product. *crosses fingers*

2. Menus

Menus which come up when you click items or have conversations with characters were a bit easier than the in-game text because they worked mostly the same... but they came with a big, big problem. It ended up being the third part of the hack...

3. Memory allocation

Yikes.

Menus are graphics that have to be accounted for. Policenauts needs to know how many characters are in each menu item in order to draw it correctly. So it has a separate routine for counting those. BUT, and here's where it go tricky, it'd use that same routine and memory space for other graphics stuff.

I had a LOT of problems with this as screwing with this part of the game meant tons of graphical glitches, which - as you can imagine - is confusing when I started on it, since I wasn't touching the graphics. (Or so I thought.) This is where thorough playtesting saved us. Doing the Prologue over and over and over thoroughly were the only way we could identify why things fucked up the way they did.

There's no great examples or tech explanation of how it was accounted for. Suffice it to say, if my hack screwed up at any point in either menus or in-game text, you might just get a text glitch or something garbled. If it screwed up here, it severely affected the game. Fortunately now, I think it's stable enough but only further testing will assure that.




This is a long post, but the summary is that the game started very stable, but by manually introducing new "compiled" code, we're effectively introducing instability, so it's all about thorough testing and figuring out exactly what I did wrong and why the game wasn't working like I thought it did.

At this point in the build, I think you can play through the whole game and it will not crash. But honestly, we'll only know after very thorough testing.

As far as bugs in the original, really only one or two.

Parts of Policenauts are a little sloppy behind the scenes (the original, I mean), but you never see that as a player because hey - if it all works, it all works. But when I have to recode that, I have to deal with it. And I'm not one to talk. I've been in that situation where it's 2AM and I just wanna be done, so I throw something together and it bites me in the ass the next morning because it broke something else.

I will say that one scene in particular - right now - works a TON better than it did in the original game, but I'll leave that for that when the hack's released and I can talk in more specifics without spoiling stuff.

And also we have the very silly feature of being able to turn off the telops if you really don't like them, which is an option not present in the original game.



edit: If you're wondering why the hack takes so long, it's because all this shit I just wrote is ONE PART of the whole thing. I'd say there are five major parts of the hack total, with ten or so smaller pieces.
User avatar
RMF
Posts: 14
Joined: Sat Sep 13, 2008 2:35 pm
Favorite Game: Metal Gear Solid / Link's Awakening
Kojima games owned: Metal Gear
Metal Gear 2
Snatcher
Policenauts
Metal Gear Solid
Metal Gear Solid Gameboy
Metal Gear Solid 2
Metal Gear Solid Twin Snakes
Metal Gear Solid 3
Metal Gear Acid*
Metal Gear Acid 2*
Metal Gear Portable Ops
Metal Gear Solid 4

Re: Current Project Status (1/14/09): Alpha Testing

Post by RMF »

Wow...
Last edited by RMF on Sun Feb 08, 2009 2:25 am, edited 1 time in total.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Project Status (1/14/09): Alpha Testing

Post by slowbeef »

Also to be completely fair, this is my first real ROM hacking project, so it's entirely possible that when I say Policenauts is a little sloppy under the hood in one or two parts - relatively speaking, it could actually be very good compared to other video games. I honestly don't have any great way of knowing.
User avatar
DarkTetsuya
Runner
Posts: 150
Joined: Wed Oct 13, 2004 7:26 pm

Re: Current Project Status (1/14/09): Alpha Testing

Post by DarkTetsuya »

slowbeef wrote:Also to be completely fair, this is my first real ROM hacking project, so it's entirely possible that when I say Policenauts is a little sloppy under the hood in one or two parts - relatively speaking, it could actually be very good compared to other video games. I honestly don't have any great way of knowing.
Well as long as it's no Big Rigs: Over the Road (and under bridges, and outside the entire game world entirely) Racing, I'm not worried about how this translation's going to turn out. :P

But yeah, you were saying some scenes were reworked from the PC9821 version, and some ported directly, right?
User avatar
Kirbysuperstar
Posts: 12
Joined: Mon Jan 12, 2009 11:09 pm
Favorite Game: Sonic 2
PSN: Kirbysuperstar
Xbox Live: Kirbysuperstar2
Location: Australia

Re: Current Project Status (1/14/09): Alpha Testing

Post by Kirbysuperstar »

I don't know about you guys, but I LOVE those big Slowbeef posts.
User avatar
8bitsonic
Major
Posts: 512
Joined: Sun May 08, 2005 4:35 pm
Favorite Game: Snatcher
Kojima games owned: MGS Essential Collection, Snatcher (PC88/PCE/MCD), Policenauts (TheBest/PSone Books). Also have Bleemcast for MGS.
PSN: The_Swill_Man
Wii Friend Code: 8648649929043816
Xbox Live: The Swill Man
Location: Urine Space
Contact:

Re: Current Project Status (1/14/09): Alpha Testing

Post by 8bitsonic »

Kirbysuperstar wrote:I don't know about you guys, but I LOVE those big Slowbeef posts.
I just love slow beef in general. Easy to bring down with my trusty machete, and it always makes for a good meal provided I brought the can of Sterno and some A1.
Image
User avatar
The Spoony Hou
Runner
Posts: 170
Joined: Wed May 16, 2007 2:28 am
Location: Brazil

Re: Current Project Status (1/14/09): Alpha Testing

Post by The Spoony Hou »

snatchernaut wrote:what was meant by that spoony?
Your... punctuation is weird. Very.
Pizuz
Runner
Posts: 118
Joined: Mon Jul 14, 2008 1:17 pm
Favorite Game: Let me see... probably Xenogears
Kojima games owned: Snatcher
Metal Gear Solid
Metal Gear Solid 2: Sons of Liberty
Metal Gear Solid 3: Subsistence
Zone of the Enders
Zone of the Enders: The Second Runner

Re: Current Project Status (1/14/09): Alpha Testing

Post by Pizuz »

By the way:

Image

Glad to report that the game obviously runs on PS2 as well.
snatcher1996
Posts: 38
Joined: Fri Sep 19, 2008 4:57 pm

Re: Current Project Status (1/14/09): Alpha Testing

Post by snatcher1996 »

Pizuz wrote:By the way:

Image

Glad to report that the game obviously runs on PS2 as well.
Great news!

Now can you please tell me which program you used to burn the game?
Pizuz
Runner
Posts: 118
Joined: Mon Jul 14, 2008 1:17 pm
Favorite Game: Let me see... probably Xenogears
Kojima games owned: Snatcher
Metal Gear Solid
Metal Gear Solid 2: Sons of Liberty
Metal Gear Solid 3: Subsistence
Zone of the Enders
Zone of the Enders: The Second Runner

Re: Current Project Status (1/14/09): Alpha Testing

Post by Pizuz »

I won't share this info as suggested by Marc ;)
Last edited by Pizuz on Mon Feb 09, 2009 12:05 pm, edited 1 time in total.
Marc
General
Posts: 3379
Joined: Thu Oct 14, 2004 2:46 am

Re: Current Project Status (1/14/09): Alpha Testing

Post by Marc »

snatcher1996 wrote:Now can you please tell me which program you used to burn the game?
We'll give instructions on the best procedure to use when the patch is ready.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Project Status (1/14/09): Alpha Testing

Post by slowbeef »

Pizuz wrote:By the way:

Image

Glad to report that the game obviously runs on PS2 as well.
...Sigh.

I'll put "add a linebreak in that sentence" on my list of things to do. (Should only take a second.)
User avatar
Kirbysuperstar
Posts: 12
Joined: Mon Jan 12, 2009 11:09 pm
Favorite Game: Sonic 2
PSN: Kirbysuperstar
Xbox Live: Kirbysuperstar2
Location: Australia

Re: Current Project Status (1/14/09): Alpha Testing

Post by Kirbysuperstar »

snatcher1996 wrote:Now can you please tell me which program you used to burn the game?
I obviously can't tell you what was really used, but IMGBURN is the best out there.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Project Status (1/14/09): Alpha Testing

Post by slowbeef »

So, I really don't know much about console modding, but if there are any PS3 owners who want to play Policenauts, you can play backup PS2 games with the "Swap Switch" method - it's a soft mod, apparently and I've seen videos of Youtube on it. It does require soldering, and honestly I don't know how in-depth it is, but any mod that will let you play PS1 CD-Rs on hardware will let you play the game.
abhi
Posts: 35
Joined: Wed Sep 26, 2007 6:25 pm

Re: Current Project Status (1/14/09): Alpha Testing

Post by abhi »

I will def need help on how to make this work as I am not very PC minded, thanks
User avatar
khmr33
Posts: 48
Joined: Thu Oct 23, 2008 9:14 pm
Favorite Game: Radiant Silvergun
Kojima games owned: Metal Gear NES
Snatcher CDRomantic
Snatcher Sega CD
Snatcher Sega Saturn
Policenauts PS The Best
Policenauts Sega Saturn
Metal Gear Solid US PS1 Black Bar
Metal Gear Solid VR Missions US PS1
Bleemcast! Metal Gear Solid
Zone Of The Enders US PS2 w/Demo
Zone Of The Enders Premium Package JP PS2
Metal Gear Solid 2 US PS2 Black Bar
Metal Gear Solid 2 Substance US PS2
Metal Gear Solid 2 Substance US Xbox
The Document Of Metal Gear Solid 2
Zone Of The Enders: The Second Runner US PS2
Boktai The Sun Is In Your Hand
Metal Gear Solid The Twin Snakes
Metal Gear Solid 3 US PS2
Metal Gear Solid 3 Subsistence Special Edition US PS2
Metal Gear Saga Vol. 1
Metal Gear Solid 4 Special Edition US PS3
Metal Gear Saga Vol. 2
Metal Gear Saga Vol. 2 (sealed)
PSN: khmr33
Xbox Live: khmr33
Location: Lexington, KY

Re: Current Project Status (1/14/09): Alpha Testing

Post by khmr33 »

After everyone talking about modding to play on a TV, I put in my version and ran it under pSX on my 52" Samsung LCD. It didn't look terrible, but I wonder if ePSXe can do a better job with the right config. The game is definitely designed to take advantage of scanlines in how it's perceived. It just sucks because older games look perfect on that TV, Snatcher running on Kega Fusion looks delicious.

I've got an older PS2 hooked up to a 27" Sony Wega that's NTSC if there was a reasonable way to boot the iso on it. I suppose there are still region locks to consider unless the patch could rewrite the security sector.

I did something similar to play my Dreamcast REZ and Ikaruga games that I didn't want to open. Though the PlayStation is a whole different mess.

edit

I just remembered I have a SCPH-1001 hooked up to my tube amp as my primary CD player, I wonder what could be done with it? Can you even find chips for these anymore? Are there other ways to play imports without destroying the drive? It really has been the best sounding CD playback I've had for a long time, I don't want to ruin it.
Jack Stern
Runner
Posts: 117
Joined: Mon Jun 02, 2008 10:35 pm
Favorite Game: Metal Gear Solid 2: Sons of Liberty
PSN: JackStern

Re: Current Project Status (1/14/09): Alpha Testing

Post by Jack Stern »

Aside from some blur filters and some kind of smoothing, you aren't getting too much differences.

You got the ps1 connected by component cable or normal av?
User avatar
khmr33
Posts: 48
Joined: Thu Oct 23, 2008 9:14 pm
Favorite Game: Radiant Silvergun
Kojima games owned: Metal Gear NES
Snatcher CDRomantic
Snatcher Sega CD
Snatcher Sega Saturn
Policenauts PS The Best
Policenauts Sega Saturn
Metal Gear Solid US PS1 Black Bar
Metal Gear Solid VR Missions US PS1
Bleemcast! Metal Gear Solid
Zone Of The Enders US PS2 w/Demo
Zone Of The Enders Premium Package JP PS2
Metal Gear Solid 2 US PS2 Black Bar
Metal Gear Solid 2 Substance US PS2
Metal Gear Solid 2 Substance US Xbox
The Document Of Metal Gear Solid 2
Zone Of The Enders: The Second Runner US PS2
Boktai The Sun Is In Your Hand
Metal Gear Solid The Twin Snakes
Metal Gear Solid 3 US PS2
Metal Gear Solid 3 Subsistence Special Edition US PS2
Metal Gear Saga Vol. 1
Metal Gear Solid 4 Special Edition US PS3
Metal Gear Saga Vol. 2
Metal Gear Saga Vol. 2 (sealed)
PSN: khmr33
Xbox Live: khmr33
Location: Lexington, KY

Re: Current Project Status (1/14/09): Alpha Testing

Post by khmr33 »

My PS2 is hooked up component.

My PS1 isn't hooked up to a tv right now, just the stereo. What options exist for AV cables? The SCPH-1001 has the ability to do something better than composite doesn't it? Is it just SCART or something though... can that be converted to component or VGA?

I hadn't really thought about how I was going to play the game yet, I've been nerding out on building my custom sit down cabinet for my Dreamcast, arcade sticks and 21" vga monitor. Dedicated SFIII 3rd Strike across the room from my 4 slot MVS-25!

Hey, maybe we can dig up the guy who wrote Bleem! to do a Dreamcast boot disc for the patched Policenauts, heh heh. MGS looked pretty good on DC, I should pop that in tomorrow...
Jack Stern
Runner
Posts: 117
Joined: Mon Jun 02, 2008 10:35 pm
Favorite Game: Metal Gear Solid 2: Sons of Liberty
PSN: JackStern

Re: Current Project Status (1/14/09): Alpha Testing

Post by Jack Stern »

My mistake, PS1 can't handle component. You could use the Swap Magic cd version and use it on the ps2 with component.
User avatar
The Spoony Hou
Runner
Posts: 170
Joined: Wed May 16, 2007 2:28 am
Location: Brazil

Re: Current Project Status (1/14/09): Alpha Testing

Post by The Spoony Hou »

The PSX can't handle component? I believe the cable connector is the same for both the PSX and the PS2, so I'd guess it works.
Pizuz
Runner
Posts: 118
Joined: Mon Jul 14, 2008 1:17 pm
Favorite Game: Let me see... probably Xenogears
Kojima games owned: Snatcher
Metal Gear Solid
Metal Gear Solid 2: Sons of Liberty
Metal Gear Solid 3: Subsistence
Zone of the Enders
Zone of the Enders: The Second Runner

Re: Current Project Status (1/14/09): Alpha Testing

Post by Pizuz »

khmr33 wrote:I've got an older PS2 hooked up to a 27" Sony Wega that's NTSC if there was a reasonable way to boot the iso on it. I suppose there are still region locks to consider unless the patch could rewrite the security sector.
You won't get around either modding it or doing the SlideCard/BreakerPro trick, anyway, for it is a burned disc. Since you already have an NTSC console, the latter method might be sufficient.
Jack Stern
Runner
Posts: 117
Joined: Mon Jun 02, 2008 10:35 pm
Favorite Game: Metal Gear Solid 2: Sons of Liberty
PSN: JackStern

Re: Current Project Status (1/14/09): Alpha Testing

Post by Jack Stern »

The Spoony Hou wrote:The PSX can't handle component? I believe the cable connector is the same for both the PSX and the PS2, so I'd guess it works.
The cables are the same, but the machine itself can't output 480p.
User avatar
khmr33
Posts: 48
Joined: Thu Oct 23, 2008 9:14 pm
Favorite Game: Radiant Silvergun
Kojima games owned: Metal Gear NES
Snatcher CDRomantic
Snatcher Sega CD
Snatcher Sega Saturn
Policenauts PS The Best
Policenauts Sega Saturn
Metal Gear Solid US PS1 Black Bar
Metal Gear Solid VR Missions US PS1
Bleemcast! Metal Gear Solid
Zone Of The Enders US PS2 w/Demo
Zone Of The Enders Premium Package JP PS2
Metal Gear Solid 2 US PS2 Black Bar
Metal Gear Solid 2 Substance US PS2
Metal Gear Solid 2 Substance US Xbox
The Document Of Metal Gear Solid 2
Zone Of The Enders: The Second Runner US PS2
Boktai The Sun Is In Your Hand
Metal Gear Solid The Twin Snakes
Metal Gear Solid 3 US PS2
Metal Gear Solid 3 Subsistence Special Edition US PS2
Metal Gear Saga Vol. 1
Metal Gear Solid 4 Special Edition US PS3
Metal Gear Saga Vol. 2
Metal Gear Saga Vol. 2 (sealed)
PSN: khmr33
Xbox Live: khmr33
Location: Lexington, KY

Re: Current Project Status (1/14/09): Alpha Testing

Post by khmr33 »

Look closely at the inside of the AV cables and you'll see they use different numbers of pins in different places. Composite combines all of the video signals into one wire, compared to other connections it can come off as washed out and noisy. S-video keeps chroma and luminance separate reducing noise. I think S-video going to be the way to go for those playing on a PS1, unless we can use the SCART cables from europe on a US system. We need to find out if SCART -> VGA would work but also if it would help... it might just introduce the same problems that playing on a PC emulator have (looking too good).

edit

I just spent some time looking into the SCART VGA thing and it made my head hurt, so I might be either playing on my PS2 somehow or looking for a PS1 S-video cable.

edit

The PlayStation can't output 480p in a way we're used to thinking of it, but since it's output resolutions are 320x240 and 640x480; when carried over SCART or VGA it won't be interlaced. I found the video pinouts for the PS1 and DC for amusing and educational purposes:

PlayStation 1/2 A/V pinout
Pin---Name-----Description
1-----Gnd-------Ground
2-----Rt---------Right Audio
3-----Gnd-------Ground
4-----Lt---------Left Audio
5-----Y----------S-Video Luminance
6-----Sync------NTSC Video/ Composite Sync*
7-----C----------S-Video Chrominance
8-----V-Gnd----Video Ground
9-----B----------Blue
10---+5v-------+5 Volt
11----R---------Red
12----G---------Green

Dreamcast A/V pinout
Pin---Description
1-----Ground
2-----Right Audio
3-----Left Audio
4-----+12v
5-----+5v
6-----selects horizontal scan: Grounded=31KHz(VGA) Floating/disconnected=15KHz(TV)
7-----selects format: Grounded=RGB; Floating/disconnected=Composite/S-Video
8-----Vertical Sync (for VGA)
9-----Horizontal Sync (for VGA)
10----Composite Sync
11----S-video Chrominance (C)
12----S-video Luminance (Y)
13----Composite Video
14----Blue (Use 220uf cap)
15----Green (Use 220uf cap)
16----Red (use 220uf cap)

Interesting, huh? I found these as reference for building your own cables. (I think it's neat anyway, I only put the DC info here for contrast) The difference between SCART and VGA is VGA uses individual horizontal and vertical sync signals (see the DC's native VGA support in the pinout) and SCART uses a composite sync all in one signal (see the PS pinout... it uses the same pin for composite video and composite sync depending on the situation).

I actually found a 3rd party PlayStation S-Video cable today in my garage. It's a weird cable really because most cables I've seen only put the contacts in for the pins they're using. In this case, S-Video, I think it should only be the first eight pins... but this cable has contacts for all twelve pins. It could be easier to make a homebrew VGA cable and bypass the SCART silliness altogether. But again, why bother if it ends up looking the same as the game on an emulator?

Are there any PAL gamers here that have a PS1 hooked up via SCART that knows what the end result looks like? Wait, will PAL gamers even be able to play this game since it was only Jpn NTSC???
User avatar
The Spoony Hou
Runner
Posts: 170
Joined: Wed May 16, 2007 2:28 am
Location: Brazil

Re: Current Project Status (1/14/09): Alpha Testing

Post by The Spoony Hou »

Jack Stern wrote:The cables are the same, but the machine itself can't output 480p.
Ops, sorry... I said it worked because you can see the image (which I thought was the point of the discussion). Of course the PSX can't do progressive scan.
User avatar
NASAchusetts
Posts: 19
Joined: Thu Feb 05, 2009 9:27 pm
Favorite Game: Snatcher
Location: Crete, IL USA
Contact:

Re: Current Project Status (1/14/09): Alpha Testing

Post by NASAchusetts »

Jack Stern wrote:My mistake, PS1 can't handle component. You could use the Swap Magic cd version and use it on the ps2 with component.
Actually, the swap magic cd version cannot boot PSX games. The only way to play it on the PS2 would be to modify or use breaker pro. To my knowledge, breaker pro works on the PS2 and PS1 but not the new slim PS2.
Post Reply