A few weeks ago, I had met a man online that had some “vintage computer parts” for sale. He claimed he had at least 100 IC’s in the lot of various IC’s, some of which were Z80 and support peripherals. I decided to send him the US$20 he was asking for via PAYPAL. The US$20 included shipping as well. Looking through the eBay listings for some of these parts, I knew I would spend at least that for just a handful of basic parts; Z80, UART, EEPROM, RAM and PLD for address decoding.
The parts arrived a week later and I scoured through the parts I had received. Most were DRAM’s but there were a few SRAM’s and some other MCU’s like the 8031, 8051 and 8052. I was able to read the program MASK ROM in these 80xx parts. Of particular interest was the 8052, which at one time was sporting the INTEL MSC-BASIC interpreter in it’s internal 8K ROM. Looking through the ROM dump of the 8052, I did not see any strings consisting of the BASIC keywords, so I figured these parts had been used for something else, even though the pins had the typical “new part” pin angle on them indicating that they were never used. Perhaps some excess stock for some now obsolete product. I ran the code through the “MCU 8051 IDE” I had installed under my Linux development system and found that there was no serial output. The 8052 ROM code appeared to be stuck in an continuous loop looking for something in memory. I decided to build up a simple 3 chip design on a solderless breadboard. Have I ever mentioned that I always detested the days of the separate address, data and control buses? Well, if not, I just said it again. LOL
I used the 8052, a 32Kx8 RAM and a 74HC373 latch, simple… The 8052, when powered up, did as expected, it was continuously reading the RAM in the dataspace but was also writing to RAM.
As I had always wanted to build up an 8052 single board computer, I set out scanning the internet for other people’s projects to reference. I found a copy of the MCS BASIC manual and source code. The MCS BASIC manual had some reference schematics showing two implementation; one using a 2Kx8 EPROM and the other a 2Kx8 EEPROM (I2817A). The MSC 8052 BASIC does support writing to non-volatile memory to save programs and some of its own internal variables.
I started designing my circuitry using OrCAD Capture, which I learned decades ago when it was first released as a DOS product. I still have a functioning DOS copy but I use the WINDOWS® version now. The resulting schematic contains the 8052, an 8Kx8 EEPROM (AT28C64), a 32kx8 RAM (IDT71256), a 74HC373 latch and a LPD (GAL20V8D).
There are a few good resources for the 805x series of MCU’s. Here are a few:
- http://www.nomad.ee/micros/8052bas.shtml (has some dead links)