; ----------------------------------------------------------- ; slide3.asm - OUR SECOND GAME: IS COMING ; raster bars running on the border only, drop-shadowed ; big letters in the middle ; ----------------------------------------------------------- s3_init: jsr clear_screen +prtext 4, 12, WHITE, txt_secondgame, txt_secondgame_end - txt_secondgame +prbig 8, 3, DGREY, big_iscoming, 9 ; drop shadow first (+1 row, +1 col) +prbig 7, 2, YELLOW, big_iscoming, 9 ; then the letters on top of it +prtext 15, 4, WHITE, txt_pointclick, txt_pointclick_end - txt_pointclick +prtext 18, 7, LGREY, txt_steam, txt_steam_end - txt_steam lda #0 sta s3phase rts s3_update: inc framectr lda framectr ; bars scroll one step every 2nd frame and #1 bne s3_hold inc s3phase s3_hold: ; chase the beam: every 4th raster line from RAS_BARTOP down, ; set the BORDER color from the cyclic 64-entry bar table; ; the background stays black so the text remains readable lda #RAS_BARTOP sta s3line ldx #0 ; bar step counter s3_bar: lda s3line s3_wait: cmp RASTER bne s3_wait txa clc adc s3phase and #63 tay lda rastbl,y sta BORDER lda s3line clc adc #4 sta s3line inx cpx #BAR_STEPS bne s3_bar lda #BLACK ; below the bar area: back to black sta BORDER s3_wbot: ; keep the one-call-per-frame contract lda RASTER cmp #RAS_BOTTOM bne s3_wbot rts ; ---- data ---- rastbl: ; raster bar colors (64 entries, cyclic): ; red, green, blue, grey ramps !byte $00, $00, $02, $02, $08, $08, $0a, $01 !byte $0a, $08, $08, $02, $02, $00, $00, $00 !byte $00, $00, $05, $05, $0d, $0d, $07, $01 !byte $07, $0d, $0d, $05, $05, $00, $00, $00 !byte $00, $00, $06, $06, $0e, $0e, $03, $01 !byte $03, $0e, $0e, $06, $06, $00, $00, $00 !byte $00, $00, $0b, $0b, $0c, $0c, $0f, $01 !byte $0f, $0c, $0c, $0b, $0b, $00, $00, $00 txt_secondgame: !scr "our second game" txt_secondgame_end: big_iscoming: !scr "is coming" txt_pointclick: !scr "a new point and click adventure" txt_pointclick_end: txt_steam: !scr "will be available on steam" txt_steam_end: ; ---- variables ---- s3phase: !byte 0 ; raster bar scroll offset s3line: !byte 0 ; current raster line while drawing bars