4 ms·
It also claims that “the Z80 CPU at 3.25 MHz was actually faster than the Apple II processor (1.08 MHz).” This is, pedantically, true, in that the oscillator is
by krallja 5y ago
It also claims that “the Z80 CPU at 3.25 MHz was actually faster than the Apple II processor (1.08 MHz).” This is, pedantically, true, in that the oscillator is ringing faster. However, the 6502 completes more work per clock cycle than the Z80 does. A single-byte instruction (such as “increment the A register”) takes 2 clock cycles on 6502, 4 cycles on the Z80. More complicated instructions can take up to 7 cycles on the 6502 and 20+ on the Z80. The estimate I use is that a 6502 is approximately 3x faster clock-for-clock than a Z80.
Also, the Apple II CPU didn’t spend 70% of its time drawing the screen! It had separate video hardware that transparently interleaved with the unused back half of the CPU clock cycle. The ZX81 was tricked into “executing” sequential screen-memory addresses in a very tight loop by falsifying its data bus with a NOP instruction. Fancier computers would use dedicated DMA hardware. Not Sinclair!
- unfocussed_mike 5y agoRight. They were really simplified, and up against US economies of scale that meant less simple machines could be made at competitive prices. I think Timex's main projection was that the Sinclair machines would be affordable over the long term. But I guess in the USA, the competition became cheaper much faster than they expected. Over in the UK, as well as more expensive imported Commodore machines, the native competition included the very expensive BBC Model B and its cousin the Acorn Electron, the beloved and excellent Dragon 32, the quite inexpensive Jupiter Ace (think ZX81/Spectrum but running FORTH natively!), and Tangerine's Oric-1, which was adorable, and as with the Amstrad CPC sold well in France, expanding its market size a bit. The Spectrum 48K did well against them on price-performance, though the Oric-1 was often cheaper and is arguably the better device. In the USA, much larger economies of scale meant that the C64 was more affordable, and for cheaper machines the Spectrum was up against the VIC-20 and Atari 400, and even Mattel wanted a chunk of the low-end in that same period of time with the Aquarius (which is similarly simple Z80 stuff).
- krallja 5y agoBTW, the Jupiter Ace and ZX81 both have excellent iOS emulators, written by Kevin Palser.
- unfocussed_mike 5y agoAhh, nice. The Jupiter Ace is one of the great "someone really made that a product?" things, lost to history. It had a flimsy shell and bad keys from what I remember reading, but it's amazing it became a product at all. There's a lot more of this stuff going on again in the microcontroller world; perhaps partly out of reminiscence.
- TheOtherHobbes 5y agoDesigned by two of the people who designed the ZX81 and Spectrum. It was a nerd-fantasy product designed by two unusually clever people to scratch their own itch, with no thought to ecosystem, culture, media support, visual design, or product-market fit. And then it ran into production difficulties. They still managed to sell a few thousand, but it was never going to be a huge success. One of those unfortunate situations where high IQ - clearly available - didn't correlate with business sense.
- unfocussed_mike 5y agoRight. Really utter madness in so many ways but a thing of its time. I am reminiscing right now about two whole volumes of the Orbis collectible magazine, The Home Computer Course. I believe I have a complete set stashed away; it has amazing photos of the insides of all of these machines, including the Jupiter Ace.
- TMWNN 5y ago>I think Timex's main projection was that the Sinclair machines would be affordable over the long term. But I guess in the USA, the competition became cheaper much faster than they expected. The competition became cheaper much faster than anyone expected. The Timex Sinclair 1000's introduction in the US in 1982 caused the US home computer industry to believe that they had to enter the sub-$100 market. Tandy introduced the MC-10 (<https://en.wikipedia.org/wiki/TRS-80_MC-10 https://en.wikipedia.org/wiki/TRS-80_MC-10>) as a cut-down version of its Color Computer, and TI designed the 99/2 as a cut-down version of its 99/4A. Two unexpected things happened: * Americans, more wealthy than Britons or Europeans, viewed $99 computers as toys. * Commodore's Jack Tramiel began a massive price war that drove the retail price of existing, more capable home computers down to $99. In 1983 the Commodore VIC-20 and TI 99/4A reached the $99 price point. TI thus never introduced the 99/2 despite having it ready for production. The VIC-20 and 99/4A received substantial third-party support; the Timex Sinclair 1000 and MC-10 did not, and quickly disappeared from the market.
- opinali 5y agoI'm not sure about this simple comparison of 6502 vs. Z80. Sure the Z80 instructions had higher latencies in clocks, but it also had more registers so you could write the same code with fewer memory load/stores and it had a 16-bit ALU. It also had a fair offering of complex instructions that, while very high-latency, should be faster than the equivalent sequence of simpler instructions and also helped with code density which was critical in systems with a max of 64KB (see https://web.eece.maine.edu/~vweaver/papers/iccd09/iccd09_density.pdf https://web.eece.maine.edu/~vweaver/papers/iccd09/iccd09_den...). For one data point in performance, theultimatebenchmark.org has some Forth benchmarks that apparently show a 4GHz Z80 beating the 6502 by 2X (best scores for each: mc-CP/M Z80 4Mhz / FIG-Forth 1.1 / Fib2 = 1m19s, Apple II 1Mhz / Apple GraForth / Fib2 = 2m19s). Disclaimer: biased, veteran Z80 / ZX Spectrum programmer ;)
- kwertyoowiyop 5y agoThis discussion makes me feel young again! :-)
- tom_ 5y agoPreviously in 6502 vs Z80: https://news.ycombinator.com/item?id=10766006 https://news.ycombinator.com/item?id=10766006
- opinali 5y agoThanks! Replying a bit here since that post is from 2015. One can write anecdotal examples that are biased both ways. But let's talk about a single issue, the IX/IY registers. The IX/IY registers are heavyweight but one needs to remember the "best-practices" of that era and architecture. In well optimized Z80 code, the IX/IY registers are often used for critical "global variables" that you can keep all the time in registers across many subroutine calls (think "segment registers": base pointers for important tables or buffers that are not fixed addresses through the whole program). Their performance beats needing frequent indirect load/store from pointers stored in memory via other registers that often need to be preserved/restored. You can also use some relatively low-latency instructions that involve IX/IY, in particular PUSH/POP were often used in optimized buffer-copy routines: you burn all registers to fetch up to 20 bytes of contiguous data with POPs, then you patch the SP register and issue PUSHs in inverse order to store those 20 bytes in another location; loop if needed for >20 bytes, even with loop overhead this is faster than LDIR/LDDR. Games used that trick all the time for block copies like sprite bitblt or double-buffer animation. I'll be more convinced by realistic benchmarks, and yes the Fib2 that I quoted before is not impressive even for the standards of CPU microbenchmarks, but maybe someone would know some real-world code that had good ports to both CPUs and could give a better verdict. Unfortunately games are never good choices, the 8-bit systems had radically different architectures for essential features like video and audio so "ports" were often full rewrites even at a high level like rendering strategies... there might be exceptions, like the AI component of a chess game.