Porting CP/M to the Agon Light, on an Agon Light

  Рет қаралды 13,775

Poking Technology

Poking Technology

Күн бұрын

In whch yr hmbl svt writes a CP/M BIOS for the Agon Light in the most stupidly pointless way --- demonstrating the power (and inconvenience) of the built-in BBC Basic assembler.
So, I did say I would polish this up and publish it somewhere, but it actually seems that someone else did a better port on the very same day I did this so go and look at that one instead. github.com/nihirash/Agon-CPM2.2
If you still want the BBC Basic-hosted version look here: gist.github.com/davidgiven/66... I haven't even renumbered it!
0:00:00 Start
0:12:32 The BBC Basic assembler
0:22:33 Getting started with MOS
0:30:58 BIOS basics
0:45:01 Simple system calls
1:01:02 More simple system calls
1:10:45 Complex system calls
1:20:43 The pain begins
1:35:12 My slow spiral into madness continues
1:50:37 Technically it works now... technically
2:14:24 I suppose you could call it done?

Пікірлер: 46
@ingmarm8858
@ingmarm8858 Жыл бұрын
As an "old" CP/M / Z80 guy this is very soothing entertainment. Well done!
Жыл бұрын
Awesome! So many Agon Light videos recently everywhere, but all of them are the same basically: this is the stuff, let's switch it on: "10 print ... 20 goto 10" works, OK, nice. But this one is really special, doing something kind of unique.
@edgeeffect
@edgeeffect 7 ай бұрын
I remember falling in love with BBC BASIC because of the built-in assembler and how useful it is to be able to embed assembler into an "assembly-time" high level language (I still wish I had something like this for the microcontroller assembly I do these days)... but being a Z80 fan-boy, I always had a pang of regret that the Acorn crowd were so "into" the 6502... This looks like all my dreams of those days come true. And, by using just that and nothing else to port CP/M, just goes to show how good it is. Back in the day, I always wanted to write a BIOS and port CP/M but never did... all our Z80 machines already had CP/M on them. So it's great to be able to sit back and watch "some crazy person" do just that repeatedly on KZfaq. ... I don't know how long it's been (a very long time) but I still remember RET being C9. When we first started doing Z80 machine code, our assembler was a pad of paper, a photocopy of the Z80 instruction set and a pencil.
@fullspecwarrior
@fullspecwarrior Ай бұрын
Currectly said asterisk not asterix, instant subscribe ;-)
@julianrose3058
@julianrose3058 4 ай бұрын
Thank you, David; this gave me a relativistic experience, recalling Z80 & CP/M while learning BBC BASIC (and eZ80) at the same time. You've motivated me to get into CP/M again (since, er, about 1981 on an Exidy Sorcerer), this time on my new Agon.
@bretthunter2828
@bretthunter2828 Жыл бұрын
That is an awesome way of adding CP/M! Looking at the MOS API it seems like it would also be easy to add in a punch in/out using the UART commands of v1.03 (defaulting to 9600 baud etc). Then Kermit would work or a serial printer. Not sure a parallel printer would work without MOS adding access to the GPIO, but there is always MOS 1.04. Thanks again
@xyz2112zyx
@xyz2112zyx Жыл бұрын
Nice, interesting and fascinating project with Agon microcomputer!!! Thanks for sharing your insights and work about this...
@glufke
@glufke Жыл бұрын
This is really cool.... Amazing this basic feature to run assembly !
@janschrder
@janschrder 9 ай бұрын
My AgonLite2 just arrived in my mailbox yesterday. Based on Your in depth video here, I'll certainly consider adding cpm :-) Splendid video, thanks 🙂
@judgegroovyman
@judgegroovyman 9 ай бұрын
I am only a few minutes in but I love this already and this is one of my favorite channels on youtube because I love how you choose your projects. You do whatever you want. Its perfect. Thank you
@TechCowboy
@TechCowboy Жыл бұрын
This is an excellent example of z80/ez80 working with each other.
@herksen
@herksen 4 ай бұрын
Hi David. Great video! Also the helicopter-view camera setup is awesome. I am a 67 years old electronics engineer, and in the 70-ties I started playing with SBC’s (Motorola, KIM etc), and suddenly there it was: Gary Killdall’s CP/M (originally named Control Program/Monitor, but later it was changed to Control Program for Microcomputers). My first CP/M system was a (Dual Z80) Intertec Superbrain ][. dBase2, Wordstar, Forth. Bill Gates was still a snotty boy!! Anyway, I new about the eZ80 cpu’s, and 20 Mhz clockspeed is great, but I’m waiting an ‘Agon Light’ version with a 50 Mhz eZ80 cpu. I hear rumors that the designer is currently designing the next gen Agon board will be called the ‘Agon Heavy’. Anyway, I just wanted to show my appreciation for your great efforts to make this kind of video! Cheers from Robbert, the Dutch guy living (it up) in Istanbul, Turkey
@hjalfi
@hjalfi 4 ай бұрын
Thanks! It's got some flaws, but I do think that CP/M is one of the greatest operating systems of all time: it's got one of the highest size:functionality ratios ever...
@yCherkashin
@yCherkashin 11 ай бұрын
Good job on the CP/M port, mate! The first computer I've had access to was a ZX Speccy clone. It was loading games from tape. The first computer I would program was a 166 MHz Pentium MMX running MS-DOS and QBasic. It had an 80 MB spinning hard-drive. So this is very soothing, though not nostalgic for me. It's been about 30 years but I too still remember all the interrupt numbers and string manipulation routines. Oh wait, that's from later on in school, when I understood assembly. 25 years then. I don't think I've ever gotten used to modern computers' lagging beyond 50ms for input. It used to be so snappy back in the day. No sudden hangs and hiccups, no lost input. I want that back. Modern coding is no fun.
@JG-nm9zk
@JG-nm9zk 11 ай бұрын
Everything that the commander x16 should have been.
@chromosundrift
@chromosundrift Жыл бұрын
Wow again. This is dope. Your meticulous persistence is inspiring. How did you originally come to CP/M? Is this nostalgia or archaeology? My anachronistic fascinations lie elsewhere but I share your apparent adoration for developing on the target and bootstrapping out of primordial mud. I can't wait for your next stunt!
@zerodollarstudio6934
@zerodollarstudio6934 Жыл бұрын
2:19 "I've basically finished the port apart from the bug fixing." I'm going to use this bit of dry Brit wit.
@jimtekkit
@jimtekkit 9 ай бұрын
The Agon Light is a powerful design but WOW I have experienced a lot of misery while trying to get it working right. First it was the inconvenience of getting the right keyboard + adapter and formatted SD card, fair enough, but then there was the process of actually getting the updated firmware and SD card files installed. Everything has to be a certain version and done in a certain order to work properly while relying on scattered Github documentation/files. I even had to reinstall my Arduino IDE because it was giving me grief with a VDP firmware compile error. If it hadn't been for your video I wouldn't have had the motivation to finally figure it all out!
@frnno967
@frnno967 Жыл бұрын
Incredible work!
@jengelenm
@jengelenm Жыл бұрын
Great video !!
@blaing99
@blaing99 Жыл бұрын
great walkthrough - thanks!
@ivanborsuk1110
@ivanborsuk1110 7 ай бұрын
компьютеры - агонь, подтверждаю
@plasmamac
@plasmamac Жыл бұрын
Wow impressive !
@TSteffi
@TSteffi 10 ай бұрын
Around +1:00:00 I think you have to set A to FF to indicate an error, not just return a 0 pointer. But I could be mistaken, could be a CP/M 3 thing
@evilcraftknife5705
@evilcraftknife5705 Жыл бұрын
I love this channel. Can we have chapter markers?
@hjalfi
@hjalfi Жыл бұрын
That's a good point. Adding them...
@christophejournoud2773
@christophejournoud2773 Жыл бұрын
Great !!
@ivanivan9507
@ivanivan9507 8 ай бұрын
Hi great video. Can now Agon run Turbo Pascal under CP/M? I had Amstrad CPC 464 as kid.
@hjalfi
@hjalfi 7 ай бұрын
It absolutely should, yeah. You'd need to teach it about the Agon Light's terminal but there's a tool for configuring it. It should work really well.
@Lantertronics
@Lantertronics 10 ай бұрын
I first used CP/M on an Apple 2 via the Microsoft Softcard. I also briefly used it on a Vector Graphics 4; I wrote papers in junior high using a word processor called Memorite.
@edgeeffect
@edgeeffect 7 ай бұрын
Woah! I had a saved-from-the-scrap Vector-4 in the early 90s CP/M-86 I think... it was a lot of nostalgic fun anyway.
@UnbrokenCheese
@UnbrokenCheese 10 ай бұрын
I just got my AgonLight2 about 5 days ago. First thing I did (once I acquired a recognized keyboard) was to load CP/M. I'm an inept programmer, so I hope someday someone will do CP/M 3. I have been looking at the ez80 datasheet but my skills are non-existent...
@willyarma_uk
@willyarma_uk Жыл бұрын
Ive been trying to find a way of getting MBASE in Z80 mode, I just had a go in bbcbasic and found that the LD A,MB is ED,6E not ED,6D as you put. According to the manual it's supposed to do a NOP but it actually returns &0B if i run bbcbasic as a star command and &04 if i load and run bbcbasic!
@hjalfi
@hjalfi Жыл бұрын
Damn --- must have misread the manual! But I'm surprised it's working for you. It's clearly documented as not working in Z80 mode. The two numbers you give are correct; the load address varies depending on whether a program is a star command or manually loaded. (A lot of the weirdness I was seeing was because I was loading Basic incorrectly.)
@willyarma_uk
@willyarma_uk Жыл бұрын
@@hjalfi I know, I was surprised too. I tried all sorts before I did this test. Messing with the 2 stacks, trying undocumented uses of LIS and SIL etc...
@reinoud6377
@reinoud6377 11 ай бұрын
The bbcbasic and the mos could use some ez80 enhancements!
@SimonJackson13
@SimonJackson13 9 ай бұрын
54:20 line 900 hl?
@Lemon_Inspector
@Lemon_Inspector Жыл бұрын
For something one letter away from "agony", this doesn't seem so bad. If you have a working PS/2 keyboard, you could probably hack together a PS/2 to "USB" adapter from a mini-DIN socket. It'd be nice if they had left the option to solder in your own socket. Last I checked, they weren't too horribly expensive.
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR Жыл бұрын
If you had a 1TB MicroSD card then you could store a temporary file on the card.
@hstrinzel
@hstrinzel Жыл бұрын
Since they are using the ESP32 already, I like THIS design much better: Just my own preference. kzfaq.info/get/bejne/abuVqdapsre-Zas.html CP/M 3.0 and multi-session. And much cheaper and much smaller. I find your insight into the Z80 Assembly within BBC BASIC very insightful and interesting. THANK YOU for the great video!
@hjalfi
@hjalfi Жыл бұрын
Yeah, but that's emulation, which I find much less interesting than working with real hardware. Now, a CP/M ported to Espressif native code; that has possibilities...
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR Жыл бұрын
Can you do DIM STACK% 4096: S%=STACK%
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR Жыл бұрын
If there was a way to use a REM block to hold the code then you could just call it.
@hjalfi
@hjalfi Жыл бұрын
That doesn't work so well with BBC Basic, as there are characters you can't have in a program statement. Also, lines are limited to 256 bytes. It's really a Sinclair thing.
@zxspectrum16KB
@zxspectrum16KB 8 ай бұрын
Why isn't it clokked at 50mhz? Why isn't there 16mb of fast dualported video ram as well as 16mb of ram?
Porting CP/M to a Brother SuperPowerNote Z80 laptop thing
1:17:54
Poking Technology
Рет қаралды 15 М.
First Look: Agon CONSOLE8! A New 8-Bit Console for Retro Fans
41:14
RMC - The Cave
Рет қаралды 56 М.
A little girl was shy at her first ballet lesson #shorts
00:35
Fabiosa Animated
Рет қаралды 14 МЛН
Sigma Kid Hair #funny #sigma #comedy
00:33
CRAZY GREAPA
Рет қаралды 37 МЛН
Викторина от МАМЫ 🆘 | WICSUR #shorts
00:58
Бискас
Рет қаралды 3,1 МЛН
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 62 МЛН
X16 vs. Agon: 8-Bit Battle Royale
41:21
The Retro Desk
Рет қаралды 27 М.
Is this the FASTEST and CHEAPEST 8-Bit Computer Ever?
28:43
Noel's Retro Lab
Рет қаралды 161 М.
Borland Turbo Pascal 3.0 for CP/M 80 on MinZ SBC
13:38
MightyPEZ
Рет қаралды 681
Agon Light 2 - C Programming, Better Keyboard Routines, Joystick Ports
35:36
The AGON light: New open source 8-bit System
44:34
Jan Beta
Рет қаралды 74 М.
Turning a bread machine into a soup machine
44:21
Poking Technology
Рет қаралды 1,1 М.
Computer Chronicles - Concurrent CP/M
8:53
Tech Perspectives
Рет қаралды 22 М.
Reverse engineering a 1985 IBM keyboard (and building a USB converter for it)
1:01:10
Z80 Retro #24 - CP/M Introduction
1:16:44
John's Basement
Рет қаралды 19 М.
What is the Smallest Possible .EXE?
17:57
Inkbox
Рет қаралды 325 М.
S24 Ultra and IPhone 14 Pro Max telephoto shooting comparison #shorts
0:15
Photographer Army
Рет қаралды 10 МЛН
iPhone 15 Pro Max vs IPhone Xs Max  troll face speed test
0:33
Tag him😳💕 #miniphone #iphone #samsung #smartphone #fy
0:11
Pockify™
Рет қаралды 2,2 МЛН