diff --git a/demos/second/part20_credits/credits.s b/demos/second/part20_credits/credits.s index 82e9cafd..915afbe1 100644 --- a/demos/second/part20_credits/credits.s +++ b/demos/second/part20_credits/credits.s @@ -67,46 +67,103 @@ load_loop: jsr zx02_full_decomp jsr wait_until_keypress - ; nuts4 logo - lda #nuts_pg_data + lda #>summary1_data sta zx_src_h+1 - lda #$20 - jsr zx02_full_decomp - jsr wait_until_keypress - - ; nuts4 logo - - lda #nuts_blue_data - sta zx_src_h+1 - lda #$20 - jsr zx02_full_decomp - jsr wait_until_keypress - - - ; sample logo - - lda #sample_data - sta zx_src_h+1 - - lda #$20 - + lda #$40 jsr zx02_full_decomp - jsr wait_until_keypress + lda #0 + jsr hgr_page1_clearscreen + lda #0 + sta COUNT + +credits_logo_outer_outer: + ldx COUNT + lda logo_x_offsets,X + sta clo_smc1+1 + lda logo_y_offsets,X + sta clo_smc2+1 + + ldx #63 +credits_logo_outer: + + lda hposn_low+16,X + clc + adc #15 + sta OUTL + + ; setup high + + lda hposn_high+16,X + sta OUTH + + stx XSAVE + txa + clc +clo_smc2: + adc #0 + tax + + lda hposn_low,X + clc +clo_smc1: + adc #0 + sta INL + + lda hposn_high,X + eor #$60 + sta INH + ldx XSAVE + + ldy #9 +credits_logo_inner: + lda (INL),Y + sta (OUTL),Y + dey + bpl credits_logo_inner + + dex + bpl credits_logo_outer jsr wait_until_keypress + inc COUNT + lda COUNT + + cmp #12 + bne skip_summary2 + + lda #summary2_data + sta zx_src_h+1 + lda #$40 + jsr zx02_full_decomp + lda #0 +skip_summary2: + cmp #21 + bne credits_logo_outer_outer + + + ;======================= + ; scroll job + ;======================= + ldx #0 stx FRAME @@ -152,12 +209,27 @@ no_update_message: jsr hgr_vertical_scroll - - - - jmp do_scroll + + +logo_y_offsets: + .byte 0,0,0,0 + .byte 64,64,64,64 + .byte 128,128,128,128 + .byte 0,0,0,0 + .byte 64,64,64,64 + .byte 128 + +logo_x_offsets: + .byte 0,10,20,30 + .byte 0,10,20,30 + .byte 0,10,20,30 + .byte 0,10,20,30 + .byte 0,10,20,30 + .byte 0 + + .align $100 .include "../wait_keypress.s" .include "../zx02_optim.s" @@ -175,13 +247,13 @@ fc_iipix_data: nuts4_data: .incbin "graphics/nuts4.hgr.zx02" -nuts_pg_data: - .incbin "graphics/nuts_pg.hgr.zx02" -nuts_blue_data: - .incbin "graphics/nuts_blue.hgr.zx02" +summary1_data: + .incbin "graphics/summary1_invert.hgr.zx02" +summary2_data: + .incbin "graphics/summary2_invert.hgr.zx02" -sample_data: - .incbin "graphics/credits_2.hgr.zx02" +;sample_data: +; .incbin "graphics/credits_2.hgr.zx02" apple_message: .byte "Apple ][ Forever" diff --git a/demos/second/part20_credits/graphics/Makefile b/demos/second/part20_credits/graphics/Makefile index 6b3adc70..36d480b7 100644 --- a/demos/second/part20_credits/graphics/Makefile +++ b/demos/second/part20_credits/graphics/Makefile @@ -6,7 +6,9 @@ PNG2GR = ../../../../utils/gr-utils/png2gr all: nuts4.hgr.zx02 nuts_pg.hgr.zx02 nuts_blue.hgr.zx02 \ fc_grey.hgr.zx02 fc_iipix.hgr.zx02 \ - credits_2.hgr.zx02 + credits_2.hgr.zx02 \ + summary1.hgr.zx02 summary2.hgr.zx02 \ + summary1_invert.hgr.zx02 summary2_invert.hgr.zx02 #### @@ -57,6 +59,41 @@ fc_iipix.hgr: fc_iipix.png fc_iipix.hgr.zx02: fc_iipix.hgr $(ZX02) fc_iipix.hgr fc_iipix.hgr.zx02 +#### + +summary1.hgr: summary1.png + $(PNG_TO_HGR) summary1.png > summary1.hgr + +summary1.hgr.zx02: summary1.hgr + $(ZX02) summary1.hgr summary1.hgr.zx02 + +#### + +summary2.hgr: summary2.png + $(PNG_TO_HGR) summary2.png > summary2.hgr + +summary2.hgr.zx02: summary2.hgr + $(ZX02) summary2.hgr summary2.hgr.zx02 + +#### + +summary1_invert.hgr: summary1_invert.png + $(PNG_TO_HGR) summary1_invert.png > summary1_invert.hgr + +summary1_invert.hgr.zx02: summary1_invert.hgr + $(ZX02) summary1_invert.hgr summary1_invert.hgr.zx02 + +#### + +summary2_invert.hgr: summary2_invert.png + $(PNG_TO_HGR) summary2_invert.png > summary2_invert.hgr + +summary2_invert.hgr.zx02: summary2_invert.hgr + $(ZX02) summary2_invert.hgr summary2_invert.hgr.zx02 + + + + #### diff --git a/demos/second/part20_credits/graphics/summary1.png b/demos/second/part20_credits/graphics/summary1.png new file mode 100644 index 00000000..b8c1c2e8 Binary files /dev/null and b/demos/second/part20_credits/graphics/summary1.png differ diff --git a/demos/second/part20_credits/graphics/summary1_invert.png b/demos/second/part20_credits/graphics/summary1_invert.png new file mode 100644 index 00000000..03a5a19d Binary files /dev/null and b/demos/second/part20_credits/graphics/summary1_invert.png differ diff --git a/demos/second/part20_credits/graphics/summary2.png b/demos/second/part20_credits/graphics/summary2.png new file mode 100644 index 00000000..757a2810 Binary files /dev/null and b/demos/second/part20_credits/graphics/summary2.png differ diff --git a/demos/second/part20_credits/graphics/summary2_invert.png b/demos/second/part20_credits/graphics/summary2_invert.png new file mode 100644 index 00000000..34210ec0 Binary files /dev/null and b/demos/second/part20_credits/graphics/summary2_invert.png differ diff --git a/demos/second/qload2.s b/demos/second/qload2.s index 866dbd32..f0e67915 100644 --- a/demos/second/qload2.s +++ b/demos/second/qload2.s @@ -170,7 +170,7 @@ sector_array: .byte 0, 0, 0 ; MUSIC2, THREED, CREDITS length_array: - .byte 32, 128, 64 ; MUSIC2, THREED, CREDITS + .byte 32, 128, 80 ; MUSIC2, THREED, CREDITS .include "wait.s"