Monday, September 30, 2024

Atari 5200 Pack-in Game! Super Breakout!

Pushing the Limits of the 16K ZX Spectrum - The lowest low spec Speccy!



@john2001plus
6 minutes ago (edited)
The Spectrum and the Timex Sinclair 2068 have a weakness in the first 16K of RAM is interfaced through the video chip making it contested RAM.  The processor can't access this 16K bank while the display is being drawn to the screen.  That means any machine code in the first 16K of RAM will run slower than machine code in the upper 32K of RAM.  BASIC code starts in the first 16K so it has the same weakness.  It would have been smarter to have the video RAM mapped to the top 16K instead of the first 16K of RAM, but that would have been trickier for models that only have 16K of RAM.  They would have to figure out where the RAM was.

Given that the first 16K bank of RAM has this problem, it would have been smart to start the BASIC user RAM at the second 16K bank.  This would only show 32K RAM free, but the unused video memory could be used to store graphics or data.  Apparently, somebody thought of this.  In the 2068 technical manual available online, I saw a function call in the ROM that would relocate the BASIC code to the top 32K of memory.  This would give less free memory but make the BASIC code run faster.

Saturday, September 28, 2024

Games That Push the Limits of the NES With Extra RAM

Take a look at Gauntlet on the NES.  The cartridge has extra RAM to store a larger playfield.

The NES doesn't have enough sprites for Gauntlet.  

My problem with playing the game is that it is obvious that the enemies are being animated with background tiles and not sprites.  This means that they can only move 8 or 16 pixels at a time.  It doesn't look terrible but it does look a bit odd.

However, if I were writing the same game for something like the 2068 computer that doesn't have sprites then I would have to do the same thing.  This is common for 2068/Spectrum games.  My Diamond Mike game draws the entire screen on every frame, which is costly and makes the frame rate low, so it scrolls 16 pixels at a time.  This works because the game is puzzle-like where the character is moving from one square to the next.