Worklog PS2IO - A new loading method based on old knowledge

Joined
Mar 17, 2016
Messages
80
Likes
49
Wow, looks like I've sure got some reading to do!! Seriously though dude great find, the way all these pieces are seeming to just fall together, if I didn't know any better I'd say it was all divine providence!!

So yea, I guess now all I need to do is wait until next Friday so I can start executing my rather lengthy new shopping list for this project. There are still a lot of things to figure out, but I think in light of this newest information that it might be appropriate to start calling this 80 pin port the DEV9 port, because it is becoming increasingly obvious that Sony had plans to reincorporate HDD functionality into the PS2, thats why they only removed it from the design schematic on the 90000 series motherboard. Anyway just a clarification question if I may; in a logic analyzer would an outgoing signal from a pin register as a 1, and a pin that accepts an incoming signal, would it register as a 0?
Think of a logic analyzer as a digital oscilloscope. All it does it is let you look at digital signals. You'll have to determine if it's going in or out. If a signal goes high, it will be registered as a 1 and if it goes low it will register as a 0. The main advantage of a logic analyzer is you can actually decode the protocol (some scopes also support this). Also, due to digital having a lot less info to capture than analog, it is able to capture more samples per second and results in smaller files when saved.

It looks something like this:
 
Joined
Apr 12, 2017
Messages
194
Likes
130
Location
Canada
Okay, that seems fairly straight forward. What I'll probably end up doing is using my 70011 board to get an idea of what each of the missing signals (CS9, WAIT, UBE, SRST, INT9, DACK9, DREQ9, RT) look like, and when they're executed, that should make it easy enough to identify them when I then put the logic analyzer on the 79001 DEV9 port, what do you think?
 
Joined
Mar 17, 2016
Messages
80
Likes
49
Okay, that seems fairly straight forward. What I'll probably end up doing is using my 70011 board to get an idea of what each of the missing signals (CS9, WAIT, UBE, SRST, INT9, DACK9, DREQ9, RT) look like, and when they're executed, that should make it easy enough to identify them when I then put the logic analyzer on the 79001 DEV9 port, what do you think?
Sounds like exactly what I'd do :)

EDIT: hmm... I have both a slim and fat ps2, as well as a logic analyzer. Want me to grab you some captures on that if I can manage it?
 
Joined
Mar 17, 2016
Messages
80
Likes
49
Dude seriously?!?! That would be immensely helpful, do you have a 700XX?
Not sure what I have, I haven't opened the fat up, and it's been years since I opened up the slim. I'll have to look later when I get home.
 
Joined
Mar 17, 2016
Messages
80
Likes
49
Well, seems that won't be happening. I stopped at my mom's to pick up the old fat, and I'm pretty sure it was thrown away :| Sorry.
 
Joined
Apr 12, 2017
Messages
194
Likes
130
Location
Canada
Not much of an update, but I've finally received a bunch of my parts, so as promised here is the mezzanine connector soldered to the DEV9 port

I've got the breakout board I designed and logic analyzer coming in the mail still, so fairly soon I should be able to figure out the remaining pins. My only concern is still how I'll be able to identify a pin that receives signals rather than sends them

20170518_204143.jpg
 
Last edited:

Frog

.
Joined
Jul 10, 2016
Messages
19
Likes
17
Aww I'm sorry to hear that, but don't sweat it, I'm gonna be getting a few fats next week
I have a phat ps2 and a 7900 slim. Im not sure what the model is for the phat. I can probably take it apart this weekend but i cant sand the motherboard because we still use it
 
Joined
Apr 12, 2017
Messages
194
Likes
130
Location
Canada
So I finally managed to get the logic analyzer on the 70011, and I was a little disappointed at the revelation that these mystery pins don't transmit data, so they look identical in the analyzer, 4 of them go high, 2 go low.

I'm not giving up yet though, I just need to know from those in the know, whether or not I'd do a lot of damage if I just did it by trial and error. To put it another way, if you somehow confused these pins on an IDE hard drive (because they use them too), would you damage the drive?
 
Joined
Mar 17, 2016
Messages
80
Likes
49
So I finally managed to get the logic analyzer on the 70011, and I was a little disappointed at the revelation that these mystery pins don't transmit data, so they look identical in the analyzer, 4 of them go high, 2 go low.

I'm not giving up yet though, I just need to know from those in the know, whether or not I'd do a lot of damage if I just did it by trial and error. To put it another way, if you somehow confused these pins on an IDE hard drive (because they use them too), would you damage the drive?
as long as the logic level is the same and you don't directly short power to ground, you're probably fine
 
Joined
Jun 4, 2016
Messages
18
Likes
14
I'm messing around with the idea of working this into OPL because why reinvent the wheel on PS2 DVD drive data syntax when they've pretty much got that stuff figured out, but that's not what I need to worry about at present.
Hey nice finds so far,

I was wondering if you could point me towards the "DVD drive data syntax". I have a little experience with FPGAs and wanted to take a stab at emulating the disc drive for booting off SD cards.

Thanks, and good luck with your project
 
Joined
Apr 12, 2017
Messages
194
Likes
130
Location
Canada
All I meant is that (and bare in mind this is my understanding) when a game is read from a DVD it doesn't quite come out the way it would if it was an ISO, so OPL has to then try to spoof the peculiar way that the CXD3098 would communicate the data to the CPU.

I actually theorized about a method similar to what you describe before I got onto the track I'm on now, I reasoned that if an ISO could be read in real time, then why couldn't I try to feed that data in manually rather than it being read conventionally. The problem with this approach is that it would essentially mean that the system would have to be in DVD mode (DEV5), which consequently activates the spindle and track motor subsystems, as well as laser control, this is all handled by the Dragon chip, aka DRM central, the predecessor of the PS3 hypervisor, so you'd also need to have a modchip in the mix somewhere.

I hope this hasn't discouraged you, the last thing I want is to stomp on a new idea. I'm actually in the same boat as you when it comes to FPGAs, learning as I go and flying by the seat of my pants, but if you want a place to start, check out page 9 and 10 of the 70000 service manual
http://gamesx.com/wiki/doku.php?id=schematics:console_related_schematics
There you'll be able to see the names of the data pins between the DVD reader IC and the CXD3098. If you can Identify the type of communication they use you can then start looking for an FPGA that uses it, and then see about working in the SD card

EDIT:
I think the pins are called CE, PI, FE, TE
 
Joined
Apr 12, 2017
Messages
194
Likes
130
Location
Canada
So here's a quandary:

In the original fat PS2 there existed two similar chips, the CXD2942, and the CXD9611. They were on the same PCMCIA bus (that's what it is actually), the former handled only audio, and the latter was designated an HDD controller. So that solves the mystery of the CXD2955 (present on the 700XX), which is a fusion of the two from the fat version, it is there to manage the traffic from the HDD chip, the CXD9731. But hang on, the CXD9731 is already an HDD controller, so why are there two? Well the answer may lay with the very first PS2 version, the 10000, because it had a PCMCIA card port instead of the expansion bay, and in the PS2 SDK concerning DEV9, it always makes calls to both.

So what does this all mean? For one it means that the PS2 was a very patchwork system, great though it was, it was just a fluster-cuck of devices competing for superiority, in what would surely be a halt and catch fire scenario if it were not for chip select. But it also means that the device may not need to be a CXD9731 after all, in fact I'm gonna give it a try with a clone network adapter based on the Xilinx Spartan XC3S50A, because if all these devices (HDD etc) need is a PCMCIA bus controller, then any should do
 
Last edited:
Top