Most Popular

1500 questions
31
votes
3 answers

Were 9.2 file names possible in MS-DOS?

In MS-DOS (and FAT16), you could only have 8.3 file names (like QUESTION.TXT) with only single-case letters and numbers (and a few symbols). The MS-DOS Editor also defaulted to 8.3 - typing edit questiontxt in MS-DOS 6.22 would edit…
Zackary
  • 605
  • 6
  • 14
31
votes
1 answer

What are the Amiga 1200 timing fixes?

I have read that the Amiga 1200 may need certain "timing fixes" to be applied to the motherboard in order to use CPU accelerators. What are these timing fixes and why are they needed? Is there one set of fixes that will fix all hardware stability…
rcntxtlztn
  • 2,225
  • 17
  • 29
31
votes
10 answers

Should 486s have a heatsink?

I'm building a 486 computer. I plan on using a 100 MHz 486-DX4 that I have which I believe is about as fast as 486's went. The motherboard I will use (Socket 3) appears to support putting a heatsink and fan over the CPU but I'm not sure if it is…
cbmeeks
  • 8,531
  • 3
  • 25
  • 97
31
votes
5 answers

How was the C language ported to architectures with non-power-of-2 word sizes?

By the time the C language started to gain popularity outside of the PDP-11 circles (mid-1970s), mainframes with "weird" word sizes, and no capability to address individual bytes efficiently were still in use: for example, Wikipedia mentions CDC…
Leo B.
  • 19,082
  • 5
  • 49
  • 141
31
votes
5 answers

In what ways was the Windows NT POSIX implementation unsuited to real use?

Windows NT implemented POSIX compatibility because some US government contracts required such. It is said that the POSIX implementation was only pro forma, not intended or suitable for real use (i.e. Microsoft hoped the customer would accept the…
rwallace
  • 60,953
  • 17
  • 229
  • 552
31
votes
11 answers

Has there ever been a C compiler where using ++i was faster than i++?

Please take a look at this post: Is there a performance difference between i++ and ++i in C? There are two essential statements in the answer: Modern compiler produce the same machine code no matter whether i++ or ++i is used. On old compilers i++…
zomega
  • 5,362
  • 4
  • 25
  • 52
31
votes
6 answers

Managing registers/memory effectively on the Z80

I've been writing assembly for the Z80 for some time, lately. Initially, I had no experience with working with 8-bit processors, but after going through a tutorial for my platform and spending a lot of time studying an opcode table, I believe I have…
v-rob
  • 637
  • 3
  • 8
31
votes
9 answers

NES cartridge ROM emulation with Arduino or Pi?

I'm looking to buy or make an NES cartridge that can be controlled by a microcontroller or small computer like the Raspberry Pi. I don't want to gut an NES cart and put an NES emulator inside it (as most of my Google searches are returning), instead…
Lucas Walter
  • 461
  • 1
  • 5
  • 8
31
votes
11 answers

How to divide an unsigned 8-bit integer by 3 without divide or multiply instructions (or lookup tables)

On CPUs without divide or multiply instructions like the Zilog Z80 and the MOS 6502, how could division by three be efficiently implemented? I know in practice in game code you'd usually use a 256-byte lookup table, but I want to know the…
hippietrail
  • 6,646
  • 2
  • 21
  • 60
31
votes
2 answers

Did Forth's inventor Charles Moore really write a CAD program in only 5 lines of code?

In wiki.OSDev.org, they talk about Forth's inventor Charles Moore and you have the following statement: Charles Moore, inventor of Forth, wrote a CAD program which was structured around just 5 lines of code. When asked how long it took to write…
Eric Cartman
  • 6,760
  • 5
  • 35
  • 59
31
votes
2 answers

What "spectacular to watch" algorithms were used for sorting tapes?

Python's heapq.__about__ variable contains an anecdote (François Pinard, circa 2000): [1] The disk balancing algorithms which are current, nowadays, are more annoying than clever, and this is a consequence of the seeking capabilities of the disks. …
wizzwizz4
  • 18,543
  • 10
  • 78
  • 144
31
votes
4 answers

What motivated the weird boolean instruction repertoire of the PDP-11?

The PDP-11 has seven dyadic instructions (I'm not counting the byte/word varieties separately), which take a full six bits for each of its operands. That's twelve bits to specify the operands, and four bits to specify the opcode. These instructions…
Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
31
votes
3 answers

Why was the DOS clock device renamed from CLOCK into CLOCK$?

From the Wikipedia article on reserved device names ... and the CLOCK$ (still named CLOCK in some issues of MS-DOS 2.11) clock device were introduced with DOS 2.0, ... Why was is necessary to add a $ character to this device name? And why didn't…
Sep Roland
  • 1,043
  • 5
  • 14
31
votes
3 answers

How did installers locate the Program Files directory on Windows 95?

Program Files is typically C:\Program Files; however it is not always; famously on German installs it was C:\Programme, the installation drive was not guaranteed to be C, and other things would make hardcoding "Program Files" fraught with peril. The…
Joshua
  • 1,829
  • 14
  • 22
31
votes
4 answers

What are the "virtual machines" that were running on 80386 and later x86 CPUs before full hardware virtualization?

When reading techy articles about older Windows versions I often come across the term "Virtual machine". Apparently even Windows 3.11 had some sort of virtual-machine-thing going on in it, not to mention later Windows versions. Except instead of…
Vilx-
  • 1,345
  • 1
  • 10
  • 17