Part of the official Agon Platform organisation firmware for all Agon computers.
This firmware is intended for use on any Agon Light compatible computer. As well as the Agon Console8, it has been tested on the Olimex Agon Light 2.
The Agon Platform firmware is a fork from the original official Quark firmware for the Agon Light. It contains many extensions and bug fixes. Software written to run on Quark firmware should be fully compatible with Agon Platform releases.
Agon is a modern, fully open-source, 8-bit microcomputer and microcontroller in one small, low-cost board. As a computer, it is a standalone device that requires no host PC: it puts out its own video (VGA), audio (2 identical mono channels), accepts a PS/2 keyboard and has its own mass-storage in the form of a micro-SD card.
https://www.thebyteattic.com/p/agon.html
There are several variants of the Agon, including the original Agon Light, the Olimex Agon Light 2, the Agon Light Origins Editions, and the Agon Console8.
The Agon Console8 is a fully compatible variant of the Agon Light from the same designer, with the addition of a built-in PS/2 mouse port and two Atari-style DB-9 joystick ports.
The MOS is a command line Machine Operating System, similar to CP/M or DOS, that provides a human interface to the Agon file system. It runs on the eZ80 CPU of the Agon.
It also provides an API for file I/O and other common operations for BBC Basic for Z80 and other third-party applications.
- Download bbcbasic.bin from agon-bbc-basic releases
- Copy it to the
/bin
directory of your Agon's SD card - Insert the SD card into the AGON and reset/boot it
- Run BBC BASIC by typing
bbcbasic
at the MOS command prompt - You should then be greeted with the BBC Basic for Z80 prompt
Reporting issues and pull requests are welcome.
A Contributing guide will be added in due course.
The MOS is built using the Zilog Developer Studio II (ZDS II - eZ80Acclaim! version 5.3.5) tools.
You can download the ZDS II tools for free via the following link. The software contains an IDE, Debugger, C Compiler and eZ80 Assembler.
ZDS II is a Windows application. Development of Agon Platform MOS releases has been conducted on a MacBook Pro with an M1Max CPU running Windows 10 for ARM in a Parallels VM. Other developers have used differing combinations of Windows, Linux and OSX, using VMs or Wine to run the ZDS II tools.
The ZDS II tooling will compile the firmware and produce a MOS.hex
file. Unless you are programming the eZ80 on your Agon directly using ZDS II (see below), you will need to convert this to a .bin
file to flash to the eZ80.
To convert the .hex
file to a .bin
file, use the Hex2Bin utility.
MOS can be tested out without the need to reprogram your Agon Console8 or Agon Light by using the Fab Agon Emulator.
To test using the emulator, create a new MOS.bin
file and place that into the emulator directory and run the emulator. The emulator will automatically load the MOS.bin
file and run it.
It should be noted that the emulator is not 100% accurate, so some features may not work as expected, but it is a very close simulation.
Unless you are using the ZDS II tools to program the eZ80 directly, it is recommended that you test your MOS on the emulator before testing on real hardware.
The MOS can also be flashed on your device using the agon-flash Agon MOS firmware upgrade utility. This is a command line utility that runs on the Agon itself, and can flash MOS to the eZ80 from a file stored on your SD card.
In case of emergency, such as flashing an experimental build of MOS you have built that does not work, there is an Agon recovery utility that can be used to revert the Agon back to a known working version of the MOS.
It is recommended when using the agon-flash utility that you use a filename other than MOS.bin
for your new experimental MOS version, and keep a known working version of the MOS.bin
file in the root of your SD card.
To program the eZ80 directly using ZDS II you will need a Zilog Smart Cable to connect to the ZDI connector on the board. These are available from online stockists such as Mouser or RS Components. Please note however that development of the MOS for the Console8 has not been conducted using a Zilog USB Smart Cable.
There are three compatible cables with the following part numbers:
ZUSBSC00100ZACG
: USB Smart Cable (discontinued)ZUSBASC0200ZACG
: USB Smart Cable (in stock - this requires ZDS II version 5.3.5)ZENETSC0100ZACG
: Ethernet Smart Cable (in stock)
Important! Make sure you get the exact model of cable; there are variants for the Zilog Encore CPU that have similar part numbers, but are not compatible with the Acclaim! eZ80 CPU.
Any custom settings for Agon development is contained within the project files, so no further configuration will need to be done.
Other options for programming the Agon are available, and the community will be happy to advise on these.
The Agon Platform documentation can be found on the Community Documentation site. This site provides extensive documentation about the Agon Platform firmware, covering both Quark and Console8 firmware releases.
There is a vibrant and active community on Discord, where you can get help and advice on developing for the Agon.
There is also the Agon Programmers Group on Facebook.
This code is released under an MIT license, with the following exceptions:
- FatFS: The license for the FAT filing system by ChaN can be found here src_fatfs/LICENSE along with the accompanying code.