Added left and right buffers for over scroll
This commit is contained in:
parent
78b0881d22
commit
160b78f30a
|
@ -6,14 +6,19 @@ BACKGROUND_COLOR equ 4
|
|||
BACKGROUND_COLOR equ 3
|
||||
endif
|
||||
|
||||
FONT_WIDTH equ 8
|
||||
FONT_HEIGHT equ 8
|
||||
SCREEN_WIDTH equ 320
|
||||
SCREEN_HEIGHT equ 256
|
||||
SCREEN_WIDTH_BYTES equ (SCREEN_WIDTH/8)
|
||||
SCREEN_WIDTH_WORDS equ SCREEN_WIDTH_BYTES/2
|
||||
BITPLANE_WIDTH_BYTES equ (SCREEN_WIDTH_BYTES+2)
|
||||
BITPLANE_WIDTH_WORDS equ (SCREEN_WIDTH_WORDS+1)
|
||||
FONT_WIDTH equ 8
|
||||
FONT_HEIGHT equ 8
|
||||
SCREEN_WIDTH equ 320
|
||||
SCREEN_HEIGHT equ 256
|
||||
SCREEN_WIDTH_BYTES equ (SCREEN_WIDTH/8)
|
||||
SCREEN_WIDTH_WORDS equ SCREEN_WIDTH_BYTES/2
|
||||
LEFT_SCREEN_BUFFER equ 16
|
||||
RIGHT_SCREEN_BUFFER equ 16
|
||||
LEFT_SCREEN_BUFFER_BYTES equ LEFT_SCREEN_BUFFER/8
|
||||
RIGHT_SCREEN_BUFFER_BYTES equ RIGHT_SCREEN_BUFFER/8
|
||||
BITPLANE_WIDTH equ SCREEN_WIDTH+LEFT_SCREEN_BUFFER+RIGHT_SCREEN_BUFFER
|
||||
BITPLANE_WIDTH_BYTES equ BITPLANE_WIDTH/8
|
||||
BITPLANE_WIDTH_WORDS equ BITPLANE_WIDTH_BYTES/2
|
||||
|
||||
if NUM_COLORS==64
|
||||
SCREEN_BIT_DEPTH equ 6
|
||||
|
|
|
@ -8,7 +8,7 @@ SwitchBuffers:
|
|||
move.l offscreen,a0
|
||||
move.l onscreen,offscreen
|
||||
move.l a0,onscreen
|
||||
moveq.l #0,d0
|
||||
moveq.l #LEFT_SCREEN_BUFFER_BYTES,d0
|
||||
move.l a0,a1
|
||||
lea copperListBplPtr,a0
|
||||
jsr PokeBitplanePointers
|
||||
|
|
|
@ -16,11 +16,11 @@ Init:
|
|||
move.w #((RASTER_Y_STOP-256)<<8)|(RASTER_X_STOP-256),DIWSTOP(a6)
|
||||
|
||||
move.w #(RASTER_X_START/2-SCREEN_RES),DDFSTRT(a6)
|
||||
move.w #(RASTER_X_START/2-SCREEN_RES)+(8*((BITPLANE_WIDTH_WORDS)-1)),DDFSTOP(a6)
|
||||
|
||||
move.w #(RASTER_X_START/2-SCREEN_RES)+(8*((SCREEN_WIDTH/16)-1)),DDFSTOP(a6)
|
||||
|
||||
move.w #(SCREEN_BIT_DEPTH<<12)|COLOR_ON,BPLCON0(a6)
|
||||
move.w #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH-BITPLANE_WIDTH_BYTES,BPL1MOD(a6)
|
||||
move.w #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH-BITPLANE_WIDTH_BYTES,BPL2MOD(a6)
|
||||
move.w #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH-SCREEN_WIDTH_BYTES,BPL1MOD(a6)
|
||||
move.w #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH-SCREEN_WIDTH_BYTES,BPL2MOD(a6)
|
||||
|
||||
;; install copper list, then enable dma and selected interrupts
|
||||
lea copperList,a0
|
||||
|
|
|
@ -75,7 +75,7 @@ MainLoop:
|
|||
|
||||
jsr SwitchBuffers
|
||||
|
||||
cmp.l #(BITPLANE_WIDTH_WORDS*16)-1-((endText-text)*FONT_WIDTH),xpos
|
||||
cmp.l #(BITPLANE_WIDTH)-1-((endText-text)*FONT_WIDTH),xpos
|
||||
ble .notRightEdge
|
||||
move.l direction,d0
|
||||
muls.w #-1,d0
|
||||
|
|
Loading…
Reference in New Issue