After being handed an old package of the SN76489 sound chip, Alex wondered if could be used as a synthesizer. After a bit of research he was inspired to make the Squareinator.
Squareinator drives a SN76489 vintage soundchip as a monophonic
synthesizer, using all three squarewaves plus pseudo-random noise to
deliver a fat synth sound. A multi-mode 12 db/oct VCF adds additional
character and is playable at full oscillation. All synth functions are
exposed as MIDI CCs. The ATMEGA32U4 in the Teensy 2.0 allows us to use
the high-speed timer PLL to provide the 2 mHz clock required by the
SN76489 with no extra parts.
You can find the code for the project as well as a schematic on GitHub.
Lofture says that it was simple to build. It uses a Teensy ++ to sample from an AD8307 logarithmic amplifier from Analog Devices, 200 times per second. A Rotary Encoder with a built in Pushbutton is used to navigate the various displays and to access a settings/configuration menu..
The project web page has a detailed write up and includes the code for the project.
This creative clock has birthdays of friends and family stored in it. The clocks picks up GMT date and time from GPS satellites by using Mikal Hart’s GPS code and prints a birthday greeting at 8 am on the morning of the birthdays. On Andrew’s 100th birthday the clock has an added bonus of printing a map to locate treasure he’s buried somewhere.
Boulder Dash is being played on the emulator in this video.
There are 2 versions of the emulator – one for the ILI9341 display and the other for a VGA display.
C64 emulator for VGA
The list of working games is lengthy, including these favorites:
The project stated a few years ago someone asked Frank if it was possible to emulate the C64’s Sound Interface Device (SID) chip on the Teensy 3.2. He found a good reverse engineered SID (reSID) and ported it to the Teensy 3.2. Unfortunately the current reSID versions require a lot of RAM, so he had to switch to an older version. Then Teensy 3.6 was announced. The 256KB of RAM, more than enough flash memory, SD slot, and 180 MHz speed made Frank think it was possible to emulate a complete Commodore C64.
In order to make the emulation happen, challenges with the display needed to be addressed. With current libraries there was no way to control a display fast enough for the emulation. Frank wrote a new display library for the well-known ILI9341 TFT display using DMA and overclocking the SPI interface to 60 MHz, to achieve full screen DMA-based refresh.
It’s been *a few* years since the Commodore C64 has been around (released in 1982, discontinued in 1994) and Frank had forgotten about it’s technical details. Luckily the documentation is still around and he was able to read up on it. He admits that he underestimated the video chip on the C64 (VIC-II), but that turned out to a good thing. Had he known what he was in for he might not have started the project. In the meantime, he has rewritten the code for the VIC-II a few times.
The C64 emulator currently sports the following list of features
Teensy 32 and TeensyDuino powered light and sound stage prop. It features real time wire/wireless MIDI and microSD file MIDI driven light shows. It also can perform real time audio analysis, beat / tempo detection and real time music driven light effects.
The hardware technical specifications include:
*Complete full RGB lighting. 200 smd RGB *No cheap wire soldering. Each panel has a custom housing PCB for a safe and durable soldering *ARM Cortex M4 Teensy processor. Tinny and powerful processor *Wifi NodeMCU. Allows Wi-fi interaction with the unit *Accelerometer. Allows motion interaction with the unit *Internal Microphone and Line input. Allows the unit to interact with music or sound *USB and SD Card slot. Makes easier to add LED choreographies or update the OS *MIDI support. Makes easier to add more LED choreographies without programming knowledge via MIDI *Custom MIDI Library. Plug and play with the common music production softwares *Custom chromatic library. Absolute control of the colors, saturation, brightness and timing for pure colors *Internal LCD Screen. A 2 inch screen displays the menu of the OS. Scrollable with the right ear control knob *Internal Fans. 2 fans placed on the jaw allows a cool breathing of the user *Long-lasting autonomy. Powered by the 14 Amps LoveProps gauntlet, more than 6 hours of autonomy