Hacker News new | ask | show | jobs
by guru_meditation 4094 days ago
Yes, this ran on an 1987 Amiga 500 with the Commodore A501[1] 512K RAM expansion. This means:

  * 1MB RAM
  * 256K ROM
  * 7.16 MHz (yes, that's 0.007 GHz :)) Motorola 68000
plus a whole lot of custom chips [2]

There were different ways of expanding the Amiga RAM and the demo became so popular it was reverse engineered by a popular cracking group Skid Row[3,4]., patched and re-distributed

[1] http://amiga.resource.cx/exp/a501

[2] http://en.wikipedia.org/wiki/Amiga_500

[3] http://www.exotica.org.uk/wiki/Skid_Row_%28old%29

[4] https://www.youtube.com/watch?v=uqfcrViBGn8

2 comments

7.16 MHz (NTSC) / 7.09 MHz (PAL), and what's worse, average instruction takes about 8 clock cycles. Fastest ones take 4 cycles. "move" (like mov on x86) takes from 4 up to 36 cycles depending on addressing modes. Multiplication is up to 70 cycles. Divide up to 140 cycles (unsigned) and 158 (signed).

In some sense it's really like a 1.7 MHz machine. And that's being generous.

This says 50fps, so I assume it was the 7.09MHz version...
Correct, just like with the Commodore 64, the CPU clock actually differed based on the graphics hardware output, which was back in the day adjusted for the household CRT TV sets.

The master clock crystal oscillator on the motherboard was set to be 2 clock cycles per pixel and other chips clocks were derived from that.

Hence the CPU was set to 1/4th of master clock, so the European PAL[1] machines (a 50fps TV standard) actually ran slightly slower than the American NTSC[2] machines (a 60fps TV standard with a smaller vertical resolution).

[1] http://en.wikipedia.org/wiki/PAL

[2] http://en.wikipedia.org/wiki/NTSC