Qaop – ZX Spectrum emulator

This is homepage of Qaop, a ZX Spectrum emulator. Qaop is a Java applet which can be embedded on a page, but can also be run as a simple application.

Qaop applet running Starquake. RUN


Qaop has been ported to JavaScript.
Play Manic Miner, Lode Runner, Skool Daze, Starquake, 3D Tanx.

Download

Binary: qaop.jar (45k)
Source: qaop-1.4.tar.gz ()

Qaop/Java is released under the GNU GPL licence. If you modify it, don't forget to put the sources on the web. It would be also nice if you link back to this page.

Keys

Shift,[Caps Shift caps shift
Ctrl,Alt,]Symbol Shift symbol shift
TabCaps ShiftSymbol Shift extended mode
EscCaps Shift1 edit
CtrlDelreset Spectrum
F11mute
PgUp,PgDnchange sound volume
Pausetoggle pause

HTML example:

<applet name=qaop archive=qaop.jar code=Qaop width=320 height=256>
<param name=load value=demo.tap>
<param name=ay value=1>
</applet>

(Don't forget to upload qaop.jar on the server)

Parameters

You can customize emulator adding following parameters to applet tag:

loadsnapshot (Z80, SNA) or cartridge (ROM) to run, tape (TAP) to autoload.
tapetape image (TAP).
romalternative ROM image.
if1romInterface 1 ROM image. Device itself is not emulated.
focusgrab focus on start (default 1).
ayenable AY (default 0).
mutedno sound on start (default 0).
volumevolume level (0..100, default 40).
maskoverlay image (eg. tv.png).
arrowsredefine arrow keys.

You may specify file within ZIP using fragment identifier (eg. name.zip#game.tap). Otherwise first suitable file will be selected.

The "arrows" parameter consists of up to four chars representing keys (in LRUD order). Use lowercase letters for alpha keys, C [Caps Shift], S [Symbol Shift], _ [Space], E [Enter].

Methods

Applet element is extended with following methods accessible from JavaScript:

reset()reset Spectrum.
pause(y)pause (true or false).
load(file)load snapshot or tape.
tape(file)insert tape. (null to remove)
save()return data URL to current state (Z80 snapshot).
mute(y)silence (true or false).
volume()
volume(v)
get/set volume level (0..100).
state()emulator state
bit 0:paused, 1:loading, 2:muted.
mask(file)change overlay. (pass null to clear)

Mime types

Qaop recognizes following MIME types:

application/zipZIP archive
application/x.zx.romROM image
application/x.zx.tapTAP file
application/x.zx.snaSNA snapshot
application/x.zx.z80Z80 snapshot
(append .gz for gzipped variants; Content-Encoding is also recognized)

As a fallback, type recognition based on filename extension is used.

×
snapshot.z80