View Single Post
Old 03 July 2017, 14:57   #16
Bo Bo

Retro1234's Avatar
Join Date: Jun 2006
Location: 5150
Posts: 3,988
Originally Posted by adrazar View Post
Good news! Turns out there is an easy way to prevent AMOS from clipping bobs along the horizontal edges (at least for the simple testing program I made):

Doke Screen Base+76,NEW_SCREEN_WIDTH

By chosing NEW_SCREEN_WIDTH larger than the original (real) screen width, the automatic Bob clipping is delayed until a Bob reaches x-coordinate NEW_SCREEN_WIDTH. Thus one may corkscrew scroll horizontally as far as the largest value of NEW_SCREEN_WIDTH permits (presumably $FFFF, which would be 204 x 320 screens wide).

I have not tested this properly yet, meaning there might be any sort of trouble here that I'm unaware of. I should also say that the address Screen Base+76 was discovered through inspection rather than reading the documentation (if such a thing exists). But it seems to work generally, at least the address remains static for various choices of colour depths and screen sizes.

The value written to Screen Base+76 should directly affect the value returned by Screen Width.
Retro1234 is offline  
Page generated in 0.04111 seconds with 11 queries