3 ms·
I share the sentiment, being in the same situation. The principle is the same as the one producing colored strips in the BORDER, by changing the color really f
by TuringTest 8y ago
I share the sentiment, being in the same situation.
The principle is the same as the one producing colored strips in the BORDER, by changing the color really fast while the TV beam is jumping from one row to the next.
It was easy with the border, as there was a single bit defining the color (the loading routines changed it with the current value read from the tape, that's why you got the crazy border strips, and these were synchronized with the sound).
To change the main screen color though, you need to re-write the contents of the screen memory, really fast. With the limited development tools at the time, I can see how nobody got to create a graphic library as powerful as Nirvana or BiFrost.
There were people who thought of doing it, though. I remember seeing a demo which painted 1-pixel-high horizontal strips in different colors across the whole screen, syncing the border and the screen. My mind certainly was blown :-)
- feintruled 8y agoThat's why I thought similar tricks had not been done before, as 'really fast' and Spectrum are not terms normally seen together :-) Perhaps it is not the raw speed but the extreme precision of the timings that were the limiting factor. I can see how the move to developing through emulators would help there, certainly. A truly amazing achievement!
- TuringTest 8y agoThe Z80 had bulk memory write instructions that could be used to set contiguous memory addresses with the same value. You just needed to write the 32 bytes of character attributes, so the change is doable while the TV ray is jumping to the next scan line. The timing was solved by setting interruptions synchronized to that instant.