105 votes
Accepted

Why not use fractions instead of floating point?

When adding or subtracting fractions, you need to find the least common multiple of the two denominators. That's an expensive operation, much more expensive than adding or subtracting floating points, ...
user avatar
  • 20.8k
101 votes
Accepted

Did many programs really store years as two characters (Y2K bug)?

Short Answer: BCD rules over a single byte integer. The claim that programs stored dates as two ASCII or similar characters because computers were limited in resources seems wrong to me The point ...
user avatar
  • 166k
90 votes
Accepted

Did Apple not originally allow anyone to develop software for the Macintosh?

This is most certainly a myth. There was no conspiracy by Steve Jobs or Apple to prevent third-parties from engaging with the ecosystem that would eventually flourish for Classic Macintosh ...
user avatar
  • 56.2k
85 votes
Accepted

How was early randomness generated?

The one-word answer to your question is "badly". The way to create random numbers quickly is via a Pseudorandom number generator (PRNG). That Wikipedia page gives the history of PRNGs and in ...
user avatar
  • 8,864
78 votes

How was early randomness generated?

Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin — John von Neumann The method that RAND used to calculate their A Million Random Digits with 100,...
user avatar
  • 17.1k
72 votes
Accepted

Why does the Minus World exist?

In Super Mario Bros, you can access warp zones in three areas of the game. There are two of these that are important for the minus world glitch: the one at the end of World 1-2 (following the exit ...
user avatar
59 votes

Have programming languages driven hardware development?

Simply yes. And not just a few instructions, but whole CPUs have been developed with languages in mind. Most prominent maybe Intel's 8086. Already the basic CPU was designed to support the way high ...
user avatar
  • 166k
58 votes

Did many programs really store years as two characters (Y2K bug)?

I programmed in Cobol for nearly 20 years at the start of my career and it was quite common to see two digit years used. Initially this was due to storage concerns - not necessarily only memory, but ...
user avatar
  • 2,864
54 votes

Why not use fractions instead of floating point?

My question is, why not use fractions? Quick answer: Too much code needed Dynamic storage needed Long representation even for simple numbers Complex and slow execution And most prominent: Because ...
user avatar
  • 166k
52 votes

How did Elite (BBC Micro) compress resources?

Elite used procedural generation. There's a good description of the algorithm on the Elite Wiki and although the original 6502 source code archives are available on Ian Bell's Elite site he also ...
user avatar
52 votes

Why does the Minus World exist?

Warp zones exist at the end of some levels. In order to access them, you have to break through blocks at the top of the level, then run along the top until a secret area becomes visible. In order to ...
user avatar
  • 16.9k
52 votes
Accepted

Have programming languages driven hardware development?

Interesting question with an interesting answer. First let me get one thing out of the way: One example from this answer mentions how C pointers were, at least in part, influenced by the design ...
user avatar
  • 10.1k
51 votes
Accepted

Why does the kill-screen glitch occur in Pac-man?

There are only seven fruit in Pac-man. The way the game calculates the number of fruit to draw is as follows: LD A,(#4E13): Load the level number (at memory address 0x4E13) into A. INC A: Increment A....
user avatar
  • 16.9k
50 votes

Was self-modifying code possible using BASIC?

BBC BASIC, first shipped in 1981, includes the EVAL keyword, which means "ask the interpreter to evaluate this string as an expression". Since strings can be mutated, a program can mutate what will be ...
user avatar
  • 32.2k
50 votes
Accepted

How did voice dialing work in old Nokia phones?

I did basic voice recognition on an Atari ST (8MHz 68000, 8-bit mono sampling1). If it could be done on a 1985 desktop2 then it should be no problem for an early naughties cell-phone3. IIRC4, the ...
user avatar
  • 8,727
46 votes
Accepted

Did any PC software floating point use non-IEEE format?

Turbo Pascal 2.x and the "ordinary" version of Turbo Pascal 3.x used a six-byte floating-point format which offered higher precision than an IEEE single-precision float, offering the ...
user avatar
  • 26.1k
45 votes

Have programming languages driven hardware development?

One interesting example of programming languages driving hardware development is the LISP machine. Since "normal" computers of the time period couldn't execute lisp code efficiently, and there was a ...
user avatar
  • 551
41 votes
Accepted

Why was IBM's Scientific Subroutine Package superseded?

Specifically concerning EISPACK. what happened was that James Hardy "Jim" Wilkinson in the UK (whose career as an applied mathematician started with practical ballistic modelling in WWII, ...
user avatar
  • 6,320
38 votes

How was early randomness generated?

The Commodore 64 had a built-in audio processor, called the SID chip. This chip would generate sounds based on (among other things) a frequency (e.g. 440 Hz) and a wave shape (square, sawtooth, etc.)....
user avatar
  • 481
37 votes

Why does Ms. Pac-man turn upside down?

The reason for this glitch is rather obscure; it's not surprising that the developers didn't catch it. It all starts with the tunnels on the sides of the screen. These tunnels allow Ms. Pac-man and ...
user avatar
  • 16.9k
36 votes

Did any PC software floating point use non-IEEE format?

The BASIC built into the ROM of the original IBM PC, as well as the BASICA and GW-BASIC programs, and therefore all software written in the language, used Microsoft Binary Format for floating-point ...
user avatar
  • 5,690
35 votes
Accepted

What was the first piece of software to be called an engine?

While I don't know the first software to be referred to as an engine, it seemed useful to check Google's Ngram Viewer: As can be seen, database engine slowly began being to be used around 1979, while ...
user avatar
  • 466
34 votes
Accepted

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

The legal way to obtain old versions of Microsoft operating systems and software is to buy a Visual Studio subscription (formerly known as MSDN subscription). That page has a link to the complete list ...
user avatar
33 votes

Did Apple not originally allow anyone to develop software for the Macintosh?

The premise of his argument was that Apple could have ruled the world with the Macintosh (as in, Windows/IBM Compatibles wouldn't have had a 90% or whatever market share) but Steve Jobs was just too ...
user avatar
  • 10.1k
33 votes
Accepted

First commercial DOS game?

The first game sold for use on the IBM PC was Microsoft Adventure, which was available on the day the IBM PC was released (it was part of the launch, along with VisiCalc, Easywriter etc.). It was ...
user avatar
32 votes
Accepted

Does the "Amiga Client for Novell NetWare" exist?

The "Amiga Client Software for Novell Netware v1.4" (official name) was created in 1992 by Oxxi. It is available as a set of six(6) floppy disk images most places where Amiga abandon-ware is found. ...
user avatar
  • 56.2k
30 votes
Accepted

What are the "other crontabs" that /etc/crontab refer to?

As far as I can tell, the phrase "other crontabs" refers not to other versions of cron, but to the per-user crontabs. The description of the differences certainly fits with the differences ...
user avatar
  • 1,880
29 votes
Accepted

What was Nintendo's Software Development Environment for NES Games?

This website might help. A guy (Chris Covell) picked up a children's picture book in Japan which shows kids how NES games were made. (Mostly focussing on Super Mario Bros. 3) Chris actually scanned ...
user avatar
29 votes

Why can you not move on the last level on Dig Dug?

Dig Dug stores the positions of objects in tables in memory. There are two tables for this: an enemy table containing the positions of up to four Pookas and four Fygars, and a rock table containing ...
user avatar
  • 16.9k

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