#AgonLight

Shawn Sijnstrasijnstra@hachyderm.io
2026-01-11

Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
* It is an already existing format
* The format is supported by modern tools, including #GIMP
* It uses a very simple form of compression ideal for 8 bit CPUs
* The specific choice of 16 colours has additional benefits:
* The 16 colours are chosen from within the available 64 colour palette
* The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
github.com/sijnstra/agon-proje
#retrocomputing #image #viewer #ez80

Black, white and red pen and ink style image
2026-01-05

Started looking into porting the Antic magazine type-in "Adventure Creation Kit" (CREATION.BAS) to Agon. It's a short program, under 200 lines of Atari BASIC(with one machine language routine for graphics) but very effective for making a tiny hack-and-slash RPG in a tile-based world. A good candidate for a "port and expand" approach. #agonLight #retrocomputing #retrogaming #gamedev

A view of my notes on one side and the original code in emulator at rightIn-game view, a little stick figure hero is in a landscape with grass, trees, mountains, and brick, and a dangerous snake blocks the path. The hero has 25 hit points, 5 strike points, and 0 keys.
Shawn Sijnstrasijnstra@hachyderm.io
2025-12-08

I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
You can buy a Console8 here : heber.co.uk/agon-cosole8/
You can download the updated logo software & source here: github.com/sijnstra/agon-proje

New Agon Console8 version of the boot logo.
Shawn Sijnstrasijnstra@hachyderm.io
2025-11-24

Time for another programming option for the #AgonLight family... #Pascal! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets #z80 machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr #retrocomputing

2048 game screenshot demonstrating colour support.Screenshot from real time colour text font based graphical game.Large modern turbo pascal source text adventure using multiple file I/O.Mandelbrot set demonstration pixel graphics.
2025-10-22

If you're into 8-bit programming and/or graphics you can get a whole range of Retro Jotters on Amazon. The most popular one is the ZX Spectrum one which I've linked here... amazon.co.uk/dp/B0C47JD15H Good luck with finding the others as the site search engine is absolutely useless. #zxspectrum #retrojotter #c64 #agonlight #amstradcpc #gamingbooks #gamedev #art #pixelart #puttycad

2025-10-14

Creating an Entity Component System for My Retro Video Game Engine
Welcome to the next edition of Gamedev The Hard Way, my attempt at #programming a game from scratch for the #AgonLight, using nothing but C. This time I throw away a ton of code and replace it with a shiny new Entity Component System.
ncot.uk/videos/creating-an-ent

Shawn Sijnstrasijnstra@hachyderm.io
2025-08-26

I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

2025-08-11

Writing a Roguelike in C Part 1
Let’s try to write a Roguelike game in C for the #AgonLight. This is the first video. I explore how the original Rogue and similar games like Nethack generate their own dungeons, then adapt code that draws mazes so my dungeons are a bit more interesting to explore.
ncot.uk/videos/writing-a-rogue

2025-08-11

A Retro Game Made With 21st Century Thinking Gamedev the Hard Way
In this abridged video, I walk you through the process of building a text adventure game from scratch on the #AgonLight. Rather than a deep dive into every line of code, this video focuses on explaining the overall structure and design choices behind the project.
ncot.uk/videos/a-retro-game-ma

2025-08-04

Initial release of github.com/triplefox/agon-vdpt

VDPTypes is a Python library that assists in generating VDU protocol data for the Agon computing platform's VDP (Visual Display Processor). It supports Console8 as of version 2.12.0, minus some experimental API calls. Not all calls have yet been tested.

Contributions are appreciated, my bandwidth to work on Agon projects is limited.

VDPTypes is a support library made for customized build scripts, asset conversion, and development of VDP buffer programs. It includes:

* Utility code for loading and converting assets to VDP formats
* VDP-IL, an intermediate language for VDU commands using Python data structures, giving them some syntax and automatic checking
* Code generation for several language targets on Agon (unfinished)

#retrocomputing #agonlight #agon #console8 #python

Nils M HolmAverageDog
2025-06-28

