PSXNET Library - Connect the PlayStation to the Internet!

Start a work log and update it occasionally with your projects progress
Post Reply
User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

PSXNET Library - Connect the PlayStation to the Internet!

Post by LameGuy64 » February 17th, 2016, 2:22 pm


PSXNET Library

Username: Lameguy64
Project Title: PSXNET
Time to Complete: 8 weeks
SDK: Psy-Q
Genre: Software Library
Latest Release: 0.70b (Client)
In Development: Yes
Initial Release Date: 17-FEBRUARY-2016
Last Date Updated: 17-FEBRUARY-2016
Controller: None
Players: None
Memory Card: None
Languages: None
Region: None
Burn and Play: No
Executable Included: No
Source Included: Yes

This is a silly little experiment I did where I try to get the original PlayStation to connect to the internet via a serial link connection to a Raspberry Pi which would basically act as a LAN modem for the PSX.

It supports basic TCP and UDP communications which means you can send and receive data to and from existing servers only. It does not come with an html parser and viewer so no internet browsing on the PSX as of yet.

Setting up a serial link connection with the PSX and Pi is very simple, just wire the PSX's Tx, Rx and Gnd pins from its Serial I/O port to one of the pins of the Raspberry Pi's GPIO interface (but Tx and Rx must be crossed).

The picture below shows a test image which the PSX downloaded from the internet through the Raspberry Pi with this library and client program.
Image

Source Code: https://github.com/Lameguy64/psxnet

You do not have the required permissions to view the files attached to this post.
Last edited by LameGuy64 on December 12th, 2017, 12:11 am, edited 1 time in total.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

Xavi92
Verified
C Programming Expert
C Programming Expert
Posts: 161
Joined: Oct 06, 2012
PlayStation Model: SCPH-5502
Contact:

Post by Xavi92 » May 17th, 2016, 1:51 am

This looks absolutely impressive! Shamefully, I only own a SCPH-102 PSOne, so I can't test this. Does this means that there is a chance to create multiplayer games for PSX?

TobyCoy
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: May 09, 2017

Post by TobyCoy » May 16th, 2017, 3:57 pm

Xavi92 wrote:This looks absolutely impressive! Shamefully, I only own a SCPH-102 PSOne, so I can't test this. Does this means that there is a chance to create multiplayer games for PSX?
Holy crap that would be awesome if it was possible. Can we get an update LameGuy64?
Last edited by TobyCoy on October 26th, 2021, 9:21 am, edited 3 times in total.

Medis
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Jun 04, 2017

Post by Medis » July 23rd, 2017, 7:46 am

Looking forward to give this a little test either,
Lucky enough I do own two raspberry pi's
and two PS1 units that have Serial I/O.

I did a quick run to see if I can get a doom running, and I did. (using only system link cable).
I feel bad that I am gonna have to sacrafice it once for this tho.

Anyway, if I got it correctly this allow us to use it, um... Let's say we would like to play, um games obviously.
For example Crash Team Racing, it supports only split screen tho, so Player 2 would comunicate over remote port2 via Serial I/O, eheh a lot of hacking that is without native support at least.

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » July 23rd, 2017, 9:36 am

That would be a TON of work. It would be far more realistic to 'trick' existing system link games into playing online via lan tunneling and/or some sort of custom vpn for matchmaking....

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » July 23rd, 2017, 4:10 pm

Xavi92 wrote:Holy crap that would be awesome if it was possible. Can we get an update LameGuy64?
I haven't touched this for a very long time as of late and since I'm mostly invested on working on other things as of late, I don't think I can make an update of this for a long while.

As for link cable play over Ethernet, it is possible but I'm not sure how well it will perform. Not only do we need to tunnel serial data over Ethernet to another PSX but we also need to replicate the handshake signals as well which I'm not sure if it can be done on a Raspberry Pi as it only has tx and rx but no handshake pins for its built in serial interface. I'm also not sure how well the link cable compatible games will tolerate the latency when tunneling from serial to Ethernet (using UDP) then back to serial.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

likeabaus
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 133
Joined: Jul 27, 2016

Post by likeabaus » July 24th, 2017, 3:59 am

Well as long as there arent ping limits for system link games, the latency shouldnt be a problem (at least for a poc lol). Ik the xbox 360 has ping limits to make it near impossible to use services like xlink kai, but i doubt sony even bothered back then to implement something like that.

The handshakes would prolly b the biggest hurdle....

User avatar
CosmoGuy
Serious PSXDEV User
Serious PSXDEV User
Posts: 91
Joined: May 30, 2012
I am a: Hell knows who I am
PlayStation Model: SCPH-7502
Location: Polska, Wroclaw
Contact:

Post by CosmoGuy » July 25th, 2017, 12:09 am

Just leaving here a random post to show my interest in this.
But hell, if this would work out, it would be cool to test out few games that can be played over serial cable, using the internet.
Image

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » August 28th, 2017, 12:00 am

This is great work

I am currently playing around with an ESP8266 connected to my PSX and getting it working how I want is a serious test of my very very basic programming skills. The ESP uses 3.3v so can easily be powered from the PSX itself, and the ESP01 modules are very small.

Ideally I would like the PSX to be able to control the ESP, connect to WLANs etc using a PSX GUI, then use the WiFi bridge to be able to upload code etc.. bit like SIOCONS.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » August 28th, 2017, 11:33 pm

