Questions tagged [ms-dos]

MS-DOS, the Microsoft Disk Operating System, its OEM-branded versions, and x86 DOS clones in general.

Filter by
Sorted by
Tagged with
17 votes
5 answers
4k views

What tools were used in late MS-DOS era for reverse engineering and patching binary executables?

In the late MS-DOS era, what were the state of the art software tools for reverse engineering and patching binaries, i.e. .exe and .com files? A simple list of the tools that were "state of the art", ...
AlphaCentauri's user avatar
11 votes
4 answers
11k views

How do I create a boot menu to select between Windows and DOS?

I was not a PC user before Windows 98. But I remember one of my friends was using a boot menu in his 486 machine to select between Windows/DOS. The menu was like: 1. EMS 2. XMS 3. Windows If we ...
wizofwor's user avatar
  • 2,728
33 votes
1 answer
3k views

How does the command.com shell work with MS-DOS?

On my systems that are running MS-DOS, I change the default command.com to 4DOS for more features. How was the shell system designed and how did it with the operating system in MS-DOS that it enabled ...
Thraka's user avatar
  • 2,913
22 votes
1 answer
4k views

How did large .COM files work?

An MS-DOS .com file is just raw code/data without header, thus no linking information, and was limited to be loaded into just one segment (64kB). That's the reason corrupted binaries would print "...
DarkDust's user avatar
  • 1,200
34 votes
2 answers
5k views

How did MS-DOS assign drive letters in the case of more than two floppy disk drives?

