JAMSI is a retro-computer emulator that runs right in your browser — no installation, no downloads. It plays Amstrad CPC, CPC Plus, GX4000 and ZX Spectrum software: cartridges, floppy disks, cassettes and snapshots.
Open the emulator →Fullscreen: press Alt+Enter or use the Fullscreen button. Turbo: the Turbo button (or hold T) runs the machine faster — great for long loading screens.
| System | What you can run |
|---|---|
| GX4000 | GX4000 cartridges (the game library). |
| 464 Plus / 6128 Plus | CPC Plus cartridges, disks and tapes. |
| CPC 464 / 664 / 6128 | The classic Amstrad CPCs — disks (6128/664 with floppy) and tapes. |
| ZX Spectrum 48K / 128K / +3 | ZX tapes (TZX/TAP) and — on the +3 — disks (DSK). |
Switch machines any time via the Machine selector. The display resets, and the new machine starts clean — a handy way to jump between CPC and Spectrum games.
Pick a title from the Cartridge Library, or use Load Cartridge (CPR/BIN file). The machine switches to GX4000/Plus automatically and the game starts.
Insert Disk A / Insert Disk B mounts a disk image into the chosen drive. On CPCs with a floppy drive you can also Insert empty DATA disk — JAMSI asks which drive (A or B) and gives you a ready-to-use formatted blank for saving your own programs.
After you have written to a disk (e.g. SAVE"NAME"), the Save DSK A / Save DSK B buttons appear and download the disk image with your saved data.
Load a tape with Insert Tape. On CPCs the tape starts automatically when the firmware asks for it (e.g. RUN"!"); on the Spectrum press Play / Pause. Rewind returns to the beginning. A block selector lets you jump to a specific loading block.
Load SNA restores a saved CPC snapshot instantly; Save SNA (optionally compressed) captures the current state — perfect for continuing later or sharing with friends.
Drop any supported file directly onto the page: CPR/BIN (cartridge), DSK/EDSK (disk → drive A), CDT/TZX/TAP (tape) or SNA (snapshot). A drop overlay confirms the action.
Enable CPCDOS or the M4 Board in Settings → General → Storage / expansions. Both use upper ROM slot 6 and the same personal virtual HDD, so only one can be active at a time. AMSDOS remains in slot 7. The optional SYMBiFACE II real-time clock supplies local browser time through &FD10/&FD14/&FD15 and works alongside M4 and V9990. The optional SYMBiFACE III real-time clock via &FD41/&FD42/&FD4F is compatible with the SymbOS SF3 driver; its seconds tick with real browser time.
With CPCDOS you can change directories from the CPC with |CD,"PATH", then run programs with RUN"NAME" or |DOS:LOAD"NAME". Share links with input=|CD,"PATH":RUN"DISC" mount the matching HDD before boot so the RSX commands are ready.
Manage files in the emulator under Settings → ROMs → CPCDOS/M4 virtual hard disk. Uploads and ZIP imports keep long file names; file and folder names are always stored in upper case for CPCDOS and M4. Only unsafe path characters are replaced.
Server-side HDDs are encrypted in the database: registered accounts get 2×16 MiB, accounts marked as supporters get 2×32 MiB, and moderators/admin get 4×64 MiB. A share link mounts only the selected drive read-only. A blue HDD LED shows virtual HDD activity; the tape LED is green.
The CPC PowerGraph emulation provides 512 KiB VRAM on the official ports &FF60–&FF67; &FF6F is unused on CPC. Enable it under Storage / Extensions. With Display source → Automatic, JAMSI switches to V9990 when DISP is set. Use the V9K button or CPC/V9990 selector for manual switching. B2/B4 use pixel-exact 768-pixel output, B3 is centred at native width, and B7 is reduced horizontally from 1024 to 768 pixels with bilinear filtering. Stretch V9990, or the FIT button, optionally fills the complete 768×544 display with bilinear filtering on both axes.
Use the Paste key F11 to type a copied command line or a whole BASIC listing into the machine instantly — handy for RUN"DISK" or long listings. Esc cancels the typing.
With the Joystick toggle on, the cursor keys move and Ctrl / Alt are fire 1 / fire 2. A touch joystick appears on phones and tablets.
Enable the CPC mouse in Settings or with ?sfmouse=true. The SYMBiFACE II / Cyboard PS/2 interface at &FD10 is emulated. Click the display for pointer lock; Esc releases it.
The Virtual Keyboard button shows the machine's keyboard below the display (CPC or ZX layout; the GX4000 has none). Click keys with the mouse or tap them on touch screens.
With Num Lock on, the PC numpad acts like the CPC 6128 function block: 0–9 = f0–f9, . = the f.-key, Enter (numpad) = the small Enter, Del = CLR.
| Key | Action |
|---|---|
| F11 | Paste clipboard text into the machine (fast autotype). |
| Esc | Cancel a running autotype. |
| Alt+Enter | Fullscreen (native or simulated). |
| PageUp (or the REW button) | Rewind — step back through the last minutes of play. Hold to rewind continuously. |
| T / Turbo button | Turbo speed. |
The Rewind granularity, window and hotkey can be tuned in Settings → Rewind.
SAVE"NAME" writes to the mounted disk; then use Save DSK A/B to download the image with your data.ESC x 1 enables NLQ quality with an extra overprint pass, and modes such as condensed, bold, italic, underline and half-height are supported. Hardcopies and ESC/P bit-image graphics remain CPC-7-bit correct. The printer window stores multiple pages, lets you browse them, save individual pages as PNG or SVG, and run a labelled Self Test page covering normal, NLQ, bold, italic, condensed and graphics sections. Then PRINT #8,"HELLO" sends output to the selected printer.Registering is free and unlocks the JAMSI account features. A valid email address is required; existing accounts without one must add it at their next login. The registration form includes a small built-in arithmetic captcha — no external service is used. After registering, an admin or moderator activates your account (anti-spam), then you can log in — with “Remember me” on by default, you stay logged in for a long time.
The Copy Share Link button (System group) copies a link containing your current machine setup — machine, settings, custom ROMs, the loaded cartridge, disks (including everything you saved on them) and tapes. If the active machine has an explicit saved state, the share can include that too. Before copying, logged-in users can choose optional URL parameters such as gui=false, embedded=true and input=.... Anyone opening the link gets the shared setup; they do not need an account. Logged-in users automatically get a short link — other people can also open it, they just cannot create one.
Logged-in users can store up to 10 machines on the server. The My Machines selector in the deck shows all ten slots: pick an existing one to load it, or pick a free “(new)” slot to save the current setup there. The machine you choose becomes the active machine and auto-updates — every setting change, disk write, cartridge change or ROM change is saved to the server automatically, so it stays current. The separate Save, Load and Delete State buttons manage an optional explicit machine state. Choose “— select machine —” to keep playing without an active server machine slot or auto-save.
In My Account (top-right after logging in) you can rename or delete your machines and manage your own share links (view hits and delete them). The admin can also manage all users and shares and upload software.
The CPCDOS HDD account tab is a file manager for your virtual HDD: open folders, upload/import a file or ZIP, create folders, rename, delete, clear the drive and download the whole HDD as an unencrypted ZIP. The admin panel provides the same per-user file manager for moderators/admins.
My Machine (local): with ?mymachine=true in the URL, JAMSI also remembers your setup in this browser (settings, ROMs, media) without an account — handy on your own device.
For a detailed guide to the Z80 Assembler (Maxam-compatible syntax, directives, expressions, macros, and writing files to HDDs/DSK), see the Assembler documentation.