Counting Transistors In The Playstation

Over in Russia there are a few people doing extremely in-depth technical teardowns, and the latest is one of the most ambitious ever seen. The PSXDEV team is tearing into the heart of the original PlayStation (Google translatrix), looking at 300,000 transistors, and re-implementing the entire console in a logic level simulator.

While the CPU in the PSX is unique to that specific piece of hardware, a lot of this custom silicon can be found in other places. The core – a RISC LSI LR33300 – is documented in a few rare tomes that are somehow available for free on the Internet. Other parts of this chip are a little stranger. There is a bizarre register that isn’t documented anywhere, a Bus Unit that handles the access between various devices and peripherals, and a motion picture decompressor.

The reverse engineering process begins by de-encapsulating the CPU, GPU, sound processing unit, and CD-ROM controller, taking very high magnification photos of the dies, and slowly mapping out the semiconductors and metals to figure out what cells do what function, how they’re connected, and what the big picture is. It’s a painstaking process that requires combing through gigabytes of die shots and apparently highlight gates, wires, and busses with MS Paint.

The end result of all this squinting at a monitor is turning tracings of chips into logic elements with Logisim. From there, the function of the CPU can be understood, studied, and yes, eventually emulated down to the gate level. It’s an astonishing undertaking, really.

If this sort of thing sounds familiar, you’re right: the same team behind PSXDEV is also responsible for a similar effort focused on the Nintendo Entertainment System. There, the CPU inside the NES – the Ricoh 2A03 – was torn down, revealing the 6502 core, APU, DMA, and all the extra bits that made this a custom chip.

Thanks [Rasz] for the tip.

An arcade controller for the original PlayStation

I love it when you hit those switches

[Kevin] just finished a project for someone who lives in his apartment complex. This resident loves the game Pop ‘n Music – a Guitar Hero sort of game for the original Playstation and PS2 that uses nine colored buttons instead of five buttons along a fingerboard. His original idea was to wire up a few arcade buttons to a Playstation controller but this plan fell through, forcing [Kevin] to figure out the PSX bus all by his lonesome.

The initial code began with simply bit-banging the PSX controller interface with an AVR. This had a few problems, namely speed, forcing [Kevin] to move onto assembly programming to squeeze every last bit of performance out of a microcontroller.

The assembly route failed as well, dropping some transactions  Looking at the problem again, [Kevin] realized the PSX controller bus looked a little like an SPI bus. There were a few changes required – reversing the order of the bits, and using the MISO line to drive a transistor – but this method worked almost perfectly on the first try.

Now, [Kevin]’s building mate has a custom Playstation controller for his favorite game. Of course all the code is up on github for all your PSX controller emulation needs, but be sure to check out this completely unrelated Pop ‘N Music video from someone who desperately needs a piano.

Nyan Cat: the PlayStation game

We’d bet you didn’t know there was a Nyan Cat game for the original PlayStation. Well, there wasn’t one until very recently. This isn’t a title that has been licensed by Sony, and we bet you won’t spend hours playing such a thing. But the concept has let [Haunted] hone his development skills.

We’re not certain how he’s getting around the copy protection for PSX games, but we know there are a few different exploits out there. If you happen to have your own method playing homebrew games you can even download the bin/cue files to try this out for yourself.

After the break you can watch a demo clip of the game. It boots like normal until you hit a black screen with white text which displays a loading percentage. This is followed closely by the rainbow spewing feline pastry. The sound takes a minute to play but you can be sure it’s there. Currently there’s no scoring system but that’s in the works for a future revision.

Continue reading “Nyan Cat: the PlayStation game”

Using classic game controllers with a wii

[Bruno]’s Wii RetroPad Adapter was sent into the tip line, and we’re loving the possibility of using Playstation 2, Genesis, NES and SNES controllers with our Wii.

While there are commercial solutions that connect an NES or SNES controller to a Wii, everything connects to the GameCube port and there is no adapter for Sega or Playstation controllers. For his build, [Bruno] used an ATmega168 to read data from the classic controllers and translate that to the Wiimote I2C bus. Think of it as a new classic controller with the same form factor your 8-year-old self knew and loved.

The schematic for the build is very simple and [Bruno] has all the software out in the open. Even the PCB is single sided and looks like it would be a great candidate for a homebrew PCB. There’s no indication [Bruno] is trying to monetize his creation, so he’s either doing right, or so very wrong. Check out the Dualshock 2/Mario 3 demo of this board after the break.

Continue reading “Using classic game controllers with a wii”

Autonomous game controllers

On the off chance that you want to program a microcontroller to play your games for you, you should check this out. Near Future Laboratories has made a dongle that can allow an Arduino to operate as a PS2 or PS3 controller. You can see the Arduino running a random path generator in Katamari Damacy in the video above. They wanted to see how long it would take to clear a room. It managed to get almost all of them in about 70 minutes, only missing those that you have to cross a narrow bridge for. Actually, this could be quite useful in allowing people to create alternative input methods. You may recall reading about their early progress back in June 2008.

PSP L2/R2 button mod


This is quickly becoming an unintentional “game controller Saturday”. We haven’t been covering the PSP much lately, so this is a treat. AcidMods forum member [Electro] put together a quick guide for adding two missing shoulder buttons to the PSP. The L2 and R2 buttons are used while playing Playstation 1 games and are usually mapped to directions on the joystick. This mod jumps the joystick’s contacts an relocates the buttons to the shoulders. The switches used in the post seem kind of bulky, but you’re free to use anything that fits.

[via Engadget]