PSX Keyboard and Mouse Adaptor (SCPH-2000 Prototype)

BIOS, Controllers, Memory Cards, Serial I/O, Parallel I/O, etc.
User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » February 8th, 2015, 2:43 pm

psx-collector wrote:Yes, it can be used with Online Connection CD. :)
A dump of the disc would be nice to check out. Someone here was going to, but it never happened.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 541
Joined: Nov 12, 2012
Contact:

Post by nocash » November 10th, 2017, 4:29 am

Now that the Online Connection CD was dumped, some findings about the PS/2 keyboard reading...

Keyboard response data consists of 15 bytes:

Code: Select all

1st byte: High-Z
2nd byte: ID (5Ah, fixed)
3rd byte: ID (96h, MSB; 9=Keyboard, LSB: 6=Six halfwords following, ie. 12 bytes)
4th byte: Number of keyboard scancodes (0..11?) (or FFh=special, maybe no keyboad attached?)
5th byte: First keyboard scan code
6th byte: Next keyboard scan code
...
15th byte: Maybe last keyboard scancode (or mouse data in last some bytes?)
The keyboard scancodes are in "PS/2 Keyboard Scan Code Set 2" format. If you've ever dealt with reading a PC keyboard, then you are probably more familar with "Set 1" scancodes, although your keyboard is probably transmitting "Set 2" scancodes through its cable (as far as I understand, the PC keyboard controller/hardware is automatically converting "Set 2" codes to "Set 1" format for backwards compatibilty).

Theoretically one should also be able to send commands to the keyboard, eg. for changing the key repeat rate. Don't know if/how that's working yet.

I haven't spotted any PS/2 mouse reading code yet. Except two things:
1) The above 12-byte area seems to be divided into two 6-byte regions, maybe the first half is for keyboard data, and the other for mouse data.
2) And, apart from ID 9=keyboard, the online cd software also handles ID 1=mouse. Maybe that's just for the Sony Mouse. Or maybe the PS/2 adaptor is sending mouse data with that ID (and keyboard data in a separate packet with different ID).
Or maybe it's working yet differently, with the PSX sending different read-commands for keyboard and mouse or so.

Does anybody have one of those SCPH-2000 adaptors for real? It would be interesting to do some basic tests on it. First would be, of course, to check if it's compatible with normal Sony Mouse compatible games. And, dumping the keyboard response bytes would be also interesting - but, as long as nobody is owning the real hardware, there isn't much point in making dumping software for it.

User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » November 10th, 2017, 8:56 pm

First a ROM dump and then PCB pictures of both sides would be awesome :D
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
Davide_G
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Aug 29, 2014
I am a: Student
PlayStation Model: SCPH-5552
Location: Italy

Post by Davide_G » November 11th, 2017, 12:09 am


User avatar
CodeAsm
Verified
Active PSXDEV User
Active PSXDEV User
Posts: 69
Joined: Jan 13, 2012
I am a: Programmer, Student
Location: The Netherlands
Contact:

Post by CodeAsm » November 11th, 2017, 1:25 am

Davide_G wrote:I have found this thread: https://assemblergames.com/threads/wtb- ... ost-899454
Hmm, did he know the online disk is now released? and would he mind taking pictures/make a rom dump if posible? I should ask him I gues
Development Console: SCPH-102, unkown clone Modchip, PAL , FTDI board build into the case (microUSB) for Serial I/O.
Development Computer: GNU/Linux, Arch x86_64 Linux 4.20.3, i7-3632QM [8x3.2GHz], 11,8GiB, 1366x768 GeForce GT 630M (Optimus tech), lots of gig of storage

User avatar
Davide_G
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Aug 29, 2014
I am a: Student
PlayStation Model: SCPH-5552
Location: Italy

Post by Davide_G » November 15th, 2017, 11:39 pm

A GameRaveTv user has a SCPH-2000. Nocash can you contact him?

https://youtu.be/sr4Kzzd-ZbE


Image

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 541
Joined: Nov 12, 2012
Contact:

Post by nocash » November 17th, 2017, 5:00 am

