Home » Personal collection » Commodore disks » disk45a_galaxy64.d64 » bouncecode3
bouncecode3
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk45a_galaxy64.d64 |
Filename: | bouncecode3 |
Read OK: | ✔ |
File size: | 1199 bytes |
Load address: | 0801 |
Exec address: | 0000 |
File contents
10 REM BOUNCE 20 REM BY DOMINIC FORD 30 REM 40 REM BASIC - 1ST JUNE 1993 50 REM MACHINE CODE - 13TH MAY 1995 70 GOTO 6000 100 *=$3C80 110 XS=$3C00 120 YS=$3C08 130 XP=$3C10 140 YP=$3C18 150 RND=$0002 160 XST=$3C20 170 YST=$3C21 180 ADRP=$3C22 190 EX=$3C23 200 ; LINE 10 (SEE PRINTOUT OF BASIC) 210 L10 LDA #$93 220 JSR $AB47 230 LDA #$13 240 JSR $AB47 250 LDA #$09 260 STA $D020 270 LDA #$00 280 STA $D021 290 LDA #$05 300 STA $DBE7 310 ; LINE 20 320 L20 LDX #$00 330 WOOPNT LDY #$05 340 WOOLOP LDA WOOZY,Y 350 JSR $AB47 360 DEY 370 BNE WOOLOP 380 INX 390 CPX #$C7 400 BNE WOOPNT 410 LDY #$05 420 WOOB LDA WOOZY,Y 430 JSR $AB47 440 DEY 450 CPY #$01 460 BNE WOOB 470 ; LINE 30 480 L30 LDA #$19 490 STA $07E7 500 LDA #$00 510 STA $D015 520 ; LINE 40 530 L40 STA $D017 540 STA $D01D 550 STA $D010 560 ; LINE 50 570 L50 STA $D01C 580 STA $D01B 590 ; LINE 60 (NOTHING) 600 ; LINE 70 (NOTHING) 610 ; LINE 80+90 620 L80 LDX #$08 630 LDA #$F1 640 POSLOP STA $07F7,X 650 DEX 660 BNE POSLOP 670 ; LINE 100 680 L100 LDX #$01 690 COLLOP TXA 700 STA $D026,X 710 INX 720 CPX #$09 730 BNE COLLOP 740 ; LINE 110 750 L110 LDA #$00 755 STA $FD 760 ; LINE 120 770 L120 LDA #<L120B 780 STA $FB 790 LDA #>L120B 800 STA $FC 810 RTS 820 L120B LDA $02 830 CMP #$38 840 BCC L120 850 CMP #$AA 860 BCS L120 870 LDX $FD 880 STA YP,X 890 TAY 900 TXA 910 ASL A 920 TAX 930 TYA 940 STA $D001,X 950 ; LINE 130 960 L130 LDA #<L130B 970 STA $FB 980 LDA #>L130B 990 STA $FC 1000 RTS 1010 WOOZY TXT "!YZOOW" 1020 L130B LDA $02 1030 CMP #$38 1040 BCC L130 1050 LDX $FD 1060 STA XP,X 1070 TAY 1080 TXA 1090 ASL A 1100 TAX 1110 TYA 1120 STA $D000,X 1130 LDX $FD 1140 INX 1150 STX $FD 1160 CPX #$08 1170 BNE L120 1180 LDA #$00 1190 STA $D01E 1200 ; LINE 140 1210 L140 LDX #$00 1220 STX $FD 1230 F140L LDA XP,X 1240 TAY 1250 TXA 1260 ASL A 1270 TAX 1280 TYA 1290 STA $D000,X 1300 ; LINE 145 1310 L145 LDX $FD 1320 LDA YP,X 1330 TAY 1340 TXA 1350 ASL A 1360 TAX 1370 TYA 1380 STA $D001,X 1390 LDX $FD 1400 INX 1410 STX $FD 1420 CPX #$08 1430 BNE F140L 1440 ; LINE 150 1450 L150 LDA $D01E 1460 BNE L110 1470 ; LINE 160 1480 L160 LDA #$00 1490 STA $D015 1500 LDX #$00 1510 L170 LDA $A2 1520 AND #$01 1530 CMP #$01 1540 BEQ L170B 1550 LDA #$FF 1560 L170B STA XS,X 1570 ; LINE 180 1580 L180 LDA $A1 1590 AND #$01 1600 CMP #$01 1610 BEQ L180B 1620 LDA #$FF 1630 L180B STA YS,X 1640 ; LINE 190 (NOTHING) 1650 ; LINE 200 (NOTHING) 1660 L210 INX 1670 CPX #$08 1680 BNE L170 1690 LDA #$FF 1700 STA $D015 1705 JMP IRQ 1710 ; LINE 220 (MAIN PROGRAM LOOP) 1720 L220 LDX #$00 1725 LDY #$01 1730 L220LOP STX XST 1735 STY YST 1740 TXA 1750 ASL A 1760 STA ADRP 1770 LDA $D010 1780 AND YST 1790 STA EX 1800 L230 LDX ADRP 1810 LDA $D000,X 1820 CMP #$FF 1830 BNE L240 1840 LDA EX 1850 BNE L240 1860 LDX XST 1870 LDA XS,X 1880 CMP #$01 1890 BNE L240 1900 LDA $D010 1910 ORA YST 1920 STA $D010 1930 LDA #$02 1940 STA EX 1942 LDX ADRP 1944 LDA #$00 1946 STA $D000,X 1950 L240 LDX ADRP 1960 LDA $D000,X 1970 BNE L250 1980 LDA EX 1990 CMP #$01 2000 BNE L250 2010 LDX XST 2020 LDA XS,X 2030 CMP #$FF 2040 BNE L250 2050 LDX ADRP 2060 LDA #$FF 2070 STA $D000,X 2080 LDA $D010 2090 SEC 2100 SBC YST 2110 STA $D010 2120 LDA #$02 2130 STA EX 2140 L250 LDX ADRP 2150 LDY XST 2160 LDA $D000,X 2170 CLC 2180 ADC XS,Y 2190 STA $D000,X 2200 L260 CMP #$1A 2210 BCS L270 2220 LDA EX 2230 BNE L270 2240 LDA #$01 2250 STA XS,Y 2255 L270 LDA $D000,X 2260 CMP #$2D 2270 BCC L280 2280 LDA EX 2300 BEQ L280 2310 LDA #$FF 2320 STA XS,Y 2330 L280 JSR L1000 2350 CMP #$00 2360 BEQ L290 2370 LDA XS,Y 2380 CMP #$01 2390 BEQ L280B 2400 LDA #$01 2410 JMP L280C 2420 L280B LDA #$FF 2430 L280C STA XS,Y 2440 L290 INX 2450 LDA $D000,X 2460 CLC 2470 ADC YS,Y 2480 STA $D000,X 2490 L300 CMP #$E6 2500 BCC L310 2510 LDA #$FF 2520 STA YS,Y 2525 L310 LDA $D000,X 2530 CMP #$32 2540 BCS L320 2550 LDA #$01 2560 STA YS 2570 L320 JSR L1000 2590 CMP #$00 2600 BEQ L330 2610 LDA YS,Y 2620 CMP #$01 2630 BEQ L320B 2640 LDA #$01 2650 JMP L320C 2660 L320B LDA #$FF 2670 L320C STA YS,Y 2680 L330 LDX XST 2690 INX 2700 LDA YST 2710 ASL A 2720 TAY 2730 CPX #$08 2740 BEQ L330B 2750 JMP L220LOP 2760 L330B JMP $EA31 2800 L1000 LDA $D01E 2810 LDA $D01E 2820 AND YST 2830 RTS 2850 IRQ SEI 2860 LDA #<L220 2870 STA $0314 2880 LDA #>L220 2890 STA $0315 2900 CLI 2910 IQRLOP JMP IQRLOP 5000 ; SPRITE DATA (340-400) 5005 *=$3C40 5010 TXT 0,127,0,1,255,192,7,255,224 5020 TXT 15,255,240,31,255,248,63,255 5030 TXT 252,63,255,252,127,255,254,127 5040 TXT 255,254,127,255,254,127,255 5050 TXT 254,127,255,254,127,255,254 5060 TXT 127,255,254,63,255,252,63,255 5070 TXT 252,31,255,248,31,255,248,15 5080 TXT 255,240,7,255,224,1,255,128 5100 END 6000 REM CONTROLLER 6020 SYS $3C80 6030 POKE 2,INT(RND(1)*255) 6040 SYS (PEEK($FB)+PEEK($FC)*256) 6050 GOTO 6030
� BOUNCE : � BY DOMINIC FORD @ � e( � BASIC - 1ST JUNE 1993 �2 � MACHINE CODE - 13TH MAY 1995 �F � 6000 �d ��$3C80 �n XS�$3C00 �x YS�$3C08 �� XP�$3C10 �� YP�$3C18 �� ��$0002 �� XST�$3C20 �� YST�$3C21 � ADRP�$3C22 � EX�$3C23 ; � ; LINE 10 (SEE �OUT OF BASIC) L � L10 LDA #$93 Z � JSR $AB47 g � LDA #$13 u � JSR $AB47 � � LDA #$09 � STA $D020 � LDA #$00 � STA $D021 � "LDA #$05 � ,STA $DBE7 � 6; LINE 20 � @L20 LDX #$00 � JWOOPNT LDY #$05 TWOOLOP LDA WOOZY,Y ^JSR $AB47 & hDEY 5 rBNE WOOLOP = |INX J �CPX #$C7 Y �BNE WOOPNT f �LDY #$05 { �WOOB LDA WOOZY,Y � �JSR $AB47 � �DEY � �CPY #$01 � �BNE WOOB � �; LINE 30 � �L30 LDA #$19 � �STA $07E7 � �LDA #$00 � �STA $D015 ; LINE 40 L40 STA $D017 !STA $D01D /&STA $D010 =0; LINE 50 O:L50 STA $D01C ]DSTA $D01B sN; LINE 60 (�HING) �X; LINE 70 (�HING) �b; LINE 80�90 �lL80 LDX #$08 �vLDA #$F1 ���LOP STA $07F7,X ��DEX ��BNE �LOP ��; LINE 100 �L100 LDX #$01 �COLLOP TXA "�STA $D026,X *�INX 7�CPX #$09 F�BNE COLLOP U�; LINE 110 g�L110 LDA #$00 s�STA $FD ��; LINE 120 �L120 LDA #�L120B �STA $FB �LDA #�L120B � STA $FC �*RTS �4L120B LDA $02 �>CMP #$38 �HBCC L120 RCMP #$AA \BCS L120 fLDX $FD & pSTA YP,X . zTAY 6 �TXA @ �ASL A H �TAX P �TYA ` �STA $D001,X o �; LINE 130 � �L130 LDA #�L130B � �STA $FB � �LDA #�L130B � �STA $FC � �RTS � �WOOZY TXT "!YZOOW"