diff --git a/dlowres_mode7/dlowres_flying.s b/dlowres_mode7/dlowres_flying.s index 58861547..066c5e10 100644 --- a/dlowres_mode7/dlowres_flying.s +++ b/dlowres_mode7/dlowres_flying.s @@ -31,7 +31,7 @@ flying_start: lda SET_GR ; graphics C050 lda LORES ; lores C056 lda TEXTGR ; mixset C053 - sta EIGHTYSTORE_OFF ; 80store C001 + sta SET80COL ; 80store C001 sta EIGHTYCOL ; 80col C00d lda AN3 ; AN3 C05E @@ -360,6 +360,7 @@ speed_loop: ;==================== draw_background: jsr draw_background_mode7 ; 6 +; jsr draw_background_mode7 ; 6 check_over_water: ; See if we are over water @@ -620,6 +621,8 @@ draw_background_mode7: ; not performance critical as this happens rarely dec DRAW_SKY ; usually 2 as we redraw both pages ; 5 + + bit PAGE0 lda #COLOR_BOTH_MEDIUMBLUE ; MEDIUMBLUE color ; 2 sta COLOR ; 3 lda #0 ; 2 @@ -639,8 +642,30 @@ sky_loop: ; draw line across screen bne sky_loop ; 3/2nt ;============= ; (23+63+(X*16))*5 - ; Draw Hazy Horizon + bit PAGE1 + lda #AUX_BOTH_MEDIUMBLUE ; MEDIUMBLUE color ; 2 + sta COLOR ; 3 + lda #0 ; 2 + ;=========== + ; 11 + +sky_loop2: ; draw line across screen + ldy #39 ; from y=0 to y=6 ; 2 + sty V2 ; 3 + ldy #0 ; 2 + pha ; 3 + jsr hlin_double ; hlin y,V2 at A ; 63+(X*16) + pla ; 4 + clc ; 2 + adc #2 ; 2 + cmp #6 ; 2 + bne sky_loop2 ; 3/2nt + ;============= + ; (23+63+(X*16))*5 + + ; Draw Hazy Horizon + bit PAGE0 lda #COLOR_BOTH_GREY ; Horizon is Grey ; 2 sta COLOR ; 3 lda #6 ; draw single line at 6/7 ; 2 @@ -650,6 +675,18 @@ sky_loop: ; draw line across screen jsr hlin_double ; hlin 0,40 at 6 ; 63+(X*16) ;=========== ; 63+(X*16)+14 + ; Draw Hazy Horizon + bit PAGE1 + lda #AUX_BOTH_GREY ; Horizon is Grey ; 2 + sta COLOR ; 3 + lda #6 ; draw single line at 6/7 ; 2 + ldy #39 ; 2 + sty V2 ; hlin Y,V2 at A ; 3 + ldy #0 ; 2 + jsr hlin_double ; hlin 0,40 at 6 ; 63+(X*16) + ;=========== + ; 63+(X*16)+14 + no_draw_sky: @@ -1038,6 +1075,15 @@ update_cache: ; 6 match: + ldy DISP_PAGE + beq mask_label + tay + and #$01 + cmp #$01 + tya + ror ; adjust for 80-column color + + mask_label: and #0 ; COLOR_MASK (self modifying) ; 2 diff --git a/dlowres_mode7/dlowres_mode7.dsk b/dlowres_mode7/dlowres_mode7.dsk index e65a5ffb..71de8f6f 100644 Binary files a/dlowres_mode7/dlowres_mode7.dsk and b/dlowres_mode7/dlowres_mode7.dsk differ diff --git a/dlowres_mode7/dlowres_zp.inc b/dlowres_mode7/dlowres_zp.inc index ec422f23..760386be 100644 --- a/dlowres_mode7/dlowres_zp.inc +++ b/dlowres_mode7/dlowres_zp.inc @@ -120,8 +120,8 @@ KEYPRESS EQU $C000 KEYRESET EQU $C010 ;; SOFT SWITCHES -EIGHTYSTORE_ON EQU $C000 -EIGHTYSTORE_OFF EQU $C001 +CLR80COL EQU $C000 ; PAGE0/PAGE1 normal +SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead EIGHTYCOL EQU $C00D SET_GR EQU $C050 SET_TEXT EQU $C051 @@ -129,9 +129,9 @@ FULLGR EQU $C052 TEXTGR EQU $C053 PAGE0 EQU $C054 PAGE1 EQU $C055 -LORES EQU $C056 -HIRES EQU $C057 -AN3 EQU $C05E +LORES EQU $C056 ; Enable LORES graphics +HIRES EQU $C057 ; Enable HIRES graphics +AN3 EQU $C05E ; Annunciator 3 PADDLE_BUTTON0 EQU $C061 PADDL0 EQU $C064 @@ -192,3 +192,6 @@ COLOR_BOTH_ORANGE EQU $99 COLOR_BOTH_LIGHTGREEN EQU $CC COLOR_BOTH_YELLOW EQU $DD COLOR_BOTH_WHITE EQU $FF + +AUX_BOTH_MEDIUMBLUE EQU $33 ; 0011 0011 +AUX_BOTH_GREY EQU $AA ; 1010 1010