When the need for speed overcomes you, thoughts generally don’t turn to 8-bit computers. Sure, an 8-bit machine is fun for retro gameplay and reliving the glory days, and there certainly were some old machines that were notably faster than the others. But raw computing power isn’t really the point of retrocomputing.
Or is it? [Bernardo Kastrup] over at The Byte Attic has introduced an interesting machine called the Agon Light, an 8-bit SBC that’s also a bit like a microcontroller. The machine has a single PCB that looks about half as big as an Arduino Uno, and sports some of the same connectors and terminals around its periphery. The heart of the Agon Light is an eZ80 8-bit, 18.432 MHz 3-stage pipelined CPU, which is binary compatible with the Z80. It also has an audio-video coprocessor, in the form of an ESP32-Pico-D4, which supports a 640×480 64-color display and two mono audio channels. There’s no word we could find of whether the ESP32’s RF systems are accessible; it would be nice, but perhaps unnecessary since there are both USB ports and a PS/2 keyboard jack. There’s also a pin header for 20 GPIOs as well as I2C, SPI, and UART for serial communication.
The lengthy video below goes into all the details on the Agon Light, including the results of benchmark testing, all of which soundly thrash the usual 8-bit suspects. The project is open source and all the design files are available, or you can get a PCB populated with all the SMD components and just put the through-hole parts on. [Bernardo] is also encouraging people to build and sell their own Agon Lights, which seems pretty cool too. It honestly looks like a lot of fun, and we’re looking forward to seeing what people do with this.
Oh, thank goodness. People are building computers fast again.
I’m getting oh, so tired of seeing 100-300 ms keyboard-to-screen latencies in modern machines, even worse for cloud apps, and think wistfully at how snappy my old ][e and ][c were at putting characters on the screen.
That’s not the computer, it’s the link speed sending all your keystrokes to Google and Facebook
the AgonLight has the old late-70s/early-1980s 8-bit computer virtue of being turned on and coming up near instantly to a BASIC prompt (BBC BASIC at that – not dismal Bill Gates BASIC)
damn, computing just don’t get much better than that
WOW, imho a really cool 8bit retrocomputer.
Now i will try to make a similar one with 6502.
Since i had both Z80 (Timex/Sinclair) and 6502 (Apple ][ w.z80softcard) computers in my youth.
Check the Foenix 256 Junior, then. It’s a 6502 running at 6Mhz, with lots of sound, video, and other peripherals. https://c256foenix.com/?v=796834e7a283
Aren’t two mono sound channels…. stereo?
No. If they were carrying left and right channels of the same audio signal, they could be.
But they could just as easily be two separate channels with two unrelated
sets of data.
Likely two channel audio over one output pin, ie 2 channels mixed and output as pwm.
It’s one channel repeated on two pins in the audio jack, so both PC speakers, which expect a stereo signal, are correctly fed the one signal.
It’s one channel repeated on two pins in the audio jack. Regular PC speakers expect a signal on both pins, otherwise one of the speakers goes silent. To avoid this, we repeat the one audio signal on both pins.
I’ve got the worlds fast wheelbarrow here in the back of my truck.
Speed? eZ80 8-bit, 18.432 MHz? Really? Ryzen 7700X, 4.5GHz, 4 instructions per clock, up to 18,000,000,000 instructions per second at consumer price point. Real Speed.
This is not the speed they’re looking for ..
What we’re they thinking, eh? We live in a world where anyone can rent a 160 core box with four terabytes of ram in the cloud, and this 8 bit retro machine doesn’t come close to that level of performance… I was starting to mess about with an ATtiny the other day, then I thought to myself: what’s the point when quantum computers exist?
I mean I guess, if one fancied running retro software on a system they could completely understand this toy might have a place, but why would anyone want to do that when they could do something completely different a lot faster with something else?
I guess you are not aware of the market for microcontroller boards (Arduinos, ESP32s, etc.). This is not a PC.
Read between the lines ;-)
I like the project, I hope quite a few are made or sold. I just brought a book on building a Z80 cpu from discreet transistors, whilst I probably won’t ever do that reading about it is very interesting.
Have you plans to get CP/M running on it? Not that BASIC isn’t cool, but there is so much out there already that it could also run.
I genuinely wish you all the best with it.
Oh apologies, I get the point now. I read it very quickly and didn’t pay enough attention. :-) CP/M is already running on it, even Word Star! Have a look at the website.
“book on building a Z80 cpu from discreet transistors”
This?
The P80: A Z80 CPU built from EEPROMs and other discrete components
https://groups.google.com/g/sebhc/c/ft76pPG_KFs
@Winston this is the one.
https://amzn.eu/d/1FFWqxx
“Up to” is doing a lot of work in that sentence.
You are comparing apples to bananas. This is not a PC, but a microcontroller (think Arduino) board with 20 GPIOs, UART, SPI, I2C, system clock, power rails, etc. It happens to be a standalone microcontroller board that puts out its own video and requires no host PC, ergo also a microcomputer. But the market is retro gaming and control applications, which PCs don’t do.
but it can do sound and graphics – the graphics is pretty decent, VGA 640×480, 64 colors, and has sprite capability
there is also a vertical sync that is sent from the VPD to the compute subsystem so those that want to remove tearing, etc, can utilize that
the graphics can be experimented with from BASIC – more advanced techniques would require assembly language or such
no standard game controller ports but probably some adapters could be devised to address that
with Olimex building and supplying fully assembled units at 50 Euros, it’s a lot easier now for people to get these boards
I don’t know the exact size of that hand but it must be a tiny hand of this board is half the size of an Arduino Uno.
https://github.com/TheByteAttic/AgonLight
I’d say that it’s larger than the Uno so probably closer to twice the size than half the size.
It’s about the same size as an Arduino Uno.
MakerLisp has been selling a similar design based on the 50 MHz eZ80F91 for several years. This project here is cheaper, but doesn’t even clock the eZ80F92 at the full 20 MHz and is therefore not the fastest 8-bit microcomputer ever made.
https://www.tindie.com/products/lutherjohnson/makerlisp-ez80-lisp-cpm-computer/
This device doesn’t seem to produce its own video signal, accept its own keyboard, have its own mass storage (uSD), etc., so it’s not a microcomputer in the sense the word has historically been used. Microcomputers are standalone devices with a microprocessor inside.
The Altair 8800 called; it’d like a word…
That definition is simply wrong. The Altair 8800, the first device to be referred to as a “microcomputer”, had neither an integrated video output nor an integrated keyboard controller nor internal mass storage. That was all handled by expansion boards (as the MakerLisp does) or not possible at all (Altair 8800 never got video, only teletype). The Commodore 64 had no internal mass storage, the BBC Micro no keyboard controller (the keyboard was a separate PCB that connected directly to the VIA bus).
You’re probably confusing an Amiga or an IBM 8086 with a microcomputer.
If what you want to call a microcomputer is merely a card with a CPU and memory, well, I guess that’s fine, but it wouldn’t be what most people reading this article would understand by one. The very first microcomputer ever made, the Q1, in 1972, had a keyboard and teletype-like output. And so did the DataPoint 2200 the year before. You could even consider a board with expansion slots — to take a video card, disk controller, etc. — a PART of a microcomputer. But this card you showed doesn’t have even the expansion slots; it’s a CPU card with memory. Now, it’s OK if you want to argue for strict linguistic definitions, but the messaging in question here is not meant for an academic paper, but instead for the public at large, who have an intuitive idea of what a microcomputer was, based on home devices such as Atari 8-bit systems, Apple ][s, MSXs, etc. They all had keyboard and storage I/O, and produced video output. An old IBM 5150 needed a video card and all, but I guess most people at the time would consider a 5150 withOUT a video card an INcomplete microcomputer; it would be missing something before it could be called a complete one.
If you are ruling out computers with CPU and I/O on separate cards, like the RC2014 systems or the MakerLisp system, then you need to say “single board computer” rather than just “micro-computer”.
I have always thought that BASIC never got the respect it deserves. The compiled versions can run really fast.
In this case the BASIC is interpreted, so the user has immediacy of control and doesn’t need to compile anything. All other microcontroller boards require a host PC and sketch compilation in the host PC. This one doesn’t, it’s entirely self-contained. And the user can send commands to the GPIOs from the immediacy of a BASIC prompt.
“I have always thought that BASIC never got the respect it deserves.”
GFA BASIC. Write/debug the program in the interpreter mode, then compile. All languages should provide the option to work like that.
https://en.wikipedia.org/wiki/GFA_BASIC
is worth noting it uses BBC BASIC instead of some variation or clone of Bill Gates BASIC
It looks like a neat project, but I find the choice of a USB A port for power input and USB Device interface rather troubling. You can only power the board with a non-standard (and expressly disallowed by the spec) USB A to A cable – one that could damage any other two machines you connect together with it. Any of USB B, mini B, micro B or USB C would have been fine.
A couple of binding posts with knurled brass nuts would have been fine. Party like it’s 1899. Not snark. I’m serious, when it’s a single pair, why not?
You’re not the first to have this criticism. I made this choice because I personally don’t like any of the other USB connectors (mechanically speaking) and was frustrated over the years with the endless proliferation of connectors. There are also still plenty of A-to-A USB cables for sale on Amazon, among others. And Agon will only ever be connected to a USB charger (for power) or a PC (for re-flashing the firmware occasionally), so no risk really. But it’s an open source design, so I’m sure (really, I am sure ;-) ) that other versions are in the works that will have different USB connectors!
Really good job! I am so glad this kind of project exists!
what is power consumptions?
I dont think this is the fastest 8bit computer, commander X16 is build on a 8mhz 6502 that is almost 3-4 times faster than Z80 clock per clock. Also atmega1286 is an 8bit cpu running at 20mhz
Speed between a 65C02 and a Z80 varies depending on task. 2.5x is probably closer for a lot of tasks. However, the eZ80 cuts down the cycle time for the Z80 instructions, so it probably IS faster than the X16 if running at 18+MHz.
But the MakerLISP system is definitely faster, even if it requires three boards for a complete computer system.
well, these timings and comparisons are all probably in respect to using the eZ80 in its Z80 compatibility mode, but that CPU is 24-bit, so in that mode it can use 24-bit registers and access up to 16MB of memory – would seem to be more akin to a MC68000 when used in that manner
the project seems to concentrate on creating all its software (firmware, etc) as 8-bit Z80 code, but part of the hobbyist fun would be to step outside of its 64K memory limits, etc
AFAIU, Z80 compatibility mode on the eZ80 executes the Z80 instructions, but they don’t take as many clock cycles as on the original Z80.
agree about the 24-bit mode – is why I ordered one of these boards from Olimex as I want to play around with programming it per its 24-bit computing mode
no doubt there is a C compiler that will support that…
want to dink around with operating system kernel design on a small system
Beautiful project. It is maybe comparable to https://geoffg.net/maximite.html in scope.
— Olav