File Name: JSW jagged finger effect (demo)
File Submitter: Norman Sword
File Submitted: 29 Mar 2017
File Category: Other resourcesSystem: Sinclair
Original Author(s): Matthew Smith
Third Party Author(s): None - simple demo patch
In both Manic Miner and Jet Set Willy the screen is copied by a simple LDIR. This simple copy does also have one simple flaw. The look of this flaw can best be described by a jagged finger look. When a sprite is moving the LDIR screen update of the sprite is sometimes overtaken by the physical raster update. This is what causes the break up flicker of Willy as he moves around the screen. The breakup is dependent on the movement of the sprite and thus what part is being updated. E.g. the breakup is dependent on the difference between the old and new position of a sprite as the screen is updated. If Willy is static then no breakup will occur. The most noticeable breakup will occur when willy move diagonally up or down stairs.
The screen is physically updated from top to bottom, one raster line after the other. The LDIR instruction just copies one block of ram from one place to another and this copy does not follow the raster layout of the screen.
I have modified an original version of Jet Set Willy to have two distinct copy routines. These two copy routines alternate between a simple LDIR and a proper raster screen copy.
In this demo version (which will have problems with the end game due to the nature of the modification) the screen will alternate between the two differing methods of screen update
1) when the time ends in an odd number the screen will update with LDIR.
2) when the time is even the screen will update using a simple raster copy routine.
This demo is not stable and I do not know how long it will work till problems occur. Its purpose is to demonstrate a problem.