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, ...
  • 22.2k
103 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 ...
  • 178k
91 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 ...
  • 57.8k
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 ...
  • 9,430
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,...
  • 17.6k
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 ...
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 ...
  • 178k
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 ...
  • 2,904
57 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....
  • 17.8k
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 ...
  • 178k
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 ...
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 ...
  • 17.8k
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 ...
  • 10.4k
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 ...
  • 32.6k
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 ...
  • 9,050
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 ...
  • 29.8k
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 ...
  • 551
42 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, ...
  • 6,465
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.)....
  • 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 ...
  • 17.8k
36 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 ...
  • 98.3k
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 ...
  • 6,043
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 ...
  • 466
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 ...
  • 10.4k
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 ...
  • 98.3k
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. ...
  • 57.8k
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 ...
  • 1,949
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 ...
29 votes
Accepted

What are the differences between a PAL and NTSC C64?

Hardware-wise, the Commodore 64, like most early computers, was synchronized to its graphics output: in the case of the C64, the CPU clock was derived from the timing crystal in the video hardware. ...
  • 8,452

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