Commodore64128 / TeensyROM

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TeensyROM

ROM emulator, super fast loader, MIDI Host/Device and Internet interface cartridge for the Commodore 64 & 128, based on the Teensy 4.1

Design by Travis S/Sensorium (e-mail)

I chose the Teensy 4.1 for this project to take advantage of all its external interface capabilities (USB Host & Device, SD card, Ethernet). I also wanted to use its many IO pins to do "direct" interfacing so it can be largely software defined.

I'll continue to publish all PCB design files and source code here for anyone else who is interested. If you have any input on the project, questions, or features you'd like to see, please send me a note. I'm also interested in any feedback/contributions from other engineers/developers out there.

The HW was designed with medium skilled solder skills in mind. If you feel it's too advanced to build yourself, I usually have some units for sale or can refer you to others that sell them fully assembled & tested.

Table of contents


TeensyROM pic1

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

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:

Compatibility

  • TeensyROM compatability has been fully validated on many different NTSC and PAL machines: C64, C64C, SX-64, and C128

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:

  • Heather S: Loving wife through whom all things are possible
  • Paul D: Thought provoker, Maker, and Beta tester extraordinaire
  • Giants with tall shoulders: SID/SIDEKick, KungFu Flash, VICE

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.

About

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

License:MIT License


Languages

Language:C 98.3%Language:C++ 0.8%Language:Assembly 0.7%Language:C# 0.1%Language:Batchfile 0.0%