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."
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.
The graphics suck though.
"I use a Mac because I'm just better than you are."
If only I hadn't used all my 5.25" floppies trying to decapitate attacking zombies...
They can take our lives, but they will never take our FreeDOS! William (Bill) Wallace
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.
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.
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
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.
Then just (de)press the turbo button!!! ;-)
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.
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.
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
DOS could really use a modern composited OpenGL accelerated desktop. Maybe call it "GL Accelerated Disk Operating System". What do you think?
change the battery
Fortran?! No. CP/M is written in 8080 Assembly code. Later versions took advantage of Z80 op-codes.
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.
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.