10 sys2061

; Sprites im VIC initialisieren
.C:080d  A9 FF       LDA #$FF
.C:080f  8D 15 D0    STA $D015
.C:0812  A2 00       LDX #$00
.C:0814  A9 5C       LDA #$5C
.C:0816  9D 00 D0    STA $D000,X
.C:0819  E8          INX
.C:081a  E8          INX
.C:081b  18          CLC
.C:081c  69 18       ADC #$18
.C:081e  E0 10       CPX #$10
.C:0820  D0 F4       BNE $0816
.C:0822  A9 80       LDA #$80
.C:0824  8D 10 D0    STA $D010
.C:0827  A2 00       LDX #$00
.C:0829  A9 0E       LDA #$0E
.C:082b  9D 27 D0    STA $D027,X
.C:082e  E8          INX
.C:082f  E0 08       CPX #$08
.C:0831  D0 F8       BNE $082B

; Sprites im Speicher anlegen
.C:0833  A2 00       LDX #$00
.C:0835  A9 36       LDA #$36
.C:0837  85 15       STA $15
.C:0839  A9 00       LDA #$00
.C:083b  85 14       STA $14
.C:083d  A0 00       LDY #$00
.C:083f  A9 00       LDA #$00
.C:0841  91 14       STA ($14),Y
.C:0843  C8          INY
.C:0844  D0 FB       BNE $0841
.C:0846  E6 15       INC $15
.C:0848  A5 15       LDA $15
.C:084a  C9 40       CMP #$40
.C:084c  D0 F1       BNE $083F
.C:084e  A9 36       LDA #$36
.C:0850  85 15       STA $15
.C:0852  A9 09       LDA #$09
.C:0854  85 21       STA $21
.C:0856  A9 69       LDA #$69
.C:0858  85 20       STA $20
.C:085a  84 0E       STY $0E
.C:085c  A0 00       LDY #$00
.C:085e  B1 20       LDA ($20),Y
.C:0860  F0 46       BEQ $08A8
.C:0862  85 09       STA $09
.C:0864  A4 0E       LDY $0E
.C:0866  A5 20       LDA $20
.C:0868  4A          LSR A
.C:0869  B0 22       BCS $088D
.C:086b  A9 66       LDA #$66
.C:086d  91 14       STA ($14),Y
.C:086f  C8          INY
.C:0870  C8          INY
.C:0871  C8          INY
.C:0872  A9 3C       LDA #$3C
.C:0874  91 14       STA ($14),Y
.C:0876  C8          INY
.C:0877  C8          INY
.C:0878  C8          INY
.C:0879  A9 FF       LDA #$FF
.C:087b  91 14       STA ($14),Y
.C:087d  C8          INY
.C:087e  C8          INY
.C:087f  C8          INY
.C:0880  A9 3C       LDA #$3C
.C:0882  91 14       STA ($14),Y
.C:0884  C8          INY
.C:0885  C8          INY
.C:0886  C8          INY
.C:0887  A9 66       LDA #$66
.C:0889  91 14       STA ($14),Y
.C:088b  A0 00       LDY #$00
.C:088d  BD 60 09    LDA $0960,X
.C:0890  18          CLC
.C:0891  65 14       ADC $14
.C:0893  85 14       STA $14
.C:0895  90 02       BCC $0899
.C:0897  E6 15       INC $15
.C:0899  E8          INX
.C:089a  E0 09       CPX #$09
.C:089c  D0 02       BNE $08A0
.C:089e  A2 00       LDX #$00
.C:08a0  C6 09       DEC $09
.C:08a2  D0 C2       BNE $0866
.C:08a4  E6 20       INC $20
.C:08a6  D0 B2       BNE $085A

; Interrupt einrichten
.C:08a8  78          SEI
.C:08a9  A9 D4       LDA #$D4
.C:08ab  8D 14 03    STA $0314
.C:08ae  A9 08       LDA #$08
.C:08b0  8D 15 03    STA $0315
.C:08b3  A9 80       LDA #$80
.C:08b5  8D 12 D0    STA $D012
.C:08b8  AD 11 D0    LDA $D011
.C:08bb  29 7F       AND #$7F
.C:08bd  8D 11 D0    STA $D011
.C:08c0  AD 1A D0    LDA $D01A
.C:08c3  09 01       ORA #$01
.C:08c5  8D 1A D0    STA $D01A
.C:08c8  58          CLI

