Most active commenters

    ←back to thread

    244 points rbanffy | 11 comments | | HN request time: 1.951s | source | bottom
    1. csense ◴[] No.44606352[source]
    "Glenn came to my tool shed computer room in 1975, so we could "adapt" CP/M to the IMSAI hardware. What this means is that I would rewrite the parts of CP/M that manage things like diskette controllers and CRTs.

    Well. come on, I'd already done this so many times that the tips of my fingers were wearing thin, so I designed a general interface, which I called the BIOS (BASIC I/O System) that a good programmer could change on the spot for their hardware. This little BIOS arrangement was the secret to the success of CP/M.

    With the BIOS in place, a programmer could make CP/M work with their specialized hardware. With all those hobbyists out there, believe me, there was no shortage of specialized hardware. Glenn and I built a BIOS that afternoon and stuck CP/M on an IMSAI. He demo'd it to Ed Faber and the IMSAI engineers, and they loved it."

    Writing a BIOS for a new machine in a single afternoon. Those were the days...

    replies(2): >>44606433 #>>44610618 #
    2. WalterBright ◴[] No.44606433[source]
    In retrospect, MS-DOS was a rather trivial program. Sometimes I wonder why I and/or many others did not write an equivalent, even just for fun.
    replies(6): >>44606476 #>>44606487 #>>44607613 #>>44607757 #>>44608443 #>>44612745 #
    3. mikewarot ◴[] No.44606476[source]
    FreeDOS is one such program. It comes in quite handy at times.
    replies(1): >>44606494 #
    4. zozbot234 ◴[] No.44606487[source]
    There wasn't much of a point in writing a replacement when MS-DOS was bundled with your computer. The FreeDOS project only got started when Microsoft first announced that the then-new Windows 95 would start to move away from MS-DOS and people saw the writing on the wall.
    5. WalterBright ◴[] No.44606494{3}[source]
    True, but it wasn't usable until 2006, about 20 years too late.
    replies(1): >>44608587 #
    6. eichin ◴[] No.44607613[source]
    TurboDOS was a contemporary one - had multiprocessing (as in, you could have multiple Z80 CPU boards in a single card cage that passed messages over a bus) and was delivered as linkable objects, so you could customize the OS for your hardware (in the multi-Z80 setup, you didn't need any I/O that wasn't in the daughterboards, so in this case the tiny version of TurboDOS on the daughter boards did the message passing thing and talked to the physical serial ports, but didn't need a disk driver since the only disk was hooked to the single master board. Great (long-lost) stuff - we were building an early dialup info-service so each daughter board had multiple modems...
    7. rbanffy ◴[] No.44607757[source]
    > Sometimes I wonder why I and/or many others did not write an equivalent, even just for fun

    In a sense, every game developer back then wrote a very small real-time operating system that dealt with user input, state management, screen updates, and audio. I wrote a window server (a window-stacker would be more accurate) for the Apple II.

    8. Torwald ◴[] No.44608443[source]
    They did. The GNU project started in 1983.
    9. stuaxo ◴[] No.44608587{4}[source]
    Its only a decade and change, not too bad

    Many things worked way before that.

    10. skissane ◴[] No.44610618[source]
    > Writing a BIOS for a new machine in a single afternoon. Those were the days...

    This was not a BIOS in the sense of the PC ROM-BIOS, it was an OS module containing device drivers - the equivalent in PC-DOS is IBMIO.COM, in MS-DOS it is IO.SYS.

    Of course, writing it in an afternoon was still impressive, but it was a lot smaller than even the IBM PC ROM-BIOS; the MVP was essentially just two device drivers, one for the floppy drive, the other for either the screen/keyboard or for the serial port (if you used an attached serial terminal for IO). Probably IMSAI already had code for those drivers and they were just taking that existing code and interfacing it with the CP/M BIOS API

    11. burnt-resistor ◴[] No.44612745[source]
    API quirks compatibility, legal threats, and lack of distribution into channel resellers.