chiptune galore

Over the years I ported a number of existing 3rd party chiptune emulators to JavaScript/WebAudio. The original programs were typically written in C or C++ and designed as regular PC applications. Respective programs had to be migrated to JavaScript and more importantly the Web’s asynchronous execution model. Emscripten here does most of the heavy lifting and migration doesn’t take much time once you get the hang of it (though it comes at the price of somewhat larger code – as compared to handwritten JavaScript).

I am using my generic  WebAudio ScriptNode player to which respective emulator-backends can be added as plugins.

https://www.wothke.ch/webuade/

UADE was one of the more challenging migrations due to the Amiga emulator’s unpredictable on-demand file loading.

https://www.wothke.ch/webxmp/

Quite popular for MOD file playback XMP is a very well behaved citizen and could be migrated easily.

https://www.wothke.ch/AdLibido/

Again nothing tricky about the adlib player.

https://www.wothke.ch/spectreZX/

Spectrum fans had been asking for this one. Unfortunately the original emulator code makes invalid memory alignment assumptions which required a bit of cleanup to make it work in JavaScript.

https://www.wothke.ch/webasap/

There isn’t much to be said in favour of 8-bit Ataris but the simple code made this migration a freebee.

https://www.wothke.ch/webvgm/

Arcade machine music 🙂

https://www.wothke.ch/webpsx/ 

Sony’s Playstation.

https://www.wothke.ch/websnes/

Here the emulator was already in JavaScript and I just used it as an example for how to make it a plugin for my generic player.

Leave a Reply

Your email address will not be published. Required fields are marked *