107
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, ...
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 ...
93
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 ...
92
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 ...
83
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,...
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
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....
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 ...
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 ...
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 ...
53
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 ...
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 ...
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 ...
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 ...
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 ...
45
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, ...
45
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 ...
41
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.)....
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 ...
37
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 ...
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 ...
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 ...
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 ...
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 ...
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. ...
31
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 ...
30
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 ...
30
votes
How was early randomness generated?
Interesting question. After all, it's the main job of a computer to come up with deterministic results, which is pretty much the opposite of pure randomness.
In reality, coming up with a series of ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
software × 115history × 27
hardware × 10
ibm-pc × 7
ms-dos × 6
amiga × 5
gaming × 5
commodore-64 × 4
graphics × 4
apple-macintosh × 4
unix × 4
atari × 4
arcade × 4
floating-point × 4
apple-ii × 3
nintendo × 3
cassette-tape × 3
instruction-set × 3
software-development × 3
books × 3
copy-protection × 3
software-development-kit × 3
application-program × 3
emulation × 2
basic × 2