Hacker News new | past | comments | ask | show | jobs | submit login

What can I do that is moderately interesting with freedos? I've downloaded it a couple of times, but I never found anything useful to do with it. I'm sure I could play some games, or something. I really want to actually learn it.



I legitimately needed to use freeDOS a few months ago in order to downgrade the firmware on my BluRay drive, so I'd be able to rip 4K discs. It could only be done from DOS.


Wait...I have a legitimate question (was about to post some snarky comment but now I'm wondering).

WHY did you need DOS??? Use an XP VM? Some sort of Linux emulator? Flashing the firmware on a device manufactured long after the existence of DOS had been forgotten for most major hardware producers...

so many questions!


There’s a lot of firmware flashing stuff that runs on DOS, because it’s easier to have direct access to hardware without the OS trying to access that hardware simultaneously.

The alternative is correctly disabling the device under Windows/Linux/whatever, flashing the firmware, and re-enabling it, which is a process likely to have bugs and potentially result in bricking the device. Modern operating systems are big and constantly doing things in the background that may interfere with the firmware flashing process.


Even DOS doesn't work for most modern hardware. Can't have direct blueray drive access if there is no way to initialize the SATA controller...


The BIOS does it for you.


Not entirely true -- this is the case if the drive is configured as "Enhanced" or "RAID" or "AHCI" in the BIOS/EFI. There's typically a "Legacy" mode which will make the device visible to DOS (and indistinguishable from any other ATA controller).


Well, all I can tell you is that it worked.


I remember using FreeDOS for learning assembly through the `debug` command. Looking at the BIOS data was fun for me at the time. I've also tried DOSBox but since it's emulated the BIOS data wasn't "real".

I have not yet found an equivalent of the `debug` command for Linux. Ppl told me `gdb` could do the same but I found debug easier to use.


You can do more or less the same with e.g. objdump, but the root difference is that DOS COM binaries are very simple: basically a tiny header then the whole program in a big chunk.

More modern formats (be it PE, ELF, Mach-o, ...) are far more complex, with many different segments, running in a more complex CPU mode, generally dynamically linked, and all the other bell and whistles. So even if you had an identical debug.exe for Linux, it would still be much harder to make sense of.


> basically a tiny header then the whole program in a big chunk.

This is inaccurate. A DOS .com executable has no header whatsoever. It is literally just the program code and data with absolutely no metadata at all. It is loaded at memory address 0x100 and then execution begins, also at 0x100.

It is possible to have a 0 byte .com executable and it will perform a useful function. 0 bytes are loaded to 0x100 and then execution begins at 0x100, effectively re-running the last program run. Commonly such a file was named "go.com".


I thought you could stuff some metadata aboce the org 100h directive, but my bad if it is not the case.


One common use is to drive hardware directly, either to learn how it works (prior to e.g. writing a linux device driver) or just for performance reasons. Reading and writing bits to a parallel port takes about 1us or so; there's no latency involved (no USB polling for instance), and no hoops to jump through (e.g. iopl()/mmap ) to access the hardware.


Unless you want to work specifically with FreeDOS, you might look at DOSBox instead. It's a MS-DOS emulator that runs in user space, rather than running as the OS, thus a lower barrier to entry.


The utilities provided by FreeDOS are generally more complete than those provided by DOSBox. You can copy them into your DOSBox installation for the best of both worlds.


https://github.com/microsoft/ms-dos may also be interesting


You can even configure DOSBox to boot FreeDOS instead of using its built in "DOS" environment.


Might lead to more practical possibilities, too. Like in this unexpected story:

https://www.networkworld.com/article/2223927/why-this-linux-...


Depends on your needs... if you can use dosemu+freedos, it's usually faster than dosbox's overhead. DOSBox is great for when you have a DOS gui, but if you don't need it, it's more overhead. Also dosemu+freedos can work headless.

Aside: most of my interest here is classic BBS software and doors.


You can compute like a PC user in the 1980s. There are various word processors, database utilities, and programming languages available. There are even old school networking tools for newsreading, IRC, telnet, and gopher.

I remember "DOS for Dummies" (the seminal Dummies book) being helpful when I was starting out; you can probably find a used copy for the cost of shipping at this point.


"butwhy.gif"


To illustrate how unnecessarily complicated and slow modern computing has become? You can still perform many of the computing tasks you do today on 50GB monstrosity OSs that take 3 seconds+ to start an application from and SSD.


Little or no overhead (almost bare-metal).


Run a DOS OS legally without having to use a Microsoft product. That's one.

It has a package repository which is cool.

But DOS is DOS, it is limited. If you don't think it's cool, I guess you're outside of its scope :).


FWIW DR-DOS is also free, IIRC it was released as open source some years ago (i think OpenDOS is based on it) and it is a bit more compatible with MS-DOS than FreeDOS.


DOSBox is a better option, if you have any interest in playing really old DOS games (Captain Comic, Commander Keen, Descent, etc) on a modern system. As far as running FreeDOS...it's a cool exercise in preserving compatibility for historical systems, but for the average PC enthusiast....doesn't offer much beyond that.

Proceed with the pitchforks and stake burning.


Used it after restoring some win95 backup tape:

- old dos games

- turbo pascal 7 coding sessions


This is exactly what I did. That stark blue TP7 editor is a thing of beauty.


oh yeah

600kB of pure joy

taught me one thing though, having a hard coded IDE hurts. I missed emacs so damn much..


Unfortunately, at that point in my life, Vim/Emacs were completely unknown to me. When I hit my 20's and got stuck in Vim, everything changed.


In Linux, I prefer using Dosemu instead of DOSBox to run old DOS software.

Dosemu requires you provide the OS so I use FreeDOS.


Program in the old BASICS, such as BASICA or QBASIC. Very fun.


You can learn to code like it's 1980s!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: