Thursday, February 12, 2026
Wednesday, February 11, 2026
Penetrator (ZX Spectrum) - Z80 Block Copy is slow
https://www.youtube.com/watch?v=-AvJFKq3gC4&t=461s
3 days ago (edited)
7:41 I played this game on the Timex-Sinclair 2068, which I purchased around the beginning of 1984 or the end of 1983. The TS2068 isn't necessarily compatible with Spectrum games, but it could have been a port. Maybe the sound was better because the 2068 has a sound chip.
If you did well, you got a fireworks show at the end. We see this in the video, but I thought it was better with sound.
I may have played with the keyboard, which is how I usually played games.
The barrier on level 5 appears to be the end of the game. I remember this now.
Given the hardware, I'm impressed with the scrolling. I was impressed in 1984 because the block memory copy on the Z80 processor is super slow, which is how you would scroll the entire screen, although I can think of some coding tricks to do a slightly faster memory move.
@chronologicallygaming
14 hours ago
Great memories—and you're spot on. The TS2068's AY sound chip really does give it an edge over the standard Spectrum beeper, so that fireworks ending absolutely would've hit harder with proper sound.
And yeah, Spectrum compatibility was always a bit of a gray area on the 2068—very possible this was a port or at least heavily adapted. Keyboard play makes total sense too; that's how a lot of us tackled these back then.
That level 5 barrier lining up with the end of the game matches what we're seeing, so your memory's right on target. And agreed on the scrolling: for Z80-era hardware, especially with block memory moves being so slow, it's genuinely impressive. You can tell the programmer knew a few clever tricks to squeeze out performance.
Thanks for sharing, John. This is exactly the kind of firsthand detail that brings these games to life.
@john2001plus
14 hours ago (edited)
@chr@c @chronologicallygaming I had a lot of Z80 programming experience. I got to do it again on the Gameboy Color. It is a little easier to program than the 6502, because it has more registers and instructions. However, the 6502 is about twice as fast per clock cycle. It was designed to be cheap and fast.
@john2001plus
3 hours ago (edited)
@chronologicallygaming The 16K video memory on the 2068 and Spectrum is contested memory, which means that the display chip has priority. If you try to access the video memory while the display is being generated, then the processor will freeze until the horizontal or vertical blanking period.
It is possible to swap memory banks in such a way that the vertical blank interrupt runs your code instead of ROM code. This is a trick I didn't know back in the 1980s, but it would be useful for running all the video memory writes in the vertical blanking period, avoiding any processor halt. (If most of the processor time is spent drawing to the screen anyway, such as my Diamond Mike game, then this trick might not help much.)
Unfortunately, BASIC code starts in the contested memory, which will affect the speed of BASIC programs. I have read that there is a piece of ROM code that you can call which will relocate BASIC to the top 32K memory, which is uncontested memory. This would make BASIC a little faster, but with less free space. I wish that this had been the default, but that code in the ROM exists for a reason, so maybe they expected some people to use it.
The problem with the Block Memory Copy is that it does too many steps for every byte moved. It moves a byte, increments two pointers, decrements a counter, and loops. This takes 21 clock cycles per byte. However, if you knew that you were going to move a fixed number of bytes, such as 32 bytes on a line, you could write code that would move 32 bytes without looping. Then you loop for each line you need to move.
You could take this idea to a more extreme level, where you move 256 bytes without looping, but it would take 1K of code. However, the computer has kilobytes to spare.
If you need to write the same bytes to a block of a memory, such as the clear screen command, you can temporarily hijack the Stack Pointer to do it faster. This only takes 5.5 clock cycles per byte. (I suspect that the BASIC clear screen command uses the slow block copy instruction, because it is not instantaneous.)
Wednesday, February 4, 2026
Friday, January 30, 2026
Why Do We Say "Sprites"?
https://www.youtube.com/watch?v=tTqfeJ2yJwE&t=100s
The word "Sprite" originally referred to fairies or spirits. Within games, a sprite is a 2D object that can move independently from the background. Your mouse cursor is a sprite.
It was obvious to me that "Space Invaders" did not have hardware sprites, because it moved the invaders one at a time instead of moving them all at once. This led to a reportedly unintentional bug that became a feature; as invaders were eliminated, the remaining invaders moved faster because there were fewer objects to move.
Two computers that I wrote games for in the 1980s did not have hardware sprites. This puts the game at a disadvantage because the code has to draw objects to the screen, which is technically difficult and burdens the CPU. This limits what an 8-bit computer without hardware sprites can do.
I wrote software to emulate hardware sprites on the Atari ST. Since it was a 16-bit computer, the extra computer power made this task easier. Once computers and game systems reached 32-bit, they usually didn't bother to include hardware sprites because the processors were powerful enough to draw anything they wanted to the screen.
Wednesday, January 28, 2026
Sunday, January 25, 2026
E4M5: They Will Repent
0 seconds ago
I was not liking this E4M5 map because of the apparent complexity. There are areas that have layered mazes, where you have to drop down to explore lower paths. This map seemed like a very confusing maze.
Part of the problem was with me; I tend to not study the map and just explore. However, after I finally carefully studied the map, I understood the different rooms much better. The big room on the left was what confused me the most. It has 5 entrances and 1 or 2 windows, making it look like a somewhat different room from each entrance.
There are only 2 secrets, which at first are hard to find, but once you learn where they are then the map is easy. The keys are also easy to get, and you don't even need the yellow key to finish if you jump through a window to the exit.
I've changed my mind. This is a brilliant map. The complexity might put people off at first, but it is not near as hard as it looks.
Wednesday, January 21, 2026
Penetrator (ZX Spectrum)
@john2001plus7 minutes ago
7:41 I played a game that looked similar to this on the Timex-Sinclair 2068. The TS2068 isn't necessarily compatible with Spectrum games, but it could have been a port. I think the sound was better. If you did well, it gave you a fireworks show at the end.
Friday, January 16, 2026
Wednesday, January 14, 2026
Tuesday, January 6, 2026
E1M7: Computer Station
After not playing Doom for at least a couple of decades, I have been alternating all the Doom and Doom II maps. I am averaging about two maps per day.
Doom II is about twice as complicated and twice as hard as Doom. Some maps take 45 minutes to get through. By comparison, "Knee Deep in the Dead" seems pretty trivial to finish. E1M7 might be the most complex map in the first episode, which makes it fun.
Because of the complexity and difficulty of Doom II, Doom feels like the better game, but Doom II has more replay value. It takes longer to master.
The 4th episode of Doom, Thy Flesh Consumed, which was released as part of "Ultimate Doom" in 1995, is more complex and more difficult than the original Doom episodes. The first three maps are very hard. It has Doom II difficulty without being too complicated, so it is my favorite.
Subscribe to:
Comments (Atom)
-
Quantum comes on my Arcade-1UP 10 in 1 Atari Arcade game. The problem is that the trackball doesn't feel sensitive enough for this game....
-
I wrote a BASIC game similar to "A Pair of Zippy Road Runners" on at least one 8 bit computer. I don't remember which one bu...
-
@john2001plus 37 minutes ago Fortress of Mystery can be quite fun. I started the level with only 5% health and minimal amo, but was able r...