; 14x Steuerzeichen <down> ausgeben
.C:08c9  A2 0E       LDX #$0E
.C:08cb  A9 11       LDA #$11
.C:08cd  20 D2 FF    JSR $FFD2
.C:08d0  CA          DEX
.C:08d1  D0 F8       BNE $08CB
.C:08d3  60          RTS

; IRQ-Routine
.C:08d4  AD 19 D0    LDA $D019
.C:08d7  30 07       BMI $08E0
.C:08d9  AD 0D DC    LDA $DC0D
.C:08dc  58          CLI
.C:08dd  4C 31 EA    JMP $EA31
.C:08e0  8D 19 D0    STA $D019
.C:08e3  AD 12 D0    LDA $D012
.C:08e6  C9 83       CMP #$83
.C:08e8  B0 09       BCS $08F3
.C:08ea  A9 83       LDA #$83
.C:08ec  A2 E0       LDX #$E0
.C:08ee  A0 98       LDY #$98
.C:08f0  4C 20 09    JMP $0920
.C:08f3  C9 9B       CMP #$9B
.C:08f5  B0 09       BCS $0900
.C:08f7  A9 9B       LDA #$9B
.C:08f9  A2 E8       LDX #$E8
.C:08fb  A0 B0       LDY #$B0
.C:08fd  4C 20 09    JMP $0920
.C:0900  C9 B3       CMP #$B3
.C:0902  B0 09       BCS $090D
.C:0904  A9 B3       LDA #$B3
.C:0906  A2 F0       LDX #$F0
.C:0908  A0 C8       LDY #$C8
.C:090a  4C 20 09    JMP $0920
.C:090d  C9 CB       CMP #$CB
.C:090f  B0 09       BCS $091A
.C:0911  A9 CB       LDA #$CB
.C:0913  A2 F8       LDX #$F8
.C:0915  A0 E0       LDY #$E0
.C:0917  4C 20 09    JMP $0920
.C:091a  A9 6B       LDA #$6B
.C:091c  A2 D8       LDX #$D8
.C:091e  A0 80       LDY #$80
.C:0920  8D 01 D0    STA $D001
.C:0923  8D 03 D0    STA $D003
.C:0926  8D 05 D0    STA $D005
.C:0929  8D 07 D0    STA $D007
.C:092c  8D 09 D0    STA $D009
.C:092f  8D 0B D0    STA $D00B
.C:0932  8D 0D D0    STA $D00D
.C:0935  8D 0F D0    STA $D00F
.C:0938  8E F8 07    STX $07F8
.C:093b  E8          INX
.C:093c  8E F9 07    STX $07F9
.C:093f  E8          INX
.C:0940  8E FA 07    STX $07FA
.C:0943  E8          INX
.C:0944  8E FB 07    STX $07FB
.C:0947  E8          INX
.C:0948  8E FC 07    STX $07FC
.C:094b  E8          INX
.C:094c  8E FD 07    STX $07FD
.C:094f  E8          INX
.C:0950  8E FE 07    STX $07FE
.C:0953  E8          INX
.C:0954  8E FF 07    STX $07FF
.C:0957  8C 12 D0    STY $D012
.C:095a  68          PLA
.C:095b  A8          TAY
.C:095c  68          PLA
.C:095d  AA          TAX
.C:095e  68          PLA
.C:095f  40          RTI

; Abstände zwischen Sternen im Sprite
>C:0960  01 01 16 01  01 16 01 01  0e

; Codierter Tannenbaum
>C:0969                               1d 01 01  05 03 01 02
>C:0970  02 30 01 05  04 01 09 02  03 28 02 03  06 03 11 01
>C:0980  02 01 03 06  01 14 03 03  23 01 06 03  02 01 03 06
>C:0990  02 1d 02 01  02 03 01 02  01 00
