Porting CP/M-65 to the Olimex neo6502

  Рет қаралды 5,171

Poking Technology

Poking Technology

2 ай бұрын

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
@mdisposed
@mdisposed 26 күн бұрын
It would be cool to attach a VT100 like terminal through this UEXT port to have 80 columns. And super interesting video!
@JSRFFD2
@JSRFFD2 19 күн бұрын
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 2 ай бұрын
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.
@mlongval
@mlongval 2 ай бұрын
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!
@Lemon_Inspector
@Lemon_Inspector 2 ай бұрын
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.
2 ай бұрын
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.
@andreasbaumann6943
@andreasbaumann6943 2 ай бұрын
Programming for CP/M-65 is actually really enjoyable, because it is so small. Thanks for the video.
@HansOtten
@HansOtten 2 ай бұрын
Great! Looking forward to the release!
@fabiano9277
@fabiano9277 2 ай бұрын
So awesome. Can't wait to run it on my Neo6502. 🎉🥳
@moshixmainframechannel
@moshixmainframechannel 2 ай бұрын
Interesting stuff! Thanks
@krzyszt0fus
@krzyszt0fus 2 ай бұрын
Cool 👍
@edgeeffect
@edgeeffect 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@BrianG61UK if there's a text editor and assembler, that's all the software I need. ;)
@oric-iss
@oric-iss 2 ай бұрын
Cool video. Congrats!
@dustyangel47
@dustyangel47 2 ай бұрын
is that hazbin i spot? ;) good show choice great video!
@hjalfi
@hjalfi 2 ай бұрын
Damn straight. (Although I prefer Helluva Boss.)
@sabotrax
@sabotrax 2 ай бұрын
Is there any documentation for NeoBasic?
@whetphish
@whetphish 2 ай бұрын
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 2 ай бұрын
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 Ай бұрын
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 Ай бұрын
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 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@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.
@rog2224
@rog2224 2 ай бұрын
Seems that bit banging the HDMI can mean some TVs don't play well with it. Some LGs just won't see a system.
@Graccobank
@Graccobank 29 күн бұрын
I just programed Call of Duty in basic.
@piwex69
@piwex69 2 ай бұрын
Marvelles
@GegoXaren
@GegoXaren 2 ай бұрын
What a cursed theme you are using.
@hjalfi
@hjalfi 2 ай бұрын
Thank you!
@GegoXaren
@GegoXaren 2 ай бұрын
@@hjalfi ^_^
@martinausdeutschland
@martinausdeutschland 2 ай бұрын
Could you be so kind to tell where from the emulator could be downloaded? I just found a web based one...
@hjalfi
@hjalfi 2 ай бұрын
Currently you have to build it yourself; it's moving pretty quickly and AFAIK there are no binaries yet.
@Andre4sH
@Andre4sH 2 ай бұрын
Cool 👍
Porting CP/M to a Brother SuperPowerNote Z80 laptop thing
1:17:54
Poking Technology
Рет қаралды 14 М.
Barriga de grávida aconchegante? 🤔💡
00:10
Polar em português
Рет қаралды 64 МЛН
I²C on a 6502 Single Board Computer - The 65uino #i2c #6502
22:41
Anders Nielsen
Рет қаралды 6 М.
MS-DOS has been Open-Sourced!  We Build and Run it!
15:01
Dave's Garage
Рет қаралды 288 М.
Porting CP/M to the Agon Light, on an Agon Light
2:19:24
Poking Technology
Рет қаралды 12 М.
EP#1 BBC Basic for  beginners on - AGON LIGHT 2
28:34
TEL's BENCH
Рет қаралды 327
Emulation - Computerphile
22:36
Computerphile
Рет қаралды 198 М.
RP6502 Ep10 - DIY build with soldering
14:56
Rumbledethumps
Рет қаралды 29 М.
RP2040 - Introduction to Assembly Language - BMA-01
25:21
Life with David
Рет қаралды 9 М.
Bit-Banging It Old School
20:25
Stuart Patterson
Рет қаралды 1,8 М.
Is this the FASTEST and CHEAPEST 8-Bit Computer Ever?
28:43
Noel's Retro Lab
Рет қаралды 153 М.
How about that uh?😎 #sneakers #airpods
0:13
Side Sphere
Рет қаралды 9 МЛН
Edit My Photo change back coloured with Bast Tech
0:45
BST TECH
Рет қаралды 333 М.
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 28 МЛН
Edit My Photo change back coloured with Bast Tech
0:45
BST TECH
Рет қаралды 333 М.
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Рет қаралды 17 МЛН
📱 SAMSUNG, ЧТО С ЛИЦОМ? 🤡
0:46
Яблочный Маньяк
Рет қаралды 960 М.