Saturday, September 12


Case Nightmare Green 13

I've worked out what the Nightmare-13 - our 13-bit imaginary system - is, and why.

<mode wiki on>

The Nightmare 13 was a range of 13-bit computers produced from 1986 to 1988 aimed at the higher education market, particularly computer science, engineering and mathematics.

The initial model Nightmare Red had a 13 MHz CPU with a 13 bit bus, 256k of dual-ported VRAM, 8k of colour lookup RAM, and 40k of ROM containing a multi-tasking operating system kernel and a Forth interpreter.  It was equipped with a single 1.6M floppy drive and one ISA-compatible expansion slot.

The Nightmare-13 CPU had several unusual features:
  • It was stack-oriented, with a 33-entry hardware stack with automatic spill to main memory.
  • It had six independent 33-entry stacks and two independent ALUs.
  • It could issue two stack instructions per cycle, to two different stacks.
  • It supported three simultaneous threads, each with its own pair of stacks.
  • Threads could freely swap or share stacks, though each thread had to be asigned two different stacks.
  • Threads had priority allocation, each receiving 0-13 cycles from every 13.
  • It was bit addressed, with total accessible memory of 226 bits.
  • Memory reads and writes could access objects of arbitrary bit length, with hardware bit masking.
  • It had built-in floating-point support, albeit in non-standard formats.
  • Peak performance was 26 MIPS at 13 MHz.
On the graphics side, the Nightmare Red had a single plane of 512x256 with up to 13 bits per pixel.  It had no explicit sprite or overlay hardware, but could freely draw to any subset of the bits in each pixel with no performance overhead.

The 8k colour lookup RAM allowed any 13 bit pixel value to be remapped to any 13 bit RGB value.  This meant that the programmer could treat 7 bits from each pixel as a 128-colour background, 2 bits as a translucent mask layer, and 4 bits as a sprite overlay.  The colour lookup RAM could effectively apply not only bitwise operations but addition, subtraction, and averaging as well.

The Nightmare Blue (1987) increased RAM to 512k, still entirely VRAM, and the floppy capacity to 3.2M. 

The Nightmare Yellow (1988) increased VRAM to 768k and increased the bus width to 26 bits.  The Nightmare-26 CPU supported the same instruction set as the Nightmare-13 and ran at the same 13 MHz, but added a 96-word instruction buffer, and could issue instructions to two different threads (out of a total six) in each cycle.

The Nightmare Yellow introduced support for much higher resolution displays, up to 1024x1024.  It also upgraded the floppy capacity to 9.6M.

A planned model Nightmare Green was scheduled to ship in 1989 but was never completed.  Surviving prototypes included support for mini (80mm) CD-ROMs, internal hard drives, and up to 2M of VRAM.

The only programming languages available to the Nightmare range in the first two years were Forth and assembler.  Compilers for Basic and Pascal arrived in early 1989, just months before production was cancelled.

Sound on the Nightmare range was driven entirely by software, depending on the CPU writing to a pair of 13-bit DACs.  However, the fast stack operations and hardware threading made the Nightmare a very effective audio workstation for its time.

<mode wiki off>

Posted by: Pixy Misa at 06:41 AM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 541 words, total size 4 kb.

1 Don't read this while trying to eat ramen, or you'll end up with noodles in your sinuses.

Posted by: normal at Saturday, September 12 2020 08:50 AM (obo9H)

2 That was exactly what I was aiming for.

Posted by: Pixy Misa at Saturday, September 12 2020 11:39 AM (PiXy!)

Hide Comments | Add Comment

Apple pies are delicious. But never mind apple pies. What colour is a green orange?

48kb generated in CPU 0.06, elapsed 0.2767 seconds.
58 queries taking 0.2418 seconds, 298 records returned.
Powered by Minx 1.1.6c-pink.