File download
- File size:
- 8 545 bytes (8.34K)
- File date:
- 2021-12-25 12:55:52
- Download count:
- all-time: 18
Preview
- berni_c64_asm_vc3-2021/ dir
- berni_c64_asm_vc3-2021/asm.png 4.61K
- berni_c64_asm_vc3-2021/asm.prg 411B
- berni_c64_asm_vc3-2021/asm.txt 5.29K
- berni_c64_asm_vc3-2021/challenge.d64 170.75K
file_id.diz
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