Downsway Joystick Interface reverse engineering

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Downsway Joystick Interface reverse engineering

Post by mmu_man »

I happen to have a single joystick adapter without any branding, but from the picture it's the Downsway one.

It's programmable, you had to flip a switch, do each move on the joystick while pressing the corresponding key to have it learn, then flip the switch back. It of course forgot on power down so you had to teach it every time.

I opened it again yesterday and checked the few chips. It's actually much simpler than I thought :
  • 2 * SN74LS367 (Hex Buffer Tri-State)
  • 2 * N82S129N (1Kbit TTL bipolar PROM, 256*4bit)
  • M58725P (2kB static RAM)
  • 16 * 2200 ohm resistors
  • 2 other resistors, 2 caps and 1 diode.
At least 3 bits of one of the PROMs go to the address bits of SRAM.
The joystick input goes to more address bits on the SRAM.

I think it uses the PROM to implement address decoding to snoop the VIA and PSG accesses, assert IOCONTROL and the SRAM chip enable, and then the SRAM sends whatever data was found on the data bus when learning for the same joystick move.
There must probably be some state machine because of how the keyboard is addressed through the PSG, but it's much simpler than I thought.

One interesting thing with this kind of design is the SRAM could possibly be dumped and restored with additional logic, maybe even auto-loaded when selecting some TAP or DSK if we had an integrated device.

Also, since the joystick input is taken as binary in the SRAM addresses, it means it can handle diagonals and move+fire as separate keys, unlike if it just mapped each direction to a key.

Ugh, now I just notice something very odd: all data bits of the SRAM are wired together, and apparently going nowhere. I suspect some trace goes from under the chip but it's really odd design. This means it can only serve as a single bit. Ah yes I think I saw the trace from under the chip. It goes through a diode then to pin 16 of the EXP connector, which is… D3, I didn't see this coming. Ohhh, right: the keyboard PCB actually asserts an input if the current matrix position is pressed, so both the column and row is scanned. And the PROM are there to map back the scanning to addresses on the SRAM, which then only knows when to tell if a key is pressed. I suppose there's a trick to keep the data on the PROM output around.

I'll be taking photos of the PCB to try and reverse-engineer it some more.
User avatar
iss
Wing Commander
Posts: 1641
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by iss »

Cool! Your hardware analysis coincides fully with my knowledge about the programmable joystick.
Attached are pics of my interface. It would be nice to have the schematics reverse-engineered -
I didn't made it so far because I plan to integrate it (... one day in the future ...) into something bigger :).
joyprog-1.jpg
joyprog-2.jpg
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

Interesting, I suppose the PROM's job has been integrated in the PALs.

AM9114EPC : AM9114 : Static RAM, 1Kx4, 18 Pin.

Yours is simpler to get the schematics: it's a single PCB. On the other hand, reading PALs is not as easy as PROMs, although it shouldn't be that hard to rewrite their equations.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by Dbug »

Funny how a few years ago it was all about getting a SD card device, and now it's Joystick bonanza :D
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by Chema »

Indeed! :)
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

Well it's just because I've seen your post asking how they worked so I just opened the box :D
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by Dbug »

I almost got one of these a few months ago, but I lost the auction :p
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

(hmm, 3 attachments max per post?)

Took some pics… I used my daylight lamp for this.
ORIC_Downsway_Joystick_DSCN0746.jpg
ORIC_Downsway_Joystick_DSCN0747.jpg
ORIC_Downsway_Joystick_DSCN0748.jpg
Last edited by mmu_man on Sat Oct 31, 2020 10:48 pm, edited 1 time in total.
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

More pics :roll:
ORIC_Downsway_Joystick_DSCN0749.jpg
ORIC_Downsway_Joystick_DSCN0750.jpg
ORIC_Downsway_Joystick_DSCN0751.jpg
User avatar
mikeb
Flight Lieutenant
Posts: 282
Joined: Wed Sep 05, 2018 8:03 pm
Location: West Midlands, UK
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mikeb »

mmu_man wrote: Sat Oct 31, 2020 10:45 pm Took some pics… I used my daylight lamp for this.
Flatbed scanners are good for this job too (right down to small surface mount bits if you can wring 1200 dpi out of them!)
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

mikeb wrote: Sun Nov 01, 2020 6:17 pm Flatbed scanners are good for this job too (right down to small surface mount bits if you can wring 1200 dpi out of them!)
Indeed, I have one right here :-)

I started creating a KiCAD project, I'll put that on the svn sometime. But I'll have to create the parts as the PROM nor the SRAMs are in the standard library, probably because they are so old.

Ok, the smaller footprint under the SRAM seems to be for a 2114 or 9114 or compatible 1kx4bit SRAM, the 4 data bits are also wired together.
User avatar
kenneth
Squad Leader
Posts: 515
Joined: Fri Nov 26, 2010 9:11 pm
Location: France PdD
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by kenneth »

For the Downsway interface, the 6116 ram is maybe compatible?
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

At least the pinout seems identical to the M58725P.
mmu_man
Flight Lieutenant
Posts: 322
Joined: Thu Sep 21, 2006 7:45 pm
Location: 26000 Valence, FRANCE
Contact:

Re: Downsway Joystick Interface reverse engineering

Post by mmu_man »

Been busy cleaning up and repairing my joystick as I noticed a little part that broke in the box… glued it back and it's now fine.
Post Reply