The NABU PC caused a bit of a buzz in the retrocomputing community a while back. After all, it doesn’t happen often that a huge batch of brand-new computers from the 1980s suddenly becomes available on eBay. Out of the box, the computer itself isn’t that useful: with no internal storage, or any application software whatsoever, it can really only serve as a bare-bones development platform. But since its hardware is quite similar to that of other contemporary home computers, emulating one of those shouldn’t be too difficult, which is exactly what [Ted Fried] did: he managed to turn his NABU into a TRS-80 clone by using his MCLZ8 CPU emulator.
The MCLZ8 is basically an 800 MHz Teensy CPU with an adapter board that allows it to be plugged into a Z80 socket. It emulates the Z80 CPU in real-time, but it also holds the TRS-80 ROM and performs real-time translation between peripherals. On the input side, it reads out the ASCII characters coming in from the NABU’s 8251A UART and stores them in the virtual TRS-80’s keyboard buffer. On the output side, it transfers the TRS-80’s video data to the NABU’s TMS9918 video chip.
Click through the break for more!
One problem [Ted] ran into was a difference in screen resolution: the NABU has a 40×24 character display, while the TRS-80 generates a 64×16 character image. [Ted] solved the vertical difference by simply keeping the NABU logo on the screen at all times, and decided to just ignore the 24 characters that drop off the right side – it’s not a big issue for a typical BASIC program anyway.
The repurposed NABU might not be a perfect TRS-80 clone, but that’s not the point: it shows how easily the NABU’s hardware can be reprogrammed to do other things. For example, [Ted] has already started work on a new project that doesn’t emulate the Z80, but instead runs code directly on the Teensy’s ARM A9 processor. As you might imagine, this gives the NABU several orders of magnitude more processing power, although the practical use of this is limited because the CPU still has to wait for the NABU’s slow data bus and display chip. [Ted] explains the setup and runs a few impressive demos in the video embedded below.
[Ted]’s NABU experiments are a great example of the Teensy board’s flexibility: we’ve already seen how it can emulate a Z80 as well as an 8088. We’re also curious to see what others will develop with the NABU’s hardware – if they can still buy it, of course.