PicoGUS Adds CD-ROM Emulation To ISA Bus

Everything fails eventually, but moving parts fail fastest of all– and optical drives seemingly more than others, at least in our experience. Even when they work, vintage drives often have trouble with CD-R, and original media isn’t always easy to find. That’s why it’s so wonderful that [polpo]’s RP2040 ISA card, the PicoGUS 2.0, now supports CD-ROM emulation.

We covered PicoGUS when it first appeared as an ISA sound card,  and make no mistake, it can still emulate sound cards for retro-PC beeps and boops. It’s not just the Gravis Ultrasound (GUS) from which the project took its name, but Sound Blaster 2.0, MPU-401 for MIDI, Tandy 3-voice, and CMS/GameBlaster are all soft options. Like most sound cards back in the day, PicoGUS provides game port support as well.

We don’t recall sound cards that served as CD-ROM controllers, but apparently, that was a thing before IDE became the standard for optical drives. We do recall old CD-ROM drives that shipped with proprietary driver boards, and PicoGUS emulates Panasonic’s MKS standard, which apparently did show up on some sound cards. For the end-user, that doesn’t matter much: once it’s all set up using the open-source utilities (and appropriate drivers), you’ll have an optical drive sitting at D:.

There’s a USB port on the PicoGUS that lets you use a FAT32 formatted USB stick not as a CD drive, but a CD changer. You can access multiple disk images from the drive, selecting them with the utility software. There’s even a feature that lets you automatically advance to the next disk by removing and reinserting the drive, which is invaluable for multi-CD game installers. It’s not super speedy: in USB mode, expect it to run as fast as a 4x drive. (2x if the PicoGUS is emulating a Sound Blaster at the same time.) Considering that’s all with a single RP2040 in charge, it’s pretty fast. For a DOS box, it’s probably period appropriate, too.

The Almighty Algorithm reminded us about PicoGUS in a video by [vswitchero], which is embedded below for those of you who would like more information in the form of rapidly flickering images and sound.

