Porting CP/M-65 to the Olimex neo6502
2:29:45
Changing the channel name
1:22
Жыл бұрын
6502 CP/M: 14/14
1:16:50
Жыл бұрын
6502 CP/M: 13/14
2:09:35
Жыл бұрын
6502 CP/M: 12/14
2:22:24
Жыл бұрын
6502 CP/M: 11/14
1:43:29
Жыл бұрын
6502 CP/M: 10/14
2:03:23
Жыл бұрын
6502 CP/M: 9/14
2:07:34
Жыл бұрын
6502 CP/M: 8/14
2:22:05
Жыл бұрын
6502 CP/M: 7/14
2:24:32
Жыл бұрын
6502 CP/M: 6/14
2:48:47
Жыл бұрын
6502 CP/M: 5/14
2:43:33
Жыл бұрын
6502 CP/M: 4/14
2:28:00
Жыл бұрын
6502 CP/M: 3/14
2:10:19
Жыл бұрын
6502 CP/M: 2/14
3:36:50
Жыл бұрын
6502 CP/M: 1/14
1:56:56
Жыл бұрын
Amiga 600 audio system fix: 3/3
35:19
Пікірлер
@EirikrTinkerTries
@EirikrTinkerTries 16 сағат бұрын
Ok adding this one to my list to watch as well! You have so many cool videos! What are your thoughts of running ELKS embedded Linux for 16-bit machines on this? The project still needs help getting miniwindows (X windowing analogue) and SSH working but with SSH especially it would then be a mostly modern, functional OS for these machines. Having a UI however, would be neat. Ok back to zoning in on ONE video instead of zipping through them all
@EirikrTinkerTries
@EirikrTinkerTries 17 сағат бұрын
Which modern embedded and RTOSs would work well on here!?
@EirikrTinkerTries
@EirikrTinkerTries 17 сағат бұрын
This is AMAZING!!! What even!? This is so super cool. Seeing PalmOS messed with on here feels super special and hits right tonight. Seeing EmuTOS finished once I make it through the series is going to just be super cool. Time to get in the video watching zone now, I suppose!
@garylcamp
@garylcamp Күн бұрын
I just got mine today and it looks great. I wish you could have gone into a little more detail on updating over USB. I cant get to connect to my PC (Win10 says it is malfunctioning). The instructions are not at all clear to me. What is a U Disk? A USB used as a storage (drive)? Pressing the pwr and and then the OK buttons in any combination of longs and shorts and holds still gets a Win10 complaint as soon as the USB is plugged in. Everything else works fine. I watched 10 or so videos on the DSO152 so far. I guess I will try to go to the company or the website community next. Anyway, thanks for the video, very interesting though above my head on programming.
@captainkeyboard1007
@captainkeyboard1007 2 күн бұрын
You have a heart of gold. Happy Keyboarding!💙🖥⌨🖨
@scriptguru8
@scriptguru8 2 күн бұрын
Great job! It's a useful computer now.
@captainkeyboard1007
@captainkeyboard1007 4 күн бұрын
My favorite thing about this Brother word processor LW-30 is that its keys have an excellent touch like the IBM Wheelwriter. The LW-30 could complement my keystrokes. The LW-30 produces excellent print that is nearly identical to the typeset-quality of a laser printer. I hope you will be able to obtain more printer typeface daisywheel printheads to go with the 10-pitch Brougham typeface. If you cannot find anymore daisywheel typefaces, you may want to make a Dell microcomputer your keyboard, and a Canon printer your writer. Both can be helpful and handier do lots more for you so that you will not want to look backward.
@captainkeyboard1007
@captainkeyboard1007 8 күн бұрын
It is nice that computer technicians like you are still in the world today and must be in big demand.
@user-cd7gw1xy3j
@user-cd7gw1xy3j 14 күн бұрын
I have a Dana which I use frequently - it's an excellent system for long typing tasks away from home, and the 'send' function makes it an absolute breeze to move files to my home or work system when I need to. The advantage of this over the earlier AlphaSmart systems with the smaller screen is that for writing, the larger screen gives more of the text to work with - better context, basically, as you're working. Mine still has the original rechargeable battery pack which runs the system for about 7 or 8 hours. I much prefer the Dana over alternatives available at the time such as the QuickPad Pro (of which I have 2) because the Dana has a pretty good keyboard, and is better thought out. A good device. The review is a good tutorial as to why it can be recommended for distraction free work!
@shaolin95
@shaolin95 25 күн бұрын
Is better as a gaming machine than as an oscilloscope 😂
@JSRFFD2
@JSRFFD2 Ай бұрын
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.
@jstro-hobbytech
@jstro-hobbytech Ай бұрын
Awesome video. It would be hilarious if you could use the analog input connected to a function generator and depending on the waveforms the paddle is controlled hahaha est rube goldberg device ever haha. Seriously though. Cool video.
@gwandrer
@gwandrer Ай бұрын
Nice! Thanks for the amount of time spent and the details you put there. It's very encouraging to do the same on every gadget I have now. :)
@mdisposed
@mdisposed Ай бұрын
It would be cool to attach a VT100 like terminal through this UEXT port to have 80 columns. And super interesting video!
@L1Q
@L1Q Ай бұрын
what do you mean USB is working? could it possibly host a thumb drive and dump data to it?
@hjalfi
@hjalfi Ай бұрын
Maybe. It already works the other way around, where _it_ acts as a peripheral to another device. The question is whether it'll work the other way around, where it hosts another peripheral. The CH32F1 supports host mode but I don't know if the connector is wired up appropriately (or whether it needs to be wired up appropriately).
@andymouse
@andymouse Ай бұрын
A few more games I would be tempted to buy one, well done !!....cheers.
@DavidPlass
@DavidPlass Ай бұрын
Hey you made it to Hackaday
@broncochamo208
@broncochamo208 Ай бұрын
Sweeeeeeeeeet
@Graccobank
@Graccobank Ай бұрын
I just programed Call of Duty in basic.
@adriansdigitalbasement
@adriansdigitalbasement Ай бұрын
Very cool to see it repurposed like this!
@mikejones-vd3fg
@mikejones-vd3fg Ай бұрын
woah a ch32f103? I got some of those too after playing with arduino and wanting to try something more poweful. Didnt get much into them as it was a little more difficult then i imagined with the different toolchain wch uses compared to stm32 , but i did manage to get a white noise generator code example loaded up on it and it worked really well, i thought would be a good mcu for a signal genrator but had no idea it could run an oscilliscope or a game like breakout. Well my 486 25mhz cpu back in the day ran doom2, so it shouldnt be surprsing todays cpu's at 72mhz could so something similar i guess. Can you make it run doom? jk i dont care to tsee that, doom needs 60fps, its a mockery of what doom is making it run on any hardware, i was FPS starved in the game with my fpuless 486, it cant run on any hardware.. it needs an FPU to run good. and you dont get a fpu in the f103 range, you need f403.
@hjalfi
@hjalfi Ай бұрын
I just treated it like a ST32F103. No different configuration, no WCH toolchain, I just installed the std32duino core, set things up, and pressed 'compile and upload'. Also, the ST32F1 absolutely has enough grunt to run Doom. What it doesn't have is the memory. The screen has more memory than the MCU! You may be able to do a limited port of Castle Wolfenstein; raycasting is easy.
@candas1
@candas1 Ай бұрын
If careful, programming pings can also be used in your sketch
@hjalfi
@hjalfi Ай бұрын
Yes, but I'm very aware of my ability to cock things up and would rather not risk it!
@Atmatan_Kabbaher
@Atmatan_Kabbaher Ай бұрын
This looks like an absolutely awesome first scope for someone like me, who would use it with Flipper Zero. Running arm, exposed uart, easy to take apart, small and solid... That fits literally every niche a device needs to go in my bag..
@hjalfi
@hjalfi Ай бұрын
Be aware that the stock firmware _doesn't_ give you a UART (or if it does I haven't found it yet). And as I haven't found a way of dumping the stock firmware, once you've released it it's not an oscilloscope any more!
@Atmatan_Kabbaher
@Atmatan_Kabbaher Ай бұрын
@@hjalfi Flipper should at least be able to give you access to the console to start decoding it. There's probably a custom firmware out there you could flash to turn it back into a scope
@hjalfi
@hjalfi Ай бұрын
I've since found that Fnirsi also make the DSO153, which comes in an identical (if blue) case and has higher resolution oscilloscoping and a signal generator. So, both input and output analogue stages. I can't find a high resolution image of the PCB but it looks oddly similar, although with a different microcontroller and a six-pin debug header. The UI looks identical so there's a decent chance it's another CH32, although a bigger one.
@Nibb31
@Nibb31 23 күн бұрын
Out of curiosity, I just took apart my DSO153 and unfortunately they have scratched off the markings on the processor. It's a smaller 12x12 pin package and there is more going on on the PCB with a large inductor (maybe for the signal generator). It has 6 unmarked pin holes instead of the 4 debug ones on the DSO152. I can send you a pic if you're interested.
@hjalfi
@hjalfi 23 күн бұрын
@@Nibb31 Bah, I wish people wouldn't do that... given the UI looks the same it's probably another STM32-compatible, and figuring out which debug pins do what is it the very worst a matter of trying all the combinations, and then it should be identifiable through the debugger. I found a teardown with microscope views here: kzbin.info/www/bejne/bpDWaKyObbihjpo Maybe when I see the thing for sale on Aliexpress I'll get one.
@olavl8827
@olavl8827 Ай бұрын
Nice hacking there ;-) And thanks for mentioning the Buck50 firmware. That will give me something to play with in the coming weeks. I did once make an "oscilloscope" with an Arduino Nano, based on an article I found on a website. It did even kind of work, just not very well and I lost interest. It might be interesting to see how well or how badly a Bluepill will handle this task. I may buy the Fnirsi or something similar as well (though I do have a GW-Instek scope).
@mikejones-vd3fg
@mikejones-vd3fg Ай бұрын
I skipped the diy arduionno scope and just bought the dso2512g, its about the same here but looks like it uses customs fpga's and achievs like 8megaherts instead of 200khz which i think is the only drawback of these off the shelf mcu's. I too got a few ch32f103's after playing around with the arduino and wanting to try something more powerful. I had no idea they were this powerful! cool stuff
@cocusar
@cocusar Ай бұрын
Would you be interested in doing the exact same thing but for the "more expensive" model? (I think it's the dso180h or something, featured by a lot of youtubers, including diode gone wild) it's around 100 bucks but I bet it's quite a lot better than the this one
@hjalfi
@hjalfi Ай бұрын
I found a teardown of it which gave me a look at the motherboard: it's a significantly more complex device, with discrete ADCs, a monster FPGA doing a lot of the work, and the CPU is a Allwinner FC100S which is an 533MHz AMR9 with 32MB of onboard RAM capable of running Linux. Making this run custom code is probably not that hard, but figuring out the FPGA and the analogue side will be a nightmare, and definitely out of my pay grade. Interestingly, I see that the Hantek DSO2000 series of oscilloscopes use the FC200S, so maybe there's scope for a cross-platform oscilloscope firmware package...
@cocusar
@cocusar Ай бұрын
@@hjalfi oh the FC100S! I wanted to develop a board with it in the past. if that thing runs linux, it'd be cool to hack it. I hope I'd be able to buy one. Yeah the fpga part might be out my paygrade as well, at least for a quick and dirty hack. But anyway, a great hack!
@madiskaal
@madiskaal Ай бұрын
This looks pretty good starting point for open-source car diagnostic tool
@hjalfi
@hjalfi Ай бұрын
One thought I had was whether it'd be possible to reassign the analogue input to a digital pin, to get higher bandwidth, and use it as a super logic probe --- you wouldn't get the true waveform but being able to show an actual trace could be really useful.
@marcosbatista1574
@marcosbatista1574 Ай бұрын
Is it work on PN-8500MDS?
@hjalfi
@hjalfi Ай бұрын
It might need some tweaking --- the PN-8500MDS is very similar but does differ in a few places. If you have one, please try it?
@marcosbatista1574
@marcosbatista1574 Ай бұрын
@@hjalfi I did, it read the disk and froze. I opened it and saw that the FDC chip is different(HD63266F), but the CPU is equivalent(HD64180RF6X) and has 8Mbit of Mask ROM, 1MBIT of main RAM and 128KB of additional RAM(instead 256KB). I have no reverse engineering skills, but if I can help port to this model, I'll be very happy.
@marcosbatista1574
@marcosbatista1574 Ай бұрын
I made a rom dump from it, if you need, just ask.
@wawawis
@wawawis Ай бұрын
My grades school had one of these in the secretary's office. I took a typing class in 8th grade and we were on old selectric II and an older electric typewriter that I don't remember the make or model. It was either dark blue or gray in color and had the individual strike keys. Anyway, toward the end of our classes, we got to use the secretary's Wheelwriter and we were absolutely blown away by it! It was just so cool, techy & beefy looking compared to what we were using. Now even the WheelWriter is obsolete dinosaur. Crazy and frightening how fast technology continues to change. P.S. I used to love the sound of the "return" mechanism on these WheelWriters.
@edgeeffect
@edgeeffect Ай бұрын
Oh.... I came here to see how you'd go about lexing assembly language... :)
@hjalfi
@hjalfi Ай бұрын
Badly, is the answer.
@edgeeffect
@edgeeffect Ай бұрын
@@hjalfi :)
@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!
@JumboDS64
@JumboDS64 Ай бұрын
Oh this is fantastic! Would you be willing to share how you did this in more detail? I'm looking to rip the ROM off of a VTech Bluey Ring Ring Phone so I can use the instrument samples for my own music.
@hjalfi
@hjalfi Ай бұрын
I desoldered the serial flash chip, remounted it on a break-out board, added a socket (you can see it in the video) and read it in an eprom reader. That gave me a flash dump. For the internal ROM dump, needed to figure out the system calls, I wrote a program which would clock out bytes from the internal ROM by reading from specific addresses on the flash. I could then use a signal analyser on the flash chip pins to capture these reads and so reconstruct the contents of the ROM. The rest of it was way, way too much time staring at ghidra, and writing the occasional test program to figure out what stuff did. The critical breakthrough was finding the test code in flash which would draw ASCII strings on the screen. That let me find all kinds of useful stuff, from reading the keyboard to accessing the screen.
@cmdrflint9115
@cmdrflint9115 2 ай бұрын
I still use one of these I purchased in the 90s as my password safe. Great little gadgets, I even learned OPL/basic and made a version of pong for the thing.
@doctorsocrates4413
@doctorsocrates4413 2 ай бұрын
Very interesting that the very keys needed to reboot are not working which would seem logical as they are the most used...Escape key on my A500 is not working and i thank you sincerely for this video...best wishes.
@MarkTheMorose
@MarkTheMorose 2 ай бұрын
The Register brought me here.
@JessicaKMcIntosh
@JessicaKMcIntosh 2 ай бұрын
Out of curiosity, why Clang instead of cc65? You already have ca65 in the tool chain.
@hjalfi
@hjalfi Ай бұрын
llvm-mos produces much better code.
@JessicaKMcIntosh
@JessicaKMcIntosh Ай бұрын
@@hjalfi Ah. That makes sense. Thank you. 💜
@gerry2k5
@gerry2k5 2 ай бұрын
Can you please indicate what the thick traces are actually for. My understanding was that these were for ground connections but I could be mistaken
@hjalfi
@hjalfi Ай бұрын
Probably they're for mains voltage connections. The thinner traces will be for low voltages. There should be an insulating gap between them.
@atv22314
@atv22314 2 ай бұрын
another amazing installation of your adventures. love the content. thank you.
@whetphish
@whetphish 2 ай бұрын
Nice one. The history snippets were a bit too fast for me though, and I had to keep pausing the video to read them all! 😂 Quick question - does the Neo6502 Morpheus firmware not yet have a higher resolution text mode? I can imagine a lot of CP/M programs wouldn't look right at the current resolution.
@hjalfi
@hjalfi 2 ай бұрын
Thanks! Yeah, it was a bit quick --- still getting the hang of this stuff. Currently Morpheus doesn't have a high resolution text mode, as they're focusing on the low-res-with-sprites mode because they're aiming at games development in BASIC, but the underlying library ought to allow it. Integrating it into the existing API might be harder.
@HansOtten
@HansOtten 2 ай бұрын
Remark by Mark Rustad, the original author of PASCAL-M: One minor comment, it was UCSD Pascal, not USCD. Also Apple Pascal for the Apple II used a byte code. In its design, it optimized access to locations in the current context and the global context. Pascal-M (mine!), optimized access to the first 256 bytes of every context. I found that Apple's ran faster than mine on tiny benchmark programs, but mine ran faster on larger programs that did more than local and global accesses. This started as a school project and my goal was to run in 16k.
@JessicaFEREM
@JessicaFEREM 2 ай бұрын
One thing that sorta annoyed me is why not put the pen in the pen slot to the sides of the screen? that's what they're there for, so you don't end up losing it and to make it easier to pick up for quick taps
@hjalfi
@hjalfi 2 ай бұрын
Because reasons. Definitely reasons.
@JessicaFEREM
@JessicaFEREM 2 ай бұрын
there's an app called grifiti pro for android that brings back grifiti functionality to android. would be especially useful if you have a Samsung galaxy note or ultra which has a pen on it
@edgeeffect
@edgeeffect 2 ай бұрын
I remember using a p-code Pascal compiler on CP/M 80... That was called (I think) Pascal/M (in those days A LOT of names ended in "/M". But it might have been UCSD... Years later I was doing stuff with Delphi on a 486 and compilation speeds had improved quite a bit ;)
@mlongval
@mlongval 2 ай бұрын
Wow you did it - Pascal for the neo6502. Thanks. Gonna check it out!
@thdotaku
@thdotaku 2 ай бұрын
all your vids are boring s no eed to add it in the thumbnail we laready know.............
@reinoud6377
@reinoud6377 2 ай бұрын
I wonder how fast it would be if it supported multiple source files with linkable object files. This way it would only need to see if dependencies were changed and compilation on the machine a lot faster!
@herksen
@herksen 2 ай бұрын
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 2 ай бұрын
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...
@julianrose3058
@julianrose3058 2 ай бұрын
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.