6 ms·
Running CP/M on the Raspberry Pi Pico
- lproven 5y agoJust out of interest... there was a pre-existing CP/M emulator for the Pico. https://github.com/guidol70/RunCPM_RPi_Pico https://github.com/guidol70/RunCPM_RPi_Pico It's a port of RUNCPM: https://github.com/MockbaTheBorg/RunCPM https://github.com/MockbaTheBorg/RunCPM
- lproven 5y agoAnd for the avoidance of doubt, the modern RunCPM emulator is nothing to do with the old MS-DOS tool of the same name. I used it, but I can't remember whence that came. I also used 22NICE from Sydex. Info on such things: https://www.cpm80.com/ https://www.cpm80.com/ https://www.sydex.com/index.html https://www.sydex.com/index.html http://www.primrosebank.net/computers/cpm/cpm_emul.htm http://www.primrosebank.net/computers/cpm/cpm_emul.htm
- johnklos 5y agoThe chain certs expired last September. https://www.ssllabs.com/ssltest/analyze.html?d=kevinboone.me https://www.ssllabs.com/ssltest/analyze.html?d=kevinboone.me Preservation is always good, and some of the software from the CP/M world can be quite useful. People can use constant reminders that software can be good without taking gigabytes of memory for the most basic of functions. We can literally emulate an entire computer and run its OS and software faster and more efficiently than we can render a page in a web browser. Small and efficient is good :)
- kjs3 5y agoIndeed. You can go a very, very long way in productivity with Wordstar, Visicalc and Turbo Pascal on CP/M, each of which fit on a floppy. Many of us did.
- Sunspark 5y agoBack when everything was new for the first time.
- kjs3 5y agoThe only thing new about those tools was they were available on an affordable, personal platform. Wang, among others, had Wordstar-like computer-based word processing for years at that point. Pascal was old hat. Visicalc was new and revolutionary, but the idea of using computers to simplify computation was primordial. I get that there's a certain mentality that thinks nothing happened in computer productivity until 2010 or so (date marching forward as new grads enter the workforce), but when you don't bury your word processor or spreadsheet under a metric ton of useless UI candy and 'features' that less than 1% of your users actually use, you get some pretty lean, useful tools.
- Sunspark 5y agoOh absolutely, well said. I miss those days when time spent at the screen was intent time. For a long while now for me, it's basically just been a TV replacement.
- LeFantome 5y agoYour main point is valid but 2010 is maybe 25 years too late for the example programs listed.
- kjs3 5y agoYou missed the point.
- ahepp 5y ago> CP/M programs often behave in ways which would be damaging to modern hardware -- endless input-checking loops at full CPU speed, for example. To be honest, I do not know if this kind of thing would be damaging to a Pico, but I don't want to risk it. CPICOM has a number of pause points built in, to give the microcontroller time to idle. These do slow the system down even further, and I'm not sure whether they're necessary. This shouldn't be necessary on an MCU. Any kind of sleep call is probably just spinning the CPU anyway. There's often support for deeper power saving states, but MCUs are generally designed to be run full speed all the time.
- jstanley 5y agoI don't think busy loops are damaging to the hardware. They just pointlessly waste CPU time.
- mistrial9 5y agoits my understanding that you cannot damage the physical CPU by software instructions, period. However, heat from multi-core operations is not the same. Hardware gets damaged by heat all the time. So "loops waiting for input" may never damage the hardware, but "causing more cores to operate at the same time" can cause heat damage on some setups..
- spc476 5y agoThere are CPUs out there that can be put into a "sleep" type mode. On the x86, there's the HLT instruction, which stops CPU execution until an interrupt happens. The 68k series has the STOP instruction, which does the same thing.
- watersb 5y agoHalt and Catch Fire: https://en.m.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)#Motorola_6800 https://en.m.wikipedia.org/wiki/Halt_and_Catch_Fire_(computi...
- isthisnametaken 5y agoCouple of things to note 1) The Pico doesn't have an OS, by default. It's designed to run bits of code people have written in the SDK. There are no guarantees that someone won't write code that endlessly busy-waits checking for a condition, and no warnings that doing so can be harmful 2) It costs about $4. Is there really much to lose if you "risk it" with this software?
- butlerm 5y ago> CP/M predates the open source movement by thirty years. CP/M was first developed in 1974, the FSF was founded in 1985, so I would say more like eleven years.
- johnklos 5y agoBeyond the FSF, Berkeley released sources to BSD as open source throughout the '70s.
- p_l 5y agoIBM SHARE predates both BSD and FSF. Open Source used to common, especially before portable binaries.
- pjmlp 5y agoIf you mean bytecode as executable format, the Burroughs B5000 from 1961 was one of the first computers to use such concept.
- p_l 5y agoI mean more the issue where the computers were differing wildly enough that binary distribution of software was very limiting, so it made sense to offer source that could be massaged to run on specific setup.
- pmontra 5y ago> if the ZX80 could generate a video signal from its CPU while still running BASIC programs back in 1980, It couldn't. The ZX81 could. https://www.sinclairzxworld.com/viewtopic.php?p=20645&sid=86851b8074fd84db81363abbd654364d#p20645 https://www.sinclairzxworld.com/viewtopic.php?p=20645&sid=86...
- Jemm 5y ago> Catalog vs > dir or > ls
- Gys 5y agoSo this could run Borland Turbo Pascal up to version 3 (https://en.wikipedia.org/wiki/Turbo_Pascal https://en.wikipedia.org/wiki/Turbo_Pascal)! Very cool: developing software on a microcontroller itself.