Turbo Rascal Syntax Error (TRSE)


TRSE (or its full original name “Turbo Rascal Syntax error, “;” expected but “BEGIN”) is a complete suite (IDE, compiler, programming language, resource editor) intended for developing games/demos for 8 / 16-bit line of computers, with a focus on the MOS 6502, the Motorola 68000, the (GB)Z80, the M6809 and the X86. TRSE currently supports application development for the C64, C128, VIC-20, PLUS4, NES, Gameboy, PET, ZX Spectrum, TIKI 100, Amstrad CPC 464, Atari 2600, 8086AT, Amiga 500, Atari 800, BBC Micro, Super Nintendo (SNES), Mega65, VZ200, MSX, Apple II, Commander X16, TIM-011, Videoton TVC, TRS80 CoCo3, the Vectrex, Thomson (mo5 and mo6) and the Atari ST 520 (complete list here). With the benefits of a modern IDE (error messages, code completion, syntax highlighting, sample projects and tutorials) and a bunch of fast built-in tools, it has never been easier to program for your favorite obsolete system!

TRSE runs on Windows 64-bit, Linux 64-bit and OS X. Development began on Feb 24th 2018. The TRSE framework contains a number of project examples for multiple platforms, including almost 300 runnable tutorials. TRSE also contains a real-time ray tracer that can export (compressed) data for demo and game production. In addition to this, TRSE contains a versatile image editor that can edit/import/export sprite/image/levels natively to almost all the systems supported by TRSE. TRSE also contains a rudimentary music tracker that currently supports the VIC-20, Adlib and PC speaker.

Join TRSE on Facebook!

Watch preview/WIP/demos on the developer’s youtube channel

View the complete list of supported systems

An introduction to TRSE programming by Chris Garrett

School of TRSE (Youtube)

What is it like to use TRSE? Find out in this fancy Youtube video tutorial series

Click here to view all the tutorial files from the school of TRSE


What is Turbo Rascal Syntax error, “;” expected but “BEGIN”?

In a nutshell, Turbo Rascal Syntax error, “;” expected but “BEGIN” is a complete suite for developing games and demos for older computer systems. TRSE is created with Qt (C++), and runs as a stand-alone application that contains various tools for developing and deploying projects for these processors. The TRSE suite includes the following stuff:

  • A fully functional Pascal parser/compiler/assembler that compiles to various target platform assembler (in text format)
  • A built-in assembler for the 6502
  • A substantial amount of handy built-in assembler functions optimized for easy-to-use and fast operations (typically memory operations, zero paging, copying, sprite handling, IRQs, clearing screen, drawing to screen, input handling, maths, sprite handling)
  • Create your own libraries with Turbo Rascal Units (TRUs)
  • Help text for built-in and units. Help text is automatically built from units on F1
  • Lots and lots of tutorials – compile and run more than 250 example files from more than 40 tutorial/sample projects.
  • Turbo Rascal language tutorial series (under the C64 tutorial section)
  • Built-in ray tracer that can create advanced ray-traced scenes / movies. The ray-tracer contains several methods for exporting compressed data that the C64/VIC20/Amiga etc can decode. Made for creating demo effects.
  • Lots of demo effect example files & projects
  • Full demos and games sample projects included
  • Compile-time and post optimizer
  • Built-in LZ4/Lz77 compression/decompression system for all CPUs
  • Advanced image / sprite / level / character / font / tile editor.
  • Document-style editor for images and source files with syntax highlighting and code completion.
  • Character-based movie editor that exports to compressed image formats
  • Disk support using Krill’s loader. Automatic creation of .d64 disks with files.
  • Cycle counter per line, displayed in the editor
  • Memory usage analyzer tool (creates an image of the memory map of the current project)
  • Automated decruncher for compressed data (images, levels, sound etc)
  • Disk/crt support

But.. why?

The author had a C64 as a kid, but never got the hang of understanding proper programming until the x86 era of the 90s. This is his way of mending the hole in is soul. In addition, he hopes that he’ll get filthy rich & famous off this project.


Free of charge. How the “rich” part will be achieved is still up for debate.