Tommy
  • Member for 5 years
  • Last seen this week
What technological factors drove the rise of "high-speed" modems in the early 1990s?
Accepted answer
108 votes

Up to 9,600 baud it's just iterative application of fairly straightforward analogue-domain ideas as and when standards emerge. Then there's a significant improvement on the digital side that bumps to ...

View answer
Was self-modifying code possible using BASIC?
48 votes

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 ...

View answer
What happened to the SEV instruction on the 6502?
46 votes

Setting and clearing carry, the decimal or interrupt flags is useful: the carry flag because the 6502 offers only add and subtract with carry; the decimal flag because it changes the mode of the ...

View answer
What's the relationship between early 90s Pentium microprocessor and today's Intel designs?
Accepted answer
44 votes

My approximate version: Prior to the Pentium, Intel CPUs were pipelined: different parts of the CPU would simultaneously be working on different operations, but the different parts were designed to ...

View answer
Why does the ZX81 not have user definable characters without extra hardware i.e. why could the character ROM not be in RAM?
Accepted answer
43 votes

The ZX80 and ZX81 use the Z80’s opcode fetch bus cycle for graphics collection — the opcode fetch is appropriated to obtain a character index and the refresh cycle is used to obtain a row of pixels. ...

View answer
Why do all the Speech Synthesizers have that same Voice?
Accepted answer
40 votes

The ones you list are all S.A.M, from what is now SoftVoice Inc. It was developed first for the Apple II, Lisa, Atari 8-bit machines and the Commodore 64; based on awareness of those versions, the ...

View answer
How did people program for Consoles with multiple CPUs?
Accepted answer
39 votes

It varies machine to machine; at the simplest end is the Neo Geo — its 68000 and Z80 have completely independent buses. You write one program for the 68000 and one for the Z80 and a single pipe of ...

View answer
How did Apple fail to tap the business and scientific markets?
Accepted answer
39 votes

The Apple II was a hobbyist's computer that unexpectedly found a business niche. Apple recognised that niche in its design of 1980's Apple III. Specifically, it thought that the following were ...

View answer
Why were early 3D games so full of muted colours?
38 votes

On the PS1 the lack of perspective correction when applying textures means that geometry will always retain its correct silhouette but the inner pixels may be displaced. Coupled to that, the most ...

View answer
What techniques were used to reduce the required re-rendering in 3D programs?
36 votes

A very broad question, so a random dump of thoughts: Elite approximates solid objects through convex objects. Because every game object (other than the missile) is convex that means by definition ...

View answer
How do old computer emulators work?
Accepted answer
35 votes

I wrote my first emulators somewhere in the mid-to-late '90s, my first cycle-accurate emulator circa 2000 and have managed to outdo even that, writing a clock-sign-transition-accurate emulator — ...

View answer
Z80 x 6502 raw performance
Accepted answer
34 votes

Both processors are cacheless. So the process is fetch instruction, decode instruction, execute instruction, forget what you saw. That provides a first line of comparison. The Z80's fastest memory ...

View answer
Why do 3D models on the PlayStation 1 “wobble” so much?
Accepted answer
34 votes

The transform applied to project geometry from 3d to the 2d coordinates necessary for drawing on a screen is called a perspective projection. It involves calculating 1/z and multiplying x and y by ...

View answer
Why didn't SNES Doom use mode 7?
Accepted answer
33 votes

Mode 7 is just an image warp — the programmer sets a 2d offset that is applied between each pixel and the next when proceeding in raster order. That allows 2d rotation and scaling to be applied; if ...

View answer
What's with the Atari 2600 colors on SECAM?
Accepted answer
33 votes

The TIA manages a very large palette on NTSC and PAL systems because it takes advantage of the way that composite colour is encoded: three bits produce luminance, and the colour subcarrier is always ...

View answer
Was the first ARM "processor" a BBC BASIC program?
Accepted answer
31 votes