Contacting SCPH-2000 people could be a problem. There's somebody at atariage (I've registered there 5 years ago, and my registration is still in "validating" stage, meaning that the admin will want to review it before activating the account). And youtube doesn't support my PC at all. Registering at assemblergames never worked for me either (though that "give me $200, trust me, here's my phone number" post didn't sound too convincing anyways).

Best would be if one of that SCPH-2000 people could join this forum, or contact me via PM or email.

Searching mouse support in the online connection software is quite frustating - I am about to believe that it doesn't have any mouse support at all.

I've found the PS/2 keyboard code, and the digital joypad code, and the "mouse emulation" code (where it's moving the mouse arrow via joypad DPAD keys, or, in a very crappy fashion, via keyboard cursor keys). For the Sony Mouse, I've also found some code where it does intentionally skip/ignore data from that controller. And for the PS/2 mouse, there appears to be no support for that at all.

As it seems, it's supporting only the keyboad part of the Keyboad/Mouse adaptor... or maybe it doesn't support that adaptor at all... it's also possible that they had used some different Keyboard adaptor, incompatible with the SCPH-2000 hardware, or even a custom external Sony/Lightspan Keyboard without adaptor.

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 17th, 2017, 1:21 pm

Would be nice to get a hold of one of those SCPH-2000's, but anyway, I've got this which might be useful. It's got some PIC MCU assembler code in there, but the chips are so old a replacement would be needed, which opens the question of whether or not a similar MCU along the lines of the predecessor would even compile and execute correctly. I also don't have a PIC programmer so there's that problem too.

Code: Select all

; PSXKey V2.04
; (c)2000 Double Dutch Designs Limited
; Written by Anthony Ball

Code: Select all

PC keyboard and mouse interface (via SX28) to the PlayStation 1 by Simon Armstrong
I never got around to actually trying it (obvious from the above context), but I would assume it's basically on the same page as that SCPH-2000 adapter.
You do not have the required permissions to view the files attached to this post.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
Davide_G
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Aug 29, 2014
I am a: Student
PlayStation Model: SCPH-5552
Location: Italy

Post by Davide_G » November 17th, 2017, 7:46 pm

Shadow wrote:

Code: Select all

; PSXKey V2.04
; (c)2000 Double Dutch Designs Limited
; Written by Anthony Ball
I have found in Linkedin the software developer. We could ask him for help.
https://www.linkedin.com/in/anthonyball66/

PS: And this is his twitter account: https://twitter.com/sinistersoft
Last edited by Davide_G on November 18th, 2017, 2:55 am, edited 2 times in total.

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 17th, 2017, 7:54 pm

Yeah, we could ask him. I'm honestly starting to think that Sony actually used his hardware and software though for this SCPH-2000. Anyway, the source is there, but we need someone who knows their PIC MCU's or PIC assembler because the code could easily and very well be ported to C for an ATMEGA328.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 541
Joined: Nov 12, 2012
Contact:

Post by nocash » November 18th, 2017, 2:24 am

That are two homebrew projects, both dated around year 2000, unrelated to the Online Connection CD's keyboard (from 1997), and (most probably) unrelated to the SCPH-2000 hardware.

The incomplete code snippets from Anthony Ball are using the PSX serial port (1F80105xh) instead of the controller port. That's definetly unrelated, and it's keyboard only, without mouse.

The code from Simon Armstrong is sending "standard" PSX Mouse packets with ID 5Ah,12h, and with the keyboard scancode/flags squeezed into unused bits of the mouse button value. That's closer, but still different from the Online Connection CD stuff with ID 5Ah,96h.

User avatar
SCPH-1002
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Apr 09, 2013

Post by SCPH-1002 » November 18th, 2017, 2:35 am

I'm sorry for a lil offtopic, I want to visit the assemblergames link above but it only display a empty tab like I open a new empty tab.
I've know some people over there which I could contact for your questions in case the site is not down.

gracie @ Davide_G for the capture :)
Last edited by SCPH-1002 on November 18th, 2017, 3:42 am, edited 1 time in total.

User avatar
Davide_G
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Aug 29, 2014
I am a: Student
PlayStation Model: SCPH-5552
Location: Italy

Post by Davide_G » November 18th, 2017, 2:49 am

