Patch is up (v1.01 incoming)

Talk about Kojima's hard sci-fi masterpiece.
User avatar
Randam Hajile
Posts: 28
Joined: Wed Mar 04, 2009 1:10 am
Favorite Game: Super Metroid
Kojima games owned: -Policenauts
-Snatcher (Sega CD)
-Metal Gear Solid I
-Metal Gear Solid II - Substance
-Metal Gear Solid III - Subsistence
-Metal Gear: Ghost Babel
-Zone of Enders 2: The Second Runner

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Randam Hajile »

HellHammer wrote:
Randam Hajile wrote:
Oh yeah, now that you mentioned about a collection i remembered to ask: Does anyone here know where i could get some policenauts/snatcher posters?

Cheers!
You can always just stare at the Policenauts poster in MGS2, haha.
Smartass. hahahahahahah=)

Cheers, mate!
User avatar
Ghaleon
Runner
Posts: 126
Joined: Fri Jan 19, 2007 10:17 am
Location: Cleveland/columbus

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Ghaleon »

Man, I'd love to have the Policenauts poster Otacon has in his MGS1 office space.
BIG BOSS
JimboKudo
Major
Posts: 604
Joined: Sat Jan 26, 2008 2:06 am
Location: Missouri, USA

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by JimboKudo »

Wow I didn't know that they were selling prototype reproductions of Earthbound Zero for so cheap. Thanks for mentioning that. I'm definitely going to buy it (too bad I was already so far through the game on my ps2 already). By the way, are there any soundtracks for the game that have redone music? I really like the music in all its 8-bit glory, but I'd really like to hear the one from the weird pink and cloudy city with real instruments.

On topic, does anyone know where I might possibly just buy a psx that will be able to play Policenauts? I'm having trouble finding one, mostly because Ebay forbids it (which is stupid, since I'm pretty sure that there's nothing illegal involved in it).
User avatar
NASAchusetts
Posts: 19
Joined: Thu Feb 05, 2009 9:27 pm
Favorite Game: Snatcher
Location: Crete, IL USA
Contact:

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by NASAchusetts »

JimboKudo wrote:Wow I didn't know that they were selling prototype reproductions of Earthbound Zero for so cheap. Thanks for mentioning that. I'm definitely going to buy it (too bad I was already so far through the game on my ps2 already). By the way, are there any soundtracks for the game that have redone music? I really like the music in all its 8-bit glory, but I'd really like to hear the one from the weird pink and cloudy city with real instruments.

On topic, does anyone know where I might possibly just buy a psx that will be able to play Policenauts? I'm having trouble finding one, mostly because Ebay forbids it (which is stupid, since I'm pretty sure that there's nothing illegal involved in it).
Sent you a PM in regards to a PSX.
User avatar
Elijah Modnar
Posts: 22
Joined: Sat Dec 01, 2007 10:44 am

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Elijah Modnar »

Any chance you can pm me that info as well i have a ps1 which was able to play backups via the slot at the back but recently it just stopped working so need a new one, thanks.
Image
User avatar
shidoni
Major
Posts: 552
Joined: Wed Jan 31, 2007 10:39 pm
Kojima games owned: Zone of The Enders
Anubis: Zone of The Enders
Metal Gear Solid
Metal Gear Solid: VR Missions
Metal Gear Solid 2: Sons of Liberty
Metal Gear Solid 3: Snake Eater
Policenauts (PS)
Location: Dark Side of the Moon

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by shidoni »

On that topic, would the swap trick really work in this situation?
Image
qwerty
Posts: 22
Joined: Tue Apr 14, 2009 7:11 pm

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by qwerty »

