/TeensyROM

TeensyROM is a ROM Emulator, Fast Loader, MIDI and Internet cartridge for Commodore64/128

Primary LanguageCMIT LicenseMIT

TeensyROM

ROM emulator, super fast loader, MIDI Host/Device, Internet interface cartridge and more for the Commodore 64 & 128, based on the Teensy 4.1 Design by Travis S/Sensorium (e-mail)

If you have thoughts/input on this project, questions, or features you'd like to see, please consider yourself invited to the TeensyROM Discord Server

Recent Update: The TeensyROM now supports an NFC Loading System. Just tap an NFC tag on a reader to start any program!
See the demo video here and setup instructions here.

The HW was designed with medium skilled solder skills in mind. If you feel it's too advanced to build yourself, I have fully assembled/tested units for sale in my Tindie Store.

Table of contents


TeensyROM pic1

TeensyROM pic1 TeensyROM case

TeensyROM Features

Compatable with C64 and C128 machines/variants, NTSC and PAL supported

Super fast Loading (.PRG/P00) or ROM emulation (.CRT) directly from:

  • USB thumb Drive
  • SD card
  • Teensy Internal Flash Memory
  • Transfer directly from PC
    • C# Windows app included
  • See supported file details here
  • NFC Loading system available to quickly select/load with NFC tags.

MIDI in/out via USB Host connection:

  • Play your SID with a USB MIDI keyboard!
  • Use with popular software such as Cynthcart, Station64 etc, or the included MIDI2SID app
  • Supports all regular MIDI messages in and out
    • Can use your C64 to play a MIDI sound capable device.
  • Sequential, Datel/Siel, Passport/Sentech, and Namesoft MIDI cartridges emulated
  • Use a USB Hub for multiple instruments+thumb drive access

MIDI in via USB Device connection:

  • Stream .SID or .MIDI files from a modern computer directly to your Commodore machine SID chip!
  • Play MIDI files out of your PC into C64 apps such as Cynthcart or the MIDI2SID app
  • Play .SID files out of your PC using the ASID MIDI protocol to hear any SID file on original hardware.

Internet communication via Ethernet connection

  • Connect to your favorite C64/128 Telnet BBS!
  • Use with released software such as CCGMS, StrikeTerm2014, DesTerm128, etc
  • Swiftlink cartridge + 38.4k modem emulation
  • Send AT commands from terminal software to configure the Ethernet connection
  • Sets C64 system time from internet

Firmware updates directly from SD card or USB thumb drive

  • Just drop the .hex file on an SD card or USB drive, no need for extra software to update.

Key parameters stored in internal EEPROM

  • Startup, Ethernet, timezone, etc retained after power down.

Links to detailed documentation

Demo Videos:

  • This YouTube Playlist contains all the latest TeensyROM demo videos, such as:
    • Real-time video/audio capture of menu navigation and loading/running/emulating various programs/cartridges
    • Demo using Cynthcart and Datel MIDI emulation to play with a USB keyboard
    • MIDI ASID Demo: Stream .SID & .MIDI files directly to your C64/SID
    • Web Browser and internet file download demo
    • SID Player and Picture viewer demo

Compatibility

  • TeensyROM compatability has been fully validated on many different NTSC and PAL machines: C64, C64C, SX-64, and C128 as well as modern reproductions such as EVO64 and Reloaded MKII
  • The early "prototype" version of breadbin (PCA 36298 w/ 5 pin video) has a known issue with the reset circuit that must be corrected to be compatible with the TeensyROM and other fastload cartridges. See this post or this video for instructions on how to correct this issue.

Hardware-PCB Design

Component selection was done using parts large enough (SOIC and 0805s at the smallest) that any soldering enthusiast should be able to assemble themselves. Since high volume production isn't necessarily the vision for this device, 2 sided SMT was used to reduce the PCB size while still accommodating larger IC packages.

A note about overclocking The Teensy 4.1 is slightly "overclocked" to 816MHz from FW in this design. Per the app, external cooling is not required for this speed. However, in abundance of caution, a heatsink is specified in the BOM for this project. In addition, the temperature can be read on the setup screen of the main TeensyROM app. The max spec is 95C, and there is a panic shutdown at 90C. In my experience, even on a warm day running for hours with no heatsink, the temp doesn't excede 75C.

Inspiration and Thank-Yous:

  • Heather S: Loving wife, continuous encourager
  • Paul D aka Digitalman: Thought provoker, promoter, Maker, and tester extraordinaire
  • Stefan Wessels: Cartridge case design
  • MetalHexx: Big picture ideas, TeensyROM UI development
  • StatMat: NFC Scanner idea, Fast boot code, OneLoad64 creation
  • Giants with tall shoulders: SID/SIDEKick, KungFu Flash, VICE Team

Pictures-screen captures:

TeensyROM pic1 TeensyROM pic1
TeensyROM pic1 TeensyROM pic1
TeensyROM pic1 TeensyROM pic1
TeensyROM pic1 TeensyROM help
TeensyROM pic1 TeensyROM help

See the media folder for more pics, videos, and oscilloscope shots.