C is for CP/M

Поділитися
Вставка
  • Опубліковано 19 лис 2024
  • What's between BBC and DOS? Why, CP/M, of course! Control Program and Monitor? Or Control Program for Microcomputers? How about both?
    The full "Art of Code" intro video clip mentioned in the video is here:
    • "The Art of Code" Intr...
    Check out Michal Kváč's synthwave art: www.artstation...

КОМЕНТАРІ • 118

  • @stevenjlovelace
    @stevenjlovelace Місяць тому +46

    Petition to get Microsoft to allow emoji as drive letters! I want to store my files on 🙃:\>

    • @cs233
      @cs233 Місяць тому +5

      I like that! And they could be versions of smiley faces when the drive is working and change to frowny faces (or maybe poop emojis) if the drive had a problem!
      Come to think of it, when I’m writing software a lot of my file names should probably have poop emojis in the name!

    • @stroiman.development
      @stroiman.development 16 днів тому +1

      @@cs233 I used to have emojis in my shall prompt, smiley or frowny face depending on if the previous command exited successfully or with an error code. Today it's a bit more boring, just a coloured chevron.

  • @Jeremyak
    @Jeremyak Місяць тому +4

    The correct usage of initialism and acronym have earned you a subscriber, sir.

  • @TheGeoffable
    @TheGeoffable Місяць тому +5

    "C is for....lack of namespace Collisions back then"?
    Loving this series, nice idea for a bunch of not-shorts, but not-too-longs :)

  • @TheJamesM
    @TheJamesM Місяць тому +7

    Something I love to bring up every now and then in the comments on UA-cam is that - in a round-about way - I think we have CP/M to thank for much of the invention and popularisation of the term “forward slash”. A “forward” slash is just a slash - that’s the only version that exists in natural human language. So why do people call it “forward slash”? To distinguish it from the backslash. Why do they need to do that? Because backslashes are ubiquitous in Windows. Why is that? Because it inherited them from DOS. And why is that? Because DOS copied CP/M, and CP/M used slashes to introduce command arguments. When a directory structure was introduced, the most obvious course of action would be to just copy Unix and use slashes as directory separators, but that character was already in use, which would be confusing. But there’s this typographical oddity on everyone’s keyboards which is its mirror image, so why not use that? And thus the language was very subtly altered.

  • @pixelsupreme6824
    @pixelsupreme6824 Місяць тому +12

    My first computer was an Schneider CPC464, a rebrand of the Amstrad CPC464. I remember booting CP/M on it a few times but didn't know what to do with it. After all I was like 7 at the time. Now I write code that runs in hospitals.

  • @kebabdepollo
    @kebabdepollo Місяць тому +2

    Thank you for this series. It is so refreshing to see a channel that does not engage in click-baity, hot take nonsense to get more views.
    Looking forward to watching the ray tracing series too!

  • @Stjaernljus
    @Stjaernljus Місяць тому +28

    C is obviously for CDE - Common Desktop Environment
    and if you are plugging in more drives into windows than there are available letters you will be forced to mount them as directories.

    • @ehsnils
      @ehsnils Місяць тому +1

      With VMS you'd get a lot wider range. DUA0 to DUZ9. Some 260 disks required to fill up the space.

    • @ssrsssrs9
      @ssrsssrs9 Місяць тому

      Was looking for this comment as I've definitely saw a video of some guys doing it, but didn't remember what happens :D

  • @gryzus2475
    @gryzus2475 Місяць тому +4

    The videos in this series are fun and very informative. I always learn something new. Thank you :)

  • @dlt4videos
    @dlt4videos Місяць тому +5

    Damn dude do you have to make these so good I watch him just because you're entertaining I had no idea that you were going to be philosophically good these are awesome can't wait for more

  • @CraigTrader
    @CraigTrader Місяць тому +2

    My first programming job was building an application on CP/M in BASIC in 1983.

  • @JohnDoe4321
    @JohnDoe4321 Місяць тому +5

    CGA was Color Graphics *Adapter*, not *Array*. There were no "arrays" on a CGA card -- just a Motorola 6845 CRT controller, some DRAM, and a bunch of 74LS TTL chips. The MDA (Monochrome Display Adapter) had a similar design.

  • @jennytalia8224
    @jennytalia8224 Місяць тому

    I like what you are saying... and I love the way HOW you are saying it. It is just brilliant:
    "Keep your old disks... throw away your old network cards. Understand, that languages will come and go, but it's the underlying patterns, that matter..."

  • @aziztcf
    @aziztcf Місяць тому +12

    Aww hoped to c some C!

    • @mtarek2005
      @mtarek2005 Місяць тому +2

      or CPP for the 3 letters

    • @ThomasKnott
      @ThomasKnott Місяць тому

      Yes. The original C and whatever came later where it's part of the language name would be nice. Maybe a "^C*" special? 😊

    • @aziztcf
      @aziztcf Місяць тому

      @@mtarek2005 Ew

  • @GodmanchesterGoblin
    @GodmanchesterGoblin Місяць тому

    BCPL... My introduction to coding as part of my work as a hardware and software developer back in 1982, targettng a proprietary microcomputer system based around the TMS9900 microprocessor. As mostly a hardware guy, I loved the simplicity of the language. Fun times!

  • @RichardPowell-o2t
    @RichardPowell-o2t Місяць тому +2

    I have a set of diags on 8" floppy discs in my loft for CP/M based machines. I remember PIPing to xx from yy. I do not have an 8" floppy drive to take my disks though.

    • @The4Crawler
      @The4Crawler Місяць тому +1

      PIP was my favorite CP/M utility, for sure,. You could do so many things with it.

  • @dezozlesa
    @dezozlesa Місяць тому

    Really an awesome series, this should get many more views.

  • @Chriva
    @Chriva Місяць тому +15

    On the subject of more than 26 drives: 2000 (maybe even nt4 and 3.5) and later lets you navigate to volume IDs instead of drive letter so it's not the end of the world, just really annoying. You could say, place these in a volume folder shortcut on another drive and have some weird russian doll situation going on.

    • @mtarek2005
      @mtarek2005 Місяць тому +3

      it won't auto mount, and you can need to mount it to a directory Unix style(yes windows supports that apparently, since forever, u don't even need to run out)

    •  Місяць тому

      I am pretty sure this was the thing on 2000 and XP. Now I don't know.

    • @pjl22222
      @pjl22222 Місяць тому

      Are A and B useable for hard drives? I thought you only needed to exceed 24 drives to run out of letters.

    • @sanguchito7381
      @sanguchito7381 Місяць тому

      @@pjl22222 I just tried in Win10 and you can totally use A and B for hard drives.

    • @mtarek2005
      @mtarek2005 Місяць тому

      @@pjl22222 windows won't auto assign to them but u can use them, floppy disks are auto assigned to A and B, then the rest of the letters

  • @DragoniteSpam
    @DragoniteSpam Місяць тому +1

    6:58 any chance of talking about where the tradition of 80-character-wide terminals came from? years ago I went down a rabbit hole related to those and I recall it having roots all throughout the history of printing, well before digital computers came along

  • @reidatherton7743
    @reidatherton7743 Місяць тому

    I saw your Space Quest 3 image there...the other aspect of it that blew me away, when I played it on an XT compatible, was how dang catchy the music could be through the computer's very limited speaker and sound processing.

  • @cthutu
    @cthutu Місяць тому +1

    As soon as you mentioned that there were other acronyms/initialisms, there was only one that sprung to mind immediately, and you didn't mention it: CPU

  • @CyborusYT
    @CyborusYT Місяць тому +2

    It was super weird finding out BIOS stood for "Basic Input Output System", I remember being taught it meant "Basic Integrated Operating System"

  • @pendarischneider
    @pendarischneider Місяць тому +1

    Ahhhh... memory lane. Excellent talk. Been there and lived a lot of it. Hope you get to mention FOCAL on DEC PDP8 when the time comes. But DEC also had a hand in CP/M. I learnt RT-11 years before CP/M. Never read the manual for CP/M (Bondwell-14 luggable) since the old version of RT-11 had the same command line syntax. (RT-11 had been "modernised" by the time of CP/M but you could still invoke ye olde syntax on the newer systems.) As you are about to say, PC/MS-DOS followed with this old RT-11 syntax, but, IMHO, really botched everything with their back-slash usage. We now have to live with specifying forward-slash in the most stupid places (and, as an Apple adopter since 1988, needing to do that continues to appear dumb).

  • @nikolai09304
    @nikolai09304 Місяць тому +1

    Wow. Very nice! Thanks :)

  • @DefaultFlame
    @DefaultFlame Місяць тому

    Great little vid.

  • @milasudril
    @milasudril Місяць тому +3

    Or introducing multiple partitions per drive.

  • @stevenjlovelace
    @stevenjlovelace Місяць тому +2

    I suppose you'll discuss it more next week, but I'm fascinated that no one will ever know what really happened when IBM went to Digital Research. It's a real Rashomon Effect, and we just don't have an unbiased account. My guess is that, in many ways, they just didn't "vibe".

  • @eazypeazy8559
    @eazypeazy8559 Місяць тому

    interesting, thanks!

  • @berndeckenfels
    @berndeckenfels Місяць тому

    Cp/m was quite fascinating with my little dos experience in the 80ies. But I perceived it being similar albeit more structured/orthogonal command line syntax

  • @bt410382
    @bt410382 Місяць тому +3

    General Failure reading Drive C. Who is General Failure? Why is he reading my drive?

  • @MonochromeWench
    @MonochromeWench Місяць тому +1

    More than 26 drives, Windows will just stop automatically assigning drive letters but you are free to mount as many drives into mount points on NTFS Partitions using the magic of NTFS reparse points. The NT Kernel internally doesn't use drive letters to refer to drives it uses GUIDs as volume ids and creates links in kernel object space from drive letters to volume ids (it wouldn't even be theoretically possible to exhaust the number of possible volume ids before you ran out of size in the universe for all the drives). There is a special syntax that allows you to access drives by volume id in Win32 so even if a drive is unmounted it can still be accessed in any program that doesn't require drive letters

    • @mtarek2005
      @mtarek2005 Місяць тому +1

      basically mounting to a directory Unix style

  • @johnneale3105
    @johnneale3105 Місяць тому

    Great episode! I'd forgotten why it was called the "C:" drive, although it was obvious back in the day. I wish you'd introduced the C for the C-language as standing for "combined" and worked it back though: it might have blown a few minds! By the way, "C++", "P" or "D", what's your position?

  • @sUmEgIaMbRuS
    @sUmEgIaMbRuS Місяць тому

    As for the question at the very end: is you put more than 26 physical disks in a PC running Windows, you can either only use 26 at a time and change drive letter assignments as you need to, or you can combine some of them into one or more multi-disk volumes, bringing the number of mountable volumes below 26.

  • @stanislavgospodinov6104
    @stanislavgospodinov6104 Місяць тому

    Another awesome video! Thanks.
    Have a question, though /usr is for unified systems resources not for user, not sure where I picked it up from but I’m sure someone corrected me when I used it as acronym instead of initialism. Feels like you might know the answer.

    • @DylanBeattie
      @DylanBeattie  Місяць тому

      The most detailed account I've seen of how this happened is post Rob Landley made to the Busybox mailing list back in 2010:
      lists.busybox.net/pipermail/busybox/2010-December/074114.html
      It doesn't cite any source, though, so no idea how accurate it really is. But "unified systems resources" sounds to me like an attempt at post-hoc rationalisation - the /usr directory/partition definitely goes all the way back to the very earliest Unix systems and somehow I can't picture Dennis Ritchie and Ken Thompson picking "unified system resources" and abbreviating it to /usr.

    • @stanislavgospodinov6104
      @stanislavgospodinov6104 Місяць тому

      ⁠Thanks @@DylanBeattie

  • @bauckrob
    @bauckrob Місяць тому +1

    I'm not entirely sure, but I believe Unix since early would have /usr on hard drive 2, as the pdp-11 there had two hard drives. OS on / and user home directories mounted as /usr. But the system at some point wouldn't fit one drive, so /usr/bin etc. became the rescue. Later, /home became a thing, since /usr had a different use. And backronyms like unix system resources are invented.

  • @DeviousMalcontent2
    @DeviousMalcontent2 Місяць тому +1

    I've also recently been reading up on how to develop apps for GEM which was a GUI interface for CP/M, Just out of general curiosity.

  • @StevePoston-em6vh
    @StevePoston-em6vh Місяць тому

    Great video...Can we have one on the history of the Inferno OS

  • @edgeeffect
    @edgeeffect Місяць тому

    Oh, clever use of letters to do a 2-parter!
    ... CP/M 2.2 is such a nostalgia trip for me... with only 64K, the whole system can "fit inside your head" and being an elite hacker was a much easier goal.

  • @menachemsalomon
    @menachemsalomon Місяць тому

    Unless I'm mistaken, the backslash that DOS, and now Windows, use to separate path elements is also from CP/M, where Unix uses a [forward] slash, as do Web URLs. Interesting tidbit: Microsoft released the source code for DOS 2.0, which has a compile-time flag, or more accurately an assembly EQU, that allowed you to build the OS to use a forward slash as a path element separator, and a minus for command line switches, just like Unix does.

    • @pjl22222
      @pjl22222 Місяць тому

      Before DOS had directories they decided to use slash for command options, like UNIX uses dashes. Then when they added directories slash was already in use so they had to pick something else and they figured backslash was good enough causing much confusion in non techie people who like to call slashes backslash for some reason.

    • @menachemsalomon
      @menachemsalomon Місяць тому

      @@pjl22222 And the use of slashes for command line switches, as opposed to dashes (or minuses) for command line options, came from CP/M.

  • @berndeckenfels
    @berndeckenfels Місяць тому +3

    C is for cookies, but serious „the world runs on C“ :) - not sure how that fares in terms of Acronym ,)

  • @DeviousMalcontent2
    @DeviousMalcontent2 Місяць тому +1

    My computer still has an A and B drive because I spent money on a grease weasel and a USB floppy disc drive, drive D is my USB DVD drive. And the reason they are all USB is that there's a stupidly complicated and convoluted network of USB devices that route to a switcher to go between my laptop and my main desktop computer which also has an installed Blu ray drive, and the only reason I bring this up is that I recently moved house and had to re-replicate that convoluted setup, and I've only used the floppy disc drive at least once this year.
    I don't even think the B drive (a 5.25 floppy) appears in Windows 10, but it's labelled as such. I'm fun at parties, and I hope I made someone at valve scratch their head during the steam hardware surveys...

  • @justafriend5361
    @justafriend5361 Місяць тому

    To your last question:
    It either breaks, or...
    You are suddenly able to move a file from M156: by a program on A1: over to M306: - and the whole file system gets as complicated as the british motorway system.

  • @andyhall7032
    @andyhall7032 Місяць тому

    Thankyou for celebrating Gary Kildall.

    • @MichaelPohoreski
      @MichaelPohoreski Місяць тому

      For making a shitty OS and setting computers back decades? His crap deserves to be forgotten.

  • @Elesario
    @Elesario Місяць тому

    Kind of had that happen with work one time, running out of drive letters. I had so many remote server drives mounted that I was running out of drive letters to assign them to. Thankfully, while you can run out of letters for mounting in Windows you can still directly address a server using its full path, \\servername\directorypath. Mounting is just a connection convenience at that point. Not sure what you'd do if they were physical drives, or logical partitions, but I'm not sure why you'd want that setup.

    • @mtarek2005
      @mtarek2005 Місяць тому

      for physical drives, it won't auto mount, and you'd need to mount it to a directory Unix style(yes windows supports that apparently, since forever, u don't even need to run out)

  • @DavidRutten
    @DavidRutten Місяць тому +17

    My prediction... you'd end up with Æ:/Documents/...

    • @mtarek2005
      @mtarek2005 Місяць тому +2

      it won't auto mount, and you'd need to mount it to a directory Unix style(yes windows supports that apparently, since forever, u don't even need to run out)

    • @musiqtee
      @musiqtee Місяць тому

      If it’s the “last available letter” on an appropriate ISO codepage containing Æ, it would be *Å,* but who’s counting letters outside MS…

    • @CarlosPinheiro-Chico
      @CarlosPinheiro-Chico Місяць тому +1

      You'll always have ℵn

  • @gregmurdoch3264
    @gregmurdoch3264 Місяць тому

    Wait ... what does happen if you use all 26 drive letters. I haven't used Windows as a daily driver in a long time, but now I want to know!

  • @mathsDOTearth
    @mathsDOTearth Місяць тому

    the TLA beginning with C for me has to be CPC (the amstrad CPC) which is where it all started for me and it included CP/M.

  • @stroiman.development
    @stroiman.development 16 днів тому

    My first computer was also the Amstrad CPC. I wrote an emulator once, as I couldn't get any of the existing ones working on Windows NT 4. Lost the source code unfortunately :(
    Particularly emulating the "graphics chip" was an interesting experience, as it was really a character renderer abused to do graphics. Which is why the Amstrad had the 8 line interlace pattern.
    And it was programming the Amstrad as a kid that tought me (non-native English speaker) to spell "colour", not "color".

  • @DinHamburg
    @DinHamburg Місяць тому

    been there - done that.
    Even MP/M ..

  • @AndrewJohnson-ur3lw
    @AndrewJohnson-ur3lw Місяць тому

    I have seen folks on networked PC's who run out of drive letters as they are not wanting to use long paths.
    As A & B are "free" I allocate these to removable USB drives

  • @CaptainParalytic
    @CaptainParalytic Місяць тому +2

    What about CICS. It still runs the world.

  • @ChrisCandreva
    @ChrisCandreva Місяць тому +1

    Commodore Business Machines????

  • @JamieBainbridge
    @JamieBainbridge Місяць тому

    I have always felt so bad for Kildall. He had the opportunity to become literally the richest person in the world and he blew it. He was so bitter for the rest of his life. It's sad this seemed to get the better of him.

  • @pleappleappleap
    @pleappleappleap Місяць тому

    CP/M snarfed the idea of drive letters from DEC RT-11 which snarfed it from IBM DOS/VSE and VM.

  • @CallousCoder
    @CallousCoder Місяць тому

    My goodness, I'm even older than CP/M :D
    I haven't had a lot of exposure to CP/M, I tried it on my XT machine and it was nice but all the good software, was on DOS by then (unfortunately). But the moment I saw the first Unix like machine, I was sold... It's been Unix/Unix_like for me since. I did run it a year ago on a C128 and my goodness, that was slow on a C128! Unusably slow!
    Oh man CORBA, that was uggghhh! The worst of the distributed crap ever! How unnecessarily complex could you make something as trivial as RPCs? I build several CORBA services with Delphi 5 in the late 90s, I so wanted it to be over! I rather build socket application with BSD sockets and have fun doing it compared to CORBA.

  • @MarekKnapek
    @MarekKnapek Місяць тому

    More than 26 disks (volumes, really)? No problem, mount them as directories into existing filesystem that supports this feature (such as NTFS, the mounted volume doesn't need to be NTFS). Or, access them via their NT name (that is projected to the Win32 name space), something like \device\harddisk2\volume3 being projected possibly as \\.\harddisk2\volume3.

  • @himanshuop84
    @himanshuop84 Місяць тому

    🥇

  • @kaseyboles30
    @kaseyboles30 Місяць тому

    Dave Plummer explains/demonstrates what >26 drives on a windows computer does.

  • @HeilTec
    @HeilTec Місяць тому

    I'd like to see you try connecting more than 26 disk drives to a single pc. Guess USB will be needed.

  • @pleappleappleap
    @pleappleappleap Місяць тому

    The opinions of computer dealers at the time was not relevant to IBM. IBM didn't not sell computers through "just anyone". Even when I got my PS/2 Model 50 in 1987, I had to go to a mainframe VAR. Selling through regular dealers to anyone off the street didn't come until later.

  • @sigstackfault
    @sigstackfault Місяць тому

    8:35 you just can't mount them as letters but NTFS allows you to mount drives as directories unix-style

    • @mtarek2005
      @mtarek2005 Місяць тому

      yeah

    • @mtarek2005
      @mtarek2005 Місяць тому +1

      I love mounting my flashdrives to C:\mnt\whatever or to mess with Linux users, to C:\dev\sda

  • @gammalgris2497
    @gammalgris2497 Місяць тому

    C for CP/M is fine. Gary needs some credit for his work. It's sad that microsoft prevailed with it's inferior DOS.

    • @MichaelPohoreski
      @MichaelPohoreski Місяць тому

      Microsoft has always copied others. They couldn’t innovate out of a paper bag.

  • @JanMichalSzulew
    @JanMichalSzulew Місяць тому

    If you add more than 26 drives, the 27th will just not show up in Windows. It will still show up in disk management.

    • @Quapcio
      @Quapcio Місяць тому

      And you could mount it in almost Unix/Linux style to empty folder of existing drives
      Even before that you can remove letter and mount as subdirectory (at least on NTFS filesystem)

  • @Rx7man
    @Rx7man Місяць тому

    C is for CRASH!

  • @m4rt_
    @m4rt_ Місяць тому

    Fun fact "usr" in /usr doesn't stand for "User" it stands for "Unix System Resources"

    • @DylanBeattie
      @DylanBeattie  Місяць тому +1

      It's funny, I've seen the same thing in a lot of articles and bits of documentation but I suspect that's another backronym added many years after the fact... mainly 'cos I just don't believe Dennis Ritchie and Ken Thompson would have stopped to figure that out the day their prototype OS got too big for the PDP-11 hard drive they were developing it on and they had to mount the second drive to give them enough space to keep going. That might be a fun one to come back to when we get to "U" :)

  • @aziztcf
    @aziztcf Місяць тому

    5:12 guess it just wouldn't mount those drives going over Z?

  • @ehsnils
    @ehsnils Місяць тому

    C is for Cobol.

  • @toby_solutions
    @toby_solutions Місяць тому

    Watching…

  • @Zeutomehr
    @Zeutomehr Місяць тому

    C is for CPU

  • @timc3600
    @timc3600 Місяць тому +1

    pip b:=a:*.*

  • @markevans2294
    @markevans2294 Місяць тому +1

    Internally CP/M uses a 4 bit number to identity disc drives. Meaning that the dive letters run A-P, rather than A-Z.
    CP/M filenames are an 11 character string. The dot only exists for human readability. Also conventions like filenames being upper case were only enforced by the Console Command Processor (CCP), effectively the "shell". It was trivial for applications to create lower and mixed case filenames. Even control code sequences.

  • @viccie211
    @viccie211 Місяць тому +1

    For more information about CP/M: The Phintage Collector is currently doing a series all about it!

  • @elfensky
    @elfensky Місяць тому

    From what I remember, it’ll start double lettering the drives. 

After Z comes AA, AB, AC…

    • @mtarek2005
      @mtarek2005 Місяць тому

      it won't auto mount, and you'd need to mount it to a directory Unix style(yes windows supports that apparently, since forever, u don't even need to run out)

    • @mtarek2005
      @mtarek2005 Місяць тому +1

      Excel is what doubles the letters

  • @clasqm
    @clasqm Місяць тому

    I'm starting an office pool on what "D" will stand for.

    • @widmo206
      @widmo206 Місяць тому +1

      Didn't he say it stands for DOS?

    • @DylanBeattie
      @DylanBeattie  Місяць тому +1

      D is for DOS. E might be a fun one to run a pool on, though. :)

    • @clasqm
      @clasqm Місяць тому

      @@DylanBeattie We've started with ACK, so ... EOF :-)

    • @dantenotavailable
      @dantenotavailable Місяць тому

      @@clasqm I predict you have 2 of the 3 letters correct (And in the right position too).

    • @LttlKnwnCompBehindWriteAssist
      @LttlKnwnCompBehindWriteAssist Місяць тому

      Delphi