Questions tagged [ms-dos]
MS-DOS, the Microsoft Disk Operating System, its OEM-branded versions, and x86 DOS clones in general.
314
questions
19
votes
2
answers
3k
views
In 16-bit MS-DOS, how do I get a file handle to the currently running .exe?
The context is that I have additional data in the .exe file and wish to access it.
I know this is possible, as plenty of programs would store extra data after the loadable part of an MZ .exe — most 32-...
9
votes
2
answers
1k
views
How to use all memory on an IBM PC with 8086
I'm developing software for the IBM PC with an 8086 processor. I want my program to use all available memory.
I know that I can use DOS int 21h function AH=48h to allocate all available conventional ...
10
votes
3
answers
849
views
How can I make the Microsoft C compiler for DOS emit a loop with an intermediate jump to continue?
I am trying to recreate the exact C source code from some 16bit DOS 8086 assembly generated by the MS C 5.0 compiler. After making some progress, I've hit a wall with the following code (annotated in ...
8
votes
1
answer
604
views
How to make Microsoft C for MS-DOS emit an immediate-target far call into the data segment?
I am trying to recreate the C source code from some 16bit DOS 8086 assembly generated by the MS C 5.0 compiler. I've hit a wall with this far call instruction.
0000008D 9A2F0CB506 call 0x6b5:...
2
votes
3
answers
558
views
What binary format did QuickBasic use for BAS files?
I found some very old floppy disks. I sent them to a company to restore the files and they were still retrievable!
Next to old games and simcity save games I found some .BAS files.
Some of the names I ...
6
votes
1
answer
196
views
How to run MOUSSUBS.BAS in QuickBasic? Looking for MIXED.QLB and MOUSE.ASM?
I retrieved some 30 year old basic files from old floppy disks.
Now I am trying to run some games I made back then. Some of them are actually dependent on this file called MOUSSUBS.BAS. That file ...
19
votes
2
answers
1k
views
Which is the first version of DOS to support more than one reserved sector in a FAT file system?
I'm trying to fix a problem when trying to use DOS stuff on SSDs. The problem is sector alignment in an SSD is completely different from what DOS expects, and writes to FAT do funny things when the ...
4
votes
1
answer
193
views
Tandy 1000 TDYSPKR utility
I've seen reference to a TDYSPKR (.EXE or .COM?) tool that sets audio output options on the early Tandy 1000 series of computers (1000, 1000A, 1000SX, 1000TX, maybe others). Apparently it can toggle ...
3
votes
0
answers
155
views
Troubleshooting Legacy Hardware and Software Issues on MS-DOS and Windows 3.11
I have an old PC with the following hardware components:
Motherboard: AMI TITAN II EISA rev.D
RAM: 48MB of 4 SIMM
CPU: 154C Pentium (tm)
BIOS: 711011596
HDD1: SCSI controller adapter through PCI (PCI)
...
19
votes
4
answers
8k
views
How to keep running DOS 16 bit applications when Windows 11 drops NTVDM
I have a business client who runs an old DOS 16-bit accounting and point-of-sale system in his industrial supply warehouse. He does not want to switch from the legacy DOS application since all of his ...
3
votes
3
answers
378
views
How to redirect stderr in MS-DOS?
I am using CVS 1.3 in MS-DOS 6.22.
When I execute cvs -?, the top of the help output scrolls off my 80x25 screen.
I cannot redirect the output to file as I suspect it is streamed to stderr (eg. cvs -? ...
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 ...
13
votes
1
answer
1k
views
What problem does LOADFIX solve?
From MS-DOS help for the LOADFIX command:
Some programs will display the "Packed file corrupt" message when all or a portion of the program has been loaded in the first 64K of conventional ...
21
votes
2
answers
2k
views
How can a protected-mode Watcom C program access memory that a real-mode interrupt service returned in a segment:offset register pair?
I'm using Open Watcom 1.9 to write some 286 real mode, and 386 protected mode software for DOS in C.
In real mode, I can retrieve a pointer to the system ROM character bitmaps in real mode using int ...
2
votes
0
answers
324
views
Trying To Understand DOS Game Assembly Instructions [closed]
I am trying to understand assembly language instructions, for a DOS Game. I have looked at the following Link :- https://atrevida.comprenica.com/atrtut07.html
reading about how VGA Graphics work in ...
6
votes
2
answers
368
views
Mixing small and big data models in 16-bit DOS & Watcom
I want to write an application for DOS using small code/data model, but I would like to use far pointers for some selected memory blocks. I would like to use the OpenWatcom C++/16 compiler.
So, for ...
4
votes
1
answer
556
views
How did John Carmack develop DOS games in Softdisk?
I recently listened to a podcast of Carmack and he said that in early DOS days he mostly uses assembly. The host asked him about Pascal and he said back then only Wizardry was written in Pascal.
I ...
34
votes
6
answers
13k
views
Is there a simple way to display ANSI art and animation files in a modern terminal window?
ANSI art and animations were prevalent on BBS systems in the late 80s and early 90s, and the ANSI art scene continues to thrive today. There are thousands of ANSI art files, with usual extension .ans, ...
7
votes
2
answers
3k
views
How does 2M for DOS (2 MB formatted floppy disks) achieve what it does?
This is the program and technique in question:
https://dbpedia.org/page/2M_(DOS)
Also described here:
https://en.wikipedia.org/wiki/2M_(DOS)
And here is the unintelligible explanation from the website:...
39
votes
2
answers
4k
views
Do any FAT8 filesystem images survive?
According to Wikipedia, the original FAT8 filesystem was developed by Marc McDonald in 1977 or 1978, as part of "NCR BASIC +6", a port of Microsoft BASIC to an 8080-based NCR data entry ...
14
votes
1
answer
2k
views
Beep command with letters for notes (IBM AT + DOS circa 1984)
I'm looking for a reference for a command which used letters for musical notes, and would play very simple tunes with square waves. It ran on an IBM AT, circa 1984, which was running a version of IBM/...
12
votes
1
answer
336
views
What is the difference between the different versions of the SID or SID86 debugger for the x86 PC that was shipped with the different DR-DOS versions?
I did a little research about Digital Research's 8086 Symbolic Instruction Debugger. Short name SID86.EXE and SID.EXE in later versions. But I couldn't find some sort of version history?
I would ...
23
votes
2
answers
2k
views
Using Clang to compile MS-DOS executables
I have a simple C program, and I would like to compile it targeting MS-DOS. Can this be achieved with Clang?
I would like to produce the following formats:
COM executable
16-bit MZ executable
32-bit ...
78
votes
4
answers
26k
views
Why is Windows using CR+LF and Unix just LF when Unix is the older system?
Windows and MS-DOS use the control characters CR+LF (carriage return ASCII 13 followed by line feed ASCII 10) for new lines, while Unix uses just LF.
As far as I know CR+LF made sense for systems ...
4
votes
2
answers
343
views
Mysterious things happening to stack when running a debug session
When I run a debug session using FreeDOS and DEBUG.EXE, I get a session like the following. I've added a description of what I saw as annotation on the image. Each step, I've printed out the stack ...
13
votes
1
answer
2k
views
Did x86 CPU vendors like Intel, NEC, AMD, and Cyrix provide their own debugger for DOS with better CPU support and was it free?
MS-DOS's debugger DEBUG.EXE did only support the assembly/disassembly of 8086 opcodes.
DR-DOS's debugger SID86.EXE, SID.EXE and Novel's debugger DEBUG.EXE did support 80286 opcodes and more, but no ...
11
votes
1
answer
1k
views
What's the easiest way to change from MS-DOS 6.22 to DR-DOS?
I am trying to find a way to do task-switching/swapping (not necessarily multi-tasking) in a DOS environment. I have tried DesqView under DOS 6.22 but I don't have any real success.
I hear that DR-DOS ...
24
votes
16
answers
5k
views
What were the most popular text editors for MS-DOS in the 1980s? [closed]
Since versions 1-5 of MS-DOS only came with the Edlin line-based editor, but were released on the IBM PC and compatibles, which had screen-based user I/O, my feeling is that most users wouldn't have ...
33
votes
1
answer
5k
views
Why did DOS-based Windows require HIMEM.SYS to boot?
My understanding is that all versions of Microsoft Windows that ran on top of DOS — that is, the lineage from Windows 1.0 up to Windows ME, even though the reliance on DOS diminished over time — ...
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 ...
18
votes
7
answers
7k
views
Are there any good, non-abandoned PC emulators?
Mission: I'm trying to simulate a classic ~286/386/486/Pentium inside my modern PC (running Windows 10) in the most authentic way possible.
Just a quick note to say that I (Sarah Walker) have decided ...
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 ...
9
votes
0
answers
554
views
When did Kay Nishi offer a million dollars for a competing DOS?
The development of Digital Research's fully-compatible MS-DOS competitor, DR DOS, was encouraged when, according to https://retrotechnology.com/dri/dri_wein.html
After DOS Plus for Philips we did a ...
21
votes
1
answer
3k
views
Why does invoking a bat file from another bat interrupt the first?
I'm looking for some historical context, valid for both any Windows prompt but my guess would be that the behaviour can be seen at least from MS-DOS, if not earlier.
It feels counter-intuitive to me ...
24
votes
6
answers
6k
views
Did MS-DOS have any support for multithreading?
Common wisdom seems to be that MS-DOS was an exclusively single-threaded OS. Of course, implementing a scheduler would be possible, but the OS itself did not provide any facilities for multithreading, ...
1
vote
0
answers
169
views
Math and French practice floppies
A long time ago, at school, they used to provide us with some 5.25 inches floppies each year. The teacher used to boot Unisys PCs with some bootable floppies (I do not believe they had hard disks), we ...
6
votes
1
answer
523
views
Basic page layout program from the PrintMaster 2.0 era
I remember it as "Fantasy" but the lack of results makes me think I may be wrong.
All I know for sure is that it was a single page layout program; it was contemporary with PrintMaster 2.0, ...
7
votes
2
answers
381
views
How did ‘logically-sectored FAT’ work?
While browsing online materials about the FAT file system, I occasionally came across mentions of ‘logically-sectored FAT’. This was apparently some kind of special mode of formatting a hard drive, ...
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 ...
25
votes
2
answers
4k
views
Did any DOS compatibility layers exist for any UNIX-like systems before DOS started to become outmoded?
Quoting from Jim Hall's "FreeDOS turns 25 years old: An origin story":
Around 1994, Microsoft announced that its next planned version of Windows would do away with MS-DOS. But I liked DOS. ...
16
votes
1
answer
3k
views
Did Digital Research clean-room MS-DOS?
From https://en.wikipedia.org/wiki/DR-DOS
DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in ...
14
votes
10
answers
2k
views
Alternatives for TurboVision on DOS
TurboVision was a library by Borland for developing TUI's (Text User Interfaces). It was included with their C++ and Pascal compilers.
Were there any other TUI libraries that supported multiple ...
18
votes
3
answers
2k
views
How to use the "darker" CGA palette using x86 Assembly?
For those of you retro developers out there, I am having a hard time figuring out how exactly to select the "darker" color palette in 320x200 CGA mode. Here's what I have so far:
setup_cga_graphics:
...
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 ...
4
votes
1
answer
877
views
Memory requirements for undelete command
During MS-DOS days, an Undelete command existed and provided three levels of protection. Sentry is pretty much the same as the Recycle Bin, it moves deleted files to a directory called Sentry. Tracker ...
4
votes
1
answer
262
views
Disable motherboard floppy controller DOS
I have a SuperMicro P4SCA motherboard (manual) running FreeDOS 1.3. The motherboard has an onboard floppy controller as part of a W83627HG (datasheet). However, this floppy control fails to provide ...
8
votes
2
answers
862
views
Tiny libc for DOS 8086
I'm looking for a tiny libc (C runtime library) targeting small model DOS 8086, and providing (most of) the C89 library functions, including fread(...), printf(...) and scanf(...). The libc must work ...
15
votes
1
answer
879
views
What type(s) of compressed files was the MS-DOS EXPAND command able to decompress?
What type(s) of compressed files was the MS-DOS EXPAND command able to decompress?
And what command was its counterpart?
23
votes
1
answer
4k
views
Why was the graphical user interface version of Defrag removed?
I remember in MS-DOS 6.22 that Defrag had a GUI that showed its progress and how it was moving files. It wasn't there in Windows XP and I can only assume that it wasn't in Windows 95, 98, 2000 either (...