Are all CP/M-80 implementations binary compatible? Unicorn Meta Zoo #1: Why another podcast? ...

A Dictionary or Encyclopedia of Fantasy or Fairy Tales from the 1960s

What is the least dense liquid under normal conditions?

Contradiction proof for inequality of P and NP?

Check if a string is entirely made of the same substring

A Paper Record is What I Hamper

My admission is revoked after accepting the admission offer

PIC mathematical operations weird problem

What is a 'Key' in computer science?

Is it acceptable to use working hours to read general interest books?

Is there any hidden 'W' sound after 'comment' in : Comment est-elle?

Did the Roman Empire have penal colonies?

What's the difference between using dependency injection with a container and using a service locator?

With indentation set to `0em`, when using a line break, there is still an indentation of a size of a space

Why did Israel vote against lifting the American embargo on Cuba?

Why does the Cisco show run command not show the full version, while the show version command does?

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

What *exactly* is electrical current, voltage, and resistance?

Map material from china not allowed to leave the country

Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?

How do I check if a string is entirely made of the same substring?

A strange hotel

What is the term for a person whose job is to place products on shelves in stores?

Suing a Police Officer Instead of the Police Department

How to translate "red flag" into Spanish?



Are all CP/M-80 implementations binary compatible?



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar ManaraWhy did Amstrad choose such bank combinations for its all-RAM mode in +2A and +3 Spectrum computers?How did the Apple II forward binary instructions to the Z80 software card with CPM?Are there any drivers available to use DivMMC on the Spectrum +3e with CP/M plus?What are the names of the computers, that were used in the CP/M advertisement?IBM would-be purchase of CP/M












9















