Hot answers tagged

44 votes
Accepted

Why does the ZX81 not have user definable characters without extra hardware i.e. why could the character ROM not be in RAM?

The ZX80 and ZX81 use the Z80’s opcode fetch bus cycle for graphics collection — the opcode fetch is appropriated to obtain a character index and the refresh cycle is used to obtain a row of pixels. ...
Tommy's user avatar
  • 35.6k
35 votes
Accepted

How did the ZX80 store both a useful program and screen memory?

Both the ZX80 and the ZX81 had a variable-size display file (DFILE). They didn't store the complete screen contents, but rather only the characters per line up to a terminating newline. This ...
tofro's user avatar
  • 32.4k
21 votes
Accepted

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. Jup, like many other machines - one for float and one for integer. The second is some kind of 16-bit integer ...
Raffzahn's user avatar
  • 208k
21 votes

Is there any significant difference in Sinclair BASIC of ZX80, ZX81 and ZX Spectrum?

Spectrum BASIC is a superset of the earlier BASICs (all the colour commands, etc), so pedantically the answer to the question is the title of the post is "yes, there are significant differences&...
Philip Kendall's user avatar
20 votes

Why does Sinclair BASIC have all of the characters twice in the token table?

You're right; the ZX81 does not use ASCII. That's because it uses the CPU to generate the displayed picture, from a compressed format in memory. The way this works is an absolute freakshow*, but from ...
Lorraine's user avatar
  • 38k
19 votes
Accepted

How do high-resolution graphics work on the ZX81?

The normal process is: CPU attempts to fetch an op-code instruction byte from the video file. ULA steals that byte as a character code and feeds the CPU a NOP op-code byte instead. Immediately ...
Tommy's user avatar
  • 35.6k
16 votes
Accepted

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

POKE 16418,0 is for the ZX81, not the Spectrum - the equivalent system variable on the Spectrum is at 23659. You need to take care when poking this address, as it's liable to cause a crash if the ...
gasman's user avatar
  • 1,311
15 votes
Accepted

ZX81 screen corrupted

Thank you @Raffzahn for the comment that inspired me to think of something blocking the video signal. The initial problem described in the previous question was that the ZX81 was showing a white ...
Paul Ghobril's user avatar
  • 1,035
15 votes
Accepted

On the video signal generated by the ULA of the ZX81

That portion of the video signal is generated directly by the ULA; early ZX81s just don't generate a back porch, which was seemingly good enough for the majority of televisions but problematic enough ...
Tommy's user avatar
  • 35.6k
15 votes
Accepted

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

The ZX printer is, like just about anything that carries the Sinclair label, a very minimalistic device - It only needs very few lines from the computer to actually work: Address bus: The printer ...
tofro's user avatar
  • 32.4k
13 votes
Accepted

How did the ZX80 RAM pack use DRAM?

But as I understand it, the then current 16kbit RAM chips actually required three different voltages: -5, +5, +12. Right, and the 'missing' voltages (-5V,+12V) get generated from the +9V source via a ...
Raffzahn's user avatar
  • 208k
13 votes
Accepted

Why did the ZX81 16K RAM pack use two PCBs?

It was neither due history or electronic but for design reason: The 16 KiB RAM pack was intended to be sold to existing (and new *1) ZX80 users as well. While both had their expansion port on back ...
Raffzahn's user avatar
  • 208k
11 votes
Accepted

How did ZX81 assembly debuggers implement breakpoints?

MONS 3 in the ZX Spectrum, for example, changes the instruction at the break address by a CALL to an entry point in MONS. As MONS is executed, it replaces back the changed instruction with the ...
mcleod_ideafix's user avatar
9 votes
Accepted

Did the ZX80 RAM pack pass the expansion bus through?

Did one or the other have a pass-through for the expansion bus? There was no other peripheral (by Sinclair) for the ZX80 than the 1..3 KiB static RAM or the later 16 KiB DRAM version (*1). Most (*2) ...
Raffzahn's user avatar
  • 208k
9 votes

Largest memory peripheral for Sinclair ZX81?

