{"id":15060182,"url":"https://github.com/andymccall/agon-development","last_synced_at":"2026-02-03T19:31:19.036Z","repository":{"id":254331792,"uuid":"846217346","full_name":"andymccall/agon-development","owner":"andymccall","description":"Coding examples in Z80 assembler and C for the Agon neoretro computer","archived":false,"fork":false,"pushed_at":"2025-10-18T12:08:10.000Z","size":657,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T04:52:16.285Z","etag":null,"topics":["agon-light","agon-light2","agonlight","assembler","c","retrocomputing","z80","z80-assembly"],"latest_commit_sha":null,"homepage":"https://andymccall.co.uk/","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andymccall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-22T18:51:51.000Z","updated_at":"2025-10-18T12:08:14.000Z","dependencies_parsed_at":"2024-08-26T13:36:55.078Z","dependency_job_id":"fb020ed1-b629-489e-aa0d-4f5aaea6d854","html_url":"https://github.com/andymccall/agon-development","commit_stats":null,"previous_names":["andymccall/agon-development"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andymccall/agon-development","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andymccall%2Fagon-development","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andymccall%2Fagon-development/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andymccall%2Fagon-development/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andymccall%2Fagon-development/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andymccall","download_url":"https://codeload.github.com/andymccall/agon-development/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andymccall%2Fagon-development/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29054666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agon-light","agon-light2","agonlight","assembler","c","retrocomputing","z80","z80-assembly"],"created_at":"2024-09-24T22:54:12.823Z","updated_at":"2026-02-03T19:31:19.017Z","avatar_url":"https://github.com/andymccall.png","language":"Assembly","funding_links":["https://ko-fi.com/andymccall"],"categories":[],"sub_categories":[],"readme":"# Agon Light 2 Development Environment Setup\n\n## Intro\n\n![Agon Light 2 Header](https://github.com/andymccall/agon-development/blob/main/assets/header.jpg?raw=true)\n\nAgonLight2 is a re-design of the original Open Source Hardware design of AgonLight made by Bernardo Kastrup a.k.a. TheByteAttic. The firmware is developed by Dean Belfield. AgonLight2 is not a emulator, it uses modern ez80 processor which is new improved version of the classic Z80 which can address up to 16MB of memory (24 bit address bus) and runs at 20Mhz! ESP32-PICO-D4 is used as sound and graphics co-processor. The micro SD card acts like disk drive where you can load and save programs, write and read data. UEXT and GPIO ports allow AgonLight to interface outside world with digital Inputs, outputs, SPI, I2C, and UART. LiPo battery charger allows the whole computer to run for hours on single LiPo battery even if no external power supply is present. Color VGA output supports 320x200 64 colors, 512x384 16 colors, 640x480 16 colors, 1024x768 2 colors. AgonLight2 combines retro with modern, you can do old school games and at the same time you can do also small home automation jobs, attaching different sensors and relays to the UEXT/GPIO ports.\n\n## Features\n\nAgonLight2 has these features:\n\n* eZ80 processor with 128KB flash 8KB SRAM\n* 512KB external SRAM\n* ESP32-D4-PICO co-processor for IO\n* VGA output\n* USB/PS2 keyboard\n* MicroSD card connector\n* Li-Po battery charger and step-up converter\n* UEXT connector\n* GPIO 34-pin connector\n*  6 mount holes\n* Dimensions: (106 x 65) mm\n\nThe Agon is available as a bare single board computer:\n\n![Agon Light 2 Single Board Computer](https://github.com/andymccall/agon-development/blob/main/assets/agonlight2.jpg?raw=true)\n\nBoxed in a nice case:\n\n![Agon Light 2 Boxed](https://github.com/andymccall/agon-development/blob/main/assets/agonlight2-boxed.jpg?raw=true)\n\nThere's an Agon Origins Edition that's fully compatible, but based on an earlier design, which is available as a bare single board computer:\n\n![Agon Origins Edition Single Board Computer](https://github.com/andymccall/agon-development/blob/main/assets/agon-origins.jpg?raw=true)\n\nOr in a nice boxed case:\n\n![Agon Light 2 Boxed](https://github.com/andymccall/agon-development/blob/main/assets/agon-origins-boxed.jpg?raw=true)\n\nAll these variants can be purchased from [Olimex.com](https://www.olimex.com/) or [The Pi Hut](https://thepihut.com/). They can be purchased as bundles or seperately, so you can box your Agon Light 2 later if you wish to.\n\nFinally, there's also the Agon Console8 variant, which is a \"console-ized\" version of the Agon computer:\n\n![Agon Console8](https://github.com/andymccall/agon-development/blob/main/assets/agon-console8.jpg?raw=true)\n\nThis is available from [Herber Retro Collective](https://shop.heber.co.uk/) as a bundle.\n\n## This Document\n\nThis README.md and repository will assist you in setting up a development environment for the Agon Light 2 using the following tools:\n\n- VSCode as an Integrated Development Environment\n- Agon ez80asm for programming in Z80 assembly\n- AgDev for programming in C\n- Fab Agon emulator for testing\n\nThe repository has examples using both Z80 assembly and C. Each example has a README.md file that explains how to compile and run the example.\n\nThe guide is intended for people running on Linux using x86_64 platofrm and as such the binaries linked are for this architecture.  If you are running a differnet platform, such as arm64 then you will need to download the correct binaries for you platform.  If the correct binaries are not available for your platform you may need to build the tool yourself from source code.  At least one user has reported success following these instructions, but compiling the tools from source, on the arm64 platform.\n\n### Install VSCode\n\nInstall VSCode and the following extensions:\n\n- Makefile Tools : https://marketplace.visualstudio.com/items?itemName=ms-vscode.makefile-tools\n\n### Install agon-ez80asm\n\n```\nusername@host:~$ cd ~\nusername@host:~$ mkdir -p development/tools/agon-ez80asm\nusername@host:~$ cd development/tools/agon-ez80asm\nusername@host:~$ wget https://github.com/envenomator/agon-ez80asm/releases/download/v1.8/ez80asm_linux_elf_x86_64.gz\nusername@host:~$ tar zxpvf ez80asm_linux_elf_x86_64.gz\nusername@host:~$ mv ez80asm_linux_elf_x86_64 ez80asm_linux_elf_x86_64.tar\nusername@host:~$ tar xpvf ez80asm_linux_elf_x86_64.tar\n```\nAdd ez80asm bin to the path:\n\n```\nusername@host:~$ vi ~/.profile\n```\n\nAdd the following at the bottom of the file:\n\n```\n# set PATH so it includes agon-ez80asm if it exists\nif [ -d \"$HOME/development/tools/agon-ez80asm/bin\" ] ; then\n   PATH=\"$HOME/development/tools/agon-ez80asm/bin:$PATH\"\nfi\n```\n\nTest:\n\n```\nusername@host:~$ source ~/.profile\nusername@host:~$ ez80asm -v\nez80asm version 1.8, (C)2024 - Jeroen Venema\n```\n\n### Install AgDev\n\n```\nusername@host:~$ cd ~\nusername@host:~$ mkdir -p development/tools/\nusername@host:~$ wget https://github.com/CE-Programming/toolchain/releases/latest/download/CEdev-Linux.tar.gz\nusername@host:~$ tar zxpvf CEdev-Linux.tar.gz\nusername@host:~$ mv CEdev-Linux agdev\nusername@host:~$ cd development/tools/agdev\nusername@host:~$ wget https://github.com/pcawte/AgDev/releases/download/v3.0.0/AgDev_release_v3.0.0_linux.zip\nusername@host:~$ unzip AgDev_release_v3.0.0_linux.zip\nArchive:  AgDev_release_v3.0.0_linux.zip\nreplace bin/convimg? [y]es, [n]o, [A]ll, [N]one, [r]ename: A\nusername@host:~$ rm AgDev_release_v3.0.0_linux.zip\n\n```\n\nAdd agdev bin to the path:\n\n```\nusername@host:~$ vi ~/.profile\n```\n\nAdd the following at the bottom of the file:\n\n```\n# set PATH so it includes agdev if it exists\nif [ -d \"$HOME/development/tools/agdev/bin\" ] ; then\n   PATH=\"$HOME/development/tools/agdev/bin:$PATH\"\nfi\n```\n\nTest:\n\n```\nusername@host:~$ source ~/.profile\nusername@host:~$ ez80-clang -v\nclang version 15.0.0 (https://github.com/jacobly0/llvm-project 5f8512f22751066573aa48ac848a6d2195838ac3)\nTarget: ez80\nThread model: posix\nInstalledDir: /home/username/development/tools/agdev/bin\n```\n\n### Install Fabulous Agon Emulator\n\n```\nusername@host:~$ cd ~\nusername@host:~$ mkdir -p development/tools/\nusername@host:~$ cd development/tools/\nusername@host:~$ wget https://github.com/tomm/fab-agon-emulator/releases/download/0.9.57/fab-agon-emulator-v0.9.57-linux-x86_64.tar.bz2\nusername@host:~$ bunzip fab-agon-emulator-v0.9.57-linux-x86_64.tar.bz2\nusername@host:~$ tar xpvf fab-agon-emulator-v0.9.57-linux-x86_64.tar\nusername@host:~$ mv fab-agon-emulator-v0.9.57-linux-x86_64 fab-agon-emulator-v0.9.57\nusername@host:~$ ln -s fab-agon-emulator-v0.9.57 fab-agon\n```\n\nAdd Fab Agon emulator to the path:\n\n```\nusername@host:~$ vi ~/.profile\n```\n\nAdd the following at the bottom of the file:\n\n```\n# set PATH so it includes Fab Agon if it exists\nif [ -d \"$HOME/development/tools/fab-agon\" ] ; then\n   PATH=\"$HOME/development/tools/fab-agon:$PATH\"\nfi\n```\n\nTest:\n\n```\nusername@host:~$ source ~/.profile\nusername@host:~$ fab-agon-emulator --help\nThe Fabulous Agon Emulator!\n\nUSAGE:\n  fab-agon-emulator [OPTIONS]\n\nOPTIONS:\n  -d, --debugger        Enable the eZ80 debugger\n  -b, --breakpoint      Set a breakpoint before starting\n...\n```\n\n### Build software!\n\nYou should now be able to build either the assembler or C programs in this repository.\n\n### Where to get help\n\nYou can ask for help in the Agon and Console8 Community Discord channel, which can be found [here](https://discord.gg/JpncxCTA7s).\n\nMore information on programming the Agon and Console8 can be found in the community documentation [here](https://agonconsole8.github.io/agon-docs/).\n\n### Found this guide useful?\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/andymccall)\n\nI don't write code, documents or software for profit, I do it for enjoyment and to help others. If you get anything useful from this guide, and only if you can afford it, please let me know by buying me a coffee using my Ko-fi tip page [here](https://ko-fi.com/andymccall).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandymccall%2Fagon-development","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandymccall%2Fagon-development","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandymccall%2Fagon-development/lists"}