I never was into CP/M, but I knew it was very popular and the amount of software out there was significant. That being said, when you looked beyond the Kaypros, the IMSAIs, the SOLs and the like which were presumably built mostly similar (well, if you consider that they're all based on the 8080 or Z80), there were a few oddballs out there. In particular, you could add CP/M capabilities to 6502 based platforms such as the Apple II, C64, Amstrad, etc.



Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations? In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge? I would presume all of the translation to KERNAL would be handled by the cartridge's BIOS.



Did this work seamlessly or was it a bit more complicated than that?










share|improve this question

























  • Are you asking about CP/M implementation or Application programs?

    – Raffzahn
    17 hours ago






  • 1





    I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

    – DroidW
    17 hours ago






  • 1





    Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

    – Raffzahn
    14 hours ago











  • It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

    – jmbpiano
    8 hours ago
















9















I never was into CP/M, but I knew it was very popular and the amount of software out there was significant. That being said, when you looked beyond the Kaypros, the IMSAIs, the SOLs and the like which were presumably built mostly similar (well, if you consider that they're all based on the 8080 or Z80), there were a few oddballs out there. In particular, you could add CP/M capabilities to 6502 based platforms such as the Apple II, C64, Amstrad, etc.



Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations? In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge? I would presume all of the translation to KERNAL would be handled by the cartridge's BIOS.



Did this work seamlessly or was it a bit more complicated than that?










share|improve this question

























  • Are you asking about CP/M implementation or Application programs?

    – Raffzahn
    17 hours ago






  • 1





    I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

    – DroidW
    17 hours ago






  • 1





    Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

    – Raffzahn
    14 hours ago











  • It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

    – jmbpiano
    8 hours ago














9












9








9


1






I never was into CP/M, but I knew it was very popular and the amount of software out there was significant. That being said, when you looked beyond the Kaypros, the IMSAIs, the SOLs and the like which were presumably built mostly similar (well, if you consider that they're all based on the 8080 or Z80), there were a few oddballs out there. In particular, you could add CP/M capabilities to 6502 based platforms such as the Apple II, C64, Amstrad, etc.



Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations? In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge? I would presume all of the translation to KERNAL would be handled by the cartridge's BIOS.



Did this work seamlessly or was it a bit more complicated than that?










share|improve this question
















I never was into CP/M, but I knew it was very popular and the amount of software out there was significant. That being said, when you looked beyond the Kaypros, the IMSAIs, the SOLs and the like which were presumably built mostly similar (well, if you consider that they're all based on the 8080 or Z80), there were a few oddballs out there. In particular, you could add CP/M capabilities to 6502 based platforms such as the Apple II, C64, Amstrad, etc.



Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations? In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge? I would presume all of the translation to KERNAL would be handled by the cartridge's BIOS.



Did this work seamlessly or was it a bit more complicated than that?







cp-m






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 13 hours ago







bjb

















asked 17 hours ago









bjbbjb

5,2211262




5,2211262













  • Are you asking about CP/M implementation or Application programs?

    – Raffzahn
    17 hours ago






  • 1





    I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

    – DroidW
    17 hours ago






  • 1





    Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

    – Raffzahn
    14 hours ago











  • It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

    – jmbpiano
    8 hours ago



















  • Are you asking about CP/M implementation or Application programs?

    – Raffzahn
    17 hours ago






  • 1





    I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

    – DroidW
    17 hours ago






  • 1





    Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

    – Raffzahn
    14 hours ago











  • It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

    – jmbpiano
    8 hours ago

















Are you asking about CP/M implementation or Application programs?

– Raffzahn
17 hours ago





Are you asking about CP/M implementation or Application programs?

– Raffzahn
17 hours ago




1




1





I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

– DroidW
17 hours ago





I'd not mention the Amstrad as a 6502 based platform, because IIRC, it is a Z80 based one. I will open up mine this afternoon to check… ;)

– DroidW
17 hours ago




1




1





Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

– Raffzahn
14 hours ago





Also, why is there 'Z80 CP/M' mentioned in the title? There was never a Z80 specific implementation of CP/M. Wouldn't that better read 'CP-/M-80', like the 'classic' 8 Bit CP/M was renamed, after 68k and 86 variants where introduced?

– Raffzahn
14 hours ago













It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

– jmbpiano
8 hours ago





It's worth noting the method you used to "add CP/M capabilities to" the C64 was by plugging in an external expansion device that included a separate Z80 processor. Similarly the C128 was able to run CP/M software by means of an extra Z80 processor built into the machine specifically for that purpose. When in CP/M mode, the Z80 was doing all the heavy lifting, so the effective hardware configuration of these machines weren't as different in comparison to other Z80 machines as you might initially expect.

– jmbpiano
8 hours ago










4 Answers
4






active

oldest

votes


















12














The primary benefit of CP/M was that the applications software was written for the CP/M-80 platform, which made those applications binary compatible across the many computer systems that were compatible with the platform (notwithstanding the fact that some application vendors would create Z80-specific binaries, which naturally were NOT compatible with 8080 CP/M systems).



The disadvantage that overrode a lot of the above benefit was that the floppy disk formats varied greatly amongst the different competing systems. So, even though the binaries were compatible, you still needed to obtain media specific to your system. At the time, floppy hardware varied significantly, so dealing with different media wasn't something they could solve with another layer of software.



In my mind, this fragmentation in CP/M was a major reason that it was so easily knocked off its throne by MS-DOS. IBM and Microsoft together were able to standardize the hardware platform, including the floppy controllers and drives. Thus, MS-DOS applications, which were already largely source code compatible to CP/M applications, could be shipped on common media with common binaries and disk format. Thus, programs and data became truly interchangeable amongst systems from different vendors. Competition flourished, users and software vendors were spared the nightmare of incompatible media, and the rest is history.






share|improve this answer


























  • Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

    – tofro
    14 hours ago











  • @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

    – Brian H
    14 hours ago








  • 1





    I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

    – tofro
    14 hours ago













  • A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

    – Will Hartung
    13 hours ago













  • @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

    – Brian H
    13 hours ago



















4














Basically the situation is much like with DOS later. DOS itself is pure 8086 code, while applications may require later/different CPUs (*1) - always check the fine print on the box (*2)




Are all Z80 CP/M implementations binary compatible?




Yes, CP/M (BDOS/CCP/utilities) is pure 8080 code. BIOS in contrast is supposed to be machine specific anyway, so it's not uncommon to find Z80 or other non 8080 code there.




Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations?




Now, asking about applications, the world may look different. In general companies only used 8080 code again, so yes, a Wordstar binary for the Apple II was exactly the same as for a Kaypro or any other machine.



Of course there where also applications specific made to take advantage of more capable CPUs. It made sense to check before buying.




In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge?




Yes, except exchanging disks between these three would be quite a hurdle to climb :))





*1 - Yes, I know there where drivers and extensions requiring certain CPUs to run. But these where not part of the core and even though the core was using them, the interface was 8086 compatible, so everything 'newer' was encapsulated within the driver.



*2 - Who doesn't remember the huge list of CPU, Graphics card, Sound card, CD-Drive and whatsoever list on the side of 90's game boxes :))






