Making a C64/C65 compatible computer
Commodore 8-bitFPGA / HDLRetro computingEmbedded / microcontrollers
- Posts
- 431 from 24 Jan 2014 to 17 Oct 2026
- Posting
- monthly (13 in the last year)
- Kind
- project news
- Feed
- https://c65gs.blogspot.com/feeds/posts/default
2026 7
- SSNAIL: A local LLM processor for the MEGA65: First light (well, tokens)
- MEGAphone: Integrating it all into a working package
- MEGAphone / Rugged MEGA65 Wiring Loom
- MEGA65 Multiverse Bitstream Loader
- MEGAphone Hardware Module Progress Update
- MEGAphone: Cellular Modem Voice Circuit Control
- MEGAphone Cellular Modem and Power Control Hook-up for R3 Boards and Phone Call Handling
2025 33
- MEGAphone Cellular Modem Communications: SMS Messaging
- MEGAphone User Interface and Text Messaging Software
- MEGAphone Power Management FPGA and Software Interface
- MEGAphone Contact list and Dialer Integration
- MEGAphone Case Design
- MEGAphone contact list and Dialer
- SMS Thread Display, Message Editing etc
- Simple Memory Protection Scheme
- Stack backtrace on MEGA65 using MOS-LLVM
- Unicode / TrueType Pre-Rendered Fonts for the MEGA65
- Auto-detecting SCART/15KHz Cables
- SCART/VGA 15KHz output and NTSC Colour Space Fixes
- MEGAphone Module Building Progress: Cellular modem and DC:DC modules
- MEGAphone FPGA board carrier modules
- MEGAphone software tools and laying the foundation
- MEGAphone Call, SMS and Contacts Management
- Accessing Shared Resources from the MEGA65 System Partition
- Embedding Shared Resources in the MEGA65 System Partition
- MEGAphone Bluetooth module
- MEGAphone Fabrication of the first module PCBs
- MEGAphone Battery Management and Energy Harvesting Module
- MEGAphone SIM Card / SD Card Module
- MEGAphone Cellular Modem Module
- MEGAphone low-current DC:DC Converter Module
- Procedural Generation of Panelised Modules and Reducing Costs of Castellated Boards
- Procedural Generation of MegaCastle Castellated Symbols
- Procedural Generation of Castellated Footprints
- MEGAphone 3.5mm Audio Jack Module
- MEGAphone Audio CODEC / Speaker Driver Module
- MEGAphone Home SMD Assembly Options
- MEGAphone MEMS Microphone Module
- MEGAphone 2A DC:DC Converter Module Design
- Modular MEGAphone Requirement Specification
2024 17
- Testing the castellated module format
- Modular MEGAphone: Prototyping castellated modules
- Modular MEGAphone Kick-Off -- Designing a simple and effective module interface
- Tracking down 1581 lock-up on R3 boards
- Hardware Accelerated IEC Controller -- Part 5
- Flashing the MEGA65 keyboard without a MEGA65
- Controlling a EC25-AU cellular modem using a MEGA65
- Expansion Board revE Bring-Up and Shake-Down - Part 1
- M1565 External Drive Controller Board Design
- Expansion board revD and new connector PCBs
- More cartridge port fixes for the MEGA65
- MEGA65 R5 Cartridge Port VHDL Fixes
- Switching from CC65 to LLVM-MOS for the MEGA65 browser
- Working on the Expansion Board: User-Port bring-up and other bits and pieces
- Working on the Expansion Board: Board Bus and Tape Port bring-up
- Hardware Accelerated IEC Controller -- Part 4
- Hardware-Accelerated IEC Serial Bus -- Part 3 - JiffyDOS
2023 14
- Hardware-Accelerated IEC Serial Interface - Part 2
- Tracking down and fixing the thumbnail images in the freezer
- R5 Board Bring-Up
- Fixing Yet Another HyperRAM Bug
- Reading Amiga disks in the MEGA65
- Hardware-Accelerated IEC Serial Interface - Part 1
- Debugging SDRAM and HyperRAM cache and other related things
- Debricking MEGA65 R3/R3A Boards with De-programmed MAX10 FPGAs
- Last minute changes to the R4 board
- Enabling the Super-Cap on the MEGA65 R4 PCB
- MEGA65R4 Bring-Up
- Hi-res V200 character mode
- Adding colour to the MEGA65's Composite Output
- Comparing the Graphics Capabilities of the MEGA65 and Amiga
2022 17
- Working on Composite Video Output for the MEGA65 Expansion Board
- DIY Keyboard revB works!
- Progress on the DIY Keyboard
- Working around 74LVC165 supply problems for the MEGA65 Expansion Board
- Let's start doing something about those missing expansion ports
- MEGA65 MK-II Keyboard PCB Design
- DIY USB JTAG and UART connection for the MEGA65
- Adding proportional text support to the MEGA65's "web" browser
- Working on the "web" browser for the MEGA65
- MEGAphone R4 PCB Bring Up -- Part 3
- MEGAphone R4 PCB Bring-up -- Part 2
- MEGAphone R4 PCB Bring-up Part 1
- TEI0004 JTAG Adaptor adaptors can now be ordered
- Using a TE0004 JTAG adapter in place of a TE0790 JTAG adapter
- The "Chipageddon" parts shortage is weird
- Solving the last of the digital video output glitching, at least I think so
- MEGA65 PCB Population
2021 18
- More work on HD floppies, RLL encoding, disk density auto-detection and other fun
- Creating a simple internal drive fast-loader for the MEGA65
- Speeding up the MEGA65 flash menu
- Adding transparent support for HD floppies
- Fixing some CPU timing and floppy formatting bugs
- Write and format support for the internal floppy drive
- Debugging TCP/IP Problems
- Work on a Simple HTTP-based file browser
- EnteringThe DOS Maze
- Work on floppy formatting, CRC calculation and sector writing
- Working on floppy writing
- MEGAphone PCB Re-spin
- Debugging the 32-bit virtual-register instructions
- Working on a simple ethernet-enabled terminal programme for the MEGA65
- Guest Post from Bitshifter: Fixing the Oldest and Nastiest Bug in Commodore BASIC
- Fixing initial problems discovered by DevKit owners
- Guest post from Bit Shifter: Improving the C65 ROMs
- ZX-Spectrum on the MEGA65
2020 38
- Announcing the MEGA65 Developer Support Programme
- DevKits are appearing around the world!
- The DevKits have started shipping!
- MEGAphone PCB Changes
- MEGAphone r2 Hardware Bringup
- Pulling out the big guns for improving compatibility with HDMI monitors
- Sprite Editor Progress Report
- Chasing down HyperRAM controller bugs
- Fixing the remaining ethernet RX bugs
- OpenROMs Update
- Debugging IEC port on MEGA65 R2/R3 boards
- MEGA65 R3 PCB Testing
- MEGA65 Revision 3 PCB Samples For Testing
- MEGA65 Emulator and Tools Live ISO
- ACME Support for the MEGA65's 45GS02 CPU, Porting HYPPO to ACME
- Updated m65dbg tool
- QMTECH Wukong board support and Audio over Digital Video testing
- Porting a Wolfenstein-type engine to the MEGA65
- First MEGA65 Commercial Software Announced! Hibernated 2
- Built-in Sprite Editor Progress
- Ultrasonic communications for the MEGAphone: Testing speaker and microphone performance
- Pre-Ordering for the MEGA65 Developer's Kits (DevKits) is nigh!
- Fit testing the injection moulded case sample
- Fixing some floppy bugs
- Injection Moulding Tooling Update
- Improving the MEGA65 Audio Mixer
- Injection Moulding Tooling Progress
- More work on the RAM Expansion and Timing Closure
- Trying another approach to HDMI-compatible Audio
- Getting the other 8MB of RAM working
- Misleading ERROR: [Synth 8-2396] from Vivado SOLVED
- Starting work on a libc for the MEGA65, and further work on QSPI flash updating
- Making the Real-Time Clock Tick
- Getting the external microSD card slot working
- Almost 65K€ in $65 days!
- Adventures in talking to the QSPI flash
- Programming the Bitstream Boot Flash and all things JTAG
- Running multiple bitstreams
2019 53
- MEGA65 DevKit prototype r2
- MEGA65 DevKit prototype assembly
- The long winding path to getting HDMI Audio working
- Writing the 2019 Christmas Demo
- Fixing raster counting and freeze synchronisation for PAL50 video mode
- (Just about) cycle-perfect PAL 50Hz HDMI video on the MEGA65
- More work on HDMI video output
- Improving raster timing accuracy / Preparing for HDMI output
- MEGA65 Interview in the latest brotkastenfreun.de podcast
- Guest post from Wayne on the MEGA65 User Guide Layout
- Open C64 ROMs Guest post update
- BASIC 10 Reference
- (Even) More Assembly
- Changing the drive number of the internal drives
- More Assembling of MEGA65 Pre-Series Machines
- MEGAphone rev2 PCB assembly work
- Assembing the next few Pre-Series Machines
- Last day of current MEGA65 development sprint
- Internal floppy drive now working on the R2 PCB, and various other bits and pieces
- IEC port testing / GEOS for the MEGA65 R2 PCB
- Getting the MEGA65 R2 Cartridge Port Working
- The keyboard is now fully working!
- Getting the keyboard working with the MEGA65 R2 main board
- Bringing up the SD card interface on the MEGA65 R2 PCB
- Programming the MEGA65 keyboard CPLD
- Pictures updated on the website
- Selective disconnection of FTDI_SIO serial driver from USB adapters
- R2 PCB serial monitor interface
- Starting to bring the MEGA65 R2 PCBs up
- Second Revision MEGA65 Mainboards
- Making the internal speaker work on the MEGA65 phone/handheld
- Manufacture of pre-series keyboards
- MEGAphone prototype is taking shape
- Laser-cutting a spacer for the MEGAphone prototype
- MEGAphone screen testing
- Working to reduce the attack surface for copyright infringement claims against our open-source C64 ROMs
- Free and Open-Source Replacement ROMs for the C64
- Name Plates for the MEGA65 pre-production units have arrived!
- MEGAphone First Prototype PCB remediation and first light
- MEGAphone First Prototype PCB assembly complete(ish)
- MEGAphone First Prototype PCB assembly underway
- Speeding up formatting and freezing with multi-sector SD card writes
- Introduction to using the MEGA65 as at 3 March 2019
- Auto-Detecting Required Revision of DMAgic Chip, improving default audio mixer settings
- Multiple Freeze Slots
- Audio Mixer in Freeze Menu and Fixing SID Problems
- Towards Dual SD-Card Support
- Floppys, floppys everywhere!
- Fixing Sprite Rendering Problem
- The MEGA65 at Linux Conf AU
- Livening CPU speed, video mode and monitor in freeze menu
- More work on the MEGA65 built-in freezer
- Working on the MEGA65 Freeze Menu
2018 52
- Super simple Protovision-Compatible Joystick Expander for MEGA65
- M.E.G.A 6502 benchmark for checking cycles per instruction
- Real-time CPU tracing
- The last few days i have been trying to
- MEGAphone - connecting the cellular modem and audio interface
- Tool for easily transferring files to/from SD card via serial
- Just because a splash screen is obligatory...
- More work getting ready for presenting the MEGA65 at Linux Conf
- Vertical border knockout for Wizball
- Working on the user's guide
- Video closure more or less done. Alpha-blending fixed along the way. Proportional text rendering looking quite nice.
- More work on video mode closure
- Improving timing closure with stable 50/60Hz video
- Taking the big picture view
- Revisiting proportional text rendering
- Stable 50Hz and 60Hz video
- Keyboard prototypes have been manufactured, and they are AMAZING
- Freezing and the MEGA65 System Partition -- part 1
- Resurrecting the MEGA65 VNC server interface
- Migrating from Xilinx ISE to Xilinx Vivado FPGA software
- GOSUB variable in C64 BASIC
- Optimising infinite loops with VHDL
- Creating files on a FAT32 filesystem, and making it simpler to implement
- Extending The Commodore 64 BASIC with 1st-class tokens
- First steps towards MEGA BASIC for the MEGA65
- Creating some documentation on the MEGA65's enhanced text mode
- Raster splits in BASIC
- Displaying 256 colour images and 16 colour sprites
- MEGA65 configuration utility / Konfigurations Programme
- Testing 16-colour sprite mode
- Improving the ethernet adapter
- Upgrading the SD card controller: SDHC cards now work!
- Freezing and Unfreezing - part 1
- Improving the DMAgic controller interface
- Repairing an Amiga Mouse, and then using it on the MEGA65
- Rebuilding SD card access
- Improving my bench MEGA65 prototype hardware
- Bringing the internal 3.5" floppy drive to life - part 2
- Bringing the internal 3.5" floppy drive to life - part 1
- Testing Ethernet on the r1 PCB
- Repairing my 1581
- Fixing a variety of sprite rendering bugs
- 1351 Mouse and paddles now work on the MEGA65 rev1 PCB
- Fixing various niggly problems
- Curious problems and that Super Games banked cartridge
- Fixing 1351 support, and planning auto-detection and support of Amiga mouses
- Working on paddles and mouse support
- Hooking up the 3.5" internal floppy drive
- [M]Ultimax and other Cartridges on the MEGA65
- MEGA65 Boots GEOS ... From a serially attached 1571
- The detective work in getting International Soccer running on the MEGA65, direct from cartridge
- Fixing a few rendering glitches and re-testing enhanced sprite modes.
2017 29
- Connecting a C64 disk drive to the MEGA65 - part 2
- Connecting a C64 disk drive to the MEGA65 - first success
- Building Joysticks
- A day of squashing bugs
- Preparing to implement the VIC-III DAT
- Fixing IRQ following BRK / BoulderMark score = 102x stock C64
- Automatic VIC-II Compatibility Regression Testing - Part 1
- Instruction-Level Timing Accuracy is here
- Automatic 4502 / 6502 Instruction Set Switching
- 1351 Mouse Progress: Accuracy better than the original
- That recent C65 sale on ebay
- 1351 Mouse Progress: Detecting when the SID chip drains the POT lines
- First steps towards 1351 mouse support for MEGA65 and MEGAstick
- Launching FDISK+FORMAT direct from boot sequence
- Hardware animating the on-screen keyboad
- Solid-state Joystick
- On-screen keyboard display
- Fast booting the MEGA65 with custom bitstream, kickstart and ROMs
- Getting 1080p 50Hz working ... using a video mode editor written in BASIC v2
- Revamping Hypervisor boot display, and SPACE to enter utility menu
- Fast-loading via serial monitor for development (part 2)
- Fast-loading via serial monitor for development (part 1)
- Building lab-prototype MEGA65, and remembering the thrill of my first C65
- Powering up the MEGA65 prototype PCB at home
- My MEGA65 Prototype PCB has emerged from the postal system
- FDISK and FORMAT utility for the MEGA65
- Pulling pieces together for the new PCB: Matrix mode, preliminary cartridge support and updated video mode
- Prototype MEGA65 PCBs at Revision 2017
- Emulating an 8080 on the MEGA65
2016 16
- Working on the MEGA65 IDE
- MEGA65 Emulator can run kickstart and disk menu
- Double-tap RESTORE to enter Hypervisor "freezer"
- Tutorial Video for m65dbg
- We can include GEOS with the MEGA65
- Booting GEOS on the MEGA65
- We finally have the new disk menu mostly working
- Revenge of the Decimal Flag
- On cycle count predictability and related things
- Overview of the new CPU design (as of today)
- Planning for stability, and the case for re-working the CPU
- We've entered the MEGA65 into this year's hackaday contest
- First community developed title with MEGA65 support?
- Prototyping the keyboard
- We're still alive / Wir leben noch
- Making Hypervisor debugging easier
2015 52
- Is this the first academic slide presentation using an 8-bit computer since the 80's?
- 3D printing friction-hinges for the laptop prototype
- Photos of laptop prototype work
- MEGA65 @ Amiga30.de - Part 5 - RJ Mical meets the MEGA65 prototype
- Working towards bitplanes and GeoRAM + REU support
- MEGA65 @ Amiga30.de - Part 4
- MEGA65 @ Amiga30.de - Part 3
- MEGA65 @ Amiga30.de - Part 2
- MEGA65 @ Amiga30.de - Part 1
- MEGA65 prototype to be displayed at Amiga30 in Germany in a few days
- Fast booting from Flash
- Making speed control easier
- MEGA65 being controlled by a real C65 keyboard
- It moves!
- Powering the laptop
- Some laptopification preparations
- Aren't new computers better than 8-bit computers?
- Hi-res bitplane mode sprites now working!
- Bitplane-mode/"attached" sprites working in multi-colour mode
- Screen shots of debugging enhanced sprites
- More work on sprites
- Some Sprite Bug Fixes
- Planning which ports we can support
- Teaching the young to program
- Nexys4 DDR Boards are out of stock everywhere it seems
- Wir sind in den Nachrichten
- Introducing the MEGA65 Retro Computer
- Generalised disk access routines now work
- More work on disk routines
- Making the SD access routines available from outside the hypervisor
- Making kickstart a little prettier
- Character ROM Copyright (Part 2)
- Is the C64 font protected by copyright?
- C65GS Plays Games at Revision 2015
- About C65GS Memory
- C65GS at Revision 2015, and running on DDR
- Slowing of Moore's Law, FPGAs and Open Hardware
- Well, I can load the ROM into the DDR RAM now ...
- GHDL Simulation is working again, making it much easier to track down DDR controller bugs
- Hypervisor Upgrading and DDR Memory Lockup-fix
- Getting closer on the DDR memory front
- Improving the hypervisor environment
- I still don't like passing signals between clock domains
- The Commodore 64C Case moulds still exist!
- Reworking the DDR memory controller
- I haven't blown up my DDR RAM, so that's good
- Still almost working on the Nexys4DDR board
- Almost all working on the Nexys4DDR board
- First light on the Nexys4DDR board -- but some significant problems remain
- I had a few minutes to work on moving to the Nexys4 DDR board
- A screenshot for those who are getting bored looking at FPGA boards and want to see something fun
- Nexys4 DDR board arrives
2014 85
- RAM Upgrade
- LCD Screen Test
- Some parts for laptop prototyping have arrived
- Working on the anti-aliaser
- Proportional font glitches fixed
- First steps towards a C65GS laptop
- Migrating to Vivado (Part 3)
- Migrating to Vivado (Part 2)
- Migrating from ISE to Vivado (Part 1)
- Even more progress on proportional fonts
- More work on proportional fonts
- Easily Accessing All of Memory
- Starting to write tests for 16-bit text mode, including proportional fonts
- More work on proportional fonts
- Loading data via ethernet
- More work towards hardware proportional fonts
- Hardware support for proportional fonts and other text mode effects
- My real C65 keyboard has arrived, very well wrapped
- Hardware thumbnail generation is now usable
- Hardware thumbnail generator for task-switcher
- A 3rd party operating system for the C65GS?
- Virtualisation and Task Switching
- Sprites behind the border, and another bug discovered
- Confirmed that I have fixed the sneaky CPU bug
- Found a sneaky CPU bug
- More work on sprites
- Initial work on sprites
- RR-NET emulation dramas
- Remote keyboard access now works
- Remotely view and interact (awkwardly) with the C65GS!
- More work on remote display
- Working towards remote head
- Boulder Mark at 48MHz, with working sound
- SID audio at last, plus CPU and VIC-IV redesign catching
- De jevu: C65 startup banner and dead BASIC, again.
- 80 column now has side borders and other misc progress
- Ethernet receiving now has hardware CRC check, and IRQs are close
- Ethernet transmission
- Starting work on the ethernet adapter
- Why hardware is hard
- First speed test of 48MHz CPU
- Debugging the new CPU
- Improved hardware scaler
- More work on new CPU, and some very skinny raster stripes
- New CPU is working (sort of)
- Improving simulation of the C65GS to help with debugging
- Stunt Car Racer at 29x Speed
- A frustrating fortnight of work reimplementing the CPU
- Did I mention that FPGA development is frustrating?
- Another speed bump. Now close to 30x C64 speed
- A speed improvement
- multi-colour bitmap and character modes now mostly working
- Multi-colour text and graphics closer to working
- C65GS begins to run real software, sort of.
- First words and a new skin
- DMAgic colour RAM bug fixed
- Video of latest progress
- BASIC now mostly working in C65 mode
- Beginning to rework the VIC-IV to support DMA delay and other things
- Simple disk chooser to pick D81 files from the SD card
- The internal drive now works (for reading)
- Floppy controller emulation now partly works
- Getting closer with the C65 DOS
- Progress towards making the 1581 DOS work
- C65-mode ML Monitor is working
- Progress towards CPU speed-ups
- Running synthmark64 before optimisation of CPU
- Hello World from the C65 ROM
- Two steps forward, one step back, and perhaps one sideways as well
- C65 start up message without tweaking
- Fill command of DMAgic DMA controller implemented
- Progress towards booting C65 ROM
- Bootstrap ROM now works
- Progress on kickstart after a week of pain
- Creating the C65GS KickStart ROM
- Testing the 4510 CPU
- An assembler for 4502/4510 CPUs
- Disassembling the C65 C64-mode Kernel
- Raster IRQs now work
- 256-colour modes now mostly working
- Motivations and goals for the project
- Debugging character display generation
- CPU now passes complete suite of 6502 official opcode tests
- BASIC now works
- Some screen shots