Amethyst Is a Custom 8-Bit Computer Built on an ATmega1284 Microcontroller
Matt Sarnoff used an ATmega1284 to build Amethyst, a retro-style home computer similar to a Commodore 64 or Apple II.
Early 8-bit home computers from the late ‘70s and early ‘80s almost all used either a Zilog Z80 or a MOS Technology 6502 processor, and had anywhere from 4KB to 128KB of RAM in separate chips. There were, of course, many other ICs and discrete components necessary for those to actually work. Today, you can find microcontrollers with all of those integrated into a single small package for very little money. Matt Sarnoff took advantage of one of those to build Amethyst, which is a custom 8-bit home computer similar to a Commodore 64 or Apple II.
The first thing you notice about Amethyst is the striking design. It has a simple, yet elegant, enclosure made from laser-cut wood, and a 40 percent mechanical keyboard. That keyboard uses Cherry MX Red key switches soldered to the computer’s PCB. The 40 percent layout is more compact than what you’re probably used to and the space key is in a less than ideal location, but the keys themselves are full-size. This layout helps keep the overall size of the computer small, while still allowing for far more comfortable typing than almost any of the original 8-bit home computers.
The entire computer runs on just six IC chips. Those are: a Microchip ATmega1284 microcontroller, an FT320X UART – FTDI USB bridge, two 74HC157 multiplexers, and a 74HC166 parallel-serial interface. The ATmega1284 is an 8-bit microcontroller that runs at 14.318 MHz, which is a few times faster than most home computers — but that’s largely irrelevant. It has contains 16KB of RAM, and 4KB of non-volatile EEPROM memory that acts as the ROM that was used to store the kernel for almost all home computers.
Using an NTSC artifact method similar to what was used on the Apple II, Amethyst is able to generate video in a few different modes. It can produce monochrome bitmap graphics at 640x200 pixels, and 256-color, 16-color, and 4-bit bitmap graphics at 160x200 pixels. In text mode, it can produce 40x25 color characters or 80x25 monochrome characters. Single-channel audio output can be synthesized through pulse wave or PWM (Pulse Width Modulation). Four expansion ports are available for gamepads and other peripherals, and it can connect to modern computers via a USB serial connection at up to 57600 baud. A Forth interpreter runs from EEPROM storage, and can be utilized to run software similar to BASIC, CP/M, or DOS.
While it does use components that weren’t available in the 8-bit home computer era, Amethyst still manages to mirror the specifications of those computers in an affordable manner that is possible for retrocomputing enthusiasts to reproduce today.