You Can Now Run MS-DOS Applications On The Apple IIe

After a lot of debugging, [Seth Kushniryk] has managed to get the last issuess shaken out of his port of MS-DOS 2.0 to the Apple II, and has released the project to the public. If you have the requisite AD8088 or similar co-processor expansion card with onboard x86 CPU, this should be all you need to get started.

Although this co-processor card contains effectively a self-contained x86 system, its only I/O goes via the expansion bus, so it has to play nice with the 6502 CPU of the Apple II system. When we last reported on [Seth]’s efforts he had just managed to get MS-DOS 2.0 booting and basically in a barebones working state.

Since then he’s been working on the bridge program that provides communication between the 8088 on the card and the Apple II’s 6502, relocating it in RAM to enable high-resolution graphics, as well as other tweaks and optimizations. Also a lot of bug hunting, including an undocumented ProDOS constraint with a request count.

With all of this done it’s now possible to run basically any MS-DOS 2.0 compatible software, assuming it doesn’t try to write directly to video memory. This does limit the software selection somewhat, but back in the day it would probably have been amazing to have that 8 MHz 8088 purring along the 6502 to run both Apple and DOS software titles. Props to [Seth] for restoring this software functionality that had been lost to the ages.

21 thoughts on “You Can Now Run MS-DOS Applications On The Apple IIe

  1. In the early 1980s, actual MS-DOS, rather than PC-compatibles really existed, such as the Sirius One (Victor 9000), and early Apricot machines. And it made sense from a product perspective, because it was sort-of the heir to CP/M which provided OS-level compatibility rather than hardware-level compatibility. Having said that, CP/M-86 could have done that job.

    PC-compatibility was a major step backwards in that sense. It was virtually inevitable, because the 4.77 MHz 8088 was so puny, software developers wrote directly to hardware, but it held back progress in the Intel computer world for basically a decade. Throughout that period, non-PCs generally had better graphics, sound and CPU performance, because they didn’t have to be hardware compatible.

    In this era we’re essentially back to that model: the OS interacts via drivers, so design is theoretically more open to innovation.

    1. Commodore, Amiga, Atari, Acorn and others tried building PC computers with “very exciting” graphics, sound and CPU performance based on custom chips that only they manufacture and know how to program. Meanwhile Intel and IBM said “fuck it, let the market sort it out” and they only delivered a basic framework for building a computer.

      10 years later all those Amigas, Ataris and others were thrown into e-waste containers while PC could play Doom, Quake, Gothic, Half-Life, Garry’s Mod, GTA III and more and more games that keep coming because there’s no tommorow when you can replace GPU, music card, hard disk etc. without approval from some sweaty neckbeard EE wheezing at his custom schematic of his custom “magnificent” computer that can’t be upgraded because consumer rights are left-wing ideas and not compatible with his incel worldview.

      1. Meanwhile Intel and IBM said “fuck it, let the market sort it out” and they only delivered a basic framework for building a computer.

        Nope. I’m afraid in reality IBM had no real vision, at all. 😟
        It didn’t know what to do, except that it had to offer “something” to a new market (IBM was familiar with business partners and mainframe/miniconputer sector, not end-users).
        It wasn’t even clear what the PC Model 5150 was supposed to be.
        The 5150 has a cassette port of a home computer, because it wasn’t clear what users would need.

        The success of the IBM PC was its open design (off the shelf parts) and the IBM branding, I would say.
        Other manufacturers not knowing better then simply followed, like lemmings.
        It wasn’t “the market” that solved it in the narrower sense, but obedience to a big brand.
        Peer pressure, we could say. Because “nobody was ever fired for buying IBM”.
        The IBM PC then became an industry standard.
        To the delight to some companies which didn’t like to take any risks, which didn’t like to have responsibilities.

        The 8088 motherboard was very similar to a generic, rudimentary Z80 single-board computer from mid-late 70s.
        DRAM, refresher circuit, some IRQ and DMA controller, EPROM holding firmware, a simple interface for keyboard (non microcontroller).
        It’s something that radio amateurs or university students could have come up with.
        Something that would been published in Elector, Popular Electronics or 73s magazine.
        IMSAI 8080 and Altair 8800 were not that far off, design wise, except that they used 8080 (8088/8086 cards were optional).
        An outstanding part was the use of edge connector slots that were previously used on Apple 2, too.

        And Intel.. To my understanding, it was a producer of semiconductors, not an exclusive IBM partner at this point.
        8080, 8085, 8086, 8088 etc. were general purpose processors used in various applications.
        They could be bought at any local Radio Shack down the streets, basically.
        At this point, they were not “PC processors” per se. Up to the 486, x86 chips weren’t tied to PC platform.
        These x86 processors were also used in ethernet routers, in microcontroller applications etc.
        The 8088 was used in co-processor cards, for example. Such as IBM PGC or on SCSI controller boards.

        1. Absolutely! I’m not sure what Gardoni has against engineers(incels? he had to go there?) Note also it was Apple that got copyright legally enforced for software and firmware in their case against Franklin for copied BIOS in ’84. That late. IBM always settled with companies that copied the PC BIOS. Before then it wasn’t even clear that non-human-readable code had legal protection. If you were a lead engineer on a “home computer” project, you would get upset about releasing your designs… Looking back at Gardoni’s comment: GPU? that term was coined by Sony for mid 90s Playstation. Music Card? is that an obfuscation so we don’t look at actual historical Sound Cards? Is this an entire fictional history made up by someone who is defensive because vintage-collecting buddies have Amigas?(that’s an intended pun because of the incel remark lol) IBM PCs were a joke until 386, you would have been better off with an Atari or Amiga. and notably, Compaq came out with the first 386 PC, not IBM.

        2. What I may also should mention is the build quality.
          IBM as a typewriter and mainframe company built things to last.
          That might been an other factor as to why IBM was chosen by clients.
          The IBM PC and the keyboard were made of massive metal and sturdy plastic.

      2. “…without approval from some sweaty neckbeard EE wheezing at his custom schematic of his custom “magnificent” computer that can’t be upgraded because consumer rights are left-wing ideas and not compatible with his incel worldview….”

        It’s going to be OK.

        1. Commodore absolutely were, and they owned the Amiga brand.
          Atari and Acorn didn’t ever own any chip production facilities AFAIK.

    2. I wish I still had my apple iie stuff, I could have sworn there was a few ms dos floppies I had. Can’t remember the version tho. It also would have been cool to run Apple II DeskTop GUI

  2. A bios function of shadow video RAM should fix the direct video ram writing issue.

    As of the request count, it would depend if it is an undocumented hardware limitation, firmware limitation or software limitation. ProDOS can be completely removed with a run from boot application instead.  This means more work as you can’t use ProDOS functions, but it also means not being held back by any limitations in ProDOS.

  3. There was another product back in the Apple II days called the PC Transporter that did this and worked with the IIe and IIgs. It also worked with the Apple II floppy drives along with having the option to connect PC floppies to it. It only supported CGA graphics and it had a rather slow 8086 processor but it did work quite well all things considered.

  4. I’ve noticed that the biggest hurdle with these old systems is usually the proprietary disk formats, so seeing a solution that can actually talk to DOS-based files on an Apple drive is a total game-changer for data preservation. It’s a great way to breathe new life into a piece of hardware that most people would have just left in a basement to collect dust.

  5. With all of this done it’s now possible to run basically any MS-DOS 2.0 compatible software, assuming it doesn’t try to write directly to video memory. This does limit the software selection somewhat, but back in the day it would probably have been amazing to have that 8 MHz 8088 purring along the 6502 to run both Apple and DOS software titles. Props to [Seth] for restoring this software functionality that had been lost to the ages.

    There’s a workaround, in principle.
    Specially written CP/M, CP/M-86 and DOS applications can use GSX graphics API.
    So all it needs is a GSX runtime that supports Apple II graphics.
    GEM was basically the successor to GSX.
    https://www.seasip.info/Cpm/gsx.html

    Another solution is providing CGA emulation, of course.
    CGA can be accessed via Motorola 6845 registers/CGA framebuffer but also via PC BIOS (set pixel command).
    The latter is slow, but sort of hardware independent.
    Pacman for DOS/PC uses set pixel, I vaguely remember.
    For basic CGA software compatibility, most 6845 registers can be omitted.
    640×200 mono and 320×200 4c (cyan, magenta, white, black/bg) are most important resolutions.

    1. Most CGA games hit hardware as the original PC was slow. A 4.77MHz 8088 isn’t a speed demon and using BIOS routines were really bad too, especially if done per pixel.

      1. Yes, that’s true. That’s why the alternate CGA palettes often didn’t work on EGA/VGA graphics or “MS-DOS compatible PCs” with custom video (non-IBM PC clones).

        CGA games and paint programs that used the CGA registers to change palettes (instead of BIOS) often remained in cyan/magenta/white/black on EGA/VGA and DOS compatibles.

        Unless the user of an EGA/VGA card ran a so-called “mode utility” that re-programmed the graphics card to enter CGA emulation mode.
        Then, it behaved mostly like a real CGA card, including the blocky CGA font.

        Things like NTSC composite mode still did’t work, of course.
        Artifact colors needed a real NTSC monitor.

        A few DOS games that did work correctly on EGA/VGA were Monuments of Mars or Pharao’s Tomb.
        They used the BIOS to change the palette.

  6. What I think is cool about this is the large software library of both DOS and ProDOS.

    For example, it is in principle possible to run same CP/M-80 emulators as on IBM PC.
    So the 8088 card could run Z80MU, 22NICE and other CP/M emulators.
    Not sure how good they compare to a Z80 softcard with real CP/M, though.

    Maybe it’s also possible to use a NEC V20 instead of an 8088?
    It has 8080 emulation mode and can run some 286 era software.

    What’s also interesting is the PC-Sprint “overclock” hardware.
    Maybe it’s possible to use on this 8088 card, too?

    Anyway, terminal and communications software is also interesting.
    Some of that software had support for FOSSIL drivers, too.
    So maybe it’s possible to get them running with the Apple II serial interface somehow.

    There’s so much that could been done, probably! 🙂

    Such as an Apple II AdLib card, maybe?
    Or DOS software that can be patched/recompiled to use Mockingboard?

    Some of the earlier text-adventures might support textmode and some sound device, besides PC speaker.
    The Tandy 3-Voice chip is another candidate for an Apple II soundcard, maybe.
    Like AdLib it is using i/o ports.

    Just thinking out loud! 😅

    PS: DOS Plus 1.2 might be another candidate for such an 8088 card.
    Not sure if there’s an Apple II port already or if the source code can be adapted, though.

    1. Regarding the V20 – very possible. That’s what I use. I have yet to try running CPM-80 apps using 22NICE, but it’s planned.

  7. In 1983 we had add on cards with 8088 or Z80 on which you could run CP/M, we also had 6809 add on cards with OS/9 and a LOT of other goodies. When I left the Apple world I had some 20 add on cards….

    As for the Amiga, the proprietary chips were quite programmable, the proper manuals were on sale. I still have them from my developers’ times.

    What made the difference for the success of these is simply the installed volume of machine. It pays more to develop for millions of PC than for thousand of Amigas. Sadly the Amiga system was at least 10 years ahead of Win. And I do remember the joyful nightmare that the first years of cards addon compatibility were on PC.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.