You might be willing to check this hardware list from World of Spectrum. It contains useful information and magazine advertisements of each hardware piece. Specifically, DK’Tronics memory expansion ...
DroidW's user avatar
  • 489
9 votes

Can you switch the ZX81 ROM to RAM w/o write protecting it and still use ZX81 BASIC?

Directly to answer your question: yes, if the RAM copy is substituted after the machine has started up; otherwise, not reliably, as it's likely the first five bytes have been altered. With reference ...
Tommy's user avatar
  • 35.6k
8 votes
Accepted

(How) can I boost my ZX81 video output with an external device?

I would skip the existing output entirely. Buy a Chroma 81, which plugs into the expansion slot — no internal modifications necessary — and then monitors the internal bus to reproduce the video ...
Tommy's user avatar
  • 35.6k
8 votes

Membrane keyboard robustness

It depends on a number of factors, a major one being the material that the membrane is made from. Various types of plastics can be used, with different properties. Some will age and become brittle, or ...
user's user avatar
  • 15.1k
8 votes

Largest memory peripheral for Sinclair ZX81?

There were various companies producing these of which DK'Tronics was one. For example Ceedata, Bridge Software, Indescomp and Memotech,
Alan B's user avatar
  • 3,563
7 votes

Why does Sinclair BASIC have all of the characters twice in the token table?

TL;DR: That encoding is not just the token table but as well the BASIC charset and the screen charset which offers each of the 64 printable characters as Black-on-White (00h..3Fh) or White on Black (...
Raffzahn's user avatar
  • 208k
6 votes

Largest memory peripheral for Sinclair ZX81?

You may be thinking of the BASICare Micro System, an advert for which can be seen here: http://www.zx81stuff.org.uk/zx81/publisher/BASICare/mag/SinclairUser/Issue008/Pages/SinclairUser00800004.jpg ...
Matthew Barber's user avatar
6 votes

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

Doing integer arithmetic is by some orders of magnitude faster as floating point. So if there is a statement like LET a = b + c the interpreter would first check if both a and b are integers. If yes,...
followed Monica to Codidact's user avatar
6 votes
Accepted

How many units of the ZX81 RAM pack were sold?

I guess it will be next to impossible to get tangible sales figures for the number of RAM packs sold. I did, however find a quote from Geoff Boyd (one of the owners of Memotech, who was a well-known ...
tofro's user avatar
  • 32.4k
5 votes
Accepted

Which retro personal computers, if any, can use a modern day VGA monitor?

A few 'home' computers from the '80s could output a VGA signal, including:- Acorn Archimedes Commodore Amiga (with Flicker Fixer) PC clones that had VGA on board or could take a VGA card (eg. ...
Bruce Abbott's user avatar
  • 6,615
5 votes
Accepted

How to determine PCB revision of a Sinclair ZX-81

The easiest way to tell is by looking at the traces on the board. If they look curvy, as though hand-drawn, it's an issue 1. If they're in more or less straight lines, it's a 2 or 3. Seeing as ...
Matthew Barber's user avatar
5 votes

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

I bought and read 'Complete (ZX) Spectrum ROM Disassembly' (Ian Logan, 1983, very out of print) many years ago, here are the answers, from my memory. (Btw, the ZX80 ROM is insanely tight Z80 assembler ...
smci's user avatar
  • 178
5 votes

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

I don't know about the normal printing routines in ZX Spectrum BASIC, but you can directly access the screen memory using POKE from BASIC. You'll need to work out where to get the 8 bytes of bitmap ...
Chromatix's user avatar
  • 16.6k
4 votes
Accepted

What does the ZX81 ULA use A14 and A15 for?

The only detail you’re missing is that A15 must be HIGH in order for a processor M1 cycle to be treated as a video fetch. The full memory map is: 0000–3fff: ROM; 4000–7fff: RAM, no special handling; ...
Tommy's user avatar
  • 35.6k
4 votes
Accepted

Membrane keyboard robustness

Some early computers used a membrane keyboard (ZX80, ZX81, Atari 400), or semi-membrane with minimal keys (ZX Spectrum). Not just early ones. Membrane keyboards are still made and used today, usually ...
Raffzahn's user avatar
  • 208k

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