I just read slowbeef's post about how the pipelining fucked things up. while it's easy to follow when reading the description of the problem and the solution, i just admire how you think of possible solutions. when stuck up with a problem it's interesting the thought process behind the solution, not the solution itself in my opinion. the way you think of solutions (like the pipelining) reveals a highly technical expertise on the topic of assembly. which is weird because you are a web programmer unless if you dwelved deeper into the assembly world for the project or were a really mips geek at your college. i like the way of how you think around something to figure out a solution. slowbeef if you assemble all your technical posts into the hacking documentation you will release after the end of the project it would be really cool (since i have only witnessed your auto save and pipelining and maybe another one.. who knows what else lies in your quest to hack this thing up). it will be really interesting material but i am asking you as a favor to include how you thought when a particular problem arrised, the thought process involved to find what;s going on and the methodology to a solution. of course if in your post there isn't anything then i (WE) am (ARE) still greatful. also there are techicalities about other stuff not 100% related to general programming like graphics, compression issues which are more expertised. do you know these stuff because of your web programming experience, study them for the project or you get assistance from others? btw you are a web programmer and you know java. then you must do servlets and jsp (or they are doing you). i know java but in the context of those two i know shit. i didn't invest almost no time at all but from the little time i invested it was quite complicated. while java is sooo high level and thus really easy i find it tiring with all the different APIS it has. i know this is counter intuitive, how can this be a disadvantage? i am not saying it's a disadvantage but there are other api's in the official sdk, other from java but in another sdk... it's chaotic..
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by slowbeef »

I do plan on writing up a big tech doc to that effect, actually. Maybe like the grand old story of how I fell into this.

Who wants another hardcore tech post?

LZO Decompression and Pipelining

That's a mouthful.

When we figured out the pipelining issue, I was a little flustered because it meant I had to redo my assembly hacks. It seems pretty easy at first - you just have to add a nop wherever there's memory access to a register used in a successive instruction. Or, in English, I have to tell the code to wait a step after it reads from memory.

But the problem with this is two-fold.

I. Branching

The MIPS does a J-Type instruction in one of two general ways. The first is a "Jump". The code looks like:

j 0x00037044

Multiply that number by 4 (in hex) and you'll get a memory location. It's where the code knows to go next. This is actually how most of our assembly hacks work - we put the code somewhere static in memory we know the game will always load it (in our case, the font file) and "hijack" a jump - meaning change the address so it goes to our code instead.

But there's also a "Branch" - two kinds:

beq r2, r3, 4
bne r2, r3, -3

Branches (branch-on-equal - beq, and branch-not-equal - bne) are conditional jumps. They only jump if two registers are equal (or not equal). It's how you do "if" in assembly.

Jumps are absolute - they jump to strict memory addresses starting from zero.

Branches are relative - they will jump a certain number of "lines" of code ahead or back.

So the problem is that I might have a branch that jumps ahead 4 lines if it succeeds. If I introduce a nop, I've added a line of code, so now the branch has to jump 5 instead. What I mean is that redoing the hacks was trickier than just throwing in nops where necessary - I also had to redo all the branches so it was still jumping to the right places.

This was okay for my hacks - they were all hand-written anyway, so they weren't too big.

But you know the LZO decompression? The thing Scarboy came up with to get around Konami's compression routine so we could modify the graphics? Well, he used a PS2 compiler to generate that assembly from C source code. He turned off optimizations so that it generated PS1 assembly.

The problem, though, is that it didn't do the pipelining correctly. And it was a LOT of code. We spent like a week working with the compiler trying to get it to pipeline without making any PS1 specific instructions. We were unable. I couldn't do it manually - there was too much code. I'm not being lazy here; redoing all the branches by hand in compiled code is bound to be error-prone. So then I got a bright idea.

If it was too challenging to figure out where to put nops and how it might affect branches that go across the new nops... and branches are relative, why not...

1. Put a nop after EVERY instruction in the LZO decompressor (ensuring all the pipelining works correctly)
2. Since all my code has grown by a static amount (it's doubled) and all my branches are relative... can't I just double them?

Well, I could and I did. And it didn't work. This was the second problem.


II. The MIPS jump delay.

Assembly doesn't exactly work like regular programming, and the big mindfucks are pipelining (you can't be assured that a line of code that comes right before another line actually finishes executing first) and the jump delay.

You can branch or jump in MIPS. They count as instructions.

Every instruction takes 1 CPU cycle - except for jumps. They take 2. So MIPS figures "since we have extra time, I might as well execute an instruction right after a jump".

So where as in most programming languages, you'd have (I'm using BASIC for clarity here):

10 PRINT "HELLO"
20 PRINT "THIS IS MARC"
30 GOTO 50
40 PRINT "HAVE SOME POETRY"
50 END

