From a3c4beea489a378bcbeac12852498a476b65ada0 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 17 Dec 2017 23:40:52 -0500 Subject: [PATCH] mode7_demo: paramaterize scrolling code --- asm_routines/hlin_clearscreen.s | 33 +++++++++++++- mode7_demo/mode7_demo.s | 78 ++++++++++++++++++++++----------- 2 files changed, 84 insertions(+), 27 deletions(-) diff --git a/asm_routines/hlin_clearscreen.s b/asm_routines/hlin_clearscreen.s index cce402d0..46dab7b6 100644 --- a/asm_routines/hlin_clearscreen.s +++ b/asm_routines/hlin_clearscreen.s @@ -24,6 +24,31 @@ clear_screens: rts + +clear_screens_notext: + ;=================================== + ; Clear top/bottom of page 0 + ;=================================== + + lda #$0 + sta DRAW_PAGE + jsr clear_top + lda #$0 + jsr clear_bottom_a + + ;=================================== + ; Clear top/bottom of page 1 + ;=================================== + + lda #$4 + sta DRAW_PAGE + jsr clear_top + lda #$0 + jsr clear_bottom_a + + rts + + ;================================ ; hlin_setup ;================================ @@ -156,7 +181,7 @@ clear_top_a: sta COLOR - ; VLIN Y, V2 AT A + ; HLIN Y, V2 AT A lda #40 sta V2 @@ -177,8 +202,14 @@ clear_top_loop: rts + ;============================= + ; clear_bottom + ;============================= clear_bottom: lda #$a0 ; NORMAL space + +clear_bottom_a: + sta COLOR lda #40 diff --git a/mode7_demo/mode7_demo.s b/mode7_demo/mode7_demo.s index bde9fca9..cd6e2d33 100644 --- a/mode7_demo/mode7_demo.s +++ b/mode7_demo/mode7_demo.s @@ -4,8 +4,9 @@ ; Clear screen and setup graphics ;================================ - jsr clear_screens ; clear top/bottom of page 0/1 jsr set_gr_page0 + bit FULLGR + jsr clear_screens_notext ; clear top/bottom of page 0/1 lda #$4 sta DRAW_PAGE @@ -44,7 +45,18 @@ demo_loop: ; lda #255 ; jsr WAIT - jsr scroll + + lda #>deater_scroll + sta INH + lda #deater_scroll - sta INH - lda #