Amiga
As an avid Amiga user since 1988 (and Amiga owner since early 1992), sitting down in front of an Amiga still feels like coming home. I've written a text that describes some of the clever features of the Amiga's operating system, trying to explain why the platform still feels curiously modern and appealing to me after so many years.
Although I own several Amigas, my "daily driver" machine is an Amiga 1200 with Kickstart/Workbench 3.1, 4 megs of fast memory and an FPU. It's also equipped with a 4 gig disk on module hard drive.
I mainly use Amigas for watching demos and creating pixel art in Deluxe Paint IV, but I also do a bit of recreational programming.
Pixel Art
- See my pixel art for Amiga and C64.
Workbench Screenshots
The Amiga's OS is a fast, lightweight single user system with surprisingly snappy pre-emptive multitasking, a decent command line interpreter and a cleanly designed graphical user interface.
In my musing Little Things That Made Amiga Great, I've tried to highlight a few of the powerful, innovative and unique features of AmigaOS.
Workbench is the desktop environment of the Amiga operating system.
I have my Amiga hooked up to a PAL Commodore 1084S monitor, and run my Workbench in 640x256 (1:2 pixel ratio), 8 colours. The below screenshots are scaled up to suit a 1:1 pixel ratio display.
- Workbench 3.1, scaled to 640x612 (PNG, ~7.5k)
- Workbench 3.1, scaled to 1280x1024 (PNG, ~13.5k)
Recreational Programming
On the Amiga, I mainly use Amos Professional and ARexx for programming. The former is a BASIC dialect heavily geared towards providing simple control of the Amiga's excellent graphics and sound capabilities. The latter is an Amiga-ized and improved port of IBM's REXX, supplied along with the OS.
Advent of Code 2019
I solved the Advent of Code 2019, Day 1 challenge in ARexx. It really shows some of the language's peculiarities. For example, there are no lists or arrays as such, instead there are compound variables or "stems". A stem can have an arbitrary number of members but there's no way of counting them, so you have to provide a counter yourself. Also, the base language contains pretty much no mathematical functions (I.E. no round, ceil, floor etc.).
It takes about 11 seconds to run on my Amiga 1200 with a 14 MHz Motorola 68020 and 4 megabytes of 32-bit memory (ARexx doesn't utilize the FPU I have fitted on my RAM expansion card).
- The source code can be read here.
- Here's the input data.
- Here you can see a photo of it running. (JPG, ~170K)
- Here is the code ported to Regina REXX.
This will run on modern OS:es such as Linux, Windows and Mac, using the Regina REXX interpreter.
Other code
- Brute-forcing primes in ARexx (source code, 0.5k)