And you'd get: "HELLO. THIS IS MARC."

But the jump delay says to execute the instruction immediately after a jump. So actually, you get:

"HELLO. THIS IS MARC. HAVE SOME POETRY."

What's messed up is it's a heady concept to get over. Code usually goes top-down. Now you've got this notion of code that comes after other code, but still happens before it. (During, sorta.)

That means I can't just use nops to "double" the code in the LZO decompressor. Great. So what I do is after a branch, I make sure to take the "Next" instruction and use that instead of a nop, ensuring any jump delay code still gets executed.



So the LZO decompressor is twice as slow now, but it works in hardware, so all the telops are in English again (and all the other graphics mods are in place too). Don't worry - it's not visibly slow. It looks just as fast. But if you put it up on a profiler, it took twice as long as before, just waiting on nops.

Not the most elegant of solutions, but I think the words "elegant" and "hack" rarely ever meet anyways.
qwerty
Posts: 22
Joined: Tue Apr 14, 2009 7:11 pm

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by qwerty »

That was nice! Thanks slowbeef. Thanks for sitting down and writing a big and tiresome post dude. BTW how old are you? (we may be in a koijima forum but this doesn't imply subtle homosexuality messages :D )
Crappy Jack
Posts: 11
Joined: Tue Jun 09, 2009 6:45 pm

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Crappy Jack »

qwerty wrote:That was nice! Thanks slowbeef. Thanks for sitting down and writing a big and tiresome post dude. BTW how old are you? (we may be in a koijima forum but this doesn't imply subtle homosexuality messages :D )
Well, not until you added that last part, it didn't.
User avatar
Solfieri
Posts: 18
Joined: Mon Mar 09, 2009 2:02 pm
Favorite Game: Metal Gear Solid 4
Kojima games owned: Metal Gear Solid

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Solfieri »

Crappy Jack wrote:
qwerty wrote:That was nice! Thanks slowbeef. Thanks for sitting down and writing a big and tiresome post dude. BTW how old are you? (we may be in a koijima forum but this doesn't imply subtle homosexuality messages :D )
Well, not until you added that last part, it didn't.
Dude, this makes me remember that old meme about the internet rules... The Rule 27, Always question a person's sexual preferences without any real reason.

That was... strage. Comrade slowbeef must older than Yoda, for all the romhacking knowledge of the world is contained in his very soul. Keep on rocking, man.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by slowbeef »

Solfieri wrote:Comrade slowbeef must older than Yoda, for all the romhacking knowledge of the world is contained in his very soul. Keep on rocking, man.
I feel like it sometimes.

I'll be turning 31 on the 26th of June.
User avatar
Anubis
Runner
Posts: 152
Joined: Mon Mar 24, 2008 7:13 pm
Location: Florida

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Anubis »

Ha, Almost the same.

My birthday is the 29th.

I'll be turning 21.
User avatar
Jack
Runner
Posts: 160
Joined: Thu May 12, 2005 7:48 am
Location: Outside the memory of Shadow Moses, done running...

Re:

Post by Jack »

JonnyTanna wrote: Does the Sega Cd emulator work on your psp-2000? it doesn't work on mine..
God bless the original PSP.. I recommend that for anyone who wishes to buy a psp and emulate. It's cheaper and it's compatible with all of the emulators.
Yes, picodrive runs just fine on mine... I completed Snatcher immediately to test it :)
User avatar
The Hero
Posts: 87
Joined: Sat Apr 21, 2007 5:09 am

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by The Hero »

Ah, I would love to play Snatcher on my PSP... That would be so awesome!! Too bad that my PSP has a very late firmware in it. So I guess I'm out of luck. :cry:
"Treat your cardboard box with care. Take care of the box, and it will take care of you."
User avatar
midori_fox
Runner
Posts: 105
Joined: Sat Mar 28, 2009 7:26 am
Favorite Game: Damn these kind of questions....
Kojima games owned: Metal Gear, 2
Metal Gear Solid, 2, 3, 4
MGPO
Metal Gear Ac!d, 2
Z.O.E, 2
Snatcher (rom)
Policenauts
Location: Washington State USA

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by midori_fox »

On the subject of birthdays mine is
(was) the 4th
NANTO KAWAI!
User avatar
Haycob
Posts: 20
Joined: Wed Jan 21, 2009 7:34 pm
Favorite Game: Mgs series, Probably soon to be Policenauts :D
Kojima games owned: Mgs 123 and Z.o.e games.
Location: Louisiana
Contact:

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Haycob »

Happy late birthday Midori. And hero... cant you just pandora it? I know I cant since mines the 3000 model... Big mistake buying that >.>
Jonesy47
Posts: 20
Joined: Mon Jun 23, 2008 1:02 pm
Favorite Game: Metal Gear Solid
Kojima games owned: Metal Gear (MSX & PS2)
Metal Gear 2 - Solid Snake (MSX & PS2)
Metal Gear Solid (PSX & Twin Snakes for Gamecube)
Metal Gear Solid 2
Metal Gear Solid 3
Metal Gear Solid Portable Ops
Metal Gear Solid 4
Snatcher (Sega CD & PC-Engine CD)
Policenauts (Sega Saturn & PSX)
Zone of the Enders
Zone of the Enders 2
PSN: tyler's prophecy
Xbox Live: evansucks5000

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Jonesy47 »

The Hero wrote:Ah, I would love to play Snatcher on my PSP... That would be so awesome!! Too bad that my PSP has a very late firmware in it. So I guess I'm out of luck. :cry:
Actually, almost all firmwares can be cracked with the right know-how. The way a psp dev explained to me was that, since the first firmwares were so heavily researched and exploited and the new firmwares are all add-ons or modifications of those originals, given enough effort, NO firmwares on the psp will be safe for long. This is true for every psp SO FAR but, since the psp-go is essentially far different hardware, i wouldn't be surprised if it was damn near impossible to crack since sony blames declining psp sales on piracy when they don't seem to realize that 90% of people only buy them for the homebrew. I work at a game store and actually ask people on purchase what theyll use them for.

But yeah, back on subject, i wouldn't be surprised if your firmware could be exploited.
Check here
http://pspupdates.qj.net/
User avatar
Haycob
Posts: 20
Joined: Wed Jan 21, 2009 7:34 pm
Favorite Game: Mgs series, Probably soon to be Policenauts :D
Kojima games owned: Mgs 123 and Z.o.e games.
Location: Louisiana
Contact:

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Haycob »

Jonesy, what about the 3000 models? Ive been all over the nets and haven't found any evidence that they can be hacked yet... :/
User avatar
Ailtin
Posts: 2
Joined: Sat Jun 13, 2009 3:00 am
PSN: Enad7

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Ailtin »

The 3000 and late 2004 models cant be hacked, because of their boards. If take out the battery you can see which board you have. 8C is the latest board which cant be hacked. You just need to wait until DarkAlex makes a new Despertar Del Cementerio. You can use the Pandora Battery but it wont read the MagicStick. You can try to look for a Hack-Way which is named ChickHen but it is very dangerous because it can brick your PSP at a quite high rate. I got a 8B Board. :D
driller
Posts: 7
Joined: Tue Apr 28, 2009 8:19 am

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by driller »

The people saying that the previously unhackable PSP-2000 (w/motherboard TA-088 v3) and PSP-3000 units can't run custom firmware are both wrong -- and right.

ALL PSP's with a firmware version of 5.03 or less are subject to the newly found TIFF exploit, which brought about the so called ChickHEN mod that allows the running of unsigned code on any PSP model to date. This, on the other hand, led to the development of CFW Enabler, the latest version of which allows the running of fully functional custom firmware on all PSP-2000 and PSP-3000 models -- including pops emulation. (Read: PSOne games)

There is a but, however.

Due to the changes rendered on the new PSP motherboards, the CFW installation is not permanent. Every time you fully shut down the PSP, i.e. you hold the power switch down for several seconds or take the battery out, the PSP boots into official firmware and you need to use the ChickHEN mod and CFW Enabler app in succession in order to get back to CFW mode.

So, anyone who's interested, I guess read into this? I haven't tested this myself so I can't really say anything constructive on the matter.
Marc
General
Posts: 3379
Joined: Thu Oct 14, 2004 2:46 am

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Marc »

Kassius wrote:Actually, I don't really get Marc's retaliation as that's been to be honest one of the first questions about the game itself in the last three days. Instead the policenauts topic has been turned into the "CRT LCD Digital noisy vga rgb extravaganza."
I just wanted to make sure people understood it was a joke before it turned into some rumor. And yeah, I know we've said this before, but could you guys please keep discussion here on-topic? (PS hardware discussion is fine.) Since enough people seem bothered by it, we will start temp-banning people from now on. If we didn't it wouldn't be fair to those who have been moderated before.

Anyway, there's good news and then a bit of bad news. The good news is I'm back. The bad news is I dislocated my shoulder on my trip, which means my typing is very slow. Consequently, I work slower, which means less time for non-work projects. So my progress until I'm back to normal won't be as fast as it would be otherwise (though I'll still be moving forward).

Also, the reason we're leaving it as "1 bug till beta" is because issues continually crop up, so we'd just end up constantly jumping back and forth between statuses otherwise. Then there's the fact that my work isn't finished anyway.
User avatar
Ailtin
Posts: 2
Joined: Sat Jun 13, 2009 3:00 am
PSN: Enad7

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Ailtin »

driller wrote: Due to the changes rendered on the new PSP motherboards, the CFW installation is not permanent. Every time you fully shut down the PSP, i.e. you hold the power switch down for several seconds or take the battery out, the PSP boots into official firmware and you need to use the ChickHEN mod and CFW Enabler app in succession in order to get back to CFW mode.

So, anyone who's interested, I guess read into this? I haven't tested this myself so I can't really say anything constructive on the matter.

Dont forget the risk of Bricking the PSP. Just to do that all again is nothing in comparison to f*** up your PSP if its bricked. If it is you can throw it away in the Garbage. The only way to rescue it then is to use Despertar Del Cementerio. But as long as there isnt one for the 8C and up motherboards... :P
User avatar
Henry Spencer
General
Posts: 1380
Joined: Sun Nov 26, 2006 9:07 am
Favorite Game: Shenmue I, MGS, Snatcher, Zelda: Ocarina Of Time.
Kojima games owned: Metal Gear (NES)
Metal Gear: Ghost Babel (GB)
Metal Gear Solid (PSX)
Metal Gear Solid 2: Substance (PS2)
Metal Gear Solid 3: Subsistence (PS2)
Policenauts (Saturn/PSX/3DO)
Snatcher (PC Engine/Mega CD)
Zone Of The Enders (PS2)
Zone Of The Enders 2: Special Edition (PS2)
Super Smash Bros. Brawl; it counts, right? ;P
PSN: henryspencer666
Xbox Live: Magiking
Location: Right Behind You
Contact:

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by Henry Spencer »

Marc wrote:Anyway, there's good news and then a bit of bad news. The good news is I'm back. The bad news is I dislocated my shoulder on my trip, which means my typing is very slow. Consequently, I work slower, which means less time for non-work projects. So my progress until I'm back to normal won't be as fast as it would be otherwise (though I'll still be moving forward).

Also, the reason we're leaving it as "1 bug till beta" is because issues continually crop up, so we'd just end up constantly jumping back and forth between statuses otherwise. Then there's the fact that my work isn't finished anyway.
Ouch, sorry to hear that.
You just take your time and get better, Marc.

Now pertaining to the topic, what do you guys think will be the best emulator to use on a PC for Policenauts? ePSXe has been known to be jumpy with the animé cutscenes (Charlie Johnson verified this). Is PCSX the recommended setup? I will be testing it on both setups and will post up their pros and cons later for other people like me who are going to play it like a classic point and click adventure (arguably the way it was supposed to be) on a PC.
User avatar
slowbeef
Policenaut Hacker
Posts: 1630
Joined: Thu Jun 19, 2008 11:55 am
Favorite Game: Snatcher

Re: Current Status (4/26/09): 1 Bug Till Beta

Post by slowbeef »

Henry Spencer wrote:ePSXe has been known to be jumpy with the animé cutscenes (Charlie Johnson verified this).
Did you try turning VSync off? (I know it's the opposite of how you think it would be.) I heard that worked for pSX.
Post Reply