The Mini I have been working on now runs on CP/M with 2416 free cons cells. Enough to load Ken Kahn's tiny PROLOG and run a few simple queries.
The (18MHz eZ80) loads the LISP part of the code (236 lines) in 11 seconds. Simple programs run at acceptable speed, but slightly more complex PROLOG queries take *minutes*. :)

MICRO COMMON LISP 01
2416 NODES

* (maplist #'reverse '(1 2 3 4 5))
((5 4321) (5432) (543) (54) (5))

* (do ((a '(hello beautiful lisp world) (cdr a)))
    ((null a) (terpri))
    (prin (car a)))

HELLO BEAUTIFUL LISP WORLD
T

* (defmacro kwote (x) *',x)
KWOTE

* (kwote (foo bar))
(FOO BAR)

* (load 'prolog)
T

* (defparameter *db*
    '(((man socrates))
     ((mortal (\\ x)) (man (\\ x)))))

* (prolog *db* '(mortal (\\ who)))

WHO = SOCRATES
NIL
2025-05-15

I started thinking of ideas for live musicmaking that would fit on #agonlight that combine the DJ stuff I've been tinkering with lately and some classic tracker elements:

1. DJ interface at top level - two spinning plates, a pattern sequence for both, automatic tempo and scale/root-note sync, configurable cue and loop points, a channel strip with 4 channels per plate, some volume controls and toggles.

2. Tracker interface to edit a plate. The plate defines patterns(all same length, variable size), you have sample controls and access to various things in Agon VDP's sound system, both synth patches and sample banks. Because the interface is designed for live mix the sequencing elements that need to be coordinated live are "suggestions" - hence there's no absolute pitch or BPM, just relationships that get remapped on the fly.

3. Then there is a "remix mode" - in "DJ mode" you can enable all 8 channels, but in "remix mode", you select a priority for each channel(either omit or allow one to overwrite the other, and where it's allocated), and you pre-select which samples will go into the new plate. Plates must have pattern lengths of same or 1:n ratio to be used in remix mode(no polyrhythmic remixing) - thus all plates remain constrained to the same structure and can be edited after, their cue points are saved and could be applied for algorithmic mixing, perhaps using a labelling structure to indicate usage.

All feasible stuff, it'd just take a while to develop and I have too many things going on. Maybe easier to prototype on PC first.

2025-04-21

My latest video where I'm trying to program a game engine from scratch. #programming #agonlight #gamedev

youtu.be/-_lKdUPViBk

2025-02-22

Stayed up late devising Forth code to stream in VDP calls with a 1k buffer (instead of loading all 160k of the file into the eZ80's available 512k) - it loads basically the same, just with less memory now #agonlight

2025-02-18

Sprites and tiles proof of concept for #AgonLight - it'll support multiple tileset layers of up to 256 tiles each, sprites are currently drawn using the bitmap features. My build system optimally crops them and creates offsets around an origin point. At present it is mostly agnostic to the code running on the ez80, I wrote some trivial Forth to read files of compiled VDP commands and dump them to UART.

#retrocomputing #retrogaming #gamedev

Some Python code(the build system) and the demo in an emulator window, showing some tile spam using OpenGameArt assets and some Megazeux-style smiley faces
2025-02-08

youtu.be/R0S8e3oWSas

The latest installment of my attempts at #programming a retro computer game for the #agonlight is out. This time I show my game's design and explain how I implemented a large multi-screen tilemap to roam about in.

Shawn Sijnstrasijnstra@hachyderm.io
2024-11-21

Pleased to have contributed to the new #ZealOS-8-bit release, version 0.5.0. For this one I will make a pre-built image for ease of use of #AgonLight so people can more easily try it out and contribute. In the meantime (or if you're using Zeal 8bit hardware!) you can grab the latest sources and build your own from github.com/Zeal8bit/Zeal-8-bit

Shawn Sijnstrasijnstra@hachyderm.io
2024-11-09

Working on making my telnet for #AgonLight more sane, it's a little better than it was but still has a lot of problems. It's hard to test something when the results depend on the network traffic flow at the time, and many components out of my control. Anyway, for a first time I did manage to get some almost readable data from @Wintermute_BBS RC BBS - thanks for having this running! It feels awesome having an #ez80 talking to a #z80 on the other side of the world!

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst