Source-Code PUGNA fuer die Kampfroutine. Dieser Teil umfasst 46 von 162 Kbyte Gesamtcode. Geschrieben von Winfried Falkenhahn in Hypra-Ass (6510-Assembler). ==> Zurueck zur Homepage mit dem BACK - Button des Browsers <== 0 -.CO TEXT1,BEZ,PUFFER,PUFF1,TEXT2,TEXT3,FILE1,TEXT4,TEXT7,FILE,TEXT8,TEXT9 5 -.CO PICCY,BASIC2,BASIC,BASIC1,WAIT,CHARTA,ROLLE,DEFAULT,ITALT,SPQR,SPRSET 10 -.CO DEFCHA,SIRQ,ZEILE,STA,STA1,BUTTON,JOYDEF,JANEIN,SPLITINI,TEXTA,SPQR1 15 -.CO SPLITPIC,IMPLOAD,LOAD1,RELINKS,WRITE,ABBAU,STAA,AUFBAU1,RND,MULTIP,BI1 20 -.CO PUFFPR,NORMADD,NORMSUB,PUFFILL,PUF1000,PUFF2,TEXT5,WRITEU,FIG6,PUFSWI 25 -.CO TEXT6,NORMCMP,TEXT1A,DALSPLIT,REISE,AUFENT,ANDAT,PICS,VANLOAD 30 -.CO FFILL,TRAVEL,SWAIT,REISE1,SPIEL,TIME,TTIME,TTJSR,RASTER,RASTER1,SWITCH 31 -.CO ADD,SUB,MAXWERT,ORDO,DEFTEST,DEFT1,SWITCH1,TEXTPR,PICSPR,AUF2,RANGLOAD 32 -.CO RANGL 100 -.OB "PMAIN,P,W" 130 -.BA $0800 131 -.GL FIGD=$3F99 132 -.GL FIGACT=$3F08 133 -.GL COMI=$3F50 134 -.GL LIMI=$3F60 135 -.GL PROTC=$3F40 136 -.GL FIG5=$3F30 137 -.GL FIG6=$3F31 138 -.GL FIG9=$3F3E 140 -.GL BEFOERD=$8300 145 -.GL BEFLOAD=BEFOERD+3 150 -.GL BATTLE=BEFOERD+6 160 -.GL FIGE=$3F9A 349 -; 350 - JMP ANGRIFF 399 -; 400 -ANLOAD STX $FA ;0 ODER3 405 - LDA #<(ANFILE) ;LADEN 410 - LDY #>(ANFILE) ;AUFRUF 415 - CLC ;MIT 420 - ADC $FA ;JSR0803 421 - BCC ANLOAD1 422 - INY 425 -ANLOAD1 TAX 430 - LDA #3 ;LAENGE 435 - JSR LOAD1 ;TO E200 436 - DEC BASIC2+16 437 - DEC BASIC2+16 440 - JSR BASIC2 ;TO D800 441 - INC BASIC2+16 442 - INC BASIC2+16 445 - RTS 450 -ANIRQ LDY #0 451 - STY $033D ;PHASE 452 - STY $033F ;NO MOVE 453 - STY COLOR ;SPR=ROT 455 - LDA #$12 456 - STA $07A7 ;TIMER 459 -ANCOPY LDA DAT3,Y 460 - STA DAT4,Y 465 - INY 470 - CPY #17 475 - BNE ANCOPY 477 -; 480 - JSR BI1 482 - LDA #$FF 484 - LDX #$80 ;LOW 485 - LDY #$FB 486 - STX $FA 487 - STY $FB 488 -ANTR LDY #0 489 -ANTRICK STA ($FA),Y 490 - INY 491 - BNE ANTRICK 492 - INC $FB 493 - LDY $FB 494 - CPY #$FD 495 - BNE ANTR 496 - LDA #0 497 - STA $D01B 500 - SEI 505 - LDX #<(ANIRQ1) 510 - LDY #>(ANIRQ1) 515 - STX $0314 520 - STY $0315 525 - LDA #0 530 - STA $D012 535 - LDA $D011 540 - AND #$7F 545 - STA $D011 550 - LDA #$81 555 - STA $D01A 560 - CLI 562 - LDX #23 563 - LDY #0 564 - CLC 565 - JSR $FFF0 566 - LDA #<(TEXTX1) 567 - LDY #>(TEXTX1) 568 - JSR $AB1E 569 - RTS 570 -ANIRQ1 LDA $D019 575 - STA $D019 580 - BMI ANIRQ2 585 - LDA $DC0D 590 - CLI 600 - JMP $EA31 605 -ANIRQ2 LDA $D012 610 - CMP #$80 615 - BCS ANIRQ3 616 - LDA #57 617 - LDX #$3B 618 - LDY #216 619 - STA $D018 620 - STX $D011 621 - STY 53270 622 - LDA #1 623 - STA $D021 624 - LDX #<(DAT2) 625 - LDY #>(DAT2) 630 - LDA #0 ;COLOR 635 - JSR SPRSET 640 - LDX #116 645 - LDY #0 650 -ANIRQ2A TXA 655 - STA 53240,Y 660 - INX 665 - INY 670 - CPY #8 675 - BNE ANIRQ2A 676 - LDA #0 677 - STA $D01C 680 - LDA #$FF 685 - STA $D01D ;STRETCH 690 - STA $D015 ;ON 691 - LDA #$86 692 - STA $D012 695 - JMP $EA81 725 -ANIRQ3 CMP #$E4 730 - BCS ANIRQ4 750 - LDX #<(DAT4) 755 - LDY #>(DAT4) 760 - LDA #0 761 - JSR SPRSET 765 - LDY #0 770 -BLINKSTA LDA COLORS,Y 775 - STA $D027,Y 780 - INY 785 - CPY #8 790 - BNE BLINKSTA 802 - LDA #2 ;ROT 803 - LDY COLOR 804 - STA $D029,Y 805 - JSR ANMOVE 806 - LDA #45 807 - STA 53240 808 - LDA #96 809 - STA 53241 810 - LDA #0 815 - STA $D01D 820 - LDA #3 825 - STA $D01C ;MULTI 830 - LDA #2 835 - LDX #7 840 - STA $D025 844 - STX $D026 846 - LDA #$E3 847 - STA $D012 850 - JMP $EA81 900 -ANIRQ4 LDA #53 905 - LDX #$1B 910 - LDY #200 915 - STA $D018 920 - STX $D011 925 - STY 53270 926 - LDA #8 927 - STA $D021 930 - LDA #$00 935 - STA $D012 940 - JMP $EA81 1000 -ANMOVE LDA $033D 1002 - BNE ANM1 1004 - LDY #0 1005 -ANM0 LDA DAT5,Y 1006 - STA 53242,Y 1007 - INY 1008 - CPY #6 1009 - BNE ANM0 1010 - JMP ANM3 1015 -ANM1 LDY #0 1017 -ANM2 LDA DAT5,Y 1019 - TAX 1020 -STANDER INX 1021 - TXA 1022 - STA 53242,Y 1023 - INY 1024 - CPY #6 1025 - BNE ANM2 1026 -ANM3 LDA $033F ;BEWEGEN? 1027 - BEQ ANMOV3 1028 - DEC $07A7 1029 - BNE ANMOV3 1030 - LDA #$12 1031 - STA $07A7 1034 - LDA $033D 1035 - BNE ANMOV1 1036 - LDX #2 1037 -ANMOV0 INC 53240,X 1038 - INX 1039 - CPX #8 1040 - BNE ANMOV0 1041 - INC $033D 1042 - RTS 1045 -ANMOV1 LDX #2 1050 -ANMOV2 DEC 53240,X 1055 - INX 1056 - CPX #8 1060 - BNE ANMOV2 1061 - DEC $033D 1065 -ANMOV3 RTS 1300 -HALF LDX #4 ;LAENGE 1301 - STX $F8 1302 - LDA #<(FIGACT) 1303 - LDY #>(FIGACT) 1304 - LDX FIGD ;GERM.NUMMER 1305 - JSR WRITEU 1306 - LDX #<(PUFF1) ;ANZAHL 1307 - LDY #>(PUFF1) ;GERMAN. 1308 - STX $F9 1309 - STY $FA 1310 - JSR PUFSWI 1315 - LDA #<(PUFF2) 1320 - LDY #>(PUFF2) 1325 - JSR PUFFILL 1329 -; 1330 -HALF1 JSR PUFCMP 1335 - CPY #4 1340 - BEQ OUT ;HALBIERT! 1341 - JSR PUFCMP1 1343 - CPY #4 1344 - BEQ UNGERADE 1345 - JSR PUF1000 1350 - LDX #<(PUFF2) 1355 - LDY #>(PUFF2) 1360 - JSR NORMADD 1361 - JMP HALF1 1362 -; 1365 -UNGERADE JSR PUF1000 1366 - LDX #<(PUFF1) 1370 - LDY #>(PUFF1) 1375 - JSR NORMADD 1400 -OUT LDX #<(PUFF1) 1405 - LDY #>(PUFF1) 1410 - STX $FB 1415 - STY $FC 1420 - LDX #<(GCOMI) 1425 - LDY #>(GCOMI) 1430 - STX $F9 1435 - STY $FA 1440 - JSR PUFSWI 1441 - LDX #<(PUFF2) 1442 - LDY #>(PUFF2) 1443 - STX $FB 1444 - STY $FC 1445 - LDX #<(GLIMI) 1450 - LDY #>(GLIMI) 1455 - STX $F9 1460 - STY $FA 1465 - JSR PUFSWI 1470 - RTS 1499 -; 1500 -PUFCMP LDY #0 1505 -PCMP LDA PUFF1,Y 1510 - STA $FA 1515 - LDA PUFF2,Y 1520 - CMP $FA 1525 - BNE PCMP1 ;WENN 1530 - INY ;Y<>4 1535 - CPY #4 ;DANN 1540 - BNE PCMP ;UNGLEICH 1545 -PCMP1 RTS 1549 -; 1550 -PUFCMP1 JSR PUF1000 1552 - LDX #<(PUFF1) ;BEI UN- 1555 - LDY #>(PUFF1) ;GERADEN 1560 - JSR NORMSUB ;ZAHLEN 1565 - JSR PUFCMP 1570 - RTS 1956 -; 1960 -PUGNA LDA #8 ;STEUER- 1964 - STA COLOR ;SPRITE! 1965 - LDA #0 1966 - STA $0347 ;OK! 1967 - STA MOVER 1968 - STA $07AE ;ANZ.DER BIS JETZT VERLORENEN COMI UND LIMI 1970 -;$07A1-$07A4 (COMI/LIMI) SIND BELEGT DURCH JSR PPRINT AUS HAUPTPRG! 1975 - JSR SETSPRITE 1976 - LDA $07AF 1977 - STA $FA 1980 - CPX #0 ;OK ? 1985 - BEQ PUGNA1 1986 - CPX #2 ;GERM.ODER ROEMER? 1987 - BNE PUGJMP 1988 - LDA #1 ;FLAG 1989 - STA $07B0 1990 - JSR ROMTOT1 ;NOCH PROTEC DA ? 1991 - CPX #5 1992 - BNE PUGJMP 1993 - JSR BUTTON 1995 -PUGJMP JMP PUGFINE 1999 -; 2000 -PUGNA1 JSR BUTTON 2001 - LDA #0 2002 - STA COLOR 2003 -PWF INC $033F ;MOVE! 2005 -PUG0 JSR PBUTT1 2006 - LDA COLOR 2007 - CMP #8 2008 - BNE PUGGG0 2009 - JMP PUG0C 2011 -PUGGG0 LDA MOVER 2012 - BEQ PUGG0 2013 - JSR MOVEU 2014 - JMP PUG0C 2015 -PUGG0 JSR WAIT 2016 - LDA 56320 2017 - LSR 2018 - BCS PUG0A 2019 - JMP HOOCH 2020 -RUNTER LDA COLOR 2021 - ASL 2022 - TAY 2023 - LDA DAT4+5,Y ;Y-KOORD 2024 - CMP #$C6 ;UNTEN? 2025 - BEQ PUGW1 2026 - BCS PUG0C 2027 - LDA #$C6 2028 - JMP PUGW0 2029 -PUGW1 LDA #$CC 2030 -PUGW0 STA MPOKE+1 2031 - INC MOVER ;RUNTER! 2032 - JMP PUG0C 2034 -PUG0A LSR 2035 - BCS PUG0B 2036 - JMP RUNTER 2037 -HOOCH LDA COLOR 2038 - ASL 2039 - TAY 2040 - LDA DAT4+5,Y 2041 - CMP #$C6 2042 - BCC PUG0C 2043 - BEQ PUGW2 2044 - LDA #$C6 2045 - JMP PUGW3 2050 -PUGW2 LDA #$B3 2055 -PUGW3 STA MPOKE1+1 2060 - LDX #3 ;HOCH! 2065 - STX MOVER 2070 - JMP PUG0C 2075 -PUG0B LSR 2076 - LSR 2080 - LSR 2085 - BCS PUG0C 2090 - JSR PBUTTON ;BUTTON! 2099 -;BEWEGEN DER SPRITES 2100 -PUG0C LDA DAT4+16 ;HIGH-X 2101 - INC DAT4+4 2102 - BNE PUG1 2103 - ORA #4 2105 -PUG1 INC DAT4+6 2106 - BNE PUG2 2108 - ORA #8 2110 -PUG2 INC DAT4+8 2111 - BNE PUG3 2113 - ORA #16 2150 -PUG3 DEC DAT4+10 2151 - BNE PUG3A 2152 - AND #223 ;LOESCH. 2154 - DEC DAT4+10 2155 -PUG3A DEC DAT4+12 2156 - BNE PUG3B 2157 - AND #191 2159 - DEC DAT4+12 2160 -PUG3B DEC DAT4+14 2161 - BNE PUG4 2163 - AND #127 2170 - DEC DAT4+14 ;WICHTIG 2174 -PUG4 STA DAT4+16 ;HIGH-X 2175 - JSR TOTEAUS 2176 - JSR SQR ;SPQR? 2177 - CPY #0 2178 - BEQ PUG5 2179 - TYA ;2ODER3 2180 - TAX ;->X 2181 -PUGFINE CPX #5 ;TOD-URSACHE=PROTEC? 2182 - BEQ PJMP 2183 - JMP PUGFI1 2184 -PJMP JMP PWF ;PROTEC! 2185 -PUG5 LDA FIG5 ;NUR LEV 2186 - CMP #1 ;2/3 ! 2187 - BEQ PUG54 2188 - CMP #4 2189 - BCS PUG54 2190 - LDA COLOR ;KEIN 2191 - CMP #8 ;STEUER- 2192 - BNE PUG54 ;SPRITE? 2193 - LDX #2 ;ROMTOT 2194 - JMP PUGFINE 2195 -PUG54 LDX #0 ;SPR0 2196 -PUG55 STX $FC 2197 - LDA DAT5,X 2198 - CMP #101 ;SPRBLOC 2199 - BCS FUSS 2200 - JSR REITER 2201 -PUG6 CPX #2 ;SCHLACHT ZUENDE? 2202 - BCS PUGFINE ;JA 2205 - LDX $FC 2206 - INX 2207 - CPX #3 2208 - BNE PUG55 2209 -PUGOK JSR SWAIT ;*3 2214 - JMP PUG0 2215 -; 2216 -; 2217 -; 2218 -REITER JSR GSPRA ;HI-X 2220 - LDA $FC 2221 - ASL 2222 - TAX 2225 - LDA DAT4+4,X 2226 - TAY 2227 - SEC ;HINTEN 2228 - SBC #20 ;FUER BEIDE ABFRAGEN! 2230 - STA $FB 2250 -REIT1 CPY DAT4+10 2251 - BNE REIT2 2252 - JSR GSPR0 2253 - CPX #1 ;ROMTOT? 2254 - BCS REIT5 2255 -REIT2 CPY DAT4+12 2256 - BNE REIT3 2257 - JSR GSPR1 2258 - CPX #1 2259 - BCS REIT5 2260 -REIT3 CPY DAT4+14 2261 - BNE REIT4 2262 - JSR GSPR2 2263 - CPX #1 2264 - BCS REIT5 2265 -REIT4 DEY 2266 - CPY #255 2267 - BNE REIT44 2268 - INC $A7 ;HI-X LOESCHEN 2270 -REIT44 CPY $FB 2271 - BNE REIT1 2272 - LDX #0 ;WEITER! 2275 -REIT5 RTS 2280 -;VORNE NUR FUSS ABFRAGEN! 2300 -FUSS JSR REITER ;HINTEN! 2301 - CPX #1 ;ROMTOT? 2302 - BCS FUSS5 2303 - JSR GSPRA ;HIGH-X 2305 - LDA $FC 2306 - ASL 2307 - TAX 2308 - LDA DAT4+4,X 2309 - TAY 2311 - CLC 2315 - ADC #13 2320 - STA $FB 2340 -FUSS1 CPY DAT4+10 2341 - BNE FUSS2 2342 - JSR GSPR0 2343 - CPX #1 ;ROMTOT? 2344 - BCS FUSS5 2345 -FUSS2 CPY DAT4+12 2346 - BNE FUSS3 2347 - JSR GSPR1 2348 - CPX #1 2349 - BCS FUSS5 2350 -FUSS3 CPY DAT4+14 2351 - BNE FUSS4 2352 - JSR GSPR2 2353 - CPX #1 2354 - BCS FUSS5 2355 -FUSS4 INY 2356 - BNE FUSS44 2357 - DEC $A7 ;HI-X SETZEN 2360 -FUSS44 CPY $FB 2365 - BNE FUSS1 2366 - LDX #0 ;ALL OK! 2370 -FUSS5 JMP PUG6 2396 -; 2397 -;GSPR0-2 WIRD VON 'REITER' UND 2398 -; 'FUSS' AUFGERUFEN ! 2399 -; 2400 -GSPR0 LDA #0 2401 - JMP GSPR 2405 -GSPR1 LDA #1 2406 - JMP GSPR 2410 -GSPR2 LDA #2 2415 -GSPR STA $F9 ;RETTEN 2416 - STY $FD 2417 - LDA $FC ;ROEMER 2420 - ASL ;Y-KOORD 2425 - TAX 2430 - LDA DAT4+5,X 2435 - SEC ;IST 2440 - SBC #13 ;GERMAN. 2445 - STA $A6 ;Y-KO IM 2450 - LDA DAT4+5,X ;BEREICH 2451 - CLC ;VON 2452 - ADC #15 ;-13 BIS 2453 - STA $02 ;14 ? 2454 - LDA $F9 2455 - ASL 2456 - TAX 2457 - LDA DAT4+11,X 2458 - CMP $A6 ;<-13 2459 - BCC GSPRWF 2460 - CMP $02 ;>+14 2461 - BCS GSPRWF 2462 - JMP GSPRD ;OK! 2463 -GSPRWF LDX #0 ;Y ENTHAELT NOCH $FD !! 2468 - RTS ;X=0 !!! 2469 -;UNTERPRG FUER ROEMER-HIGH-X 2470 -GSPRA LDA DAT4+16 2471 - LSR 2472 - LSR 2473 - LDX $FC ;ROMSPR 2474 -GSPRAA LSR ;HIGH-X 2475 - BCC GSPRB ;NACH$A7 2480 - LDY #0 2484 - JMP GSPRC 2485 -GSPRB LDY #1 2487 -GSPRC STY $A7 2490 - CPX #0 2492 - BEQ GSPRCC 2493 - DEX 2494 - JMP GSPRAA 2495 -GSPRCC RTS 2496 -; 2497 -GSPRD LDA DAT4+16 ;GERMAN. 2500 - LDX $F9 ;GERMSPR 2505 -GSPRE ASL 2510 - BCC GSPRF 2515 - LDY #0 2516 - JMP GSPRG 2520 -GSPRF LDY #1 2525 -GSPRG CPX #2 2530 - BEQ GSPRH 2532 - INX 2534 - JMP GSPRE 2535 -GSPRH CPY $A7 ;GLEICH? 2540 - BEQ GSPRI 2541 - LDX #0 ;WICHTIG 2542 -GSPRJ LDY $FD 2543 - RTS 2545 -GSPRI JSR PRUEG1 ;KLOPPE 2550 - JMP GSPRJ 2599 -; 2600 -PRUEG1 JSR BLINK 2604 - LDY $F9 2605 - LDA STAERKE+3,Y;GERM. 2606 - STY $0342 ;NO. 2610 - TAY 2611 -; 2612 - LDX $FC 2615 - LDA STAERKE,X ;ROEMER 2616 - STX $0343 ;NO. 2617 - TAX 2638 -;Y=GERMSTAERKE ; X=ROEMERSTAERKE 2639 -;0342=GERMNUMMER ; 0343=ROEMERNO. 2640 -PRUEG11 CPY #1 2645 - BNE PRUEG3 2650 - CPX #1 2655 - BNE PRUEG3 2660 - LDA $DC04 ;RND 2661 - ADC $D012 2662 - CMP #128 2665 - BCS PRUEG2 ;WENN 2670 - DEY ;BEIDE 2675 - JMP PRUEG4 ;=1 2680 -PRUEG2 DEX 2681 - JMP PRUEG4 2682 -PRUEG3 DEY ;SONST 2683 - DEX ;BEIDE-1 2684 -; 2685 -PRUEG4 STX $A6 2686 - STY $02 2687 - LDA $0342 ;GERM.NO 2690 - TAY 2692 - LDA $02 2693 - STA STAERKE+3,Y 2694 - LDA $0343 ;ROEM.NO 2695 - TAX 2696 - LDA $A6 2697 - STA STAERKE,X 2698 - LDX $A6 2699 - LDY $02 2700 -; 2701 - CPX #0 ;EINER 2705 - BEQ PRROEM ;=0 ? 2706 - CPY #0 2710 - BEQ PRGERM 2715 - JMP PRUEG11 2716 -;EINER TOT ! 2717 -PRGERM LDA $0342 2718 - CLC 2719 - ADC #3 2724 - LDX #87 ;X-KO+HI 2725 - JMP PRUEG5 2726 -PRROEM LDA $07AD ;ANZ.DER SPRITES,DIE MAN VERLIEREN DARF(0=ALLE) 2727 - BEQ PRROEM1 2728 - INC $07AE ;+1TOTER 2729 - CMP $07AE ;DUERFEN NOCH WELCHE VERLOREN WERDEN? 2730 - BNE PRROEM1 ;JA ! 2731 - LDX #2 ;X=2 BEENDET DIE SCHLACHT(VERLOREN)/JMP PUGFINE 2732 - RTS 2735 -PRROEM1 LDA $0343 2748 - LDX #1 ;X-KOOR 2749 -PRUEG5 STA $07A6 2750 - ASL ;*2 2751 - TAY 2752 - TXA ;X-KOORD 2753 - STA DAT4+4,Y 2754 - LDA DAT3+5,Y ;Y-KOORD 2755 - STA DAT4+5,Y 2756 - LDA DAT4+16 ;HIGH-X 2760 - CPY #6 2765 - BCC PRUEG6 2775 - CPY #8 2780 - BCC HIGHX1 2785 - BEQ HIGHX2 2790 - ORA #128 2791 -HIGHX3 STA DAT4+16 2795 - LDX #0 ;GERMTOT 2796 - JMP PRUEG9 ;-1000 2800 -HIGHX1 ORA #32 2805 - JMP HIGHX3 2810 -HIGHX2 ORA #64 2815 - JMP HIGHX3 2820 -PRUEG6 CPY #2 2825 - BCC PRUEG6A 2830 - BEQ PRUEG6B 2839 - AND #239 2845 - JMP PRUEG6C 2850 -PRUEG6A AND #251 2856 - JMP PRUEG6C 2860 -PRUEG6B AND #247 ;SPR1 2890 -PRUEG6C STA DAT4+16 2900 -PRUEG7 TYA ;DURCH2 2902 - LSR 2903 - TAY 2904 - CPY COLOR 2905 - BNE PRUEG8 ;ROEMER 2906 - LDA MOVER 2907 - BEQ PRUEG8 2910 - LDX #0 2915 - STX MOVER 2919 - CMP #3 ;HOCH 2920 - BCS PRUEG7A ;ODER 2921 - LDX MPOKE+1 ;RUNTER? 2922 - JMP PRUEG7B 2923 -PRUEG7A LDX MPOKE1+1 2924 -PRUEG7B LDA COLOR ;SPRNO. 2925 - ASL ;Y-KOOR 2926 - TAY 2927 - TXA 2928 - STA DAT4+5,Y 2929 -PRUEG8 LDX #1 ;ROEMTOT 2930 -PRUEG9 STX $02 ;MERKEN 2931 - JSR REGSAVE 2934 - JSR PUF1000 ;-1000 2935 - LDY $07A6 2936 - LDA DAT5,Y ;SPRBLOCK 2937 - STA $A6 2940 - CPY #3 ;GERM? 2945 - BCS PRUEGF 2946 -;ROEMERSPR 2950 - CMP #101 ;ROEMER 2955 - BCS PRUEGA 2960 - LDX $07A1 ;COMI 2965 - LDY $07A2 2966 - LDA #97 ;SPRBLOC 2967 - JMP PRUEGB 2970 -PRUEGA LDX $07A3 ;LIMI 2975 - LDY $07A4 2976 - LDA #101 2980 -PRUEGB STA $07A5 2981 - JSR SYSTEMX 2990 - CPY #0 ;TOT ? 2995 - BEQ PRUEGC ;JA 3000 -PRUEGR JMP POKAY ;OK! 3010 -PRUEGC JSR PUF1000 3011 - LDX $A6 ;BLOCK 3014 - CPX #101 3015 - BCS PRUEGD 3016 - LDX $07A3 ;NOCH 3017 - LDY $07A4 ;LIMI? 3018 - LDA #101 3019 - JMP PRUEGE 3020 -PRUEGD LDX $07A1 3021 - LDY $07A2 3022 - LDA #97 3024 -PRUEGE STA $07A5 3025 - JSR SYSTEMY 3029 - CPY #0 ;TOT? 3030 - BNE PRUEGR 3031 - INC $07A9 ;TOT+1 3032 - LDX $07A9 ;ALLE 3033 - CPX #3 ;TOT? 3034 - BEQ ROMTOT 3035 - LDA $0343 ;ROM.NO. 3036 - LDX #0 ;X-KOOR 3037 - JMP EINERTOT 3038 -ROMTOT LDA #0 ;FLAG 3040 - STA $07B0 3044 - JMP ROMTOT1 ;ALLE TOT! 3045 -;GERMANEN 3050 -PRUEGF CMP #101 ;LIMI? 3055 - BCS PRUEGG 3060 - LDX #<(GCOMI) 3065 - LDY #>(GCOMI) 3066 - LDA #99 3067 - JMP PRUEGH 3070 -PRUEGG LDX #<(GLIMI) 3075 - LDY #>(GLIMI) 3076 - LDA #103 3080 -PRUEGH STA $07A5 3084 - JSR SYSTEMX 3090 - CPY #0 ;TOT? 3095 - BNE PRUEGR ;NEIN 3110 -PRUEGJ JSR PUF1000 3114 - LDX $A6 ;BLOCK 3115 - CPX #101 3116 - BCS PRUEGK 3117 - LDX #<(GLIMI) ;NOCH 3118 - LDY #>(GLIMI) ;LIMI? 3119 - LDA #103 3120 - JMP PRUEGL 3121 -PRUEGK LDX #<(GCOMI) 3122 - LDY #>(GCOMI) 3123 - LDA #99 3124 -PRUEGL STA $07A5 3125 - JSR SYSTEMY 3129 - CPY #0 ;TOT? 3130 - BEQ PRUEGM ;JA 3131 - JMP PRUEGR 3135 -PRUEGM INC $07AA ;TOT+1 3136 - LDX $07AA 3137 - CPX #3 3138 - BEQ GERTOT 3139 - LDX #50 ;X-KOOR 3140 - LDA $0342 ;GER.NO 3145 - CLC 3150 - ADC #3 3155 -EINERTOT TAY ;SPRBLOC 3156 - LDA #0 ;=0 3157 - STA DAT5,Y 3158 - TYA 3160 - ASL ;YKOOR=0 3161 - TAY 3162 - LDA #0 3165 - STA DAT4+5,Y 3170 - TXA ;X-KOOR 3175 - STA DAT4+4,Y 3180 - JMP POKAY2 3195 -GERTOT LDX #3 ;ALLE TOT 3196 - RTS ;SOFORT ZURUECK.X=2/3 FUEHRT ZUM LABEL PUGFINE! 3199 -; 3200 -PBUTTON JSR WAIT 3210 - LDX #0 ;COUNTER 3215 - LDY COLOR 3216 - CPY #8 3217 - BEQ PBRTS 3220 -PB0 CPY #2 3225 - BNE PB1 3230 - LDY #255 ;+1=0 3235 -PB1 INY 3240 - LDA DAT5,Y 3241 - BEQ PB2 ;WEITER 3245 - CMP $FA 3250 - BEQ PBOK 3255 - LDA $FA 3260 - BEQ PBOK 3278 -PB2 INX 3280 - CPX #3 ;ALLE GEPRUEFT? 3282 - BNE PB0 3283 - LDY #8 ;KEINS 3284 -PBOK STY COLOR 3286 -PBRTS RTS 3287 -; 3288 -PBUTT1 LDY $FA 3289 - BEQ PBUTT2 3290 - LDY COLOR 3291 - CPY #8 ;AUS ? 3292 - BEQ PBUTT2 3294 - LDA DAT5,Y 3295 - CMP $FA 3296 - BEQ PBUTT2 3297 - JSR PBUTTON 3298 -PBUTT2 RTS 3299 -; 3300 -SQR LDY #0 ;NO KOLL 3301 - LDX #0 3302 - LDA DAT4+16 3303 - LSR 3304 - LSR 3305 -SQR0 LSR 3306 - STA $A6 3307 - BCC SQR1 3309 - LDA DAT4+4,X 3310 - CMP #$30 3315 - BCC SQR1 3320 - LDY #3 ;GER.TOT 3325 - RTS 3330 -SQR1 INX 3335 - INX 3340 - CPX #6 3345 - BEQ SQR11 3350 - LDA $A6 3355 - JMP SQR0 3356 -;ROEMERSPQR 3357 -SQR11 LDA $A6 3360 -SQR2 LSR 3365 - STA $A6 3370 - BCS SQR3 3375 - LDA DAT4+4,X 3380 - CMP #$2C 3385 - BCS SQR3 3390 - LDY #2 ;ROM TOT 3395 -SQR4 RTS 3400 -SQR3 INX 3405 - INX 3410 - CPX #12 3415 - BEQ SQR4 3420 - LDA $A6 3425 - JMP SQR2 3549 -; 3600 -MOVEU LDA COLOR 3605 - ASL 3606 - STA $02 3610 - TAY 3615 - LDA DAT4+5,Y ;Y-KOOR 3620 - TAY 3625 - LDX MOVER 3630 - CPX #3 3635 - BEQ MOVEU3 3640 -MOVEU1 INY ;RUNTER 3641 - TYA 3642 - LDY $02 3643 - STA DAT4+5,Y 3644 - TAY 3645 -MPOKE CPY #$FF ;AKT.WERT WIRD VON PRG GEPOKED 3650 - BEQ MOVEU2 3660 - RTS 3665 -MOVEU2 LDX #0 3670 - STX MOVER 3675 - RTS 3699 -;HOCH ! 3715 -MOVEU3 DEY ;HOCH 3720 - TYA 3725 - LDY $02 3730 - STA DAT4+5,Y 3735 - TAY 3740 -MPOKE1 CPY #$FF ;S.O. 3745 - BEQ MOVEU2 3755 - RTS 3799 -; 3800 -PPRINT JSR SWITCH 3805 - STY $033E 3810 -MSTA3 LDA #<(OCOMI) 3815 - LDY #>(OCOMI) 3820 - LDX #23 3825 - STX $FA ;ZEILE 3830 - LDX #3 ;POS. 3835 - JSR TEXTPR 3840 - LDA $FB ;PUFFER 3845 - STA $07A1 ;MERKEN 3850 - LDA $FC 3855 - STA $07A2 3860 - LDA #<(LIMI) 3865 - LDY #>(LIMI) 3870 - LDX #23 3875 - STX $FA 3880 - LDX #11 3885 - JSR TEXTPR 3890 - LDA $FB ;PUFFER 3895 - STA $07A3 ;MERKEN 3900 - LDA $FC 3905 - STA $07A4 3910 - LDX #0 ;WICHTIG 3915 - STX $033E 3920 - LDA #<(GCOMI) 3925 - LDY #>(GCOMI) 3930 - LDX #23 3935 - STX $FA 3940 - LDX #26 3945 - JSR TEXTPR 3950 - LDA #<(GLIMI) 3955 - LDY #>(GLIMI) 3960 - LDX #23 3965 - STX $FA 3970 - LDX #34 3975 - JSR TEXTPR 3980 - RTS 3999 -; 4100 -REGSAVE LDX #0 4105 -REG1 LDA $F9,X ;$F9-$FD 4110 - STA RSAVE,X ;RETTEN 4115 - INX 4120 - CPX #5 4125 - BNE REG1 4130 - RTS 4135 -REGLOAD LDX #0 4140 -REG2 LDA RSAVE,X 4145 - STA $F9,X 4150 - INX 4155 - CPX #5 4160 - BNE REG2 4165 - RTS 4199 -; 4200 -POKAY LDY $07A6 ;SPRNUMMER 4210 - LDA $07A5 ;SPRBLOC 4215 - STA DAT5,Y 4220 - CMP #101 ;LIMI? 4225 - BCS POKAY0 ;JA! 4230 -MSTA1 LDA #3 ;STAERKE/IN LEVEL1 =3 4235 - JMP POKAY1 ;(COMI) 4240 -POKAY0 LDA #1 ;LIMI/ST 4245 -POKAY1 STA STAERKE,Y 4246 -POKAY2 JSR PPRINT 4247 - JSR POKAY3 4248 - JSR REGLOAD 4249 - LDX $02 4250 - RTS 4253 -; 4254 -POKAY3 LDX #3 ;=NUR GERMANEN 4255 -POKAY33 LDA STAERKE,X 4260 - CMP #3 ;BEI GER 4262 - BNE POKAY4 ;WIRD 3 4264 - DEC STAERKE,X ;=2 4266 -POKAY4 INX 4268 - CPX #6 4270 - BNE POKAY33 4271 -;OSTROEM.COMIS=0(NUR LEVEL1) ? 4272 -ABFRAGE LDX $07A1 ;NUR IN 4274 - LDY $07A2 ;LEVEL1 4276 - STX $F9 ;EIGENE 4278 - STY $FA ;COMIS 4280 - LDY #0 ;TOT ? 4282 -ABFR1 LDA ($F9),Y 4284 - BNE ABFR2 4286 - INY 4288 - CPY #4 4290 - BNE ABFR1 4291 - STY $02 ;4=ABBRUCH 4293 -ABFR2 RTS 4299 -; 4300 -SETSPRITE LDA $07A1 ;COMI/LO 4305 - STA $FB 4310 - LDA $07A2 ;COMI/HI 4312 - LDX $07A3 ;LIMI/LO 4314 - LDY $07A4 ;LIMI/HI 4316 - JSR SETSPR1 4318 - CPX #1 4319 - BNE SETS1 4320 - LDX #2 ;ROMTOT 4321 - RTS 4322 -SETS1 LDX $F8 4323 - STX ANZAHL ;COMI 4324 - LDX $F9 4325 - STX ANZAHL+1 ;LIMI 4326 - LDA #97 ;SPRBLOCK/COMI 4327 - LDX #101 ;/LIMI 4328 - LDY #0 ;=ROEMER 4330 - JSR SETSPR2 4331 - LDA $FE ;TOTE 4332 - STA $07A9 ;ROEMER 4333 -; 4335 -MSTA4 LDA #<(GCOMI) ;LOW 4336 - STA $FB 4337 - LDA #>(GCOMI) ;HIGH 4340 - LDX #<(GLIMI) ;LOW 4345 - LDY #>(GLIMI) ;HIGH 4350 - JSR SETSPR1 4351 - CPX #1 4352 - BNE SETS2 4353 - LDX #3 ;=GERM.TOT 4354 - RTS 4357 -SETS2 LDX $F8 4358 - STX ANZAHL+2 ;COMI 4359 - LDX $F9 4360 - STX ANZAHL+3 ;LIMI 4362 - LDA #99 ;SPRBLOCK/COMI 4365 - LDX #103 ;/LIMI 4370 - LDY #3 ;=GERMAN 4374 - JSR SETSPR2 4375 - JSR POKAY3 ;GERM.STAERKE VON 3 AUF 2 4376 - LDA $FE ;TOTE 4377 - STA $07AA ;GERMAN. 4380 - LDX #0 ;=OK! 4385 - RTS 4390 -; 4391 -;SETSPR1 STELLT DIE NORMALAUF- 4392 -;STELLUNG HER (2COMI,1LIMI), 4393 -;FALLS DIES MOEGLICH IST. 4394 -;ANSONSTEN WIRD DAS AUFGESTELLT, 4395 -;WAS VORHANDEN IST. 4399 -; 4400 -SETSPR1 STA $FC 4401 - STX $FD 4402 - STY $FE 4405 - LDX #0 ;X=ANZAHL SPRITES/WIRD AUF 3 HOCHGEZAEHLT 4410 - STX $F8 ;ANZAHL COMIS (2 IM NORMALFALL) 4412 - STX $F9 ;ANZAHL LIMIS (1 IM NORMALFALL) 4414 -; 4415 - LDY #0 4417 - LDA ($FB),Y ;BEI 4419 - BNE SET0 ;GROESSER 4421 - INY ;ALS 10000 UND 100000 SCHON OK! 4423 - LDA ($FB),Y 4425 - BEQ SET1 4427 -SET0 LDY #255 ;OK/S.O. 4428 - JMP SET2 4429 -;TAUSENDERSTELLE ABFRAGEN! 4430 -SET1 LDY #2 4432 - LDA ($FB),Y 4434 - TAY 4436 - BEQ SETLIMI ;KEINE COMI DA! 4438 -SET2 INC $F8 ;+1 COMI 4440 - INX ;+1 SPR 4442 - DEY ;-1000 4444 - BEQ SETLIMI ;KEINE COMI MEHR DA! 4446 - INC $F8 ;+1 COMI 4448 - INX ;+1 SPR 4450 - DEY ;-1000 4452 -SETLIMI STY $FF ;NOCH VORHAND.COMI/FALLS LIMI NICHT AUSREICHEN! 4453 -; 4454 - LDY #0 4456 - LDA ($FD),Y 4458 - BNE SET25 4460 - INY 4462 - LDA ($FD),Y 4464 - BEQ SET3 4466 -;MEHR ALS 10000 LIMIS 4468 -SET25 LDY #255 ;=GENUG 4470 - JMP SET4 4471 -;TAUSENDERSTELLE 4472 -SET3 LDY #2 4474 - LDA ($FD),Y 4476 - TAY 4478 - BEQ SPEZIAL 4480 -SET4 INC $F9 ;+1 LIMI 4482 - INX ;+1 SPR 4484 - CPX #3 ;3SPRITES VORHANDEN? 4485 - BEQ SETRTS 4486 - DEY ;-1000 4488 - BNE SET4 4489 - JMP SPEZIAL 4490 -SETRTS LDX #0 ;=OK! 4491 - RTS 4492 -SPEZIAL CPX #0 ;UEBERHAUPT KEINE SPRITES DA? 4493 - BEQ SETRTS1 ;DANN KEINE TRUPPEN VORHANDEN! 4494 - LDY $FF ;NOCH VORHANDENE COMIS 4495 - BEQ SETRTS ;KEINE 4496 -SPEZI1 INC $F8 ;+1 COMI 4497 - INX ;+1 SPR 4498 - CPX #3 ;FERTIG? 4499 - BEQ SETRTS 4500 - DEY ;-1000 4501 - BNE SPEZI1 4502 - JMP SETRTS ;OK! 4503 -SETRTS1 LDX #1 ;=STOP 4504 - RTS 4505 -; 4506 -;SETSPR2 SETZT SPRBLOCKS(DAT5)UND 4507 -;STAERKEN UND SCHALTET NICHT 4508 -;VORHANDENE SPRITES AUS(AB 4552) 4509 -; 4510 -SETSPR2 STA $FD ;COMI 4512 - STX $FE ;LIMI 4514 - STY $FF ;0 ODER3 4516 -SETT1 LDA $F8 4518 - BEQ SETT2 4520 - DEC $F8 ;-1 COMI 4522 - LDA $FD ;SPRBLOC 4524 - STA DAT5,Y 4526 -MSTA2 LDA #3 ;STAERKE/IN LEVEL1=3 4528 - STA STAERKE,Y 4530 - INY ;+1 SPR 4532 - JMP SETT1 4533 -; 4534 -SETT2 LDA $F9 4536 - BEQ SETT3 4538 - DEC $F9 4540 - LDA $FE ;SPRBLOC 4542 - STA DAT5,Y 4544 - LDA #1 4546 - STA STAERKE,Y 4548 - INY 4550 - JMP SETT2 4551 -; 4552 -SETT3 LDX #0 ;TOT- 4553 - STX $FE ;COUNTER 4554 - LDX $FF ;0=ROEMER/3=GERM. 4555 - BEQ SETROM 4556 - CPY #6 ;ALLE GERMANEN-SPRITES? 4558 - BEQ SETOKAY 4560 - TYA 4562 - SEC 4564 - SBC #3 4566 - TAY 4567 -;Y= ANZAHL(GUELTIGER)GERMSPRITES 4568 - LDX #50 ;X-KOORD 4570 - LDA #5 4572 - JMP SETBOTH 4574 -SETROM CPY #3 ;ALLE ROEM.SPRITES? 4576 - BEQ SETOKAY 4578 - LDX #0 ;X-KOORD 4580 - LDA #2 4582 -SETBOTH STA $F8 4587 - STX $FF ;X-KOORD 4590 -SETBTH1 INY ;+1 SPR 4591 - INC $FE ;+1 TOT 4592 - LDA $F8 ;ZUERST WIRD DAS LETZTE SPRITE(2 O. 5) GELOESCHT 4593 - TAX 4594 - LDA #0 4595 - STA DAT5,X 4596 - TXA 4597 - ASL 4598 - TAX 4599 - LDA $FF ;X-KOORD 4600 - STA DAT4+4,X 4605 - LDA #0 ;Y-KOORD 4610 - STA DAT4+5,X 4615 - DEC $F8 ;SPRNUMMER,DIE BEIM NAECHST.MAL AUSGESCHALT.WIRD 4620 - CPY #3 ;MUSS NOCH EINS AUSGESCHALTET WERDEN? 4625 - BEQ SETOKAY ;NEIN. 4630 - JMP SETBTH1 4635 -SETOKAY RTS 4748 -; 4749 -; 4750 -TOTEAUS LDX #0 4755 -TTAUS LDA DAT4+5,X ;Y-KOOR 4760 - BNE TTAUS1 ;=0 ? 4761 - CPX #6 4762 - BCS TTAUS0 4765 - DEC DAT4+4,X ;INC VON VORHIN RUECKGAENGIG MACHEN 4766 - JMP TTAUS1 4767 -TTAUS0 INC DAT4+4,X ;DEC RUECKGAENGIG 4770 -TTAUS1 INX 4775 - INX 4780 - CPX #12 4785 - BNE TTAUS 4790 - RTS 4800 -SYSTEMX JSR SYSX 4801 - JMP SYS5 4802 -SYSTEMY STX $F9 4803 - STY $FA 4804 - JSR SYSX 4805 - JMP SYS6 4806 -; 4807 -SYSX STX $07AC ;MERKEN 4808 - CMP #99 4809 - BCC SYS1 4810 - BEQ SYS2 4815 - CMP #101 4820 - BEQ SYS3 4825 - LDX #3 4830 - JMP SYS4 4835 -SYS1 LDX #0 4840 - JMP SYS4 4845 -SYS2 LDX #2 4850 - JMP SYS4 4855 -SYS3 LDX #1 4860 -SYS4 STX $07AB 4861 - RTS 4862 -; 4865 -SYS5 DEC ANZAHL,X 4870 - LDX $07AC 4875 - JSR NORMSUB 4876 -SYS6 LDX #0 4877 - STX PUFFER 4880 - STX PUFFER+1 4881 - STX PUFFER+3 4882 - LDX $07AB 4885 - LDA ANZAHL,X 4890 - STA PUFFER+2 4894 - LDY #0 4895 -SYS7 LDA ($F9),Y ;ERGEBNISMIT ANZAHL AKTUELLER SPRITES VERGLEICH. 4900 - CMP PUFFER,Y 4905 - BNE SYS8 4910 - INY 4915 - CPY #4 4920 - BNE SYS7 4925 - LDY #0 ;GRUPPE TOT 4930 - RTS 4935 -SYS8 LDX $07AB ;NAECHSTES SPRITE 4940 - INC ANZAHL,X 4945 - LDY #1 4950 - RTS 4999 -; 5000 -BLINK LDX COLOR 5005 - STX $A6 ;MERKEN 5010 - LDX $FC ;BLINK 5015 - CPX $A6 ;SPRITE 5020 - BNE BLINK0 ;ROT ? 5025 - LDX #10 ;ROT AUS 5030 - STX COLOR 5050 -BLINK0 LDX #0 5055 -BLINK1 LDA BLINKDAT,X 5060 - LDY $FC ;ROEMER 5065 - STA COLORS+2,Y 5070 - LDY $F9 ;GERM. 5075 - STA COLORS+5,Y 5080 - STX $02 ;WAIT 5090 - JSR WAIT 5091 - LDX $02 5096 - INX 5097 - CPX #5 ;FERTIG? 5098 - BNE BLINK1 5099 - LDX $A6 5100 - STX COLOR 5105 - RTS 5199 -; 5200 -PUGFI1 STX $07AD ;MERKEN 5201 - JSR PPRINT 5202 - LDA #0 5203 - STA $033F 5204 - LDA #$EA ;=NOP 5205 - STA STANDER 5206 - LDX #40 5207 - JSR SWAIT 5208 - LDX #<(GLIMI) ;ENDE 5209 - LDY #>(GLIMI) ;DES 5210 - STX $F9 ;KAMPFES 5215 - STY $FA 5220 - LDX #<(GCOMI) 5225 - LDY #>(GCOMI) 5230 - JSR ADD 5235 - LDX #4 ;LAENGE 5240 - STX $F8 5245 - LDA #<(FIGACT) 5250 - LDY #>(FIGACT) 5255 - LDX FIGD 5260 - JSR WRITEU 5265 - LDY #0 5270 -PUGFI2 LDA GCOMI,Y 5275 - STA ($FB),Y 5280 - INY 5285 - CPY #4 5290 - BNE PUGFI2 5300 - JSR DEFAULT 5305 - LDA #0 5310 - STA 53248+21 5335 - LDA $07AD ;URSACHE 5340 - CMP #2 5345 - BEQ PUGFI3 5350 - INC $0790 ;SIEG! 5351 - LDX FIG9 ;HOF 5352 - BEQ PUGFI22 5353 - DEC FIG9 ;STEIGT 5354 -PUGFI22 LDX FIGD 5355 - LDA FIG6,X ;STAMM 5356 - BEQ PUGFI4 5357 - DEC FIG6,X ;STEIGT 5363 - JMP PUGFI4 5364 -PUGFI3 INC $0791 ;LOOSER 5365 - LDX FIG9 ;HOF 5366 - CPX #6 5367 - BEQ PUGFI33 5368 - INC FIG9 ;SINKT 5369 -PUGFI33 LDX FIGD 5370 - LDA FIG6,X ;STAMM 5371 - CMP #6 5372 - BEQ PUGFI4 5373 - INC FIG6,X ;SINKT 5377 -PUGFI4 LDA $0790 5378 - CMP $0792 5379 - BEQ WINNER 5380 - LDA $0791 5385 - CMP $0793 5390 - BEQ LOOSER 5395 - LDY #0 ;AGAIN! 5400 - JMP AUSWERT 5405 -WINNER LDY #1 5410 - JMP AUSWERT 5415 -LOOSER LDY #2 5420 -AUSWERT STY $07A9 ;MERKEN 5421 - LDA #0 ;KEIN TOD 5422 - STA $02 5425 - LDA FIG5 5430 - CMP #2 ;LEVEL? 5435 - BCC L1 5440 - BEQ JMPL2 5445 - CMP #4 5450 - BCC JMPL3 5455 - BEQ JMPL4 5460 - CMP #6 5466 - BCC JMPL5 5470 - BEQ JMPL6 5475 - CMP #8 5480 - BCC JMPL7 5485 -LX JMP LX 5486 -; 5488 -JMPL2 JMP L2 5490 -JMPL3 JMP L3 5492 -JMPL4 JMP LX 5494 -JMPL5 JMP LX 5496 -JMPL6 JMP LX 5498 -JMPL7 JMP LX 5499 -; 5500 -;LEVEL1 5515 -L1 JSR ROLLE 5520 - LDY $07A9 5525 - CPY #1 ;ERGEBN. 5530 - BNE L1A 5532 - JMP L1B 5535 -L1A LDA #$22 5540 - LDX #$B6 5545 -NIEDERL JSR STAA 5550 - JSR BUTTON 5555 - JSR ABBAU 5560 - LDA #39 5565 - STA 53265 5570 - LDX #3 5575 - JSR ANLOAD 5620 - INC $02 ;T.O.D! 5625 - RTS 5790 -L1B JSR SWITCH 5791 - TAX 5792 - LDY #4 5793 - STY $F8 5794 - LDA #<(OCOMI) 5795 - LDY #>(OCOMI) 5796 - JSR WRITEU 5797 - LDA $FB 5798 - STA $F9 5799 - LDA $FC 5800 - STA $FA 5801 - JSR SWITCH 5802 - TAX 5803 - LDA #<(COMI) 5804 - LDY #>(COMI) 5805 - JSR WRITEU 5806 - JSR ADD+4 5807 - LDA FIGD 5808 - CMP #3 5809 - BEQ L1C 5810 - LDX #3 5811 - JMP L1D 5812 -L1C LDX #5 5813 -L1D STX FIGD 5816 - LDA #$24 5817 - LDX #$4E 5818 -SIEG JSR STAA 5819 - JSR BUTTON 5820 - JSR ABBAU 5822 - JSR BEFOERD 5826 -SIGGI LDX #3 5830 - JSR ANLOAD 5831 - JSR ORDO 5840 - LDX FIGD 5865 - JSR AUF2 5875 - RTS 5999 -; 6000 -ROMTOT1 LDX FIG5 ;PROTECT 6002 - CPX #4 ;ERST AB 6004 - BCC RT11 ;CONSUL! 6010 - JSR SWITCH 6012 - TAX ;BEZIRK 6014 - LDA #4 6016 - STA $F8 6018 - LDA #<(PROTC) 6020 - LDY #>(PROTC) 6025 - JSR WRITEU 6030 - LDY #0 6035 -RT1 LDA ($FB),Y 6040 - BNE RPROTEC 6045 - INY 6050 - CPY #4 6055 - BNE RT1 6060 -RT11 LDX #2 ;KEINE 6065 - RTS ;PROTECT 6070 -RPROTEC LDA #3 6072 - STA MSTA1+1 ;STAERKE 6074 - STA MSTA2+1 6075 - LDA #$3F 6080 - LDY #$40 6085 - STY MSTA3+1 6090 - STA MSTA3+3 6100 - LDA #16 ;=P 6105 - STA $CF99 6110 - JSR PPRINT 6115 - LDA #$60 ;=RTS 6116 - STA MSTA4 6117 - LDA $07B0 ;FLAG 6120 - BNE RT3 6121 - LDY #5 6122 -RT2 LDA PRODAT,Y 6123 - STA DAT4+4,Y 6124 - DEY 6125 - BNE RT2 6129 -RT3 JSR SETSPRITE ;NUR ROEMER! 6130 - LDA #0 6135 - STA $FA 6140 - STA COLOR 6145 - LDX #5 ;=WEITER 6150 - RTS 6198 -; 6199 -; 6200 -ANGRIFF LDA FIG5 ;TEXT1 6205 - CMP #1 ;NUR BEI 6210 - BNE ANGG ;LEGATUS 6230 - LDA #$18 6235 - LDX #$00 6240 - JSR STAA 6241 - JSR BUTTON 6245 -ANGG LDA #3 ;=4PICS 6250 - JSR RND 6255 - LDY #0 6260 -ANG0 LDA ANDAT,Y 6265 - CMP $0787 6270 - BEQ ANG1 6275 - INY 6280 - INY 6285 - INY 6290 - INY 6295 - INY 6300 - JMP ANG0 6305 -ANG1 INY ;+1 BYTE 6310 - STY $FA 6315 - TXA 6320 - CLC 6325 - ADC $FA 6330 - TAY 6335 - LDA ANDAT,Y 6340 - BEQ ANGG 6350 - STX $0788 ;RETTEN 6355 - CPX #0 6360 - BNE ANG2 6365 - LDA #$1F ;WALD 6370 - LDX #$AE 6375 - JMP ANGCO 6380 -ANG2 CPX #2 6385 - BCC GRAS 6390 - BEQ WUESTE 6395 - LDA #$1E ;FLUSS 6400 - LDX #$21 6405 - JMP ANGCO 6410 -GRAS LDA #$21 6415 - LDX #$38 6420 - JMP ANGCO 6425 -WUESTE LDA #$19 6430 - LDX #$7B 6435 -ANGCO JSR STAA 6440 - JSR BUTTON 6445 - LDA #$1B 6450 - LDX #$0C 6455 - JSR STAA 6460 - JSR BUTTON 6465 - LDA #$1C 6470 - LDX #$9F 6475 - JSR STAA 6480 - JSR BUTTON 6485 - JSR ABBAU 6490 - LDA #139 6495 - STA 53265 6510 - LDA #$F0 ;OHNE 6515 - STA BUTTON+5 ;BUTTON 6520 - LDA $0788 ;ORT 6525 - CLC ;LOAD 6530 - ADC #48 ;CODE 6535 - LDX #1 ;FARBE 6540 - JSR PICCY 6545 - LDA #$D0 6550 - STA BUTTON+5 6555 - JSR PICSPR 6560 - JSR ANIRQ 6565 - JSR HALF 6571 - LDA FIG5 6572 - CMP #1 ;1KAMPF? 6573 - BEQ LEVEL1 6574 - JSR LEVEL2 6575 -LEVEL1 LDA #1 6580 - STA $07A7 ;TIMER 6590 - JSR PPRINT 6595 - JSR PUGNA 6596 - RTS 6600 -; 6605 -LEVEL2 LDA #2 ;AENDERN 6610 - STA MSTA1+1 ;DES 6615 - STA MSTA2+1 ;LEVEL1 6620 - LDA #$60 ;=RTS 6625 - STA ABFRAGE 6630 - LDA #$3F 6635 - LDX #$50 6640 - STX MSTA3+1 6645 - STA MSTA3+3 6650 - LDA #$A9 6655 - STA MSTA4 6660 - RTS 7000 -L2 JSR ROLLE 7002 - LDY $07A9 7004 - CPY #1 ;2XVERLO 7005 - BEQ L2A ;REN ? 7010 - BCC L2B 7011 -LBOTH LDA #$29 7012 - LDX #$16 7015 - JMP NIEDERL 7016 -; 7020 -L2A JSR BATTLE 7023 - STX FIGD 7024 - LDA #$27 ;SIEG 7025 - LDX #$7E 7029 - JMP SIEG 7030 -L2B LDA #$2A ;HI 7035 - LDX #$AE ;LO 7040 -L2BB JSR STAA 7045 - JSR BUTTON 7050 - JSR ABBAU 7055 - LDA #39 7060 - STA 53265 7065 - LDX #3 7070 - JSR ANLOAD 7075 - JSR BEFLOAD 7076 - STX $07A9 7080 - JSR ORDO 7081 - LDX $07A9 7085 - JSR AUF2 7090 - RTS 7499 -; 7500 -L3 JSR ROLLE 7505 - LDY $07A9 7510 - CPY #1 7515 - BEQ L3B 7520 - BCS LBOTH ;=TOT 7525 - LDX $07AD ;NOCHMAL 7526 - CPX #2 7527 - BNE L3A 7528 - JMP L2B ;1X LOSE 7529 -L3A LDA #$2F ;1X WIN 7530 - LDX #$AE 7531 - JMP L2BB 7534 -L3B LDA #$27 ;SIEG! 7535 - LDX #$7E 7540 - JSR STAA 7545 - JSR BUTTON 7550 - JSR ABBAU 7555 - LDA #"1" ;CONSUL 7560 - JSR RANGLOAD 7590 - JSR BEFOERD 7595 - JSR BATTLE 7600 - STX FIGD 7601 - JSR SWITCH ;BEZIRK 7602 - STY FIGE 7605 - LDX #1 ;KOSTEN- 7610 - STX $3F01 ;LOSE 7612 - STX $3F02 ;INFOS 7615 - STX $3F03 7620 - JMP SIGGI 9999 -; 10020-ANFILE .TX "SPRROL" 10030-DAT2 .BY $28,$39,$58,$39,$28,$7C,$58,$7C,$00,$39,$30,$39,$00,$7C,$30 10031- .BY $7C,$F0 10040-DAT3 .BY $2A,$C0,$30,$C0,$60,$CC,$60,$B3,$45,$C6,$FA,$CC,$FA,$B3,$17 10041- .BY $C6,$82 10045-DAT4 .BY $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF 10046- .BY $FF,$FF ;IRQDAT3 10050-DAT5 .BY 0,0,0,0,0,0;AKTUELLE POINTER 10060-KDAT .BY 3,$FF,0,0 ;HISPAN. 10065- .BY 0,2,4,$FF ;GALLIA 10070- .BY 5,$FF,0,0 ;ITALIA 10075- .BY 1,$FF,0,0 ;RAETIA 10076-COLORS .BY $0A,$0A,0,0,0,0,0,0 10085-COLOR .BY 0 ;KAMPF 10086-MOVER .BY 0 10100-TEXTX1 .TX " C: L: VERSUS C: L:" 10101-.BY 0 10140-GLIMI .BY 0,0,0,0 10145-GCOMI .BY 0,0,0,0 10160-STAERKE .BY 0,0,0,0,0,0 10170-RSAVE .BY 0,0,0,0,0 10175-BLINKDAT .BY 12,11,15,1,0 10180-ANZAHL .BY 0,0,0,0 10185-OCOMI .BY 0,1,0,0 ;MITGEBRACHTEN OSTROEM.REITER(HISPANIA) 10187- .BY 0,1,0,0 ;UNWICHTIG 10189- .BY 0,1,0,0 ;ITALIA 10190-PRODAT .BY 10,$CC,10,$B3,0,$C6 50000-.EN