5 ms·
50 years ago, CP/M started the microcomputer revolution
- papaver-somnamb 2y agoFor a quintessential CP/M experience, run it on an S-100 -based system [0] with either an Intel 8080 or Zilog Z80 CPU and some expansion cards that complete the system. Probably at least light I/O (incl. keyboard), disk storage, and graphics. A tremendously great thing about these systems is that within a mere few years, 1 person can learn and understand the system in its totality, everything from basic electronics, circuit boards, power supply, through digital logic and components, OS and system, and up to user apps. There was a vibrant community of people making and contributing to these ecosystems, with complete systems, individual cards, upgrades and improvements, software, magazines, trade shows, and meets. Today we can recognize that as a nascent incarnation of the FOSS / commercial spectrum. To me, it says something beautiful about the human spirit and condition. And how we are inexorably destined as a technological species. Perhaps all life capable of it is. OK I'm off to re-watch The Expanse now. [0] http://cpmarchives.classiccmp.org/cpm/mirrors/www.s100computers.com/ http://cpmarchives.classiccmp.org/cpm/mirrors/www.s100comput...
- stevekemp 2y agoThere's certainly no shortage of affordable hardware that can run CP/M 2.x, running 3.x requires RAM paging which is a pain, but still doable. If you go to https://www.tindie.com/ https://www.tindie.com/ and search for "CPM" you'll find a bunch of kits for various systems. Some based on the RC2014 and other standalone and unique.
- 082349872349872 2y agoXalte natet wit duting to, beratna! ("Stay groovy with your 'puter, brother" — unfortunately the extant lang belta vocabulary doesn't, without significant circumlocution, cover "run light without overbyte")
- theodric 2y agoI adore my Kaypro II (such a simple and well-designed system!), but the software for CP/M is generally quite boring. Business, productivity-- all work and no play makes Jack a dull boy. Sure, there's ADVENT and a Gorillas-type game, but it lacks the playful vibrancy of the stuff people made back when micros were curiosities with potential. CP/M made them useful, and useful things have to go to the office and make money.
- HocusLocus 2y agoOh but those Kaypro 10 phosphors were delicious and slow to fade, and so kelly-green. The most boring things I did on it seemed so incredibly hackey.
- KingOfCoders 2y agoWhen I got into CP/M in the 80s on my Amstrad 464, it felt like a "professional" operating system compared to those BASIC prompt ones.
- zabzonk 2y agoCP/M is a prompt one - doing something like DIR in CP/M is just like doing DIR in something in a directory listing in any other 8-bit platform.
- jhbadger 2y agoThat isn't how 8-bit computers (other than CP/M and MSX) generally worked -- instead they dropped you into a BASIC interpreter rather than a command-line shell. Some interpreters did let you list files and so on, but there wasn't a complete shell. What was of course very similar to the CP/M experience was MS-DOS (which was modeled after CP/M) and MSX (which was was modeled after MS-DOS itself)
- guenthert 2y agoThat didn't occur to me. Compared to the Amiga world this seemed even then very dated. I mean, it still had e.g. PUN, the paper tape punch device! Turbo Pascal however was great.
- KingOfCoders 2y agoYes for sure. But CP/M on Amstrad was some time before the Amiga was available, and it took some time until I met someone with an A1000 (around the time I got my A500 in ~87 I think - a friend had an Atari ST though before, did GEM have a shell?).
- zabzonk 2y agoexcept it really isn't an operating system - i used it back in the 1980s, and it is really just a static library you can call into - same as msdos. there is no OS process running things.
- riku_iki 2y agoI think everything was running in the same address space in those CPUs, thus no separate processes. But I am not an expert.
- zekica 2y agoThere is no separate per-process address space on 8080 or Z80, for that you need an MMU/protected mode.
- mjg59 2y agoThere are plenty of multitasking operating systems with a strong concept of processes without any memory protection being involved - it just means any single process can overwrite resources belonging to others, or the OS itself.
- pjmlp 2y agoBy that definition RTOS aren't OSes either.
- zabzonk 2y agoi would say that is right - an OS should be managing multiple processes. cp/m certainly did not do that - but i know nothing about RTOSs.
- pjmlp 2y agoMany of the early 1950 - 1970 OSes did not had the notion of multiple processes, only jobs processed in batch. Many RTOS don't have processes, only tasks, which depending on the nature of the OSes can be cooperatively or preemptively scheduled. Also everything is linked together and deployed as a single execution unit into the hardware firmware. So again, by the same definition, when using cooperative scheduling, they aren't OSes.
- stevekemp 2y agoEarlier this year I setup a CP/M emulator, in golang: https://github.com/skx/cpmulator/ https://github.com/skx/cpmulator/ It got some discussion here: https://news.ycombinator.com/item?id=40400635 https://news.ycombinator.com/item?id=40400635 I think the project is "done" for the moment, in the sense that it seems to run everything I've tried. But never say never, I had a lot of fun running real CP/M on a Z80-based single-board computer, and having a quick emulator helps me test things too. The best of both worlds.
- pjmlp 2y agoAlso to note, PL/M had notion of strings and arrays length, in a 8 bit environment!
- lproven 2y agoI wrote this and submitted it last week. https://news.ycombinator.com/item?id=41137490 https://news.ycombinator.com/item?id=41137490
- 082349872349872 2y agoThank you for explicitly pointing out how much* we owe to declining memory prices: > ...a more capable 16-bit microprocessor able to access a whole 1 MB of memory space. (This was largely a theoretical ability. At 1978 prices, that would be about $28,000, about $135,000 today.) * for ill as well as for good?
- HocusLocus 2y agoAnd 35 years ago I banged out a concept piece on MSDOS/Turbo Pascal that was terminate-stay-resident (with a purchased development kit) I had originally coded in native 8086 under CP/M. Config a list of wildcards and enter a key at runtime, and matching files are transparently encrypted when written and decrypted when read, using hooks into DOS calls. It worked well even with word processors of the time because even their temp files could be matched for encryption too. But I was too serious about security and the concept used fast snake oil to test the idea, and my attempt to implement even single DES gobbled so much CPU and real time it would have been a disaster product for a 'transparent' solution. And key/passphrase checking and features to prevent corruption of encrypted data (like an encrypted state flag!) would have required ghosting and protecting files and lots of out of band data store. The original concept was "everything in-place just encrypted" and it was fun and it worked for me. But I decided to save my sanity and stop at fun. I eventually lost my sanity but for other reasons.