Friday, February 20, 2026

The Incredible Evolution of Computers

I like the video.  Unfortunately, it is just the first part of four.

https://www.youtube.com/watch?v=aa6YISbAJEA

The first microprocessor, the 4-bit Intel 4004, was created for Japanese companies that wanted to make the first electronic calculators.  I have seen 4-bit devices used for cheap electronics, like low cost chess playing computers.

In the first half of the 1980s, 8-bit computers were the norm, with the Apple II costing up to $1,300, and the IBM models costing considerably more.  The Atari 800 started at $1,000, and the Commodore 64 started at $595, which adjusted for inflation would cost $1900 today.

Sinclair, along with Timex, were offering budget models that created a dedicated fan base.

In the second half of the 1980s, the industry was moving to 16-bit, so the 8-bit models were being heavily discounted.  The C64 sold for $100 or less.

The 1990s saw a slow transition to 32-bit computers, and the 2000s saw a slow transition to 64-bit.  There is almost no reason to go to a higher number of bits, except for graphics cards that range from 64-bit to 384-bit.

Thursday, February 19, 2026

Exploring Doom's Unholy Cathedral - An Unholy Mess?

https://www.youtube.com/watch?v=zlA0-hju5UY

@john2001plus
0 seconds ago
I really like the map. The teleport system is annoying, but once you learn where they go, the map has many rewards.  

Tuesday, February 17, 2026

Doom 2's Most FRUSTRATING Level


@john2001plus
0 seconds ago
The key to The Citadel is the room with the five transporters arranged in a square, with one in the middle. The four corner transporters take you to one of the four corners of the citadel, most of which you have to visit. Once I understood this, navigation became easier. Initially, the map seemed like a confusing maze with no clear purpose. It still feels that way, but it is not as hard to navigate once you understand the layout.

I start the map by running around the outside, killing as many enemies as I can. I try to take out the monsters in the windows; otherwise, I will have to deal with them later when I am inside. I find the outside more interesting than the inside.

Although the map at first seems like a poor level, I am kind of glad it is in the game. There are enough interesting things about it to make it worth playing.

In general, Doom II maps tend to be larger, more confusing, and filled with more ambushes. This can be frustrating, but it also offers more of a challenge.

Wednesday, February 11, 2026

Penetrator (ZX Spectrum) - Z80 Block Copy is slow

https://www.youtube.com/watch?v=-AvJFKq3gC4&t=461s


@john2001plus
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.)

The Incredible Evolution of Computers

I like the video.  Unfortunately, it is just the first part of four. https://www.youtube.com/watch?v=aa6YISbAJEA The first microprocessor, t...