# Looking for microcontroller for computer project

I'm planing to build a small 80's "home computer" style computer, something with the following spec:s

• 8-12 Mhz
• 256 / 512 KB external memory
• 128 KB eprom
• 320 x 200 x 32 colors (VGA interface)
• SD card for storage (cant find any tape hardware ;) )
• I would prefer a development environment with a live debugger and fast rebuild process, for a stream lined development process.

I havnt found anything that matches this description, AVR is out, Zilog seem to be out since I cant find a reasonable development environ (as described above) and PIC was never an alternative (for the same reason as AVR)

So do you guys have any tips ?

• Why is AVR out? There is an established tool chain (including debugger) and some pretty powerful chips. You might have to hook some components together to get more external memory, and EPROM, but that's part of the fun, no?
– RQDQ
Mar 9, 2011 at 21:49
• I havnt found any AVR part that have address lines nor datalines so I was under the assumption that it only had onchip memory (?)
– RA01
Mar 10, 2011 at 11:02
• External memory interface is not very common in low-end MCUs. If you really want want, maybe have a look at the higher-end STM32 or LM3S, or LPC24xx. You can also always bitbang using GPIOs, especially if you don't need high speeds. Mar 10, 2011 at 11:27
• Thats a shame, I've looked a bit on Zilogs classic range, but I do not know how the development environment situation looks like, otherwise the z80182 looks like a contender ....
– RA01
Mar 10, 2011 at 14:33
• A lot of the AVR's have hardware support for SPI which can be used to access external memory (not as fast as other methods, obviously).
– RQDQ
Mar 10, 2011 at 20:43

An interesting option for a retro-computer is to use an FPGA; this 6809 implementation runs on a $99 Digilent Spartan-3 board. I tried it a few years ago - it worked very well with a VGA monitor and PS2 keyboard plugged into the FPGA board. Several similar systems have been designed, including this Apple II which uses an Altera FPGA board. Have you considered the Parallax Propeller chip? As far as I know, it is the only 32-bit CPU (microprocessor or microcontroller) that is currently being manufactured in a DIP package. (It's also available in SMT, like every other 32-bit CPU currently being manufactured). I've seen several projects with it that individually meet each of your specs, although I haven't seen a single project that does all of them: • 8 Mhz or more -- yes • 256 / 512 KB external memory; 128 KB eprom -- The HYDRA Game Development Kit Wikipedia article claims that a 512 kB RAM, 128 kB EEPROM expansion card can be plugged into the Hydra, which seems to meet your spec for external memory • 320 x 200 x 32 colors (VGA interface) -- The Hydra produces 800x600x64 colors VGA. • SD card -- the Propeller wiki mentions several SD card projects). • development environment -- the Parallax Propeller wikipedia article claims that "The Propeller is known for being easy to program." If you wanted a new and quite powerful chip you could use a LPC1768 chip. You can start with the mBed module which is DIP friendly. Programming and debugging is easy. I cannot comment on IDEs because I prefer Vim + a Makefile but CodeSourcery does offer a free preconfigured toolchain (for Linux and Windows IIRC). • No external memory bus on that chip family either (?) – RA01 Mar 11, 2011 at 18:59 • @RA01 well, it provides 512k ROM and 64k RAM. I'd say that more than enough for most of the things I do. And most (early) 80s computers didn't have a lot more than 64k of RAM Mar 12, 2011 at 22:20 Have you looked at the FEZ Cobra? If you're not opposed to the .NET Micro Framework, it looks to be very powerful. It has 16BM of RAM, 4.5MB Flash (instead of an EPROM) a 72 MHZ processor, SD card, ethernet and a bunch more. I haven't worked with this board in particular, but I've worked with the Netduino and developing / debugging is an absolute breeze. The code is pushed to the device via USB, and debugging takes place over the same USB cable. The development environment is Visual Studio (the free version is Visual Studio Express). • Planing to build the board myself as a learning project, but thanks for the tips, maybe for some other project ! – RA01 Mar 10, 2011 at 11:03 Have you considered using an actual 80's CPU? If you're going to build less than 10 items, it should be OK using your favorite 80's CPU, even if it's long been declared obsolete and no longer manufactured -- there's still a bunch of parts kicking around electronics surplus stores. Do you have fond memories of the 6502, 6802, or the 6809? Perhaps you will be interested in the N8VEM 6x0x homebrew computer project. Perhaps you can pick up a few tips from the N8VEM Home Brew Computer Project wiki. Do you have fond memories of the 68000? Perhaps you will be interested in how to design a wire-wrapped 68000 board that plugged into the S-100 computer bus. Or perhaps you will be more interested picking up tips for working with a surface-mount 68000 in the Minimig project. • I have, but I failed to find a reasonable development environment for the Z80182 MCU that I was thinking of using. Programing Eproms and debugging with led:s are not an option nowdays, to little time left after all daily chores. – RA01 Mar 11, 2011 at 9:54 Your specs are contradictory, something at that low of a clock rate is going to be an embedded microcontroller and not have any external memory, hardly any external pins for that matter. Really dont understand the desire for external memory, you can find 128K or 256K perhaps even 512K on chip, usually zero wait state. To get those features you are going to end up with a considerably faster processor, that doesnt mean you have to run it that fast, but to get those interfaces and features you will end up there. Expanding on the answers already given. You should investigate an fpga solution. Lattice has a couple of soft cores as does xilinx, eval boards can be had from a number of places knjn.com avnet, etc. Too bad the$50 spartan3a board I have is no longer available. Opencores has many cores you can use, the zpu for example, full gcc compiler support. An fpga solution will allow you the maximum flexibility, perhaps more than one, one for the processor core with a generic memory interface then another for the video support, etc.

the PIC32 series is a mips so there should be tons of support out there, on chip memory sure...

Some folks have Atari 2600 solutions out there as well as amiga, you might grab some components from those efforts and mix and match.

rabbit semi now digi has some with 8/16 bit external memory interfaces. This is a modified z80 core if I remember right. Dallas now maxim had the TINI board with an 8051 based deal and I know it supported external flash, they wanted to run java so it may have had external ram. The sdcc compiler was known for 8051's if I remember right. I think renesas is another 8051 house, and no doubt you could find or build an 8051 in an fpga.

I highly recommend going with something arm based. atmel, st, stellaris (ti), a laundry list of others. Cirrus has an ARM7 with a cache and an external 32 bit memory bus, perhaps the arm9 version has external memory as well. You can buy boards from embeddedarm.com that use cirrus parts. Omap and marvell though are the ones to look for, granted you are looking at hundreds of MHz but the parts have what you are interested, external memory interfaces, video, etc. boards like the hawkboard, beagleboard (I really dislike the beagleboard, big ripoff, go for the chinese knockoff, like my hawkboards better but looks like there was a design issue), there is the open-rd (I like it much better than the plug computers).

You could dissect a gameboy advance, gives you a parallel interface, design something around the charmed labs xport.

• Oh yeah, and you might want to look at the xcore from xmos, a good looking product in general. Mar 13, 2011 at 1:38