Advertising (This ad goes away for registered users. You can Login or Register)

Testing homebrew on real hardware via Xplorer/Xploder

Forum rules
Forum rule Nº 15 is strictly enforced in this subforum.
Locked
patrickvogt
Posts: 9
Joined: Thu May 24, 2012 9:15 am

Testing homebrew on real hardware via Xplorer/Xploder

Post by patrickvogt »

Hi,

I would like to test some PSX homebrew on the real hardware. This can be done with an old Win98-PC and the Xploder/Xplorer cheat device. I wanted to try to replace the Win98-PC with a modern Linux/Win8 32 or 64 bit PC.

I recently build a litte cable and tool to sniff on the communication between my old Win98-PC and the Xploder. The result was basically what is on Martin Korths site (Link: http://problemkaputt.de/psx-spx.htm#che ... sxplorerio).

I tried to implement the protocoll (on Linux using the basic 'outb' and 'inb' system calls (which needs root access), see upload.zip) by using the following 'protocoll/handshake' to determine if the byte was sent successfully (again from Martin Korths site):
== To send a byte to psx ==
out data to psx
set printer select line high
wait for ack from psx to go high
set printer select line low
wait for ack from psx to go low
Unfortunately, this doesn't work for me. When I try to use X-Killer (unlicensed program to communicate with the Xplorer/Xploder e.g. to look at the RAM) after my program was executed the X-Killer will always get a timeout. So I guess something is working, but it is not fully working.

Did anyone implement this protocoll to send a byte / upload a bin file into the memory via the xplorer/xploder? Do I need to set some special options of the port, e.g. synchronous mode?

Thanks in advance
Advertising
Attachments
upload.zip
(7.6 KiB) Downloaded 449 times
patrickvogt
Posts: 9
Joined: Thu May 24, 2012 9:15 am

Re: Testing homebrew on real hardware via Xplorer/Xploder

Post by patrickvogt »

Hi,

so I switched to something easier: Freeze and Unfreeze of the PSX. The code in the attachment contains a Linux program (needs to be executed as root) to Freeze and Unfreeze the PSX while playing a game using the Xploder.

My Xploder (Basic) has the V2 Rom and the bytes for freeze are 0x57, 0x4C and for unfreeze you do a 0x57, 0x52.

So the protocoll/handshake to send a byte definitely works.

I think the problem with the file upload is the length field. I guess it should be longer than the 3 bytes (perhaps 4 bytes, although you only need 3 bytes to specify a length within 0...2MB), so in my case (see upload.zip above) the xploder expected probably 0x006800XX bytes (where XX is represents the first real data byte) instead of the wanted 0x006800 bytes. I have to investigate this further. X-Killer and Xlink will timeout because they do a negotiation/initialization with the Xploder. So if the xploder is still in the "want to receive data bytes" mode it doesn't want to do any negotation.
Advertising
Attachments
xploder.zip
(1.52 KiB) Downloaded 461 times
DS_Marine
Developer
Posts: 277
Joined: Wed Oct 10, 2012 1:32 pm
Location: Argentina
Contact:

Re: Testing homebrew on real hardware via Xplorer/Xploder

Post by DS_Marine »

I don't know about that xploder thing, but what I do know is that you may need to experiment with different settings of the paralell port.
Older ports where SPP (standard paralell port), slower and easier to get it working. There are also ECP and EPP mode, with DMA assisted transfers, so you might want to try all modes.
ImagePSP-Controlled drone
"Hackers don't have superpowers. Just a hackable PSP and a brain (ships by default on most humans models)" -Wololo
Image
Locked

Return to “Programming and Security”