Turbo Rascal SE Tutorials

Turbo Rascal SE tutorials

All tutorials are included in the TRSE software package.

Setup & introduction

Summary of TRSE syntax

An important note: the TRSE enables rapid development of C64 programs. However, this does not mean that core concepts are simplified: the TRSE framework is simply an extremely fast and convenient way of transforming simple Rascal code to c64 assembler. There are no types, no type checks, no “ease of use”. For instance, in order to draw sprites, you will need to understand how the VIC works and how the C64 handles memory and sprites. For now, there simply aren’t any “define a sprite, here’s the picture!”-kind of modern unity-like ways of doing things.

However, this doesn’t mean that developing for the C64 is especially hard. You will have to learn how to think a bit differently, but when you have grasped the essentials, developing games and demos for the C64 using Turbo Rascal SE is quite rewarding indeed.

The tutorials (and the tutorial game sections) provide hands-on experience on how to develop stuff for the Commodore 64. You will have to understand some basic programming concepts, but the general idea with TRSE is that everyone can make software for the commodore 64 – in 2018!

[ How commodore 64 programming works – what you need to know – a tutorial that will be added at a later point in time ]

Tutorial: Mt.n00b : How to program for the C64 using TRSE (easy)

[ Upcoming: planned complete tutorial series for version 0.08 ]

  1. Introduction to programming on the C64
  2. What TRSE is, and what it is not
  3. Know your API friends: Memory map of the C64
  4. My first program: Basic Turbo Rascal syntax
  5. For loops, while loops. Writing to the screen.
  6. (Zero-page) Pointers. You need these friends.
  7. Procedures and include files.
  8. Rascal Rasters
  9. Adding music
  10. Graphics: bitmap or characters?
  11. Dreaming in 8-bit : know your limitations (16 vs 8-bit stuff).
  12. Demo effects, program structure
  13. Managing larger projects: Crunching & reading from disk

NES Tutorial Examples (Nintendo)

  1. Hello NES! (Initializing a program with a random background)
  2. Moving sprites, playing music

Tutorial: Loading project files from disk (using built-in Krill’s Loader) (very easy)

Loading files from disk with TRSE: full tutorial project

Tutorial: How to make a simple game in TRSE in 9 steps (C64, easy-intermediate)

You can obtain this complete tutorial with data and source code within the TRSE framework tutorial folder.

  1. Introduction
  2. General structure of a TRSE c64 program (rasters)
  3. Let’s sprite
  4. Let’s character map
  5. Let’s level design
  6. Let’s render levels
  7. Let’s move around
  8. Let’s crash into stuff
  9. Let’s 楽しい (adding entities)

Tutorial project: How to create a demo with TRSE (from version 0.05) (C64, intermediate-hard)

  • Automated scene management
  • Resource management
  • Rasters, transitions
  • Debugging
  • Timing

Part 1: Introduction

Part 2: Setting up the main loop and wait raster

Part 3: Adding a image displayer scene

Part 4: Adding a demo effect scene

Part 5: Adding transitions

Tutorial project: $4K dreams (C64 cracktro)

Tutorial project: VIXMAS (VIC-20 xmas demo)

Single-file tutorials / examples

NOTE: These tutorials are under revision for version 0.08, and will be replaced / changed.


Tutorial 1: Hello World (easy)

Tutorial 2: Randomness Ahoy!(easy)

Tutorial 3: Plasma Asthma(medium)

Tutorial 4: On Spirits and Sound(easy)

Tutorial 5: Raster Interrupts, pesky raster bars & sid music(medium) [will be replaced with proper raster bars from 0.05]

Tutorial 6: Multicolor images for the masses(easy)

Tutorial 7: Smooth scrolling & mode madness: displaying multicolor images with text(medium)

Tutorial 8: Full-screen smooth vertical scrolling with colors(medium)

Tutorial 9: Tutorial 8 continued with multicolor sprites and sprite collisions(hard)

Tutorial 10: Simple image effects: Raster bar splitting & fading out(easy)

Tutorial 11: Bitmap graphics & drawing lines(medium)

Tutorial 12: DYCP scroller(hard)

Tutorial 13: Stable Raster IRQs(easy)

Tutorial 14: Fire effect(medium)

Tutorial 15: Polygons (not finished)(medium)

Tutorial 16: Mega Scroller(medium)

Tutorial 17: 2×2 Scroller(medium)

Tutorial 18: Horizontal Star field(easy)

Tutorial 19: Tunnell character demo effect(hard)

Tutorial 20: Multiple text writer with fading(easy)

Tutorial 21: Decrunching images & data(easy)

Tutorial 22: Packing resources using Paw files (easy)

Tutorial 23: Sqrt / Atan2 effect (medium)

Tutorial 24: Simple perlin-noise screen clearer (medium)

Tutorial 25: Sprite scroller (hard)

Tutorial 26: 8×2 Sprite logo (easy)


Tutorial 1: Sqrt effect (Similar to tutorial 23 on the C64)

Tutorial 2: Sine tunnel rotator (atan2 + sqrt = ♥)

Tutorial 3: Bitmap graphics + raster effect

Tutorial 4: Raster effect + music

Tutorial 5: Petscii movie

Tutorial 6: VIA Interrupts saves the day!

Tutorial 7: A smooth scroller without scroll registers

Tutorial 8: Twister madness


Tutorial 2: Randomness ahoy (identical to C64 tutorial 2)

Tutorial 3: Plasma (similar to C64 tutorial 3)

Tutorial 4: Rasters (Identical to C64 tutorial 13)

Tutorial 5: Megascroller (Similar to C64 tutorial 16)

Tutorial 6: DYCP (similar to C64 tutorial 12)

Tutorial 7: My First 80 Columns (80 col)

Tutorial 8: My First 80 Columns Demo Effect (80 col)