As an American who had zero exposure to the Spectrum back then... everything about it is endearing as hell. The cheap construction and budget components just lend to it's charm, especially when you actually see what programmers were eventually able to make it do. My favorite kind of gaming platforms are the ones that bring out peoples' creative ingenuity when faced with limited resources and the Spectrum is a fine example of that for all of it's oddities.
I often wonder if/how the Speccy's limitations forced a creative way of thinking that helped shape the UK's videogame industry. Did it help sift out the truly talented? Or did it force a change of perspective that lived on in future projects? Either way, some of the biggest names in the games industry started out as bedroom coders of Speccy games.
@@johncross1341 I think so, yeah. I think if you're looking specifically for it, you can see the work of the truly talented programmers stand out from the pack. So maybe it's a point A to point B kind of thing, we know where everyone started at when the Speccy released, then there was the wait to see who had the chops to get down to the bare metal of the computer and make it do things that hadn't been considered yet. I think we see that a lot when it's a piece of hardware that is made in a specific way that runs in contradiction to anything it's competing against. A modern example might be the PS3.
It's important to remember that the ZX computers where made to be as cheap as possible by first intended design. The underlying goal was simple. "Bring computers out of the laboratory and into the public space." Fixed ultra-low price point, and no starting economy-of-scale. So of course these computers would keep to that idea as they progressed.
This is precisely why it birthed a generation of amazing coders. The limitations forced a lot of creative and technical problem solving to make the most of the limited hardware. I was, and still am astonished by how far that little machine was pushed. Reminds me of how much was done with Nintendo's Game Boy. There were games on both that had no right to look or play as well as they did, and sometimes the need to keep things simple was what made the games so great. There are some marvellous gems on the Spectrum.
@@robintst Sega Saturn as well. The guys at Lobotomy Software worked miracles with it (Duke 3D, Quake, Exhumed), as did Yu Suzuki and his AM2 team (Virtua Fighter 2, Virtua Cop), who were used to juggling multiple processors in assembly language, from their work with Sega's powerful Arcade boards.
Oh my goodness, what's this? A level-headed, clear, well filmed and narrated video that actually imparts knowledge? Fantastic! I'm off to dig my Speccy out :)
The limitation also had some advantages - it avoided the very blocky appearance of other computers which had serious pixel limitations when using extra colours. That meant while Spectrum games often had colour problems, they were usually higher resolution.
I remember when I went from Last Ninja 2 on the Spectrum to the Amiga.... It just didn't feel right. The B&W version on the Spectrum just felt better. Also expanding on your point, the lack of custom hardware also meant there were no defined ways of doing things so the programmers could explore limitless ways of achieving what they wanted on the screen, some more successfully than others
The same applied to the sound on the original Speccy, of course (guessing you'll be talking about that in a future ep?)--since the only operation that was allowed was to push the speaker in and out, programmers had to get seriously creative to get it to make anything other than a simple beep noise.
Technically C64 has even higher resolution (320x200 ?) than ZX - and yes in that graphical mode things work similar to ZX: no individual pixel can have a colour of its own - onlyba block of 8x8 pixels and that would mean colour clashing... BUT no: C64 had hardware sprites (unlike ZX!). Modern C64 games clearly demonstrate both colours and decent resolution (have you seen Atic Atac on C64 ?)
Even back in the day I overlooked the whole colour clash thing. I owned the Spectrum 128 +2 after the Vic 20 and at some point owned a C-64 I still own the 128+2(grey) which is now graced with a SCART lead and 2 replacement joystick adaptors for the non standard Sugar ports. I found that certain games were more impressive on the Spectrum and playable, Look at Cobra on the Speccy and Target Renegade or indeed the original Renegade and the level of detail on the racing games like Outrun and Turbo Outrun. These examples kept me favoring the Spectrum over the C64 and the AY 3 channel sound chip helped Spectrum owners get somewhere close to SID chip quality music and sound. Tim Follin etc were also pushing beeper music to whole new levels one game that springs to mind is Chronos from Mastertronic, sometimes a machines limitations are it's beauty.
I'm pretty sure those Sugar ports were the same as on the Sinclair Interface II, which was released prior to the buyout. I have the same setup, with a +3 system, but I need to make the audio mod, as the +3's sound is distorted.
Superb explanation. ;) Colour / attribute clash is often quoted as a main reason why the Speccy "seemed" inferior to other 8-bit machines of the time. (like the C64, but that was around four times the cost, so it's an apples to oranges comparison. No apple pun intended. lol) I admit that I was never a huge fan of the colour clash at the time, but the Speccy had TONS of charm in it's many unique games, and could handle higher resolution graphics than some of it's closest rivals. This was a time when RAM really did come at a premium, so it was quite a clever move, which bought the price of the Speccy down to a point to which the British masses could finally afford. The other great trick (as I think you mentioned in the previous vid?), was the use of the "faulty" DRAM chips, which obviously also kept the costs down considerably. Nowadays, I really appreciate both the look / style of the Speccy graphics, and the limitations of machines of the era, which is where most of the technical and artistic creativity stemmed from. Oh, and not forgetting the long and dark British autumns and winters, obviously. lol The Speccy was instrumental in spawing the so-called "bedroom coder" scene in the UK and Europe. Many of those same people are still working in the industry, or heading the companies responsible for many of today's big games.
@Electronash , Sir Clive's trick with the "faulty" memory chips was just good business. The chips were 64kbit chips, but that were faulty because some of the bits would stay stuck on or off all the time. So they were useless for 64kbit use. But many of them only had errors in one part of the RAM. If you had a chip where the faulty bits are all in the upper half of RAM, just don't use the upper half! Use only the lower half, and call it a 32kbit chip. The chips came in 2 varieties, one where the top half was faulty, and another where the bottom half was. A wire link on the Spectrum's motherboard selected which half to use. They were sold as 32kbit RAM chips for just that purpose. Why not? They were tested, and all the bits in the "good" half worked perfectly. The basic Speccy came with 16K RAM, so why not add 8x32kbit chips to make 48K? Then with the ROM being 16K, that's 64K of memory altogether, which is all a basic 8-bit CPU can address. The idea of selling the faulty 64k chips as 32k chips wasn't Sinclair's. It was the manufacturer, I think Texas Instruments. It was all their idea. Sinclair saw a bargain and snapped them up. Actually I'd worry about getting a stable supply of them, as surely TI's RAM production line would improve, and eventally stop producing faulty chips. You could use fully working 4164 chips instead of faulty ones, but you'd be wasting half the bits! Bit less RAM than the Commodore, but more than the BBC Micro, and plenty of others. And no stupid paging. Actually the BBC Micro was a travesty, but that's a whooooole other story of corruption and stupidness.
greenaum Yes, Sir Clive was a very astute businessman indeed. ;) I always loved the story about the RAM chips, which is something you might have expected Lord Sugar to have done. lol I guess it's fine as long as the design takes into account the extra address bit... As you know, most DRAM chips use a multiplexed address bus, so you send the "row" and "column" addresses separately. A design specifically intended for use with 32K DRAM chips might just leave those upper address pins floating (expecting those signals to be "don't care" at that point in time.) If a 64K chip (half faulty or not) was used in such a system, then it could actually cause a problem. Not especially interesting, just a brain fart I just had. :p
There's a wire link on the motherboard, set to H or L, depending on which 32K is OK on the RAM chips. For the RAS / CAS multiplexing I dunno, did the logic chips take care of that? Or the ULA? You wouldn't leave an address line floating, it might flip from one to the other at any time, which would be a bit of a disaster!
Memory was clearly still relatively expensive in the 90's. You can see evidence of this with both the Mega Drive and SNES having graphics chips designed to use 128 kilobytes of VRAM, but both only have half that installed. (Though by the nature of it's higher end features, the SNES is far more hamstrung by that missing 64k than the Mega Drive is.) Speaking of the SNES, it's not just amount of RAM, but also the speed of RAM. (and the type. Static RAM is very expensive compared to DRAM, even now. 8 megabits of SRAM in 2017 will cost you anything from about $8-20 dollars, where for DRAM, you'd struggle to even find anything below 64 megabits in size, and that would cost you maybe $3-4 - A gigabyte of SRAM would cost thousands, where multiple gigabytes of DRAM can be had for under $100) But getting back to the SNES, it has a 65816 CPU, which by the early 90's was certainly capabable of speeds of around 10 mhz at least, (and in fact it's stock speed was at least 4 mhz officially even in the mid 80's when it was a fairly new design.) But, thanks to the way the 6502 accesses memory, you need some seriously fast RAM to keep up with it. A 68000 at 7 mhz can get away with slower RAM than a 65816 at 3.5 mhz... - it also required faster ROM chips for good measure, which also cost more. That extra speed cost a lot. Especially in the early 90's. (this is perhaps why in 1995 they could stick the SA-1 in cartridges that ran at 10 mhz but was otherwise the same CPU, but in 1991 that would have been implausibly expensive.) RAM is expensive stuff, historically, it seems. XD
My main gripe with the system isn't the graphics or lack of sound chip, it is that it's largely tape only. Which makes my beloved genres hard till impossible. Or could one do an Ultima 6 with tape loading on the Speccy?
Born-1976, Child Of-The 80s. Finally found out why my Spectrum behaved like it did-2019. Thank you Retro Man Cave from the bottom of my heart! I had always wondered why the colours were like that. Top show Sir.
it shows time and time again, that evolving machines is the easy part, while our utilization lags far behind. a salute to all you full time coders out there! ...please dont ever get mad!
It's precisely what's frustrating gamers in 2022, as the best games are still running well on the PlayStation 4 Pro & Xbox One X, while some want them to be cut loose. That's despite a 150 million installed base of systems and semiconductor supply chain shortage limiting the availability of the new systems. Let alone the prices of them, and the cost of living crisis.
Thanks. I remember badgering my parents for an Acorn Electron like crazy. They didn't get the appeal of Elite and Combat Lynx but instead bought me a 128k zx to learn programming. I'm still near enough clueless about coding but an avid gamer nonetheless and have based my career within the electronics industry. The graphics really didn't matter to any speccy owner, much to the dismay of Commodore owners :)
The colour clash was one of the many issues of the Spectrum's ghetto technology but the one thing the Spectrum had in it's favour was retaining square pixels rather needing to use 2:1 rectangular pixels to accommodate various limitations and anomalies that came about from the memory, palette and resolutions of other 8-bit computers. The large colour palette rectangular pixels are everywhere on 8-bit home computers from the BBC Micro, Commodore, Atari, Dragon 32 and many more but the Spectrum's square pixels were easier on the eyes at times. Another great vid!
Absolutely agree. The Speccy has detail going for it over chunky lores hicolour mode on the C64. These days the latter looks very dated while monochrome Speccy games look remarkably good (in a low fi way).
Well, to be fair, the C64 had the 2:1 lo-res color mode (160 x 200) AND a hi-res (320 x 200) with tile-size BG color mode as well. So you could choose which limitations you wanted to live with, depending on your situation. And of course hardware sprites made moving objects around much faster.
It's easy to see why Sinclair went with this scheme (where the CPU does everything, from graphics to sound): Much simpler and cheaper motherboard design. The downside is that the advantage of having a much faster CPU (3.5mhz, or about 3.5 times faster than the C64's 6502), is totally given up because of the extra load put on it. Ingenious design to save money, though.
Uhhh, you can't just multiply and compare the MHz between Z80 and 6502. 6502 has lots of 2- and 3-cycle instructions, while on Z80 similar cases are represented by 4- and 7-cycle instructions, plus the code is more push/pop heavy, as 6502 has zeropage instructions. It depends on the use case, but in general Spectrum's Z80 is very rarely faster than C64's 6510. Also in the Spectrum, the CPU performance is irrelevant for its design considerations unlike in ZX80/ZX81, because the CPU is only used to form the frame buffer, which it can do as slowly as needed, the frame buffer is scanned out by the ULA independently. 48K beeper pretty much requires you to stop the world to produce sound, so again the speed is irrelevant.
Plus it was great at handling vector graphics when you compare it to most other 8-bitters at the time. Only the BBC Micro can compare to the spectrum when it came to its handing of vectors
The ''rainbow color'' 8x1 & 8x2 hacks have two major drawbacks: 1) CPU use is high, leaving less cycles for you. 2) The code is timing-critical, it uses completely unrolled loops which take up a huge amount of RAM leaving much less for your own code. There's also hacks to create graphics in the border area, I've even seen one which draws scrolling text in there! The fact any of this is even possible is completely mind blowing. Modern Spectrum games are looking even better since these hacks were discovered & libraries written to control them.
Well look at that! In one RUclips video, you took "a question I asked the Computer Teacher back in 1983", and answered it very completely. My computer teacher however, gave me a zero for asking silly questions. :-/ Niiiiiiiiiiiiice.
The way the gaps work when cycling through the DisplayFile is because of a mechanic that was implemented that allows for easier movement in Z80 code. I don't really know if this was to aid the developers or was just the best/fastest way the hardware could be made, but it's certainly more convenient when shifting bits in assembly. To show it better, your address in memory was usually stored in the H-L register pair with H being the high byte and L being the low byte; so your display file would start at: H: 0100 0000 L: 0000 0000 -- now this would be the top-left most group/line of 8 pixels (first byte -> first 8 bits). So if you wanted to advance to the next character you'd just increment L: H: 0100 0000 L: 0000 0001 On the other hand if you wanted the first character on the next line, if the memory would have been all linear you'd have to do something like this: H: 0100 0000 L: 0010 0000 -- of course this is cumbersome, because you'd just `INC L` for a character but ADD 32 for a line. So they DIDN'T do it like this. Instead they did it like this. They swapped the first 3 bits of the high address byte with the last 3 bits of the low address byte. So going to the first character of the next line would be as simple as this: H: 0100 0001 L: 0000 0000 -- now this lets you simple `INC H`
As a C64 snob I used to sneer at the speccy screenshots on game boxes, preferring to sacrifice resolution for chunky gfx with more colours. Now, I'm just impressed with how much could be done with so few computing resources back in the 8bit era.
Yeah as a Spectrum snob I used to sneer at the C64 screenshot on game boxes, perferring to have better resolution than chunky graphics on my black and white TV - haha, just joking, about all that until the black and white TV part, loved all the machines and was just a buzzing happy nerd at it all, such amazing times!
The spectrum always felt unfinished to me - locked into its pre-release state but its own popularity. The lack of dedicated hardware, the color bleeding, the Kempston joystick bug and that weird 3 section screen layout. I mean, Commodore had its own problems with its dog slow loading and bugged CIA but at least it never came up with solutions like the Microdrive and 3" disks.
@@immortalsofar5314 But we got bog roll printers, Currah speech, INterface 1s with Joystick ports, Snapshots. Microdrives (awesome) Serial interfaces to proper IBM printers, Mice - I had a mouse on my ZX Spectrum. Also that killer rom slot in the interface 1 to load Horace goes Skiing in an instant by ROM. :-) Geez. We had it good. I played countless hours of Gauntlet on my 128+2 with friends being sure to manage our health so only one of us died at a time. Just epic times. That computer sucked me in completely. Now a Software Engineer of 25 years experience. Gotta love it. I wrote my first program on the spectrum and I remember me and my younger brother sitting for ages making a game on the spectrum. Very rudimentary adventure game but it had that effect on us kids. Programming was accessible. We need that again. Luv and Peace.
@@immortalsofar5314 The Speccy was build to be cheap, that was something like a red line trough all of Sinclairs products. Get something out that works as advertised but make it as cheap as possible in the same time. Not that Commodore was that much better, the C64 was just a VIC20 on steroids which in itself was just a gamified PET which in turn was just a KIM1 that got a permament terminal. They rehashed most of the hardware and Kernal in every incarnation and sometimes rushed stuff to market. From my point of view one thing the Breadbin had over the Speccy was having a floppy drive. No floppy no RPGs or adventures that need to constantly read in map data. Imagine playing Maniac Mansion from tape and rewinding every time you switch a room or an event happens.
Hardware sprites were the biggest difference - the difference they made over the color bleed in the Spectrum can't be overstated. The sound and keyboard were cool, too but nowhere near as important. I think that was one corner they shouldn't have cut. The C64's disk drive was one of those why-did-you-bother things. It was slow and as complicated and expensive as the C64 itself. Originally it was designed to transfer in the background but the initial batch of CIA chips didn't work so they coded agonisingly slow serial communications into the OS. Of course once there, like the Spectrum's joystick interface that needed 256 bytes because of a BNE rather than BEQ, we were stuck with it.
Excellent video presentation and after watching this video I feel I have acquired over 30 years worth of knowledge on how my little computer really worked. Thank you, sir.
Nice that you mentioned the MSX... when I was young I was fighting with the color clashing of the TMS9918A. Interestingly, although you can get really creative with that chip, and there are plenty of gorgeous games, it is a very inflexible VDP and there have been close to 0 undocumented tricks and modes. Some games achieved smooth scrolling but that's about it. No extra colors, no extra resolutions, no extra sprites. It did what it said on the box and not a single thing more! The subsequent MSX VDPs are a different story.
At the time I had the Timex Sinclair 2068 (ZX Spectrum compatible) I could only afford a black and white TV so I've never realized there was a color clash problem! Awesome video, thanks!
Another colour issue with at least Issue 1 and maybe Issue 2 of the board is the chroma would appear to shimmer and crawl across the screen. As you can see in the video near the start, there are two trim capacitors. Issue 3 and after had a 4.43MHz oscillator. My Spectrum had a little hole in the bottom that you could insert a screwdriver into and adjust one of the caps. Once the unit had warmed up after about 10 mins it usually settled down.
I can only imagine the kind of debugging hell that those generations of coders had to go through, but the fruits of their labour have a special place in my heart.
What a great video. I've been watching (and making) ZX Spectrum videos for years and these two short videos explained tons of info I never knew about the system so thank you ;)
Absolutely loved this. As a kid I could never wrap my head around the colour limitations of my Speccy, but now I can understand why it happened technically and that it based on the purpose of the machine! Thank you!
Well, Saboteur just used the coloured-background/black-ink/transparent-sprite trick mentioned in the video (Double Dragon and Renegade as examples). It worked particularly well since your character sprite was pretty much a solid black silhouette! Exolon is a great example of avoiding colour-clash though as it drew the game sprites 'behind' any character squares already coloured by foreground objects. It seemed much less jarring to cut whole character squares out of the player's sprite than to cut whole character squares out of the scenery, in order to draw the sprite 'in front'. It was also well-suited to games with scrolling scenery as you generally wanted to keep well-away from that scenery anyway!
Always buy a 128k machine the best ones are the original "toastrack" version made by Sinclair or the grey coloured 128+2 from Amstrad which was still logo'ed up as Sinclair as Amstrad purchased the Sinclair brand, most of the inner parts are Sinclair left over inventory anyway so you are buying a Sinclair product virtually. The 128 machines are equipped with a 3 channel AY chip which is the same sound chip inside the Atari ST so the games made post production of 128k Speccys are usually graced with good quality soundtracks and sound effects etc.
Brilliant explanation of the ZX Spectrum graphics. Anybody who had a sinclair machine knew the limitations but we just accepted it. we got used to the "higher resolution" compared to the dodgy sprites on other systems. Even if the majority of multi platform releases were monochrome. But imagine... if we saw the bifrost or nirvana engine back in the day ... minds would have been blown. Old Tower, for example, looks and plays like a modern system with multiple colours , no clash or tearing and smooth movement. I know there is still limitations on how its achieved and managed but to imagine MM or JSW looking like that running on a humble Speccy ....
Here in Argentina the Commodore 64 destroyed the competition. But sometimes you could found some schools using it... Now I respect the Spectrum a lot with your explanation... on that days with my "amazing" C64, I bulled the system heavely because of the color clash. Thanks for make us less ignorant...
I think it's a real shame that with just only a few hardware modifications, which would have probably not affected price nor performance, the ZX Spectrum could have been so much better as a gaming machine. As a past Spectrum hobbyist developer, these improvements to the hardware came to mind: - For each 8x8 tile, rather than have 8 colors for the background, 8 for the foreground, a brightness bit and a blink bit, instead have 16 colors for the background and 16 colors for the foreground. (In other words, take full advantage of the 8 bits per color tile.) - Rather than have the colors be from a fixed palette of 16 colors, make the palette configurable, eg. from 256 possible colors (eg. 3+3+2-bit RGB). Also, make the palette for foreground colors independent from the palette for background colors. This would allow a maximum of 32 simultaneous colors on screen (from a possible 256 colors). This would have only required 32 bytes mapped on RAM somewhere (eg. before or after the screen buffer), or alternatively it could have been configurable by outputting to some port (although I think it would have been better if the palette is in RAM, like the screen buffer itself). - Allow the color layer to be shifted by up to 7 pixels vertically and horizontally. (This could be achieved from the software side by, for instance, outputting a byte with 3+3-bit offsets to a certain port.) This would allow smooth scrolling of the screen, colors and all. (Of course it introduces the problem of where the next color at the end of each row, and in the entirety of the last row, would come from, but even an extremely simplistic of simply taking the next byte in memory would have sufficed for significantly improved graphics, allowing completely smooth scrolling with colors and all.) I believe that if the original designers of the ZX Spectrum had had the vision of implementing those three features to the hardware, the machine would have been a significantly better gaming platform, without any compromise in efficiency or price. Game developers would have created marvelous-looking games.
--> WarpRulez I enjoyed reading your post. Sadly, I never had my own computer (thanks to Thatcher) but my friend used to lend me his BBC and I got quite good at programming in assembler, doing software scrolling and such. I never had a chance to even touch a Spectrum, though I did have a few months on a ZX81 with its memory contraption making my life a misery (all 16Kb of it). This being said, on the BBC I ended up disappearing up my own arse by trying to write a tiny disassembler. It was fascinating, but then I went abroad and no computers. Am I boring you? OK. I'll stop. :)
Thinking even more about it, a further idea came to mind in addition to the above, to make the machine even better (still without compromising efficiency in any significant manner): One that I had thought of before but didn't mention: Make all the pixel lines consecutive! They had been arranged in this weird pattern, goodness knows for what reason, which made drawing on consecutive lines require extraneous math, slowing down code (every bitwise and, bitwise or, addition, and subtraction takes something like 3 clock cycles in the Zilog. The weird configuration of pixel scanlines requires such extra operations when you want to eg. draw sprites.) Having the screen memory be consecutive would have, in fact, probably made games more efficient. And a new idea: The "color layer" consists of 32x24 bytes (covering the entire 256x192 screen in 8x8 squares). While being 32 bytes wide is very convenient in terms of the math, I think it would have not slowed down code too much if the "color layer" were 34x25 bytes instead. (Any slowdown having to deal with rows of 34 bytes would have been lesser than the efficiency gained from the abovementioned linear pixel mapping.) Why 34x25? To allow for the extra colors to be put on those extra spaces, for the scrolling. This way colors wouldn't wrap around, and you could make the scrolling of colors work flawlessly. (Why not 33 bytes per row instead of 34? Because 34 requires less math to deal with than 33, to jump from one square to the next below or above it, given the binary nature of computer calculations.) But 34 bytes per color row leaves one extra unused byte per such row. The 33th byte would be used for the "incoming" color when scrolling horizontally. Could the 34th byte be used for something useful? Well, my idea is that it could define the horizontal offset for that particular row. That's right, rather than having one single horizontal offset for the entire "color layer", each color row would have its own horizontal offset. This would allow scrolling each color row independently of each other (allowing for even more options for colored images, and to make horizontal scrollers where different parts of the screen scroll at different speeds, with their colors and all.) So I envision the entire screen RAM mapped as follows: * 32x192 bytes for the pixels. * 34 bytes for the palette. The 33th byte defines the vertical offset of the color layer (34th byte is unused). * 34x25 bytes for the color information. The first byte of each row defines the horizontal offset for that row. The remaining 33 bytes define the colors for that row. If the ZX Spectrum had originally be designed like this, I can only imagine how awesome the games would have looked like.
WarpRulez I was just wondering if anyone has said anything about line "consecutiveness". They made them non-consecutive by scanning the video memory with some high address bits swapped around. This was done so that when you fill in/print an 8x8 character place, you calculate next line address not by adding 32 (bytes per line), but rather by simply incrementing the higher byte of the pointer. Kinda ironic, since simplifying the screen output seemed like what they were aiming for in the first place :P
And they should have included an AY chip, for a few more bucks. And updated the rf modulator to output sound (like the 128k models). That plus an enhanced palette (and maybe without the colour clash issue) and it would have been a so much better machine.
This is a very comprehensive description of spectrum graphics, and I'm glad you mentioned BiFrost. Maybe at some point you could do a similar video for the 4 graphics modes of the SAM Coupe computer! Ever heard of that one?
I used to own one in the 90s, but got rid of it when I succumbed to an Amiga. The SAM Coupe was a brilliant machine with a very good implementation of BASIC built in. It was a bit like a cross between a spectrum and an Atari ST. Sadly the software support for it was poor as about only 12000 machines were sold, apparently.
As a kid, I was on the Commodore side of things (my dad knew a dealer personally, so was able to get a great price in 1983/84). At 5 years old, the machine was a marvel, and the Spectrum was.. less. Good thing about getting into the 8-bit wars at a young age? Being a sponge for info. Most of my mates had Speccys so knowing what was in it, it led me to an admiration of what the devs had made it do with the limited specs.
Fantastic explanation and walkthrough of the old Speccy's graphics logic. It's actually cheerfully simple when compared to other systems of the time (Atari 8-bits come to mind) and I'm sure this helped to entice a few more young programmers. Great video, thank you, cheers! :)
ZX80 could it switch on/off quick enough to make colour www.sinclairzxworld.com/viewtopic.php?t=1495 www.sinclairzxworld.com/viewtopic.php?t=820 zx spectrum colour palette, rotate to make movement bobs-stuff.co.uk/zxspectrum.html en.wikipedia.org/wiki/ZX_Spectrum_graphic_modes
@MechWizzard Better sound, definitely. The 6581 SID chip is actually #10 on PC World's list of 10 most influential sound chips. Better video? Not really. It had a lot of the same color limitations, actually. In high-resolution mode (320x200), you could only change one color per 8x8 pixel block (the "ink" color). Without raster interrupts, the entire screen used the same "paper" color. In four-color mode (160x200), you could have four colors per 4x8 pixel block, but the pixels were twice as wide and you could still only change the "ink" color between blocks; the entire screen shared the same three "paper" colors. Where the C64 *was* superior was that it had eight hardware sprites. The ZX Spectrum only had software sprites. Just like the ZX Spectrum, game developers came up with ways around these limitations. For example, raster interrupts allowed you to change the "paper" colors, but achieving a flicker-free raster interrupt required very careful timing (or clever methods of hiding the flicker). For that matter, you could even change between graphics modes, or change the sprite registers to give the illusion of having more than eight sprites.
And there is the C64's "proper" mechanical keyboard, if you wanted to do much on the computer besides play games. I wrote my papers and did a lot of my other schoolwork on my C64. It hardly has the greatest keyboard, but I can type a lot better and faster on it than I can the modern laptop I'm using at the moment, let alone the Speccy's type of keyboard. Not to rag on the venerable Speccy, which truly brought computing to the masses (and I mean this in the best possible way), but trade-offs had to be made, and I can't imagine typing a 25-page research/term paper on it. For programming as a hobby, it's fine, but for work, even the C64 is not viewed as being ideal for anything heavy (depends on the software you use, though--I had no trouble with long papers because the software I used didn't try to hold everything in RAM all at once), so between the two, the C64 and a floppy disk drive is the obvious--and unfortunately more expensive--choice for general computing.
Bi*Frost is 8x1 attributes which is limited to an approximately 20x22 character area, Nirvana is 8x2 attributes which allows almost full screen (30x22 characters) multicoloured games to be produced. Both engines being a software implementation of the extended graphics modes of the Timex version of the ZX Spectrum.
One notable Game that used a sort of screen switching to overcome the colour clash in the display was Gyron. Admittedly this was only used in part of the display but worked well. Most of the play screen display was monochrome. It was still clever though.
I don't miss retro computing because I'm doing it! I do miss that time, though--that unique time in history when all of this was new and state of the art. I'm grateful to have experienced it, however, and pleased to see so many younger people take an interest.
Thanks for a great vid, RMC! I think the use of attributes was a great compromise to build hardware to a very competitive price point. Not only did it conserve memory, it meant less data to push around when moving sprites and hence the speccy had an advantage over competing systems with similar spec CPUs when pushing large amounts of graphics around. The layout of the screen memory is more perplexing, IMO. I can't see any advantage to jumping 8 pixels down at a time when transcribing linear memory to the screen, even in text applications, and the splitting of the screen into three blocks is an odd arbitrary decision which unnecessarily complicates low level coding for the machine.
Well, we knew the problem as "attribute class" not "colour clash" back in the day. And it was what in today's psychobabble terms would be called a "trigger" term when some posh, snobby C64 owner brought the matter up in the playground at lunchtime when the ongoing system war broke out again. I still don't like C64 owners. And "attribute clash" still sends a bit of a shiver down my spine - but then the Dunkirk Spirit takes over and I defend the Spectrum whatever the cost (in terms of one's relationship with reality) may be. I loved it and I still do, much like a long-dead first pet. A mongrel, to be sure, and a bit mangy and rather thick, but it could do some unexpected tricks and was devoted nonetheless. And it was mine :)
There was one final method for dealing (or doing away) with color-clash: 3-field frames (flickered like hell, but you could, after a fashion, see all 8 colors in even an 8x1 area)
MSX 1 had sever different video modes. The most common was 256×192 (16 colours). In reality there are just 15 colour is available, because, just like Sinclair Spectrum there are two codes for black. Unlike the Spectrum however, one of the blacks is actually “transparent”, so the MSX video picture could be overlaid on another video signal, for example one from a video disk. Sprites: 32, 1 colour, max 4 per horizontal line. MSX2 and MSX2+ have even more modes too pick from.
Your poke program also mimics the way the intro picture came up when loading a game.... every 8th line in monochrome and then the colours would appear.
Colour clash was the one thing that really hamstrung the Speccy for me. I love its distinctive palette, but I just wish it could have been used with more finesse at the pixel level.
Fascinating stuff, as ever . . . and it is always good to see some Chuckie Egg, Manic Miner and 3 Weeks In Paradise. Don't worry so much about Popeye next time though . . . everyone hated how that game looked and played, and none of us need reminding of it :-)
It does appear as the colour clash was the only distinctive feature of zx. Pratically all 8 bit computers of the era had it. Just to mention some: C64 in high res mode. Only 2 colors per 8x8 cell C64 in multicolor mode. Only 4 colors per 4x8 fat cell Msx1 Computers that did not have : Amstrad cpc. But twice or more the video ram to manage and only 4 color per entire screen or fat pixels Msx2: but a lot of vram to manage. Screen used from 24k to 54k of ram. Too much to be managed efficiently for a 8 bit cpu
Great video, but I can't recall exactly *why* the pixels were split into 3 horizontal blocks, and ordered as 8 'top' rows, 8 'second' rows, etc in each block. Yes, it all had to be within the 48K RAM, but why wasn't it arranged in a simple left to right, top to bottom manner? Was it some archaic performance improvement? I recall that setting pixels in machine code required a lot of mucking about calculating where the next pixel in the line would be. The extra calculations were always slower than a simpler pixel map. Back in the day, you just accepted that this was the challenge, but looking back, I wonder why it had to be a challenge at all.
It's to help with drawing text characters quickly. To draw a text character, you need to copy up all 8 bytes that make up the image, one under the other. If the lines were one under the other (which game programmers would much prefer!), then each pixel line down would mean adding 32 bytes to the address you're working with for each of those 8 bytes. So if your memory address is in the 16-bit register pair HL you'd need to set another register pair BC to 32, then ADD HL,BC each time. And this would work anywhere on-screen, not just within a character square. But ADD HL,BC is a fairly slow instruction for the Z80 CPU to carry out as it has to perform two 8-bit additions whilst carrying a bit from one addition to the next. But Sinclair wanted to optimise things for drawing text characters within those coloured character square divisions. So the way the screen is laid out, if you stay within a character square, then to move down a pixel row you add 256 to the address, not 32. This is much quicker in machine code as you just do INC H (add 1 to the upper 8-bit half of the 16-bit memory address) so it's overall much quicker to draw a character. But it really doesn't help when you're trying to draw sprites to arbitrary pixel positions on the screen, rather than character cells.
Had a Spectrum 48K back in the day for six months, then sold it to get a C64 and never looked back, although it was a source of embarrassment that the faster CPU in the Spectrum made it a better machine for 3D wireframe games like Elite.
Played to its strengths, the ZX made some amazing graphics. I still the all round the C64 was capable of more due to dedicated graphics and sound chips, but the biggest factor was the programmer not the hardware.
That rubber keyboard, urgh. I seem to recall Matthew Smith used to program on a TRS80 with an interface direct to Spectrum expansion slot to dump the latest build directly into memory, and of course avoid programming on the rubber keyboard.
Really interesting. I wonder what the cost difference would have been for Sinclair to have included sufficient memory that all the pixels could have been assigned colours. I noted that your Poke command set the value to 255 which turned it black. At first I thought you could control the colour value by assigning it a different value but I guess it was just the difference between being a background pixel and a foreground one.
It's not really about cost - well, other than available memory. The problem would be speed. Even at half the resolution and slightly faster clock speed the Amstrad CPC is slow. The magic of the Spectrum would never have happened.
Excellent vid. Surprised u didn't mention cross hatching tricks. Speccy with a tiny bit more power would have been Alot better. like the sound taking cpu cycles aswell instead of an ay from the start.
Bright black does exist but you can't really see it on a CRT, SpecEmu is considered to be the most accurate emulator (even by other emulator authors) and (depending on the PC screen you are using) you can see bright black when it is used. I was always under the impression that the Spectrum could only manage 15 colours with the use of the Bright bit. But it does make sense that if all the other colours can have a higher luminescence by using the Bright bit, so should black.
You didn't mentioned 'Nether Earth' radar. It has blue background, white items, cyan your robots and light-red enemy robots while each item on the radar has 2x2 pixels dimensions (not 8x8). Even today's youtube 'let'splayers' can't record that in right way, because of frame synchronization. :)
At least skilled homebrewers can use the later trickery to improvise gaming experiences on the fantastic Spectrum. I've yet to learn stuff from the bottom rung I never really applied myself because of poor choices and company in life. It's never too late I can feel a second calling (aged 47) to actually get learning. It's one on my bucket list
I wonder how much extra cost it would have been for sirclive to increase the attribute memory? I assume that this was set in the days when the Spectrum shipped with 16k Ram, however they soon upped it to 48k. Image the games we could have gotten without this color clash!
I have recently got a spectrum 128plus 2 with games manual two joysticks for free on Facebook market place it has no heatsink inside just ordered one from eBay as it doesn’t power up just wondering will it power on without heat sink great channel love all the content as I’m a retro gamer
It's funny how hobby developers today can make a machine that's 30 years old play like it would have been a supercomputer back then. Of course, they've had 20-30 years to tinker around with the hardware and software, while the original developers might only have had a couple of years at most before having to move onto new things.
maddon001 when Archimedes came to our school the first thing we did... install a spectrum emulator to play The Great Escape. Good games transcend the technology like you say
I learnt of the Speccy from RUclips and the biggest thing I cant get my head around was the colour clash, My first system was a nes too young and too spoiled maybe?
@@paulanderson79 yeah but it feels like you went bargain basement, not hanging shit, such a basic system but I enjoy the fact that you all enjoyed it so much, The isometric games are really impressive yet the ports or knock offs looks so shit, either way, interesting community, interesting moment in computing and gaming, twice as fun because 'Sir Clive' had his machine retooled to the point of anger, to the point of "thats not what machine was for' and he could almost destroy it out of his bullshit pride the British market is intriguing, so he could peddle off dumb go-karts, especially in the 'home coder' bracket. Cool either way, too archaic for me, but cool!!!!
Okay, once we know it was just made for TEXT (and therefore blocks of 8x8 with text color and background), everything makes sense. I was wondering why they made such a "stupid" decision for graphics, but now I know why, it was just always intended for text.
James Lewis well yes but there was a cavaet. The higher resolution and cpu speed of the speccy meant it beat C64 games in 3D games for fps and looks, much to the C64 owners annoyance. The C64 had the luxury of multiple resolutions but the higher ones also had large attribute cells to work within the memory available.
Although I remember the games on the C64 didn't suffer the colour bleed problem and as such generally looked better than what I have seen on this video. Having said that pretty much all the games I played on the C64 were either 2D or wire frame (such as Elite). Last Ninja is a good example of how the graphics on the two systems differred.
Even back in the 80s, Speccy games looked awful. OK, they played well, but white guys running round and sometimes having blue heads/legs/balls made me steer away from that machine.
Commodore had a rather advantage in that they owned their own chip fabricator, of course. Sinclair used mostly off the shelf hardware and relied on Ferranti's process for semi-custom chips to get the cost down to an affordable level.
When you were explaining screen memory and the lines were being drawn .. you interrupted it just before it finished. You cant do that man, that really jinxed my janx
As an American who had zero exposure to the Spectrum back then... everything about it is endearing as hell. The cheap construction and budget components just lend to it's charm, especially when you actually see what programmers were eventually able to make it do. My favorite kind of gaming platforms are the ones that bring out peoples' creative ingenuity when faced with limited resources and the Spectrum is a fine example of that for all of it's oddities.
I often wonder if/how the Speccy's limitations forced a creative way of thinking that helped shape the UK's videogame industry. Did it help sift out the truly talented? Or did it force a change of perspective that lived on in future projects? Either way, some of the biggest names in the games industry started out as bedroom coders of Speccy games.
@@johncross1341 I think so, yeah. I think if you're looking specifically for it, you can see the work of the truly talented programmers stand out from the pack.
So maybe it's a point A to point B kind of thing, we know where everyone started at when the Speccy released, then there was the wait to see who had the chops to get down to the bare metal of the computer and make it do things that hadn't been considered yet.
I think we see that a lot when it's a piece of hardware that is made in a specific way that runs in contradiction to anything it's competing against. A modern example might be the PS3.
It's important to remember that the ZX computers where made to be as cheap as possible by first intended design. The underlying goal was simple. "Bring computers out of the laboratory and into the public space." Fixed ultra-low price point, and no starting economy-of-scale. So of course these computers would keep to that idea as they progressed.
This is precisely why it birthed a generation of amazing coders. The limitations forced a lot of creative and technical problem solving to make the most of the limited hardware.
I was, and still am astonished by how far that little machine was pushed.
Reminds me of how much was done with Nintendo's Game Boy. There were games on both that had no right to look or play as well as they did, and sometimes the need to keep things simple was what made the games so great.
There are some marvellous gems on the Spectrum.
@@robintst
Sega Saturn as well.
The guys at Lobotomy Software worked miracles with it (Duke 3D, Quake, Exhumed), as did Yu Suzuki and his AM2 team (Virtua Fighter 2, Virtua Cop), who were used to juggling multiple processors in assembly language, from their work with Sega's powerful Arcade boards.
Oh my goodness, what's this? A level-headed, clear, well filmed and narrated video that actually imparts knowledge? Fantastic! I'm off to dig my Speccy out :)
Thank you Will, exam papers will be issued at the end of the day. Thanks for watching
Ghetto graphics and colour clash sounds like a genre defining rap album!
'...to its death'? The Sinclair Spectrum will NEVER die!
Well said! ZX Spectrum forever!
The limitation also had some advantages - it avoided the very blocky appearance of other computers which had serious pixel limitations when using extra colours. That meant while Spectrum games often had colour problems, they were usually higher resolution.
I remember when I went from Last Ninja 2 on the Spectrum to the Amiga.... It just didn't feel right. The B&W version on the Spectrum just felt better. Also expanding on your point, the lack of custom hardware also meant there were no defined ways of doing things so the programmers could explore limitless ways of achieving what they wanted on the screen, some more successfully than others
The same applied to the sound on the original Speccy, of course (guessing you'll be talking about that in a future ep?)--since the only operation that was allowed was to push the speaker in and out, programmers had to get seriously creative to get it to make anything other than a simple beep noise.
Except for the 128K which had the same sound chip as the Atari ST.
I'm contemplating an episode on sound and how damaging it might be to peoples hearing. Tricky one to cover!
Technically C64 has even higher resolution (320x200 ?) than ZX - and yes in that graphical mode things work similar to ZX: no individual pixel can have a colour of its own - onlyba block of 8x8 pixels and that would mean colour clashing... BUT no: C64 had hardware sprites (unlike ZX!).
Modern C64 games clearly demonstrate both colours and decent resolution (have you seen Atic Atac on C64 ?)
Even back in the day I overlooked the whole colour clash thing. I owned the Spectrum 128 +2 after the Vic 20 and at some point owned a C-64 I still own the 128+2(grey) which is now graced with a SCART lead and 2 replacement joystick adaptors for the non standard Sugar ports. I found that certain games were more impressive on the Spectrum and playable, Look at Cobra on the Speccy and Target Renegade or indeed the original Renegade and the level of detail on the racing games like Outrun and Turbo Outrun. These examples kept me favoring the Spectrum over the C64 and the AY 3 channel sound chip helped Spectrum owners get somewhere close to SID chip quality music and sound. Tim Follin etc were also pushing beeper music to whole new levels one game that springs to mind is Chronos from Mastertronic, sometimes a machines limitations are it's beauty.
I'm pretty sure those Sugar ports were the same as on the Sinclair Interface II, which was released prior to the buyout.
I have the same setup, with a +3 system, but I need to make the audio mod, as the +3's sound is distorted.
Superb explanation. ;)
Colour / attribute clash is often quoted as a main reason why the Speccy "seemed" inferior to other 8-bit machines of the time.
(like the C64, but that was around four times the cost, so it's an apples to oranges comparison. No apple pun intended. lol)
I admit that I was never a huge fan of the colour clash at the time, but the Speccy had TONS of charm in it's many unique games, and could handle higher resolution graphics than some of it's closest rivals.
This was a time when RAM really did come at a premium, so it was quite a clever move, which bought the price of the Speccy down to a point to which the British masses could finally afford.
The other great trick (as I think you mentioned in the previous vid?), was the use of the "faulty" DRAM chips, which obviously also kept the costs down considerably.
Nowadays, I really appreciate both the look / style of the Speccy graphics, and the limitations of machines of the era, which is where most of the technical and artistic creativity stemmed from.
Oh, and not forgetting the long and dark British autumns and winters, obviously. lol
The Speccy was instrumental in spawing the so-called "bedroom coder" scene in the UK and Europe.
Many of those same people are still working in the industry, or heading the companies responsible for many of today's big games.
@Electronash , Sir Clive's trick with the "faulty" memory chips was just good business. The chips were 64kbit chips, but that were faulty because some of the bits would stay stuck on or off all the time. So they were useless for 64kbit use.
But many of them only had errors in one part of the RAM. If you had a chip where the faulty bits are all in the upper half of RAM, just don't use the upper half! Use only the lower half, and call it a 32kbit chip. The chips came in 2 varieties, one where the top half was faulty, and another where the bottom half was. A wire link on the Spectrum's motherboard selected which half to use.
They were sold as 32kbit RAM chips for just that purpose. Why not? They were tested, and all the bits in the "good" half worked perfectly. The basic Speccy came with 16K RAM, so why not add 8x32kbit chips to make 48K?
Then with the ROM being 16K, that's 64K of memory altogether, which is all a basic 8-bit CPU can address.
The idea of selling the faulty 64k chips as 32k chips wasn't Sinclair's. It was the manufacturer, I think Texas Instruments. It was all their idea. Sinclair saw a bargain and snapped them up. Actually I'd worry about getting a stable supply of them, as surely TI's RAM production line would improve, and eventally stop producing faulty chips. You could use fully working 4164 chips instead of faulty ones, but you'd be wasting half the bits!
Bit less RAM than the Commodore, but more than the BBC Micro, and plenty of others. And no stupid paging. Actually the BBC Micro was a travesty, but that's a whooooole other story of corruption and stupidness.
greenaum
Yes, Sir Clive was a very astute businessman indeed. ;)
I always loved the story about the RAM chips, which is something you might have expected Lord Sugar to have done. lol
I guess it's fine as long as the design takes into account the extra address bit...
As you know, most DRAM chips use a multiplexed address bus, so you send the "row" and "column" addresses separately.
A design specifically intended for use with 32K DRAM chips might just leave those upper address pins floating (expecting those signals to be "don't care" at that point in time.)
If a 64K chip (half faulty or not) was used in such a system, then it could actually cause a problem.
Not especially interesting, just a brain fart I just had. :p
There's a wire link on the motherboard, set to H or L, depending on which 32K is OK on the RAM chips.
For the RAS / CAS multiplexing I dunno, did the logic chips take care of that? Or the ULA? You wouldn't leave an address line floating, it might flip from one to the other at any time, which would be a bit of a disaster!
Memory was clearly still relatively expensive in the 90's.
You can see evidence of this with both the Mega Drive and SNES having graphics chips designed to use 128 kilobytes of VRAM, but both only have half that installed. (Though by the nature of it's higher end features, the SNES is far more hamstrung by that missing 64k than the Mega Drive is.)
Speaking of the SNES, it's not just amount of RAM, but also the speed of RAM. (and the type. Static RAM is very expensive compared to DRAM, even now. 8 megabits of SRAM in 2017 will cost you anything from about $8-20 dollars, where for DRAM, you'd struggle to even find anything below 64 megabits in size, and that would cost you maybe $3-4 - A gigabyte of SRAM would cost thousands, where multiple gigabytes of DRAM can be had for under $100)
But getting back to the SNES, it has a 65816 CPU, which by the early 90's was certainly capabable of speeds of around 10 mhz at least, (and in fact it's stock speed was at least 4 mhz officially even in the mid 80's when it was a fairly new design.)
But, thanks to the way the 6502 accesses memory, you need some seriously fast RAM to keep up with it. A 68000 at 7 mhz can get away with slower RAM than a 65816 at 3.5 mhz... - it also required faster ROM chips for good measure, which also cost more.
That extra speed cost a lot. Especially in the early 90's.
(this is perhaps why in 1995 they could stick the SA-1 in cartridges that ran at 10 mhz but was otherwise the same CPU, but in 1991 that would have been implausibly expensive.)
RAM is expensive stuff, historically, it seems. XD
My main gripe with the system isn't the graphics or lack of sound chip, it is that it's largely tape only. Which makes my beloved genres hard till impossible. Or could one do an Ultima 6 with tape loading on the Speccy?
damn nostalgia is awesome..... welcome back to my childhood of 40 years ago manic miner and jetpac damn those were the days.
The clearest explanation of the Speccy's graphical capabilities and limitations I have ever seen. Thank you.
Born-1976, Child Of-The 80s. Finally found out why my Spectrum behaved like it did-2019. Thank you Retro Man Cave from the bottom of my heart! I had always wondered why the colours were like that. Top show Sir.
Absolutely mind blowing, just mind blowing how game developers achieved the impossible thing on the ZxX spectrum,wow!!!
it shows time and time again, that evolving machines is the easy part, while our utilization lags far behind.
a salute to all you full time coders out there! ...please dont ever get mad!
It's precisely what's frustrating gamers in 2022, as the best games are still running well on the PlayStation 4 Pro & Xbox One X, while some want them to be cut loose.
That's despite a 150 million installed base of systems and semiconductor supply chain shortage limiting the availability of the new systems.
Let alone the prices of them, and the cost of living crisis.
Thanks. I remember badgering my parents for an Acorn Electron like crazy. They didn't get the appeal of Elite and Combat Lynx but instead bought me a 128k zx to learn programming. I'm still near enough clueless about coding but an avid gamer nonetheless and have based my career within the electronics industry.
The graphics really didn't matter to any speccy owner, much to the dismay of Commodore owners :)
Cool parents
The colour clash was one of the many issues of the Spectrum's ghetto technology but the one thing the Spectrum had in it's favour was retaining square pixels rather needing to use 2:1 rectangular pixels to accommodate various limitations and anomalies that came about from the memory, palette and resolutions of other 8-bit computers.
The large colour palette rectangular pixels are everywhere on 8-bit home computers from the BBC Micro, Commodore, Atari, Dragon 32 and many more but the Spectrum's square pixels were easier on the eyes at times.
Another great vid!
Absolutely agree. The Speccy has detail going for it over chunky lores hicolour mode on the C64. These days the latter looks very dated while monochrome Speccy games look remarkably good (in a low fi way).
Well, to be fair, the C64 had the 2:1 lo-res color mode (160 x 200) AND a hi-res (320 x 200) with tile-size BG color mode as well. So you could choose which limitations you wanted to live with, depending on your situation. And of course hardware sprites made moving objects around much faster.
It's easy to see why Sinclair went with this scheme (where the CPU does everything, from graphics to sound): Much simpler and cheaper motherboard design. The downside is that the advantage of having a much faster CPU (3.5mhz, or about 3.5 times faster than the C64's 6502), is totally given up because of the extra load put on it. Ingenious design to save money, though.
Uhhh, you can't just multiply and compare the MHz between Z80 and 6502. 6502 has lots of 2- and 3-cycle instructions, while on Z80 similar cases are represented by 4- and 7-cycle instructions, plus the code is more push/pop heavy, as 6502 has zeropage instructions. It depends on the use case, but in general Spectrum's Z80 is very rarely faster than C64's 6510. Also in the Spectrum, the CPU performance is irrelevant for its design considerations unlike in ZX80/ZX81, because the CPU is only used to form the frame buffer, which it can do as slowly as needed, the frame buffer is scanned out by the ULA independently. 48K beeper pretty much requires you to stop the world to produce sound, so again the speed is irrelevant.
Plus it was great at handling vector graphics when you compare it to most other 8-bitters at the time. Only the BBC Micro can compare to the spectrum when it came to its handing of vectors
The ''rainbow color'' 8x1 & 8x2 hacks have two major drawbacks: 1) CPU use is high, leaving less cycles for you. 2) The code is timing-critical, it uses completely unrolled loops which take up a huge amount of RAM leaving much less for your own code. There's also hacks to create graphics in the border area, I've even seen one which draws scrolling text in there!
The fact any of this is even possible is completely mind blowing. Modern Spectrum games are looking even better since these hacks were discovered & libraries written to control them.
Motorhedmotorhed as ofspades
My buddy and I, 15 years old at the time (1986), made a border scroll with text. Pretty blocky though, but readable.
Well look at that! In one RUclips video, you took "a question I asked the Computer Teacher back in 1983", and answered it very completely. My computer teacher however, gave me a zero for asking silly questions. :-/ Niiiiiiiiiiiiice.
The way the gaps work when cycling through the DisplayFile is because of a mechanic that was implemented that allows for easier movement in Z80 code.
I don't really know if this was to aid the developers or was just the best/fastest way the hardware could be made, but it's certainly more convenient when shifting bits in assembly.
To show it better, your address in memory was usually stored in the H-L register pair with H being the high byte and L being the low byte; so your display file would start at:
H: 0100 0000 L: 0000 0000 -- now this would be the top-left most group/line of 8 pixels (first byte -> first 8 bits).
So if you wanted to advance to the next character you'd just increment L:
H: 0100 0000 L: 0000 0001
On the other hand if you wanted the first character on the next line, if the memory would have been all linear you'd have to do something like this:
H: 0100 0000 L: 0010 0000 -- of course this is cumbersome, because you'd just `INC L` for a character but ADD 32 for a line. So they DIDN'T do it like this.
Instead they did it like this. They swapped the first 3 bits of the high address byte with the last 3 bits of the low address byte.
So going to the first character of the next line would be as simple as this:
H: 0100 0001 L: 0000 0000 -- now this lets you simple `INC H`
I loved chuckie egg, barely took any time to load and had great gameplay, as well as simple menus.
As a C64 snob I used to sneer at the speccy screenshots on game boxes, preferring to sacrifice resolution for chunky gfx with more colours. Now, I'm just impressed with how much could be done with so few computing resources back in the 8bit era.
Yeah as a Spectrum snob I used to sneer at the C64 screenshot on game boxes, perferring to have better resolution than chunky graphics on my black and white TV - haha, just joking, about all that until the black and white TV part, loved all the machines and was just a buzzing happy nerd at it all, such amazing times!
The spectrum always felt unfinished to me - locked into its pre-release state but its own popularity. The lack of dedicated hardware, the color bleeding, the Kempston joystick bug and that weird 3 section screen layout. I mean, Commodore had its own problems with its dog slow loading and bugged CIA but at least it never came up with solutions like the Microdrive and 3" disks.
@@immortalsofar5314 But we got bog roll printers, Currah speech, INterface 1s with Joystick ports, Snapshots. Microdrives (awesome) Serial interfaces to proper IBM printers, Mice - I had a mouse on my ZX Spectrum.
Also that killer rom slot in the interface 1 to load Horace goes Skiing in an instant by ROM. :-)
Geez.
We had it good.
I played countless hours of Gauntlet on my 128+2 with friends being sure to manage our health so only one of us died at a time.
Just epic times.
That computer sucked me in completely.
Now a Software Engineer of 25 years experience.
Gotta love it.
I wrote my first program on the spectrum and I remember me and my younger brother sitting for ages making a game on the spectrum. Very rudimentary adventure game but it had that effect on us kids. Programming was accessible.
We need that again.
Luv and Peace.
@@immortalsofar5314
The Speccy was build to be cheap, that was something like a red line trough all of Sinclairs products. Get something out that works as advertised but make it as cheap as possible in the same time.
Not that Commodore was that much better, the C64 was just a VIC20 on steroids which in itself was just a gamified PET which in turn was just a KIM1 that got a permament terminal. They rehashed most of the hardware and Kernal in every incarnation and sometimes rushed stuff to market. From my point of view one thing the Breadbin had over the Speccy was having a floppy drive. No floppy no RPGs or adventures that need to constantly read in map data. Imagine playing Maniac Mansion from tape and rewinding every time you switch a room or an event happens.
Hardware sprites were the biggest difference - the difference they made over the color bleed in the Spectrum can't be overstated. The sound and keyboard were cool, too but nowhere near as important. I think that was one corner they shouldn't have cut.
The C64's disk drive was one of those why-did-you-bother things. It was slow and as complicated and expensive as the C64 itself. Originally it was designed to transfer in the background but the initial batch of CIA chips didn't work so they coded agonisingly slow serial communications into the OS. Of course once there, like the Spectrum's joystick interface that needed 256 bytes because of a BNE rather than BEQ, we were stuck with it.
Excellent video presentation and after watching this video I feel I have acquired over 30 years worth of knowledge on how my little computer really worked.
Thank you, sir.
Nice that you mentioned the MSX... when I was young I was fighting with the color clashing of the TMS9918A. Interestingly, although you can get really creative with that chip, and there are plenty of gorgeous games, it is a very inflexible VDP and there have been close to 0 undocumented tricks and modes. Some games achieved smooth scrolling but that's about it. No extra colors, no extra resolutions, no extra sprites. It did what it said on the box and not a single thing more! The subsequent MSX VDPs are a different story.
I actually learnt to programme on my Dad's MSX. :) I miss that clunky old thing! And the computer too. :
At the time I had the Timex Sinclair 2068 (ZX Spectrum compatible) I could only afford a black and white TV so I've never realized there was a color clash problem! Awesome video, thanks!
Another colour issue with at least Issue 1 and maybe Issue 2 of the board is the chroma would appear to shimmer and crawl across the screen. As you can see in the video near the start, there are two trim capacitors. Issue 3 and after had a 4.43MHz oscillator. My Spectrum had a little hole in the bottom that you could insert a screwdriver into and adjust one of the caps. Once the unit had warmed up after about 10 mins it usually settled down.
I can only imagine the kind of debugging hell that those generations of coders had to go through, but the fruits of their labour have a special place in my heart.
What a great video. I've been watching (and making) ZX Spectrum videos for years and these two short videos explained tons of info I never knew about the system so thank you ;)
Thank you for the kind feedback I appreciate it
This brings back oh so many memories from the past and makes me appreciate the Speccy even more.
Absolutely loved this. As a kid I could never wrap my head around the colour limitations of my Speccy, but now I can understand why it happened technically and that it based on the purpose of the machine! Thank you!
School rivalry led to the spectrum being renamed "rectum" & Commodore 64 renamed "Commode 64" by opposing fans, circa '82-'83 fond memories ✌️
There were some state-of-the art games back then that seemed to defy colour clashing: Exolon, Zynaps, Saboteur, Myth, Robin of the wood.
R-Type?
Well, Saboteur just used the coloured-background/black-ink/transparent-sprite trick mentioned in the video (Double Dragon and Renegade as examples). It worked particularly well since your character sprite was pretty much a solid black silhouette!
Exolon is a great example of avoiding colour-clash though as it drew the game sprites 'behind' any character squares already coloured by foreground objects. It seemed much less jarring to cut whole character squares out of the player's sprite than to cut whole character squares out of the scenery, in order to draw the sprite 'in front'. It was also well-suited to games with scrolling scenery as you generally wanted to keep well-away from that scenery anyway!
Great video. I'm starting to like this little machine.
Check out the Spectrum Next - there's a new one coming out soon!
Always buy a 128k machine the best ones are the original "toastrack" version made by Sinclair or the grey coloured 128+2 from Amstrad which was still logo'ed up as Sinclair as Amstrad purchased the Sinclair brand, most of the inner parts are Sinclair left over inventory anyway so you are buying a Sinclair product virtually. The 128 machines are equipped with a 3 channel AY chip which is the same sound chip inside the Atari ST so the games made post production of 128k Speccys are usually graced with good quality soundtracks and sound effects etc.
Loved the speccy ,colour clash and all was part of its charm to me.
Thank you! For explaining the reason behind the colour clash 💪🎃👍
Brilliant explanation of the ZX Spectrum graphics. Anybody who had a sinclair machine knew the limitations but we just accepted it. we got used to the "higher resolution" compared to the dodgy sprites on other systems. Even if the majority of multi platform releases were monochrome.
But imagine... if we saw the bifrost or nirvana engine back in the day ... minds would have been blown. Old Tower, for example, looks and plays like a modern system with multiple colours , no clash or tearing and smooth movement. I know there is still limitations on how its achieved and managed but to imagine MM or JSW looking like that running on a humble Speccy ....
Here in Argentina the Commodore 64 destroyed the competition. But sometimes you could found some schools using it... Now I respect the Spectrum a lot with your explanation... on that days with my "amazing" C64, I bulled the system heavely because of the color clash. Thanks for make us less ignorant...
So glad I found you. Brings back so many memories of being a teenager in the 80's. Keep it up
thank you Jason and welcome to the cave. Pt 3 is going to take me a while to put together but it is set to be a big nostalgia hit :)
I think it's a real shame that with just only a few hardware modifications, which would have probably not affected price nor performance, the ZX Spectrum could have been so much better as a gaming machine. As a past Spectrum hobbyist developer, these improvements to the hardware came to mind:
- For each 8x8 tile, rather than have 8 colors for the background, 8 for the foreground, a brightness bit and a blink bit, instead have 16 colors for the background and 16 colors for the foreground. (In other words, take full advantage of the 8 bits per color tile.)
- Rather than have the colors be from a fixed palette of 16 colors, make the palette configurable, eg. from 256 possible colors (eg. 3+3+2-bit RGB). Also, make the palette for foreground colors independent from the palette for background colors. This would allow a maximum of 32 simultaneous colors on screen (from a possible 256 colors). This would have only required 32 bytes mapped on RAM somewhere (eg. before or after the screen buffer), or alternatively it could have been configurable by outputting to some port (although I think it would have been better if the palette is in RAM, like the screen buffer itself).
- Allow the color layer to be shifted by up to 7 pixels vertically and horizontally. (This could be achieved from the software side by, for instance, outputting a byte with 3+3-bit offsets to a certain port.) This would allow smooth scrolling of the screen, colors and all. (Of course it introduces the problem of where the next color at the end of each row, and in the entirety of the last row, would come from, but even an extremely simplistic of simply taking the next byte in memory would have sufficed for significantly improved graphics, allowing completely smooth scrolling with colors and all.)
I believe that if the original designers of the ZX Spectrum had had the vision of implementing those three features to the hardware, the machine would have been a significantly better gaming platform, without any compromise in efficiency or price. Game developers would have created marvelous-looking games.
Really they should have improved the hardware between iterations while keeping it compatable. Like some graphics enchancements for the 128k
--> WarpRulez I enjoyed reading your post. Sadly, I never had my own computer (thanks to Thatcher) but my friend used to lend me his BBC and I got quite good at programming in assembler, doing software scrolling and such. I never had a chance to even touch a Spectrum, though I did have a few months on a ZX81 with its memory contraption making my life a misery (all 16Kb of it). This being said, on the BBC I ended up disappearing up my own arse by trying to write a tiny disassembler. It was fascinating, but then I went abroad and no computers. Am I boring you? OK. I'll stop. :)
Thinking even more about it, a further idea came to mind in addition to the above, to make the machine even better (still without compromising efficiency in any significant manner):
One that I had thought of before but didn't mention: Make all the pixel lines consecutive! They had been arranged in this weird pattern, goodness knows for what reason, which made drawing on consecutive lines require extraneous math, slowing down code (every bitwise and, bitwise or, addition, and subtraction takes something like 3 clock cycles in the Zilog. The weird configuration of pixel scanlines requires such extra operations when you want to eg. draw sprites.) Having the screen memory be consecutive would have, in fact, probably made games more efficient.
And a new idea: The "color layer" consists of 32x24 bytes (covering the entire 256x192 screen in 8x8 squares). While being 32 bytes wide is very convenient in terms of the math, I think it would have not slowed down code too much if the "color layer" were 34x25 bytes instead. (Any slowdown having to deal with rows of 34 bytes would have been lesser than the efficiency gained from the abovementioned linear pixel mapping.)
Why 34x25? To allow for the extra colors to be put on those extra spaces, for the scrolling. This way colors wouldn't wrap around, and you could make the scrolling of colors work flawlessly. (Why not 33 bytes per row instead of 34? Because 34 requires less math to deal with than 33, to jump from one square to the next below or above it, given the binary nature of computer calculations.)
But 34 bytes per color row leaves one extra unused byte per such row. The 33th byte would be used for the "incoming" color when scrolling horizontally. Could the 34th byte be used for something useful? Well, my idea is that it could define the horizontal offset for that particular row. That's right, rather than having one single horizontal offset for the entire "color layer", each color row would have its own horizontal offset. This would allow scrolling each color row independently of each other (allowing for even more options for colored images, and to make horizontal scrollers where different parts of the screen scroll at different speeds, with their colors and all.)
So I envision the entire screen RAM mapped as follows:
* 32x192 bytes for the pixels.
* 34 bytes for the palette. The 33th byte defines the vertical offset of the color layer (34th byte is unused).
* 34x25 bytes for the color information. The first byte of each row defines the horizontal offset for that row. The remaining 33 bytes define the colors for that row.
If the ZX Spectrum had originally be designed like this, I can only imagine how awesome the games would have looked like.
WarpRulez I was just wondering if anyone has said anything about line "consecutiveness".
They made them non-consecutive by scanning the video memory with some high address bits swapped around. This was done so that when you fill in/print an 8x8 character place, you calculate next line address not by adding 32 (bytes per line), but rather by simply incrementing the higher byte of the pointer. Kinda ironic, since simplifying the screen output seemed like what they were aiming for in the first place :P
And they should have included an AY chip, for a few more bucks. And updated the rf modulator to output sound (like the 128k models).
That plus an enhanced palette (and maybe without the colour clash issue) and it would have been a so much better machine.
Great video.... Im an absolute technobuffoon so loved this!! Speccy roolz 😄
A very informative and well presented video on the much loved Spectrum. Thank you!
Thank You RetroManCave. That was great piece of work.
Thank you for watching!
Ah the Spectrum, my first love ♥️
This is a very comprehensive description of spectrum graphics, and I'm glad you mentioned BiFrost.
Maybe at some point you could do a similar video for the 4 graphics modes of the SAM Coupe computer! Ever heard of that one?
I have, always liked the style of that case but never got my hands on one. I'll keep a lookout for one
I used to own one in the 90s, but got rid of it when I succumbed to an Amiga. The SAM Coupe was a brilliant machine with a very good implementation of BASIC built in. It was a bit like a cross between a spectrum and an Atari ST. Sadly the software support for it was poor as about only 12000 machines were sold, apparently.
As a kid, I was on the Commodore side of things (my dad knew a dealer personally, so was able to get a great price in 1983/84). At 5 years old, the machine was a marvel, and the Spectrum was.. less. Good thing about getting into the 8-bit wars at a young age? Being a sponge for info. Most of my mates had Speccys so knowing what was in it, it led me to an admiration of what the devs had made it do with the limited specs.
Fantastic explanation and walkthrough of the old Speccy's graphics logic. It's actually cheerfully simple when compared to other systems of the time (Atari 8-bits come to mind) and I'm sure this helped to entice a few more young programmers. Great video, thank you, cheers! :)
I spent my teenage years in front of a Speccy and I think this video covers the subject in a quite complete and satisfactory way.
One colour palette "trick" was to change the colour but not the image, e.g. river in a stream, to make it look like the water was moving
Protomaker Black Sprint Original 3D Printer the ULA does a very limited version of this trick with the FLASH bit.
ZX80 could it switch on/off quick enough to make colour
www.sinclairzxworld.com/viewtopic.php?t=1495
www.sinclairzxworld.com/viewtopic.php?t=820
zx spectrum colour palette, rotate to make movement
bobs-stuff.co.uk/zxspectrum.html
en.wikipedia.org/wiki/ZX_Spectrum_graphic_modes
another great argument for playing games on a CRT!
Anne-Marie Rose absolutely, for authentic colour blending
Makes me glad I had a C64 with much better sound and video capability (even though it was more expensive)
@MechWizzard Better sound, definitely. The 6581 SID chip is actually #10 on PC World's list of 10 most influential sound chips.
Better video? Not really. It had a lot of the same color limitations, actually. In high-resolution mode (320x200), you could only change one color per 8x8 pixel block (the "ink" color). Without raster interrupts, the entire screen used the same "paper" color. In four-color mode (160x200), you could have four colors per 4x8 pixel block, but the pixels were twice as wide and you could still only change the "ink" color between blocks; the entire screen shared the same three "paper" colors. Where the C64 *was* superior was that it had eight hardware sprites. The ZX Spectrum only had software sprites.
Just like the ZX Spectrum, game developers came up with ways around these limitations. For example, raster interrupts allowed you to change the "paper" colors, but achieving a flicker-free raster interrupt required very careful timing (or clever methods of hiding the flicker). For that matter, you could even change between graphics modes, or change the sprite registers to give the illusion of having more than eight sprites.
And there is the C64's "proper" mechanical keyboard, if you wanted to do much on the computer besides play games. I wrote my papers and did a lot of my other schoolwork on my C64. It hardly has the greatest keyboard, but I can type a lot better and faster on it than I can the modern laptop I'm using at the moment, let alone the Speccy's type of keyboard. Not to rag on the venerable Speccy, which truly brought computing to the masses (and I mean this in the best possible way), but trade-offs had to be made, and I can't imagine typing a 25-page research/term paper on it. For programming as a hobby, it's fine, but for work, even the C64 is not viewed as being ideal for anything heavy (depends on the software you use, though--I had no trouble with long papers because the software I used didn't try to hold everything in RAM all at once), so between the two, the C64 and a floppy disk drive is the obvious--and unfortunately more expensive--choice for general computing.
Over here in Poland, some people use the term "chameleon effect" for color clash.
This video is without question one of the most informative of its type on the interweb! Recommended for all ex-Speccy owners!
Bi*Frost is 8x1 attributes which is limited to an approximately 20x22 character area, Nirvana is 8x2 attributes which allows almost full screen (30x22 characters) multicoloured games to be produced. Both engines being a software implementation of the extended graphics modes of the Timex version of the ZX Spectrum.
One notable Game that used a sort of screen switching to overcome the colour clash in the display was Gyron. Admittedly this was only used in part of the display but worked well. Most of the play screen display was monochrome. It was still clever though.
Developers back in the days were very talented,
Thank for the video
Man, I miss retro computing so much...
Or as we called it... computing. 🤣
Mr/Ms Dane, did you know about the Spectrum Next? Check it out if not. Big things coming soon.... Regards, Arran.
As we called it - state of the art computing
I don't miss retro computing because I'm doing it! I do miss that time, though--that unique time in history when all of this was new and state of the art. I'm grateful to have experienced it, however, and pleased to see so many younger people take an interest.
Thanks for a great vid, RMC!
I think the use of attributes was a great compromise to build hardware to a very competitive price point. Not only did it conserve memory, it meant less data to push around when moving sprites and hence the speccy had an advantage over competing systems with similar spec CPUs when pushing large amounts of graphics around.
The layout of the screen memory is more perplexing, IMO. I can't see any advantage to jumping 8 pixels down at a time when transcribing linear memory to the screen, even in text applications, and the splitting of the screen into three blocks is an odd arbitrary decision which unnecessarily complicates low level coding for the machine.
Well, we knew the problem as "attribute class" not "colour clash" back in the day. And it was what in today's psychobabble terms would be called a "trigger" term when some posh, snobby C64 owner brought the matter up in the playground at lunchtime when the ongoing system war broke out again. I still don't like C64 owners. And "attribute clash" still sends a bit of a shiver down my spine - but then the Dunkirk Spirit takes over and I defend the Spectrum whatever the cost (in terms of one's relationship with reality) may be. I loved it and I still do, much like a long-dead first pet. A mongrel, to be sure, and a bit mangy and rather thick, but it could do some unexpected tricks and was devoted nonetheless. And it was mine :)
There was one final method for dealing (or doing away) with color-clash:
3-field frames (flickered like hell, but you could, after a fashion, see all 8 colors in even an 8x1 area)
MSX 1 had sever different video modes. The most common was 256×192 (16 colours). In reality there are just 15 colour is available, because, just like Sinclair Spectrum there are two codes for black. Unlike the Spectrum however, one of the blacks is actually “transparent”, so the MSX video picture could be overlaid on another video signal, for example one from a video disk. Sprites: 32, 1 colour, max 4 per horizontal line. MSX2 and MSX2+ have even more modes too pick from.
Superb video! Glad I found this channel. Now to dig out my ZX!
Your poke program also mimics the way the intro picture came up when loading a game.... every 8th line in monochrome and then the colours would appear.
finally someone who knows msx system.
Thankyou. That helped me to understand some of the things that have puzzled me about Spectrum graphics.
Colour clash was the one thing that really hamstrung the Speccy for me. I love its distinctive palette, but I just wish it could have been used with more finesse at the pixel level.
Fascinating stuff, as ever . . . and it is always good to see some Chuckie Egg, Manic Miner and 3 Weeks In Paradise.
Don't worry so much about Popeye next time though . . . everyone hated how that game looked and played, and none of us need reminding of it :-)
+PaulAndHisUkulele hehe Trapdoor perhaps as an alternarive to the same style of clash avoidance to Popeye then. I quite liked Trapdoor
It does appear as the colour clash was the only distinctive feature of zx. Pratically all 8 bit computers of the era had it. Just to mention some:
C64 in high res mode. Only 2 colors per 8x8 cell
C64 in multicolor mode. Only 4 colors per 4x8 fat cell
Msx1
Computers that did not have :
Amstrad cpc. But twice or more the video ram to manage and only 4 color per entire screen or fat pixels
Msx2: but a lot of vram to manage. Screen used from 24k to 54k of ram.
Too much to be managed efficiently for a 8 bit cpu
The C64 and MSX computers have sprites, so color clash isn't nearly as much of an issue for them.
Great video, but I can't recall exactly *why* the pixels were split into 3 horizontal blocks, and ordered as 8 'top' rows, 8 'second' rows, etc in each block. Yes, it all had to be within the 48K RAM, but why wasn't it arranged in a simple left to right, top to bottom manner? Was it some archaic performance improvement? I recall that setting pixels in machine code required a lot of mucking about calculating where the next pixel in the line would be. The extra calculations were always slower than a simpler pixel map.
Back in the day, you just accepted that this was the challenge, but looking back, I wonder why it had to be a challenge at all.
It's to help with drawing text characters quickly. To draw a text character, you need to copy up all 8 bytes that make up the image, one under the other.
If the lines were one under the other (which game programmers would much prefer!), then each pixel line down would mean adding 32 bytes to the address you're working with for each of those 8 bytes. So if your memory address is in the 16-bit register pair HL you'd need to set another register pair BC to 32, then ADD HL,BC each time. And this would work anywhere on-screen, not just within a character square. But ADD HL,BC is a fairly slow instruction for the Z80 CPU to carry out as it has to perform two 8-bit additions whilst carrying a bit from one addition to the next.
But Sinclair wanted to optimise things for drawing text characters within those coloured character square divisions. So the way the screen is laid out, if you stay within a character square, then to move down a pixel row you add 256 to the address, not 32. This is much quicker in machine code as you just do INC H (add 1 to the upper 8-bit half of the 16-bit memory address) so it's overall much quicker to draw a character.
But it really doesn't help when you're trying to draw sprites to arbitrary pixel positions on the screen, rather than character cells.
Bifrost Engine - not heard of that before. Good video, thanks for sharing.
Brilliant explanations - really enjoyed this!
Had a Spectrum 48K back in the day for six months, then sold it to get a C64 and never looked back, although it was a source of embarrassment that the faster CPU in the Spectrum made it a better machine for 3D wireframe games like Elite.
Apparently, wireframe graphics was one of the Z80's great strengths.
A good graphics screen like, for instance, a loading screen in a tape game, wow... if well done, they can look absolutely amazing.
This was my childhood! Literally! ;-)
Played to its strengths, the ZX made some amazing graphics. I still the all round the C64 was capable of more due to dedicated graphics and sound chips, but the biggest factor was the programmer not the hardware.
I had a 48k spectrum, and had an upgraded DKtronics keyboard. Best game on the spectrum was boulderdash. I spent hours playing that when young.
That rubber keyboard, urgh. I seem to recall Matthew Smith used to program on a TRS80 with an interface direct to Spectrum expansion slot to dump the latest build directly into memory, and of course avoid programming on the rubber keyboard.
Really interesting. I wonder what the cost difference would have been for Sinclair to have included sufficient memory that all the pixels could have been assigned colours. I noted that your Poke command set the value to 255 which turned it black. At first I thought you could control the colour value by assigning it a different value but I guess it was just the difference between being a background pixel and a foreground one.
It's not really about cost - well, other than available memory. The problem would be speed. Even at half the resolution and slightly faster clock speed the Amstrad CPC is slow. The magic of the Spectrum would never have happened.
Those programmers certainly had skill. Also, that looks a great old TV.
Excellent vid. Surprised u didn't mention cross hatching tricks. Speccy with a tiny bit more power would have been Alot better. like the sound taking cpu cycles aswell instead of an ay from the start.
Great explanation, thanks for posting you wonderful person
+gmonkman cheers and thanks for watching
Excellent video 👍 😉
I always imagined Clive would be driving around in a Morgan.
Bright black does exist but you can't really see it on a CRT, SpecEmu is considered to be the most accurate emulator (even by other emulator authors) and (depending on the PC screen you are using) you can see bright black when it is used. I was always under the impression that the Spectrum could only manage 15 colours with the use of the Bright bit. But it does make sense that if all the other colours can have a higher luminescence by using the Bright bit, so should black.
Freescape was another innovation.
You didn't mentioned 'Nether Earth' radar. It has blue background, white items, cyan your robots and light-red enemy robots while each item on the radar has 2x2 pixels dimensions (not 8x8). Even today's youtube 'let'splayers' can't record that in right way, because of frame synchronization. :)
Awesome and fascinating!
At least skilled homebrewers can use the later trickery to improvise gaming experiences on the fantastic Spectrum. I've yet to learn stuff from the bottom rung I never really applied myself because of poor choices and company in life. It's never too late I can feel a second calling (aged 47) to actually get learning. It's one on my bucket list
Nicely explained. Good video. Thank you.
I wonder how much extra cost it would have been for sirclive to increase the attribute memory? I assume that this was set in the days when the Spectrum shipped with 16k Ram, however they soon upped it to 48k. Image the games we could have gotten without this color clash!
Awesome video as usual!
The best remedy for ZX color-clash was a green or amber monitor: D
Amber monitor was what for me made PC CGA graphics bearable also. Maybe if you can't pull of colour - don't.
Subscribed. Loved the video, thank you!
Carlos Bragatto welcome to the cave sir
I have recently got a spectrum 128plus 2 with games manual two joysticks for free on Facebook market place it has no heatsink inside just ordered one from eBay as it doesn’t power up just wondering will it power on without heat sink great channel love all the content as I’m a retro gamer
It's funny how hobby developers today can make a machine that's 30 years old play like it would have been a supercomputer back then. Of course, they've had 20-30 years to tinker around with the hardware and software, while the original developers might only have had a couple of years at most before having to move onto new things.
We need to see that happen with today technology in 30 years
Excellent presentation.
thing is if u were a kid when the zx was on the go u didn't care about colour clash, all that mattered was a good game, gamer for life and all that.
maddon001 when Archimedes came to our school the first thing we did... install a spectrum emulator to play The Great Escape. Good games transcend the technology like you say
I learnt of the Speccy from RUclips and the biggest thing I cant get my head around was the colour clash, My first system was a nes too young and too spoiled maybe?
In 1982 it was all we had that was affordable by the mass market.
@@paulanderson79 yeah but it feels like you went bargain basement, not hanging shit, such a basic system but I enjoy the fact that you all enjoyed it so much, The isometric games are really impressive yet the ports or knock offs looks so shit, either way, interesting community, interesting moment in computing and gaming, twice as fun because 'Sir Clive' had his machine retooled to the point of anger, to the point of "thats not what machine was for' and he could almost destroy it out of his bullshit pride the British market is intriguing, so he could peddle off dumb go-karts, especially in the 'home coder' bracket. Cool either way, too archaic for me, but cool!!!!
What are the games at 7:52 the water one before last ninja 2? I played it but can't remember? Great video, very interesting.
That's Codemasters Championship Jet Ski Simulator
Okay, once we know it was just made for TEXT (and therefore blocks of 8x8 with text color and background), everything makes sense. I was wondering why they made such a "stupid" decision for graphics, but now I know why, it was just always intended for text.
Now I know why the C64 was said to be superior to the ZX Spectrum. It clearly was in terms of having greater graphics, memory and sound capabilities.
James Lewis well yes but there was a cavaet. The higher resolution and cpu speed of the speccy meant it beat C64 games in 3D games for fps and looks, much to the C64 owners annoyance. The C64 had the luxury of multiple resolutions but the higher ones also had large attribute cells to work within the memory available.
Although I remember the games on the C64 didn't suffer the colour bleed problem and as such generally looked better than what I have seen on this video. Having said that pretty much all the games I played on the C64 were either 2D or wire frame (such as Elite). Last Ninja is a good example of how the graphics on the two systems differred.
Even back in the 80s, Speccy games looked awful. OK, they played well, but white guys running round and sometimes having blue heads/legs/balls made me steer away from that machine.
Commodore had a rather advantage in that they owned their own chip fabricator, of course. Sinclair used mostly off the shelf hardware and relied on Ferranti's process for semi-custom chips to get the cost down to an affordable level.
A computer you can afford to own is far superior to one that's going to stay on the shelf in WHSmith.
this is fantastic work! thank you!
Impressive!
Bloody great mate
Excellent video.
When you were explaining screen memory and the lines were being drawn .. you interrupted it just before it finished. You cant do that man, that really jinxed my janx
Sorry for being a janx jinxer Niall