☣️🦠 #stayathome with C64 🦠☣️

All seasons are 30% off, until end of June.

The easiest way to start programming Commodore 64

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

Season 3 - Joysticks, Data Structures, Strings and Logic

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 following in Assembly:

  • How to print Strings during compilation and at runtime
  • Compare handling null-terminated strings used in C with Pascal-like length-prepended strings
  • Use KERNAL - the operating system of C64 to print strings easily with CHROUT routine
  • Master the PETSCII encoding allowing you to format strings and screen easily
  • How to use the open-source 64spec library to test programs and learn assembly
  • Use boolean operations AND, ORA, EOR to check and manipulate bitfields
  • Read joystick input using continuous polling.
  • Create a base for rogue-like game controlled with joysticks
  • Use namespaces like structs in C to refactor the code.
  • Learn compilation-time data structures to clean up the code even further.
Buy Season 3 for just $19.99 $13.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 #027 - Data Structures

KickAssembler's scripting language provides a variety of data structures that can be used to group and order static data.
Proper use of lists, hash tables and structures can add clarity to your code and help you to maintain it in the long run.

Episode #026 - Namespaces

Some languages provide structures or records to group data at runtime. Surprisingly KickAssembler's namespaces can be used in a similar manner. We can use them to group data together and pass them around as arguments of macros.

Episode #025 - Joystick Handling II - Turn Based Polling

Today we'll learn a robust method of implementing turn-based joystick polling that works well for rogue-like games or puzzles.

Episode #024 - Joystick Handling

When writing games and graphical programs we need some way of interacting with things presented on the screen.
Commodore 64 has a built-in support for two joysticks that are perfect for dynamic games and interactive GUI applications. Today we'll learn how to use them.

Episode #023 - Boolean Operations

In this episode, we will find out how the 6502 processor handles boolean operations. We will use the 64spec library to see their results and side effects, and how they can be used to manipulate specific bits. We'll also take a peek at some of the uses of the peculiar bit operation.

Episode #022 - TDD with 64spec

64spec is an open-source testing framework for Commodore 64. It is heavily inspired by an rspec library that Ruby developers use for testing their programs. Today we will see how to use it to learn assembly and generate living documentation.

Episode #021 - PETSCII Encoding

Today we will talk about the PETSCII character encoding. We'll learn how to use the control characters, master the conversion from screencodes, and figure out how to use it effectively from the KickAssembler.

Episode #020 - Text Rendering II - KERNAL

Today we will learn how to print strings at the current cursor position, just like the print command does it in BASIC. To make it more interesting we'll be using built in KERNAL subroutines CHROUT and PLOT.

Episode #019 - Text Rendering I

Today we take a look at printing strings during compilation and at runtime. We also examine few pros and cons of C-like null terminated string in comparison to Pascal-like strings prepended with their length.