Smooth Scrolling on the ZX Spectrum (Part 1)
The Spectrum screen handling is not the most straightforward and, with lack of hardware sprites, scrolling, and an awkward layout, can be intimidating at first. This post details how I managed to scroll a 24×24 character block of tiles on the Spectrum within one VBLANK interval. The scroll routine employs a number of tricks to achieve this by: Using the stack pointer (SP) to fetch tile data and push it to the screen. Using self-modifying …