share|improve this answer
























  • At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

    – mnem
    14 hours ago













  • @mnem Not really, there where zillions of formats out there :)

    – Raffzahn
    12 hours ago











  • It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

    – mnem
    12 hours ago





















3














If you could get your computer to load the disk (which sounds easier than actually done, considering the huge amount of different and entirely incompatible disk formats that exist for CP/M computers) and your computer had a Z80 CPU (some software was Z80-only, like Turbo Pascal, for example) and enough memory, you could very probably run next to all available CP/M software.



Whether you saw something (the intended something!) on your screen/terminal, depended on the terminal or terminal emulation you ran on your equipment: Your best bet was probably a DEC (VT52 or VT100) or ADM3a emulation. Most software that was not purely line-oriented thus came with patch lists or even a configuration program to adapt the software to specific terminals.



There still was CP/M software that was tailored to specific computers, very common were adaptions to popular makes that had a bitmapped text display. You could argue, however, that these pieces of software were not real CP/M 80 software, as they normally didn't use OS routines to handle the display.






share|improve this answer































    2














    Not always.



    For example MBASIC (and GBASIC) supplied with the Microsoft Softcard for the Apple ][ are custom for the that environment and have support for paddles, lores and hires graphics.



    This is however unusual for a CP/M application, most have a terminal configuration program to allow customisation for that environment. I wouldn't be surprised to find that versions sold with a computer (I'm thinking Osborne) were tied to that particular hardware. I'm pretty sure that Turbo Pascal on an Apple ][ format disk was already preconfigured for the softcard terminal.






    share|improve this answer
























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "648"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      noCode: true, onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10809%2fare-all-cp-m-80-implementations-binary-compatible%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      4 Answers
      4






      active

      oldest

      votes








      4 Answers
      4






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      12














      The primary benefit of CP/M was that the applications software was written for the CP/M-80 platform, which made those applications binary compatible across the many computer systems that were compatible with the platform (notwithstanding the fact that some application vendors would create Z80-specific binaries, which naturally were NOT compatible with 8080 CP/M systems).



      The disadvantage that overrode a lot of the above benefit was that the floppy disk formats varied greatly amongst the different competing systems. So, even though the binaries were compatible, you still needed to obtain media specific to your system. At the time, floppy hardware varied significantly, so dealing with different media wasn't something they could solve with another layer of software.



      In my mind, this fragmentation in CP/M was a major reason that it was so easily knocked off its throne by MS-DOS. IBM and Microsoft together were able to standardize the hardware platform, including the floppy controllers and drives. Thus, MS-DOS applications, which were already largely source code compatible to CP/M applications, could be shipped on common media with common binaries and disk format. Thus, programs and data became truly interchangeable amongst systems from different vendors. Competition flourished, users and software vendors were spared the nightmare of incompatible media, and the rest is history.






      share|improve this answer


























      • Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

        – tofro
        14 hours ago











      • @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

        – Brian H
        14 hours ago








      • 1





        I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

        – tofro
        14 hours ago













      • A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

        – Will Hartung
        13 hours ago













      • @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

        – Brian H
        13 hours ago
















      12














      The primary benefit of CP/M was that the applications software was written for the CP/M-80 platform, which made those applications binary compatible across the many computer systems that were compatible with the platform (notwithstanding the fact that some application vendors would create Z80-specific binaries, which naturally were NOT compatible with 8080 CP/M systems).



      The disadvantage that overrode a lot of the above benefit was that the floppy disk formats varied greatly amongst the different competing systems. So, even though the binaries were compatible, you still needed to obtain media specific to your system. At the time, floppy hardware varied significantly, so dealing with different media wasn't something they could solve with another layer of software.



      In my mind, this fragmentation in CP/M was a major reason that it was so easily knocked off its throne by MS-DOS. IBM and Microsoft together were able to standardize the hardware platform, including the floppy controllers and drives. Thus, MS-DOS applications, which were already largely source code compatible to CP/M applications, could be shipped on common media with common binaries and disk format. Thus, programs and data became truly interchangeable amongst systems from different vendors. Competition flourished, users and software vendors were spared the nightmare of incompatible media, and the rest is history.






      share|improve this answer


























      • Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

        – tofro
        14 hours ago











      • @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

        – Brian H
        14 hours ago








      • 1





        I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

        – tofro
        14 hours ago













      • A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

        – Will Hartung
        13 hours ago













      • @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

        – Brian H
        13 hours ago














      12












      12








      12







      The primary benefit of CP/M was that the applications software was written for the CP/M-80 platform, which made those applications binary compatible across the many computer systems that were compatible with the platform (notwithstanding the fact that some application vendors would create Z80-specific binaries, which naturally were NOT compatible with 8080 CP/M systems).



      The disadvantage that overrode a lot of the above benefit was that the floppy disk formats varied greatly amongst the different competing systems. So, even though the binaries were compatible, you still needed to obtain media specific to your system. At the time, floppy hardware varied significantly, so dealing with different media wasn't something they could solve with another layer of software.



      In my mind, this fragmentation in CP/M was a major reason that it was so easily knocked off its throne by MS-DOS. IBM and Microsoft together were able to standardize the hardware platform, including the floppy controllers and drives. Thus, MS-DOS applications, which were already largely source code compatible to CP/M applications, could be shipped on common media with common binaries and disk format. Thus, programs and data became truly interchangeable amongst systems from different vendors. Competition flourished, users and software vendors were spared the nightmare of incompatible media, and the rest is history.






      share|improve this answer















      The primary benefit of CP/M was that the applications software was written for the CP/M-80 platform, which made those applications binary compatible across the many computer systems that were compatible with the platform (notwithstanding the fact that some application vendors would create Z80-specific binaries, which naturally were NOT compatible with 8080 CP/M systems).



      The disadvantage that overrode a lot of the above benefit was that the floppy disk formats varied greatly amongst the different competing systems. So, even though the binaries were compatible, you still needed to obtain media specific to your system. At the time, floppy hardware varied significantly, so dealing with different media wasn't something they could solve with another layer of software.



      In my mind, this fragmentation in CP/M was a major reason that it was so easily knocked off its throne by MS-DOS. IBM and Microsoft together were able to standardize the hardware platform, including the floppy controllers and drives. Thus, MS-DOS applications, which were already largely source code compatible to CP/M applications, could be shipped on common media with common binaries and disk format. Thus, programs and data became truly interchangeable amongst systems from different vendors. Competition flourished, users and software vendors were spared the nightmare of incompatible media, and the rest is history.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited 13 hours ago

























      answered 14 hours ago









      Brian HBrian H

      18.3k69158




      18.3k69158













      • Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

        – tofro
        14 hours ago











      • @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

        – Brian H
        14 hours ago








      • 1





        I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

        – tofro
        14 hours ago













      • A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

        – Will Hartung
        13 hours ago













      • @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

        – Brian H
        13 hours ago



















      • Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

        – tofro
        14 hours ago











      • @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

        – Brian H
        14 hours ago








      • 1





        I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

        – tofro
        14 hours ago













      • A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

        – Will Hartung
        13 hours ago













      • @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

        – Brian H
        13 hours ago

















      Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

      – tofro
      14 hours ago





      Quite some software, like the most famous Turbo Pascal compiler, was Z80 only - It wouldn't run on an 8080.

      – tofro
      14 hours ago













      @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

      – Brian H
      14 hours ago







      @tofro Good point. Did DR ever differentiate 8080 CP/M from Z80 CP/M in its marketing?

      – Brian H
      14 hours ago






      1




      1





      I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

      – tofro
      14 hours ago







      I don't think so. All the BDOS sources I've seen so far were written in 8080 assembly only. I don't think there ever was a DR "Z80 edition"

      – tofro
      14 hours ago















      A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

      – Will Hartung
      13 hours ago







      A lot of early MS-DOS computers were not PC compatible, so there was a bout of incompatible software (recall how hardware vendors would ensure the PC compatibility by running Flight Simulator). Those early machines were weeded out quite quickly however to where PC Compatibility was the norm, not necessarily MS-DOS compatibility. The MS-DOS market was never as fragmented as CP/M was.

      – Will Hartung
      13 hours ago















      @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

      – Brian H
      13 hours ago





      @WillHartung Yes, good point. IIRC Microsoft (Bill Gates) was anxious to promote MS-DOS as a CP/M competitor any way he could. Only later realizing that the IBM PC would spawn an industry of compatible hardware for MS-DOS to leverage.

      – Brian H
      13 hours ago











      4














      Basically the situation is much like with DOS later. DOS itself is pure 8086 code, while applications may require later/different CPUs (*1) - always check the fine print on the box (*2)




      Are all Z80 CP/M implementations binary compatible?




      Yes, CP/M (BDOS/CCP/utilities) is pure 8080 code. BIOS in contrast is supposed to be machine specific anyway, so it's not uncommon to find Z80 or other non 8080 code there.




      Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations?




      Now, asking about applications, the world may look different. In general companies only used 8080 code again, so yes, a Wordstar binary for the Apple II was exactly the same as for a Kaypro or any other machine.



      Of course there where also applications specific made to take advantage of more capable CPUs. It made sense to check before buying.




      In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge?




      Yes, except exchanging disks between these three would be quite a hurdle to climb :))





      *1 - Yes, I know there where drivers and extensions requiring certain CPUs to run. But these where not part of the core and even though the core was using them, the interface was 8086 compatible, so everything 'newer' was encapsulated within the driver.



      *2 - Who doesn't remember the huge list of CPU, Graphics card, Sound card, CD-Drive and whatsoever list on the side of 90's game boxes :))






      share|improve this answer
























      • At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

        – mnem
        14 hours ago













      • @mnem Not really, there where zillions of formats out there :)

        – Raffzahn
        12 hours ago











      • It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

        – mnem
        12 hours ago


















      4














      Basically the situation is much like with DOS later. DOS itself is pure 8086 code, while applications may require later/different CPUs (*1) - always check the fine print on the box (*2)




      Are all Z80 CP/M implementations binary compatible?




      Yes, CP/M (BDOS/CCP/utilities) is pure 8080 code. BIOS in contrast is supposed to be machine specific anyway, so it's not uncommon to find Z80 or other non 8080 code there.




      Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations?




      Now, asking about applications, the world may look different. In general companies only used 8080 code again, so yes, a Wordstar binary for the Apple II was exactly the same as for a Kaypro or any other machine.



      Of course there where also applications specific made to take advantage of more capable CPUs. It made sense to check before buying.




      In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge?




      Yes, except exchanging disks between these three would be quite a hurdle to climb :))





      *1 - Yes, I know there where drivers and extensions requiring certain CPUs to run. But these where not part of the core and even though the core was using them, the interface was 8086 compatible, so everything 'newer' was encapsulated within the driver.



      *2 - Who doesn't remember the huge list of CPU, Graphics card, Sound card, CD-Drive and whatsoever list on the side of 90's game boxes :))






      share|improve this answer
























      • At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

        – mnem
        14 hours ago













      • @mnem Not really, there where zillions of formats out there :)

        – Raffzahn
        12 hours ago











      • It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

        – mnem
        12 hours ago
















      4












      4








      4







      Basically the situation is much like with DOS later. DOS itself is pure 8086 code, while applications may require later/different CPUs (*1) - always check the fine print on the box (*2)




      Are all Z80 CP/M implementations binary compatible?




      Yes, CP/M (BDOS/CCP/utilities) is pure 8080 code. BIOS in contrast is supposed to be machine specific anyway, so it's not uncommon to find Z80 or other non 8080 code there.




      Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations?




      Now, asking about applications, the world may look different. In general companies only used 8080 code again, so yes, a Wordstar binary for the Apple II was exactly the same as for a Kaypro or any other machine.



      Of course there where also applications specific made to take advantage of more capable CPUs. It made sense to check before buying.




      In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge?




      Yes, except exchanging disks between these three would be quite a hurdle to climb :))





      *1 - Yes, I know there where drivers and extensions requiring certain CPUs to run. But these where not part of the core and even though the core was using them, the interface was 8086 compatible, so everything 'newer' was encapsulated within the driver.



      *2 - Who doesn't remember the huge list of CPU, Graphics card, Sound card, CD-Drive and whatsoever list on the side of 90's game boxes :))






      share|improve this answer













      Basically the situation is much like with DOS later. DOS itself is pure 8086 code, while applications may require later/different CPUs (*1) - always check the fine print on the box (*2)




      Are all Z80 CP/M implementations binary compatible?




      Yes, CP/M (BDOS/CCP/utilities) is pure 8080 code. BIOS in contrast is supposed to be machine specific anyway, so it's not uncommon to find Z80 or other non 8080 code there.




      Was all software made for CP/M (8080) compatible across all these machines including the Apple/C64/etc variations?




      Now, asking about applications, the world may look different. In general companies only used 8080 code again, so yes, a Wordstar binary for the Apple II was exactly the same as for a Kaypro or any other machine.



      Of course there where also applications specific made to take advantage of more capable CPUs. It made sense to check before buying.




      In other words, if you were to purchase WordStar on disk, could you boot it on a Kaypro just as easily as a C64 with the CP/M cartridge?




      Yes, except exchanging disks between these three would be quite a hurdle to climb :))





      *1 - Yes, I know there where drivers and extensions requiring certain CPUs to run. But these where not part of the core and even though the core was using them, the interface was 8086 compatible, so everything 'newer' was encapsulated within the driver.



      *2 - Who doesn't remember the huge list of CPU, Graphics card, Sound card, CD-Drive and whatsoever list on the side of 90's game boxes :))







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered 17 hours ago









      RaffzahnRaffzahn

      57.4k6140234




      57.4k6140234













      • At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

        – mnem
        14 hours ago













      • @mnem Not really, there where zillions of formats out there :)

        – Raffzahn
        12 hours ago











      • It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

        – mnem
        12 hours ago





















      • At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

        – mnem
        14 hours ago













      • @mnem Not really, there where zillions of formats out there :)

        – Raffzahn
        12 hours ago











      • It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

        – mnem
        12 hours ago



















      At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

      – mnem
      14 hours ago







      At least on the Commodore platform the disk compatibility problem was partially solved with the later 1570, 1571, and 1581 drives that could read DOS and CP/M MFM-encoded disks.

      – mnem
      14 hours ago















      @mnem Not really, there where zillions of formats out there :)

      – Raffzahn
      12 hours ago





      @mnem Not really, there where zillions of formats out there :)

      – Raffzahn
      12 hours ago













      It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

      – mnem
      12 hours ago







      It's not perfect, for sure, although the Commodore version of CP/M 3 at least supports a variety of the most common CP/M disk formats on appropriate drives, including Epson QX10, IBM-8 SS and DS (CP/M 86), KayPro II and IV, and Osborne DD. Thanks to the Auto-density support in CP/M 3 it'll even autodetect between all those types.

      – mnem
      12 hours ago













      3














      If you could get your computer to load the disk (which sounds easier than actually done, considering the huge amount of different and entirely incompatible disk formats that exist for CP/M computers) and your computer had a Z80 CPU (some software was Z80-only, like Turbo Pascal, for example) and enough memory, you could very probably run next to all available CP/M software.



      Whether you saw something (the intended something!) on your screen/terminal, depended on the terminal or terminal emulation you ran on your equipment: Your best bet was probably a DEC (VT52 or VT100) or ADM3a emulation. Most software that was not purely line-oriented thus came with patch lists or even a configuration program to adapt the software to specific terminals.



      There still was CP/M software that was tailored to specific computers, very common were adaptions to popular makes that had a bitmapped text display. You could argue, however, that these pieces of software were not real CP/M 80 software, as they normally didn't use OS routines to handle the display.






      share|improve this answer




























        3














        If you could get your computer to load the disk (which sounds easier than actually done, considering the huge amount of different and entirely incompatible disk formats that exist for CP/M computers) and your computer had a Z80 CPU (some software was Z80-only, like Turbo Pascal, for example) and enough memory, you could very probably run next to all available CP/M software.



        Whether you saw something (the intended something!) on your screen/terminal, depended on the terminal or terminal emulation you ran on your equipment: Your best bet was probably a DEC (VT52 or VT100) or ADM3a emulation. Most software that was not purely line-oriented thus came with patch lists or even a configuration program to adapt the software to specific terminals.



        There still was CP/M software that was tailored to specific computers, very common were adaptions to popular makes that had a bitmapped text display. You could argue, however, that these pieces of software were not real CP/M 80 software, as they normally didn't use OS routines to handle the display.






        share|improve this answer


























          3












          3








          3







          If you could get your computer to load the disk (which sounds easier than actually done, considering the huge amount of different and entirely incompatible disk formats that exist for CP/M computers) and your computer had a Z80 CPU (some software was Z80-only, like Turbo Pascal, for example) and enough memory, you could very probably run next to all available CP/M software.



          Whether you saw something (the intended something!) on your screen/terminal, depended on the terminal or terminal emulation you ran on your equipment: Your best bet was probably a DEC (VT52 or VT100) or ADM3a emulation. Most software that was not purely line-oriented thus came with patch lists or even a configuration program to adapt the software to specific terminals.



          There still was CP/M software that was tailored to specific computers, very common were adaptions to popular makes that had a bitmapped text display. You could argue, however, that these pieces of software were not real CP/M 80 software, as they normally didn't use OS routines to handle the display.






          share|improve this answer













          If you could get your computer to load the disk (which sounds easier than actually done, considering the huge amount of different and entirely incompatible disk formats that exist for CP/M computers) and your computer had a Z80 CPU (some software was Z80-only, like Turbo Pascal, for example) and enough memory, you could very probably run next to all available CP/M software.



          Whether you saw something (the intended something!) on your screen/terminal, depended on the terminal or terminal emulation you ran on your equipment: Your best bet was probably a DEC (VT52 or VT100) or ADM3a emulation. Most software that was not purely line-oriented thus came with patch lists or even a configuration program to adapt the software to specific terminals.



          There still was CP/M software that was tailored to specific computers, very common were adaptions to popular makes that had a bitmapped text display. You could argue, however, that these pieces of software were not real CP/M 80 software, as they normally didn't use OS routines to handle the display.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 13 hours ago









          tofrotofro

          17k33597




          17k33597























              2














              Not always.



              For example MBASIC (and GBASIC) supplied with the Microsoft Softcard for the Apple ][ are custom for the that environment and have support for paddles, lores and hires graphics.



              This is however unusual for a CP/M application, most have a terminal configuration program to allow customisation for that environment. I wouldn't be surprised to find that versions sold with a computer (I'm thinking Osborne) were tied to that particular hardware. I'm pretty sure that Turbo Pascal on an Apple ][ format disk was already preconfigured for the softcard terminal.






              share|improve this answer




























                2














                Not always.



                For example MBASIC (and GBASIC) supplied with the Microsoft Softcard for the Apple ][ are custom for the that environment and have support for paddles, lores and hires graphics.



                This is however unusual for a CP/M application, most have a terminal configuration program to allow customisation for that environment. I wouldn't be surprised to find that versions sold with a computer (I'm thinking Osborne) were tied to that particular hardware. I'm pretty sure that Turbo Pascal on an Apple ][ format disk was already preconfigured for the softcard terminal.






                share|improve this answer


























                  2












                  2








                  2







                  Not always.



                  For example MBASIC (and GBASIC) supplied with the Microsoft Softcard for the Apple ][ are custom for the that environment and have support for paddles, lores and hires graphics.



                  This is however unusual for a CP/M application, most have a terminal configuration program to allow customisation for that environment. I wouldn't be surprised to find that versions sold with a computer (I'm thinking Osborne) were tied to that particular hardware. I'm pretty sure that Turbo Pascal on an Apple ][ format disk was already preconfigured for the softcard terminal.






                  share|improve this answer













                  Not always.



                  For example MBASIC (and GBASIC) supplied with the Microsoft Softcard for the Apple ][ are custom for the that environment and have support for paddles, lores and hires graphics.



                  This is however unusual for a CP/M application, most have a terminal configuration program to allow customisation for that environment. I wouldn't be surprised to find that versions sold with a computer (I'm thinking Osborne) were tied to that particular hardware. I'm pretty sure that Turbo Pascal on an Apple ][ format disk was already preconfigured for the softcard terminal.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 15 hours ago









                  PeterIPeterI

                  3,3381730




                  3,3381730






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Retrocomputing Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10809%2fare-all-cp-m-80-implementations-binary-compatible%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Why do type traits not work with types in namespace scope?What are POD types in C++?Why can templates only be...

                      Will tsunami waves travel forever if there was no land?Why do tsunami waves begin with the water flowing away...

                      Should I use Docker or LXD?How to cache (more) data on SSD/RAM to avoid spin up?Unable to get Windows File...