Date : Wed, 23 Aug 2000 10:04:56 +0100
From : "Rich Talbot-Watkins" <Richard_Watkins@...>
Subject: Firetrack scrolling
Hi there,
I turned on my Master the other night for the first time in ages, and thought
I'd have a quick go at reproducing the smooth scrolling used by Firetrack. I
don't actually own a copy of the game, so have only ever seen it running on an
emulator. Anyway, I thought I had a rough idea of how it works: it
effectively uses a colour interrupt just inside the top and bottom borders of
the screen to switch all colours to black above and below the displayed area,
and then modifies CRTC register 5 (scan line adjust) to move the displayed
screen position by single scanline amounts. The colour interrupts ensure that
the viewed screen area remains stationary.
Sadly I've had no luck in getting it to work: I don't seem to be able to get
R5 to move the screen down by as many as 7 scanlines, and I also get a
sizeable judder/screen roll when resetting R5 back to zero and using normal
hardware scrolling to adjust the screen start by 8 lines.
I was assuming R5 moves the screen in half-scanline (interlaced) units, so for
a pixel-by-pixel downwards scroll, I should have to start at 0, add 2 each
frame, and when I reach 16, R5 is reset to zero, and R12/R13 are adjusted for
a downwards hardware scroll.
Anyway, it is obviously rather more involved than this, so the question is:
does anyone know exactly how Nick Pelling achieved the effect in Firetrack?
Are there any other registers which need tweaking (R4? R3?) or is it a very
delicate timing issue? Or something else entirely? If anyone knows, I'd be
most grateful!
Cheers,
Rich (reliving old hacker days)
Rich Talbot-Watkins
Sony Computer Entertainment Europe, Cambridge.
Richard_Watkins@...