Retrocoding is life.
Introduction
After watching many demo maker videos on YouTube, I increasingly wanted to get into it. If you’re wondering what it is, here’s a summary of the best productions released in 2024.
Simply put, you take machines from the ’80s and ’90s and try to make the most impressive technical demonstration possible.
Essentially, creating 2D/3D programs on machines that are 10,000 to 100,000 times less powerful than today’s computers. And… all of this is set to music!
Of course, the final file must be just a few kilobytes—otherwise, it’s not fun. Yes, you read that right! Most productions are under one megabyte.
What’s even crazier is that there are competitions for this in multiple countries! And I find that absolutely fantastic.
The big difference from today’s dev meetups or tech conferences is that there is zero hope of monetizing anything. This only attracts real enthusiasts of programming and code aesthetics. Writing software for the sheer joy of it—what a breath of fresh air! :)
Using a modern toolchain
Running programs on limited hardware is an exciting challenge, but developing on old machines is much less enjoyable. So, let’s use a more comfortable solution.
- Install a C compiler on a development machine (your Mac or Linux system).
- Write your programs with a modern editor like Vim, Neovim, or others.
- Compile the program for the target machine.
Installing a C compiler for Amiga
The short version
For today, I’ll share a tutorial that still works.
The long version
I’m writing this article in my spare time, so here’s the continuation a few days later.
Downloading the latest sources
The tutorial by Wei-ju Wu is excellent. The only issue is that it’s eight years old. As a result, you won’t get the latest updates. More problematically, the link to the NDK is dead.
After searching around, including on GitHub, I suggest following Wei-ju Wu’s approach and compiling everything manually with more up-to-date sources. The main reason is that the Docker version includes many unnecessary components for beginners, and their sources (when inspecting the Docker files) are not the latest.
Vbcc
The easiest way is to visit the author’s website—he also created the assembler compiler and the linker.
From there, download the sources for all three programs and two target archives (files containing .h
headers needed for compilation).
In a directory of your choice:
mkdir vbcc_tools && cd vbcc_tools
# vbcc compiler sources
wget http://www.ibaug.de/vbcc/vbcc.tar.gz
# vasm assembler compiler
wget http://sun.hasenbraten.de/vasm/release/vasm.tar.gz
# vlink linker
wget http://sun.hasenbraten.de/vlink/release/vlink.tar.gz
# And the targets
wget http://phoenix.owl.de/vbcc/2022-05-22/vbcc_target_m68k-amigaos.lha
wget http://phoenix.owl.de/vbcc/2022-05-22/vbcc_target_m68k-kick13.lha
NDK
For the NDK, I found version 3.2 on Aminet and a list of interesting packages.
# ndk 3.2
wget https://aminet.net/dev/misc/NDK3.2.lha
Installation
Until I complete this article, I’ll leave you with Wei-ju Wu’s tutorial.
Next steps:
- Folder structure for extracting archives
- Compiling the programs
- Adding symbolic links
- Setting up targets and the NDK
Happy Amiga coding!