READY. 10 .OB "@:KOALA -MAIN,P,W" 11 .LI "KOALA.SRC,P,W" 20 .BA$0801 30 .WONEXTLINE 40 .WO1987 50 .BY$9E 60 .TX "2080" 70 .BY 34,141,"" 80 .TX "(W) MS FOR SSVC!" 90 NEXTLINE .BY0,0,0 100 ; .SY 4,4 110 ; .LI 4,4 120 .GL PORT=1 130 .GL BPRINT=$AB1E 140 .GL CIAREG=$DD00 150 .GL CHARSET=VIC 160 .GL BSPAGE=648 170 .GL IRQL=$0314 180 .GL IRQH=$0315 190 .GL VIC=$D000 200 .GL SR2=$D016 210 .GL RZI=$D012 220 .GL IMR=$D01A 230 .GL IRR=$D019 240 .GL SR1=$D011 250 .GL SPRCOL=$D027 260 .GL LOBYTE=$B4 270 .GL HIBYTE=$B5 280 .GL REIHE=$F7 290 .GL ANZ=$F8 300 .GL SPRPOL=$F9 310 .GL SPRPOH=$FA 320 .GL VIDEO=$C000 330 .GL ADDLO=$92 340 .GL ADDHI=$93 350 .GL SETNAM=$FFBD 360 .GL GETIN=$FFE4 370 .GL SETLFS=$FFBA 380 .GL OPEN=$F34A 390 .GL CHROUT=$FFD2 400 .GL CHKOUT=$FFC9 410 .GL CLOSE=$FFC3 420 .GL CLRCHN=$FFCC 430 .GL RETTEN=$FB 440 .GL BKND=$D021 450 .GL BORDER=$D020 460 .GL HIRES=$E000 470 .GL ADR=$D018 480 .GL SPRITESA=$D000 490 .GL SPRITESB=SPRITESA+256 500 .GL LOC=(SPRITESA-$C000)/64 510 .GL EXPY=$D017 520 .GL CRA=$DC0E 530 .GL SOURCE=LOBYTE 540 .GL ENDEL=SPRPOL 550 LETSGO JSR$E544 560 LDA#11 570 STABORDER 580 STABKND 590 LDA#0 600 STA198 610 ...PRINT(HEADER) 611 ...PRINT(KEYS) 620 JSRWAITKEY 630 LDA#8 640 STASR2 650 SEI 660 LDA#<(IRQ) 670 STAIRQL 680 LDA#>(IRQ) 690 STAIRQH 700 LDA#249 710 STARZI 720 LDA#1 730 STAIMR 740 LDASR1 750 AND#127 760 STASR1 770 LDX#0 780 STXVIC+16 790 STXCRA 800 STX$FFFF 810 SETLOOP1 LDATAB1,X 820 STAVIC,X 830 INX 840 CPX#16 850 BNESETLOOP1 860 LDA#$FF 870 STAVIC+21 880 LDX#0 890 SETLOOP2 LDATAB2,X 900 STAVIDEO+1016,X 910 LDA#7 920 STASPRCOL,X 930 INX 940 CPX#8 950 BNESETLOOP2 960 LDA#14 970 STASPRCOL+7 980 LDA#15 990 STASPRCOL+6 1000 ...POKE(1,51) 1010 LDX#0 1020 TXA 1030 SETLOOP3 STASPRITESA,X 1040 STASPRITESB,X 1050 INX 1060 BNESETLOOP3 1070 ...POKE(650,128) 1080 LDY#0 1090 NOCHMAL LDACHARSET,Y 1100 STA$0400,Y 1110 LDA$D100,Y 1120 STA$0500,Y 1130 INY 1140 BNENOCHMAL 1150 ...BASICON 1160 CLI 1170 LDACIAREG 1180 AND#$FC 1190 STACIAREG 1200 START LDA#$06 1210 STAADR 1220 LDA#$C0 1230 STAEXPY 1240 LDA#>(VIDEO) 1250 STABSPAGE 1260 LDAADR 1270 EOR#14 1280 STAADR 1290 LDASR2 1300 EOR#16 1310 STASR2 1320 JMPDANNNICHT 1330 LOOPS JSRWAITKEY 1340 CMP#"1" 1350 BNEMARK0 1360 LDAZAE1+1 1370 CLC 1380 ADC#$20 1390 STAZAE1+1 1400 ...LDAYI(HIRES+8000) 1410 ...STAY(ENDEL) 1420 ...LDAY(ZAE1) 1430 ...STAY(SOURCE) 1440 ...LDAYI(HIRES) 1450 JSRKOPIEREN 1460 WEG JMPDANNNICHT 1470 MARK0 CMP#"2" 1480 BNEMARK3 1490 LDAZAE2+1 1500 CLC 1510 ADC#$04 1520 STAZAE2+1 1530 JMPDANNNICHT 1540 MARK3 CMP#"3" 1550 BNEMARK4 1560 LDAZAE3+1 1570 CLC 1580 ADC#$04 1590 STAZAE3+1 1600 JMPDANNNICHT 1610 MARK4 CMP#"4" 1620 BNEMARK5 1630 INCFARBE+1 1640 JMPDANNNICHT 1650 MARK5 CMP#"S" 1660 BEQSAVEN 1670 JMPDANNNICHT 1680 SAVEN JSR$FD15 1690 JSR$FDA3 1700 JSR$E518 1710 ; CLI 1720 LDA#FILNAMEND-FILENAM 1730 LDY#>(FILENAM) 1740 LDX#<(FILENAM) 1750 JSRSETNAM 1760 LDA#2 1770 LDX#8 1780 LDY#2 1790 JSRSETLFS 1800 JSROPEN 1810 LDX#2 1820 JSRCHKOUT 1830 LDA#0 1840 JSRCHROUT 1850 LDA#$60 1860 JSRCHROUT 1870 ...LDAY(ZAE1) 1880 ...STAY(SPRPOL) 1890 ...LDAYI(8000) 1900 ...ADW(ZAE1) 1910 ...STAY(REIHE) 1920 JSRSCHREIBE 1930 ...LDAY(ZAE2) 1940 ...STAY(SPRPOL) 1950 ...LDAYI(1000) 1960 ...ADW(ZAE2) 1970 ...STAY(REIHE) 1980 JSRSCHREIBE 1990 ...LDAY(ZAE3) 2000 ...STAY(SPRPOL) 2010 ...LDAYI(1000) 2020 ...ADW(ZAE3) 2030 ...STAY(REIHE) 2040 JSRSCHREIBE 2050 LDAFARBE+1 2060 JSRCHROUT 2070 LDA#2 2080 JSRCLOSE 2090 JSR$E5A0 2100 LDA#0 2110 STA$D020 2120 STA$D021 2130 ...PRINT(ENDME) 2133 ...PRINT(MESS1) 2134 LDA#34 2135 JSRCHROUT 2136 LDA#0 2137 STA$D4 2138 ...PRINT(MESS2) 2140 JMP$E386 2150 SCHREIBE LDY#0 2160 SEI 2170 STYPORT 2180 LDA(SPRPOL),Y 2190 LDX#55 2200 STXPORT 2210 CLI 2220 JSRCHROUT 2230 STA$D020 2240 ROL 2250 ROL 2260 STA$D021 2270 ...INCW(SPRPOL) 2280 LDASPRPOL+1 2290 CMPREIHE+1 2300 BNESCHREIBE 2310 LDASPRPOL 2320 CMPREIHE 2330 BNESCHREIBE 2340 RTS 2350 DANNNICHT ...LDAY(ZAE1) 2360 LDX#0 2370 JSRHETOSPR 2380 ...LDAYI(TEXT) 2390 LDX#0 2400 JSRWRITESPR 2410 ...LDAY(ZAE2) 2420 LDX#5 2430 JSRHETOSPR 2440 ...LDAY(ZAE3) 2450 LDX#10 2460 JSRHETOSPR 2470 ...LDAYI($D800+1000) 2480 ...STAY(ENDEL) 2490 ...LDAY(ZAE3) 2500 ...STAY(SOURCE) 2510 ...LDAYI($D800) 2520 JSRKOPIEREN 2530 ...LDAYI(VIDEO+1000) 2540 ...STAY(ENDEL) 2550 ...LDAY(ZAE2) 2560 ...STAY(SOURCE) 2570 ...LDAYI(VIDEO) 2580 JSRKOPIEREN 2590 JMPLOOPS 2600 RTS 2610 TEXT .TX"BILD COL1 COL2 (C) MS" 2620 .BY 0 2630 HEXSTR .TX"E000 0000 0000" 2640 .BY0 2650 FILENAM .TX"@:PIC A SSVC-PIC,P,W" 2660 FILNAMEND .BY0 2670 ZAE1 .WO$E000 2680 ZAE2 .WO$C000 2690 ZAE3 .WO$C400 2700 ZAHL .WO0 2710 ; *************************** 2720 ; * TEXT IN SPRITEREGISTER * 2730 ; * 2740 ; *X SPRITEREIHE * 2750 ; *************************** 2760 WRITESPR STALOBYTE 2770 STYHIBYTE 2780 ...LDAYI(SPRITESA) 2790 ...STAY(SPRPOL) 2800 CPX#1 2810 BNEERH 2820 LDASPRPOL 2830 ADC#23 2840 STASPRPOL 2850 ERH LDA#3 2860 STAANZ 2870 WEITER LDY#0 2880 STYADDHI 2890 LDA(LOBYTE),Y 2900 BEQOUT 2910 AND#$3F 2920 CLC 2930 ROL 2940 ROLADDHI 2950 ROL 2960 ROLADDHI 2970 ROL 2980 ROLADDHI 2990 STAADDLO 3000 LDAADDHI 3010 ADC#$04 3020 STAADDHI 3030 LDY#$07 3040 LDX#24 3050 SPRITESET LDA(ADDLO),Y 3060 STYRETTEN 3070 ...TXY 3080 PHA 3090 SEI 3100 ...POKE(1,51) 3110 PLA 3120 STA(SPRPOL),Y 3130 ...POKE(1,55) 3140 CLI 3150 LDYRETTEN 3160 DEX 3170 DEX 3180 DEX 3190 DEY 3200 BPLSPRITESET 3210 ...INCW(LOBYTE) 3220 ...INCW(SPRPOL) 3230 DECANZ 3240 BNENHI 3250 LDA#3 3260 STAANZ 3270 LDASPRPOL 3280 ADC#61 3290 STASPRPOL 3300 BCCNHI 3310 INCSPRPOH 3320 NHI JMPWEITER 3330 OUT RTS 3340 HETOSPR STAZAHL 3350 STYZAHL+1 3360 JSRHEX0 3370 ...LDAYI(HEXSTR) 3380 LDX#1 3390 JMPWRITESPR 3400 KOPIEREN ...STAY($FD) 3410 LDY#0 3420 KOPLOOP LDA(SOURCE),Y 3430 STA($FD),Y 3440 ...INCW(SOURCE) 3450 ...INCW($FD) 3460 LDA$FE 3470 CMPENDEL+1 3480 BNEKOPLOOP 3490 LDA$FD 3500 CMPENDEL 3510 BNEKOPLOOP 3520 RTS 3530 HEX0 LDAZAHL+1 3540 JSRHEX1 3550 LDAZAHL 3560 HEX1 PHA 3570 LSR 3580 LSR 3590 LSR 3600 LSR 3610 JSRHEX2 3620 PLA 3630 AND#$0F 3640 HEX2 CMP#$0A 3650 BCCHEX3 3660 ADC#$06 3670 HEX3 ADC#"0" 3680 STAHEXSTR,X 3690 INX 3700 RTS 3710 .MA TXY 3720 PHA 3730 TXA 3740 TAY 3750 PLA 3760 .RT 3770 ; A/Y - MEMORY = A/Y AKKU=LO 3780 .MA ADW (MEMORY) 3790 CLC 3800 ADCMEMORY 3810 PHA 3820 TYA 3830 ADCMEMORY+1 3840 TAY 3850 PLA 3860 .RT 3870 .MA INCW (MEMORY) 3880 INCMEMORY 3890 BNER 3900 INCMEMORY+1 3910 R .RT 3920 ; MEMORY -> A/Y AKKU=LO 3930 .MA LDAY (MEMORY) 3940 LDYMEMORY+1 3950 LDAMEMORY 3960 .RT 3970 ; A/Y -> MEMORY AKKU=LO 3980 .MA STAY (MEMORY) 3990 STAMEMORY 4000 STYMEMORY+1 4010 .RT 4020 ; ZAHL=16BIT -> A/Y 4030 .MA LDAYI (WERT) 4040 LDA#<(WERT) 4050 LDY#>(WERT) 4060 .RT 4070 .MA PRINT(MEMORY) 4080 LDA#<(MEMORY) 4090 LDY#>(MEMORY) 4100 JSRBPRINT 4110 .RT 4120 .MA POKE(MEMORY,WERT) 4130 LDA#WERT 4140 STAMEMORY 4150 .RT 4160 .MA BASICON 4170 ...POKE(1,55) 4180 .RT 4190 WAITKEY JSRGETIN 4200 BEQWAITKEY 4210 RTS 4220 IRQ LDASR1 4230 AND#19 4240 STASR1 4250 NICHT5 LDA#6 4260 STABORDER 4270 STABKND 4280 DECVIC+12 4290 INCVIC+14 4300 LDY#31 4310 LOOP1 DEY 4320 BNELOOP1 4330 LDX#21 4340 LOOP2 DECSR2 4350 INCSR2 4360 .BY$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA,$EA 4370 DEX 4380 BNELOOP2 4390 LDA#59 4400 STASR1 4410 LDA#1 4420 STAIRR 4430 FARBE LDA#11 4440 STABKND 4450 LDA#9 4460 STABORDER 4470 JMP$EA31 4480 TAB2 .BYLOC,LOC+1,LOC+2,LOC+3 4490 .BYLOC+4,LOC+5,LOC+6,LOC+7 4500 TAB1 .BY85,250 4510 .BY61+2*24,250 4520 .BY61+3*24,250 4530 .BY61+4*24,250 4540 .BY61+5*24,250 4550 .BY61+6*24,250 4560 .BY61+7*24,250 4570 .BY61+8*24,250 4580 HEADER .BY13 4590 .TX "   KOALA CAPTURE  " 4600 .BY13,13 4605 .TX " " 4606 .BY13 4610 .TX " ݞ(W) BY MARC SCHOENEFELD" 4615 .BY 13 4620 .TX " FOR SSVC" 4621 .BY 13 4625 .TX " " 4630 .BY 13 4640 .BY 0 4650 KEYS .TX"" 4660 .TX " [1] BITMAP +$2000" 4670 .BY 13,13 4680 .TX " [2] COLOR1 +$0400" 4690 .BY 13,13 4700 .TX " [3] COLOR2 +$0400" 4710 .BY 13,13 4720 .TX " [4] BACKGROUND +1" 4730 .BY 13,13 4740 .TX " [S] SAVE PIC" 4750 .BY 13,13 4760 EOT .BY0 4770 ENDME .TX" PIC SAVED UNDER PIC A SSVC-PIC" 4780 .BY 13,13,13,13,13 4790 .TX"IF THERE ARE ANY QUESTIONS" 4800 .BY 13 4810 .TX"REFERING THIS PROGRAM" 4820 .BY 13 4830 .TX"FEEL FREE TO WRITE TO:" 4840 .BY 13 4850 .TX"MARC SCHOENEFELD 4851 .BY 13 4855 .TX"ELISABETHSTR.39 4856 .BY 13 4857 .TX"4722 ENNIGERLOH" 4858 .BY 13 4859 .TX"GERMANY (THERE CAN BE ONLY ONE)!)" 4860 .BY 13,0 4861 MESS1 .TX"OPEN1,8,15," 4862 .BY 0 4863 MESS2 .TX"R:PIC A ........=PIC A SSVC-PIC 4864 .BY 13 4865 .TX "" 4866 MESSEND .BY0 4870 .EN READY.