25 thoughts on “PicoGUS Adds CD-ROM Emulation To ISA Bus

  1. There never was an ISA standard for CD-ROM drives, perhaps you mean IDE?

    Greetings from one that does remember the Sound Blasters with proprietary CD-ROM interfaces.

      1. Either way, it’s not really wrong. :)
        IDE (or ATA rather) is based off ISA bus/AT-Bus.

        The physical part ATAPI is more or less directly interfacing to ISA.
        The “IDE controller” of a CD-ROM drive is merely a simple host adapter in most cases.

        There are very minimalist “IDE controller” cards that merely have a single chip,
        an address decoder IC, to make the drive available at secondary IDE channel (usually I/O port 170 hex).

        The rest connects directly to the ISA bus.
        The ATAPI protocol is done in the DOS CD-ROM driver (oakcdrom.sys, videcdd.sys etc) and the CD-ROM drive.
        The vintage PC doesn’t need to know about it,
        it can be an original 286-based IBM/AT from 1984, even.

        Using a separate IDE “controller” (host adapter) has the nice side-effect that the HDD on primary-master channel
        and CD-ROM at secondary-master channel don’t need to share the same ribbon cable.

        Because cable select and master/slave didn’t work well in early 90s.
        The IDE drive of the time didn’t like that. There were incompatibilities, still. Especially between different manufacturers.
        That’s why SCSI was favored by professionals. It was more mature at the time.

          1. SCSI didn’t have the headaches of CHS/E-CHS addressing and the various BIOS/IDE limitations that plagued the DOS era.
            SCSI had used logical sectors from start, rather.
            It was using the equivalent to LBA, so to say.

            The issues that SCSI had on PC were software issues, rather. Or lack of proper termination.
            There had to be an int13h handler for HDD support, for example.
            If the SCSI controller had no ROM chip with BIOS compatible firmware w/ int13h support,
            then the SCSI controller was like a dead fish in the water until
            a compatible SCSI driver was loaded that supported the SCSI chip.

      1. ProAudioSpectrum 16 (PAS16), too! :D
        It had an 8-Bit Trantor SCSI interface, based on a popular Zilog (?) Chip.
        Early OSes such as OS/2 or NT supported PAS16/Trantor out-of-box.
        The mainstream users probably had Sound Blasters with some Sony/Philips/Mitsumi interface.

        Speaking of Mitsumi, the LU005S single-speed drive and its 8-Bit controller card (DMA capable!) used to be popular in early 90s.
        It’s among the oldest known standard, I think, not counting the 80s era external CD Players
        with their serial computer interfaces and proprietary interface cards (Philips CDD 462 etc). And except SCSI, of course.
        SCSI was available since the mid-late 80s and not just on PCs.
        It was also widely used Macintoshs, for example.

    1. Early on CD-ROM didn’t work on IDE because BIOS didn’t have CD-ROM support and DOS couldn’t access it. Early sound card had propriety CD connector and handled the data between early CD-ROM and DOS through ISA.

      Later version of CD-ROM worked on IDE via drivers to get around old BIOS limitation before BIOS supported CD-ROM directly.

      I may be off on a few points but yeah CD-ROM originally only worked through ISA on a propriety interface or sound card and not through IDE.

      1. Hi there! Do you mean BIOS support for booting from CD-ROM?
        “El Torito” came out in 1995 or so (in the Pentium days), but didn’t do much for DOS CD-ROM support.

        https://en.wikipedia.org/wiki/ISO_9660#Extensions_and_improvements

        On DOS, there’s MSCDEX CD-ROM extension and the hardware-dependent CD-ROM driver (SBIDE.SYS, OAKCDROM.SYS, VIDE-VDD.SYS etc).

        MSCDEX was shipped with Windows 3.1x and MS-DOS 6.x, but also available elsewhere (BBS, FTP, CD-ROMs).
        It also worked on and older DOS, such as DOS 3.3..

        Compatible replacements existed, as well.
        https://en.wikipedia.org/wiki/MSCDEX#Alternatives

      1. That’s because they both were sold as part of an “multimedia upgrade kit“.

        Having a soundcard was needed to meet MPC-Level 1 specification of multimedia PCs.
        At the time, CD-ROM technology and multimedia were a huge thing in PC industry.

        So it made sense to add a CD-ROM controller on soundcard, it saved an expansion slot, too!
        In early 90s, we were promissed a bright future and a wonderful ride on the Datenautobahn, err, information super highway.

        There also were soundcards with integrated modem, too!
        Such as IBM MWave, miro CONNECT34 WAVE or Creative
        Phone Blaster (CT3110).

        Did I mention that VGA cards used to have mouse ports? :D
        Have a look at the “ATI VGA Wonder XL”, for example.

  2. We don’t recall sound cards that served as CD-ROM controllers, but apparently, that was a thing before ISA became the standard for optical drives.

    Ohhh I do… I have a SoundBLASTER 16 here that gives you the pick of Panasonic, Sony and Mitsumi proprietary CD-ROM drive interfaces… a later Creative Vibra16C had a IDE controller for an IDE (ATAPI) CD-ROM drive.

    1. Oh yes. The extra controller e. g. on a sound card was necessary, even if you had a free IDE port, because CD ROM drives required E-IDE (ATAPI), while the original IDE (ATA) could just do hard drives.

    2. ISA was known as “AT-Bus” originally.
      In the late 80s, “AT-Bus Fixed-Disk Drives” were really just IDE HDDs (Intelligent Drive Electronics).

      Eventually, IDE became EIDE (Enhanced IDE) in mid-90s and ATA (AT-Attached) in late 90s.
      Before it was retro-actively renamed “PATA” (Parallel ATA) because of SATA.

      The term “IDE/ATAPI” or just ATAPI is the most correct one, I think.
      It means AT-Attached, Packet Interface.
      It’s an extension to IDE or AT-Bus with some useful SCSI commands for removable media.

      Speaking under correction here. It’s just an summary.

  3. “We don’t recall sound cards that served as CD-ROM controllers”

    Really? Pretty sure every machine in our family room, up until I built myself a K6-2 SuperSocket7 machine in ’98, had their CD-ROM drives attached via the sound card.

    1. An IDE connected CDROM would often pipe the audio to the soundcard via a small bridge wire. This was optional, the drives had headphone ports on the front. Not sure when this changed.

      1. The early CD-ROM drives actually required the audio cable to the sound card. Many of the drives didn’t support sending the audio over IDE. Even if they did, it would be too CPU intensive and you wouldn’t be able to do anything else on the computer while the CD was playing.

        I think the audio connectors started going away in the early 2000’s. Computers got fast enough that the processing power required to play a CD was insignificant.

      2. Windows happened.. That’s why! :D
        Windows 98 added “digital” playback directly over ribbon cable.
        It made Windows 98 read raw PCM audio data off CD audio tracks via data cable and did stream it to the soundcard driver/soundcard.

        It was an optional feature that could be enabled in Control Panel.
        “Enable Digital CD audio for this CD-ROM device” or something.
        Located on Device Manager or under Multimedia settings, not sure anymore.

        And since many users played all kind of games on Windows 9x anyway (including DOS games!) no one card or noticed about the loss at the time.

        That was until nostalgic users or retro gamers started to re-discover MS-DOS 6.22 and Windows 3.11 in the late 2000s..
        Then it became obvious that a CD/DVD/BD-ROM drive without a built-in, autonomous Audio-CD player is a disadvantage.

    2. It’s a factual statement, confused by the royal we of our editorial style: I literally meant “I don’t remember seeing that.”
      Of course my brain is swiss cheese, so that really means nothing. Weirdly enough I think I do remember the proprietary control cards. So my family probably jumped from an old CD with its own ISA card to one that sat on the IDE bus without going through the sound blaster– or it was hooked up through the sound card and I just misremember the whole thing.

      I absolutely remember the bridge cable for audio, though.

Leave a Reply to Stuart LonglandCancel 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.