This is a collection of games that have been ported to the Agon Light platform, built with AgDev C and keeping code changes to a minimum. This meant the creation of 2 libraries so far, getopt.h
and a minimalist version of curses which I've called acurses.h
.
If you have an interest in z80 assembler, check out my Agon z80 repo.
These are the games that have been ported so far:
abird.bin - A different implementation of that classic one button game made using plain ASCII characters.
awar.bin - A programming exercise that made a pleasant game to test the curses library, using plain ASCII characters with colour.
flagon.bin - the ASCII bird game modifieid to use bitmaps that have been mapped to text characters, so still using the curses libraru and the same game engine.
flappy.bin - The classic one-button game using only plain ASCII characters.
galaxis.bin - Find interstellar lifeboats in a starfield in this curses-based clone of the nifty little Macintosh freeware game Galaxis.
ant.bin - simple implementation of Langton's ant in C using ncurses, optimised for Agon.
amines.bin Classic minefield game. Modifies the font for flags and mines, using bitmaps and font replacement.
journey.bin is a 2D terrain simulation in text format.
UE14500 is a tube computer emulator, along with an assembler also provided. There's a lot to explain on this one, so there are mainly links to what it is from the original authors.
UE14500-asm is the matching source and makefile to compile the assembler for UE14500 yourself. This is provided courtesy of Turboss.
The curses library is a commonly found POSIX/UNIX library (with multiple variations) to use as a common way to take advantage of advanced terminal capabilities without needing to heavily tailor each program.
I've created from scratch acurses.h
to cover a large enough amount of the curses library (it's enomous!) to mines to work. The intent here is to keep developing and make it more integrated with the AgDev compiler once it's more complete and stabilised.
New features since initial release include being able to use the box()
function, non-blocking wgetch()
and moving the font tweaks into the library. Additional text manipulation features, more correct use of types, and other bonus features are now in version 0.3. The current version is in the UE14500 src directory.
Bottom line: acurses.h
is very much BETA and needs work, including getting more to work as well as heavily optimizing (in pre-defined assembler).
I've adapted another getopt.h
to work well enough that it allows you to get options on both real hardware and the emulator. This again is an early version, and similarly will need a lot more testing before integrating properly.
Help is certainly welcome in developing the libraries as well as developing with the libraries.
Feel free to jump on the AgDev link above or help out here with the extra libraries.
Also join in the fun on the Discord Agon & Console 8 Community server.