Gaming on an IBM XT using an NES controller

[Frode] felt that using the keyboard for gaming on his old IBM XT computer was simply too noisy. He came up with a much quieter way to game by building an XT adapter for an original NES controller. If you haven’t explored the communication protocol used by the NES peripherals this is a great way to learn. Inside you’ll find a CMOS shift register that captures button states when it receives a latch signal. With that in mind [Frode] came up with a circuit to gather the bits from the controller, and generate input commands using the XT keyboard protocol without using a microcontroller. All of this is explained in the demo after the break.

Of course the keyboard on his XT is “noisy”, it’s a “clicky” one from the days when IBM built keyboards to last. As an afficionado of old computer hardware, and a user for almost two decades of a Model M keyboard, that hardly seems justification to replace the keyboard with a Nintendo controller, but to each their own. :)

Impressive because it does not use an µC.
On the other hand, it is a lot of hardcore nerd work for very few functionality and the need to reprogram(?) old games in order to make use of the adaptor.
I like it. ^.^

Alex: I doubt watercooling is *really* necessary for either the 8086 CPU or the (optional) 8087 FPU. :) The power supply, on the other hand, might benefit – though a new, modern fan would probably do the trick just as well, and much more cheaply.

As to whether extensively modding an XT would be 3l33t… I’ll leave that to others to decide.

Too loud, perhaps, but the XT keyboard was usually a model F capacitive board, rather than the membrane contacts of the Model M. Both great boards, both nice, clicky, buckling spring keys over their different contacts, however – the XT was actually quite good for gaming having the debounce done for free by the analog sensor, and also having full n key rollover in hardware. Latency on an F is not actually faster than an M, though – the debounce is not needed, but the keys are instead scanned more sequentially, so the scan actually eats up what would have been the debounce time, and then again some more.

been using an acer 6311 keyboard for 18 years. CLICKY CLICKY CLICKITY CLICK-KLACK-CLICKY. seriously, thisw thing was designed to be repaired, i have a few times. i aim to get atleast another 5 or 6 years out of it, then i have another in storage =D

@Gppk
@Anonymous
I wasn’t unhappy, but rather a bit nervous. I borrowed my yonger brother’s camera, something he doesn’t really like, so I had to do it as fast as possible.

By the way, the project can be made to support the SNES controller and four-score with only one additional clock divider. Then the last 8 bits will have to be manually “aligined” in the shift register as those bits would lack the start-bit.

Another reason to use an adapter instead of physically modding the controller is that you can decided if you want to use a regular controller pad or any of the alternative controllers (anything from the POWERGlove to the NES Advantage should work in some way). You can also change the kind of controller used while playing.

way to go man! Writing a game in assembly on your RED-flip-button 8088 turbo system and designing a connector for your NES controller using flip-flops and wood. I wish I still had that stuff. But I have to say I love the keyboard the most. Nowadays you can buy one of those clickety-click-keyboards for $70! Wish I kept it from my childhood…

@arjan
btw, this is a geniue 4.77MHz IBM XT, not one of the turbo-clones.

I got 3 of these keyboards, but only this one is in exellent condition (it’s also the only one with the Norwegian layout). The other two IBM XT-class KBs got minor costmetic issues, like corrosion on the almost solid metal box surrounding the key-contacts and one got an unstable “space” key (due to some accident I had once I tried to clean it).