diff --git a/res/tree.bin b/res/tree.bin new file mode 100644 index 0000000..174a767 Binary files /dev/null and b/res/tree.bin differ diff --git a/src/main.asm b/src/main.asm index d596b4b..4362bb1 100644 --- a/src/main.asm +++ b/src/main.asm @@ -171,13 +171,53 @@ loading_feedback SUBROUTINE lda #$f2 sta $325 + ; wait for SPACE .chrin: jsr $ffe4 cmp #$20 bne .chrin + jsr copytree + rts +; draws a Christmas tree shamelessly copied from another demo +copytree SUBROUTINE + lda #tree_start + sta srcPointer + 1 + + lda #$00 + sta dstPointer + lda #$1e + sta dstPointer + 1 + + ldy #0 +.loop: + lda (srcPointer),y + sta (dstPointer),y + + inc srcPointer + bne .noinc1 + inc srcPointer + 1 +.noinc1: + + inc dstPointer + bne .noinc2 + inc dstPointer + 1 +.noinc2: + + lda srcPointer + cmp #tree_end + bne .loop + + rts + + message: BYTE #$0d,#$0d,"PLEASE WAIT 20 SEC",#$0d,"I'M JUST",#$0d,"AN OLD COMPUTER",#$0d,#0 start_button_message: @@ -190,6 +230,10 @@ demo_end: DEMO_LEN SET demo_end - demo_start ECHO DEMO_LEN +tree_start: + .incbin "res/tree.bin" +tree_end: + . = $bff9 jmp loading_feedback . = $bffc