Spectrum emulation!

gasman - 19:21 14 August 2021 #

As just announced at Névoke, Demozoo now integrates JSSpeccy 3 <https://github.com/gasman/jsspeccy3> to allow you to launch ZX Spectrum demos directly in the browser. No need to watch them on YouTube ever again! Just hit the play button where available, and it'll fire up in the browser window.

JSSpeccy 3 should (hopefully!) correctly emulate all video tricks used in demos, for both original Spectrum and Pentagon. It can launch TAP, TZX (but not custom tape loaders), Z80, SNA and SZX files - demos that are only available as TR-DOS disks aren't supported yet, but hopefully will be soon. (It's also not smart enough to deal with multiple loadable tracks in the same zipfile.)

Have fun, and if you find any bugs, feel free to shout on this thread!

menace - 08:06 15 August 2021 #

Amazing work AS usual :)

superogue - 09:45 15 August 2021 #

Awesome! Great job!

exocet - 22:56 15 August 2021 #

So great! :)

gasman - 01:47 16 August 2021 #

Just fixed a very unfortunate bug in the Z80 core (specifically, with relative jump instructions that jump forward exactly 127 bytes) that broke the Protracker 3 player routine... oops. So if your favourite demo was crashing on startup, please give it another try! (You might have to hard-refresh the page to pick up the new version.)

stijn - 00:02 17 August 2021 #

How does this work exactly? When I go to e.g. https://demozoo.org/productions/144617/ the play button only plays the YouTube video...

el-topo - 07:54 17 August 2021 #

I'm guessing now but perhaps there must be a link to an uncompressed supported file? This works: https://demozoo.org/productions/297055/

gasman - 10:02 17 August 2021 #

It needs a link to a TAP, TZX, Z80, SNA or SZX file, or a ZIP file that contains *exactly one* of those. (Giving the user a prompt to choose when there are multiple valid files is on the to-do list...) KPACKU Deluxe doesn't work because it's only available as a TRD disk image, which we don't support yet.

Also, adding a valid link won't make the emulator appear immediately - there's a periodic background task to find usable files and mirror them to our own server, because browsers require them to be served with a specific HTTP header to be loadable in the browser.

stijn - 19:22 17 August 2021 #

Got it, thanks!

gasman - 22:13 26 August 2021 #

A little update... JSSpeccy now supports loading from tape the traditional slow way, for those rare occasions when the loading is an integral part of the demo experience. Now you can enjoy https://demozoo.org/productions/49977/ in its full screechy glory!

No HTML or BBCode please. URLs will be link-ified