diff --git a/024.simple_text/constants.i b/024.simple_text/constants.i index 7d62df3..69209f8 100644 --- a/024.simple_text/constants.i +++ b/024.simple_text/constants.i @@ -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 diff --git a/024.simple_text/image.s b/024.simple_text/image.s index b624fb6..e3acdca 100644 --- a/024.simple_text/image.s +++ b/024.simple_text/image.s @@ -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 diff --git a/024.simple_text/init.s b/024.simple_text/init.s index 632d9bd..30ff101 100644 --- a/024.simple_text/init.s +++ b/024.simple_text/init.s @@ -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 diff --git a/024.simple_text/simple_text.s b/024.simple_text/simple_text.s index 377dbef..7691b2e 100644 --- a/024.simple_text/simple_text.s +++ b/024.simple_text/simple_text.s @@ -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