Commodore 64 Assembly Language

This page contains a list of Commodore 64 Assembly language programs that contain some games that I’ve written and some taken from books. They can be viewed in both CBM Prg Studio format and as a D64 image file. Commodore 64 provided a built in BASIC that allowed use of creating your own programs, projects, and utilities back in the early 80’s.

Each page of these Commodore 64 Assembly language programs also contain screenshots of the code. This makes it easier to learn from a listing before you actually download it. You can download them for free, so feel free to explore at your leisure! Also on this website you will have access to assembly language programming tutorials such as the Machine Language Project.

Commodore 64 assembly programs

This project for Commodore 64 assembly programming maintained a comprehensive goal of trying to emulate a Spelunker clone. Our team worked directly with a guy from Australia (named Siggy) for months on a full screen scrolling game.

C64 assembly language

This was a game written that was first inspired by the Breakout game. A friend named Darren decided to pursue this project after he realized he wanted to speed up the Basic version he created.

This was a game example I was working on back in 2016, but it never reached completion. It includes scrolling and alien animations.

This was a 4-way scrolling example I found on the website when I was wanting to learn more about fine scrolling on the Commodore 64.

This was a game that I found online when searching for an answer to vertical scrolling. It was written in lower memory. I had changed some of the Commodore 64 assembly programming to implement my own routines later, which included uploading a sprite from Sprite Pad, my own embedded “hacked” messages, etc.

This section contains code that will read map data from the CharPad tool and display it on the Commodore 64 screen. Currently this one has an issue and doesn’t read in a lot of colors. This is likely because the screen memory is not translating the values correctly.

This is an example of stretching a sprite to take up more space on the screen. This could be used to create a background or just to show off some fancy effects. It is managed by raster routines.

This example demonstrates a smooth scrolling sprite that can be moved with a game controller. It also loads in a blank background filled with sprite data, so this character set can be modified later.

Commodore 64 Assembly Language Downloads