78 votes

Back in 1984 I wrote some games for Spectrum - Will they still be playable?

well, if you really want those games back, just buy the tape. Then buy a cassette player (they're cheap, you can try to get a high quality one) or find a friend who still has one. Now: Make sure to ...
user avatar
72 votes
Accepted

How were the first ZX Spectrum games written?

Interestingly enough, I stumbled in a related article, that hints firstly the (cross)development at Sinclair was made on CP/M machines, (which corroborates the Matthew Smith Manic Miner development in ...
user avatar
66 votes

Could Pac-Man be replicated perfectly on the ZX Spectrum?

Both the Sinclair ZX Spectrum and the Pac-Man arcade machine used the Zilog Z 80 CPU. Pac-Man's display was slightly larger and vertical at 224×288 while the Speccy's was horizontal at 256×192. The ...
user avatar
  • 4,380
63 votes
Accepted

Can a USR command damage a ZX Spectrum?

I am the author of that video. I wrote a little article about that years ago. I will copy that for you here: Original article here: http://www.zxprojects.com/index.php/the-fix-a-spectrum-blog/29-the-...
user avatar
56 votes

How were the first ZX Spectrum games written?

This is quite a wide-ranging question. There are some resources online which help: Jonathan Cauldwell, author of various Spectrum hits, has a How to write games for the Spectrum" guide, which ...
user avatar
55 votes
Accepted

Did John Carmack really invent "Adaptive Tile Refresh"?

John Carmack almost certainly was the first to use the hardware scrolling capabilities of the EGA specifically, together with efficient tile and sprite drawing and erasing algorithms to create a slick,...
user avatar
  • 10.1k
53 votes
Accepted

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

First, many thanks for the great question. This may well be my favourite retrocomputing video of them all, so I contemplated having a look at the executable for a while myself. So, this is what I did: ...
user avatar
  • 3,812
48 votes
Accepted

Loading ZX Spectrum tape audio in a post-cassette world

If (and only if) your audio player is battery powered, and your Spectrum is the 48K or 128K toastrack model, try the following procedure, intended to boost the volume of your wave signal, as seen by ...
user avatar
47 votes
Accepted

How did the various Soviet ZX Spectrum clones support Cyrillic text?

I own a clone produced in Ukrainian Soviet Republic - "ОРЕЛЬ БК-08". It supports Cyrillic and Latin fonts. The main idea is similar to ANSI.SYS approach for DOS. There is a special control ...
user avatar
  • 1,316
44 votes
Accepted

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

These tricks are usually done to increase speed or reduce space. For most (especially Microsoft) BASIC, constants are stored within a tokenized line as ASCII (as entered), and converted to a floating ...
user avatar
  • 173k
41 votes
Accepted

How were Western computer chips reverse-engineered in USSR?

Little is known about how these computers and chips were made, because their development was top secret in the Soviet Union. As far as I know, Soviet Western-compatible ICs were made by copying ...
user avatar
  • 1,334
40 votes
Accepted

Why did the ZX Spectrum use an internal speaker?

I strongly expect that an RF modulator, which is needed to create the TV-style signal, would cost more if it had to handle sound too. A small speaker is very cheap, and often a useful device for ...
user avatar
  • 7,814
37 votes

How were Western computer chips reverse-engineered in USSR?

It seems to be pretty much accepted wisdom that the Soviets completely cloned the Western chips and did not simply develop reimplementations of the same instruction sets. Since at the time it was ...
user avatar
36 votes
Accepted

ZX Spectrum tokenisation

Contrary to other answers, obliging the user to enter BASIC tokens directly doesn't really save meaningful amounts of RAM. Many of its contemporaries such as the BBC Micro had BASICs where you typed ...
user avatar
  • 9,380
35 votes

Back in 1984 I wrote some games for Spectrum - Will they still be playable?

Back in the '80s, I wrote a couple of games too. A few years ago I have found the old cassettes with those games, but I had no tape deck at all. I bought a "USB walkman" Basetech BT-USB-TAPE-...
user avatar
  • 5,162
31 votes
Accepted

Documentation for the ZX Spectrum ULA

Buy, and study carefully, The ZX Spectrum ULA. The book is the result of opening the chip and reverse-engineering it down to the transistor level.
user avatar
  • 9,380
29 votes

How and why did the ZX Spectrum use so many voltages?

I will start with the last question: The power adapter is a very cheap one. In fact, the voltage without load can raise up to 15-16V. 9V is the nominal supply voltage under the normal load that the ...
user avatar
27 votes
Accepted

How did "full memory" Spectrum tape copiers work?

These programs usually had a mono-color background with very little text. By setting the color of the screen as "black ink on black paper" or "white ink on white paper", it is possible to relocate the ...
user avatar
  • 1,203
27 votes

What is causing the problem with the RAM in this (claimed) Spectrum 48k?

A single bad DRAM, probably — in machines of that vintage each DRAM holds only a single bit at each address; you use eight in parallel to serve an 8-bit bus. And the Spectrum uses physically separate ...
user avatar
  • 32.5k
27 votes
Accepted

Native C compiler for Sinclair ZX Spectrum

If you want it contemporary, use HiSoft C. Back then the standard compiler and compatible with other HiSoft Tools. For a more up to date and rather comfortable (cross) compiler Z88dk with its ...
user avatar
  • 173k
26 votes
Accepted

Adapting a "modern" keyboard to a ZX Spectrum

I did such interface long time ago. It was(is) an internal interface designed to fit in a place near the right side of the board when using the Plus case. Technical details here: http://www....
user avatar
26 votes
Accepted

Uptime in ZX BASIC

According to http://www.worldofspectrum.org/ZXBasicManual/zxmanchap25.html, addresses 23672-23674 contain a 24 bit count of 50Hz frame ticks in the UK. I wrote a quick program to print the values, ...
user avatar
  • 9,380
26 votes
Accepted

Was Locomotive BASIC significantly better than Sinclair BASIC?

The big improvement to the language in Locomotive BASIC, compared to Sinclair BASIC (and many other BASICs), was the addition of timer support: AFTER 50,0 GOSUB 320 would call the subroutine at line ...
user avatar
  • 96.6k
25 votes
Accepted

What format is the (Timex) Sinclair ZX Spectrum SCREEN$/.SCR file

For a standard screen, compatible with ZX Spectrum, a SCREEN$ file is 6912 bytes. It's just a dump of the screen memory. The first 6144 bytes store the screen bitmap: 256x192 pixels, 1 bit per pixel (...
user avatar
25 votes
Accepted

Blue and yellow stripes on the screen when loading from tape on ZX Spectrum

Actually, the screen stripes while loading from tape first occurred on the ZX-81 - Where they were a result of Sinclair's typical savvy nature - the display and the "EAR IN/MIC OUT" had to share a pin ...
user avatar
  • 28.4k
25 votes
Accepted

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

This is a (for the moment) a short answer: The Spectrum was engineered with a character oriented display, as Sinclair wanted people to use it for business, not for games, so the screen is arranged so ...
user avatar
24 votes

How were Western computer chips reverse-engineered in USSR?

This answer is written from memory, corrections may be made later if I remember/research more details. It starts with historical background to put things into perspective. This answer is specifically ...
user avatar
  • 341
24 votes
Accepted

Understanding INKEY$ in ZX BASIC

Some comprehensive BASIC to start with There are BASICly three (*1) kinds of statements to handle single keystrokes in various BASICs (*2): Waiting for a single keyvalue to arrive and returning it. ...
user avatar
  • 173k
24 votes

Was Locomotive BASIC significantly better than Sinclair BASIC?

Was Locomotive BASIC significantly better than Sinclair BASIC? TL;DR: Oh, yes, it was! I'm aware that both Basics were more advanced than the C64 Microsoft implementation, Comparison of C64 BASIC ...
user avatar
  • 173k
24 votes

Is there a list of space-saving techniques for representing constants?

Solution: I know, this is a bit unfair, but there's a generic solution to that: VAL "n" Using VAL with an integer(*1) will always be three bytes shorter than that integer used directly. No ...
user avatar
  • 173k

Only top scored, non community-wiki answers of a minimum length are eligible