Per Sophie Wilson: To prove that [Steve had] designed the microarchitecture correctly, he wrote, in BBC BASIC, a model of the microarchitecture. To prove that I'd designed the architecture ...

View answer
Do instruction exercisers exist for 8086 and 68K (and other) CPUs?
28 votes

Throwing some things out there that might fit the bill: 6502: AllSuiteA which assembles into a single binary and exits, leaving a failure or success code in memory; 6502 and 65C02: Klaus Dormann's ...

View answer
Amiga 500 OCS/ECS vs Mega Drive VDP
Accepted answer
28 votes

The [pre-AGA] Amiga: uses a planar frame buffer, stored in memory that is shared with the CPU (and which therefore reduces the CPU's speed); provides dual-playfield hardware scrolling, but the total ...

View answer
What operations could early PC 3D accelerators perform?
Accepted answer
27 votes

Having owned a Voodoo 1 back in the day, it did pixel painting only, and was slightly buggy in that. The CPU's job was to transform, clip and project all geometry, and to have transferred any ...

View answer
What is causing the problem with the RAM in this (claimed) Spectrum 48k?
27 votes

A single bad DRAM, probably — in machines of that vintage each DRAM holds only a single bit at each address; you use eight in parallel to serve an 8-bit bus. And the Spectrum uses physically separate ...

View answer
How fast is memcpy on the Z80?
Accepted answer
27 votes

There's no real optimisation — LDIR (or indeed LDDR, which goes downward instead of upwards) is the complete inner loop. It will always load from HL, store to DE, increment both and decrement BC. Then ...

View answer
What was novel about the Atari ST? Did it introduce any innovations?
Accepted answer
25 votes

As well as being the first colour Mac-like, the Atari ST was absurdly competitive on price, being the first mainstream 68000-based home computer. The Amiga wasn’t relaunched for the home market until ...

View answer
How does the shift key in a keyboard work?
Accepted answer
25 votes

That's how the shift key sometimes worked on old terminals and ASCII is designed around it. But on a modern keyboard, the SHIFT key just does exactly the same as every other key on the keyboard: it ...

View answer
When did hardware antialiasing start being available?
Accepted answer
25 votes

There's something of a conflation here of antialiasing and filtering, I think. Antialiasing is literally preventing things from adopting aliases — e.g. if a diagonal line looks like a staircase rather ...

View answer
Why does the Z80 include the RLD and RRD instructions?
Accepted answer
25 votes

Per Zilog's Z80 user manual: Two BCD digit rotate instructions (RRD and RLD) allow a digit in the accumulator to be rotated with the two digits in a memory location pointed to by register pair HL (...

View answer
Separate code and data address spaces on the Z80
Accepted answer
25 votes

The M1 line literally means machine cycle 1 — and you're right about timing; the instruction fetch part of an M1 cycle is only two clock cycles long and will sample the data lines in the first clock ...

View answer
Was Objective-C really a hindrance to Apple software development?
24 votes

Swift was introduced only in mid-2014 so I think perhaps some of those people's beards have greyed out very rapidly! That aside, Objective-C attempts to fuse two different languages: Smalltalk and C. ...

View answer
Would it be technically possible to make a "Satiator" for the PlayStation?
23 votes

Per the developers of PSIO, the answer is no: Exactly why is [the internal modification] required? There are two signals that PSIO needs in order to function that are not present on the expansion ...

View answer
6502 CMP instruction doesn't compare as expected
Accepted answer
23 votes

The code you've posted: loads the immediate value 0 into A; loads the immediate value 3 into Y; then compares the 0 in A to whatever is in memory at the address you've given the label Y. There are ...

View answer
How was the first assembler for a new home computer platform written?
23 votes

The 1974 Altair 8800 kick-started the industry but at the time offered no keyboard, no screen, just a bunch of switches and lights connected directly to the bus and a counter to help you input or ...

View answer
1
2 3 4 5
9