Fix for patchy tiled backdrops on changing to non EX1/EY1 mode
Pinboard keeps a note of the mode (from OS_Byte 135) that the backdrop sprite tile was last cached in, to avoid having to recache it all the time. However, the comparison fails when the mode specifier block (ie. when OS_Byte 135 is not reporting a numeric screen mode) is static since although the mode might have changed Pinboard would not think it had and hence not recache the sprite. The result is a patchy desktop, for example changing from EX1/EY1 to EX0/EY0 would leave a quadrant arrangement of 1 redrawn patch and 3 not redrawn. Backdrop.s: Line 151 onwards, when a mode specifier is used, build a magic mode word combining EX EY and BPP (the 3 parameters the cache sprite function cares about), as a stronger check. Tail.s: Line 130 onwards, calculate the iconbar height properly (previously used 134 pixels for EY0 modes, 1 too high, leading to a thin strip of background colour above the iconbar. Other changes - Use sprite area offset names from Hdr:Sprites rather than magic numbers - Use OS_Byte reasons from Hdr:OsBytes - Use "file.s" style names in LNK commands - Move BadOptions/NotASprite error blocks to avoid range error when assembling debug versions - true and false for objasm {TRUE} and {FALSE} Version 0.95. Tagged as 'Pinboard-0_95'
Showing
Please register or sign in to comment