The easiest way to start programming Commodore 64

Learn BASIC and 6502 Assembly with bite-sized video tutorials.
Binge-watch previous episodes today!

Season 7 - Raster IRQs, Opening Borders, Hardware Scrolling

Here's what you will get

  • 9 videos (50+ minutes in total)
  • transcripts (13000+ words)
  • source code examples (10000+ LOC)
  • access to 64bitesVIP Facebook group, where you can get help
  • plenty of exercises to solve on your own
  • online streaming
  • download with no DRM
  • one time payment (no monthly/annual fees)

You WILL learn how to:

  • Configure built in CIA timers
  • And much more, but it's a secret until new episodes are released.

Some episodes are not yet released. If you buy the season now, you will get videos as soon as they are released without paying anything extra.

Buy Season 7 for just $19.99

Includes 9 videos, detailed transcripts, source code examples and exercises.

See what others are saying!

I learned assembly the hard way, with only limited documentation. Although part of the fun is in discovering all these things yourself, I think such screencasts could have helped me in getting up to speed faster. They do contain some nice bits of information :)

- Paul Koller

Game Developer, Creator of C64anabalt, Super Bread Box and Micro Hexagon

64bites brings me closer to understanding a computer I learned to love long ago, and still do. More than anything, it is really fun to follow the lessons and I always look forward to the next episode with great anticipation. It is the best thing since chocolate.

- Sebastian Kostka

Online Marketing Wizard at MeMyselfAndUs

I enjoyed both narration and realisation.
Actually, I was really shocked to have so much fun watching a programming screencast!

- Robert Lapinski

CEO of Idea Head, Mastermind behind the Pixel Magazine

How much time did you spend playing games on your Commodore c64? 64bites is more than 8-bit childhood memories, its a way to keep your beloved C64 alive, let's make our own game with it.

- Andrzej Śliwa

Polyglot Programmer, Lead Developer at bonusbox GmbH

This is really cool. I don't know exactly how popular it will end up being, but there is always room online for things like this.

- Peter Cooper

Founder at Cooper Press, Chair of O'Reilly Fluent Conference

Having watched a few episodes, I reiterate my original position: sooooooo coool. And Michal have really done a top-notch job on writing, production, audio, everything.

- Avdi Grimm

Creator of the best selling programming screencast series - RubyTapas

All Episodes in this Season

Episode #063 - Full-Screen Scrolling

We already know how to scroll a line of text using the hardware scrolling feature of the Commodore 64. Today we'll take it up a notch and scroll the full screen.

Episode #062 - Scrolling Text

Since we already know how the hardware scrolling works, let's put it to a good use and implement one of the most common effects seen in demos - a scrolling text.

Episode #061 - Opening Borders I - Top & Bottom

The VIC-II - the graphical chip of Commodore 64 was designed in a hurry and many of its features ended having unexpected side effects. Discovering those quirks, and using them to enhance capabilities of the computer can be surprisingly fun. Today we will learn how to fool VIC-II to open top and bottom part of the border.

Episode #060 - Hardware Scrolling

One of the things that made games more interesting when the Commodore 64 came out was the ability to scroll the screen pixel by pixel. The VIC-II - the graphical chip of Commodore 64, allows moving the screen vertically and horizontally by up to 7 pixels in each direction. And today we will learn how to use this feature.

Episode #059 - Replace Default IRQ Handler

Default IRQ handler does quite a few things for us. But it also wastes cycles and memory on tasks unrelated to our code. Today we will learn how to handle IRQ signals ourselves and efficiently store the CPU state.

Episode #058 - Raster Interrupts

Waiting actively until the display reaches specific raster line has few drawbacks. Today we will learn how to allow VIC-II to notify us when the line is displayed with a raster interrupt.

Episode #057 - Vertical Sync

We've been animating sprites and characters for some time already. But we've never managed to synchronize the animation with the rate of screen refresh. It caused noticable flickering and artifacts during the sprite display. Today we will learn how to get rid of them.

Episode #056 - Timing IRQs II - Timer B

In the previous episode, we have learned that the Timer A in the first CIA chip triggers the IRQ signal sixty times per second. We've also learned how to slow it down, pause it and make it run just once. Today we will learn how to use the second timer of the CIA chip - Timer B.

Episode #055 - Timing IRQs

When we turn the computer on the maskable interrupt signal or IRQ is being sent around sixty times per second by one of the internal timers. Today we will learn how this process actually works.