All Questions

158
votes
3answers
40k views

What algorithm did Microsoft use to dither colour in early versions of Windows?

In the late 1980s to mid 1990s, most consumer-class video hardware was not capable of displaying greater than 16 colours at a time. To create the illusion of greater colour, software often "blended" ...
104
votes
4answers
24k views

It's now safe to turn off your computer

One thing I remember very well from my childhood is the screen you got at the end of a shutdown process ond old computers: I don't know if this was a Windows 95/98/2000/ME only thing but I wonder why ...
102
votes
2answers
17k views

How did Commodore's anti-Microsoft Easter Egg work?

A couple years ago the Toronto PET Users Group published an article (The Great Commodore/Microsoft Easter Egg War, on p. 7) about a newly discovered anti-Microsoft Easter Egg that Commodore hid in the ...
95
votes
21answers
34k views

Was there ever any reason to wait 30 seconds to restart a c.1995 PC?

I owned a PC in the mid-to-late 90s, and while everyone said when you turn it off and back on again, count to 30. But it also had an instant reset button down below. Was there ever really any risk ...
91
votes
5answers
19k views

How can tilting a N64 cartridge cause such subtle glitches?

When the N64 cartridge is tilted in Super Mario 64, it reliably produces glitches such as this. Mario's limbs disappear, he rotates 90° and sinks into the floor, and the music gets messed up (usually ...
88
votes
16answers
22k views

How was early randomness generated?

Many programs make use of randomness, from BASIC guess-the-number games to encryption key generators. This randomness could have been generated in many, many different ways: hardware, software, ...
88
votes
16answers
20k views

Does “Disk Operating System” imply that there was a “non-disk” Operating System?

In the 1980's at primary school we saw MS DOS and DR DOS competing before Windows 3.1 and subsequent releases took over that space. At home we had Apple II's which booted up to a BASIC prompt. On ...
81
votes
20answers
17k views

Have programming languages driven hardware development?

Programming language development has been influenced by hardware design. One example from this answer mentions how C pointers were, at least in part, influenced by the design of the PDP-11. Has the ...
81
votes
7answers
26k views

Why would a NES game use an undocumented 1-byte or 2-byte NOP in production?

Reading the NESdev wiki page on CPU unofficial opcodes, I see a few games use an undocumented 2-byte NOP instuction in production: Puzznic, F-117A Stealth Fighter, and Infiltrator use $89 #i. Beauty ...
79
votes
4answers
7k views

Were there 8086 coprocessors other than the 8087?

The 8087 math coprocessor for the 8086 (and descendants) nominally added floating point and transcendental (trigonometric and logarithmic) instructions to the 8086. Contrary to naive expectations, the ...
77
votes
14answers
14k views

How did people use ed?

