/Kaleidoscope

Commented Disassembly of Li-Chen Wang's classic Kaleidoscope program for the Cromemco Dazzler

Primary LanguageAssembly

Kaleidoscope

Commented Disassembly of Li-Chen Wang's classic Kaleidoscope program for the Cromemco Dazzler


What is/was Kaleidoscope

Kaleidoscope is a rather tiny (127 Bytes) demo program for the Cromemco Dazzler by Li-Chen Wang. It displays a 64x64 colour graphic much like a mechanical/optical kaleidoscope using the repetitive structure of the Dazzlers memroy. The program was sold by Cromemco as on its own for 15 USD on paper tape or later on floppy disk as part of their DAZZLER Games pack at 95 USD.

Here an example what it might look like (*1):

Exemplary Output

Historic Relevance

While Kaleidoscope might be considered more like a short demo for same new hardware, it had an amazing effect in its time - and honest, it's still catchy - which other program can claim to have slowed down trafic to a stand still on NYC's 5th Avenue? It may also have influenced some other well known programmers to write similar programs - like the Low Res Kaleidoscope delivered as part of COLOR DEMO on the Apples DOS 3.2 Disk for the Apple II.

Why Adding a Repository 40+ Years Later?

In early October 2022 Maury Markowitz asked on RetroComputing.SE if there's some high level analysis for that program, as all he could find was a basic disassembly. I tried some Google-Fu, found are many sites mentioning Kaleidoscope, including a few running some emulation to show it's output (*1), but none offering a commented source or high level description - the only one attempting to do so in 2020 closed his blog right before touching that part :(

Being curious (and a bit bored) I decided to take a look at the disassembly, resulting in what's found here.

A few hours after the commented disassembly was linked on Retrocomputing.SE, Spektre posted a C++ recreation. A copy is added with permission - might be a more pleasant reading to today's programmer than Assembler :))

Further Reading

Files (so far)


*1 - Well, the real output of a real Dazzler on a real CRT isn't as shiney and sterile as those modern browser implementations make it look:)) Also, the modern variant runs at about 2-3 times the original speed.