----- 
maTeidotonE
best viewed with NetSurf
My programs Games Other programs
GNU/Linux Computers & programming Music & movies
Other topics What's new + README Contact
---------------------------------------------------------------------------------------
Updated 2024-09-24
ZX Spectrum emulators Online emulator
 
Below is a free emulator written in JavaScript, named JSSpeccy v1. More advanced versions exist, i.e. v2 and JSSpeccy 3, but I included this one because it's the only version that I could run offline and it works in Firefox 10 from 2012. You can download it and put it on your site. It doesn't have sound. The original ROM file that came with the emulator is replaced with OopenSE BASIC (^).

OpenSE BASIC is an open source replacement firmware for the ZX Spectrum and clones that includes many improvements over the original, while retaining a high level of compatibility.

Press Power On, then Start, then Open and select a file. The first 3 files are games and the last 2 are programs written in BASIC. The games are:
  • Chequered flag, 1983, driving simulation; keys: 9 - acceleration; i - brake; a - left; f - right; m, n - change gear
  • Chess - The Turk, 1983, turn-based strategy game
  • XOR, 1987, puzzle; keys: z - left; x - right; p - up; l - down; Enter - change player character

Select a file:

    Close

    JSSpeccy

    a ZX Spectrum emulator in Javascript

    By Matt Westcott

    JSSpeccy homepage (including downloads and source code)

    Based on Fuse by Philip Kendall et al. Icons from Nuvola by David Vignoni.

    Close

    This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


    The ZX Spectrum
     
    The ZX Spectrum is a home computer released in 1982 and based on the Z80 CPU, which is superior to the 6502 CPU (^) used in the Apple II (1977) and (with modifications) in the Commodore 64 (1982).

    Although only an 8-bit CPU, the Z80 can run a preemptive multitasking operating system. Features such as memory protection, which the Z80 lacks, are not essential in such an OS.
    [...]
    While the MOS Technology 6502 cannot move the stack pointer, the Z80 can freely relocate it to any position in memory, which makes it easier to implement preemptive multitasking. The existence of an alternative register set accelerates context switching between tasks dramatically.

    Several ZX Spectrum models were made, with 16, 48 or 128 KiB of RAM (^).
     
    ZX Spectrum Sintez 2 keyboard Keyboard of ZX Spectrum Sintez 2, made in Republic of Moldova, 1993 ZX Spectrum 48K diagram Diagram of ZX Spectrum 48K

    In the ZX Spectrum's memory, each address stores 8 bits (1 byte) and the Z80 CPU can handle an address size of 16 bits, so 216 = 65536 B = 64 KiB of memory can be accessed directly by the CPU. The model with 48 KiB of RAM has 64 KiB of memory in total, of which the first 16 KiB (addresses 0—16383) are read-only memory (ROM), storing a BASIC (^) interpreter and some routines for graphics, arithmetic operations etc.

    Sinclair BASIC was originally developed in 1979 for the ZX80 by Nine Tiles. The programmers were John Grant, the owner of Nine Tiles, and Steve Vickers.
    [...]
    In 48K models and older, the keywords are entered via Sinclair's unique keyword entry system, as [can be deduced from the image above]. The most common commands need one keystroke only; for example, pressing only P at the start of a line on a Spectrum produces the full command PRINT. Less frequent commands require more complex key sequences: BEEP (for example) is keyed by pressing CAPS SHIFT plus SYMBOL SHIFT to access extended mode (later models include an EXTENDED MODE key), keeping SYMBOL SHIFT held down and pressing Z.

    One of the reasons for the incompatibilities between home computers was that BASIC and other programming languages included instructions to perform operations directly with the memory, such as POKE:

    POKE addr,i

    This writes i, which can be between 0 and 255 = 28 - 1, at physical address addr. If addr is in the framebuffer (addresses 16384—23295), the result is immediately visible on the screen.
     
    BASIC program BASIC program with POKE Output Screen output (resolution is 256x192)

    Download links
     
    Emulators
     
    Games
     
    Free Unix Spectrum Emulator
     
    OpenSE BASIC
     
    Bars3d - program written in BASIC included with the emulator above, which is also provided
     
    More emulators
    ---------------------------------------------------------------------------------------
    © 2024 Matei. No cookies®