I have also seen how the latest programmer has taken the spectrum to the max, a pity today's programmers on the latest consoles are SLACKING and users are upgrading and spending cash on the next generation before they have exhausted the current platforms eh!!:) Money talks and bullshit sells, wow how the games industry has become a CASH cow:(
To fill you all in on the multi-coloured games featured in the later part of this video (which are very well worth your time): 2:15 - Wolfenstein 2004 (Alone Coder, 2004) - this requires a Pentagon or other Russian Spectrum clone with TR-DOS, and Multicolour mode to see that screen as it appears here... 2:19 & 2:55 - Buzzsaw+ (Jason J. Railton, 2011) 3:35 - Knights & Demons DX (Kabuto Factory & Einar Saukas, 2013) 3:55 - El Stompo (Dave Hughes, 2014) 4:16 - Alter Ego 2: DreamWalker (RetroSouls, 2014) I've seen a few games of the commercial Spectrum era use the kind of trickery seen in this video to make static multicolour graphics, such as on a menu screen (LED Storm from 1988 being an excellent example) - but as far as I am aware, Buzzsaw+ was the first game to weave this magical incantation on moving graphics, which then opened the floodgates for the Bifröst and Nirvana engines. And I quote from a review nearer the time (www.rgcd.co.uk/2011/10/buzzsaw-zx-spectrum.html) - "Had Jason Railton released this in 1984 he would have either been revered as a programming god, or burned at the stake as a witch." Einar Saukas would be right beside him on the pyre...
WoooW that scanline trick is pretty clever,with such trick in mind,i can imagine a homebrew version of donkeykong being waaay more colorful then the official version.
Great video! A nice combination of reminiscing about stuff I already knew, and being educated about stuff I didn't understand. Cheers, I have subscribed! :)
The American ZX Spectrum clone Timex Sinclair 2068 actually had the ability to switch to a high colour mode using an OUT command giving it a full-screen 8x1 colour attribute grid. Much like the Oric-1 and Atmos. Although I do not believe it was ever really exploited as the software base was very limited due to incompatibility with the ZX Spectrum Roms.
Wow...those per scanline colour effects remind me of DLIs on the Atari 8 bit computers...ah, great days. Computers these days are immensely powerful, but so much of their power is wasted. Personally, I like to see what I can do with 4mhz microchip PICs and such.
Just imagine if homebrew versions of games could take advantage of this smart cool color swapping technic to make games look more closer to it’s arcade counterpart😁
I wonder why they never came up with techniques like this back in the 80's.Judging by the size of Spectrum game library, there were A LOT of developers working with the machine, surely some of them were top-notch specialists.
Modern Dev tools weren't all there yet and documentation of things like the z80's undocumented instuctions, while often understood by a few, weren't commonplace.
@@SerBallister You can't change the number of colours, but with careful synchronization you can change them on different scanlines. You can see early uses of the trick on the title screen of Spectum Uridium, when it was called "the rainbow processor". With modern tools and knowledge of the machine it was wrangled into the Nirvana engine, which finds a happy medium that doesn't consume *too* much processor time, but offers smaller attributes than the original 8*8 colour cells, allowing for the more detailed graphics seen in, for example, "El Stompo" and "Stormfinch"
I still own a fantiastic book pubblished on 1985 called "Advanced Machine Language for ZX Spectrum" by David Webb where an entire chapter was dedicated to illustrate the technique to achive hi-rsolution color using interrupts.
Because most devs back then were working to deadlines as a job so they didn't have time, and the folk who come up with the new techniques today have almost four decades of research and experience as a resource. It's like asking why cave men didn't just invent vaccines. Things need time to develop.
I can't deny that the colour pallette on the Speccy was unique, but I absolutely detested it as a young lad. My mate had a c64, I had a cpc 464 and my other mate had a zx Speccy. I used to hate going round to the Speccy house.
David Webb published a book through Melbourne House back in 1984 that had code that did a lot of this colour management - it’s online here... computerarchive.org/files/comp/books/ZX%20spectrum/AdvancedSpectrumMachineLanguage.pdf All good stuff !
It had the extra RAM, but it also had the same ULA as the 48k Spectrum. Some of the American versions of the ZX Spectrum used the extra RAM and an updated ULA to generate two extra screen modes. One with twice the horizontal resolution, in two colours; and one with the standard resolution but with colour cells that are 8 pixels wide, but only 1 pixel high. Strangely, virtually no commercially released software was released that used either of these modes.
mmh. Colour clash is technically a problem on any system that has a palette specified independently for small regions of the background (eg tiles/characters), but the Spectrum seems to really suffer for it. And of course, the more colours you get per tile, the easier it is to hide. On top of that, it's generally less obvious of a problem when there are independent hardware sprites that don't directly interact with the background. I think the reason it's so obvious on the Spectrum is that it has no hardware sprites, so you have to draw them using software techniques ON the background. And there's only 2 colours per tile, so you run into problems really quickly unless your entire screen is 2 colours at most. Attribute clash for neighbouring tiles is much easier to disguise with careful tile design. And again, something like a 16 bit console with 15 colours per tile can hide this exceptionally well without much trouble, even though technically, attribute clash is still possible even here, just... Not very likely.
I assume that's related to NTSC video signals (PAL doesn't work in the same way) where there's 'black' and there's a reference level that's darker than black. On HDMI monitors you often find there's an option to use a 0-255 input range (Monitor standard), or a 16-235 range (television standard). The values outside the television range are considered invalid on a television, though modern displays don't care. But older ones do... That may not actually be the reason, but it seems like it would be the underlying cause...
Speky forms its colors by applying maximum signal voltage to its RGB wires (signal is either 0v or 3.3V, if memory doesn't slip me). The halftones are accomplished by pulling those down to about 2V (through a simple pulldown resistor). Black is accomplished by all three channels being 0.0V, regardless whether it is pulled down or not. If your blacks are different shades of grey it means your GND bus is noisy and you have to re-cap your computer. Do it - you shall also improve the sound and stability of the device.
The Spectrum has been updated to the ZX Spectrum Next and has had 2 kickstarters target smashed and can still play original software. The Acorn Electron disappeared without a trace.
@@dtz1000 Original ZX Spectrum games will still have color clash as they run on ZX Spectrum emulation, but games programmed for the Next won't have it, as its new graphics modes are on par with an Amiga.
@@rwentfordableThe electron still has hardware and software being developed for it all the time. It's no more sunk without a trace than the spectrum has. If anything the 8bit Acorn community is more active in terms of hardware addons than most retro platforms out there. Occasionally some of its developments leak to other platforms, like Hogglet's rgb2hdmi which has become very popular in the amiga community, or the domesday duplicator which being very enthusiastically being embraced by the laserdisc gaming community. Or pitube direct, which inspired the pistorm efforts for the amiga.
Obviously there was no way of doing these tricks back in 1984, people can do it now because they have knowledge of how to exploit the Spectrum that was accumulated over decades. Also, back in 1984 you couldn't waste years figuring out stuff, you didn't even have months usually; the market changed fast and developers had to keep up or get left behind, we only have this time now because the Spectrum isn't relevant anymore.
This technique was first outlined in 1985. A few commercial games used it, but mainly for static backgrounds and title screens. It was also used heavily in demos.
I played with this in the 80s. What I find really surprising is that the game window isn't limited to the top / top left. As I understand it (and how I did it) the only feasible way to do this is to wait for a timer interrupt, then wait for a few thousand clock counts, at which point the attribute /scan line, is at the top left of the screen. You are then free to change the attributes within the right timing. All this while you need to know exactly how many clocks have passed since the interrupt. So any code with conditionals is complicated, as you have to know how many cycles each instruction at each branch path takes. Once you've gone way down the screen you can stop changing the attributes and get on with the game logic. But you don't have very long until the next timer interrupt.
Me neither but I'm a little unusual I think, I can watch whole movies on phones, and not the nice new phones either. I don't mind monochrome either, but I hate the kind that has only two colors with no gradations between them; it removes all interesting contrasts from the image, and it's annoyingly common on the Spectrum.
i dont understand why they NEVER fixed that. when it comes to the hardware, back then i would be perfly fine if spectrum has a bigger price. the grapiics just looks horrible compared to the commandrore.
"A big pile of digital sick." I'll have to use that sometime.
Impressive stuff is being done these days on the old Speccy!!
I have also seen how the latest programmer has taken the spectrum to the max, a pity today's programmers on the latest consoles are SLACKING and users are upgrading and spending cash on the next generation before they have exhausted the current platforms eh!!:)
Money talks and bullshit sells, wow how the games industry has become a CASH cow:(
@@karlwalker1771 it's always been a cash cow.
To fill you all in on the multi-coloured games featured in the later part of this video (which are very well worth your time):
2:15 - Wolfenstein 2004 (Alone Coder, 2004) - this requires a Pentagon or other Russian Spectrum clone with TR-DOS, and Multicolour mode to see that screen as it appears here...
2:19 & 2:55 - Buzzsaw+ (Jason J. Railton, 2011)
3:35 - Knights & Demons DX (Kabuto Factory & Einar Saukas, 2013)
3:55 - El Stompo (Dave Hughes, 2014)
4:16 - Alter Ego 2: DreamWalker (RetroSouls, 2014)
I've seen a few games of the commercial Spectrum era use the kind of trickery seen in this video to make static multicolour graphics, such as on a menu screen (LED Storm from 1988 being an excellent example) - but as far as I am aware, Buzzsaw+ was the first game to weave this magical incantation on moving graphics, which then opened the floodgates for the Bifröst and Nirvana engines. And I quote from a review nearer the time (www.rgcd.co.uk/2011/10/buzzsaw-zx-spectrum.html) - "Had Jason Railton released this in 1984 he would have either been revered as a programming god, or burned at the stake as a witch." Einar Saukas would be right beside him on the pyre...
PMSL I used the colour clash to judge when to jump in MANIC MINER:)
So it's an ingenious feature of the good old and (not so) humble Speccy!
That per-scanline color switch technique is really cool. Gives the games a bit of an MSX-style look to them.
WoooW that scanline trick is pretty clever,with such trick in mind,i can imagine a homebrew version of donkeykong being waaay more colorful then the official version.
Great video! A nice combination of reminiscing about stuff I already knew, and being educated about stuff I didn't understand. Cheers, I have subscribed! :)
Thanks a lot! I'm glad you enjoyed it!
The American ZX Spectrum clone Timex Sinclair 2068 actually had the ability to switch to a high colour mode using an OUT command giving it a full-screen 8x1 colour attribute grid. Much like the Oric-1 and Atmos. Although I do not believe it was ever really exploited as the software base was very limited due to incompatibility with the ZX Spectrum Roms.
Wow...those per scanline colour effects remind me of DLIs on the Atari 8 bit computers...ah, great days. Computers these days are immensely powerful, but so much of their power is wasted. Personally, I like to see what I can do with 4mhz microchip PICs and such.
This is such a great video! Thanks for uploading!
I went from my dad's BBC micro to my own spectrum and discovered attribute clash straight away. I'm sure I saw some demos that didn't do it..,,😊❤️
Amazing video, love this sort of stuff!
Just imagine if homebrew versions of games could take advantage of this smart cool color swapping technic to make games look more closer to it’s arcade counterpart😁
I love speccy colour clash!
Great simple explanation 👍🏻 subbed
This was brilliant, thanks.
Thank you!
Is it weird that 3:52 got the Nirvana classic "Heart Shaped Box" stuck in my head (not that I'm complaining)?
Love this series
I wonder why they never came up with techniques like this back in the 80's.Judging by the size of Spectrum game library, there were A LOT of developers working with the machine, surely some of them were top-notch specialists.
Modern Dev tools weren't all there yet and documentation of things like the z80's undocumented instuctions, while often understood by a few, weren't commonplace.
Techniques get around the colour limitations ? I think a number of them used a good chunk of CPU time. Also memory requirements shoot up.
@@SerBallister You can't change the number of colours, but with careful synchronization you can change them on different scanlines.
You can see early uses of the trick on the title screen of Spectum Uridium, when it was called "the rainbow processor".
With modern tools and knowledge of the machine it was wrangled into the Nirvana engine, which finds a happy medium that doesn't consume *too* much processor time, but offers smaller attributes than the original 8*8 colour cells, allowing for the more detailed graphics seen in, for example, "El Stompo" and "Stormfinch"
I still own a fantiastic book pubblished on 1985 called "Advanced Machine Language for ZX Spectrum" by David Webb where an entire chapter was dedicated to illustrate the technique to achive hi-rsolution color using interrupts.
Because most devs back then were working to deadlines as a job so they didn't have time, and the folk who come up with the new techniques today have almost four decades of research and experience as a resource. It's like asking why cave men didn't just invent vaccines. Things need time to develop.
Fantastic!
I can't deny that the colour pallette on the Speccy was unique, but I absolutely detested it as a young lad. My mate had a c64, I had a cpc 464 and my other mate had a zx Speccy. I used to hate going round to the Speccy house.
Yeah I see what you mean, I had a Speccy and I loved it despite it's palette, not because of it!
Matter of taste, yes. But I always thought, what a nightmarish colors C64 got! )))
I was always jealous of computers that had brown, but I otherwise quite liked the rest of the choice in its palette
WOW! Great video. I must remember to check out that engine, any idea where I could get a copy? (or contact the author)
Criminally under subbed.
Not totally sure but I think timex2068 (us speccy) has an 8x1 mode assume similar to bifrost results.
David Webb published a book through Melbourne House back in 1984 that had code that did a lot of this colour management - it’s online here... computerarchive.org/files/comp/books/ZX%20spectrum/AdvancedSpectrumMachineLanguage.pdf All good stuff !
Ula+/spectra interlaced now adds Timex hi colour and 2x2 or 4pixel attributes c fb...
I wonder in 30 years time, they find a way of getting the same video power out of a ATI Rage 128 as a AMD Radeon R7 card.
@Sharopolis did you use a ZX Spectrum converter on your opening logo?
You can't beat a bit of bleeding colour clash
Is anybody pushing the QL these days like tbe spec ?
From what I can gather the short answer is no, but I'd love to be proved wrong!
have a look at karnov and popeye, they do well with the colours, but i forget how they did it
Large, carefully constructed graphics that could be moved at the attribute level than the pixel.
I wonder why ZX-Spectrum 128 still had colour clash issues? Shouldn't it have enough RAM to store all the color information?
It had the extra RAM, but it also had the same ULA as the 48k Spectrum.
Some of the American versions of the ZX Spectrum used the extra RAM and an updated ULA to generate two extra screen modes. One with twice the horizontal resolution, in two colours; and one with the standard resolution but with colour cells that are 8 pixels wide, but only 1 pixel high.
Strangely, virtually no commercially released software was released that used either of these modes.
mmh. Colour clash is technically a problem on any system that has a palette specified independently for small regions of the background (eg tiles/characters), but the Spectrum seems to really suffer for it.
And of course, the more colours you get per tile, the easier it is to hide.
On top of that, it's generally less obvious of a problem when there are independent hardware sprites that don't directly interact with the background.
I think the reason it's so obvious on the Spectrum is that it has no hardware sprites, so you have to draw them using software techniques ON the background.
And there's only 2 colours per tile, so you run into problems really quickly unless your entire screen is 2 colours at most.
Attribute clash for neighbouring tiles is much easier to disguise with careful tile design.
And again, something like a 16 bit console with 15 colours per tile can hide this exceptionally well without much trouble, even though technically, attribute clash is still possible even here, just... Not very likely.
aparently there is bright black, you can't see it on CRT
I've witnessed it on modern flat panels and SpecEmu can emulate it
I assume that's related to NTSC video signals (PAL doesn't work in the same way) where there's 'black' and there's a reference level that's darker than black.
On HDMI monitors you often find there's an option to use a 0-255 input range (Monitor standard), or a 16-235 range (television standard). The values outside the television range are considered invalid on a television, though modern displays don't care.
But older ones do...
That may not actually be the reason, but it seems like it would be the underlying cause...
Speky forms its colors by applying maximum signal voltage to its RGB wires (signal is either 0v or 3.3V, if memory doesn't slip me). The halftones are accomplished by pulling those down to about 2V (through a simple pulldown resistor).
Black is accomplished by all three channels being 0.0V, regardless whether it is pulled down or not.
If your blacks are different shades of grey it means your GND bus is noisy and you have to re-cap your computer. Do it - you shall also improve the sound and stability of the device.
Attribute clash cpc now has v9990...
Time to update this afternoon Old Tower and gluf did came out: now we have multicolor And scrolling!
Hurray for RetroSouls! 💜💜💜
Black is not just black look at out on a limb in jaw inverse black?
First time I hear attributes pronounced as ah-tributes. Cool though!
It's how I'd pronounce it too (West Midlands, UK).
They're pronounced the same but are accented differently (AT-tri-butes, at-TRI-butes).
Severed survival
This is the main reason i went for acorn electron instead of the spectrum. Those colours are just horrible.
The Spectrum has been updated to the ZX Spectrum Next and has had 2 kickstarters target smashed and can still play original software. The Acorn Electron disappeared without a trace.
@@rwentfordable I hope they fixed the horrible colours this time round.
I actually love the palette as it's distinctive, but the clash I could just never get past.
@@dtz1000 Original ZX Spectrum games will still have color clash as they run on ZX Spectrum emulation, but games programmed for the Next won't have it, as its new graphics modes are on par with an Amiga.
@@rwentfordableThe electron still has hardware and software being developed for it all the time. It's no more sunk without a trace than the spectrum has. If anything the 8bit Acorn community is more active in terms of hardware addons than most retro platforms out there. Occasionally some of its developments leak to other platforms, like Hogglet's rgb2hdmi which has become very popular in the amiga community, or the domesday duplicator which being very enthusiastically being embraced by the laserdisc gaming community. Or pitube direct, which inspired the pistorm efforts for the amiga.
Ula+/spectra interlaced
would love to see some original speccy games tweaked with this. i wonder if it's feasible.
Ula+/spectra interlaced yes u can!
Obviously there was no way of doing these tricks back in 1984, people can do it now because they have knowledge of how to exploit the Spectrum that was accumulated over decades. Also, back in 1984 you couldn't waste years figuring out stuff, you didn't even have months usually; the market changed fast and developers had to keep up or get left behind, we only have this time now because the Spectrum isn't relevant anymore.
This technique was first outlined in 1985. A few commercial games used it, but mainly for static backgrounds and title screens. It was also used heavily in demos.
I played with this in the 80s. What I find really surprising is that the game window isn't limited to the top / top left. As I understand it (and how I did it) the only feasible way to do this is to wait for a timer interrupt, then wait for a few thousand clock counts, at which point the attribute /scan line, is at the top left of the screen. You are then free to change the attributes within the right timing. All this while you need to know exactly how many clocks have passed since the interrupt. So any code with conditionals is complicated, as you have to know how many cycles each instruction at each branch path takes. Once you've gone way down the screen you can stop changing the attributes and get on with the game logic. But you don't have very long until the next timer interrupt.
Colour clash never bothered me, still doesn't
Lucky you, I really hated it (and still do).
Me neither but I'm a little unusual I think, I can watch whole movies on phones, and not the nice new phones either. I don't mind monochrome either, but I hate the kind that has only two colors with no gradations between them; it removes all interesting contrasts from the image, and it's annoyingly common on the Spectrum.
i dont understand why they NEVER fixed that. when it comes to the hardware, back then i would be perfly fine if spectrum has a bigger price. the grapiics just looks horrible compared to the commandrore.