Questions tagged [zx-spectrum]

For questions about the different versions and products of the Sinclair ZX Spectrum computer

Filter by
Sorted by
Tagged with
66 votes
1 answer
4k views

How do I extract the program from the Radiohead "Nude" tribute by James Houston?

One of my favorite videos ever is a tribute to Radiohead "Nude" by James Houston. I have never seen the program in the video available to download, so I've just made an attempt to extract it myself. ...
11 votes
2 answers
1k views

Why does the .z80 emulator-snapshot format have separate fields for the 8-bit refresh register and bit 7 of R?

I've been looking at the .z80 file format for Sinclair ZX Spectrum games. Most docs discussing the format include pretty much this wording: Offset Length Description -------------------------...
  • 5,976
3 votes
4 answers
770 views

Is the ZX Spectrum multithread capable? [closed]

I know the spectrum had the IM2 mode, but can I start multiple threads running simultaneously? Like to play sounds, watch the keyboard, and other tasks who can be runned simultaneous.
11 votes
3 answers
2k views

Is it possible to PRINT AT 23,0 in ZX Spectrum BASIC?

The ZX Spectrum BASIC doesn't (ordinarily) let you print on lines 23 and 24 to allow for user input. Is there a way around this? I found a fairly recent post that suggested I could POKE 16418,0 but ...
  • 1,057
4 votes
2 answers
709 views

ZX Spectrum scroll waiting for user input problem

I'm trying to compile a C program with z88dk for the ZX Spectrum. Using printf(), when the text hits the bottom line of the screen on line 24 the program stops executing until a key is pressed on the ...
  • 81
4 votes
5 answers
917 views

Z88DK ZX Spectrum "%f" printf not working

I'm attempting to compile a program in C for the ZX Spectrum using Z88DK. However, I'm facing an issue when trying to use printf to print out the value of a float. The code I'm trying to compile: #...
  • 81
4 votes
1 answer
239 views

Checking Old Tapes

