JSSCC
October 19th, 2016 (9th grade)
JSSCC is a JavaScript (technically TypeScript) recreation of the 8-bit1 software synthesizer GXSCC.
GXSCC is a software synthesizer designed to simulate several classic “8-bit” sound chips such as the NES APU and the SCC (hence the name):
I never finished this project for technical reasons, as I summed up here. I worked on on the UI first, and ended up with a nearly pixel-perfect recreation of the original GXSCC. Unfortunately I had a pixel-perfect recreation of the original GXSCC. In my quest for pixel perfection I forewent HTML and CSS for the layout and used the immediate-mode (Canvas
in this case) rendering I was used to in normal desktop C or C++ applications. This made the UI not scalable and slow (what’s fast and normal in C was less so in JavaScript), not to mention the impact on accessibility and more obscure features like tabbing between elements. I had to resort to weird optimizations to keep a smooth 60 FPS, whereas the original GXSCC could run easily on computers built in 2000. Realizing I’d have to start essentially from scratch to do it correctly (and remembering I kind of hate web development), I abandoned the project before even wiring up the actual synthesizer to the WebAudio API.
Nevertheless, you can try out JSSCC in its current state here.
JSSCC also includes multiple color palettes/themes, a feature not present in GXSCC.