SCPH-1002 wrote:I'm sorry for a lil offtopic, I want to visit the assemblergames link above but it only display a empty tab like I open a new empty tab.
You do not have the required permissions to view the files attached to this post.

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 18th, 2017, 2:05 pm

nocash wrote:That are two homebrew projects, both dated around year 2000, unrelated to the Online Connection CD's keyboard (from 1997), and (most probably) unrelated to the SCPH-2000 hardware.

The code from Simon Armstrong is sending "standard" PSX Mouse packets with ID 5Ah,12h, and with the keyboard scancode/flags squeezed into unused bits of the mouse button value. That's closer, but still different from the Online Connection CD stuff with ID 5Ah,96h.
Ah, I didn't realise the date order was backwards. I thought the online CD came out later :P

Do you think perhaps Sony made a library for the SCPH-2000 for use with Psy-Q'?
I mean, they have packets setup specifically in their library for the JogCon Controller, Flight Stick, Gun, Mouse, etc.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » November 19th, 2017, 12:31 am

Psxkey log stats it started as serial but moved to the controller port.. but no mention on a mouse.. Probably added later tho :shrug :shrug

Yeah for PSX computer!!
; PSXKey V2.04
; (c)2000 Double Dutch Designs Limited
; Written by Anthony Ball

; Requires 8Mhz AVR AT90xxxx

; Keyboard optional commands, needs 'off', 'sleep', 'on' keys
; off keyboard emulates pad
; sleep keyboard is pad as well as stick inputs
; on keyboard acts as keyboard - along with stick inputs!

; List of changes:
; 1.xx-2.00 change from pic to avr microcontroller, serial to pad ports
; 2.00-2.01 automatic keyboard detection
; 2.01-2.02 multiplexed sega stick input(s)
; 2.02-2.03 pad emulation via keyboard
; 2.03-2.04 crystal & software change from 4Mhz to 8Mhz

; Limitations:
; o Will not function properly with a multitap, this is because of the
; packet length being too long

; Known Bugs:
; o Memory cards plugged into same port will not function properly

; Features:
; o Hardware decode/encode of psx communication data
; o 'On-the-fly' detection & reset of inserted keyboard
; o Interrupt driven keyboard reading
; o Converts keyboard data to single byte for press, another for depress
; o Interrupt driven keyboard control
; o Spurious bit error correction on keyboard data
; o Parity bit checking on keyboard data
; o Multiplexed Sega stick input(s)
; o Psx pad emulation via keyboard


User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 541
Joined: Nov 12, 2012
Contact:

Post by nocash » November 19th, 2017, 2:21 am

gwald wrote:Psxkey log stats it started as serial but moved to the controller port..
Hmmm, the terms microcontroller and serial to pad could mean anything to me. But, going by the webpage, you are right.
http://www.sinistersoft.com/psxkeyboard
That page is also including the full keyboard source code (unlike the .zip file which contains only some IRQ handlers).
Keyboard Controller ID is E8h,5Ah (unlike Online CD with 96h,5Ah). And key scancodes are also different as Online CD.
That homebrew keyboard was intended for a spectrum emulator (=presumably without mouse support planned).
For the mentioned bugs/limitations: Conflicts with memory cards shouldn't happen (don't know how one could screw up that part). Multitap should be no issue (except that people didn't knew how to read more then 32bits per controller via multitap back then).

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 25th, 2017, 9:41 pm

Anyone got $1K they want to spare on this? lol.

https://www.ebay.com.au/itm/PlayStation ... SwfVpYvGzo
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

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

Post by likeabaus » November 26th, 2017, 12:14 am

Yeah let me just pull that amount of cash right out of my butt XD. #seemslegit

User avatar
Davide_G
Curious PSXDEV User
Curious PSXDEV User
Posts: 25
Joined: Aug 29, 2014
I am a: Student
PlayStation Model: SCPH-5552
Location: Italy

Post by Davide_G » November 26th, 2017, 12:35 am

We can do a crowdfunding and sell the device after analyzing it.

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » November 26th, 2017, 12:43 am

Davide_G wrote:We can do a crowdfunding and sell the device after analyzing it.
Haha, nah, I was only kidding :P
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest