Wizards Lab
A downloadable game
Potions rain down from the shelves of a wizard's laboratory in vials of six colours. Line up three or more of a colour — horizontally, vertically or diagonally — and they react and vanish, dropping whatever sat above them into new arrangements.
Among the potions fall the arcane reagents: fireballs, bolts, bombs, stars and prisms. Placed well, they set each other off, and a single piece can unravel half the board.
Wizards Lab is a 16 KB cartridge for three 8-bit machines — the Commodore 64, the Commodore VIC-20 and the AC6502 — written in 6502 assembly. Same playfield same tiles, same timing, on all three.
This is a cartridge, not a browser game. The download is four ROM images: run them in VICE or the AC6502 emulator, or burn one to an EPROM and play it on the real thing.
Rules:
Tiles match on colour. The glyph on a tile decides what happens when it clears. A red potion, a red fireball and a red star are all "red" — so every reagent is aimed exactly like the potion it resembles, and you choose when to set it off.
- Fireball — destroys every tile of its own colour, board wide
- Bolt — clears its whole row and column, up to 21 cells
- Bomb — clears the 3 × 3 around it
- Star — doubles the whole cascade's score, up to ×8
- Prism — wildcard, matches any colour
A reagent caught in another reagent's blast goes off too!
Controls:
Rotate — joystick up, or W, or cursor up
Move — joystick left and right, or A and D, or the cursor keys
Soft drop — joystick down, or S, or cursor down
Rotate back — fire, or Q, or SPACE
Pause — P
Start — fire, or SPACE, or RETURN
Joysticks are Atari 2600 compatible — port 2 on the C64.
What is in the download:
run/ — load these. One file per machine, the load address carried inside it.
- WizardsLab-C64.crt — Commodore 64
- WizardsLab-VIC20.crt — VIC-20
- WizardsLab-VIC20.prg — VIC-20 prg (32k RAM)
- WizardsLab-AC6502.crt — AC6502
eprom/ — burn these. Raw ROM images, named for their size and load address, for a 27C128, a pair of 27C64s or a 28C256.
Running it:
Drag the .crt onto a running VICE window, or:
Commodore 64 — x64sc -cart16 WizardsLab-C64.crt
VIC-20 — xvic -cartA WizardsLab-VIC20-blk5.crt -cart6 WizardsLab-VIC20-blk3.crt
AC6502 — 6502 run --cart WizardsLab-AC6502.crt
x64sc and xvic are VICE — https://vice-emu.sourceforge.io/
The AC6502 emulator — https://github.com/acwright/6502-EMULATOR
VIC-20 Penultimate Cart — Use the WizardsLab-VIC20.prg file (32k RAM)
KungFu Flash / C64U — Use the WizardsLab-C64.crt file
How it was made:
One source tree, three cartridges. Everything the game does is shared code; the only things that differ are four constants and seven routines behind a platform contract, so no game logic anywhere knows which machine it is on.
The VIC-20 set the shape of it. Its 22 columns are the playfield all three machines draw, its eight hi-res colours capped the palette at six potions plus white, and its ~1 KB of usable RAM is what the whole 557-byte memory layout was designed against. Designing for the tightest machine first is why the other two needed no compromises.
Source, and the full design document — every rule, scoring table and level speed — at https://github.com/acwright/WIZARDSLAB
MIT licensed.
| Updated | 5 minutes ago |
| Published | 1 day ago |
| Status | Released |
| Rating | Rated 5.0 out of 5 stars (1 total ratings) |
| Author | A.C. Wright |
| Genre | Puzzle |
| Tags | 6502, 8-Bit, assembly, Commodore 64, Homebrew, match-3, Pixel Art, Retro, Singleplayer, VIC-20 |
| AI Disclosure | AI Assisted, Code |
Download
Click download now to get access to the following files:





Comments
Log in with itch.io to leave a comment.
I really like Columns clone, like your game. I was impressed when I launched it in xvic without adding any memory.
And on my first play with the C64 version, I went to level 8, and 18814 points. Not that bad after all!
Nice! Thanks for trying it out!
And you for publishing it. Maybe my favorite retro-game for september 2026.