How do I check old ZX spectrum cassettes work - the tapes are after all quite old? I am fairly computer savvy (my life is a continual strand from that Speccy to this here Thinkpad - and many stations ...
  • 49
6 votes
2 answers
534 views

Did loadable levels for ZX-Spectrum games contain only graphics / game data, or executable code as well?

There was a number of ZX-Spectrum games that had loadable levels - e.g. R-Type, Gauntlet, Short Circuit (48k). I wonder if those loadable levels only contained graphics / music / game data for the ...
  • 2,092
10 votes
2 answers
562 views

Where to share/who may be interested in IEEE 16 bit half float library for Zilog Z80?

I have recently developed a half-float/16-bit float library (link to Github) for Zilog Z80. It was a part of my project to run some neural network and graphics POCs for ZX Spectrum. The library uses ...
  • 233
12 votes
4 answers
3k views

Accelerators for Z80 micros?

I am familiar with the various accelerator products that were developed over the years to improve the performance of popular 6502 home micros. A short list of the particularly well known devices would ...
  • 59.1k
14 votes
3 answers
980 views

Did the Oric-1 improve on the Spectrum's keyboard?

So I've been whiling away some of a quiet Saturday night reading up on an early eighties computer called the Oric-1, which seems to be a curious little machine that has been largely unsung; moderately ...
  • 55.3k
15 votes
3 answers
3k views

Why does this ZX Spectrum machine code "Hello World" routine not produce the expected result?

This is probably an easy one, but I'm stumped. I want to run this ZX Spectrum Hello World routine on my Sinclair ZX Spectrum 48k. I'm going to describe all the steps I took so it's easier to see ...
  • 2,169
15 votes
4 answers
5k views

Why did some Spectrum games need LOAD "" CODE?

Most ZX Spectrum games were loaded from tape, and the traditional way of starting the loading process (at least in the 48K era) was to type LOAD "" and then start the tape. This would normally load ...
  • 1,831
23 votes
3 answers
4k views

Was Locomotive BASIC significantly better than Sinclair BASIC?

The Amstrad CPC range of Z80 machines shipped with a ROM BASIC, designed and implemented by Locomotive Software. The most well known competitor was the Sinclair ZX Spectrum, also a Z80 machine, with ...
4 votes
2 answers
969 views

ZX Spectrum: What is the "T" state value, with reference to sound?

I have that awesome book - Zx Spectrum ROM Disassembled (correct the title if I got it wrong), where the author wrote about the audio code in the ROM and referring to "T" state, "... T200... T5000, ...
17 votes
7 answers
5k views

What should be the waveform for ZX Spectrum tapes?

I am digitizing about 40 tapes with programs for the ZX Spectrum. I am somewhat puzzled by the waveform after digitization. The signal of most cassettes is meander-shaped. One of the cassettes can ...
  • 361
7 votes
1 answer
619 views

Why is ZX80 much faster than Spectrum on Rugg/Feldman benchmarks?

If you look at the results of the Rugg/Feldman benchmarks, shown in this Wiki entry, you'll see that Sinclair ZX80 is much faster than Sinclair Spectrum on all tests despite the fact that both ...
  • 173
2 votes
2 answers
351 views

ZX Spectrum +2 not saving

I have a ZX Spectrum+2 with the built in tape deck. I can load tapes no problem, when I try to save, I get the border lines. When I try to reload the program I get nothing Any help would be greatly ...
8 votes
2 answers
652 views

Saving screen pixels to string in ZX Basic

I remember programming a ZX spectrum in 128 basic (about 20 years ago). I remember I was able to save a third of the screen into a variable. Something like this: 10 LET A$ = [16384 BYTES starting at ...
  • 183
14 votes
2 answers
1k views

How did the Sinclair compare on price with the C64 in the UK?

As far as I know, the popular low-end home computers in the UK around the mid-1980s were the Sinclair ZX-Spectrum ("Speccy") and the Commodore C64. I know the BBC micro also had a following, but my ...
  • 59.1k
5 votes
1 answer
848 views

Z80N multiply compared to MC68000 [closed]

According to this answer (How did multiply instructions work in the various 68ks?) the MC68000 can take up to 70 clock cycles to multiply. The ZX Spectrum Next's FPGA based Z80N has a MUL DE ...
11 votes
1 answer
597 views

Purpose of using REM when running TR-DOS commands in BASIC

When running TR-DOS commands from within BASIC, it's necessary to prefix the command with RANDOMIZE USR 15619: REM: first. I understand the former command, but not the latter. For example, to load a ...
  • 1,939
8 votes
1 answer
575 views

How can I input a string in ZX Spectrum BASIC using INPUT and not show the quotation marks?

How can I input a string in ZX Spectrum BASIC and not show the quotation marks on input? I've written a program for my 3-year old daughter to type in some letters, but she keeps deleting the ...
  • 183
3 votes
2 answers
731 views

Sinclair ZX Spectrum with DivMMC load issue

I use a Sinclair ZX Spectrum Issue 2 with a DivMMC EnJOY! Pro One and the boot process shows no error and I'm even able to enter the file browser but if I choose any game/demo/program I get always ...
  • 159
22 votes
3 answers
5k views

Why did the ZX Spectrum use an internal speaker?

I was surprised to note recently that the Sinclair ZX Spectrum used an internal speaker. I knew the BBC Micro used one, presumably because it was designed to be optionally used with a monitor which ...
  • 55.3k
11 votes
3 answers
2k views

How can a peripheral work on both the ZX81 and on the ZX Spectrum?

The ZX Printer was made to work with both the ZX81 and the Spectrum (or rather, the Spectrum was made to work with the ZX81's printer!), but these computers have different expansion ports. What I ...
17 votes
3 answers
2k views

Why does Sinclair BASIC have two formats for storing numbers in the same structure?

The ZX Spectrum has two formats for storing numbers, both 40 bits, or five bytes. The first is a floating point format, which consists of one exponent byte, and four mantissa bytes. The first bit of ...
6 votes
3 answers
2k views

Can a Harlequin ZX Spectrum clone be modifed to run CP/M?

The ZX Spectrum (and therefore the Harlequin) has its ROM from $0000 to $3FFF, while RAM further up to $5AFF is used for the screen (see Memory-Map). As CP/M expects RAM from $0000 upwards the two are ...
11 votes
2 answers
931 views

Why was the Hobbit withdrawn from the UK market?

The Hobbit is a Soviet computer which was built to be compatible with the ZX Spectrum, but with some extensions. For example it has more memory and can run CP/M. The Hobbit had favourable reviews in ...
18 votes
1 answer
1k views

Inglish parser on the Hobbit (1982 video game)

Most adventure games, to keep the parser simple, might just have some simple rules, which accepts verb + noun or a cardinal direction, and simple things like that. That's almost a CFG, so in Backus-...
12 votes
4 answers
3k views

Why was the Amstrad CPC slow at scrolling

As I understand, neither the Amstrad CPC or the Sinclair Spectrum had any support for hardware scrolling, and arcade conversions struggled compared to the C64 or NES. However, isometric 3D games ...
3 votes
2 answers
412 views

Can S-100 cards attach to the ZX machines?

S-100 was, as I understand, a very popular way to connect various computer equipment together in the past. Also, from what I understand, S-100 closely matches the same signals as the Intel 8080, as ...
21 votes
1 answer
3k views

What was the reason for the ZX Spectrum's display bitmap layout?

I had a ZX Spectrum 48KB, whose display was a 256*192 monochrome bitmap (plus separate per-block color attributes). I remember the display bitmaps scan lines were laid out in memory in a weird way - ...
  • 703
8 votes
5 answers
921 views

How to protect a ZX Spectrum mainboard from "ageing"?

I have some ZX Spectrums, and in some of them I observe a kind of "disintegration" process of the main board. The connectors break away etc. During the tests one of the boards burned out :(. How can ...
6 votes
2 answers
544 views

Membrane keyboard robustness

Some early computers used a membrane keyboard (ZX80, ZX81, Atari 400), or semi-membrane with minimal keys (ZX Spectrum). This is because it was cheaper than a mechanical keyboard. Intuitively I would ...
  • 55.3k
9 votes
2 answers
2k views

How compatible is the Leningrad clone with the "original" ZX Spectrum?

In Leningrad they developed a clone of the ZX Spectrum, replacing the ULA by some TTL logic. Some of my speculations: In the USSR, the analog TV sets used SECAM, not PAL, so I imagine that the ...
8 votes
2 answers
3k views

Who designed the Sinclair ZX Microdrive and why?

The ZX Microdrive. It is well known that the Microdrive was introduced for the ZX Spectrum along with ZX Interface 1. However, who came up with the idea and the design? Was it Sinclair themselves, ...
  • 2,888
4 votes
1 answer
3k views

Where to buy an 8 bit computer remake? [closed]

I want to buy a remake of an 8-bit computer, e.g. the ZX-Spectrum or c64. Must haves: Modern monitor output(e.g. HDMI) Modern keyboard, no gum keys Modern storage, e.g. SD card or USB stick, etc... ...
  • 149
5 votes
1 answer
506 views

What was the AMI SAGA and why wasn't it used it all ZX Spectrums?

This page has a note about a chip called AMI SAGA. Apparently it does the same job as the Ferranti ULA, but saves a little circuitry and runs cooler. What was this chip? Some kind of uncommitted ...
1 vote
1 answer
355 views

ZX Spectrum fault

I was recapping my zx spectrum when after just replacing one specific capacitor it stopped working as before. The picture has multiple horizontal lines over the entire display. This is especially ...
17 votes
2 answers
1k views

How to create a switchless multi-system 2 button Atari joystick?

All systems that use the Atari 9 pin joystick standard make use of the following pins in consistent ways, with each direction and the fire button being connected to the ground pin when pushed. 1 - up ...
6 votes
1 answer
542 views

Timex Sinclair 1500 and screen "jail bars"

I have tried to eliminate "jail bars" on the screen after UHF mod to video out (based on that: http://zx81stuff.org.uk/zx81/ts1500_video.html) by adding 460uf 16V capacitor between +5V and GND but it ...
21 votes
3 answers
6k views

Native C compiler for Sinclair ZX Spectrum

I am looking for a native C compiler for the Spectrum 128. I would like one which: Has good support for the latest C standard at the time. Is not limited to compiling ridiculously short source code. ...
  • 1,939
34 votes
5 answers
4k views

Which ports are which on this Soviet ZX Spectrum clone?

Today I got my (first) Soviet ZX Spectrum clone. The person who sold it to me had inherited it and had no idea how it worked. It seems to be a home-made clone, rather than a factory-built one. See ...
  • 2,169
27 votes
2 answers
3k views

Why does this BASIC program declare variables for the numbers 0 to 4?

On pages 150 to 154 of William Tang's (1982) Spectrum Machine Language for the Absolute Beginner, there are these lines of code. (Note GOTO 9000 is the first non-REM statement in the program). 9000 ...
  • 2,169
11 votes
2 answers
1k views

ZX BASIC REM statement overhead

Since my other question has been answered and has given me a way to do high-precision timing, I've been experimenting with it a bit. The first thing I did was write a simple benchmark using the FRAMES ...
  • 1,939
14 votes
4 answers
3k views

Make a BASIC TAP file readable on Linux

I am trying to convert my own BASIC TAP files (containing BASIC programs) to text so that they are readable on my Debian GNU/Linux machine. If I open them as is, I get this, which gives me some hope, ...
  • 2,169
19 votes
5 answers
2k views

Uptime in ZX BASIC

How can I obtain the uptime of a Sinclair ZX Spectrum machine (ZX48, ZX128, or Pentagon clone) via their BASIC interpreter? Specifically, the same value used by RANDOMIZE 0 to seed its PRNG. I would ...
  • 1,939
21 votes
6 answers
4k views

Understanding INKEY$ in ZX BASIC

The ZX BASIC Manual gives the following little program to demonstrate how INKEY$ works: 10 IF INKEY$ <> "" THEN GO TO 10 20 IF INKEY$ = "" THEN GO TO 20 30 PRINT INKEY$; 40 GO TO 10 While I ...
  • 2,169
23 votes
6 answers
3k views

ZX Spectrum tokenisation

The BASIC used in the early ZX Spectrum (and also its ZX predecessors) had this weird thing where every single BASIC token was printed onto the keyboard, and for example PRINT or LOAD were entered by ...