Hot answers tagged

45

TL;DR Because it needs the least chip count and thus makes it the cheapest. It's a Sinclair. Full Story: The Sinclair ZX80 used a Z80A running at 3.25 MHz. But this chip was rated for 4 MHz. Why was it run below rated speed? And the chip would have run for sure at more than 4 MHz. A computer design isn't about what a chip is rated, but what it's for. why ...


29

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 collapsed DFILE is activated when the ZX detects less than 3 1/4kB of memory on startup. A collapsed DFILE can thus be as small as 24+1 bytes (initial HALT, 24 NEWLINEs,...


14

It's probably bad form to cite yourself, but I wrote up my understanding of the ZX80 and ZX81 hardware here, scraped together from a few different sources but most notably Wilf Rigter's hardware and software summary. Your assessment is right. The standard ZX80 ROM loop outputs a screen, checks for keypresses, and repeats. That loop is exactly the length of ...


9

The ZX80 puts the display file immediately after the storage necessary for your program, and puts a pointer to that at $400C. So you can figure out how many bytes you are using with: PRINT (PEEK(16396) + 256 * PEEK(16397)) - 16384 That's sufficient if you know how much RAM there is in total. I'm hunting around for an equivalent of the ZX81's RAMTOP to do ...


9

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 discrete DC-DC converter - that's all the little pieces on the second board. The difference between the RAM-Packs for ZX80/81 is all in the colour :) In fact, ...


8

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) third party vendors made theirs offering a pass-through. Did one or the other have a pass-through for the expansion bus? When the ZX-Printer came for the ...


8

[...] Sinclair ZX80 is much faster than Sinclair Spectrum on all tests despite the fact that both computers use the same CPU. It's not about the CPU, but because these are vastly different BASIC implementations. In this case it's due to integer vs. floating point maths. The fact is marked in the ZX80 entry by noting 'integer only'. The numbers shown are ...


7

The ZX80 uses the CPU to generate the video display signals, and the timing is not perfect. It differs from the PAL spec slightly. In addition the clock controlling the CPU frequency is a low cost resonator (see X1 in the lower right hand corner) which didn't produce the most stable frequency, and that signal is then buffered and transferred from one side of ...


7

The usual answer to questions on early Sinclair machines is "Because it was cheaper that way." In this case, a 40-column screen, implied by 4MHz, would have increased the screen buffer size to at least 960 bytes, leaving only 64 bytes for BASIC code. Increasing the RAM size would have raised the price point, and "Under £100" was crucial to the early ...


6

Answering your rephrased question: The master clock could have run at 8 MHz, but that would have meant pixels being narrower than if generated by a 6.5 MHz clock. As the computer was built with a horizontal resolution of 256 pixels in mind (the time spent by 32 NOP instructions), the border area would have been enlarged, resulting in a smaller display. ...


5

You can detect ZX-80 memory by determining the current address of the stack pointer. This will obviously only work using machine code - Unfortunately, the ZX-80 has no such thing as RAMTOP, which is available in the ZX-81: LD HL,0000 210000 ADD HL,SP 39 RET C9 You can get that to run by 10 REM 12345 20 POKE 16427,33 30 POKE ...


3

I've had a quick browse around on this and there doesn't seem to be an easy way, top of memory is found by writing/reading values to and from memory during startup. The ROM checks by using the Z80 stack pointer as indicator of top of memory (see RST 30 for details) Peeking DFEND should tell you if you definitely need more than 1K (if you're writing code on ...


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