Slashdot Mirror


Life After MS-DOS: FreeDOS Keeps On Kicking

angry tapir writes "FreeDOS — the drop-in, open source replacement for MS-DOS — was started after Microsoft announced that starting from Windows 95, DOS would play a background role at best for users. Almost two decades later, FreeDOS has survived and, as its creator explains in this interview, is still being actively developed, despite achieving its initial aim of an MS-DOS compatible OS, which quite frankly is somewhat amazing."

61 of 255 comments (clear)

  1. Not surprising by masternerdguy · · Score: 5, Insightful

    To recreate something is to understand it, and msdos is worth understanding. Tons of legacy applications still depend on dos and are still in use! This is a step towards long term support of those applications.

    --
    To offset political mods, replace Flamebait with Insightful.
    1. Re:Not surprising by Anonymous Coward · · Score: 5, Interesting

      It would work well in VirtualBox, if it weren't for a stupid VirtualBox bug.

    2. Re:Not surprising by marcello_dl · · Score: 4, Interesting

      Not only legacy- I had updated my aspire 5720's bios to suppress a bug which prevented 64bit linux using freedos because I had already got rid of the Vista installation (30 minutes after started using it, I think 8 will last less). Worked flawlessly but I acknowledge it's a risky procedure.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    3. Re:Not surprising by hobarrera · · Score: 4, Informative

      Legacy applications?
      I've a 2010 intel motherboard with an integrated nic that reports "bad eeprom checksum" every time there's a power failure.
      Intel only provides a DOS utility to re-flash the firmware, if it weren't for FreeDOS, I'd have a useless nic (on a mobo with no free PCIs, BTW).

      Lots of hardware vendors still provide DOS-only BIOS updated, and similar utilities, regrettably, so FreeDOS still has plenty of uses - though not for the average user.

    4. Re:Not surprising by ducomputergeek · · Score: 5, Interesting

      I have clients who still are using systems, like sales and inventory sales databases, running on DOS and now using FreeDOS.

      The owners don't want to replace something that works for new and shiny.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    5. Re:Not surprising by rbprbp · · Score: 2

      Not only legacy: for BIOS/firmware updates it's often the only choice. There is flashrom (http://flashrom.org/Flashrom), for flashing from within Linux, but I don't dare using it.

      --
      They're there in their room. You're on your own.
    6. Re:Not surprising by interval1066 · · Score: 4, Interesting

      Real Time Systems: a certain PLC vendor (won't name whom, but they're American, and huge) only provides 16-bit drivers to one of their backplane products, if things haven't changed in 3 years, and I bet they haven't. If it wasn't for FreeDOS, third party licensors would be screwed. With FreeDOS and a real time ASIC, these licensors can create products that work with the main vendor.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    7. Re:Not surprising by mvar · · Score: 4, Interesting

      I second that. Years ago I worked for a company where we installed-supported logistics & accounting programs from a specific vendor. The main software, the vendor's "best-seller" was DOS-based. When they released the newest, Windows-only version which completely changed the user experience by the introduction of the mouse, most customers went nuts upon hearing that the DOS version was going EOL. They were used to the keyboard and having to re-learn everything and memorize where and what to click in order to go to the next field or print an invoice was considered unnecessary by the majority of the customers. The vendor eventually had to recall the EOL and to this day they still support & release updates for this decades-old software.

    8. Re:Not surprising by idontgno · · Score: 4, Informative

      At least the bug has a work-around fix:

      The fix

      FreeDOS developer Eric Auer has provided a fix that corrects the buggy behaviour of the VirtualBox PCI BIOS. It can be downloaded at:

      http://lazybrowndog.net/freedos/files/vbox-fix.zip

      His solution is a small TSR program that comes with new handlers for two PCI BIOS scanning functions, that make them scan only existing PCI bus numbers. VBOX-FIX.COM is supposed to be loaded in AUTOEXEC.BAT. The program checks if it is running inside a VirtualBox guest and loads only if it can verify that. Eric Auer writes:

      It does up to two PCI scans by vendor:device ID (int 1a.b102 calls) to check for two VirtualBox specific PCI devices. Only if at least one of them is present, the faster-on-VirtualBox int 1a handler for int 1a.b102 and b103 (scan by vendor:device or class- subclass-interface) is installed as a TSR. The VB vendor:device ID values are 80ee:beef and 80ee:cafe.

      VBOX-FIX.COM needs 416 bytes of DOS memory and can be loaded high.

      Gosh. "...can be loaded high.". I got a little tickle of nostalgia thinking about that. All those wonderful "load high and remain resident" hacks.

      Wait. Why is this good?

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    9. Re:Not surprising by hduff · · Score: 2

      I read the page and there's a fix for it. So... your issue was?

      I suspect that, given that the bug can be fixed, the VirtualBox devs should fix their own code and not rely on the kindness of strangers.

      --
      "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
    10. Re:Not surprising by davydagger · · Score: 2

      virtualbox is great because it runs well ontop of other modern opperating systems without real virtualization, in shear emulation.

      Dosbox, a complete dos machine emulator that utilizes FreeDOS, is available on many platforms to include windows, android, and GNU/Linux.

      it makes DOS era programs accessable for the modern computing era.

    11. Re:Not surprising by morcego · · Score: 3, Insightful

      Honestly, it's all about the ROI here. If you have 100 users which are affected by an obscure bug which has a workaround already, and at the same time have maybe 100 other more important bugs to fix, guess what's going to happen with the first bug?

      A bug is a bug, and you can never be sure of all ramifications. If it is not important, remove the code. If it is important enough to keep, then fix it.

      --
      morcego
    12. Re:Not surprising by war4peace · · Score: 2

      You can also not be sure of all ramifications if you fix it. Maybe the possible breakages from fixing it would affect more people than you would make happy after fixing it.

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    13. Re:Not surprising by Zemran · · Score: 2

      There is often good reason for staying with a (Free)DOS based system. In real time systems you can write something that actually works but if you put it on XP or Linux etc. it no longer works in real time and that can be a big problem in control systems. Most of the added complexity in XP etc. is to make the UI pretty and if you do not want that UI then why tolerate that added complexity and additional probability of failure. POS systems may be called real time but they are not as real time as machine control systems where waiting for the OS can have serious consequences. No system is perfect but allow a good analyst to have all the options and a good reason to choose the best one for the job rather than coming to the stupid conclusion that one answer should fit all.

      --
      I love stacking my barbecues in the shed at the end of summer - you can't beat a bit of grill on grill action.
    14. Re:Not surprising by Nyder · · Score: 3, Funny

      ...

      Gosh. "...can be loaded high.". I got a little tickle of nostalgia thinking about that. All those wonderful "load high and remain resident" hacks.

      Wait. Why is this good?

      640k is enough for everyone!

      --
      Be seeing you...
    15. Re:Not surprising by gmhowell · · Score: 3, Funny

      I saw TSR and got the same feeling

      Pfft. TSR sucked after that lawsuit with Gygax's wife.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
  2. That's cool, I guess ... by 0racle · · Score: 5, Funny

    The graphics suck though.

    --
    "I use a Mac because I'm just better than you are."
    1. Re:That's cool, I guess ... by ProzacPatient · · Score: 5, Funny

      Still looks better then Windows 8 though

    2. Re:That's cool, I guess ... by jfdavis668 · · Score: 2, Insightful

      Windows 8 looks suprisingly like Windows 1.

    3. Re:That's cool, I guess ... by sootman · · Score: 5, Funny

      Agreed. Just check out this screenshot:

      C:\>_

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    4. Re:That's cool, I guess ... by maxwell+demon · · Score: 3, Informative

      If it works like MS DOS, you need to have the ANSI.SYS driver loaded, and can then just use the ANSI code for inverse video: $E[7m (where $E generates an escape character)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    5. Re:That's cool, I guess ... by Dahan · · Score: 3, Informative

      Whoa, what command prompt code did you use to get your command line in inverse color? Mine's the standard white on black.

      If ANSI.SYS is loaded, PROMPT $e[7m$p$g$e[m

  3. That's awesome! by Ukab+the+Great · · Score: 3, Funny

    If only I hadn't used all my 5.25" floppies trying to decapitate attacking zombies...

    1. Re:That's awesome! by OzPeter · · Score: 4, Funny

      If only I hadn't used all my 5.25" floppies trying to decapitate attacking zombies...

      Ha! you call that a floppy disk? [pulls out and brandishes an 8" floppy disk]

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:That's awesome! by rubycodez · · Score: 3, Funny

      12" (30 cm) laserdiscs, can even kill non-zombie with those mothers.

  4. Re:Dosbox or freedos by Anonymous Coward · · Score: 2, Interesting

    What's better for retro gaming: DosBox, or a virtual machine running FreeDos?

    Dosbox.

  5. They can take our lives... by jfdavis668 · · Score: 3, Funny

    They can take our lives, but they will never take our FreeDOS! William (Bill) Wallace

  6. Good for embedded systems by Animats · · Score: 4, Insightful

    Why not? For embedded systems, when you need more than a boot loader, don't want all the excess baggage of Linux, and don't want to pay for one of the embedded OSs like QNX, it's a good option.

    You also know that FreeDOS doesn't have a "phone home" feature, a HTTP server, a mail server, or something else on an open port running in the background without your knowing about it.

    1. Re:Good for embedded systems by mlts · · Score: 3, Insightful

      Exactly. For an embedded system, a MS-DOS variant with FAT32 is good enough [1] for a lot of tasks. Done right, it can be close to a realtime OS as one would need for most tasks, with very little overhead, especially with hardware saving every CPU cycle can be important.

      Security? The OS doesn't even have a TCP/IP stack unless explictly loaded. No finding ports open that shouldn't be.

      Malware? Within the realm of possibility (Stuxnet showed us that), but without physical access, highly unlikely, especially if there is no Internet connection. Done right, the embedded code could write via a serial port, and another machine (or a VM) could read that, making those files accessible to a TCP/IP network for audit purposes.

      [1]: It would be nice to have ExFAT available as sizes of disks and other items get larger, but the IFS code to handle the complexities of a modern filesystem can be larger than the rest of the DOS kernel combined.

    2. Re:Good for embedded systems by Anonymous Coward · · Score: 2, Insightful

      The said baggage probably refers to OS overhead like task switching, which for some applications, is probably too much even with linux/bsd and probably even realtime linux.
      DOS is about as bare metal and real-time as you can get while still having filesystem access. There are probably people out there who need it to be that low level, unencumbered even by timer interrupts if desired. I'm not one of those people but I'll still speak in defense of freedos for that purpose.

  7. Re:Dosbox or freedos by TheCRAIGGERS · · Score: 4, Insightful

    Last I looked, FreeDOS couldn't slow down the environment to emulate old hardware. This is basically a requirement for many old games, and is the reason I use DosBox.

  8. Re:Dosbox or freedos by Parafilmus · · Score: 5, Informative

    You can have both!

    Install FreeDos in the c:\dos folder of your DosBox machine. You'll get most of FreeDos' new functionality, while keeping the useful features of DosBox.

    see here: http://www.dosbox.com/wiki/TOOLS:FreeDOS

  9. Re:Dosbox or freedos by Cro+Magnon · · Score: 4, Funny

    In prehistoric times, when I upgraded from my olde 8088 to a speedy new 286, several of my games became nearly unplayable.

    --
    Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  10. Re:Bloody Americans... by Stormwatch · · Score: 2

    Calm your tits. If it was a spoken interview, such lapses are forgivable. If it was written, it could be a problem of editing. For example, maybe he intended to say: "we don't have the number of developers today that we had 10 years ago". Then he thinks: it would sound better if I said "we don't have as many developers today as we had 10 years ago". So he edits part of the phrase, but misses just one word, and you have a weird mix of versions.

    Some mistakes are a bit harder to forgive, though. Such as "alot", or using "y'all" as singular. Those are quite annoying indeed.

  11. Re:Dosbox or freedos by Eyezen · · Score: 3, Funny

    Then just (de)press the turbo button!!! ;-)

  12. Re:What's next? by MangoCats · · Score: 2, Informative

    http://www.metagraphics.com/metawindow/gui/mncppfaq.txt

    1. Overview
        1.1 What is Menuet/CPP.
            Menuet/CPP is the third generation in Graphical User Interface
            packages from Autumn Hill Software. Menuet/CPP is implemented
            in the C++ language which is clear and intuitive for GUI programming.
            Many of the features included with Menuet/CPP are discussed in later
            sections of this FAQ.
        1.2 Version.
            Autumn Hill is currently shipping version 2.0a of Menuet/CPP.
        1.3 Supported Operating Systems.
            Menuet/CPP supports MS-DOS 3.3, 5.0, and 6.0. Other versions of DOS such
            as PC-DOS, DR-DOS, Novell DOS, and CompaqDOS may also work, but are not
            explicitly supported by Autumn Hill Software.
        1.4 Supported Graphics Packages.
            Menuet/CPP supports several graphics packages for a wide variety of needs.
            MetaWINDOW by Metagraphics Corporation, BGI from Borland International,
            and the Microsoft Graphics Library are all supported. Section 1.5
            lists the compatability between compiler, extenders, and these graphics
            toolkits.
        1.5 Supported Compilers and extenders.
            See the file COMPILER.DOC for a description of supported compiler, extender,
            and graphics package combinations.
        1.6 Autumn Hill's development environments.
            Autumn Hill prefers two development environments for Menuet/CPP.
            The first includes the Borland C++ 3.1 compiler with all of the
            graphics packages. The Borland compiler is an excellent compiler,
            it is fast, creates compact code, and has the best debugger on the
            market. The Zortech C++ 3.1 compiler with Flash Tek's X32-VM extender
            is also used in development. The X32-VM is a
            great extender, it is royalty free, and works well with the Zortech
            compiler. Programming in protected mode is excellent for debugging
            purposes since many "bugs" in programs can be found as they will cause
            a program to crash when the "bugs" are encountered. For instance,
            in real mode a reference outside of an array will return bogus
            information. In protected mode a reference outside of an array will
            cause a protection viloation and the program will halt at that point
            of execution.
        1.7 CUA compliancy.
            IBM developed the Common User Access(CUA) paradigm to unify the many
            user interfaces in the world. OS/2 and MS-Windows are the major
            user interfaces that are CUA compiant. The full CUA documentation
            sets are available through IBM. Most of Menuet/CPP is CUA compliant.
            For instance, The ALT-F4 key combination will close a window. But
            There is no idea of a currently active control that can be changed
            by pressing the TAB key to move to the next control.
        1.8 Memory requirements.
            See the file MNSAMP1.DOC for a list of executable sizes for the "Hello,
            World" example program.

  13. Re:Dosbox or freedos by Stormwatch · · Score: 2

    What's better for retro gaming?

    Kega Fusion, Snes9X, Nestopia, Stella, MAME, KiGB...

  14. done right it *is* a realtime OS by Chirs · · Score: 2

    since if you avoid TSRs you have full control over the hardware.

    I once implemented a digital PID controller (with a few extra bits) using Turbo C on a 486 with an A/D card. The drivers for the card sucked, so I had to rewrite them but the result was a read/calculate/write cycle that was 4x faster than the stock driver.

    1. Re:done right it *is* a realtime OS by maxwell+demon · · Score: 2

      You don't even have to avoid TSRs. Just avoid TSRs which take over hardware interrupts. A TSR which does nothing but sit there until you explicitly call it doesn't interfere with realtime.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  15. A FreeDOSH shell is what I want. by mozkill · · Score: 2

    What I want is a FreeDOS shell for Linux: FreeDOSH . If that existed, it would be exciting to write DOS batch scripts on linux. LOL

    --

    -- Betting on the survival of the media industry is a serious risk. I advise investing elsewhere.
    1. Re:A FreeDOSH shell is what I want. by drinkypoo · · Score: 2

      What I want is a FreeDOS shell for Linux: FreeDOSH

      No, that's Sean Connery's OS. You want commandcomsh.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  16. Re:Dosbox or freedos by Anonymous Coward · · Score: 4, Informative

    DosBox will be better because it's specifically built for retro gaming. It supports all the hardware needed for gaming including joystick, mouse, soundcard, and networking. Many years ago DosBox was too buggy to use, but I loaded the latest build about a year ago and it is awesome. Everything just works. This weekend my brother and I did some Doom2 Co-op using IPX tunneling, and it worked flawlessly.

  17. Re:FreeXP and XPBox by maxwell+demon · · Score: 3, Informative

    I wonder in 2023 we will be having XPBOX or FreeXP since it has so many die hard users who refuse to leave kicking and screaming the whole time.

    I think that one is called ReactOS.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  18. booting stubborn thin clients by rubycodez · · Score: 3, Interesting

    many thin clients (e.g. some of HPs) refuse to boot from anything other than a ms-dos partition. to turn them into BSD or Linux appliances I have a FreeDOS partition on usb drive with grub in it, which chain boots the next partition. if you choose to boot into the FreeDOS there is editor for grub config and whatever other handy things you might need (like alternate flash images or whatever). need a very low power consumption domain/mail/web/vpn/unix shell server at home? those thin clients can pull 18W or less

  19. Modernization by jones_supa · · Score: 5, Funny

    DOS could really use a modern composited OpenGL accelerated desktop. Maybe call it "GL Accelerated Disk Operating System". What do you think?

  20. change the battery by Joe_Dragon · · Score: 3, Interesting

    change the battery

  21. Re:Bloody Americans... by dgatwood · · Score: 2

    Only in French. And you forgot the apostrophe.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  22. Re:Dosbox or freedos by maxwell+demon · · Score: 2

    what's better: DOS Box or sex with a mare?

    That depends on whether you are a gamer or a donkey.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  23. Not At All Amazing - DOS Is Just The Way It's Done by Anonymous Coward · · Score: 2, Interesting

    If you want to access PC hardware directly without any abstraction layers and OS latencies that screw up timing, a copy of MS-DOS 5.0 or FreeDOS is still the way to go. In fact, I just set up a machine last week with a copy of MS-DOS 5.0 and TurboCNC, which is sending stepper motor step commands at precise intervals to the motors on a CNC machine using the PC's parallel port. USB is as useless as Windows and the more recent Linux distributions for things like this.

  24. Use it myself, in linux by DCFusor · · Score: 2

    To run some older Protel CAD tools. The very old (and used to be free) pcb editor now costs in the tens of thousands of dollars, and for my use case, isn't even as good. The old one runs fine on freedos, is fast as crap on new hardware, and gets my job done. And, the graphics are great.

    --
    Why guess when you can know? Measure!
  25. MSDOS history by mvar · · Score: 2

    Irrelevant to FreeDOS, a few days ago I was searching about MSDOS and in which language it was written. For whoever might be interested, there's a nice read here: What language was MS-DOS Written in?. Summary: MS bought the QDOS rights, QDOS was based on the CP/M OS which was written in FORTRAN

    1. Re:MSDOS history by gaudior · · Score: 4, Informative

      Fortran?! No. CP/M is written in 8080 Assembly code. Later versions took advantage of Z80 op-codes.

    2. Re:MSDOS history by Anonymous Coward · · Score: 2, Informative

      "The last design requirement was that MS-DOS be written in assembly
      language. While this characteristic does help meet the need for speed
      and efficiency, the reason for including it is much more basic. The
      only 8086 software-development tools available to Seattle Computer at
      that time were an assembler that ran on the Z80 under CP/M and a
      monitor/debugger that fit into a 2K-byte EPROM (erasable programmable
      read-only memory). Both of these tools had been developed in house."

  26. Re:Dosbox or freedos by Hatta · · Score: 2

    The best is an actual machine running DOS. A PIII/440BX system is easy to pick up, and great for DOS games. It's fast enough to run anything, and still has ISA slots for a sound blaster. BIOS options to disable L1/L2 cache will slow it to about the speed of a 386, perfect for Wing Commander. With one of these systems you can play just about any DOS game except the really early 8088 games that require a 4.77mhz processor for timing.

    --
    Give me Classic Slashdot or give me death!
  27. Re:Dosbox or freedos by rubycodez · · Score: 2

    would you guys quit whorsing around?

  28. Re:Dosbox or freedos by Zordak · · Score: 2

    You can have both!

    Install FreeDos in the c:\dos folder of your DosBox machine. You'll get most of FreeDos' new functionality, while keeping the useful features of DosBox.

    see here: http://www.dosbox.com/wiki/TOOLS:FreeDOS

    The problem is I need to find a good DOS-based virtual machine that can run DosBox from FreeDOS on DosBox.

    --

    Today's Sesame Street was brought to you by the number e.
  29. Re:NC - Technically a TUI, but it's all you need by Wolfrider · · Score: 2

    --Xtree Pro Gold was Teh Unbeatable file manager for DOS back in the day. For modern equipment, Midnight Commander does the job reasonably well (safest way to delete files, for one thing.) MC is also available for Cygwin.

    For the true diehards, see here:

    http://www.ztree.com/

    --
    .
    == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
  30. Yo dawg by Holistic+Missile · · Score: 2

    You said you like to run DOS, so...

    Aw, screw it. You knew it was coming. :-)

    --
    When you're dead, you don't know you're dead. It only affects the people around you. Same thing when you're stupid.
  31. Re:Dosbox or freedos by VortexCortex · · Score: 5, Informative

    As a developer, I can say no, that "problem" was just a dumb way to do physics, and it's been fixed forever to anyone who wasn't a moron, even in the AT/XT days. Back in the day we just checked wall clock time / CMOS ticks, you know, the ones we used to modulate PC speakers to make different frequencies, that's what we used to update game state and prevent binding physics to CPU speed. Today, RAM is plentiful, so I do physics state "commits" in fixed step sizes, say 30hz or 60hz, and interpolate from the last physics state to the temporary state that's being rendered.

    If enough time has passed to process the next full physics step, then it's processed and committed. Otherwise I reset state to last commit, and process the partial physics step, but do not trigger any important events like player death in the temp step. If the system is too slow to run a partial physics step without immediately requiring another full physics step then the partial steps are not processed and the game rendering updates screen positions only after the physics step can be computed. This is important for deterministic physics, for demo replay and also for synchronized network games because:
    UpdatePhysics( 20ms ); UpdatePhysics( 20ms );
    is not always equivalent to:
    UpdatePhysics( 40ms );
    Due to a number of factors, especially rounding errors.
    UpdatePhysics( elapsedTime );
    Is the worst on fast systems -- those very small fractions of time lead to physics explosions -- not the particle effect kind, the bounce off an object through the floor and to the other side of the universe kind.

    For comparison:
    Here is my rope physics with a fixed physics step size frames.
    Here is the same physics running with actual elapsed time each frame.
    The latter comments mention tiny jiggles propagating into a frenzy. Those tiny movements coupled with very small elapsed times create the physics explosion.

  32. Segments by fyngyrz · · Score: 2

    Segments were a horrible chapter in uP history. From flat memory we went to the horrors of segments, then eventually, back again, thank goodness.

    If those people at Motorola had the silicon skills of those at Intel, IBM might have gone with the 68000 and up, and we'd be years ahead of where we are now. Instead, we got slammed with the 8088 and up, and good grief, what a freaking nightmare.

    Segments. Ugh. Someone oughta be shot over that. Also whoever invented pantyhose, while I'm making a list. :)

    --
    I've fallen off your lawn, and I can't get up.
  33. EPROMs, Flash, batteries, CMOS by unixisc · · Score: 4, Insightful

    Not to be pedantic, but you are describing EPROMs above, not EEPROMS. EPROMs are the devices that you program using higher voltages, and erase using UV rays (they had a transparent window to the die to enable that). Nobody makes those anymore. There is a variation of that called MTP, where instead of the UV rays, one can apply the higher voltage to the VPP and a particular address line to erase it, and program it normally putting the higher voltage just on the VPP pin. These products, to the extent that they are made, are the replacements of EPROM. Then there are mask ROMs for the high end equivalents of these things: while EPROMs and MTPs were in the 1 mebibit range, mask ROMs are in the 1 gibibit range.

    EEPROMs, otoh, are NOR flash memory devices. Flash memory works this way - while read operations are the same as static or dynamic RAM, depending on design, program operations are done in software - by sending a certain address/data combination sequence before a program cycle(s) can start. That is what is known as in-system programming, and that is what PCs use. So any software that tries to 'flash a BIOS' essentially has to first determine who the manufacturer of the flash memory is (since different manufacturers tend to use different algorithms - most JEDEC endorsed) and then accordingly, send the appropriate command cycles to the flash before loading it w/ the addresses and data to be programmed into it.

    Batteries are needed to maintain the system clock. Every time you power down a laptop, how does the thing remember the time when it boots up again? The battery is how - there is no way a flash device, which simply stores the last state that was programmed into it, would be counting down the time. When the battery goes down, that's when one sometimes sees motherboard failures and the like.

    CMOS has forever been the standard that's used to build transistors, due to their scalability - TTL was never used, and ECL was tried on occasion by 1 company called Exponential Logic to build high performance PowerPCs for Apple in the 90s, but they went bust. CMOS will stop being used when silicon stops being used.