The IBM PC BIOS had provisions for up to four floppy disk drives, by virtue of returning the number of floppy disk drives in a two-bit field plus a none/some flag (allowing for reporting values of 0, ...
user's user avatar
  • 5,246
19 votes
2 answers
6k views

First commercial DOS game?

What was the first commercial game sold for use on IBM/MS/PC DOS after the IBM August 12, 1981 release.
jwzumwalt's user avatar
  • 4,469
15 votes
8 answers
7k views

Why was the DOS kernel discarded?

I've read that the last DOS kernel based Windows was ME. Later versions use the NT kernel. Why did Microsoft rewrite the whole kernel? Why was the DOS kernel discarded?
zomega's user avatar
  • 4,670
71 votes
3 answers
14k views

Why did DOS use dollar-terminated strings?

According to a few tutorials I am seeing, DOS used dollar-terminated strings to write to the terminal. This seems to also be documented here on INT 21H. AH = 09h - WRITE STRING TO STANDARD OUTPUT ...
Evan Carroll's user avatar
  • 3,388
49 votes
9 answers
12k views

Why weren't bootable game disks ever common on the IBM PC?

While for other platforms of that era (primarily, Amiga), putting a game on a bootable disk was quite a normal practice, this approach never taken off on IBM PC. Why not? I do remember people having ...
DmytroL's user avatar
  • 2,102
41 votes
2 answers
6k views

How did Windows ME "cripple" DOS?

Windows ME includes the ability to create a bootable DOS floppy. This floppy contains versions of COMMAND.COM and IO.SYS that are "crippled" to remove real mode. This is done with only one changed ...
wizzwizz4's user avatar
  • 18.5k
31 votes
3 answers
6k views

Why was the DOS clock device renamed from CLOCK into CLOCK$?

From the Wikipedia article on reserved device names ... and the CLOCK$ (still named CLOCK in some issues of MS-DOS 2.11) clock device were introduced with DOS 2.0, ... Why was is necessary to add a $...
Sep Roland's user avatar
  • 1,043
28 votes
4 answers
4k views

What's the relationship betweeen MS-DOS and XENIX?

Browsing MS-DOS sources on GitHub, I often see mentions of XENIX: DOSSYM.ASM: ; XENIX calls all return error codes through AX. If an error occurred then the ; carry bit will be set and the ...
Igor Skochinsky's user avatar
26 votes
3 answers
7k views

Why does DOS ask for the current date and time upon booting?

In most versions of DOS, when they are started from a medium that lacks an AUTOEXEC.BAT file, the very first thing COMMAND.COM does is ask the user to confirm the current date and time: Starting PC ...
user3840170's user avatar
  • 21.6k
25 votes
1 answer
3k views

What is 'Adaptive Tile Refresh' in the context of Commander Keen?

The question Did John Carmack really invent "Adaptive Tile Refresh"? asks about the origins of the scrolling and drawing techniques used to allow an MS-DOS PC to provide a NES console-like ...
knol's user avatar
  • 11.8k
25 votes
12 answers
5k views

Why did CP/M and MS-DOS use the BIOS instead of their own drivers to access hardware?

Modern versions of Windows (and other modern operating systems I suppose) have their own drivers to access hardware. But as I have read, in the old days, if CP/M or MS-DOS wanted to access hardware, ...
user7681202's user avatar
  • 1,827
19 votes
3 answers
2k views

Why did MS-DOS choose the percent symbol to designate variables?

I couldn't find anything but is there any reason for choosing % over $ like in *nix shells?
phuclv's user avatar
  • 3,542
16 votes
1 answer
6k views

How to write directly to video memory using "debug.exe" in MS-DOS?

The base address for the video memory in MS-DOS is 0xB8000. I am trying to write to this address using debug.exe, but I am getting an error: 1165:0103 mov [b8000],ax ^ Error
user5161's user avatar
  • 465
15 votes
4 answers
4k views

For fast scrolling DOS games, when was Mode13h preferred over Mode X?

Back in the DOS days of gaming (more specifically, 80286 - 80486 era), developers typically needed to choose between using the chunky and easier Mode 13h or the more complex "Mode X" that provided ...
cbmeeks's user avatar
  • 8,441
14 votes
7 answers
6k views

Transfer files to DOS over serial cable from Linux?

I have a modern Linux computer and a 286 computer running DOS. I would like to transfer files from the Linux computer to the DOS computer over a null modem serial cable. I know you can use INTERLINK....
Sydius's user avatar
  • 2,584
12 votes
3 answers
3k views

Disassembling Windows IO.SYS

Under the question How did Windows ME "cripple" DOS?, Ross Ridge's answer showed a section of his disassembly. I would like to know, a) what disassembler was used and b) what adjustment or ...
Steven's user avatar
  • 129
11 votes
3 answers
4k views

How can I create a pipe for stdin/stdout of command.com (or 4dos.com) in C or a batch file?

I'm working on a retro project and was trying to create a pipe of stdin/out/err in DOS, but I can't find any functions to to this. For instance the pipe() function from unistd.h isn't present in ...
Dacobi's user avatar
  • 275
11 votes
1 answer
3k views

Timing interrupts on MS-DOS

On the ZX Spectrum, you get an interrupt every frame. As I recall, the operating system uses this to periodically scan the keyboard and probably other things also, but you can have your own routine ...
Omar and Lorraine's user avatar
8 votes
4 answers
8k views

Set screen resolution in DOS-only PC

I replaced a failed CRT display with a LCD panel with a VGA controller board. There is no problem with the display when the PC boots up. However, if I switch the display off then I get an 'Out of ...
user avatar
7 votes
2 answers
1k views

How 3Dfx Voodoo 1 Emulator works

reading of this question brings up 3Dfx Voodoo 1 Emulator in my memories. I always wandered how did it work so good time as any to ask... My memory is hazy on the details so I might miss remember ...
Spektre's user avatar
  • 7,228
3 votes
2 answers
1k views

Can HIMEM.SYS be disabled in Windows ME’s IO.SYS?

Windows ME's IO.SYS includes HIMEM.SYS, which it loads unconditionally. Since it is possible to decompress and disassemble IO.SYS, and hack it to enable full DOS mode, can we go a step further and ...
Kore's user avatar
  • 41
92 votes
3 answers
16k views

How did Windows 3.1 implement multitasking?

Windows in its earliest days was simply a shell that ran on top of MS-DOS, which means that Windows 3.1 itself was actually just a standard MS-DOS application like any other. Yet, MS-DOS is not a ...
Mike Nielsen's user avatar
  • 2,877
69 votes
3 answers
15k views

What character is the MS-DOS cursor?

The cursor used on my 486 (and Pentium 3) in MS-DOS 6/7 has a thick underlined character. I cannot find that in code page 437. The underscore character is the closest to it, but is thinner. Where ...
Thraka's user avatar
  • 2,913
46 votes
2 answers
8k views

Did IBM encourage Bill Gates to retain the rights over PC-DOS?

As is well-known, Microsoft's negotiations with IBM to deliver PC-DOS 1.0 with the original IBM PC resulted in: IBM licensing the OS from Microsoft, as opposed to purchasing it outright. Microsoft ...
Brian H's user avatar
  • 60.1k
37 votes
2 answers
8k views

Why does Windows 1.01 crash at the splash screen?

When Windows 1.01 is started under DOSBox, FreeDOS or one of the later versions of MS-DOS, garbage characters are printed on the screen right after displaying the Microsoft logo. Here’s an example in ...
user3840170's user avatar
  • 21.6k
31 votes
3 answers
8k views

Were 9.2 file names possible in MS-DOS?

In MS-DOS (and FAT16), you could only have 8.3 file names (like QUESTION.TXT) with only single-case letters and numbers (and a few symbols). The MS-DOS Editor also defaulted to 8.3 - typing edit ...
Zackary's user avatar
  • 605
28 votes
5 answers
7k views

Why are Windows 95 installation disks not uniquely bound to a single product key?

I was installing the OEM version of Windows 95 on VirtualBox the other day for reminiscence sake, and for some reason I had two different product keys. I tested both of them to see which one mapped to ...
Retro Gamer's user avatar
  • 2,425
27 votes
9 answers
8k views

What other tricks were there to get more data onto floppy disks?

I remember using a utility back in MS-DOS 3.3 days, called MAXI Disk, that somehow magically managed to get 420K on a 360K 5¼″ disk. I assume it managed it by destroying some redundancy like a backup ...
user230910's user avatar
26 votes
3 answers
13k views

Why was "C:" chosen for the first hard drive partition?

I was reading this answer, as the question came to my mind: why does C: indicate the first hard drive partition? The usage dates back to CP/M (as noted in a comment), was embraced by MS-DOS, and ...
wizclown's user avatar
  • 403
26 votes
3 answers
4k views

Most modern C compilers targeting DOS 8086, running on DOS 8086 (16-bit)

I'm looking for the most recent versions of modern C compilers which were/are targeting DOS 8086, also running on DOS 8086 (16-bit). I'm mostly interested in production-ready C compilers, rather than ...
pts's user avatar
  • 1,435
26 votes
3 answers
4k views

What did Ctrl+NumLock do?

In my answer here I infer that the unusual scancode for the Pause/Break key emulates the user pressing and then releasing CtrlNumLock. Obviously that key combination did something specific, back when ...
user253751's user avatar
26 votes
7 answers
6k views

How did DOS games manage to have multiple background layers?

Seems like VGA only has one background layer, it appears to be a typical bitmap screen like most home computers of the 80s (Amstrad CPC, Commodore 64 etc.) where each pixel's color is stored in a ...
puppydrum64's user avatar
  • 1,638
23 votes
1 answer
2k views

When was QDOS changed to MS-DOS?

So a while back, I heard that MS-DOS was originally named QDOS (Quick and Dirty Operating System), and that it was later changed is MS-DOS (Microsoft Disk Operating System). This was probably a ...
Badasahog's user avatar
  • 4,001
23 votes
3 answers
3k views

How do I connect a command prompt to a serial line in MS-DOS 6.22?

I am currently experimenting with DOS and am trying to run the command prompt on the serial terminal through QEMU. This is the command I have been using. command >COM1 2>COM1 <COM1 This ...
Lennon McLean's user avatar
22 votes
3 answers
6k views

Why are these DOS console drivers wasting precious bytes?

While doing some research on DOS device drivers, I took a peek at the console drivers DISPLAY.SYS and ANSI.SYS that are part of the DOS 6.20 installation. Both have "Microsoft" stamped on, ...
Sep Roland's user avatar
  • 1,043
22 votes
3 answers
3k views

What were the actual memory model definitions in MS-DOS?

I've heard the phrase "memory model" used in relation to MS-DOS programming (and early Windows), with terms such as "small" and "compact". But what were the actual ...
paxdiablo's user avatar
  • 4,594
22 votes
6 answers
5k views

Sound driver for DOS or Windows 3.x that used the PC speaker?

Long ago in a galaxy far far away, back in the early 90's, I worked for a crappy clone company as a phone technician. At the time, 386SX/25's were common for in-house technical support / customer ...
Geo...'s user avatar
  • 9,795
21 votes
1 answer
929 views

Logo of a bow tie guy with a spoon

I was in the Computer History Museum in Silicon Valley last week, and I saw this badge. I know I've seen that logo somewhere before, but I can't remember where! Does anyone know where it's from?
Allanrbo's user avatar
  • 311
21 votes
1 answer
1k views

Why can MS-DOS not read partitions starting at logical sector 0?

When creating a FAT file system, mtools and newer versions of mkfs.fat write a stub MBR partition table to the boot sector. This makes the file system accessible when written directly to media that ...
user3840170's user avatar
  • 21.6k
21 votes
2 answers
9k views

What is the best way to obtain old versions of MS-DOS and Windows?

I'm wondering what the best way obtain old versions of Windows would be, specifically: DOS Windows 95 Windows 98/SE Windows 2000/ME Windows XP Professional Windows 7 Professional Microsoft Office for ...
InterLinked's user avatar
17 votes
4 answers
3k views

Document format for a DOS word processor where control commands begin with a dot

I successfully achieved the reading of several 5.25″ old floppies. They contain old documents from a retired lawyer. For the memories, we want to read them correctly, nevertheless, I don't find which ...
David Sosa's user avatar
16 votes
3 answers
3k views

Who decides what is the memory address that the CGA video buffer will be mapped to?

In DOS, the memory mapped IO base address for the CGA video buffer is 0xB8000. So when you write to 0xB8000, you are actually writing to a buffer in the CGA card itself and not to RAM. What I want to ...
user5161's user avatar
  • 465
16 votes
4 answers
5k views

Is there any way today to recover/dump 2M disks?

2M disks where formatted using 2MGUI to increase 3"1/2 & 5"1/4 DD/HD/ED disks' capacity. Is there any way today to recover/dump these disks to a file with modern hardware? Specially the 5"1/4 ...
NataliaPC's user avatar
  • 533
15 votes
5 answers
2k views

Commodore Mouse not recognized by a Commodore PC30-III 286 machine

I have Commodore PC 30-III 286 machine with a serial port at the back labelled "mouse". If I plug my Commodore mouse 1900 serial mouse then execute mouse.com at the DOS prompt then I get the ...
Peter Szanto's user avatar
14 votes
5 answers
4k views

Can I run Windows 98 and games from the same era on an AMD Duron CPU?

I have acquired an old motherboard with a socket 462 and a AMD Duron (I think its a "Spitfire" model 3). The copyright on the CPU is from 1999 and it apparently doesn't require a dedicated CPU fan as ...
Informancien's user avatar
  • 2,637
14 votes
7 answers
6k views

Is there a reason why MS-DOS didn't use more English words for commands?

When using diskpart, I can list all the drives by typing LIST DISK or to select a specific drive I can type select disk 1. Is there a reason why MS-DOS didn't use more English words to do tasks, for ...
user avatar