totetmatt / bazematic

A browser-based ZX Spectrum live-coding environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bazematic

A browser-based ZX Spectrum live-coding environment

https://bazematic.demozoo.org/

Background

At the NOVA 2023 demoparty, there was a live-coding jam organised on the premise of "if you can broadcast your screen, you can code in whatever tools you like". So, because I'm an awkward bugger, I decided to try my hand at live-coding for the Spectrum in Z80 assembler. Unfortunately, since no-one has made a dedicated live-coding environment for that, it involved a whole lot of switching between the emulator, text editor, and command line for the assembler.

bazematic is my attempt at addressing this obvious gap in the live-coding ecosystem. It brings together my JSSpeccy emulator, roudoudou's rasm assembler (cross-compiled to WebAssembly with Emscripten), and the Ace code editor into a single coder-friendly package.

Following the precedent of Bonzomatic being named after Bonzaj / Plastic who spearheaded live shader coding, bazematic is named after legendary Spectrum coder Baze / 3SC.

Compilation notes

There isn't a proper build script right now - compiled assets from jsspeccy, rasm and ace are included directly into the repo.

  • jsspeccy is built from commit 429daf15 with npm run build - the contents of dist are copied into jsspeccy
  • rasm is built from commit af8013ed of my fork, using emmake make with an emscripten environment active. The resulting rasm.js and rasm.wasm are copied into rasm
  • ace is the src-min subtree of commit d065fe88

About

A browser-based ZX Spectrum live-coding environment


Languages

Language:HTML 87.2%Language:JavaScript 12.8%