Kaleidoscope
Commented Disassembly of Li-Chen Wang's classic Kaleidoscope program for the Cromemco Dazzler
Install / Use
/learn @Raffzahn/KaleidoscopeREADME
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):

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
- "Build the TV Dazzler" from February 1976 issue of Popular Elecronics (at Bitsavers)
- Dazzler as Interface Age's Card of the Month of March 1977 (at Bitsavers)
- Cromemco Dazzler Instruction Manual Revision C of March 1976 (at Bitsavers)
- TV-Dazzler advertisement in the August 1976 Cromemco Catalogue (at Archive.Org). It includes pictures of their program offerings (on Paper tape :)).
- The Cromemco Story, a 1980 article about the company's history (so far) in the IACO I/O News Vol.1 Issue.1 (at Archive.Org)
Files (so far)
- Disassembly Listing -> Disassembly Listing used as base to regenerate the source
- Kaleidoscope.asm -> Commented source listing of the Dazzler Kaleidoscope program
- Kaleidoscope_Manual.png -> Kaleidoscope's 'manual' page from p.32 of the Cromemco Dazzler Games Manual (at Bitsavers)
- Kaleidoscope in CPP.md -> Spektre's C++ recreation of Kaleidoscope
- Kaleidoscope_CPP.gif -> Exemplary output using Spektre's C++ recreation
- README.md -> This file
*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.
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
