diff --git a/graphics/gr/thinking/thinking.s b/graphics/gr/thinking/thinking.s index e6d53997..3a99f970 100644 --- a/graphics/gr/thinking/thinking.s +++ b/graphics/gr/thinking/thinking.s @@ -16,6 +16,7 @@ thinking: jsr SETGR ; set lo-res 40x40 mode ; A=$D0 afterward +big_loop: ; COL value doesn't matter? @@ -37,6 +38,11 @@ yloop: txa jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear) + lda GBASH +draw_page_smc: + adc #0 + sta GBASH + lda COL and #$7 tay @@ -56,8 +62,6 @@ xloop: inc COL inc XSTART - inc XSTART - dec XSTOP dec XSTOP inc YSTART @@ -66,6 +70,34 @@ xloop: cmp #10 bne box_loop + ;========================== + ; done drawing rainbow box + ;========================== + +flip_pages: + + ldy #1 + lda draw_page_smc+1 ; DRAW_PAGE + bne done_page + dey +done_page: + ldx PAGE1,Y ; set display page to PAGE1 or PAGE2 + + eor #$4 ; flip draw page between $400/$800 + sta draw_page_smc+1 ; DRAW_PAGE + + + + lda #255 + jsr WAIT + + ;=================== + ; increment color + ; after loop we are +10 + ; so -1 actually means increment 1 (because we mod 8 it) + dec COL + + jmp big_loop ;0 1 2 3 3