Porting CP/M-65 to the Olimex neo6502

  Рет қаралды 6,258

Poking Technology

Poking Technology

5 ай бұрын

In wch yr hmbl svt does a port -- well, really a rewrite -- of CP/M-65, one of the most useless modern operating systems ever, to the Olimex neo6502, a new 6502-based single board computer.
This was edited down from nine hours of raw footage (recorded over about two weeks!) and so may be a little more incoherent than usual. Normally a port to a machine like this takes, maybe, a couple of hours but this one is much more complicated than usual because there's a BDOS emulation layer allowing CP/M-65 to directly access files on Morpheus' FAT file system. This makes it significantly easier to work with and, like, useful and stuff. It should be possible to run Morpheus binaries directly from CP/M-65, allowing reasonably straightforward game development using CP/M-65 tooling.
Olimex donated the hardware. Thank you, Olimex!
CP/M-65: github.com/davidgiven/cpm65
Olimex's neo6502: www.olimex.com/Products/Retro...
The Morpheus firmware package: github.com/paulscottrobson/ne...

Пікірлер: 35
@andreasbaumann6943
@andreasbaumann6943 5 ай бұрын
Programming for CP/M-65 is actually really enjoyable, because it is so small. Thanks for the video.
@mlongval
@mlongval 5 ай бұрын
Very well done sir! Thank you for your great work! I am enjoying my Neo6502 very much (both the actual hardware board and the emulator). Watching this project progress is fascinating. You and Paul and Olimex are doing great things for computer education and hobbyists alike. Thanks again. Cheers from Canada!
@fabiano9277
@fabiano9277 5 ай бұрын
So awesome. Can't wait to run it on my Neo6502. 🎉🥳
@HansOtten
@HansOtten 5 ай бұрын
Great! Looking forward to the release!
@Lemon_Inspector
@Lemon_Inspector 5 ай бұрын
It's really interesting how the application is responsible for allocating the "kernel" data structure for open files. It's an underappreciated and unederexplored field, the curious and wonderful operating system designs that can be implemented if you don't have to assume all the code running on your own computer is broken and hostile.
5 ай бұрын
IIRC, WDC's 65C02S (and 65C816S) can indeed run at 3.3V (even as low as 1.8V!) as well, though then the maximum clock frequency achieved is somewhat more limited compared to the case of 5V supply. For the max clock, it's specified as 14MHz, but it's "often said" it can reach 20MHz if powered with 5V or so.
@oric-iss
@oric-iss 5 ай бұрын
Cool video. Congrats!
@moshixmainframechannel
@moshixmainframechannel 5 ай бұрын
Interesting stuff! Thanks
@mdisposed
@mdisposed 3 ай бұрын
It would be cool to attach a VT100 like terminal through this UEXT port to have 80 columns. And super interesting video!
@krzyszt0fus
@krzyszt0fus 5 ай бұрын
Cool 👍
@dustyangel47
@dustyangel47 5 ай бұрын
is that hazbin i spot? ;) good show choice great video!
@hjalfi
@hjalfi 5 ай бұрын
Damn straight. (Although I prefer Helluva Boss.)
@JSRFFD2
@JSRFFD2 3 ай бұрын
Fascinating video! I'll have to give this a try on my Neo6502, but I don't seem to have a USB hub that it likes. Any recommendations? Also, looking at the file eviction code, I wonder (given how fast I imagine the flash storage on the RP2040 might be) how slow it would have been to have essentially no files open for reading, and every CP/M read would open, seek, and close the file on the RP 2040.
@3osufdh4rfg
@3osufdh4rfg 4 ай бұрын
2:14:21 Those days are so annoying when you're in the mood for working on something or worse, have to work on something.
@edgeeffect
@edgeeffect 5 ай бұрын
Having done Z80 and 6502 back in the olden days... if we wanted CP/M on a 6502... the usual way to go about it was to add a Z80 processor........ didn't know nuffin' of any CP/M 65... quite fascinating... I need to find out more.
@BrianG61UK
@BrianG61UK 4 ай бұрын
It isn't all you might wish. CP/M 65 obviously only runs CP/M 65 software, and there isn't much CP/M 65 software available at all.
@edgeeffect
@edgeeffect 4 ай бұрын
@@BrianG61UK if there's a text editor and assembler, that's all the software I need. ;)
@piwex69
@piwex69 5 ай бұрын
Marvelles
@sabotrax
@sabotrax 5 ай бұрын
Is there any documentation for NeoBasic?
@whetphish
@whetphish 5 ай бұрын
Great stuff! Can't wait to try it out! I am thinking of building an Intel 8051/8052-based SBC at some point in the future. Do you think CP/M would be easy to port to that architecture?
@hjalfi
@hjalfi 5 ай бұрын
The 8051 is cursed in so many ways --- I love it. The answer is: probably, but it'll be work. Like, doing a complete BDOS and BIOS implementation work! However, other than that it should be reasonably straightforward. The most difficult part would be designing the computer as there are very few 8051-based micros. You would certainly need to have a von Neumann design with the program memory and xram wired together. Beyond that, using a CP/M-65-like approach with relocatable binaries and zero page is probably the way to go, as this would allow your binaries to run on other homebrew 8051s, but you might need to only allocate on 2kB chunks because of the AJMP-like instructions. Modern 8051s run at ridiculous speeds, like 100MHz, and can do an instruction in one clock cycle, so such a thing would be implausibly fast. If you do decide to do this, file a github issue for CP/M-65 --- I'd love to hear about it.
@kyledain4175
@kyledain4175 3 ай бұрын
Nice, but can you implement NZCOM on this? Named directories, search paths, environment variables, termcaps. I love the idea, but think there's not enough resources on a typical 6502 system to implement this, unless you have an Atari 8 bit with lots of Incognito RAM. It may be nice, but how about GSX graphics?
@hjalfi
@hjalfi 3 ай бұрын
I don't think Z-System supported directories beyond just labelling user areas? Although it would be easy to extend the CP/M filesystem to do this; you'd generalise user areas (which are terrible anyway) so that each file would use them to point to their enclosing directory. The big issue is that the CP/M file API doesn't really support this, and the existing user area API isn't fit for purpose. The other things aren't actually particularly complex, but currently there is no software which would use it. As for GSX graphics... send me a pull request!
@mlongval
@mlongval 5 ай бұрын
Since you have earned God level skills after many years of hard work do you think I could implore you to add subdirectory support to your CP/M for 6502? Also I would like to query you on getting a native 6502 self hosted Pascal compiler running on your CP/M version. Just wondering… 😊 Keep up the great work!
@hjalfi
@hjalfi 5 ай бұрын
Directory support could actually be done. CP/M-86 has the necessary APIs. They are, unfortunately, pretty nasty, so you wouldn't get stuff like hierarchical paths; but it might still be useful. It'd only work when using an emulated BDOS, of course. The real CP/M filesystem doesn't support subdirectories. When you say you're interested in a native 6502 self-hosted Pascal... do you mean that you _have_ one which you want me to port, or that you want me to _write_ one? If the former, please get in touch! If the latter, you might be interested in my Cowgol programming language.
@mlongval
@mlongval 5 ай бұрын
@@hjalfiUnfortunately I don't have such a Pascal compiler to port. I was thinking more of some existing one. I will however look at Cowgol. Thanks for the reply.
@Graccobank
@Graccobank 3 ай бұрын
I just programed Call of Duty in basic.
@martinausdeutschland
@martinausdeutschland 5 ай бұрын
Could you be so kind to tell where from the emulator could be downloaded? I just found a web based one...
@hjalfi
@hjalfi 5 ай бұрын
Currently you have to build it yourself; it's moving pretty quickly and AFAIK there are no binaries yet.
@rog2224
@rog2224 5 ай бұрын
Seems that bit banging the HDMI can mean some TVs don't play well with it. Some LGs just won't see a system.
@GegoXaren
@GegoXaren 5 ай бұрын
What a cursed theme you are using.
@hjalfi
@hjalfi 5 ай бұрын
Thank you!
@GegoXaren
@GegoXaren 5 ай бұрын
@@hjalfi ^_^
@Andre4sH
@Andre4sH 5 ай бұрын
Cool 👍
Porting CP/M to a Brother SuperPowerNote Z80 laptop thing
1:17:54
Poking Technology
Рет қаралды 15 М.
Hacking a Fnirsi DSO152 mini oscilloscope to play Breakout
31:22
Poking Technology
Рет қаралды 5 М.
Pleased the disabled person! #shorts
00:43
Dimon Markov
Рет қаралды 28 МЛН
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 18 МЛН
Inside Out Babies (Inside Out Animation)
00:21
FASH
Рет қаралды 17 МЛН
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 36 МЛН
Is this the FASTEST and CHEAPEST 8-Bit Computer Ever?
28:43
Noel's Retro Lab
Рет қаралды 161 М.
GeckOS: a Unix-like 6502 operating system | VCFMW 2019
50:29
VCF Midwest
Рет қаралды 81 М.
Zilog Z80 Deep Dive - How does it work?
15:05
NCOT Technology
Рет қаралды 23 М.
Elite: "The game that couldn't be written"
1:02:03
Alexander the ok
Рет қаралды 1,2 МЛН
Reverse engineering a 1985 IBM keyboard (and building a USB converter for it)
1:01:10
Turning a bread machine into a soup machine
44:21
Poking Technology
Рет қаралды 1,1 М.
#371 RISC-V: How much is open source? Featuring the new ESP32-C3
25:25
Andreas Spiess
Рет қаралды 214 М.
Porting CP/M to the Agon Light, on an Agon Light
2:19:24
Poking Technology
Рет қаралды 13 М.
Новые iPhone 16 и 16 Pro Max
0:42
Romancev768
Рет қаралды 2,2 МЛН
iPhone 15 Pro Max vs IPhone Xs Max  troll face speed test
0:33
Todos os modelos de smartphone
0:20
Spider Slack
Рет қаралды 64 МЛН
Как удвоить напряжение? #электроника #умножитель
1:00
Hi Dev! – Электроника
Рет қаралды 1,1 МЛН