Well, Lord Nightmare wondered what could be done about this PES box. For those that don’t know what it is, it’s a white box with a TSP5220CNL TI speech chip inside it. There’s an 8031, RS-232 port, and a few other doo-dads. It was apparently some kind of educational aid. The box’s PCB inside is marked: “Pacific Educational Systems VPU Ver 2.1” The EPROM had a hand-written sticker on it marked “2.5” which is apparently the version number. There’s an empty spot on the board for a RAM chip, but it’s not populated. The box will run OK off of 12V DC, or a 9V wall wart (since these output around 12V DC when lightly loaded). Don’t feed it much more than this, the cap on the input is only rated for 16V and might go kablooey otherwise.
The problem with it is that the handshake handling is very crummy on it- it is almost impossible to make it work without overrunning its (nonexistant) buffer. I tried shutting off the serial port FIFO, but even that wasn’t enough. Sooo, out came the EPROM and the disassembler!
The EPROM contents were disassembled 2 years ago when we originally got the boxes to see how they worked. Come to find out, the code is only around 120 bytes, so most of the 8K EPROM is just wasted space.
I pretty much rewrote most of its code and added a 64 byte FIFO as well as proper handshaking control and XON/XOFF. This lets you feed it from a serial port and not worry about buffer overruns (within reason). The end result is it works perfectly when I send it a sample file dumped from Paperboy (arcade).
The frequency is a tad high though for Paperboy, so I removed the 82K resistor and dropped a 100K resistor in the box, then tweaked the pot until I got 160KHz on the ROM clock (as it came, it was set for 200KHz). I probably didn’t have to swap the resistor out but that’s how it ended up.
For fun, I swapped in a TMS5200, which is an earlier (buggy) version of the TMS5220. The results of both can be heard. The first is the TMS5200, the second is the TMS5220. The MP3 is here:
If you want to modify your box, you can get the asm file and binary files here: