Before I forget it to mention: Grown up men can't get USB-Power supplies with an on/off button/switch? (Or hubs with wonderful on/off switches?). (You after 4:00 , your valid critique about a missing power switch). So good that we girls are here and know the solution for EVERYTHING! (=42) Thanks for showing of this cool device, Noel. Entertaining and educating as usual. Thank you for the video!:)
@@dieSpinntHmpf - looking at my USB 4-port hub with on/off buttons and LEDs. (Mainly so I can switch my headset on and off without pulling out cables or clicking through menus.) Viel Spaß beim weiteren Spinnen.
@@dieSpinnt shutting off the power isn't that big of a deal... but if you have an onboard switch, then you can monitor for proper Shut down including closing open files. Much better than just ripping the rug outWhile you are standing on it.
*Tell that PCB designer to make a mini SMT 8 bit computer that has 1206 package components, an encoder for adjusting clock rate, dip switches for input, manual memory space navigation buttons, and a 7 segment display output. Thanks in advance!*
On Europe, Olimex are a great option, and their Agon Lite variant has an extra port (their 'UEXT' port) that gives you access to some neat modules they provide, and exposes I²C, SPI, and RS232.
Nice overview, we've just sent h0ffman a Console8 and Steve has cranked the VDP up to 32 channels of audio so hopefully he can make it (and all Agons) sing!
Great to see you”re enthusiastic about the Agon. I’m the author of the Dezog debugger and ElectronHAL and ElectronOS. With this you have the concept of personalities so that it can assume the identity of a CP/M machine or a MSX1. I even have Kings Valley running on a virtual TMS9918.
I have an AgonLight, Maximite 2, and the Ultimate 64 and reflect on the niche for each one. The Ultimate 64 is exquisite -- its only downside is that there is not an Ultimate 128 with BASIC 7.0. The Maximite 2 is powerful and appealing, the ultimate in BASIC-all-the-things at amazing ARM speeds -- but BASIC is your whole world, If the Maximite 2 had the equivalent of Supermon and Turbo Macro Pro built in, it would be a Commodore 64 update for the 21st century. I haven't figured out the AgonLight niche yet -- but am enthusiastic.
It was what he had to hand wend designing the original, and what Noel has is one of those Rev 1 boards. The Origins board uses a more standard USB-B (or C on the Olimex clone)
It's an official abomination, "illegal" under the USB rules. An A-to-A cable could be used to connect two power supplies together causing all sorts of disaster, possibly fires. The bloke must have just had a lot of type-A sockets hanging around, but yeah you never use an A socket to receive power, it's always for the supply side.
@@rog2224 The USB connector in the pictures of the Olimex's board looks to me like a type A. If the pictures and documentation is out of date it would be great if they can update it.
The Olimex version made some changes, including using USB C for power and female USB A for the keyboard (which still has to be PS/2 compatible). Otherwise, it is 100% compatible with the original version shown here.
You never mentioned the 'inline' assembler on the BBC Basic. I had a couple of models of the BBC, up to Master. The Basic experience was probably as good as it gets for Basic but the inline 6502 assembler was awesome. It could reference Basic variables and DATA lines and it could produce pure assembler applications. This flexibility made it wonderful for 'what if's in minutes and see the results in seconds.
You're right, I didn't know about it until afterwards. The Z80 por does allow Z80 assembly, which is awesome. I'm super impressed with BBC BASIC (and quite a bit jealous that wasn't my BASIC experience back in the day).
I don't usually get excited by modern day recreations of 8 bit computers, but this one is very interesting. As someone who spent hours and hours programming on an Acorn Electron back in the 80s, the BBC Basic included on this is a big plus, for me at least.
Why using combo Z80+ESP to complicate things? ESP32 is modern 32-bit RISC CPU running at 240 MHz with HW FPU support, some versions are even dual-core. 240 MHz ESP32 can emulate Z80 code while being faster than the new 18 MHz Z80e. It seems to me overcomplicated to use heterogenous CPU. I think better way is to use only ESP32 - it will be cheaper, faster and can emulate ZX Spectrum, C64, NES easily. Maybe ESP+ESP or even 3x ESP for Amiga-like coprocessors. To be honest I do not see the need to reinvent 8-bit computer for other reason than studen project purpose. Everybody knows 8-bit computers were bad, 16-bit were less bad and 1st usable minimum is 32-bit (and that's why most today MCU are 32-bit). I don't want to sound negative. It's meant as constructive critique. Otherwise good job, I appreciate every new home-brew computer.
I agree, I suspect I come to the opposite conclusion to you though. I infer you're saying you should get rid of the microcontroller. I would say the opposite, get rid of the z80. To me the draw of 80s 8 bits isn't the processor per se, it's the limitations combined with the standardisation and 30+ years collective experience on the platform. A modern microcontroller is still very limited, but it's standardised. I'd like to see something like a pi Pico on a board with a crappy keyboard, vga out, and that's it. That to me would be the spiritual successor to the spectrum/c64
@@benholroyd5221 Just look for the picomiteVGA, it's exactly the thing that you're describing. ESP32-SBC-FabGL by Olimex is also very close to your description, just featuring esp32 instead of Pico.
@@VioletGiraffe it is weird yes. But the thing is they want cheap, and an old processor. The processor probably costs more than MCU. From a performance/common sense/ cost pov, you'd just ditch the z80 entirely. Tbf, back in the day, it wasn't unheard of to have random things more powerful than the actual computer you attached it to. The c64 disc drive had its own 6502. The laser printer for the Mac se had a more powerful processor than the pc itself had. The cpm card for the apple 2 was basically an entire computer with a z80 in it.
Great video! At last, the sort of coverage the Agon deserves. I’m just surprised that you didn’t mention one of the most important aspects of the system, namely the GPIO, which is addressable from BBC BASIC. Great for hobbyist electronics tinkerers or people who want to use the machine as a super-easy to program microcontroller. What other system lets you address pins directly in interpreted BASIC? And again, this is very educational. I see the Agon Light as a spiritual successor to the BBC Micro (more so than the Raspberry Pi, actually). It’s an instant-on computer that you can just turn on and program; it uses BBC BASIC, which is the best and fastest 8-bit BASIC around (ignoring its 32-bit version!); and it can interface easily with all kinds of home-grown hardware projects, just like the BBC Micro was uniquely good at. Much as I’m excited by Console8, I’d love to see the Agon being taken up in schools and universities etc. and used as an educational tool there for both computing and hardware projects. I think it’s perfectly suited for that, in a way that hasn’t been seen since the 1980s.
RiscOS on the Raspberry Pi let's you address individual gpio pins in it's integrated, interpreted BBC Basic. It also runs extremely fast. 😉 The BBC Micro was complex and expensive when released, so was only accessible to many people via school or college etc. That severely limited it's user base. The RPi is the opposite, it also has the most amazing official and 3rd party support, and a huge community. It's something I don't see any other system getting close to. The Agon II Light looks to be a great system, I'm looking forward to getting one. I hope it and it's community continue to grow, but it's audience is different to the Pi's.
As nice as BBC BASIC may be, I have to respectfully disagree that this should be used in schools/universities. For young people of today, it makes much more sense to learn something like Python (or MicroPython), which could in some ways be regarded of the BASIC of today. By learning Python, you learn something that can immediately be applied throughout your study/career, unlike BASIC, which is basically useless for any professional work. You can get an ESP32-based board with VGA output that can run MicroPython for something like 15 euro. Another option is starting with something like an Arduino, which is also very easy to get started with programming.
@@niekvans If that was just any BASIC I would agree, but at least BBC BASIC is structured. A structured language is great for teaching your mind how to design a program. In that sense Pascal (a useful variant like e.g. Turbo Pascal - which is probably what I will use on the Agonlight2 when I get mine - I'll move to CP/M) is a great way to get into the right mindset before proceeding to something else. It doesn't really matter which language you start on, as long as it's not something like non-structured BASIC. Moving to something else is easy-peasy.
Bernardo is a really talented individual who's created something special. I've watched all his videos on the development of the Agon light (although I didn't understand a lot of what he was talking about). I really love his restoration videos of old 8 bit systems, the Wang being a favourite of mine. He really goes the extra mile and his attention to detail is beyond belief. A really cool guy and a fantastic YT channel
@@OzRetrocompI feel the same way. You don't necessarily have to 100 percent completely understand something to be able to enjoy it. I get the basic idea, and that is enough for me for now.
James Sharman on RUclips made an 8bit pipelined CPU. I forget the clock speed but because it's pipelined the performance was impressive. I'm curious how his processor would do with your benchmark
You nailed it. It's a great 8-bit computer but it's closer to an RPi than a C64 or Apple 2. Then again, it wasn't designed to be a "retro computer". Saying it's an 8-bit computer is accurate. In the same way that Taco Bell is Mexican food. Nothing wrong with that. But when I want real Mexican, I don't go to Taco Bell. ;-)
I don't think, that it is even the fastest. I think, you could run a Z80 even in former days at least with 20MHz or so. I even heard, that some people ran selected versions of the 6502 on 16MHz and the 6502 was much faster as the Z80 at the same clock speed (I would estimate at least factor 2). There where also regular 16bit versions of the 6502 around, that ran at such high clock speeds, but since they where 16bit, they do not count, even when they fully covered the 6502 functionality. It might be the fastest consumer-buy-able 8bit computer, though.
It really surprises me that after almost 50 years z80 based processor cores are still being manufactured. The intel 8080 architecture really had some legs on it.
8080 was first gen and meh, The Z80 is on another level. ditto the HD64180 (Z80 on steroids) and Zilogs Z180, theres also the Zilog CPU with Tiny BASIC built in.
Amazingly these are very cheap to get, the new pin-to-pin compatible versions (CMOS Z84C00xx) can be bought for less than five bucks. Other new old processors like the 65C02 are more expensive.
Z80 cores continue on production, but this SBC CPU isn't Z80, nor it is 8-bits. eZ80 CPU isn't an 8 bits CPU, although Zilog advertised it like being 8-bits, in fact it is a 24 bits CPU. eZ80 has 24 bit registers, 24 bit address, 16 or 24 bits ALU, so clearly it isn't an 8 bits CPU. Of course it can be set in Z80 compatibility mode, the same way a 32 bit x86 CPU from Intel can be in 16 bit more.
Given this is open source, I feel like a single PCB with modern mechanical keyboard switches and this board's hardware all in one would be pretty easy to do.
It just doesn't make sense to build your own keyboard. Decent keyswitches by Cherry are a few quid each. Even cheap nasty clicky buttons would cost a ton more than just buying a cheap keyboard. PC keyboards have been a huge commodity item for decades. The cost is as low as they can make them. It doesn't make sense to make your own unless you have a really good reason, and the main idea for this thing seems to be "Z80 + cheap". You can always do it yourself if you're willing to spend the money, or do some 3D printing. But even cheap PC keyboards are pretty good, you'll have to spend a ton of money to equal one, never mind beat it.
@@wishusknight3009 Just thinking... for your money you might even be as well using a touch screen. Or even just the resistive element without a screen. Or perhaps capacitive sensors, on a PCB, beneath some sheet of thin plastic or something. It'd be better than those horrible click switches, and be implemented in software so more configurable. Just get an XY coordinate and decide what key that is. There's the old-fashioned resistive carbon sheet or even indium tin oxide. But I bet there's something better you could do. Maybe the technology used in things like phone screens could be simplified down to something practical. Or else, maybe, just put some electrodes on a PCB, put wide wires on each side of a rectangle, and spray some carbon in between, or even roll it on as paint. Consistent thickness would be important. Or else just buy a cheap keyboard. But making a traditional keyboard-style keyboard would cost you way more than it does for companies who churn out millions of them. You could maybe adapt them with 3D printed keys. Actually somebody has produced new keyboard membranes for old 1980s computers. Maybe use one or two of those, steal the rubber domes from a cheap keyboard, and print your own body and keys. Or if they can have membrane manufactured, so can you. Maybe a flex PCB? Two sheets of that and some flexible plastic separating them with holes cut in it. You could make any keyboard you liked from scratch with that, I suppose. Long as you nicked the rubber domes from somewhere. Without a membrane, there's the PCB buttons that joypads use, with domes with a carbon button in the middle. Somebody must make those domes though you'd have to buy a lot I suppose, still you might sell the rest on. Maybe you could even 3D print the domes with some floppy springy plastic and get the carbon buttons from, I dunno, graphite? Or dip rubber in conductive paint?
@@greenaum I have gotten a new PCB for one of my Model M's. it is not a small undertaking putting it all together, there is also a small list of replacement parts one needs to get to make a keyboard, not everything can be transferred from an old unit. Though modifying the gerbers to incorporate the circuitry for this computer does seem to be very possible. Beyond my abilities but not out of the question. Getting a donor board could make it cheaper. I was thinking though to just build this little unit as it sits, into an existing keyboard of some sort. Though finding something with the space is the real challenge. It would need to be an ergonomic or something that has some internal height and rear real estate for plugs.
I keep a couple of USB-to-ps/2 adaptors in my "toolbox" (and ps/2-to-din) just in case I run into an older system. In the last 10-15 years, I can count how many times I've needed any of those adapters on one hand while still having fingers left over-- but I do KNOW that if I threw them away, I would have a need the next day :)
You have a real point about the "blank canvas" of the software defined video/audio subsystem. This is an issue in aesthetics. In the arts and letters, artists often chose limited formats and mediums. That the Agon Light isn't meant to be a retro computer, but is a educational system is very interesting. So, that's a different aesthetic from that of hardware bound retro-computers. Just as some writers like sticking to the format of a sonnet or haiku for the challenge of squeezing in so much meaning and feeling to a small strict form, retro-computer enthusiasts and programmers are choosing a strict, limited form - the games and demos are truly little works of art! The developer community might not know it, but you are a community of artists. This is a beautiful example of how engineering and science are really siblings of the arts and letters. This looks like so much fun, I might buy one of these. I program in C on Linux, but I like learning very simple things like how to draw a line using only integers, drawing pretty pictures in low resolution and few colors. It might be even more fun to do this on the Agon Light. As a kid I programmed an Atari 800XL and had jobs programing Z8 (not Z80, but Z8) microcontrollers. I miss assembly. Thanks for featuring this.
"8 bit computers usually have many more chips" When was the last time you looked inside of a ZX81? Half the price and a fraction the number of chips of the ZX80... and this was back in 1980. Or even a Commodore Vic20 or 64 which ran on the 6502 platform? A fraction of that number - not that I can ID which computer that was from. And they were all accessible with basic soldering tools. SMD parts are a bloody nightmare, I know this because my current audio design has to use 402 parts so I can get them all into a 20mm circular board which already needs breather and fixing holes. BUT SMD, due to the shorter leads is much more reliable at high speed due to the lack of stray inductance/capacitances that are inevitable with traditional through-hole parts.
Here is a video tip. When you are holding the item you are talking about, wave it around wildly so we can not see it. I almost got a look at it, so you are not waving it enough! Anyway, you can buy 65C02 chips rated 14MHz that will run at 20MHz.
That's great. z80, most of those newer computers I've been seeing are some sort of 6502. Not gonna lie, I'm kinda tired of those. I wanted to see z80 or even something more like 8088 or even 68k (but I guess those last ones aren't available anymore).
I’ve long thought that a great niche would be a computer with an 8-bit data bus (and truly 8-bit code) but 24-bit linear addressing (maybe upgradable to 32-bit). I’m initially from the Apple II world, and one of the obvious learnings from using a 6502 is that the stack pointer really needs ability to access the entire memory. A few years later, the 65C816 came out, and it was a disappointment, since has 24-bit addresses, but only a 16-bit stack pointer. So the eZ80 seems like it might fit this niche. Is it in fact the first processor to do this, after all these years?
This is a really interesting concept, I'd love to see what a demo scene could do with this hardware. Also like you, normally I'm not too excited about 8-bit computers where you have to plug in a keyboard, but with this hardware and firmware flexibility it could be repatriated into any existing microcomputer with a dead board. Or into one of the many aftermarket keyboard+case combos for Apple ][, Spectrum/N-GO, etc.
Hi, great interesting video, particularly your reference to the Amstrad CPC range of machines, I was a CPC games programmer in the 80's working on titles such as Rambo, International Karate, Daley Thompson's Supertest, Spy Hunter, Zaxxon and more. If you're interested I could elaborate on some of the techniques we used on the CPC to squeeze the most speed from the Z80 and how we used interrupts to enable multiple graphic resolutions to be displayed within single frames... thanks.
I cut my teeth on the Amstrad CPC, playing and cracking a lot of those games (sorry! 😃) and I would absolutely love to poke your brain about it sometime. Can you drop me an email in my contact on the RUclips page or a message on Discord/Twitter? Thanks!
Whatever happened to Zaxxon on the Amstrad? Was it ever completed? Spy Hunter got out eventually but not as intended but Zaxxon, Buck Rogers and Congo Bongo all seemed to never get out of development hell? There were some really good Amstrad games that never did make the release date, some nearly finished or were canned due to politics and schedules (like 2 of mine, Seaskate and Land of Nod). Some of the schedules were brutal though, conversation from arcade to sometimes up to 9 formats in a 3 month window so quality sometimes went out the window and quick and nasty ports from Speccy to Amstrad and ST to Amiga were very common just to get things out the door. Also meant some titles specifically targeting certain machines were dropped part way through just because of time. I also had an isometric game in the works with Mastertronic with the CPC as launch title die this way (and forgotten what it was called, will have to get the design notes out the attic again).
I have to disagree with people saying the Argon is not a true "retro" computer. If you study the architecture of the original Apple 1 computer, it was designed almost in the exact same way, with a "terminal graphic" circuit independent of the CPU circuitry. Also saying using the ESP is "cheating" IMO is incorrect if your are comparing it to other supposed modern "retro" computers. Other computers like the commander x16 use FPGAs, SD cards, etc.. all of which are NOT retro, but modern components not found in original 8 bit computers. Using an ESP is ingenious, opening the computer up to all sorts of tinkering and hacking, allowing people to learn so much more. Obviously this is inline with true spirit and real reason of the "retro" movement.
Hi Noel, and thanks for this video. I had already heard about the AgonLight, but after watching your video I ran to Mouser and got one - this weekend I will be tinkering with it. I've been thinking about designing/building my own retro (or not, just simple) computer for a few years without getting to a firm conclusion. But the architecture of the AgonLight is quite close to what I ended designing in my head - an ESP32 for video and I/O, and another CPU for the main work load. I already know the ESP32 from working on the ESPectrum emulator, and its tricks for generating video in software. As I am realizing that I don't have the time for all the things I wanna do, I've decided to take a shortcut and try the Agon. Maybe I could write a game for it - I just wrote a game for the Next, so who knows? Thanks again for your video, it has clarified a lot of things about the Agon.
Questions: 1) Would it have been possible for them to install a DisplayPort in addition to the VGA? 2) What's the best gaming performance you could get out of it? Could it top the Super Nintendo? Support 2D and 3D vector graphics? I think squeezing the full potential performance out of 8-bit CPUs is an intriguing concept. The advantage that you get with 8-bit CPUs is that they are smaller, cheaper and use little power. They are ideal for systems that do not require significant computing resources.
Found about Agon almost a year ago and concept itself is brilliant. But only 6-bit colours by default still puzzles me. Even with fixed-palette 8-bit (256c) it would be SO much easier to port old games from 8-bit era? And Agon badly needs support for USB-keyboards and hdmi-output. I still use PS/2-kb but I'm old and luckily still have those around. Where is Basic-compiler for Agon - that would make a huge difference (2-5*speedup) when porting 80's homemade programs?
If someone was to implement the gameboy PPU in the VDP... and write some kind of transpiler to translate the LR35902 specific opcodes to the eZ80, or a really thin interpreter layer maybe... this thing would be a reasonably phyically accurate gameboy color. That's kind of neat.
@@NoelsRetroLab you could, I mention this specifically because the LR is sort of a z80 already (and sort of not; It's not a strict subset or superset of the 8080 or the z80, weirdly).
Because of the fact that the microcomputer functions from a disc in this case an SD card, there should be another SD card port and unintegrated function to make copies of SD cards. That way there would be a definite usage for the modern-day PC enthusiasts, but a way to backup the operating system very quickly with just a few commands
Locomotive BASIC is actually partly inspired by BBC BASIC, and as BASICs go, they're both relatively fast interpreters, leaps and bounds beyond Microsoft BASICs and Sinclair BASIC. The killer feature though, if you want speed, is that BBC BASIC is effectively a macro assembler!
@@Booruvcheek Later Spectrums didn't use that system, so you wouldn't have a problem. The keyword system itself was OK once you got used to the layout, even if the physical keyboards left a lot to be desired. They were built down to a price that made them affordable, that involved making compromises. Otherwise a lot of people wouldn't have got a computer, or even ended up with one of the many dismal failures that came and went almost overnight.
@@another3997 I understand the desire to cut the cost, I even understand that having keywords as special symbols / characters simplifies the job of Basic interpreter significantly. However, by the time I got my Spectrum clone in 1990 (being a kid in the USSR during its last days you don't get an original ZX Spectrum, unless you're a son of a party elite), I've had some experience with IBM PC clones, and the difference was night and day. I was pretty proficient with QWERTY keyboard already, and having to look up keywords instead of just typing them in was infuriating. On a tangent, every Soviet "home computer" at the time had JCUKEN keyboard ( en.wikipedia.org/wiki/JCUKEN?useskin=vector#Latin_JCUKEN ), which was also a dealbreaker for me.
I would love to see a Fast/impulse/scream Tracker program run on this, using 4 to 8 channels and small samples (sawtooth, noise, sine, triangle, or a mix of any of them), and maybe some effects like reverb, echo, distortion, fuzz, buzz, EQ, and a few others..)
The Agon light uses an 18 MHz eZ80F92. I have a SBC that used the 50 MHz eZ80F91 that’s 2.78 times faster. There are also the Min-ez and eZ-Tiny that use the 50 MHz parts. Oh, and the eZ80F91 is also superscalar with a 3x performance boost over the F92… effectively a 150 MHz speed. There are rumors about an Agon heavy using the F91 part also.
RT Russell's Z80 BASIC was used on the Z88, Sir Clive Sinclair's excellent portable computer (and it really is good). The BASIC is copyright 1987, which is when the Z88 was released, so I wonder if it was commissioned for the Z88?
His BBC BASIC (Z80) was also used on the Acorn Z80 second processor for the BBC Micro, which could be run in ROM (so boot to Z80 BASIC) or loaded in as a CP/M application.
I have my original Z-88 from when I was 20 y/o. And the assembly language book for it. It was pretty cool, but the keyboard made it too hard to type in software for me to be able to use it for more than curiosity. It was literally a great doorstop for my bedroom door.
A nice little computer, Using a USB 'A' for the power in, well that's a bit weird. I'd probably swap that out. HDMI, is unfortunately a propriety standard, you have to sign up with them $$$$ to use it. You said you had some DIN connector keyboards, but no PS2, well (apart from the very early PC5150 & XT) they are the same thing, just a different plug, you can just use an adapter, or cut off the plug and fit a mini-din, or wire a full size DIN plug up to the Agon pcb.
Strangely enough, the ESP32 inside will beat the eZ80 to the curb. I prefer 8-bit computers with lots of standard ICs too. He could've used 2xESP32-S3 and go for the title of "cheapest 32 bit computer".
Right. That's when things get weird. If you just want max performance you could even remove the Z80 and implement everything in the ESP32 😃 But it's not all that different from those accelerator boards on Amigas or other computers that end up being more powerful than the computer itself.
The most interesting 8 bit micros were the ones with custom ICs for graphics, sound and I/O. Most of the '80s and '90s computers had them, and of course, Nvidia, AMD and Intel will sell you custom graphics chips that use a standard connector and fairly standard APIs.
@@Rob2It gets even worse if you consider buying a cheap, used PC or even a new one. The price to performance ratio can be pretty amazing. Fortunately, we have the luxury of choosing from a variety of devices, whichever takes your fancy.
I mean the Pi5 could run an emulator for some 8-bit system at a much higher speed than this board... and with much better specs for video and storage. @@another3997
A valuable learning tool for those with insatiable curiosity and a great deal of time and patience. I achieved much of the same learning of BBC Basic using an RPi running RISC5 OS. Great review!
It's funny that I must have been watching Bernando somewhere in a totally different space, maybe in theories of everything or other podcast doing philosophical discussions about science and consciousness, then in my more familiar space I watch this video, I am like "nice device, but have I seen this guy before?". Haha, it's the same Bernando doing retro hacks!!! Wow, impressed.
@@thebyteatticOh wow, hi there! Interesting device btw, I am planning to buy one at some point (probably the console release), curious to get me coding into some ez80 based platform sooner or later as I have previous experience with z80 and I am curious.
This reminds me a little bit of the Apple-1. It was a computer with a computation area, and a separate terminal to handle display. This sounds similar.
The Apple 1 had a hardware terminal built with discrete components, quite a neat design you can grok. This has a separate computer over an order of magnitude faster and larger. It would have been easier to run BBC BASIC for SDL or Brandy directly in it.
This isn't the fastest 8-bit computer I've seen. The chips from Rabbit Semiconductor (rabbit 2000/3000) are near z180 compatible and run over 30mhz. The rabbit 6000 series are 200mhz, but I haven't actually used one so I don't know if those are still 8-bit. There's no basic environment for them yet though. You usually program them with their own C variant.
Very interesting little thing! I bought a Colour Maximite 2 for 110$, which is 32 bit and comes with a fantastic MM-Basic and a solid metal case. It also has higher resolution graphics with plenty more colours. Would be great to see a comparison. Cheers, great fun! 👍
I was extremely disappointed with the x16. With how expensive it is, and that it didn't really have a design philosophy consistent with what they were wanting it to do. SNES controllers? really? It couldn't even use standard joypad protocols? It turned out to not be as open of a community project as i had hoped, and Dave started to show his snobbishness to those who were showing legitimate criticism for its feature creep and scope. I understand using the FPGA graphics solved a lot of problems, but that kind of made the whole thing just sit in the middle of nowhere. Little of what one may attempt to learn on it will be usable in any other ecosystem and the graphics core is somewhat locked down anyhow. But the ESP32 of this machine is something used for a lot of other projects and knowledge learned on the Agon will transfer to a lot of other things. And it also has aspects very familiar to a lot of tinkerers.
It’s typical of the guys mindset. You only have to look at his YT channel. He is well known to manage his “community” and delete comments that criticise his choices etc. I steer clear if anything he has done.
@@NoelsRetroLab It has inline assembler for now only for 16-bit address space, but ADL (24-bit address space) version of both Basic and inline assembler is in works.
That was the first thing I thought of when he mentioned it was BBC Basic. I had a BBC Micro back in the 1980s and writing 6502 assembler code was a cinch, and extremely useful for hacking the hardware and operating system, as well as accelerating performance critical parts of your BASIC program. It's also a great way to learn assembler code, because you don't have to worry about getting used to building and running machine code with a completely different set of tools.
The architecture of this board seems rather strange, it looks much like an ESP32 with a Z80 co-pro. Having components loosely coupled using serial buses (I'm presuming SPI?) is going to make programming the Agon quite odd for anyone used to retro 8-bit machines. I guess the saving grace is the price, which is low enough I can see it being useful for 'raspberry pi' type projects, but ones where ease of programming matters more than raw performance. Speaking of performance, the eZ80 doesn't seem all that quick. I tried the little BBC basic benchmark on a 16MHz 65C02 with Acorn's BBC basic 4.3 and it completed around 40% quicker than the Agon (1.07s).
I could be wrong, but I don't think Richard's Z80 port of BBC Basic is as optimised as the original Acorn 6502 version. I'm sure Richard himself said as much. But compared to the 2Mhz BBC Micro, the Agon 2 is a rocket ship. 🙂
Hey! Locomotive Basic was good too 😅 Certainly compared to what you got on the Commodore! I actually learned to program on my Schneider/Amstrad 6128 with green screen in 1991 😊
IIRC, in the PC world, the AT keyboards, which had standard-size DIN connectors, had the same signals as PS/2 in them, so there were simple PS/2-AT adapters, and creating one from scratch would also be as easy as taking one connector of each sort and wiring them up correctly. The earlier XT keyboards also used DIN connectors, but a different signalling protocol, so if one wanted to make a converter, something like Arduino Nano would come in handy.
Last semester I had a class where we programmed a video display processor to an FPGA in Verilog. Most people who implemented VDPs in their final projects ended up synthesizing a microcontroller onto the FPGA (Xilinx/AMD's Microblaze) and then programming the VDP in C. The reasoning behind doing this is that it takes 10+ minutes to synthesize a Verilog implementation while it takes 5 seconds to compile a C program. Bug fixing is much faster and easier on Microcontrollers, and Verilog simulation outputs are wavetables, it would be very hard to make a program that reads the HDMI traces and puts them in an emulated video window.
Hardware-Sharing the access to the SD-Card between the ez80 and ESP32 would be absolutely cool! Imagine the possibilities of the co-processor (wrong term ... its a GPU) loading resources through an API without any work for the CPU. BTW there is also SRAM with dual ports on the market that could be shared between ez80 RAM and ESP32 PSRAM in static mode. That would be a BEAST! Hehehe
I was researching modern Z80 equivalents a few years ago and stumbled on to the eZ80 series of chips; except for unpredicted branches, the added pipelining makes the CPU run another ~4x faster than a classic Z80 (if they were running at the same clock speed), and the eZ380 CPU can run up to ~200 MHz IIRC (which is insane, as it would be the equivalent of a 600 to 800 MHz classic Z80. The serial line audio / video isn't that bad if it has things like hardware sprites, samples, etc. -- Loading and setting things up might lag (or not), but at runtime, you wouldn't really notice. -- As for the "fake hardware" it's at least more real than the Commander X16 in that regard, as there are no FPGA defined devices. A microcontroller really does have a lot more real limitations than an FPGA...
I understand the desire to not use an FPGA instead of "real silicon", but people to seem to forget that custom silicon, customizable gate array chips, and various kinds of PLDs were used back then.
I agree that it's certainly not less "real" than a FPGA which is what the others use. And FPGA is WAY harder to develop for, and here he could bypass even most of that because FabGL for ESP32 already existed and does graphics, audio and PS/2 keyboard/mouse... He's mentioned possibly making an Agon Heavy later if it's stable enough to support a second version, there's a number of choices that ought to be compatible up to at least 50MHz (so more than 2.5x) and/or has way more IO lines.
The FPGA in the X16 is basically just a graphics card, which even some 8-bit systems in the 80s had specialized graphics hardware to handle sprites and such (not to mention the 16-bit days with the Amiga's graphics). It's actually potentially *less* capable than the 'graphics processor' in the Agon Light since the VDP is an ESP32 processor... just a straight up computer on its own running at 240MHz. You can even use just it and ignore the eZ80 side of it ;)
In terms of 'real', FPGA is more real because it is real hardware, except redefinable. FPGAs are often used to replace ULA chips which were a predecessor technology to FPGA. Personally, I don't get the FPGA hate. This same Zilog ez80 processor can be supplied as a core (and presumably softcore for FPGA). It's just an implementation detail and a way for regular humans to design our own hardware without committing six figures to tape out and fab a chip. If you think a microcontroller 'imposes more restrictions', you've never designed in Verilog or RTL. It's an order of magnitude more difficult. That particular microcontroller already has IP cores on-chip implemented to do a lot of the difficult video bits like RGB565, that's why it was chosen.
@@shanehebert396Most 8 bit micros had custom or dedicated hardware for displaying graphics. In that sense, modern PCs amd consoles are no different... GPUs are custom parts with standardised APIs. An FPGA can be a full computer too, the whole Commander X16 could be fitted on an FPGA for far less cost than the current version. I doubt the Agon 2 could be made cheaper. Horses for courses... buy whichever system(s) suit you best. 🙂
This Re-writable architecture thing - that's how the Sinclair computers were built. Clive Sinclair did it for cost reasons. At the time hardware was expensive, while software, once written, was free. He had a damned good processor (for the time) so he decided to let it do a lot of the work, There was a bit of hardware help from his ULA but this could easily be paged a for RAM with your own software, or hardware). Thus I had my ZX81 running high(er) definition graphics., albeit veeerrry slowly. And my Spectrum running, with two 5" floppy drives, as a full CP/M 2.2 system. Though I must admit that there was a lot of software 'borrowed' from a Pied Piper. Many people were very scathing of the Spectrum due to it lack of a dedicated hardware sound etc. but to me this was its beauty. It meant that it could be made into anything you wanted. The only limitation was that one lone CPU had to do ALL the work. At that time I had never thought of slave processors. But back to the point - that Agon IS replicating a classic 8 bit computer. It's just that I would probably have used another Speccy at the time as the ESP32 wasn't not available back then.
A CoCo would be out that used a 6809e as the processor - not a Z80. A TRS-80 Model III to some extent - that used memory mapped graphcs (so you could peek and poke straight into video ram), the way the MOS/VDP works is sending commands like set this pixel, or draw a line from here to there - so anything low level probably wouldn't work. But you could probably get some high level BASIC stuff working and I guess someone could port TRDOS. The alternative is to write an emulator that works entirely on the VDP chip and which doesn't use the main RAM or EZ80 processor. As someone else mentioned MSX - that is a little different as that had a TMS9918 chip to handle the graphics and the video graphics were not in the main RAM (you used VPOKE and VPEEK). Later MSX models had better video display chips - the TMS9938 and TMS9958. As you can probably guess that makes it much cleaner to emulate - the VDP code emulates what the TMS9918 did in terms of graphics.
Noel, I have yet to see a STM32 blue-/black-pill or ESP32 tinker-board build producing more than a single-channel mono audio output, without any extra added audio modules. So, that might be the reason why. It seems like an attempt at keeping the price as far down as possible. - However you're absolutely right, stereo would have been nicer.
I agree with you in general... until you get into really fine pitches. I wouldn't recommend soldering some of those ICs for someone doing their first SMD soldering.
@@NoelsRetroLab I'm agreeing with you on this one. I have done some soldering of some small SMD components. Even though it was a bit intimidating at first, I got through it and it turned out to be no big deal. But these chips on the AGON Light would probably be more than I could handle without a lot more practice!
Surface tension and solder mask are your friends my dear fellow. The rest is simple physics which you need not bother to think about since it's handled automatically.
@@johncochran8497Walking a tightrope across the Grand Canyon is just "simple physics", as is jumping out a plane at 10,000 feet. I wouldn't recommend either without some kind of practice... and probably a parachute too. 😉
@@another3997But the tightrope is a situation where physics is working against you. Soldering is where the physics is working for you. As I said, solder mask and surface tension are your friends.
It’s quite incredible that most of the output you’re getting from this board were interfaces completely rejected by 8-bit computers of the era. Neither Commodore, nor Apple nor Atari nor Sinclair could grasp that the standards shuffle was basically over when the PS/2 arrived. You could find an Amiga nor a Macintosh with VGA or a PS/2 port. Ironically, on the other side of the spectrum at the UNIX Workstation side, fueled by the RS/6000 most systems used PS/2 and VGA for basic output. Of course they offered proprietary video like DVI and VESA but you could always find ways to use a regular PC monitor including cheap ASCII terminals. But now, both interfaces are considered legacy but still highly supported by even the most modern systems.
We have to give credit to the guy who designed this, if only for keeping the 8-bit legacy alive (on a 24-bit processor that can accept 8-bit commands). Having said this, it's not a product I would buy. Sorry. A bit too much DIY, no on/off switch, no hdmi, no possibility to connect a regular keyboard etc.
Maybe the options are already available, but it should be possible to set up the ESP processor to display BASIC in a better font or a better resolution.
I'd be happy to send you one of my 65uino's, no string attached :) It's certainly a much cheaper 8 bit computer but also has quite a bit less address space :D It's a computer designed to encourage programming 6502 assembly with pretty aggressive constraints - like programming for the Atari VCS/2600.
A product being billed as an 8-bit computer will cause most people to presume it is some kind of retro hardware, so it may be true that it is cheap to essentially emulate hardware in this "blank slate" system, the main differentiating factor between retro and modern computers has been the detachment of software from hardware. Modern computers tend to treat hardware and software discretely in the sense that the underlying system is a "software environment" provided by the OS. Older hardware had a more appliance-like blending where the software that could run on it was strongly restricted by the underlying hardware. You could say purpose-built and utilitarian, vs modern "general purpose". So, if the goal is to learn about computers then the former is really the only way to go, because it is the only way to truly see how the programs you write interact with the hardware.
I think that the installation of ESP32 in the interface block was caused by the desire to reduce costs. Hardware solutions are more expensive, they also take up more space on the PCB, which also means higher costs. For me, this is quite a successful attempt to find the "golden mean". In fact, an 8-bit operating core of a microcomputer with peripherals "on steroids". An additional advantage is the possibility of experimenting with the software in ESP32. All in all, it can be a lot of fun for both a veteran with many years of experience and a young adept looking for his place in the digital world.
Before I ordered, pcbway advertised that they would do the assembly for up to 20 boards for $30 for first time customers. Right now, the order for 10 of them is under review with a displayed price of $350 for assembly, plus $160 for the boards. Hoping they do the right thing, after going to such effort to lure me into their store and all...
Needs stereo sound and joystick port. Also, why not USB keyboard or even easier, bluetooth? Its cool, but since it doesn't recreate any classic computers, what's the point? - Why not just do something fully modern instead of "8-bit"-ish? Likewise on the Spectrum next, improving the speccy video actully is a step back since its no longer retro.
It doesn't NEED stereo sound, you just want it. You can make your own joystick ports connected to gpio. USB and/or Bluetooth are extra costs. This is designed to be CHEAP. Again, you can make all sorts of things to dangle off GPIO to serve that purpose. Why should something new be a copy of somethings old? Why not buy a 40 year old retro computer? Why not buy a Pi or a PC and just emulate old computers? Why do anything that isn't completely necessary just to live, but is done for fun? You do know what "fun" is? 🙄
A video about hardware I'm not at all interested in and I watched it from the very beginning to the end? That's some kind of magic only YOU can achieve! ;-)
Amazing computer. That's so cool that modern technologies allow to create new powerful 8-bit devices like this one. Here In Russia, in my childhood, we could afford only a homebuilt ZX Spectrum clone. Such a computer could be a dream those days.
12:21 Yeah - I was wondering, myself, why this is considered an "8-bit CPU" when its natural register size and address space is 24 bits. I imagine the next obvious improvement would be to widen the memory controller/bus to 24 bits as well (or even a cache line that is a multiple of 24 bits).
If anyone just wants to run BBC BASIC, the old "Risc OS" operating system is still available for Raspberry Pi. It is one of the choices in the rpi-imager program. Install it and you will have the same programming environment that British students had in the early 1990's. (It looks kind of awful, actually.)
in 1985 I got myself a secondhand pc planted in my hands by my nice landlord. Australian Made, 286 DX40 with I would . This computer was faster than the imported computers at the time.
Does it expose the full Z80 bus? In a setup like this I would imagine that very little of the Z80s I/O space is used. And to have access to ALL that would be awesome. Direct, simple access to 8Mb of address space dedicated to hardware, and directly addressable at the lowest level. An dream beyond imagination for a roboticist.
Early 8 bit domestic computers were easy to understand and people could get started fast. The small memory available meant that you had to really think hard about how to do stuff. To rotate a simple shape i ended up doing it in 252 bytes on a 6502 - that's what was available. Vast processor speeds and limitless storage really hasn't helped programmers a great deal.
You need to make a productive 8-bit video card and squeeze all the juices out of it :) Connect it, for example, to Spectrum or another 8-bit computer and write software support for the video card.The video card should naturally have its own video memory.
This reminds me of the original Apple one architecture… It had a 6502 processor and a dedicated display section that was basically a serial terminal… Also I think the display side of this processor Ford is something like 10 to 100 times faster than the Ziadie side… Which is alarming… It almost makes the display processor more interesting and more capable than to see 80 processor… Finally I'm not discouraged by the lack of let's Collett vintage architecture…At the end of the day it's all about your hopes and dreams and desires for your project… It looks like a very fun processor… Great work love your video I am driving and… Continued success!
great episode - loved the BASIC BENCHMARK 👾 ran it on my TRS-80 model I (emu) and got a result of 87 seconds (which was in line with your result of 81 seconds) running at 1.77Mhz - then i ran it on my real (restored) TRS-80 model 4p running at 4Mhz - which did the same test in a very snappy 30.2 seconds - handily beating the Apple II+ which came in at 36 seconds (running at 2.8Mhz), and the Atari XL which came in at 50 seconds. then i looked at the numbers for the BBC Micro - and you were getting 19 seconds!? - how did the BBC Micro manage to get so darn fast!?!? 🤔 this discrepency becomes comprehensible when one considers the BASIC running on the TRS-80 model 4p was from 1984 - while the BASIC on the BBC Micro was from 1987 running at a blazing 2Mhz - which is three years later - at which point Apple II+ was history, and the Mac Plus was running at 8Mhz and would already have blown away the BBC Micro. ive saved your basic benchmark for future testing on other vintage computers - thx for the handy spreadsheet!
@@marcdraco2189It was there from the beginning. OS commands, issued from BASIC or any other language by preceding them with an asterisk, could also be abbreviated. The dictionary was ordered in such a way that the ultimate abbreviation *. (star dot) expanded to *CAT which was similar to DIR in DOS or ls in UNIX.
@@johnm2012 Well damn! In all the years I spent writing code in BeeBeeCee BASIC too. I could have forgotten of course, it's been a few decades but more likely I missed that bit in the manual! :)
@@johnm2012 I had one. I learned how to program using it. But for “reasons” I don’t remember that. Of course false memories are telling me I DID do that but I don’t know if I should believe them any more. The only one I recall shortening was REN. Because that would be a lot to type.
I have been tempted to revive my Heathkit H8 Z80 CP/M system. However, floppies are not available and old system disks go for hundreds of dollars. I decided doing my own Z80 board with banked RAM and probably use a separate CPU to do I/O and emulate a disk. Well, now someone else has done it. I probably will order one and re-live my late-70s days. Well, without the single-sided, single-density, hard-sectored 96k disks and massive H19 terminal ;)
While I don't have the appropriate skill set I would love to see the ability to connect retro hardware/software to the Agon, such as the weather satellite system for the BBC computer.
Just for giggles, I punched in the benchmark in QB64, adjusting it for the double precision required for the QB64 timer function, it runs below the resolution of the timer function... Dim t As Double Dim tt As Double t = Timer For i% = 1 To 10 s% = 0 For j% = 1 To 1000 s% = s% + j% Next j% Print "." Next i% Print s% tt = Timer Print tt, t, (tt - t) End
I forgot to mention that you can get 50% off on their chair with E7 standing desk order. Thanks again to FlexiSpot for this amazing workspace!
Before I forget it to mention: Grown up men can't get USB-Power supplies with an on/off button/switch? (Or hubs with wonderful on/off switches?). (You after 4:00 , your valid critique about a missing power switch). So good that we girls are here and know the solution for EVERYTHING! (=42)
Thanks for showing of this cool device, Noel. Entertaining and educating as usual. Thank you for the video!:)
@@dieSpinntHmpf - looking at my USB 4-port hub with on/off buttons and LEDs. (Mainly so I can switch my headset on and off without pulling out cables or clicking through menus.) Viel Spaß beim weiteren Spinnen.
@@dieSpinnt shutting off the power isn't that big of a deal... but if you have an onboard switch, then you can monitor for proper Shut down including closing open files. Much better than just ripping the rug outWhile you are standing on it.
*Tell that PCB designer to make a mini SMT 8 bit computer that has 1206 package components, an encoder for adjusting clock rate, dip switches for input, manual memory space navigation buttons, and a 7 segment display output. Thanks in advance!*
On Europe, Olimex are a great option, and their Agon Lite variant has an extra port (their 'UEXT' port) that gives you access to some neat modules they provide, and exposes I²C, SPI, and RS232.
Nice overview, we've just sent h0ffman a Console8 and Steve has cranked the VDP up to 32 channels of audio so hopefully he can make it (and all Agons) sing!
Awesome! I'm very curious to see how the Console8 evolves!
WOW!!!
Great to see you”re enthusiastic about the Agon. I’m the author of the Dezog debugger and ElectronHAL and ElectronOS. With this you have the concept of personalities so that it can assume the identity of a CP/M machine or a MSX1. I even have Kings Valley running on a virtual TMS9918.
well, the esp32 is a 32-bits mcu dual core, 240MHz. You can actually write a "wine" liked software. Which means one chip for all.
I have an AgonLight, Maximite 2, and the Ultimate 64 and reflect on the niche for each one. The Ultimate 64 is exquisite -- its only downside is that there is not an Ultimate 128 with BASIC 7.0. The Maximite 2 is powerful and appealing, the ultimate in BASIC-all-the-things at amazing ARM speeds -- but BASIC is your whole world, If the Maximite 2 had the equivalent of Supermon and Turbo Macro Pro built in, it would be a Commodore 64 update for the 21st century. I haven't figured out the AgonLight niche yet -- but am enthusiastic.
USB A to USB A is an abomination. Was there an actual reason to not use B, micro B or C type USB?
It was what he had to hand wend designing the original, and what Noel has is one of those Rev 1 boards. The Origins board uses a more standard USB-B (or C on the Olimex clone)
It's an official abomination, "illegal" under the USB rules. An A-to-A cable could be used to connect two power supplies together causing all sorts of disaster, possibly fires. The bloke must have just had a lot of type-A sockets hanging around, but yeah you never use an A socket to receive power, it's always for the supply side.
@@greenaumactually they legalized it under USB 3.0, and it's used for USB device mode/debug on some laptops
@@rog2224 The USB connector in the pictures of the Olimex's board looks to me like a type A. If the pictures and documentation is out of date it would be great if they can update it.
The Olimex version made some changes, including using USB C for power and female USB A for the keyboard (which still has to be PS/2 compatible). Otherwise, it is 100% compatible with the original version shown here.
You never mentioned the 'inline' assembler on the BBC Basic. I had a couple of models of the BBC, up to Master. The Basic experience was probably as good as it gets for Basic but the inline 6502 assembler was awesome. It could reference Basic variables and DATA lines and it could produce pure assembler applications. This flexibility made it wonderful for 'what if's in minutes and see the results in seconds.
You're right, I didn't know about it until afterwards. The Z80 por does allow Z80 assembly, which is awesome. I'm super impressed with BBC BASIC (and quite a bit jealous that wasn't my BASIC experience back in the day).
I don't usually get excited by modern day recreations of 8 bit computers, but this one is very interesting. As someone who spent hours and hours programming on an Acorn Electron back in the 80s, the BBC Basic included on this is a big plus, for me at least.
Sir, thank you for your service!!!👷
Why using combo Z80+ESP to complicate things? ESP32 is modern 32-bit RISC CPU running at 240 MHz with HW FPU support, some versions are even dual-core. 240 MHz ESP32 can emulate Z80 code while being faster than the new 18 MHz Z80e. It seems to me overcomplicated to use heterogenous CPU. I think better way is to use only ESP32 - it will be cheaper, faster and can emulate ZX Spectrum, C64, NES easily. Maybe ESP+ESP or even 3x ESP for Amiga-like coprocessors.
To be honest I do not see the need to reinvent 8-bit computer for other reason than studen project purpose. Everybody knows 8-bit computers were bad, 16-bit were less bad and 1st usable minimum is 32-bit (and that's why most today MCU are 32-bit).
I don't want to sound negative. It's meant as constructive critique. Otherwise good job, I appreciate every new home-brew computer.
Typical: the peripheral controller is a 32-bit chip 20 times faster than the main CPU.
Sigh, yeah...
I agree, I suspect I come to the opposite conclusion to you though.
I infer you're saying you should get rid of the microcontroller.
I would say the opposite, get rid of the z80.
To me the draw of 80s 8 bits isn't the processor per se, it's the limitations combined with the standardisation and 30+ years collective experience on the platform.
A modern microcontroller is still very limited, but it's standardised.
I'd like to see something like a pi Pico on a board with a crappy keyboard, vga out, and that's it.
That to me would be the spiritual successor to the spectrum/c64
@@benholroyd5221 Just look for the picomiteVGA, it's exactly the thing that you're describing. ESP32-SBC-FabGL by Olimex is also very close to your description, just featuring esp32 instead of Pico.
@@benholroyd5221, I'm not at all saying to get rid of the ESP32, and your suggestion makes a lot of sense. I just find this imbalance funny.
@@VioletGiraffe it is weird yes. But the thing is they want cheap, and an old processor. The processor probably costs more than MCU. From a performance/common sense/ cost pov, you'd just ditch the z80 entirely.
Tbf, back in the day, it wasn't unheard of to have random things more powerful than the actual computer you attached it to.
The c64 disc drive had its own 6502. The laser printer for the Mac se had a more powerful processor than the pc itself had. The cpm card for the apple 2 was basically an entire computer with a z80 in it.
Great video! At last, the sort of coverage the Agon deserves. I’m just surprised that you didn’t mention one of the most important aspects of the system, namely the GPIO, which is addressable from BBC BASIC. Great for hobbyist electronics tinkerers or people who want to use the machine as a super-easy to program microcontroller. What other system lets you address pins directly in interpreted BASIC? And again, this is very educational. I see the Agon Light as a spiritual successor to the BBC Micro (more so than the Raspberry Pi, actually). It’s an instant-on computer that you can just turn on and program; it uses BBC BASIC, which is the best and fastest 8-bit BASIC around (ignoring its 32-bit version!); and it can interface easily with all kinds of home-grown hardware projects, just like the BBC Micro was uniquely good at. Much as I’m excited by Console8, I’d love to see the Agon being taken up in schools and universities etc. and used as an educational tool there for both computing and hardware projects. I think it’s perfectly suited for that, in a way that hasn’t been seen since the 1980s.
RiscOS on the Raspberry Pi let's you address individual gpio pins in it's integrated, interpreted BBC Basic. It also runs extremely fast. 😉 The BBC Micro was complex and expensive when released, so was only accessible to many people via school or college etc. That severely limited it's user base. The RPi is the opposite, it also has the most amazing official and 3rd party support, and a huge community. It's something I don't see any other system getting close to. The Agon II Light looks to be a great system, I'm looking forward to getting one. I hope it and it's community continue to grow, but it's audience is different to the Pi's.
As nice as BBC BASIC may be, I have to respectfully disagree that this should be used in schools/universities. For young people of today, it makes much more sense to learn something like Python (or MicroPython), which could in some ways be regarded of the BASIC of today. By learning Python, you learn something that can immediately be applied throughout your study/career, unlike BASIC, which is basically useless for any professional work. You can get an ESP32-based board with VGA output that can run MicroPython for something like 15 euro. Another option is starting with something like an Arduino, which is also very easy to get started with programming.
@@another3997 what ARE the Statements for reading GPI o on On RiscOS?
@@niekvans If that was just any BASIC I would agree, but at least BBC BASIC is structured. A structured language is great for teaching your mind how to design a program. In that sense Pascal (a useful variant like e.g. Turbo Pascal - which is probably what I will use on the Agonlight2 when I get mine - I'll move to CP/M) is a great way to get into the right mindset before proceeding to something else. It doesn't really matter which language you start on, as long as it's not something like non-structured BASIC. Moving to something else is easy-peasy.
Thank you Noel for featuring my game Draegerman! Yes, it was my first learning basic game and it was a really fun way of learning on the Agon Light.
You're welcome! That was actually really impressive for a learning game! ❤️ (That's coming from a game developer with 30+ years of experience 😃).
Bernardo is a really talented individual who's created something special. I've watched all his videos on the development of the Agon light (although I didn't understand a lot of what he was talking about). I really love his restoration videos of old 8 bit systems, the Wang being a favourite of mine. He really goes the extra mile and his attention to detail is beyond belief. A really cool guy and a fantastic YT channel
Yes! And that reminds me I didn't add a link to his channel in the description. Done. Thanks!
Bernardo knows his stuff. The stuff he does is well above my pay grade, but I enjoy seeing and hearing about it.
@@OzRetrocompI feel the same way. You don't necessarily have to 100 percent completely understand something to be able to enjoy it. I get the basic idea, and that is enough for me for now.
James Sharman on RUclips made an 8bit pipelined CPU. I forget the clock speed but because it's pipelined the performance was impressive. I'm curious how his processor would do with your benchmark
His build is amazing. I've watched just about his entire series towards it. It's like he picked up where Ben Eater left off.
You nailed it. It's a great 8-bit computer but it's closer to an RPi than a C64 or Apple 2. Then again, it wasn't designed to be a "retro computer". Saying it's an 8-bit computer is accurate. In the same way that Taco Bell is Mexican food. Nothing wrong with that. But when I want real Mexican, I don't go to Taco Bell. ;-)
I still wanna get a Color Maximite 2. It sucks that that thing isn't available anywhere.
Excellent review. I like your thoughts regarding the custom OS layer. The interview with the creator was very enlightening. Thank you.
I don't think, that it is even the fastest.
I think, you could run a Z80 even in former days at least with 20MHz or so. I even heard, that some people ran selected versions of the 6502 on 16MHz and the 6502 was much faster as the Z80 at the same clock speed (I would estimate at least factor 2). There where also regular 16bit versions of the 6502 around, that ran at such high clock speeds, but since they where 16bit, they do not count, even when they fully covered the 6502 functionality.
It might be the fastest consumer-buy-able 8bit computer, though.
It really surprises me that after almost 50 years z80 based processor cores are still being manufactured. The intel 8080 architecture really had some legs on it.
8080 was first gen and meh, The Z80 is on another level. ditto the HD64180 (Z80 on steroids) and Zilogs Z180, theres also the Zilog CPU with Tiny BASIC built in.
but the Z80 is not from intel, compatible but greatly enhanced.
Yes it did, 40 of them to be exact.
Amazingly these are very cheap to get, the new pin-to-pin compatible versions (CMOS Z84C00xx) can be bought for less than five bucks. Other new old processors like the 65C02 are more expensive.
Z80 cores continue on production, but this SBC CPU isn't Z80, nor it is 8-bits.
eZ80 CPU isn't an 8 bits CPU, although Zilog advertised it like being 8-bits, in fact it is a 24 bits CPU.
eZ80 has 24 bit registers, 24 bit address, 16 or 24 bits ALU, so clearly it isn't an 8 bits CPU.
Of course it can be set in Z80 compatibility mode, the same way a 32 bit x86 CPU from Intel can be in 16 bit more.
Given this is open source, I feel like a single PCB with modern mechanical keyboard switches and this board's hardware all in one would be pretty easy to do.
For sure. I wish someone would do something like that and I'll design a case for it 😃 Seriously, being open source, it's begging for it.
It just doesn't make sense to build your own keyboard. Decent keyswitches by Cherry are a few quid each. Even cheap nasty clicky buttons would cost a ton more than just buying a cheap keyboard. PC keyboards have been a huge commodity item for decades. The cost is as low as they can make them. It doesn't make sense to make your own unless you have a really good reason, and the main idea for this thing seems to be "Z80 + cheap".
You can always do it yourself if you're willing to spend the money, or do some 3D printing. But even cheap PC keyboards are pretty good, you'll have to spend a ton of money to equal one, never mind beat it.
@@greenaum I think it would be kind of neat to biuld something akin to the Pi400. Though using an existing keyboard structure.
@@wishusknight3009 Just thinking... for your money you might even be as well using a touch screen. Or even just the resistive element without a screen. Or perhaps capacitive sensors, on a PCB, beneath some sheet of thin plastic or something.
It'd be better than those horrible click switches, and be implemented in software so more configurable. Just get an XY coordinate and decide what key that is.
There's the old-fashioned resistive carbon sheet or even indium tin oxide. But I bet there's something better you could do. Maybe the technology used in things like phone screens could be simplified down to something practical. Or else, maybe, just put some electrodes on a PCB, put wide wires on each side of a rectangle, and spray some carbon in between, or even roll it on as paint. Consistent thickness would be important.
Or else just buy a cheap keyboard. But making a traditional keyboard-style keyboard would cost you way more than it does for companies who churn out millions of them. You could maybe adapt them with 3D printed keys.
Actually somebody has produced new keyboard membranes for old 1980s computers. Maybe use one or two of those, steal the rubber domes from a cheap keyboard, and print your own body and keys. Or if they can have membrane manufactured, so can you. Maybe a flex PCB? Two sheets of that and some flexible plastic separating them with holes cut in it. You could make any keyboard you liked from scratch with that, I suppose. Long as you nicked the rubber domes from somewhere.
Without a membrane, there's the PCB buttons that joypads use, with domes with a carbon button in the middle. Somebody must make those domes though you'd have to buy a lot I suppose, still you might sell the rest on.
Maybe you could even 3D print the domes with some floppy springy plastic and get the carbon buttons from, I dunno, graphite? Or dip rubber in conductive paint?
@@greenaum I have gotten a new PCB for one of my Model M's. it is not a small undertaking putting it all together, there is also a small list of replacement parts one needs to get to make a keyboard, not everything can be transferred from an old unit. Though modifying the gerbers to incorporate the circuitry for this computer does seem to be very possible. Beyond my abilities but not out of the question. Getting a donor board could make it cheaper.
I was thinking though to just build this little unit as it sits, into an existing keyboard of some sort. Though finding something with the space is the real challenge. It would need to be an ergonomic or something that has some internal height and rear real estate for plugs.
I keep a couple of USB-to-ps/2 adaptors in my "toolbox" (and ps/2-to-din) just in case I run into an older system.
In the last 10-15 years, I can count how many times I've needed any of those adapters on one hand while still having fingers left over-- but I do KNOW that if I threw them away, I would have a need the next day :)
You have a real point about the "blank canvas" of the software defined video/audio subsystem. This is an issue in aesthetics. In the arts and letters, artists often chose limited formats and mediums. That the Agon Light isn't meant to be a retro computer, but is a educational system is very interesting. So, that's a different aesthetic from that of hardware bound retro-computers.
Just as some writers like sticking to the format of a sonnet or haiku for the challenge of squeezing in so much meaning and feeling to a small strict form, retro-computer enthusiasts and programmers are choosing a strict, limited form - the games and demos are truly little works of art! The developer community might not know it, but you are a community of artists. This is a beautiful example of how engineering and science are really siblings of the arts and letters.
This looks like so much fun, I might buy one of these. I program in C on Linux, but I like learning very simple things like how to draw a line using only integers, drawing pretty pictures in low resolution and few colors. It might be even more fun to do this on the Agon Light. As a kid I programmed an Atari 800XL and had jobs programing Z8 (not Z80, but Z8) microcontrollers. I miss assembly. Thanks for featuring this.
"8 bit computers usually have many more chips"
When was the last time you looked inside of a ZX81? Half the price and a fraction the number of chips of the ZX80... and this was back in 1980. Or even a Commodore Vic20 or 64 which ran on the 6502 platform? A fraction of that number - not that I can ID which computer that was from.
And they were all accessible with basic soldering tools.
SMD parts are a bloody nightmare, I know this because my current audio design has to use 402 parts so I can get them all into a 20mm circular board which already needs breather and fixing holes. BUT SMD, due to the shorter leads is much more reliable at high speed due to the lack of stray inductance/capacitances that are inevitable with traditional through-hole parts.
BBC Basic supports inline assembly language.
Olimex make a version of this and they're also making the Neo6502 which uses an RP2040 for the graphics.
Here is a video tip. When you are holding the item you are talking about, wave it around wildly so we can not see it. I almost got a look at it, so you are not waving it enough! Anyway, you can buy 65C02 chips rated 14MHz that will run at 20MHz.
Lol
Thanks! Now I understand the capabilities of this SBC. Also, I didn't know about the Agon Console 8.
That's an eye-opener. Thanks for the complete overview.
That's great. z80, most of those newer computers I've been seeing are some sort of 6502. Not gonna lie, I'm kinda tired of those. I wanted to see z80 or even something more like 8088 or even 68k (but I guess those last ones aren't available anymore).
There are plenty of 68000 family CPUs kicking around in the wild, although the official support chips might be hard to find.
@@jnharton So, I see this z80 is kinda of a microcontroller and I know that coldfire is based on 68k. But not sure about pricing.
I’ve long thought that a great niche would be a computer with an 8-bit data bus (and truly 8-bit code) but 24-bit linear addressing (maybe upgradable to 32-bit). I’m initially from the Apple II world, and one of the obvious learnings from using a 6502 is that the stack pointer really needs ability to access the entire memory. A few years later, the 65C816 came out, and it was a disappointment, since has 24-bit addresses, but only a 16-bit stack pointer. So the eZ80 seems like it might fit this niche. Is it in fact the first processor to do this, after all these years?
Do a web search for "V20 MBC" and/or "68k MBC". You might like what you find.
Nice content and a great video. Keep up the good job! Greetings from Steven from the Netherlands
This is a really interesting concept, I'd love to see what a demo scene could do with this hardware. Also like you, normally I'm not too excited about 8-bit computers where you have to plug in a keyboard, but with this hardware and firmware flexibility it could be repatriated into any existing microcomputer with a dead board. Or into one of the many aftermarket keyboard+case combos for Apple ][, Spectrum/N-GO, etc.
Actually, this is screaming to be used to create new CPCs, new MSXs, etc.., just working a little on the sound..
Hi, great interesting video, particularly your reference to the Amstrad CPC range of machines, I was a CPC games programmer in the 80's working on titles such as Rambo, International Karate, Daley Thompson's Supertest, Spy Hunter, Zaxxon and more. If you're interested I could elaborate on some of the techniques we used on the CPC to squeeze the most speed from the Z80 and how we used interrupts to enable multiple graphic resolutions to be displayed within single frames... thanks.
I cut my teeth on the Amstrad CPC, playing and cracking a lot of those games (sorry! 😃) and I would absolutely love to poke your brain about it sometime. Can you drop me an email in my contact on the RUclips page or a message on Discord/Twitter? Thanks!
Whatever happened to Zaxxon on the Amstrad? Was it ever completed? Spy Hunter got out eventually but not as intended but Zaxxon, Buck Rogers and Congo Bongo all seemed to never get out of development hell? There were some really good Amstrad games that never did make the release date, some nearly finished or were canned due to politics and schedules (like 2 of mine, Seaskate and Land of Nod). Some of the schedules were brutal though, conversation from arcade to sometimes up to 9 formats in a 3 month window so quality sometimes went out the window and quick and nasty ports from Speccy to Amstrad and ST to Amiga were very common just to get things out the door. Also meant some titles specifically targeting certain machines were dropped part way through just because of time. I also had an isometric game in the works with Mastertronic with the CPC as launch title die this way (and forgotten what it was called, will have to get the design notes out the attic again).
I have to disagree with people saying the Argon is not a true "retro" computer. If you study the architecture of the original Apple 1 computer, it was designed almost in the exact same way, with a "terminal graphic" circuit independent of the CPU circuitry.
Also saying using the ESP is "cheating" IMO is incorrect if your are comparing it to other supposed modern "retro" computers. Other computers like the commander x16 use FPGAs, SD cards, etc.. all of which are NOT retro, but modern components not found in original 8 bit computers.
Using an ESP is ingenious, opening the computer up to all sorts of tinkering and hacking, allowing people to learn so much more. Obviously this is inline with true spirit and real reason of the "retro" movement.
Hi Noel, and thanks for this video. I had already heard about the AgonLight, but after watching your video I ran to Mouser and got one - this weekend I will be tinkering with it.
I've been thinking about designing/building my own retro (or not, just simple) computer for a few years without getting to a firm conclusion. But the architecture of the AgonLight is quite close to what I ended designing in my head - an ESP32 for video and I/O, and another CPU for the main work load. I already know the ESP32 from working on the ESPectrum emulator, and its tricks for generating video in software. As I am realizing that I don't have the time for all the things I wanna do, I've decided to take a shortcut and try the Agon. Maybe I could write a game for it - I just wrote a game for the Next, so who knows? Thanks again for your video, it has clarified a lot of things about the Agon.
Questions:
1) Would it have been possible for them to install a DisplayPort in addition to the VGA?
2) What's the best gaming performance you could get out of it? Could it top the Super Nintendo? Support 2D and 3D vector graphics?
I think squeezing the full potential performance out of 8-bit CPUs is an intriguing concept. The advantage that you get with 8-bit CPUs is that they are smaller, cheaper and use little power. They are ideal for systems that do not require significant computing resources.
Found about Agon almost a year ago and concept itself is brilliant. But only 6-bit colours by default still puzzles me. Even with fixed-palette 8-bit (256c) it would be SO much easier to port old games from 8-bit era? And Agon badly needs support for USB-keyboards and hdmi-output. I still use PS/2-kb but I'm old and luckily still have those around. Where is Basic-compiler for Agon - that would make a huge difference (2-5*speedup) when porting 80's homemade programs?
You can buy USB - PS/2 Adapters for keyboards
If someone was to implement the gameboy PPU in the VDP... and write some kind of transpiler to translate the LR35902 specific opcodes to the eZ80, or a really thin interpreter layer maybe... this thing would be a reasonably phyically accurate gameboy color. That's kind of neat.
Right. You could do that with almost any old/slow enough platform, right? That's the beauty of this device.
@@NoelsRetroLab you could, I mention this specifically because the LR is sort of a z80 already (and sort of not; It's not a strict subset or superset of the 8080 or the z80, weirdly).
You might have issues with the timing being off.
Because of the fact that the microcomputer functions from a disc in this case an SD card, there should be another SD card port and unintegrated function to make copies of SD cards. That way there would be a definite usage for the modern-day PC enthusiasts, but a way to backup the operating system very quickly with just a few commands
Locomotive BASIC is actually partly inspired by BBC BASIC, and as BASICs go, they're both relatively fast interpreters, leaps and bounds beyond Microsoft BASICs and Sinclair BASIC.
The killer feature though, if you want speed, is that BBC BASIC is effectively a macro assembler!
I could not stand Sinclair BASIC because of the stupid "can't just type the keyword, must find the key combo" thing.
@@Booruvcheek Later Spectrums didn't use that system, so you wouldn't have a problem. The keyword system itself was OK once you got used to the layout, even if the physical keyboards left a lot to be desired. They were built down to a price that made them affordable, that involved making compromises. Otherwise a lot of people wouldn't have got a computer, or even ended up with one of the many dismal failures that came and went almost overnight.
@@another3997 I understand the desire to cut the cost, I even understand that having keywords as special symbols / characters simplifies the job of Basic interpreter significantly.
However, by the time I got my Spectrum clone in 1990 (being a kid in the USSR during its last days you don't get an original ZX Spectrum, unless you're a son of a party elite), I've had some experience with IBM PC clones, and the difference was night and day.
I was pretty proficient with QWERTY keyboard already, and having to look up keywords instead of just typing them in was infuriating.
On a tangent, every Soviet "home computer" at the time had JCUKEN keyboard ( en.wikipedia.org/wiki/JCUKEN?useskin=vector#Latin_JCUKEN ), which was also a dealbreaker for me.
I would love to see a Fast/impulse/scream Tracker program run on this, using 4 to 8 channels and small samples (sawtooth, noise, sine, triangle, or a mix of any of them), and maybe some effects like reverb, echo, distortion, fuzz, buzz, EQ, and a few others..)
The Agon light uses an 18 MHz eZ80F92. I have a SBC that used the 50 MHz eZ80F91 that’s 2.78 times faster. There are also the Min-ez and eZ-Tiny that use the 50 MHz parts. Oh, and the eZ80F91 is also superscalar with a 3x performance boost over the F92… effectively a 150 MHz speed. There are rumors about an Agon heavy using the F91 part also.
There is MSX support in the works. MSX-DOS already runs on it using a firmware level compatibility layer.
Noel, your personal opinion is exactly what I come here for.
RT Russell's Z80 BASIC was used on the Z88, Sir Clive Sinclair's excellent portable computer (and it really is good). The BASIC is copyright 1987, which is when the Z88 was released, so I wonder if it was commissioned for the Z88?
His BBC BASIC (Z80) was also used on the Acorn Z80 second processor for the BBC Micro, which could be run in ROM (so boot to Z80 BASIC) or loaded in as a CP/M application.
I have my original Z-88 from when I was 20 y/o. And the assembly language book for it. It was pretty cool, but the keyboard made it too hard to type in software for me to be able to use it for more than curiosity. It was literally a great doorstop for my bedroom door.
A nice little computer,
Using a USB 'A' for the power in, well that's a bit weird. I'd probably swap that out.
HDMI, is unfortunately a propriety standard, you have to sign up with them $$$$ to use it.
You said you had some DIN connector keyboards, but no PS2, well (apart from the very early PC5150 & XT) they are the same thing, just a different plug, you can just use an adapter, or cut off the plug and fit a mini-din, or wire a full size DIN plug up to the Agon pcb.
I'm definitely interested in a follow-up video in the next year or two.
Strangely enough, the ESP32 inside will beat the eZ80 to the curb.
I prefer 8-bit computers with lots of standard ICs too.
He could've used 2xESP32-S3 and go for the title of "cheapest 32 bit computer".
Right. That's when things get weird. If you just want max performance you could even remove the Z80 and implement everything in the ESP32 😃 But it's not all that different from those accelerator boards on Amigas or other computers that end up being more powerful than the computer itself.
Of course when you are looking at things like that you just get a Raspberry Pi4 or Pi5 and have a "cheapest and much faster computer"...
The most interesting 8 bit micros were the ones with custom ICs for graphics, sound and I/O. Most of the '80s and '90s computers had them, and of course, Nvidia, AMD and Intel will sell you custom graphics chips that use a standard connector and fairly standard APIs.
@@Rob2It gets even worse if you consider buying a cheap, used PC or even a new one. The price to performance ratio can be pretty amazing. Fortunately, we have the luxury of choosing from a variety of devices, whichever takes your fancy.
I mean the Pi5 could run an emulator for some 8-bit system at a much higher speed than this board... and with much better specs for video and storage. @@another3997
I agree that using the ESP32 is like cheating a bit (no pun intended);
Just the thought of having to stand infront of computer longer than a minute or two makes my bad knees ache.
A valuable learning tool for those with insatiable curiosity and a great deal of time and patience. I achieved much of the same learning of BBC Basic using an RPi running RISC5 OS. Great review!
The ESP32 also ensures that some of what you learn can be transferred to other projects. That was a great design choice.
It's funny that I must have been watching Bernando somewhere in a totally different space, maybe in theories of everything or other podcast doing philosophical discussions about science and consciousness, then in my more familiar space I watch this video, I am like "nice device, but have I seen this guy before?". Haha, it's the same Bernando doing retro hacks!!! Wow, impressed.
😄👍
@@thebyteatticOh wow, hi there! Interesting device btw, I am planning to buy one at some point (probably the console release), curious to get me coding into some ez80 based platform sooner or later as I have previous experience with z80 and I am curious.
This reminds me a little bit of the Apple-1. It was a computer with a computation area, and a separate terminal to handle display. This sounds similar.
The Apple 1 had a hardware terminal built with discrete components, quite a neat design you can grok. This has a separate computer over an order of magnitude faster and larger. It would have been easier to run BBC BASIC for SDL or Brandy directly in it.
It's so funny... Serial speed to the support processor - "1152000 to be precise" - only off by a factor of 10 😆
This isn't the fastest 8-bit computer I've seen. The chips from Rabbit Semiconductor (rabbit 2000/3000) are near z180 compatible and run over 30mhz. The rabbit 6000 series are 200mhz, but I haven't actually used one so I don't know if those are still 8-bit. There's no basic environment for them yet though. You usually program them with their own C variant.
I actually had heard of the eZ80 before because I had played around with writing assembly code for the TI-84+CE which has an eZ80 CPU.
I think I'll get one to learn on, then buy a second and make it more modern usb friendly, especially keyboard wise
Very interesting little thing! I bought a Colour Maximite 2 for 110$, which is 32 bit and comes with a fantastic MM-Basic and a solid metal case. It also has higher resolution graphics with plenty more colours. Would be great to see a comparison. Cheers, great fun! 👍
I was extremely disappointed with the x16. With how expensive it is, and that it didn't really have a design philosophy consistent with what they were wanting it to do. SNES controllers? really? It couldn't even use standard joypad protocols? It turned out to not be as open of a community project as i had hoped, and Dave started to show his snobbishness to those who were showing legitimate criticism for its feature creep and scope. I understand using the FPGA graphics solved a lot of problems, but that kind of made the whole thing just sit in the middle of nowhere. Little of what one may attempt to learn on it will be usable in any other ecosystem and the graphics core is somewhat locked down anyhow. But the ESP32 of this machine is something used for a lot of other projects and knowledge learned on the Agon will transfer to a lot of other things. And it also has aspects very familiar to a lot of tinkerers.
interesting computer. it is getting hard to choose which project to jump on :)
Ikr‽
USB-A for power? That's... bizarre. And completely non-standard.
Right? Although I think it was changed to a USB-B in the latest board revision.
It’s typical of the guys mindset. You only have to look at his YT channel. He is well known to manage his “community” and delete comments that criticise his choices etc. I steer clear if anything he has done.
@@lawrencemanning You aiming for 'bitter' there?
@@lawrencemanningsomeone's oddly mad
Didn't BBC BASIC have inline assembler support? I wonder if the Z80 port has that too.
I'm looking into it right now, and I think it did. So yes, technically you could use that for writing Z80 code. Neat!
@@NoelsRetroLab It has inline assembler for now only for 16-bit address space, but ADL (24-bit address space) version of both Basic and inline assembler is in works.
If you're familiar with the old two pass inline assembler of BBC BASIC on 6502, then you'll be comfortable with the Russell version.
@@NoelsRetroLab there is even a port of this BBC basic for the Amstrad CPC, with the inline assembler!
That was the first thing I thought of when he mentioned it was BBC Basic. I had a BBC Micro back in the 1980s and writing 6502 assembler code was a cinch, and extremely useful for hacking the hardware and operating system, as well as accelerating performance critical parts of your BASIC program. It's also a great way to learn assembler code, because you don't have to worry about getting used to building and running machine code with a completely different set of tools.
The architecture of this board seems rather strange, it looks much like an ESP32 with a Z80 co-pro. Having components loosely coupled using serial buses (I'm presuming SPI?) is going to make programming the Agon quite odd for anyone used to retro 8-bit machines. I guess the saving grace is the price, which is low enough I can see it being useful for 'raspberry pi' type projects, but ones where ease of programming matters more than raw performance.
Speaking of performance, the eZ80 doesn't seem all that quick. I tried the little BBC basic benchmark on a 16MHz 65C02 with Acorn's BBC basic 4.3 and it completed around 40% quicker than the Agon (1.07s).
No, UART for the link, SPI is used for flashing.
I've not felt much of a disjoint. It's not more visible than using a Coprocessor on an old BBC B
I could be wrong, but I don't think Richard's Z80 port of BBC Basic is as optimised as the original Acorn 6502 version. I'm sure Richard himself said as much. But compared to the 2Mhz BBC Micro, the Agon 2 is a rocket ship. 🙂
Hey! Locomotive Basic was good too 😅 Certainly compared to what you got on the Commodore! I actually learned to program on my Schneider/Amstrad 6128 with green screen in 1991 😊
Just about ANY Basic on any other machine was better than the version on the C64. Even the Sinclair ZX81 version had graphics commands built in. 😂
I can't really argue with that 😅. I was always very impressed by Locomotive, but yeah, it didn't have functions/subroutines
IIRC, in the PC world, the AT keyboards, which had standard-size DIN connectors, had the same signals as PS/2 in them, so there were simple PS/2-AT adapters, and creating one from scratch would also be as easy as taking one connector of each sort and wiring them up correctly.
The earlier XT keyboards also used DIN connectors, but a different signalling protocol, so if one wanted to make a converter, something like Arduino Nano would come in handy.
The Amstrad NC100 was a z80 based machine that came with BBC Basic. BBC Basic was apparently ported to Z80 a long, long time ago.
Last semester I had a class where we programmed a video display processor to an FPGA in Verilog. Most people who implemented VDPs in their final projects ended up synthesizing a microcontroller onto the FPGA (Xilinx/AMD's Microblaze) and then programming the VDP in C.
The reasoning behind doing this is that it takes 10+ minutes to synthesize a Verilog implementation while it takes 5 seconds to compile a C program. Bug fixing is much faster and easier on Microcontrollers, and Verilog simulation outputs are wavetables, it would be very hard to make a program that reads the HDMI traces and puts them in an emulated video window.
Hardware-Sharing the access to the SD-Card between the ez80 and ESP32 would be absolutely cool!
Imagine the possibilities of the co-processor (wrong term ... its a GPU) loading resources through an API without any work for the CPU.
BTW there is also SRAM with dual ports on the market that could be shared between ez80 RAM and ESP32 PSRAM in static mode. That would be a BEAST! Hehehe
I was researching modern Z80 equivalents a few years ago and stumbled on to the eZ80 series of chips; except for unpredicted branches, the added pipelining makes the CPU run another ~4x faster than a classic Z80 (if they were running at the same clock speed), and the eZ380 CPU can run up to ~200 MHz IIRC (which is insane, as it would be the equivalent of a 600 to 800 MHz classic Z80. The serial line audio / video isn't that bad if it has things like hardware sprites, samples, etc. -- Loading and setting things up might lag (or not), but at runtime, you wouldn't really notice. -- As for the "fake hardware" it's at least more real than the Commander X16 in that regard, as there are no FPGA defined devices. A microcontroller really does have a lot more real limitations than an FPGA...
I understand the desire to not use an FPGA instead of "real silicon", but people to seem to forget that custom silicon, customizable gate array chips, and various kinds of PLDs were used back then.
I agree that it's certainly not less "real" than a FPGA which is what the others use. And FPGA is WAY harder to develop for, and here he could bypass even most of that because FabGL for ESP32 already existed and does graphics, audio and PS/2 keyboard/mouse... He's mentioned possibly making an Agon Heavy later if it's stable enough to support a second version, there's a number of choices that ought to be compatible up to at least 50MHz (so more than 2.5x) and/or has way more IO lines.
The FPGA in the X16 is basically just a graphics card, which even some 8-bit systems in the 80s had specialized graphics hardware to handle sprites and such (not to mention the 16-bit days with the Amiga's graphics). It's actually potentially *less* capable than the 'graphics processor' in the Agon Light since the VDP is an ESP32 processor... just a straight up computer on its own running at 240MHz. You can even use just it and ignore the eZ80 side of it ;)
In terms of 'real', FPGA is more real because it is real hardware, except redefinable. FPGAs are often used to replace ULA chips which were a predecessor technology to FPGA. Personally, I don't get the FPGA hate. This same Zilog ez80 processor can be supplied as a core (and presumably softcore for FPGA). It's just an implementation detail and a way for regular humans to design our own hardware without committing six figures to tape out and fab a chip. If you think a microcontroller 'imposes more restrictions', you've never designed in Verilog or RTL. It's an order of magnitude more difficult. That particular microcontroller already has IP cores on-chip implemented to do a lot of the difficult video bits like RGB565, that's why it was chosen.
@@shanehebert396Most 8 bit micros had custom or dedicated hardware for displaying graphics. In that sense, modern PCs amd consoles are no different... GPUs are custom parts with standardised APIs. An FPGA can be a full computer too, the whole Commander X16 could be fitted on an FPGA for far less cost than the current version. I doubt the Agon 2 could be made cheaper. Horses for courses... buy whichever system(s) suit you best. 🙂
This Re-writable architecture thing - that's how the Sinclair computers were built. Clive Sinclair did it for cost reasons. At the time hardware was expensive, while software, once written, was free. He had a damned good processor (for the time) so he decided to let it do a lot of the work,
There was a bit of hardware help from his ULA but this could easily be paged a for RAM with your own software, or hardware).
Thus I had my ZX81 running high(er) definition graphics., albeit veeerrry slowly. And my Spectrum running, with two 5" floppy drives, as a full CP/M 2.2 system. Though I must admit that there was a lot of software 'borrowed' from a Pied Piper.
Many people were very scathing of the Spectrum due to it lack of a dedicated hardware sound etc. but to me this was its beauty. It meant that it could be made into anything you wanted. The only limitation was that one lone CPU had to do ALL the work. At that time I had never thought of slave processors.
But back to the point - that Agon IS replicating a classic 8 bit computer. It's just that I would probably have used another Speccy at the time as the ESP32 wasn't not available back then.
Neat. So if e.g. I wanted it to emulate a TRS-80 Model III or a CoCo, the video system could be reprogrammed to do that?
Probably, as someone already did MSX emulation on it!
A CoCo would be out that used a 6809e as the processor - not a Z80. A TRS-80 Model III to some extent - that used memory mapped graphcs (so you could peek and poke straight into video ram), the way the MOS/VDP works is sending commands like set this pixel, or draw a line from here to there - so anything low level probably wouldn't work. But you could probably get some high level BASIC stuff working and I guess someone could port TRDOS. The alternative is to write an emulator that works entirely on the VDP chip and which doesn't use the main RAM or EZ80 processor.
As someone else mentioned MSX - that is a little different as that had a TMS9918 chip to handle the graphics and the video graphics were not in the main RAM (you used VPOKE and VPEEK). Later MSX models had better video display chips - the TMS9938 and TMS9958. As you can probably guess that makes it much cleaner to emulate - the VDP code emulates what the TMS9918 did in terms of graphics.
HDMI and USB would also make it way more expensive, because of licence cost and certification.
Noel, I have yet to see a STM32 blue-/black-pill or ESP32 tinker-board build producing more than a single-channel mono audio output, without any extra added audio modules. So, that might be the reason why. It seems like an attempt at keeping the price as far down as possible.
- However you're absolutely right, stereo would have been nicer.
Hot take: SMD soldering is a lot easier than people realize and I think it’s totally within the realm of your average DIYer
I agree with you in general... until you get into really fine pitches. I wouldn't recommend soldering some of those ICs for someone doing their first SMD soldering.
@@NoelsRetroLab I'm agreeing with you on this one. I have done some soldering of some small SMD components. Even though it was a bit intimidating at first, I got through it and it turned out to be no big deal. But these chips on the AGON Light would probably be more than I could handle without a lot more practice!
Surface tension and solder mask are your friends my dear fellow. The rest is simple physics which you need not bother to think about since it's handled automatically.
@@johncochran8497Walking a tightrope across the Grand Canyon is just "simple physics", as is jumping out a plane at 10,000 feet. I wouldn't recommend either without some kind of practice... and probably a parachute too. 😉
@@another3997But the tightrope is a situation where physics is working against you. Soldering is where the physics is working for you. As I said, solder mask and surface tension are your friends.
It’s quite incredible that most of the output you’re getting from this board were interfaces completely rejected by 8-bit computers of the era.
Neither Commodore, nor Apple nor Atari nor Sinclair could grasp that the standards shuffle was basically over when the PS/2 arrived.
You could find an Amiga nor a Macintosh with VGA or a PS/2 port.
Ironically, on the other side of the spectrum at the UNIX Workstation side, fueled by the RS/6000 most systems used PS/2 and VGA for basic output. Of course they offered proprietary video like DVI and VESA but you could always find ways to use a regular PC monitor including cheap ASCII terminals.
But now, both interfaces are considered legacy but still highly supported by even the most modern systems.
We have to give credit to the guy who designed this, if only for keeping the 8-bit legacy alive (on a 24-bit processor that can accept 8-bit commands).
Having said this, it's not a product I would buy. Sorry. A bit too much DIY, no on/off switch, no hdmi, no possibility to connect a regular keyboard etc.
I wouldn't be surprised to see a version in the future that directly addresses a lot of those issues (pure guess on my part though).
Maybe the options are already available, but it should be possible to set up the ESP processor to display BASIC in a better font or a better resolution.
I'd be happy to send you one of my 65uino's, no string attached :) It's certainly a much cheaper 8 bit computer but also has quite a bit less address space :D It's a computer designed to encourage programming 6502 assembly with pretty aggressive constraints - like programming for the Atari VCS/2600.
Did a lot of Basic and Z80 assembly programming on a TRS80 back in the day. This sounds like fun to me. I'll be getting one.
A product being billed as an 8-bit computer will cause most people to presume it is some kind of retro hardware, so it may be true that it is cheap to essentially emulate hardware in this "blank slate" system, the main differentiating factor between retro and modern computers has been the detachment of software from hardware. Modern computers tend to treat hardware and software discretely in the sense that the underlying system is a "software environment" provided by the OS. Older hardware had a more appliance-like blending where the software that could run on it was strongly restricted by the underlying hardware. You could say purpose-built and utilitarian, vs modern "general purpose". So, if the goal is to learn about computers then the former is really the only way to go, because it is the only way to truly see how the programs you write interact with the hardware.
I think that the installation of ESP32 in the interface block was caused by the desire to reduce costs. Hardware solutions are more expensive, they also take up more space on the PCB, which also means higher costs.
For me, this is quite a successful attempt to find the "golden mean". In fact, an 8-bit operating core of a microcomputer with peripherals "on steroids". An additional advantage is the possibility of experimenting with the software in ESP32. All in all, it can be a lot of fun for both a veteran with many years of experience and a young adept looking for his place in the digital world.
There is more than one choice, depending on what you want as output.
only thing i dont like is the usb power... why the heck they didnt use usbC is beyond me.
And a type A connector to boot. Mindboggling.
Before I ordered, pcbway advertised that they would do the assembly for up to 20 boards for $30 for first time customers. Right now, the order for 10 of them is under review with a displayed price of $350 for assembly, plus $160 for the boards. Hoping they do the right thing, after going to such effort to lure me into their store and all...
Needs stereo sound and joystick port. Also, why not USB keyboard or even easier, bluetooth? Its cool, but since it doesn't recreate any classic computers, what's the point? - Why not just do something fully modern instead of "8-bit"-ish? Likewise on the Spectrum next, improving the speccy video actully is a step back since its no longer retro.
It doesn't NEED stereo sound, you just want it. You can make your own joystick ports connected to gpio. USB and/or Bluetooth are extra costs. This is designed to be CHEAP. Again, you can make all sorts of things to dangle off GPIO to serve that purpose. Why should something new be a copy of somethings old? Why not buy a 40 year old retro computer? Why not buy a Pi or a PC and just emulate old computers? Why do anything that isn't completely necessary just to live, but is done for fun? You do know what "fun" is? 🙄
A video about hardware I'm not at all interested in and I watched it from the very beginning to the end? That's some kind of magic only YOU can achieve! ;-)
Amazing computer. That's so cool that modern technologies allow to create new powerful 8-bit devices like this one. Here In Russia, in my childhood, we could afford only a homebuilt ZX Spectrum clone. Such a computer could be a dream those days.
12:21 Yeah - I was wondering, myself, why this is considered an "8-bit CPU" when its natural register size and address space is 24 bits. I imagine the next obvious improvement would be to widen the memory controller/bus to 24 bits as well (or even a cache line that is a multiple of 24 bits).
the eZ80 is pretty versatile. It's used in newer Texas Instruments Calculators as well.
If anyone just wants to run BBC BASIC, the old "Risc OS" operating system is still available for Raspberry Pi. It is one of the choices in the rpi-imager program. Install it and you will have the same programming environment that British students had in the early 1990's. (It looks kind of awful, actually.)
BBC BASIC can do inline assembly code which is nice.
Yes! I only realized that today when someone else mentioned it. And the port of BBC Basic lets you do it in Z80 assembly, so yay!
in 1985 I got myself a secondhand pc planted in my hands by my nice landlord. Australian Made, 286 DX40 with I would . This computer was faster than the imported computers at the time.
Does it expose the full Z80 bus?
In a setup like this I would imagine that very little of the Z80s I/O space is used. And to have access to ALL that would be awesome. Direct, simple access to 8Mb of address space dedicated to hardware, and directly addressable at the lowest level. An dream beyond imagination for a roboticist.
Early 8 bit domestic computers were easy to understand and people could get started fast.
The small memory available meant that you had to really think hard about how to do stuff.
To rotate a simple shape i ended up doing it in 252 bytes on a 6502 - that's what was available.
Vast processor speeds and limitless storage really hasn't helped programmers a great deal.
You need to make a productive 8-bit video card and squeeze all the juices out of it :) Connect it, for example, to Spectrum or another 8-bit computer and write software support for the video card.The video card should naturally have its own video memory.
This reminds me of the original Apple one architecture… It had a 6502 processor and a dedicated display section that was basically a serial terminal… Also I think the display side of this processor Ford is something like 10 to 100 times faster than the Ziadie side… Which is alarming… It almost makes the display processor more interesting and more capable than to see 80 processor… Finally I'm not discouraged by the lack of let's Collett vintage architecture…At the end of the day it's all about your hopes and dreams and desires for your project… It looks like a very fun processor… Great work love your video I am driving and… Continued success!
As well as the Z80 second processor and Z88, BBC Basic was available for the Z80 based Tatung Einstein.
great episode - loved the BASIC BENCHMARK 👾 ran it on my TRS-80 model I (emu) and got a result of 87 seconds (which was in line with your result of 81 seconds) running at 1.77Mhz - then i ran it on my real (restored) TRS-80 model 4p running at 4Mhz - which did the same test in a very snappy 30.2 seconds - handily beating the Apple II+ which came in at 36 seconds (running at 2.8Mhz), and the Atari XL which came in at 50 seconds.
then i looked at the numbers for the BBC Micro - and you were getting 19 seconds!? - how did the BBC Micro manage to get so darn fast!?!? 🤔 this discrepency becomes comprehensible when one considers the BASIC running on the TRS-80 model 4p was from 1984 - while the BASIC on the BBC Micro was from 1987 running at a blazing 2Mhz - which is three years later - at which point Apple II+ was history, and the Mac Plus was running at 8Mhz and would already have blown away the BBC Micro.
ive saved your basic benchmark for future testing on other vintage computers - thx for the handy spreadsheet!
A lot of the commands in BBC basic could be abbreviated when typing in a listing e.g. P. = PRINT , LO. = LOAD they are expanded when you LIST (LI.)
I didn't know that - was that option always there or added in later versions. I don't have my original Model B any more.
@@marcdraco2189It was there from the beginning. OS commands, issued from BASIC or any other language by preceding them with an asterisk, could also be abbreviated. The dictionary was ordered in such a way that the ultimate abbreviation *. (star dot) expanded to *CAT which was similar to DIR in DOS or ls in UNIX.
@@johnm2012 Well damn! In all the years I spent writing code in BeeBeeCee BASIC too.
I could have forgotten of course, it's been a few decades but more likely I missed that bit in the manual! :)
@@marcdraco2189The included manual was the spiral bound Welcome Guide. It's available as a pdf online if you want to check for yourself.
@@johnm2012 I had one. I learned how to program using it. But for “reasons” I don’t remember that. Of course false memories are telling me I DID do that but I don’t know if I should believe them any more. The only one I recall shortening was REN. Because that would be a lot to type.
I have been tempted to revive my Heathkit H8 Z80 CP/M system. However, floppies are not available and old system disks go for hundreds of dollars.
I decided doing my own Z80 board with banked RAM and probably use a separate CPU to do I/O and emulate a disk.
Well, now someone else has done it. I probably will order one and re-live my late-70s days. Well, without the single-sided, single-density, hard-sectored 96k disks and massive H19 terminal ;)
While I don't have the appropriate skill set I would love to see the ability to connect retro hardware/software to the Agon, such as the weather satellite system for the BBC computer.
Just for giggles, I punched in the benchmark in QB64, adjusting it for the double precision required for the QB64 timer function, it runs below the resolution of the timer function...
Dim t As Double
Dim tt As Double
t = Timer
For i% = 1 To 10
s% = 0
For j% = 1 To 1000
s% = s% + j%
Next j%
Print "."
Next i%
Print s%
tt = Timer
Print tt, t, (tt - t)
End