ed was the standard Unix editor, and is present on all POSIX certified systems (though it's not installed by default in Debian, FWIW). It's a line editor (meaning, you can't see all the text at a ...
76
votes
18answers
16k views

Why was BASIC built into so many operating systems?

There are a lot of retro-computers with BASIC as an integral part of the operating system. The IBM 5100 was one of the first computers with a separate memory space for BASIC, followed by the Commodore ...
75
votes
9answers
12k views

Why were CLIs typically light text on dark background, whereas GUIs typically use(d) dark text on light background?

My experience is that CLIs were typically shown with light text on a darker background. For example, the IBM PC would use white/light gray (depending on your point of view), amber or green (the latter ...
74
votes
9answers
8k views

What key factor led to the sudden commercial success of MS Windows with v3.0?

Microsoft Windows was originally introduced in 1985, ostensibly to compete with the Apple Macintosh, and other computers shipping with graphical shells by that time. However, early versions of Windows ...
73
votes
12answers
16k views

Back in the late 1980s, how was commercial software for 8-bit home computers developed?

When hobbyists wanted to write software for e.g. the Commodore 64, they either used the built-in BASIC interpreter (with all its limitations) or some native tools, like compilers for other languages ...
70
votes
2answers
15k views

Why does the Minus World exist?

In Super Mario Bros. for the NES and Famicom there exists a secret world, accessible by clipping through a wall to the first warp zone and entering the left-most pipe. This pipe will take you to ...
69
votes
13answers
16k views

Did any 8-bit computer system / OS have concepts for concurrency and multitasking like we know from today?

So, today all major OS support multitasking and concurrency in languages like for instance threading. The Amiga seems to be the first home computer which has advanced concepts in this area. But had ...
69
votes
2answers
10k views

How did Windows 3.1 implement multitasking?

Windows in its earliest days was simply a shell that ran on top of MS-DOS, which means that Windows 3.1 itself was actually just a standard MS-DOS application like any other. Yet, MS-DOS is not a ...
68
votes
6answers
8k views

What technological factors drove the rise of “high-speed” modems in the early 1990s?

The first inexpensive modem I ever purchased was a 300 baud direct-connect unit for the C64 User Port in late 1983. I recall that a couple of years later (1986), 1200 baud modems were affordable and I ...
64
votes
10answers
14k views

How was C ported to architectures that had no hardware stack?

Thinking about machines such as the PDP-7, PDP-10, CDC-160 and so on1, these are machines which do not have a stack pointer which can quickly and easily change to point to a new stack frame, like the ...
63
votes
3answers
11k views

What character is the MS-DOS cursor?

The cursor used on my 486 (and Pentium 3) in MS-DOS 6/7 has a thick underlined character. I cannot find that in code page 437. The underscore character is the closest to it, but is thinner. Where ...
62
votes
3answers
8k views

Why did Unix use slash as the directory separator?

The Unix designers came from the GE/MIT Multics project, and Multics inspired some Unix features. In particular, Multics has a hierarchical filesystem, and so does Unix. On Multics, pathnames were of ...
61
votes
8answers
16k views

Why do C to Z80 compilers produce poor code?

When reading some other questions about compiling C for the Z80, How much benefit should be expected on a more advanced compiler for z80/r800 based computers? Native C compiler for Sinclair ZX ...
60
votes
14answers
20k views

Why did some early CPUs use external math chips?

While enjoying the response to "Why did CPU designers in the 70s prioritize reducing pin count?" In 1979 IEEE was hard at work at coming up with a standard for handling floating point numbers, and ...
60
votes
8answers
19k views

How was copying prevented when the first CD-ROM games were introduced?

Several ways exist to protect against the copying of games but, when CD-ROM games were first introduced, were there any measures taken by video game developers to prevent the copying of games?
60
votes
7answers
14k views

Where did the popularity of the `i` variable come from?

I have heard that the reason the i variable is used so much is because there was an old computer where each variable could only be a single letter and that reserved the variables a through h as ...
60
votes
5answers
13k views

Is it safe to turn on a 40-year old TRS-80?

My father is a retired programmer. When I was in high school in the late 1970s, he purchased a TRS-80 model 1 (on which I learned to program in BASIC). At some point in the early 1980s it, together ...
59
votes
11answers
16k views

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

This probably nearly belongs on Skeptics.SE but here goes. Within the last few years I've become an Apple convert for the most part, which occasionally brings me into (usually) good natured conflict ...
58
votes
13answers
13k views

Were later MS-DOS versions still implemented in x86 assembly?

Recently, Microsoft published the source code of old MS-DOS versions on GitHub. What is odd in my opinion is the use of x86 assembly language for everything. The assembly language would not be my ...
58
votes
10answers
7k views

What makes accurate emulation of old systems a difficult task?

Thanks to a lot of passionate and skilled people, we can emulate pretty much any retro platform today. For most people they perform well enough, but in fact, a substantial amount of these emulators ...
58
votes
6answers
12k views

Why did C use the -> operator instead of reusing the . operator?

In the C programming language, the syntax to access the member of a structure is structure.member However, a member of a structure referenced by a pointer is written as pointer->member ...
57
votes
2answers
8k views

What are the software logos in MORICONS.DLL?

Every copy of Windows comes with a file named MORICONS.DLL which was first distributed with Windows 3.0. As far as I know, this file has not been changed since Windows 3.0. Some of the icons include: ...
57
votes
7answers
15k views

How were the first ZX Spectrum games written?

Being a child of the 80s I loved my ZX Spectrum, did my best to learn BASIC but I felt like the games I was playing (Jetpac, Dizzy, Renegade etc) were perhaps not written using BASIC. I wondered: how ...
57
votes
2answers
9k views

Why are a lot of monochrome computer monitors green?

In my perception, the most common color for monochrome computer monitors is green or white/grey, though I have seen orange monitors. Is this genuinely the case, and if so, is there a reason for it?
56
votes
1answer
9k views

What's the story behind the name “X11”?

To this day on Linux configs and startup scripts for the GUI system are stored in /etc/X11. I remember this name appearing alone, or alongside others - XFree86, X.org, X - for as long as I had contact ...
55
votes
6answers
7k views

Reason for the Amiga clock speed

The Amiga used a CPU rated for 8 megahertz, but clocked at 7.14 megahertz. What was the reason for this number? I remember it was something to do with a multiple of the frequency of the video ...
55
votes
3answers
10k views

Why did DOS use dollar-terminated strings?

According to a few tutorials I am seeing, DOS used dollar-terminated strings to write to the terminal. This seems to also be documented here on INT 21H. AH = 09h - WRITE STRING TO STANDARD OUTPUT ...
53
votes
7answers
11k views

Why use static RAM addresses instead of the stack?

I'm studying the 65c816 assembly for the 1994 game, Super Metroid. A hobbyist studied the game in-depth and created a RAM map. From it: 7E:0B56 - 7E:0B57 Moves Samus this distance horizontally, ...
53
votes
3answers
5k views

How does the LOADALL instruction on the 80286 work?

This undocumented instruction existed in the 80286 and, I believe, the 80386. I think it was added while debugging the chip, so the engineers could quickly put the processor into any state and test it ...
52
votes
12answers
10k views

How big is a mainframe?

If you read about the history of computing, you'll hear how the first computers were "huge". You will often come across assertions that in the early days of commercial computing, a single computer ...
52
votes
5answers
10k views

Which Linux or BSD distributions do still support i386, i486 or i586 CPUs?

Unfortunately Debian kicked out Pentium 1 (i586) CPU support from its 32-bit PC port (named i386 for historic circumstances) for its next stable release Debian 9 Stretch. (Then again they complain ...
51
votes
12answers
11k views

What early home computers have more than one CPU, where both could be used by the programmer? [closed]

I am interested to know if any computers that are on-topic for this site had more than one CPU, where this plurality could be leveraged by a programmer. Some cases I don't so much care about: The ...
50
votes
6answers
10k views

How did old MS-DOS games utilize various graphic cards?

Nowadays each graphic card has some driver in operating system that translates some (typically) standard API such as OpenGL, so that programmers use some standardized API code to tell graphics cards ...
49
votes
12answers
12k views

How was the first assembler for a new home computer platform written?

How did the 8-bit computers (Spectrum, Commodore, Atari, Amstrad etc) typically "bootstrap" from bare electronics into a platform with a working assembly language and OS? What I mean: An assembler is ...
49
votes
11answers
14k views

Why did trackballs disappear?

For a desktop computer, a mouse is a great pointing device. For a laptop if you don't want an extra device to keep track of, you need an alternative. The options I'm aware of: NubLow-tech, cheap, ...
49
votes
3answers
7k views

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

(This question was inspired by my previous question What kind of software was used to develop Nintendo 64 titles?) The NES used a modified 6502 processor and most games were written in Assembly. ...
49
votes
7answers
4k views

Are there any modern compilers that can generate Amiga/m68k executables?

I would quite like to resurrect my openkick project. As I note on that project's README.md, it is stalled because GNU GCC is not fit for purpose. Sadly, there do not seem to be any other modern ...
48
votes
20answers
12k views

Did personal computers ever support 8" floppies?

When I look at the following picture, it seems a bit awkward to me that personal computers ever supported 8" floppies (unless the size of your computer case was as big as a fridge !): Am I right or ...
48
votes
2answers
10k views

Why did Commodore fill their power supplies with epoxy?

If you know anything about the Commodore 64 (and other Commodores, really) you know that Commodore really went the cheap route and produced some awful power supplies. The Commodore 128 PSU isn't ...
48
votes
5answers
10k views

Why did base64 win against uuencode?

From the the two methods of encoding 8-bit data as human-readable ASCII, for a time, uuencode format was more popular. USENET 'binaries' groups were filled with uuencoded posts with whatever goodies ...

15 30 50 per page