86 votes

Why didn't C++ specify filename extensions?

Because it's not important to ... anything. The compilers don't care. The editors don't care. Back in the day, some operating systems didn't even HAVE "file extensions". DOS mandated them, ...
  • 11.5k
57 votes
Accepted

Did INI files work in a different way on Windows 3.x than today?

You have been wrong for 30 years. I wrote the test program below and compiled it with Borland Pascal 7: uses WinTypes, WinProcs, WinCrt; var buffer: string; len: Integer; begin len := ...
  • 20.4k
51 votes
Accepted

Why did base64 win against uuencode?

I’m not sure about specific events, but I think the main reason Base64 “won” is that it’s one of the binary encodings supported by MIME, and MIME took over. So perhaps the question then becomes two-...
48 votes

How can I tell whether a DOS-looking exe. requires a 32-bit CPU to run?

Plain DOS executables, in either COM or MZ format, don’t provide this information in their headers (when there is one — COM format doesn’t have a header). The only reliable way to determine whether a ...
45 votes

Do the holes in Jacquard loom punched cards represent input data or program code?

Do the holes in Jacquard loom punched cards represent input data or program code? yes. Let me tell you a story. Somebody I used to work with many years ago was flying into the USA (or it might have ...
  • 10.9k
39 votes
Accepted

Magnetic exposure to floppy disk damages file system and requires complete reformat?

A formatted disk contains markers which identify the start of each track and the start of each sector within the track. These markers are fixed magnetic sequences that are picked up by the drive ...
  • 7,904
34 votes
Accepted

Why didn't C++ specify filename extensions?

The first edition of Stroustrup's "The C++ Programming Language" (1986) consistently uses a ".h" extension for C++ header files and ".c" for C++ source files. C and C++ ...
32 votes
Accepted

How did large .COM files work?

Most large files (over 64KiB) with a .COM extension are really MZ executables; the DOS loader doesn’t care whether the extension is .EXE or .COM, it uses the MZ signature to identify the format. This ...
30 votes
Accepted

What were the differences in floppy disk formats between Amiga and IBM/PC compatible computers?

The Amiga disk format stores 512 bytes per sector, 11 sectors per track (a track is one side of a cylinder), double sided (i. e. 2 tracks per cylinder) with 80 cylinders per disk, which makes 80 * 2 * ...
30 votes

Magnetic exposure to floppy disk damages file system and requires complete reformat?

The main thing is that there is no such thing as a "quick format" - That term is entirely misleading terminology invented by Microsoft. Quick Format doesn't "format" anything. What MS calls a "Quick ...
  • 30.1k
28 votes

How well known and how commonly used was Huffman coding in 1979?

According to Google Scholar, Huffman’s 1952 paper had 326 citations by 1979, which given the volume of publication at the time means it was well-known, as far as can be determined now. Most ...
26 votes

Why did base64 win against uuencode?

The problem with uuencode is that the format was not robust in the face of some of the really crufty mail software and gateways into and out of proprietary non-SMTP and non-ASCII mail systems of the ...
  • 10.1k
25 votes
Accepted

What format is the (Timex) Sinclair ZX Spectrum SCREEN$/.SCR file

For a standard screen, compatible with ZX Spectrum, a SCREEN$ file is 6912 bytes. It's just a dump of the screen memory. The first 6144 bytes store the screen bitmap: 256x192 pixels, 1 bit per pixel (...
25 votes
Accepted

How well known and how commonly used was Huffman coding in 1979?

Well, in fact, a closely related question has been asked (and answered) few years ago: What is the history of data compression tools on personal computers? From that question, and its answer, it ...
  • 4,012
24 votes

What was the purpose of the ‘overlay number’ field in the MZ executable format?

TL;DR: The Number is Used to Manage Multiple Overlays in a single EXE File. Microsofts linker (LINK) can create single EXE files containing multiple overlays (up to 63) which are simply numbered in ...
  • 195k
21 votes
Accepted

What was the end of line convention for text files on the 8-bit Commodores

C64 Basic used a CR as EOL for disk files. (source: Commodore SX-64 User's Guide, page 22: “CR stands for the CHR$ code 13, the carriage return, which is automatically PRINTed at the end of ever ...
  • 18.9k
20 votes
Accepted

What determines which architecture an a.out executable runs on?

The a_midmag field contains a machine identifier, which can be used on platforms which support that field. a_midmag is a 32-bit value stored in host byte-order (fun already), and bits 16 to 23 give ...
20 votes

Any tools (that actually work) for viewing PDF files in FreeDOS?

I discovered the answer on my own. Turns out PSVIEW requires GhostScript, PDFTOPS, and LXPIC to be installed on the hard drive in order to run. GhostScript must be placed in 'C:\gs'. PDFTOPS and ...
20 votes

Where and when did the ".s" suffix for assembly-language source files originate?

I asked Ken Thompson. The s stands for source, because it was the only source at the time.
  • 301
18 votes

Why didn't C++ specify filename extensions?

I wonder why Dr. Stroustrup chose not to be specific about this issue himself? You'll have to ask him. But based on what I've read from his website, he seems not to be strongly opinionated on ...
  • 834
17 votes
Accepted

How to convert Amiga DMS to ADF?

From some quick research, WinUAE (a popular Amiga emulator) supports reading a DMS file just like an ADF. So you could probably mount it and then save it back as ADF. Also, according to the ADF Opus ...
  • 2,893
17 votes
Accepted

How are File Timestamps recorded in classic Mac OS?

The HFS filesystem stores file metadata in a single large file called the "catalog file", with one record for each file or directory. Creation and modification times are stored as 32-bit unsigned ...
  • 8,462
17 votes

Do the holes in Jacquard loom punched cards represent input data or program code?

Program code for modern CPUs, in practice, consists of opcodes which tell the CPU what operation to perform, and operands which provide data to operate on. In RISC CPUs these are necessarily both ...
  • 16.4k
17 votes
Accepted

Why does the .z80 emulator-snapshot format have separate fields for the 8-bit refresh register and bit 7 of R?

The .z80 format comes from the Z80 emulator by Gerton Lunter. He released some documentation about the file formats used in it, and regarding offsets 11 and 12, this is what the manual says: .Z80 ...
17 votes

How can I tell whether a DOS-looking exe. requires a 32-bit CPU to run?

There is no easy way. The original DOS "MZ" type executable header do not contain such information about what kind of code it contains or what CPU type it needs. It just contains a binary ...
  • 24.2k
17 votes
Accepted

Help identifying format of old tape backup

I ended up figuring out that this backup was made using an extremely obscure tool called TXPLUS, which was a proprietary backup utility shipped with TapeXchange tape drives, which were tape drives in ...
16 votes

What determines which architecture an a.out executable runs on?

The short answer is: early Unix systems did not bother to track which architecture an executable was for. In general, the architecture an executable was for, was the one the executable was found on. ...
  • 11.3k
15 votes

Do the holes in Jacquard loom punched cards represent input data or program code?

All code is data. But not all data is code. For example, you can take a digital photo and the numbers represent light intensity across a 2D rectangle. Nobody would dispute that this is data but not ...
  • 1,020
15 votes

Why does the .z80 emulator-snapshot format have separate fields for the 8-bit refresh register and bit 7 of R?

About the R register on a real Z80: But is the 8th bit actually used? Yes, it's freely available and won't be touched by any instruction except loading R. Is its behaviour undocumented or can it ...
  • 195k
14 votes
Accepted

What is the format of the static libraries shipping with legacy Microsoft C for DOS?

These are OMF libraries; you can analyse them with Agner Fog’s object file converter. It probably only makes sense to work with those libraries if you intend to build software with Microsoft C 5.1, ...

Only top scored, non community-wiki answers of a minimum length are eligible