I'm actually working on improving upon this for my current PSX game engine project. I wanted to have a means to communicate to the PSX from a PC and vice versa over LAN by simply piping whatever is sent or received through TCP to the PSX's serial port using a Raspberry Pi on top of giving the PSX access to TCP/IP and file storage for save backup or loading game resources from the Pi.

I mostly planned to using this facility for some development tools that I'll be working on soon such as a TIM previewer so you can preview your pixel artwork on a CRT TV through a PSX or a model previewer so you can test your 3D model on actual hardware. Of course, this facility can also be used to send programs to the PSX and since my facility uses no special protocol for basic serial piping, the only modifications you'll need to do would be to just update the uploader program to send via TCP.

I have not tried using an ESP8266 or any similar module but I'm pretty sure all you need to do to get it to tick would be to send commands from the PSX to the module to get it to connect to an access point then set up the module to accept incoming connections so your PC can talk to it. I don't know how that'll work though as I don't have such a module or a similar one for me to tinker with.

By the way, I recently tested that the PSX serial port can actually go higher than 115200! The highest I tested was 1843200 baud and the output logic levels appear to look good enough for a compatible UART to decipher but the highest I got to work with my Pi is 230400 baud as going any higher would result in garbled data. Not sure if its the limitation of the Pi's built-in UART or its a software issue whether it be Raspbian's UART driver or the terminal program I was using to test (minicom). At least its double than the 'default' maximum that is 115200.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » August 30th, 2017, 1:16 am

They use a series of AT commands to control them, with the default firmware. There are alternative firmwares such as esplink which use a webpage to handle the connection and then transparently pass the serial data straight through. Ive tried this with psxserial mapping a com port to an IP address but it doesnt work properly.. it says receiving data from pc but gets no further.

They are super cheap on eBay/Alixpress etx.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » August 31st, 2017, 2:23 am

1.843.200 baud, wow!
I've had an Arduino talking over USB at 1.000.000 baud. No problems yet and it might go higher even, but that was directly from the board.
The signal will probably degrade quickly, once we add a reasonable cable length.

( Workaround: Just put the SIO <> USB bridge right at the console end. Basically just the PSX SIO connector straight into the bridge. USB will then take it from there. It is better suited to high speed transfers. )

danhans42:
I'm currently porting some coder over to a ESP8266 module. I haven't used any of those before but so far it looks nice.
I'm using the Arduino core, so everything is really simple. Enabling the WiFi and scanning for networks was done in about a minute. It's like 3 lines of code ;)

Username64
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: Sep 20, 2017

Post by Username64 » September 20th, 2017, 1:43 pm

This has intrigued me. Would it be theoretically possible to use this in conjunction with, or creating another Arduino board for the Nintendo 64, and a new server for it, to connect it online? The online portions (IPL rom and Modem rom) are dumped and available. But with more recent tech (wifi and whatnot) could it be done ?

Aelberto
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: Feb 20, 2019

Post by Aelberto » February 20th, 2019, 8:19 pm

Xavi92 wrote: May 17th, 2016, 1:51 am This looks absolutely impressive! Shamefully, v tight gel I only own a SCPH-102 PSOne, so I can't test this. Does this means that there is a chance to create multiplayer games for PSX?
Holy crap that would be awesome if it was possible. Can we get an update LameGuy64?
Last edited by Aelberto on February 26th, 2019, 6:09 pm, edited 1 time in total.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » February 25th, 2019, 2:35 pm

I haven't worked on this project in an incredibly long time as I've moved onto other things but are still PS1 related. The PsOne actually still has a serial interface in the form of test points on the board which you can solder wires to for Tx, Rx and Ground. There should be a guide about that in the forums.

Also, its likely a better idea to use one of those WiFi modules that communicate through serial like what danhans was doing. Though a Pi based solution would allow for fancy stuff such as file storage on the Pi through serial.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
[C]oopeZz
BANNED
BANNED
Posts: 16
Joined: Feb 25, 2019
I am a: Electromechanic
Location: Czech republic

Post by [C]oopeZz » February 25th, 2019, 6:56 pm

Interesting idea. I think this can be done for Playstation Classic, 3 months after release and really great job done by community.
[PC]
CPU: AMD Ryzen 5 1600X
GPU: NVIDIA GeForce GTX 1060 6GB
RAM: 16GB DDR4
MB: B450M Gaming Plus
HDD: 1TB Seagate Barracuda
SSD: 120GB Kingston
-----
[PS 1]
Model: SCPH-9002
Modchip: No
-----
[PS Classic]
Model: SCPH-1000R
Mod: BleemSync 1.2.0
Current limiter removed for USB port 2

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » February 26th, 2019, 9:40 pm

This still interests me, I still have an ESP8266 hanging from the serial port on my PSX for this job but my programming skills are not the strongest.

My initial idea was a proof of concept application for the PlayStation which would use the standard ESP 'AT' firmware and allow choosing the AP mode etc and build upon it.

The idea of having a small wireless device hanging straight off the back of the PlayStation does appeal to me, especially since if we could somehow make a PCB that went straight into the serial port we would also have +3.3v for power.

As for the PS Classic, this (I would have thought) would entirely lie in the emulation layer - which doesnt interest me - I would rather achieve this on the original machine.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » February 26th, 2019, 10:46 pm

The PS Classic is just some ARM based SoC running Linux and a modified PCSXR emulator. If you can get a custom Linux firmware running on it you can just stick a WiFi dongle to the USB ports of the system.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests