As a teenager I got my first 8-bit computer. A lot of my friends had Commodore 64. But a good computer salesman sold me and my dad on the british Amstrad CPC 6128[0]. It had the disk drive and a green monitor. Great computer. Great salesman. They had this newfangled Commodore Amiga but he did not know much about it. It was at the same price but without a monitor so my dad reasoned it would be better as I would then not occupy the living room TV with my computer. I could have jumpstarted my career on 16 bit. I could have been a contender!
The Amstrad had a Z80 CPU and ran Locomotive Basic when powered on. But it came with a disk containing CPM Plus 3.0. That was used for "business-like" things such as copying files using "pip to_me from_you".
That in turn made me the local über-geek in the computer room in my public school. They had 2 expensive danish made and rather rare Intel 80186 (yes - 80 one 86) based RC Piccoline[1] computers. They in turn each had 4 terminals and 1 dot matrix printer (a typical school setup at the time). A fact which never really dawned upon me at the time what "Concurrent" in CCP/M meant. My geek flex was when the vice principal fetched me during a regular class to help him remove a defamatory text file from a 5,25" floppy disk. He was not able to delete the file himself. I identified the "read-only" attribute was set and such wizardry was rarely seen around those parts.
Back in the day when computing was much more heterogeneous and fun. I am sitting here behind my Ryzen monster but still yearn for those days.
Now, kids. Get off my lawn :-)
[0] https://www.computinghistory.org.uk/det/2666/Amstrad-CPC-612...
That so true... At that time computers were new and the media didn't get them at all. You went to the movies and saw Tron and Wargames.
For the younger here: this meant it was dreams on steroids. No experts wondering if it would happen or not, no big corps... Just pure freedom.
(but, we didn't have the web, the LSP, memory was almost non existent, no package manager (hell, no packages at all), you had a few thousands pixels at most, colors if lucky, floppy disks were suddenly forgetting your beloved code, hard disk ? you had to sell your home to get that! friends to talk about your passion ? Nope, nobody --- but the dream, kids... the f**g dream)
https://en.wikipedia.org/wiki/RM_Nimbus
I had a CPC too but later bought a 3.5 inch drive for it (used from someone else who bought an Amiga) so I could transfer files easily between Windows and AMSDOS. This was how I would later update my website after initially trying to write it all via a modem connection.
Reading up on the RC Piccoline I realise I misremembered. Each 4 computers shared one drive unit. So not quite terminals as I remembered. Did the UK variants have some of the same quirkiness? I see they have a "network server" (XN20) listed.
I was stuck on the rare 3" size. But lived in a fishing town so I could get them a little cheaper - they where commonly used for plotters on the boats.
Thanks for that hint. That was interesting.
Impressed by writing a website on a CPC. You have been a true die-hard. I first saw "the web" with Mosaic on a SUN Sparcstation in 1993.
I would later write it in Protext on the CPC and copy it to the floppy disk and IIRC remove a few control characters from the file before uploading it from one of the 486 machines.
Most of the Nimbus and 486 machines were diskless and floppy driveless. Reserving one with a floppy drive was a crapshoot. Eventually one machine in the school was secretly outfitted with a small hard disk someone got their hands on from elsewhere.
For the longest time I had never seen the web outside of a text browser, despite having a website (really a single page for a long time)
We had a whole lab of them at our school, but computer classes were banned after my first year as the new headmaster believed computers were a "passing fad."
A few machines had floppy drives. A couple even had caddy-based CD-ROM drives.
I've referred to them a fair bit in recent times as I've been fighting to get my golang CP/M emulator working on a couple of stubborn binaries.
(Downside is that many of the versions of CP/M sources you see use the weird intel-style of assembly rather than the more typical Z80 opcodes. Still that's not a real blocker.)
And Z80 syntax may be more common today, but Zilog made some rather bad choices IMO. If "LD A,(HL)" loads a byte from memory address HL, then you would expect "JP (HL)" to load the address to jump to from memory instead of directly from the HL register. "PCHL" is a lot clearer. Also in 8080 syntax, one mnemonic => one addressing mode and base opcode. No surprising syntax errors because some operand combination isn't allowed, or 4 clock penalty to fetch a prefix byte...
I guess it mostly depends which you grew up with, or were otherwise exposed to first, which determines which one makes most sense to you.
https://bitsavers.org/pdf/intel/ISIS_II/9800640-02_MCS-86_Ma...
I know in the past when I've browsed the late-DR sources there were clear lines of continuity between various products in their family tree (GEMDOS, CP/M, M/PM, etc), so I suspect bits ended up in that
What stifled CCP/M in its era was that it wasn't compatible with MS-DOS device drivers.
Today, that's largely irrelevant: there aren't any modern ones.
I feel a modernised FOSS Concurrent DOS could be a fun toy: a multitasking x86-32 OS that can handle 4GB RAM and multitask lots of DOS apps. Slap a GUI on it -- DR GEM is FOSS now -- and it could do all many people need, while being about 0.01% the size of a lightweight Linux distro.
And the virtualization done by Win9x or OS/2 wasn't that much more resource intensive either.
CP/M-86 was late -- years late, and MS-DOS got control of the market in that time. It didn't help that when CP/M-86 arrived on the IBM PC it was 5x the price of DOS.
So, to make a more compelling product, DR merged CP/M-86 with MP/M to make Concurrent CP/M. The intent was multiple users on terminals, not multitasking on one PC, but it could do that.
Concurrent CP/M got an MS-DOS emulator called DOS-mode. This was later built in and Concurrent CP/M became Concurrent DOS.
(Later that bit was effectively spun out to become DR-DOS.)
Concurrent DOS 286 ran in protected mode on 80286 machines and could multitask DOS apps in protect mode, which even OS/2 couldn't do. But this depended on a feature of pre-release 286 chips that Intel removed before release, crippling the new OS.
(With it unable to multitask DOS on early shipping 286s, DR retargeted CDOS 286 as a real-time OS, renaming it FlexOS. That survived for decades. It's still supported by IBM and Toshiba today I think.)
So when the 386 came along it did a big rewrite. CDOS 386 supports hardware-assisted DOS multitasking, including on terminals, but on the console too. No GUI, no windowing, only (by default) 4 full-screen virtual consoles, just as Linux has 7 vconsoles by default accessed with Alt-F1...F7. (Ctrl+Alt+F-keys in X11.)
Including in graphics mode. At work in my first job, I ran MS-DOS COMMAND.COM on top of CDOS in one session, so it reported it was MS-DOS 3.3, but in the background the machine was running FRACTINT generating Mandelbrots for hours. No CPU heatsinks back then, no power management, no fans, so the PC was no louder running flat-out.
It could even handle FRACTINT's fancy direct-VGA-register-writing graphics modes, which reliably crashed OS/2 2.0.
LHLD 0 ! XCHG ; zero DE
I dont remember MSDOS Masm having such feature?