Dies ist der 6502-Assembler-Code des Spiels Electro Maniac!. Er wurde zuerst auf einem Atari 800 und später auf einem Atari 800 XL entwickelt. Als Editor und Compiler hat der OSS MAC/65 Macro Assembler 4.20 von Stephen D. Lawrow sehr gute Dienste geleistet.
0100 .OPT LIST 0110 ; ****************************** 0120 ; * Electro Maniac! * 0130 ; ****************************** 0140 ; * Include-Dateien Verwaltung * 0150 ; * Letzte Revision: 28-03-88 * 0160 ; * by Stefan C. Mueller * 0170 ; * (C) MCMLXXXVII S.C.M.Soft! * 0180 ; ****************************** 0190 ; 0200 ; SAVE #D:MV.M65 0210 ; ASM,,#D:EMANIAC.OBJ 0220 ; 0230 .INCLUDE #D:SOUNDM.M65 0100 ; ****************************** 0110 ; * Macros fuer Sound * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:SOUNDM.M65 0180 ; 0190 .MACRO SOUNDI1 0200 ;******************************* 0210 ;* Bonus Fanfare * 0220 ;******************************* 0230 LDA #14 0240 STA SOUNDP11 0250 STA SOUNDP12 0260 LDA #1 0270 STA SOUNDN1 0280 .ENDM 0290 ; 0300 .MACRO SOUNDA1 0310 LDA SOUNDN1 0320 CMP #1 0330 BNE SOL1 0340 LDA SOUNDP12 0350 STA AUDF1 0360 LDA SOUNDP11 0370 ORA #16*10 0380 STA AUDC1 0390 ; 0400 DEC SOUNDP12 0410 BNE SOL1 0420 DEC SOUNDP11 0430 LDA SOUNDP11 0440 STA SOUNDP12 0450 BPL SOL1 0460 LDA #0 0470 STA SOUNDN1 0480 BPL SOL1 0490 LDA #0 0500 STA SOUNDN1 0510 SOL1 0520 .ENDM 0530 ; 0540 .MACRO SOUNDI2 0550 ;******************************* 0560 ;* Sicherungkasten rep. * 0570 ;******************************* 0580 LDA #15 0590 STA SOUNDP11 0600 STA SOUNDP12 0610 LDA #4 0620 STA SOUNDP13 0630 LDA #2 0640 STA SOUNDN1 0650 .ENDM 0660 ; 0670 .MACRO SOUNDA2 0680 LDA SOUNDN1 0690 CMP #2 0700 BNE SOL2 ; 0710 LDA SOUNDP11 0720 STA AUDC1 0730 LDA #0 0740 STA AUDF1 0750 DEC SOUNDP11 0760 BNE SOL3 0770 INC SOUNDN1 0780 SOL2 0790 LDA SOUNDN1 ;SOUNDN1=3? 0800 CMP #3 0810 BNE SOL3 ;NO 0820 DEC SOUNDP13 0830 BNE SOL20 0840 LDA #4 0850 STA SOUNDP13 0860 DEC SOUNDP12 0870 BNE SOL20 0880 LDA #0 0890 STA SOUNDN1 0900 SOL20 LDA 20 0910 AND #1 0920 BEQ SOL22 0930 LDA #50 0940 STA AUDF1 0950 BNE SOL30 0960 SOL22 LDA #40 0970 STA AUDF1 0980 SOL30 LDA SOUNDP12 0990 ORA #16*10 1000 STA AUDC1 1010 SOL3 1020 .ENDM 1030 ; 1040 .MACRO SOUNDI9 ;MONSTERSTERBEN 1050 ;******************************* 1060 ;* Monstersterben * 1070 ;******************************* 1080 LDA #9 1090 STA SOUNDN1 1100 LDA #30 1110 STA SOUNDP11 1120 .ENDM 1130 ; 1140 .MACRO SOUNDA9 1150 LDA SOUNDN1 1160 CMP #9 1170 BNE EOS9 1180 ; 1190 LDA 20 1200 AND #1 1210 BEQ S9L1 1220 DEC SOUNDP11 1230 BNE S9L1 1240 LDA #0 1250 STA SOUNDN1 1260 S9L1 1270 LDA SOUNDP11 1280 LSR A 1290 STA AUDC1 1300 LDA RANDOM 1310 AND #127 1320 ORA #64 1330 STA AUDF1 1340 EOS9 1350 .ENDM 1360 ; 1370 .MACRO SOUNDI3 1380 ; ****************************** 1390 ; * Bob springt * 1400 ; ****************************** 1410 LDA #20 1420 STA SOUNDP21 ;TONHOEHE 1430 LDA #14 1440 STA SOUNDP22 ;LAUTSTAERKE 1450 LDA #1 1460 STA SOUNDP23 ;DELTA-TON 1470 LDA #3 1480 STA SOUNDN2 ;SOUND-NR 1490 .ENDM 1500 ; 1510 .MACRO SOUNDA3 ;SPRUNG 1520 LDA SOUNDN2 1530 CMP #3 1540 BNE EOS3 1550 ; 1560 LDA SOUNDP21 1570 CLC 1580 ADC SOUNDP23 1590 STA SOUNDP21 1600 STA AUDF2 1610 CMP #20 ;UNTERE GRENZE 1620 BNE SM3OK1 1630 LDA #1 1640 STA SOUNDP23 1650 JMP SM3LST 1660 SM3OK1 CMP #22 ;OBERE GR. 1670 BNE SM3OK2 1680 LDA #-1 1690 STA SOUNDP23 1700 SM3LST 1710 DEC SOUNDP22 1720 BNE SM3OK2 1730 LDA #0 1740 STA SOUNDN2 1750 SM3OK2 LDA SOUNDP22 1760 ORA #10*16 1770 STA AUDC2 1780 EOS3 1790 .ENDM 1800 ; 1810 .MACRO SOUNDI4 ;FUESSE 1820 ; ****************************** 1830 ; * Bob rennt * 1840 ; ****************************** 1850 LDA #4 1860 STA SOUNDN2 1870 .ENDM 1880 ; 1890 .MACRO SOUNDA4 1900 LDA SOUNDN2 1910 CMP #4 1920 BNE EOS4 1930 ; 1940 LDA SOUNDP21 1950 CMP #5 1960 BCC SM4L0 1970 LDA #4 1980 STA SOUNDP21 1990 SM4L0 2000 LDA SOUNDP21 2010 STA AUDF2 2020 STA AUDC2 2030 DEC SOUNDP21 2040 LDA JMPHIM? 2050 BNE SM4L1 2060 LDA STICK 2070 AND #12 2080 BEQ SM4L1 2090 BNE EOS4 2100 SM4L1 LDA #0 2110 STA SOUNDN2 2120 EOS4 2130 .ENDM 2140 ; ------------------------------ 2150 .MACRO SOUNDA0 2160 LDA SOUNDN2 2170 BNE EOS0 2180 LDA #0 2190 STA AUDF2 2200 STA AUDC2 2210 EOS0 2220 .ENDM 2230 ; ------------------------------ 2240 ; freezing stones 2250 .MACRO SOUNDA5 2260 LDA SOUNDN2 2270 CMP #5 2280 BNE EOS5 2290 LDA RANDOM 2300 AND #15 2310 STA AUDF2 2320 LDA #10*16+6 2330 STA AUDC2 2340 EOS5 2350 .ENDM 2360 ; ------------------------------ 2370 .MACRO SOUNDI5 2380 ; ****************************** 2390 ; * Freezing Stones * 2400 ; ****************************** 2410 LDA #5 2420 STA SOUNDN2 2430 .ENDM 2440 ; ------------------------------ 2450 .MACRO SOUNDI6 2460 ; ****************************** 2470 ; * Nach Sprung aufkommen * 2480 ; ****************************** 2490 LDA #10 2500 STA SOUNDP21 2510 LDA #6 2520 STA SOUNDN2 2530 .ENDM 2540 ; ------------------------------ 2550 .MACRO SOUNDA6 2560 LDA SOUNDN2 2570 CMP #6 2580 BNE EOS6 2590 LDA SOUNDP21 2600 STA AUDC2 2610 STA AUDF2 2620 DEC SOUNDP21 2630 BNE EOS6 2640 LDA #0 2650 STA SOUNDN2 2660 EOS6 2670 .ENDM 2680 ; ------------------------------ 2690 .MACRO SOUNDI7 STERBEN 2700 ; ****************************** 2710 ; * Bob's Sterbeabgang * 2720 ; ****************************** 2730 LDA #7 2740 STA SOUNDN2 2750 LDA #50 2760 STA SOUNDP21 2770 .ENDM 2780 ; ------------------------------ 2790 .MACRO SOUNDA7 2800 LDA SOUNDN2 2810 CMP #7 2820 BNE EOS7 2830 LDA 20 2840 AND #1 2850 BEQ SM7L1 2860 LDA #16*4+8 2870 STA AUDC2 2880 LDA SOUNDP21 2890 STA AUDF2 2900 JMP EOS7 2910 SM7L1 2920 LDA #0 2930 STA AUDF2 2940 STA AUDC2 2950 DEC SOUNDP21 2960 BNE EOS7 2970 STA SOUNDN2 2980 EOS7 2990 .ENDM 3000 ; 3010 .MACRO SOUND3A1 3020 ; LDA SOUNDN3 3030 ; BNE Z2 3040 LDA NOMONSTER 3050 BEQ Z0 3060 LDA AMADIP 3070 BNE Z1 3080 Z0 LDA #0 3090 STA AUDF3 3100 STA AUDC3 3110 BEQ Z2 3120 Z1 3130 LDA RANDOM ;COLOR 3140 AND #255-4 ; " 3150 ORA #8 ; " 3160 STA $D016 ;COLOR! 3170 LDA RANDOM 3180 STA AUDF3 3190 LDA RANDOM 3200 AND #2 3210 STA AUDC3 3220 LDA AMADIP ;AntiMonst.Anl. 3230 BNE Z2 ;ist ON 3240 LDA #0 ;ist OFF 3250 STA SOUNDN3 3260 STA AUDC3 3270 Z2 3280 .ENDM 3290 ; 3300 ; 3310 .MACRO SOUND3I2 3320 LDA #1 3330 STA SOUNDN4 3340 LDA #0 3350 STA SOUNDP41 3360 STA SOUNDP43 3370 .ENDM 3380 ; 3390 ; 3400 .MACRO SOUND3A2 3410 LDA SOUNDN4 3420 CMP #1 ;BIN ICH'S? 3430 BNE Z20 ;NO! 3440 LDA SOUNDP43 ;Neue Note? 3450 BNE Z10 ;Nein 3460 LDY SOUNDP41 ;Ja 3470 CPY #22 ;Letzte Note 3480 BNE Z12 ;Nein 3490 LDA #0 ;Ja 3500 STA SOUNDN4 ;Sound aus! 3510 LDA EXTRAP ;soll EXTRA 3520 CMP #5 ;resetet w.? 3530 BNE Z11 ;nein 3540 LDY #4 ;Ja! 3550 Z17 LDA TXTB+18,Y ;let's 3560 STA SCREEN+498,Y ;clear 3570 DEY ;our 3580 BPL Z17 ;EXTRA! 3590 BMI Z11 ;JMP ende 3600 Z12 LDA NOTEN,Y ;Note 3610 STA AUDF4 3620 LDA #$A8 ;Lautstaerke 3630 STA AUDC4 3640 LDA LAENGEN,Y ;Tonlaenge 3650 STA SOUNDP42 3660 LDA #2 ;SCM-Sound! 3670 STA SOUNDP43 3680 INC SOUNDP41 ;next Ton 3690 Z10 LDA SOUNDP43 3700 CMP #1 ;Ding o. Dong? 3710 BNE Z13 3720 Z15 LDA SOUNDP42 3730 ORA #160 ;pure Tone! 3740 STA AUDC4 3750 DEC SOUNDP42 3760 BPL Z11 3770 LDA #0 3780 STA SOUNDP43 3790 BEQ Z11 3800 Z20 BNE Z11 3810 Z13 DEC SOUNDP42 3820 BPL Z11 3830 DEC SOUNDP43 3840 LDA #7 3850 STA SOUNDP42 3860 BNE Z15 3870 NOTEN .BYTE 60,60,45,60,45,35,45,45,45,35,45 3880 .BYTE 35,29,35,45,35,29,35,45,60,60,45 3890 LAENGEN .BYTE 0,0,0,0,0,0,8,0,0,0,0,0,0,8,0,0,8,0,0,8,8,24 3900 Z11 3910 .ENDM 0240 ; =B800 0244 BASE = $B800 ;Startadr.PM/FNT =9C00 0245 BASE2 = $9C00 ;Startadr.Prg. =5000 0250 LESTARTADR = $5000 =00B8 0260 PMS = BASE/256 =00B8 0270 FONTP = BASE/256 =B800 0280 FONTPT = BASE =0200 0290 OFFRAM = 512 =B400 0300 SCREEN = BASE-1024 ;($B400) =B428 0310 SCREEN2 = SCREEN+40 =BC00 0320 MANIACSRAM = BASE+1024 =BD90 0330 MANIACDLRAM = BASE+1024+400 0340 ; 0350 .INCLUDE #D:LABEL.M65 0100 ; ****************************** 0110 ; * Label Definition * 0120 ; * Letzte Revision: 10-04-88 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:LABEL.M65 0180 ; 0190 .OPT NO OBJ 0200 ; 0210 ;Konstanten-Definitionen 0220 ; =0014 0230 BYTES = 20 ;20 Monster =0012 0240 LINESHOCH = 18 ;17! max.Sprunghoehe =001B 0250 MAXRUNTER = 27 ;max.Sturz-Hoehe =00FA 0260 KILLTIME = 5*50 ;Sterbe-Zeit =0036 0270 BOFF = 54 ;Offset Monster =00C8 0280 WRECHTS = 200 ;[Rechter Rand] =0030 0290 WLINKS = 48 ;[Linker Rand] =000F 0300 SCOFF1 = 15 ;Score-Pos. =0026 0310 SCOFF2 = 38 Top-Score-Pos. =B428 0320 SUCHSTMIN = SCREEN2 =B5E0 0330 SUCHSTMAX = SCREEN2+[20*22] =01F4 0340 FRESSTIMESW = 10*50 ;10 Sek.fress 0350 ; 0360 ; System-Adr. & Page 0-Adr. 0370 ; =0278 0380 STICK0 = 632 ;Joystick 0 =D40A 0390 WAITHS = $D40A ;Wait hz.Syncr. =D20A 0400 RANDOM = 53770 ;Zufallsgenerat. =D200 0410 AUDF1 = $D200 ;Frequenz 1 =D201 0420 AUDC1 = $D201 ;Verzerrung 1 =D202 0430 AUDF2 = $D202 ;Frequenz 2 =D203 0440 AUDC2 = $D203 ;Verzerrung 2 =D204 0450 AUDF3 = $D204 ;Frequenz 3 =D205 0460 AUDC3 = $D205 ;Verzerrung 3 =D206 0470 AUDF4 = $D206 ;Frequenz 4 =D207 0480 AUDC4 = $D207 ;Verzerrung 4 =00CF 0490 DLIC = $CF ;DLI-Counter =00CB 0500 PAGE01 = $CB ;Page 0 Adr.1 =00CD 0510 PAGE0 = $CD ;Page 0 Adr.2 =00D0 0520 PAGE02 = $D0 ;Page 0 Adr.3 =00DA 0530 LEPOINTER = $DA ;Page 0 Adr.4 =00EE 0540 SUCHSTADR = $EE 0550 ; 0560 ;Speicher-Reservierungen PAGE 6 0570 ; 0000 0580 *= $0600 0590 ; 0600 00 0600 XPOS .BYTE 0 ;X-Pos.Bob 0601 00 0610 YPOS .BYTE 0 ;Y-Pos.Bob 0602 00 0620 STATUS .BYTE 0 ;Bob Status 0603 0630 STATUSM *= *+BYTES ;Status Mons. 0617 0640 XHI *= *+BYTES ;X-Pos.Monster 062B 0650 XRECHTS *= *+BYTES ;Wende Marke1 063F 0660 XLINKS *= *+BYTES ;Wende Marke2 0653 00 0670 NOKASTEN .BYTE 0 ;#der Kaesten 0654 00 0680 NOMONSTER .BYTE 0 ;#der Monster 0690 ; 0655 0700 XLO *= *+BYTES ;X-Lo Bob 0669 0710 COLOR *= *+BYTES ;Monsterfarbe 067D 0720 LOECHER *= *+17 ;Bob-Loecher 0730 ; 068E 00 0740 DELTAX .BYTE 0 ;Bob X-Speed 068F 00 0750 DELTAY .BYTE 0 ;Bob Y-Speed 0690 00 0760 STICK .BYTE 0 ;New Stick Data 0691 0000 0770 RAM0 .BYTE 0,0 ;zum Rechnen 0693 00 0780 JMPTIME .BYTE 0 ;Todes-Countdown 0694 00 0790 JMPHIM? .BYTE 0 ;Springen (Y/N) 0695 00 0800 STONE1 .BYTE 0 ;Stein unter Bob 0696 00 0810 STONE2 .BYTE 0 ;Stein 'in' Bob 0697 00 0820 STONE3 .BYTE 0 ;Plattform u.Bob 0698 00 0830 VBIS .BYTE 0 ;VBI-Speicher 0699 00 0840 DARFTRIG .BYTE 0 ;darf Bob jmp.? 069A 00 0850 RUNTER .BYTE 0 ;hoch o.runter? 069B 00 0860 BOBTOT .BYTE 0 ;1= er ist tot 069C 00 0870 FNTZ .BYTE 0 ;Font-Zaehler 069D 00 0880 LASER? .BYTE 0 ;Laser an? 069E 00 0890 CRASHLINE .BYTE 0 ;Zeile d.Koll. 069F 00 0900 CRASHBIT .BYTE 0 ;p2 to Pl.Col 06A0 00 0910 WASNUN .BYTE 0 ;Level-Kontrolle 06A1 00 0920 PLAY? .BYTE 0 ;Control of Game 06A2 00 0930 VBIANAUS .BYTE 0 ;ganzer VBI off 06A3 00 0940 YPOSRESCUE .BYTE 0 06A4 00 0950 SOUNDP11 .BYTE 0 ;Channel 0 06A5 00 0960 SOUNDP12 .BYTE 0 06A6 00 0970 SOUNDP13 .BYTE 0 06A7 00 0980 SOUNDN1 .BYTE 0 06A8 00 0990 SOUNDP21 .BYTE 0 ;Channel 1 06A9 00 1000 SOUNDP22 .BYTE 0 06AA 00 1010 SOUNDP23 .BYTE 0 06AB 00 1020 SOUNDN2 .BYTE 0 06AC 00 1030 SOUNDN3 .BYTE 0 ;Channel 2 06AD 00 1040 SOUNDN4 .BYTE 0 06AE 00 1050 SOUNDP41 .BYTE 0 06AF 00 1060 SOUNDP42 .BYTE 0 06B0 00 1070 SOUNDP43 .BYTE 0 06B1 00000000 1080 SCOREM .BYTE 0,0,0,0 ;Score 1090 ;SCOREHI .BYTE 0,0,0,0 06B5 00 1100 NOLIVES .BYTE 0 ;# Bob's Leben 06B6 0000 1110 LENODEC .BYTE 0,0 ;Level# 06B8 00 1120 LENODIG .BYTE 0 06B9 00 1130 EXTRAP .BYTE 0 ;EXTRA-Zeiger 06BA 00 1140 SCOREFRASS .BYTE 0 ;Score down? 06BB 0000 1150 FRESSTIME .BYTE 0,0 06BD 00 1160 KASTENRESET .BYTE 0 06BE 00 1170 AMADIP .BYTE 0 1180 ; 1190 .OPT OBJ 0360 ; ------------------------------ 06BF 0370 *= BASE2 9C00 4C7E9D 0375 JMP BASE21 ;INIT-Einsprung 9C03 0380 HEADER 9C03 204C9C 0520 JSR INITMANIACDL2 9C06 A949 0530 LDA # <DLLOAD2 9C08 8D09BE 0540 STA MANIACDLRAM+121 9C0B A99C 0550 LDA # >DLLOAD2 9C0D 8D0ABE 0560 STA MANIACDLRAM+122 9C10 A93B 0570 LDA # <DLLOAD 9C12 8D3002 0580 STA 560 9C15 8D02D4 0590 STA $D402 9C18 A99C 0600 LDA # >DLLOAD 9C1A 8D3102 0610 STA 561 9C1D 8D03D4 0620 STA $D403 9C20 A940 0630 LDA #64 9C22 8D6F02 0640 STA 623 9C25 8D1BD0 0650 STA $D01B 9C28 A900 0660 LDA #0 ;SCORE LOESCHEN 9C2A A003 0670 LDY #3 9C2C 99B106 0680 GG1 STA SCOREM,Y 9C2F 99BE9F 0690 STA SCOREHI,Y 9C32 88 0700 DEY 9C33 10F7 0710 BPL GG1 9C35 EEBF9F 0720 INC SCOREHI+1 :HI=00010000 9C38 4CEB9C 0730 JMP MAKECOLORUP 9C3B 70707070 0750 DLLOAD .BYTE 112,112,112,112,112,112,112,112,112,112,96,1 9C3F 70707070 9C43 70706001 9C47 90BD 0760 .WORD MANIACDLRAM 9C49 41 0770 DLLOAD2 .BYTE 65 9C4A 3B9C 0780 .WORD DLLOAD 0790 .INCLUDE #D:VORLOAD.M65 0100 ;******************************* 0110 ;* Vorspann fuer Laden & Titel * 0120 ;* (c) MCMLXXXVIII S.C.Mueller * 0130 ;* Version 27.03.88 * 0140 ;******************************* 0150 ; 0160 ;SAVE#D:VOR.M65 0170 ; =00DA 0180 HLPCOLOR = $DA =00DB 0190 HLPBITCOUNT = $DB =00DC 0200 HLPASL = $DC =00DD 0210 ?SMZP = $DD 0220 ; 9C4C 0230 INITMANIACDL2 9C4C A000 0240 LDY #0 9C4E A900 0250 LDA # <MANIACSRAM 9C50 85DD 0260 STA ?SMZP 9C52 A9BC 0270 LDA # >MANIACSRAM 9C54 85DE 0280 STA ?SMZP+1 9C56 A203 0290 ?SML1 LDX #3 9C58 A94F 0300 ?SML2 LDA #64+15 9C5A 9990BD 0310 STA MANIACDLRAM,Y 9C5D C8 0320 INY 9C5E A5DD 0330 LDA ?SMZP 9C60 9990BD 0340 STA MANIACDLRAM,Y 9C63 C8 0350 INY 9C64 A5DE 0360 LDA ?SMZP+1 9C66 9990BD 0370 STA MANIACDLRAM,Y 9C69 C8 0380 INY 9C6A CA 0390 DEX 9C6B 10EB 0400 BPL ?SML2 9C6D A5DD 0410 LDA ?SMZP 9C6F 18 0420 CLC 9C70 6928 0430 ADC #40 ;NORMAL PLAYF. 9C72 85DD 0440 STA ?SMZP 9C74 A5DE 0450 LDA ?SMZP+1 9C76 6900 0460 ADC #0 9C78 85DE 0470 STA ?SMZP+1 9C7A C078 0480 CPY #30*4 9C7C D0D8 0490 BNE ?SML1 0500 ; 9C7E A901 0510 LDA #1 9C80 9990BD 0520 STA MANIACDLRAM,Y 9C83 C8 0530 INY 9C84 A943 0540 LDA # <MANIACDL2 9C86 9990BD 0550 STA MANIACDLRAM,Y 9C89 C8 0560 INY 9C8A A9B1 0570 LDA # >MANIACDL2 9C8C 9990BD 0580 STA MANIACDLRAM,Y 9C8F 60 0590 RTS 0600 ;--------------------------- 9C90 0610 DCOMPMANIAC 9C90 A900 0620 LDA # <MANIACSRAM 9C92 85DD 0630 STA ?SMZP 9C94 A9BC 0640 LDA # >MANIACSRAM 9C96 85DE 0650 STA ?SMZP+1 9C98 A200 0660 LDX #0 9C9A A000 0670 LDY #0 9C9C A903 0680 ?SML3 LDA #3 9C9E 85DB 0690 STA HLPBITCOUNT 9CA0 BD1A9D 0700 LDA MANIACPICTURE,X 9CA3 E8 0710 INX 9CA4 85DC 0720 STA HLPASL 0730 ; 9CA6 A5DA 0740 ?SML4 LDA HLPCOLOR 9CA8 06DC 0750 ASL HLPASL 9CAA B002 0760 BCS ?SML5 9CAC 290F 0770 AND #$0F 9CAE 06DC 0780 ?SML5 ASL HLPASL 9CB0 B002 0790 BCS ?SML6 9CB2 29F0 0800 AND #$F0 9CB4 91DD 0810 ?SML6 STA (?SMZP),Y 9CB6 C8 0820 INY 9CB7 C028 0830 CPY #40 9CB9 F006 0840 BEQ ?SML9 9CBB C6DB 0850 DEC HLPBITCOUNT 9CBD 10E7 0860 BPL ?SML4 9CBF 30DB 0870 BMI ?SML3 9CC1 A5DD 0880 ?SML9 LDA ?SMZP 9CC3 18 0890 CLC 9CC4 6928 0900 ADC #40 9CC6 85DD 0910 STA ?SMZP 9CC8 A5DE 0920 LDA ?SMZP+1 9CCA 6900 0930 ADC #0 9CCC 85DE 0940 STA ?SMZP+1 9CCE A000 0950 LDY #0 9CD0 A5DA 0960 LDA HLPCOLOR 9CD2 18 0970 CLC 9CD3 6901 0980 ADC #$01 9CD5 290F 0990 AND #$0F 9CD7 48 1000 PHA 9CD8 A5DA 1010 LDA HLPCOLOR 9CDA 18 1020 CLC 9CDB 6910 1030 ADC #$10 9CDD 29F0 1040 AND #$F0 9CDF 85DA 1050 STA HLPCOLOR 9CE1 68 1060 PLA 9CE2 05DA 1070 ORA HLPCOLOR 9CE4 85DA 1080 STA HLPCOLOR 9CE6 E064 1090 CPX #100 9CE8 D0B2 1100 BNE ?SML3 9CEA 60 1110 RTS 1120 ;******************************* 9CEB 1130 MAKECOLORUP 9CEB A000 1140 LDY #0 9CED 98 1150 ?S100 TYA 9CEE 48 1160 PHA 9CEF 290F 1170 AND #$0F 9CF1 AA 1180 TAX 9CF2 BD0A9D 1190 LDA HLPCT,X 9CF5 85DA 1200 STA HLPCOLOR 9CF7 20909C 1210 JSR DCOMPMANIAC 9CFA 68 1220 PLA 9CFB A8 1230 TAY 9CFC A614 1240 LDX 20 9CFE E8 1250 INX 9CFF E8 1260 INX 9D00 E414 1270 ?S101 CPX 20 9D02 D0FC 1280 BNE ?S101 9D04 C8 1290 INY 9D05 C033 1300 CPY #$33 9D07 D0E4 1310 BNE ?S100 9D09 60 1320 RTS 9D0A 00112233 1330 HLPCT .BYTE $00,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$B B,$CC,$DD,$EE,$FF 9D0E 44556677 9D12 8899AABB 9D16 CCDDEEFF 1340 ; SAVE#D:MANIAC2.M65 9D1A 1350 MANIACPICTURE 9D1A 7DC001C0 1360 .BYTE 125,192,1,192,0,254,0,7,0,7,69,64,1,64,0,130,0,5 ,0,5 9D1E 00FE0007 9D22 00074540 9D26 01400082 9D2A 00050005 9D2E 5D400140 1370 .BYTE 93,64,1,64,0,170,0,7,0,5,209,95,127,125,249,171, 125,240,125,245 9D32 00AA0007 9D36 0005D15F 9D3A 7F7DF9AB 9D3E 7DF07DF5 9D42 91514405 1380 .BYTE 145,81,68,5,9,41,69,23,69,21,177,85,95,117,89,12 5,85,85,85,119 9D46 09294517 9D4A 4515B155 9D4E 5F75597D 9D52 55555577 9D56 A1515155 1390 .BYTE 161,81,81,85,81,69,85,85,85,64,191,119,223,87,81 ,69,215,93,215,119 9D5A 51455555 9D5E 5540BF77 9D62 DF575145 9D66 D75DD777 9D6A 80000050 1400 .BYTE 128,0,0,80,17,68,0,64,0,21,255,255,255,223,241,1 99,255,255,255,247 9D6E 11440040 9D72 0015FFFF 9D76 FFDFF1C7 9D7A FFFFFFF7 9D7E 0795 BASE21 9D7E 0810 *= 738 02E2 039C 0820 .WORD HEADER 0830 ;------------------------------- 02E4 0840 *= BASE21 9D7E 68 0850 PLA ;CLR STACK 9D7F 68 0860 PLA 9D80 68 0870 PLA ; WAT NU? 9D81 C963 0880 CMP #99 9D83 D00A 0890 BNE A9A 9D85 A900 0900 LDA #0 ; LOESCHE PAGE 6 9D87 A8 0910 TAY 9D88 990006 0920 ZZZ STA $0600,Y 9D8B C8 0930 INY 9D8C D0FA 0940 BNE ZZZ 9D8E 60 0950 RTS 9D8F 8DA106 0960 A9A STA PLAY? 9D92 C902 0970 CMP #2 9D94 D003 0980 BNE A2A 9D96 4C54B1 0990 JMP A0A ; SCOMP=> 9D99 C903 1000 A2A CMP #3 9D9B D003 1010 BNE A4A 9D9D 4CFEB1 1020 JMP A1A ; DECOMP=> 9DA0 C9FF 1030 A4A CMP #$FF 9DA2 D03C 1040 BNE A3A 9DA4 A027 1060 LDY #39 9DA6 B9B39D 1070 A8A LDA VSPT2,Y 9DA9 9900B4 1080 STA SCREEN,Y 9DAC 88 1090 DEY 9DAD 10F7 1100 BPL A8A 9DAF 208DAF 1110 JSR VORSPANN 9DB2 60 1120 RTS 9DB3 00000000 1200 VSPT2 .SBYTE " Electro Maniac! Level-Editor 2.0 " 9DB7 256C6563 9DBB 74726F00 9DBF 2D616E69 9DC3 61630100 9DC7 2C657665 9DCB 6C0D2564 9DCF 69746F72 9DD3 00120E10 9DD7 00000000 1220 ; 1230 ; ------------------------------ 1240 ; ORGINAL-PLAY EINSPRUNG ADRESSE 1250 ; MIT PLAY? = 4 ALS PARAMETER! 1260 ; ------------------------------ 9DDB 1270 ORGGAME 9DDB A904 1280 LDA #4 9DDD 8DA106 1290 STA PLAY? 9DE0 1300 A3A 1310 .INCLUDE #D:MAIN.M65 0100 ; ****************************** 0110 ; * Hauptprogramm * 0120 ; * Letzte Revision: 05-07-88 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:MAIN.M65 0180 ; 9DE0 0190 MAIN 0200 ;---- ALLES VOR EINEM SPIEL ---- 9DE0 A900 0210 LDA #0 9DE2 8DB906 0220 STA EXTRAP 9DE5 A928 0230 LDA # <SUCHSTMIN 9DE7 85EE 0240 STA SUCHSTADR 9DE9 A9B4 0250 LDA # >SUCHSTMIN 9DEB 85EF 0260 STA SUCHSTADR+1 0270 ;------------------------------- 9DED ADA106 0280 LDA PLAY? 9DF0 D003 0290 BNE MAINNL1 9DF2 4C069E 0300 JMP MAINL1 9DF5 0310 MAINNL1 9DF5 C901 0320 CMP #1 9DF7 D003 0330 BNE MAINNL4 9DF9 4C0D9E 0340 JMP MAINL4 9DFC 0350 MAINNL4 9DFC C904 0360 CMP #4 9DFE D003 0370 BNE MAINNL5 9E00 4C149E 0380 JMP MAINL5 9E03 0390 MAINNL5 9E03 4C77E4 0400 JMP $E477 ; ERROR ERROR ERROR 0410 ;******************************* 9E06 0420 MAINL1 ; PLAY?=0 9E06 20D4A1 0430 JSR INITGAME 9E09 201EA1 0440 JSR MPMBO 9E0C 60 0450 RTS 0460 ; 9E0D 0470 MAINL4 ; PLAY?=1 9E0D 2081A5 0480 JSR INITMDAT 9E10 20B9A2 0490 JSR LETEST 9E13 60 0500 RTS 0510 ; 9E14 0520 MAINL5 ; PLAY?=4 0530 ;******************************* 0540 ;* Hauptprogrammschleife 10-10 * 0550 ;******************************* 0560 ; 9E14 0570 GG2 9E14 2080A0 0580 JSR PRINTDT 9E17 208DAF 0590 JSR VORSPANN 9E1A 0600 GG3 9E1A AD1FD0 0610 LDA 53279 ;CONSOL 9E1D 4D10D0 0620 EOR 53264 ;TRIG0 pressed? 9E20 2901 0622 AND #1 ;'START'pressed? 9E22 F0F6 0630 BEQ GG3 ; no&no 0640 ; 9E24 A000 0650 LDY #0 9E26 A900 0660 LDA #0 9E28 990006 0670 GG4 STA $0600,Y 9E2B C8 0680 INY 9E2C D0FA 0690 BNE GG4 0700 ; 9E2E A905 0710 LDA #5 9E30 8DB506 0720 STA NOLIVES 9E33 A901 0730 LDA #1 9E35 8DB606 0740 STA LENODEC 0750 ; STA LENODIG 9E38 A900 0760 LDA # <LESTARTADR 9E3A 85DA 0770 STA LEPOINTER 9E3C A950 0780 LDA # >LESTARTADR 9E3E 85DB 0790 STA LEPOINTER+1 9E40 203E9F 0800 JSR SCOREOUT 9E43 20D4A1 0810 GG5 JSR INITGAME 9E46 2007A1 0820 JSR PRINTLIVES 0830 ; 9E49 2068A3 0840 JSR VORBILD ;GG5 OLD 9E4C 207EA1 0850 JSR LEVELINIT 9E4F 2081A2 0860 JSR PLAYPICTURE 9E52 ADA006 0870 LDA WASNUN 9E55 C903 0880 CMP #3 ;OPTION PRESSED? 9E57 F012 0890 BEQ GG8 ;'GAME OVER' 9E59 C902 0900 CMP #2 9E5B D006 0910 BNE GG7 ;BOB TOT! 0920 ;LEVEL GESCHAFFT! 0930 ; 9E5D 2048A1 0940 JSR LEVELNEXT 9E60 0950 GG6 9E60 4C439E 0960 JMP GG5 0970 ; 0980 ;BOB TOT 0990 ; 9E63 20A6A0 1000 GG7 JSR LIVEWEG 9E66 ADB506 1010 LDA NOLIVES ;=0? 9E69 D0F5 1020 BNE GG6 9E6B A900 1023 GG8 LDA #0 9E6D 8DB506 1025 STA NOLIVES ;BEI OPTION 9E70 206A9F 1030 JSR HISCORE 9E73 2068A3 1040 JSR VORBILD ;=>"GAME OVER" 9E76 4C149E 1050 JMP GG2 1320 ; ------------------------------ 1330 ACFO .INCLUDE #D:ACTIONFO.M65 0100 ; ****************************** 0110 ; * Bewegungen im Zeichensatz * 0120 ; * Letzte Revision: 06-09-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:ACTIONFO.M65 0190 ; 0200 ;ZAEHLER VON 0...3 =BA40 0220 FNTO = FONTP*256+8*8+OFFRAM =BA78 0230 FNTO2 = FONTP*256+15*8+OFFRAM 9E79 A514 0240 LDA 20 9E7B 2940 0250 AND #64 9E7D D014 0260 BNE LASER1 0270 ; 9E7F AD0AD2 0280 LDA RANDOM 9E82 8D78BA 0290 STA FNTO2 9E85 AD0AD2 0300 LDA RANDOM 9E88 8D79BA 0310 STA FNTO2+1 9E8B A901 0320 LDA #1 9E8D 8D9D06 0330 STA LASER? 9E90 4C9E9E 0340 JMP LASERE 9E93 A900 0350 LASER1 LDA #0 9E95 8D78BA 0360 STA FNTO2 9E98 8D79BA 0370 STA FNTO2+1 9E9B 8D9D06 0380 STA LASER? 9E9E 0390 LASERE 9E9E A514 0400 LDA 20 9EA0 2901 0410 AND #1 9EA2 F022 0420 BEQ NFM 9EA4 A000 0430 LDY #0 9EA6 EE9C06 0440 INC FNTZ 9EA9 AD9C06 0450 LDA FNTZ 9EAC 2903 0460 AND #3 9EAE 8D9C06 0470 STA FNTZ 9EB1 F02C 0480 BEQ COPY0 9EB3 C901 0490 CMP #1 9EB5 F01C 0500 BEQ COPY1 9EB7 C902 0510 CMP #2 9EB9 F00C 0520 BEQ COPY2 9EBB 0530 COPY3 9EBB B90DA6 0540 LDA POS4,Y 9EBE 9940BA 0550 STA FNTO,Y 9EC1 C8 0560 INY 9EC2 C038 0570 CPY #7*8 9EC4 D0F5 0580 BNE COPY3 9EC6 60 0590 NFM RTS 9EC7 0600 COPY2 9EC7 B9D5A5 0610 LDA POS3,Y 9ECA 9940BA 0620 STA FNTO,Y 9ECD C8 0630 INY 9ECE C038 0640 CPY #7*8 9ED0 D0F5 0650 BNE COPY2 9ED2 60 0660 RTS 9ED3 0670 COPY1 9ED3 B99DA5 0680 LDA POS2,Y 9ED6 9940BA 0690 STA FNTO,Y 9ED9 C8 0700 INY 9EDA C038 0710 CPY #7*8 9EDC D0F5 0720 BNE COPY1 9EDE 60 0730 RTS 9EDF 0740 COPY0 9EDF B985A7 0750 LDA POS1,Y 9EE2 9940BA 0760 STA FNTO,Y 9EE5 C8 0770 INY 9EE6 C038 0780 CPY #7*8 9EE8 D0F5 0790 BNE COPY0 9EEA 60 0800 RTS 1340 .INCLUDE #D:DLI.M65 0100 ; ****************************** 0110 ; * Display List Interuppt * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:DLI.M65 0180 ; 9EEB 48 0190 DLI PHA 9EEC 98 0200 TYA 9EED 48 0210 PHA 0220 ; 9EEE A4CF 0230 LDY DLIC 9EF0 B91706 0240 LDA XHI,Y 9EF3 8D0AD4 0250 STA WAITHS 9EF6 8D00D0 0260 STA 53248 9EF9 B92106 0270 LDA XHI+[BYTES/2],Y 9EFC 8D01D0 0280 STA 53249 9EFF B96906 0290 LDA COLOR,Y 9F02 8D12D0 0300 STA $D012 9F05 B97306 0310 LDA COLOR+[BYTES/2],Y 9F08 8D13D0 0320 STA $D013 0330 ; 9F0B AD0FD0 0340 LDA $D00F ;P3PL 9F0E 2903 0350 AND #3 9F10 F009 0360 BEQ NOCOL 9F12 8C9E06 0370 STY CRASHLINE 9F15 8D9F06 0380 STA CRASHBIT 9F18 8D1ED0 0390 STA $D01E ;HITCLR 9F1B 0400 NOCOL 9F1B E6CF 0410 INC DLIC 9F1D 68 0420 PLA 9F1E A8 0430 TAY 9F1F 68 0440 PLA 9F20 40 0450 RTI 1350 .INCLUDE #D:SCORE.M65 0100 ; ****************************** 0110 ; * Punkteanzeige * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * Verbesserung am: 12-11-87 * 0140 ; * by Stefan C. Mueller * 0150 ; * (C) MCMLXXXVII S.C.M.Soft! * 0160 ; ****************************** 0170 ; 0180 ; SAVE #D:SCORE.M65 0190 ; 9F21 0200 SCOREADD 9F21 0A 0210 ASL A 9F22 0A 0220 ASL A ;*8 9F23 18 0230 CLC 9F24 6903 0240 ADC #3 9F26 AA 0250 TAX 9F27 F8 0260 SED 9F28 18 0270 CLC 9F29 A003 0280 LDY #3 9F2B B9B106 0290 IJ LDA SCOREM,Y 9F2E 7D5E9F 0300 ADC SCDT,X 9F31 99B106 0310 STA SCOREM,Y 9F34 CA 0320 DEX 9F35 88 0330 DEY 9F36 10F3 0340 BPL IJ 9F38 D8 0350 CLD 0360 ;erst Scorefrass, wenn gepunktet 9F39 A901 0370 LDA #1 9F3B 8DBA06 0380 STA SCOREFRASS ;ab jetzt! 0390 ; ------------------------------ 9F3E 0400 SCOREOUT 9F3E A00F 0410 LDY #SCOFF1 9F40 A203 0420 SCOUT2 LDX #3 9F42 BDB106 0430 IK LDA SCOREM,X 9F45 290F 0440 AND #15 9F47 0910 0450 ORA #16 9F49 9900B4 0460 STA SCREEN,Y 9F4C 88 0470 DEY 9F4D BDB106 0480 LDA SCOREM,X 9F50 4A 0490 LSR A 9F51 4A 0500 LSR A 9F52 4A 0510 LSR A 9F53 4A 0520 LSR A 9F54 0910 0530 ORA #16 9F56 9900B4 0540 STA SCREEN,Y 9F59 88 0550 DEY 9F5A CA 0560 DEX 9F5B 10E5 0570 BPL IK 9F5D 60 0580 RTS 9F5E 00002500 0590 SCDT .BYTE $00,$00,$25,$00 ;G 9F62 00000500 0600 .BYTE $00,$00,$05,$00 ;D 9F66 00001000 0610 .BYTE $00,$00,$10,$00 ;M 0620 ; ------------------------------ 9F6A 0630 HISCORE 9F6A A000 0640 LDY #0 9F6C B9B106 0650 HIS1 LDA SCOREM,Y 9F6F D9BE9F 0660 CMP SCOREHI,Y 9F72 9007 0670 BCC HIS2 ; NO NEW HISC. 9F74 D006 0680 BNE HIS3 ; NEUER HISCORE 9F76 C8 0690 INY 9F77 C004 0700 CPY #4 ; TEST ENDE? 9F79 D0F1 0710 BNE HIS1 ; WEITER TESTEN 9F7B 60 0720 HIS2 RTS ; KEIN NEUER HISC. 9F7C A003 0730 HIS3 LDY #3 ; COPY TO HISC. 9F7E B9B106 0740 HIS4 LDA SCOREM,Y 9F81 99BE9F 0750 STA SCOREHI,Y 9F84 88 0760 DEY 9F85 10F7 0770 BPL HIS4 0780 ; HISCORE AUSGEBEN 9F87 A026 0790 SCOUT3 LDY #SCOFF2 ;HIS.OFFSET 9F89 20409F 0800 JSR SCOUT2 9F8C 60 0810 RTS 0820 ; 0830 ; SUBTRAHIERE 1 WENN SCOREM>0 0840 ; 9F8D 0850 SCORESUB1 9F8D 20999F 0860 JSR SCORESUB2 9F90 ADBE06 0870 LDA AMADIP 9F93 F003 0880 BEQ ZXZZ 9F95 20999F 0890 JSR SCORESUB2 9F98 60 0900 ZXZZ RTS 0910 ; 9F99 0920 SCORESUB2 9F99 ADBA06 0930 LDA SCOREFRASS 9F9C F01F 0940 BEQ SC2 ;KEIN FRASS ERL. 9F9E A003 0950 LDY #3 9FA0 B9B106 0960 SC1 LDA SCOREM,Y 9FA3 D005 0970 BNE SC4 ;<>0! =>S=S-1 9FA5 88 0980 DEY 9FA6 10F8 0990 BPL SC1 9FA8 3013 1000 BMI SC2 9FAA F8 1010 SC4 SED 9FAB A003 1020 LDY #3 9FAD 18 1030 CLC ;MINUS 1 9FAE B9B106 1040 SC3 LDA SCOREM,Y 9FB1 E900 1050 SBC #0 9FB3 99B106 1060 STA SCOREM,Y 9FB6 88 1070 DEY 9FB7 10F5 1080 BPL SC3 9FB9 D8 1090 CLD 9FBA 203E9F 1100 JSR SCOREOUT 9FBD 60 1110 SC2 RTS 1120 ; 9FBE 00010000 1130 SCOREHI .BYTE $00,$01,$00,$00 1360 .INCLUDE #D:DATABOB.M65 0100 ; ****************************** 0110 ; * Daten von Bob * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:DATABOB.M65 0180 ; 0190 ;*** OFFSET VON DATEN *** 0200 ; 9FC2 00112233 0210 OFFSET .BYTE 0,17,34,51,68,85,102,119 9FC6 44556677 9FCA 0220 DATENP2 0230 ; 0240 ;*** RECHTSDATEN PLAYER 2 *** 0250 ; 0260 ;STEHEN 9FCA 183C3CFF 0270 .BYTE 24,60,60,255,52,62,60,24,0,16,32,32,16,60,24,24, 28 9FCE 343E3C18 9FD2 00102020 9FD6 103C1818 9FDA 1C 0280 ;SPRINGEN 9FDB 183C3CFF 0290 .BYTE 24,60,60,255,52,62,60,24,0,16,16,12,0,60,254,231 ,128 9FDF 343E3C18 9FE3 0010100C 9FE7 003CFEE7 9FEB 80 0300 ;LAUFEN1 9FEC 183C3CFF 0310 .BYTE 24,60,60,255,52,62,60,24,0,16,32,32,16,60,252,23 6,142 9FF0 343E3C18 9FF4 00102020 9FF8 103CFCEC 9FFC 8E 0320 ;LAUFEN2 9FFD 183C3CFF 0330 .BYTE 24,60,60,255,52,62,60,24,0,16,16,12,0,60,62,55,5 6 A001 343E3C18 A005 0010100C A009 003C3E37 A00D 38 0340 ; 0350 ;*** LINKSDATEN PLAYER 2 *** 0360 ; 0370 ;STEHEN A00E 183C3CFF 0380 .BYTE 24,60,60,255,44,124,60,24,0,8,4,4,8,60,24,24,56 A012 2C7C3C18 A016 00080404 A01A 083C1818 A01E 38 0390 ;SPRINGEN A01F 183C3CFF 0400 .BYTE 24,60,60,255,44,124,60,24,0,8,8,48,0,60,127,231, 1 A023 2C7C3C18 A027 00080830 A02B 003C7FE7 A02F 01 0410 ;LAUFEN1 A030 183C3CFF 0420 .BYTE 24,60,60,255,44,124,60,24,0,8,4,4,8,60,63,55,113 A034 2C7C3C18 A038 00080404 A03C 083C3F37 A040 71 0430 ;LAUFEN2 A041 183C3CFF 0440 .BYTE 24,60,60,255,44,124,60,24,0,8,8,48,0,60,124,236, 28 A045 2C7C3C18 A049 00080830 A04D 003C7CEC A051 1C 0450 ; 0460 ;*** RECHTSDATEN PLAYER 3 *** 0470 ; A052 0480 DATENP3 0490 ;STEHEN A052 343E3C18 0500 .BYTE 52,62,60,24,60,126,126,126,126 A056 3C7E7E7E A05A 7E 0510 ; 0520 ;*** LINKSDATEN PLAYER 3 *** A05B 2C7C3C18 0530 .BYTE 44,124,60,24,60,126,126,126,126 A05F 3C7E7E7E A063 7E 0540 ; 0550 ; 0560 ;*** DATEN VON MONTSER RECHTS *** 0570 ; A064 0580 DLINKS A064 8EE83C36 0590 .BYTE 142,232,60,54,63,124,254,124 A068 3F7CFE7C 0600 ; 0610 ;*** DATEN VON MONSTER LINKS *** 0620 ; A06C 0630 DRECHTS A06C 71173C6C 0640 .BYTE 113,23,60,108,252,62,127,62 A070 FC3E7F3E 0650 ; 0660 ; DATEN DER PLATTFORM 1/2 0670 ; A074 FFFFAA55 0680 PLATTDAT1 .BYTE 255,255,170,85,170,255 A078 AAFF A07A FFFF55AA 0690 PLATTDAT2 .BYTE 255,255,85,170,85,255 A07E 55FF 1370 .INCLUDE #D:SUBS.M65 0100 ; ****************************** 0110 ; * Diverse Unterroutinen * 0120 ; * Letzte Revision: 05-07-88 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:SUBS.M65 0180 ; 0190 ; ------------------------------ 0200 ; Text Line 1,2,Score =>print 0210 ; ------------------------------ A080 0220 PRINTDT A080 A027 0230 LDY #39 A082 B906A3 0240 PRINTDTL1 LDA TXTA,Y A085 9900B4 0250 STA SCREEN,Y A088 B92EA3 0260 LDA TXTB,Y A08B 99E0B5 0270 STA SCREEN+480,Y A08E 88 0280 DEY A08F 10F1 0290 BPL PRINTDTL1 A091 203E9F 0300 JSR SCOREOUT A094 A003 0310 LDY #3 A096 B9BE9F 0320 SCCPY LDA SCOREHI,Y A099 99B106 0330 STA SCOREM,Y A09C 88 0340 DEY A09D 10F7 0350 BPL SCCPY A09F 20879F 0360 JSR SCOUT3 A0A2 2007A1 0370 JSR PRINTLIVES A0A5 60 0380 RTS 0390 ; ------------------------------ 0400 ; Decrement number of lives BCD 0410 ; ------------------------------ A0A6 0420 LIVEWEG A0A6 F8 0430 SED A0A7 ADB506 0440 LDA NOLIVES A0AA 38 0450 SEC A0AB E901 0460 SBC #1 A0AD 8DB506 0470 STA NOLIVES A0B0 D8 0480 CLD A0B1 60 0500 RTS 0510 ; ------------------------------ 0520 ; Inc number of lives, up to 99 0530 ; ------------------------------ A0B2 0540 LIVEDAZU A0B2 ADB906 0550 LDA EXTRAP A0B5 C905 0560 CMP #5 A0B7 D00F 0570 BNE EXP1 A0B9 A004 0580 LDY #4 A0BB B940A3 0590 EXP2 LDA TXTB+18,Y ;'EXTRA' A0BE 99F2B5 0600 STA SCREEN+498,Y A0C1 88 0610 DEY A0C2 10F7 0620 BPL EXP2 A0C4 C8 0630 INY ;LDY #0 A0C5 8CB906 0640 STY EXTRAP A0C8 ACB906 0650 EXP1 LDY EXTRAP A0CB B9F2B5 0660 LDA SCREEN+498,Y A0CE 0980 0670 ORA #128 A0D0 99F2B5 0680 STA SCREEN+498,Y A0D3 C8 0690 INY A0D4 8CB906 0700 STY EXTRAP A0D7 C005 0710 CPY #5 A0D9 F00E 0720 BEQ EXP4 0730 SOUNDI1 M ;******************************* M ;* Bonus Fanfare * M ;******************************* A0DB A90E M LDA #14 A0DD 8DA406 M STA SOUNDP11 A0E0 8DA506 M STA SOUNDP12 A0E3 A901 M LDA #1 A0E5 8DA706 M STA SOUNDN1 M .ENDM A0E8 60 0740 RTS 0750 EXP4 SOUND3I2 ;EXTRA-FANFARE A0E9 A901 M LDA #1 A0EB 8DAD06 M STA SOUNDN4 A0EE A900 M LDA #0 A0F0 8DAE06 M STA SOUNDP41 A0F3 8DB006 M STA SOUNDP43 M .ENDM A0F6 F8 0760 SED A0F7 ADB506 0770 LDA NOLIVES A0FA 18 0780 CLC A0FB 6901 0790 ADC #1 A0FD B003 0800 BCS LIVEL9 ;NOT >99! A0FF 8DB506 0810 STA NOLIVES A102 D8 0820 LIVEL9 CLD A103 2007A1 0830 JSR PRINTLIVES A106 60 0840 EXP3 RTS 0850 ; ------------------------------ 0860 ; Print # of lives in line 2 0870 ; ------------------------------ A107 0880 PRINTLIVES A107 ADB506 0890 LDA NOLIVES A10A 290F 0900 AND #15 A10C 0910 0910 ORA #16 A10E 8D06B6 0920 STA SCREEN+518 A111 ADB506 0930 LDA NOLIVES A114 4A 0940 LSR A A115 4A 0950 LSR A A116 4A 0960 LSR A A117 4A 0970 LSR A A118 0910 0980 ORA #16 A11A 8D05B6 0990 STA SCREEN+517 A11D 60 1000 RTS 1010 ; ------------------------------ 1020 ; Monst/Plattf -Init BASIC only 1030 ; ------------------------------ A11E 1040 MPMBO A11E A9BC 1050 LDA #PMS+4 A120 85CC 1060 STA PAGE01+1 A122 A936 1070 LDA #BOFF A124 85CB 1080 STA PAGE01 A126 A200 1090 LDX #0 A128 BD0306 1100 XK1 LDA STATUSM,X A12B 2902 1110 AND #2 A12D F006 1120 BEQ XK2 A12F 205EA5 1130 JSR PLATTFORM A132 4C38A1 1140 JMP XK9 A135 201CA5 1150 XK2 JSR ACTION A138 E8 1160 XK9 INX A139 E00A 1170 CPX #BYTES/2 A13B D006 1180 BNE XK4 A13D E6CC 1190 INC PAGE01+1 A13F A936 1200 LDA #BOFF A141 85CB 1210 STA PAGE01 A143 E014 1220 XK4 CPX #BYTES A145 D0E1 1230 BNE XK1 A147 60 1240 RTS 1250 ; ------------------------------ 1260 ; Naechsten Level bestimmen 1270 ; ------------------------------ A148 1280 LEVELNEXT A148 A000 1290 LDY #0 A14A B1DA 1300 LDA (LEPOINTER),Y A14C 18 1310 CLC A14D 65DA 1320 ADC LEPOINTER A14F 85DA 1330 STA LEPOINTER A151 A5DB 1340 LDA LEPOINTER+1 A153 6900 1350 ADC #0 A155 85DB 1360 STA LEPOINTER+1 1370 ; A157 F8 1380 SED A158 18 1390 CLC A159 ADB606 1400 LDA LENODEC A15C 6901 1410 ADC #1 A15E 8DB606 1420 STA LENODEC A161 ADB706 1430 LDA LENODEC+1 A164 6900 1440 ADC #0 A166 8DB706 1450 STA LENODEC+1 A169 D8 1460 CLD 1470 ; A16A B1DA 1480 LDA (LEPOINTER),Y A16C D00F 1490 BNE LENOL1 ;0=LE ALLE A16E 8CB706 1500 STY LENODEC+1 A171 C8 1510 INY A172 8CB606 1520 STY LENODEC A175 A950 1530 LDA # >LESTARTADR A177 85DB 1540 STA LEPOINTER+1 A179 A900 1550 LDA # <LESTARTADR A17B 85DA 1560 STA LEPOINTER A17D 60 1570 LENOL1 RTS 1580 ; ------------------------------ 1590 ; Initialisiere aktuellen Level 1600 ; ------------------------------ A17E 1610 LEVELINIT A17E A001 1620 LDY #1 A180 B1DA 1630 MBD LDA (LEPOINTER),Y A182 99FF05 1640 STA 1535,Y A185 C8 1650 INY A186 C056 1660 CPY #86 A188 D0F6 1670 BNE MBD A18A A900 1680 LDA #0 A18C 8DBD06 1690 STA KASTENRESET A18F 8DBB06 1700 STA FRESSTIME A192 8DBC06 1710 STA FRESSTIME+1 A195 2065A4 1720 JSR CLEARPM A198 2081A5 1730 JSR INITMDAT A19B A5DA 1740 LDA LEPOINTER A19D 18 1750 CLC A19E 6956 1760 ADC #86 A1A0 48 1770 PHA A1A1 A5DB 1780 LDA LEPOINTER+1 A1A3 6900 1790 ADC #0 A1A5 48 1800 PHA A1A6 20ACA1 1810 JSR LEVELPRINT A1A9 4CFEB1 1820 JMP DCOMP 1830 ; RTS 1840 ; ------------------------------ 1850 ; Print Level number in line 2 1860 ; ------------------------------ A1AC 1870 LEVELPRINT A1AC ADB606 1880 LDA LENODEC A1AF 290F 1890 AND #15 A1B1 0910 1900 ORA #16 A1B3 8DEAB5 1910 STA SCREEN+490 A1B6 8DD5A3 1920 STA SRVB+14 A1B9 ADB606 1930 LDA LENODEC A1BC 4A 1940 LSR A A1BD 4A 1950 LSR A A1BE 4A 1960 LSR A A1BF 4A 1970 LSR A A1C0 0910 1980 ORA #16 A1C2 8DE9B5 1990 STA SCREEN+489 A1C5 8DD4A3 2000 STA SRVB+13 A1C8 ADB706 2010 LDA LENODEC+1 A1CB 0910 2020 ORA #16 A1CD 8DE8B5 2030 STA SCREEN+488 A1D0 8DD3A3 2040 STA SRVB+12 A1D3 60 2050 RTS 2060 ; ------------------------------ 2070 ; ****************************** 2080 ; * Initialisiere P/M-Grafik * 2090 ; * Letzte Revision: 08-08-87 * 2100 ; * by Stefan C. Mueller * 2110 ; * (C) MCMLXXXVII S.C.M.Soft! * 2120 ; ****************************** 2130 ; 2140 ; Frueher: INITPM.M65 2150 ; A1D4 2160 INITGAME A1D4 2065A4 2170 JSR CLEARPM A1D7 A9FF 2180 LDA #255 A1D9 A210 2190 LDX #16 A1DB 9D7D06 2200 FLOB STA LOECHER,X A1DE CA 2210 DEX A1DF 10FA 2220 BPL FLOB 2230 ; A1E1 AD0106 2240 LDA YPOS A1E4 8DA306 2250 STA YPOSRESCUE 2260 ; A1E7 A93E 2270 LDA #62 ;1line resol. A1E9 8D2F02 2280 STA 559 ;tell shadow 2290 ; A1EC A9B8 2300 LDA #PMS ;Base bei pms A1EE 8D07D4 2310 STA 54279 ;tell ANTIC 2320 ; A1F1 A902 2330 LDA #2 ;Player only A1F3 8D1DD0 2340 STA 53277 ;tell GTIA 2350 ; A1F6 A978 2360 LDA #$78 ;Blau A1F8 8DC202 2370 STA 706 ;player 2 A1FB A9C4 2380 LDA #$C4 ;Gruen A1FD 8DC302 2390 STA 707 ;Player 3 2400 ; A200 A900 2410 LDA #0 ;normale Groesse A202 8D08D0 2420 STA 53256 ;sizep0 A205 8D09D0 2430 STA 53257 ;sizep1 A208 8D0AD0 2440 STA 53258 ;sizep2 A20B 8D0BD0 2450 STA 53259 ;sizep3 A20E 8D9F06 2460 STA CRASHBIT A211 A921 2470 LDA #33 A213 8D6F02 2480 STA 623 2490 ; 2500 ; ****************************** 2510 ; * Initialisiere DLI/VBI * 2520 ; ****************************** 2530 ; 2540 ; frueher: INITINT.M65 2550 ; A216 A9EB 2560 LDA # <DLI A218 8D0002 2570 STA 512 A21B A99E 2580 LDA # >DLI A21D 8D0102 2590 STA 513 2600 ; A220 A907 2610 LDA #7 A222 A2A8 2620 LDX # >VBI A224 A00A 2630 LDY # <VBI A226 205CE4 2640 JSR $E45C A229 A9C0 2650 LDA #192 A22B 8D0ED4 2660 STA 54286 2670 ; ****************************** 2680 ; * Initialisiere Color/DL/Snd * 2690 ; * Letzte Revision: 20-08-87 * 2700 ; * by Stefan C. Mueller * 2710 ; * (C) MCMLXXXVII S.C.M.Soft! * 2720 ; ****************************** A22E A9CD 2730 LDA # <DL A230 8D3002 2740 STA 560 ;DLIST A233 A9A7 2750 LDA # >DL A235 8D3102 2760 STA 561 2770 ; A238 A946 2780 LDA #$46 ;COLORS A23A 8DC402 2790 STA 708 A23D A9F4 2800 LDA #$F4 A23F 8DC602 2810 STA 710 A242 A998 2820 LDA #$98 A244 8DC702 2830 STA 711 A247 A900 2840 LDA #0 A249 8DC802 2850 STA 712 2860 ; A24C A900 2870 LDA # <SCREEN A24E 8558 2880 STA 88 A250 A9B4 2890 LDA # >SCREEN A252 8559 2900 STA 89 A254 A920 2910 LDA #32 ;SOUND A256 8D08D2 2920 STA $D208 ; " A259 A903 2930 LDA #3 ; " A25B 8D0FD2 2940 STA $D20F ; " 2950 ; JSR INITFONT 2960 ; RTS 2970 ; ------------------------------- 2980 ; ****************************** 2990 ; * Initialisiere Zeichensatz * 3000 ; ****************************** 3010 ; 3020 ; frueher: INITFONT.M65 3030 ; A25E A000 3040 INITFONT LDY #0 A260 B945A6 3050 FNT1 LDA LINE1,Y A263 9900B8 3060 STA FONTPT,Y A266 B900E1 3070 LDA $E100,Y ; Grossbuchst. A269 9900B9 3080 STA FONTPT+$0100,Y A26C B945A7 3090 LDA LINE3,Y A26F 9900BA 3100 STA FONTPT+$0200,Y A272 B900E3 3110 LDA $E300,Y ; Kleinbuchst. A275 9900BB 3120 STA FONTPT+$0300,Y A278 C8 3130 INY A279 D0E5 3140 BNE FNT1 A27B A9BA 3150 LDA #PMS+[OFFRAM/256] A27D 8DF402 3160 STA 756 A280 60 3170 RTS 3180 ; ****************************** 3190 ; * spiele komplett ein Bild * 3200 ; ****************************** A281 3210 PLAYPICTURE A281 A900 3220 LDA #0 A283 8DA006 3230 STA WASNUN A286 A901 3240 LDA #1 A288 8DA206 3250 STA VBIANAUS 3260 ; A28B A000 3270 LDY #0 A28D A200 3280 WWW3 LDX #0 A28F C8 3290 WWW1 INY A290 D0FD 3300 BNE WWW1 A292 E8 3310 INX A293 E018 3320 CPX #24 ;VerzoegerungsZeit A295 D0F8 3330 BNE WWW1 A297 844D 3340 STY 77 A299 20EFA3 3350 JSR FRESSITDYN A29C 208D9F 3360 JSR SCORESUB1 A29F 2078A4 3370 JSR MONSTERMOVE A2A2 ADA006 3380 LDA WASNUN A2A5 F0E6 3390 BEQ WWW3 A2A7 A900 3400 WWW2 LDA #0 A2A9 8DA206 3410 STA VBIANAUS A2AC 8DBD06 3420 STA KASTENRESET A2AF 8DBB06 3430 STA FRESSTIME A2B2 8DBC06 3440 STA FRESSTIME+1 A2B5 8DBE06 3450 STA AMADIP 3460 ; STA SOUNDNUMMERS!!!!! A2B8 60 3470 RTS ;WASNUN enthaelt Abbruchcode 3480 ; 3490 ; ****************************** 3500 ; * Teste aus Level-Editor Mode* 3510 ; ****************************** A2B9 3520 LETEST A2B9 A001 3530 LDY #1 A2BB 8CB506 3540 STY NOLIVES A2BE 88 3550 DEY A2BF 8CB906 3560 STY EXTRAP A2C2 20D4A1 3570 JSR INITGAME A2C5 2080A0 3580 JSR PRINTDT A2C8 2007A1 3590 JSR PRINTLIVES 3600 ; print 'TEST' A2CB A003 3610 LDY #3 A2CD B902A3 3620 PRIDDD LDA TESTTEXT,Y A2D0 99E8B5 3630 STA SCREEN+488,Y A2D3 A900 3635 LDA #0 A2D5 99B106 3637 STA SCOREM,Y A2D8 88 3640 DEY A2D9 10F2 3650 BPL PRIDDD A2DB 203E9F 3655 JSR SCOREOUT 3660 ; A2DE 2081A2 3670 JSR PLAYPICTURE A2E1 A900 3680 LDA #0 A2E3 8DAB06 3685 STA SOUNDN2 ;05-07-88 A2E6 8DAC06 3690 STA SOUNDN3 A2E9 8D8E06 3700 STA DELTAX A2EC 8D8F06 3710 STA DELTAY A2EF 8D9306 3720 STA JMPTIME A2F2 8D9406 3730 STA JMPHIM? A2F5 8D9B06 3740 STA BOBTOT A2F8 8D9F06 3750 STA CRASHBIT A2FB 8D0206 3760 STA STATUS A2FE 8DBE06 3770 STA AMADIP A301 60 3780 RTS A302 B4E5F3F4 3790 TESTTEXT .SBYTE "Ôåóô" 3800 ;------------------------------- A306 0033636F 3810 TXTA .SBYTE " Score: 00000000 Top-Score: 00000000 " A30A 72651A00 A30E 10101010 A312 10101010 A316 00000000 A31A 346F700D A31E 33636F72 A322 651A0010 A326 10101010 A32A 10101000 A32E 002C6576 3820 TXTB .SBYTE " Level: 000 EXTRA Lives: 00 " A332 656C1A00 A336 10101000 A33A 00000000 A33E 00002538 A342 34322100 A346 00000000 A34A 00002C69 A34E 7665731A A352 00101000 3830 ; A356 3840 PMOFF A356 A900 3850 LDA #0 A358 8D1DD0 3860 STA $D01D A35B 8D0DD0 3870 STA $D00D A35E 8D0ED0 3880 STA $D00E A361 8D0FD0 3890 STA $D00F A364 8D10D0 3900 STA $D010 A367 60 3910 RTS 3920 ; 3930 ;------------------------------- 3940 ; A368 3950 VORBILD A368 2056A3 3960 JSR PMOFF A36B 20ACA1 3970 JSR LEVELPRINT A36E A9B8 3980 LDA #PMS A370 8DF402 3990 STA 756 A373 A9A3 4000 LDA # >SRVB ;LEVEL:001 A375 8DC3A3 4010 STA SRVBV+1 A378 A9C7 4020 LDA # <SRVB A37A 8DC2A3 4030 STA SRVBV A37D ADB506 4040 LDA NOLIVES ;NOLIVES=0? A380 D00A 4050 BNE GG200 A382 A9A3 4060 LDA # >SRVB2 ;GAME OVER A384 8DC3A3 4070 STA SRVBV+1 A387 A9DB 4080 LDA # <SRVB2 A389 8DC2A3 4090 STA SRVBV A38C A9B3 4100 GG200 LDA # <DLVB A38E 8D3002 4110 STA 560 A391 A9A3 4120 LDA # >DLVB A393 8D3102 4130 STA 561 A396 A514 4140 LDA 20 A398 6964 4150 ADC #100 ;2.0 SEK. 4160 ; A39A 4170 GG100 A39A C514 4180 CMP 20 A39C D0FC 4190 BNE GG100 ;WENN KLEINER A39E A9CD 4200 LDA # <DL A3A0 8D3002 4210 STA 560 A3A3 A9A7 4220 LDA # >DL A3A5 8D3102 4230 STA 561 A3A8 A903 4240 LDA #3 A3AA 8D1DD0 4250 STA $D01D ; PM AN A3AD A9BA 4260 LDA #PMS+2 A3AF 8DF402 4270 STA 756 A3B2 60 4280 RTS ;SONST RTS! A3B3 70707070 4290 DLVB .BYTE 112,112,112,112,112,112,112,112,112,112,112,112 ,112,112 A3B7 70707070 A3BB 70707070 A3BF 7070 A3C1 47 4300 .BYTE 64+7 A3C2 0000 4310 SRVBV .BYTE 0,0 A3C4 41 4320 .BYTE 65 A3C5 B3A3 4330 .WORD DLVB 4340 ; A3C7 00000000 4350 SRVB .SBYTE " LEVEL: 001 " A3CB 002C2536 A3CF 252C1A00 A3D3 10101100 A3D7 00000000 A3DB 00000000 4360 SRVB2 .SBYTE " GAME OVER " A3DF 0027212D A3E3 2500002F A3E7 36253200 A3EB 00000000 4370 ; 4380 ; ****************************** 4390 ; * FRESS IT DYNamisch * 4400 ; * Letzte Revision: 28-10-87 * 4410 ; ****************************** 4420 ; A3EF 4430 FRESSITDYN A3EF ADBB06 4440 LDA FRESSTIME A3F2 0DBC06 4450 ORA FRESSTIME+1 A3F5 F01B 4460 BEQ SM874 A3F7 ADBB06 4470 LDA FRESSTIME A3FA 38 4480 SEC A3FB E901 4490 SBC #1 A3FD 8DBB06 4500 STA FRESSTIME A400 ADBC06 4510 LDA FRESSTIME+1 A403 E900 4520 SBC #0 A405 8DBC06 4530 STA FRESSTIME+1 A408 0DBB06 4540 ORA FRESSTIME A40B D005 4550 BNE SM874 A40D A901 4560 LDA #1 A40F 8DBD06 4570 STA KASTENRESET 4580 ; A412 4590 SM874 A412 ADBD06 4600 LDA KASTENRESET A415 F029 4610 BEQ SM875 A417 A000 4620 LDY #0 A419 B1EE 4630 LDA (SUCHSTADR),Y A41B C902 4640 CMP #2 ;LEERER KASTEN A41D D021 4650 BNE SM875 A41F A943 4660 LDA #3+64 ;VOLLER KASTEN A421 91EE 4670 STA (SUCHSTADR),Y A423 CEBD06 4680 DEC KASTENRESET 4690 SOUNDI2 M ;******************************* M ;* Sicherungkasten rep. * M ;******************************* A426 A90F M LDA #15 A428 8DA406 M STA SOUNDP11 A42B 8DA506 M STA SOUNDP12 A42E A904 M LDA #4 A430 8DA606 M STA SOUNDP13 A433 A902 M LDA #2 A435 8DA706 M STA SOUNDN1 M .ENDM A438 EE5306 4700 INC NOKASTEN A43B A900 4710 LDA #0 A43D 8DBE06 4720 STA AMADIP 4730 ; A440 4740 SM875 4750 ;SUCHSTADR+1 ==> MAX =>MIN! 4760 ; A440 A5EE 4770 LDA SUCHSTADR A442 18 4780 CLC A443 690D 4790 ADC #13 ;INTERLEAVE A445 85EE 4800 STA SUCHSTADR A447 A5EF 4810 LDA SUCHSTADR+1 A449 6900 4820 ADC #0 A44B 85EF 4830 STA SUCHSTADR+1 A44D C9B5 4840 CMP # >SUCHSTMAX A44F 9013 4850 BCC SM876 A451 A5EE 4860 LDA SUCHSTADR A453 C9E0 4870 CMP # <SUCHSTMAX A455 900D 4880 BCC SM876 A457 38 4890 SEC A458 A5EE 4900 LDA SUCHSTADR A45A E9B8 4910 SBC # <440 A45C 85EE 4920 STA SUCHSTADR A45E A5EF 4930 LDA SUCHSTADR+1 A460 E901 4940 SBC # >440 A462 85EF 4950 STA SUCHSTADR+1 A464 60 4960 SM876 RTS 4970 ; ***************************** 4980 ; * LOESCHE PM-SPEICHER * 4990 ; ***************************** A465 5000 CLEARPM A465 A900 5010 LDA #0 A467 A8 5020 TAY A468 9900BC 5030 OOO1 STA BASE+$0400,Y A46B 9900BD 5040 STA BASE+$0500,Y A46E 9900BE 5050 STA BASE+$0600,Y A471 9900BF 5060 STA BASE+$0700,Y A474 C8 5070 INY A475 D0F1 5080 BNE OOO1 A477 60 5090 RTS 1380 .INCLUDE #D:MMOVE.M65 0100 ; ****************************** 0110 ; * Bewege und zeichne Monster * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:MMOVE.M65 0180 ; A478 0190 MONSTERMOVE 0200 ; A478 A9BC 0210 LDA #PMS+4 A47A 85CC 0220 STA PAGE01+1 A47C A936 0230 LDA #BOFF A47E 85CB 0240 STA PAGE01 A480 A200 0250 LDX #0 A482 BD0306 0260 YYY4 LDA STATUSM,X A485 2902 0270 AND #2 ;MON/PLTFRM A487 F009 0280 BEQ MO A489 20D6A4 0290 JSR MMOVE A48C 205EA5 0300 JSR PLATTFORM A48F 4C9BA4 0310 JMP RVP 0320 ; A492 20ABA4 0330 MO JSR NEWCOLOR A495 20D6A4 0340 JSR MMOVE A498 201CA5 0350 JSR ACTION 0360 ; 0370 ; A49B E8 0380 RVP INX A49C E00A 0390 CPX #BYTES/2 A49E D006 0400 BNE YYY8 A4A0 E6CC 0410 INC PAGE01+1 A4A2 A936 0420 LDA #BOFF A4A4 85CB 0430 STA PAGE01 A4A6 E014 0440 YYY8 CPX #BYTES A4A8 D0D8 0450 BNE YYY4 A4AA 60 0460 RTS 0470 ; A4AB 0480 NEWCOLOR A4AB BD0306 0490 LDA STATUSM,X A4AE 2904 0500 AND #4 A4B0 F013 0510 BEQ ZH A4B2 DE6906 0520 ZR DEC COLOR,X A4B5 BD6906 0530 LDA COLOR,X A4B8 290F 0540 AND #15 A4BA D008 0550 BNE NNN ;SCHON 0? A4BC BD0306 0560 NN1 LDA STATUSM,X A4BF 4904 0570 EOR #4 ;DANN COUNT UP A4C1 9D0306 0580 STA STATUSM,X A4C4 60 0590 NNN RTS A4C5 FE6906 0600 ZH INC COLOR,X A4C8 BD6906 0610 LDA COLOR,X ;SCHON 12? A4CB 290F 0620 AND #15 A4CD C90C 0630 CMP #12 ;DANN COUNT DOWN A4CF D0F3 0640 BNE NNN A4D1 F0E9 0650 BEQ NN1 A4D3 4C77E4 0660 JMP $E477 0670 ; A4D6 0680 MMOVE 0690 ; A4D6 BD0306 0700 LDA STATUSM,X A4D9 2901 0710 AND #1 A4DB F01D 0720 BEQ MRECHTS A4DD 0730 MLINKS A4DD BD0306 0740 LDA STATUSM,X A4E0 29F8 0750 AND #255-7 A4E2 49FF 0760 EOR #255 A4E4 38 0770 SEC A4E5 7D5506 0780 ADC XLO,X A4E8 9D5506 0790 STA XLO,X A4EB B003 0800 BCS CS1 A4ED DE1706 0810 DEC XHI,X 0820 ; A4F0 BD3F06 0830 CS1 LDA XLINKS,X A4F3 DD1706 0840 CMP XHI,X A4F6 D023 0850 BNE OK1 A4F8 F019 0860 BEQ TOGGLE A4FA 0870 MRECHTS A4FA BD0306 0880 LDA STATUSM,X A4FD 29F8 0890 AND #255-7 A4FF 18 0900 CLC A500 7D5506 0910 ADC XLO,X A503 9D5506 0920 STA XLO,X A506 9003 0930 BCC CC1 A508 FE1706 0940 INC XHI,X A50B BD2B06 0950 CC1 LDA XRECHTS,X A50E DD1706 0960 CMP XHI,X A511 D008 0970 BNE OK1 A513 BD0306 0980 TOGGLE LDA STATUSM,X A516 4901 0990 EOR #1 A518 9D0306 1000 STA STATUSM,X A51B 60 1010 OK1 RTS 1020 ; 1030 ;MONSTER UMDREHEN UND TIPPELN 1040 ; A51C A000 1050 ACTION LDY #0 A51E BD0306 1060 LDA STATUSM,X A521 2901 1070 AND #1 A523 D00C 1080 BNE M2 1090 ;LINKS! A525 B964A0 1100 M1 LDA DLINKS,Y A528 91CB 1110 STA (PAGE01),Y A52A C8 1120 INY A52B C008 1130 CPY #8 A52D D0F6 1140 BNE M1 A52F F00A 1150 BEQ PFOTEN A531 B96CA0 1160 M2 LDA DRECHTS,Y A534 91CB 1170 STA (PAGE01),Y A536 C8 1180 INY A537 C008 1190 CPY #8 A539 D0F6 1200 BNE M2 1210 ; A53B 1220 PFOTEN 1230 ; A53B BD1706 1240 LDA XHI,X A53E 2902 1250 AND #2 A540 F00B 1260 BEQ YYY3 A542 A96C 1270 YYY2 LDA #108 A544 91CB 1280 STA (PAGE01),Y A546 C8 1290 INY A547 A9CC 1300 LDA #204 A549 91CB 1310 STA (PAGE01),Y A54B D009 1320 BNE YYY1 A54D A936 1330 YYY3 LDA #54 A54F 91CB 1340 STA (PAGE01),Y A551 C8 1350 INY A552 A933 1360 LDA #51 A554 91CB 1370 STA (PAGE01),Y A556 A5CB 1380 YYY1 LDA PAGE01 A558 18 1390 CLC A559 6910 1400 ADC #16 A55B 85CB 1410 STA PAGE01 A55D 60 1420 RTS 1430 ; A55E 1440 PLATTFORM A55E A002 1450 LDY #2 A560 BD1706 1460 LDA XHI,X A563 2901 1470 AND #1 A565 F00D 1480 BEQ PLF1 A567 1490 PLF2 A567 B972A0 1500 LDA PLATTDAT1-2,Y A56A 91CB 1510 STA (PAGE01),Y A56C C8 1520 INY A56D C008 1530 CPY #8 A56F D0F6 1540 BNE PLF2 A571 4C56A5 1550 JMP YYY1 A574 1560 PLF1 A574 B978A0 1570 LDA PLATTDAT2-2,Y A577 91CB 1580 STA (PAGE01),Y A579 C8 1590 INY A57A C008 1600 CPY #8 A57C D0F6 1610 BNE PLF1 A57E 4C56A5 1620 JMP YYY1 1390 .INCLUDE #D:INITMDAT.M65 0100 ; ****************************** 0110 ; * Initialisiere Monsterdaten * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:INITMDAT.M65 0180 ; A581 0190 INITMDAT 0200 ; A581 A200 0210 LDX #0 A583 0220 IL1 A583 BD0306 0230 TTT1 LDA STATUSM,X A586 2902 0240 AND #2 A588 F007 0250 BEQ ALCO1 A58A A9F4 0260 LDA #$F4 A58C 9D6906 0270 STA COLOR,X A58F D006 0280 BNE ALCO2 A591 AD0AD2 0290 ALCO1 LDA RANDOM A594 9D6906 0300 STA COLOR,X A597 E8 0310 ALCO2 INX A598 E014 0320 CPX #BYTES A59A D0E7 0330 BNE TTT1 A59C 60 0340 RTS 1400 .INCLUDE #D:CHARSET.M65 0100 ; SAVE #D:CHARSET.M65 0105 ; vom 05-09-87 A59D BBDDEE77 0110 POS2 .BYTE 187,221,238,119,255,255,0,0 A5A1 FFFF0000 A5A5 DDBB77EE 0120 .BYTE 221,187,119,238,255,255,0,0 A5A9 FFFF0000 A5AD FF9C3663 0130 .BYTE 255,156,54,99,201,255,0,0 A5B1 C9FF0000 A5B5 00FFFF66 0140 .BYTE 0,255,255,102,102,255,102,255 A5B9 66FF66FF A5BD BBFF1834 0150 .BYTE 187,255,24,52,60,24,0,0 A5C1 3C180000 A5C5 DDFF183C 0160 .BYTE 221,255,24,60,52,24,0,0 A5C9 34180000 A5CD 00FFFF66 0170 .BYTE 0,255,255,102,102,255,0,0 A5D1 66FF0000 A5D5 DDEE77BB 0180 POS3 .BYTE 221,238,119,187,255,255,0,0 A5D9 FFFF0000 A5DD BB77EEDD 0190 .BYTE 187,119,238,221,255,255,0,0 A5E1 FFFF0000 A5E5 FFC96336 0200 .BYTE 255,201,99,54,156,255,0,0 A5E9 9CFF0000 A5ED F0F06F6F 0210 .BYTE 240,240,111,111,102,255,102,255 A5F1 66FF66FF A5F5 DDFF183C 0220 .BYTE 221,255,24,60,52,24,0,0 A5F9 34180000 A5FD BBFF1834 0230 .BYTE 187,255,24,52,60,24,0,0 A601 3C180000 A605 0000FFFF 0240 .BYTE 0,0,255,255,102,255,102,0 A609 66FF6600 A60D EE77BBDD 0250 POS4 .BYTE 238,119,187,221,255,255,0,0 A611 FFFF0000 A615 77EEDDBB 0260 .BYTE 119,238,221,187,255,255,0,0 A619 FFFF0000 A61D FFC96336 0270 .BYTE 255,201,99,54,156,255,0,0 A621 9CFF0000 A625 00FFFF66 0280 .BYTE 0,255,255,102,102,255,102,255 A629 66FF66FF A62D EEFF183C 0290 .BYTE 238,255,24,60,44,24,0,0 A631 2C180000 A635 77FF182C 0300 .BYTE 119,255,24,44,60,24,0,0 A639 3C180000 A63D 00FFFF66 0310 .BYTE 0,255,255,102,102,255,0,0 A641 66FF0000 0320 ; ------------------------------ A645 0330 LINE1 A645 00000000 0340 .BYTE 0,0,0,0,0,0,0,0 A649 00000000 A64D 000C1E1E 0350 .BYTE 0,12,30,30,12,0,12,0 A651 0C000C00 A655 007CC6BA 0360 .BYTE 0,124,198,186,162,186,198,124 A659 A2BAC67C 0370 ; .BYTE 0,0,0,0,0,0,0,0 ;LEER 0380 ; .BYTE 0,0,0,0,0,0,0,0 ;LEER A65D 7CEEC682 0390 .BYTE 124,238,198,130,238,238,238,124 A661 EEEEEE7C A665 7CEEEEEE 0400 .BYTE 124,238,238,238,130,198,238,124 A669 82C6EE7C A66D 7CEEE682 0410 .BYTE 124,238,230,130,130,230,238,124 A671 82E6EE7C A675 7CEECE82 0420 .BYTE 124,238,206,130,130,206,238,124 A679 82CEEE7C A67D 00000000 0421 .BYTE 0,0,0,0,0,0,0,0 ;leer A681 00000000 A685 000C1830 0422 .BYTE 0,12,24,48,48,48,24,12 ;¨ A689 3030180C A68D 00603018 0423 .BYTE 0,96,48,24,24,24,48,96 ;© A691 18183060 A695 7FFFC3C9 0430 .BYTE 127,255,195,201,195,201,255,127 ;Ò A699 C3C9FF7F A69D FEFF03CF 0440 .BYTE 254,255,3,207,207,207,255,254 ;Ô A6A1 CFCFFFFE 0450 ; .BYTE 127,255,225,207,207,225,255,127 ;Ã A6A5 00000000 0460 .BYTE 0,0,0,0,0,24,24,48 A6A9 00181830 A6AD 000000FC 0470 .BYTE 0,0,0,252,0,0,0,0 A6B1 00000000 A6B5 00000000 0480 .BYTE 0,0,0,0,0,48,48,0 A6B9 00303000 A6BD 00330033 0490 .BYTE 0,51,0,51,51,51,31,0 ;ue fuer "Mueller" A6C1 33331F00 A6C5 007CC6C6 0500 .BYTE 0,124,198,198,68,198,198,124 A6C9 44C6C67C A6CD 00040606 0510 .BYTE 0,4,6,6,4,6,6,4 A6D1 04060604 A6D5 007C0606 0520 .BYTE 0,124,6,6,124,192,192,124 A6D9 7CC0C07C A6DD 007C0606 0530 .BYTE 0,124,6,6,124,6,6,124 A6E1 7C06067C A6E5 0044C6C6 0540 .BYTE 0,68,198,198,124,6,6,4 A6E9 7C060604 A6ED 007CC0C0 0550 .BYTE 0,124,192,192,124,6,6,124 A6F1 7C06067C A6F5 0040C0C0 0560 .BYTE 0,64,192,192,124,198,198,124 A6F9 7CC6C67C A6FD 007C0606 0570 .BYTE 0,124,6,6,4,6,6,4 A701 04060604 A705 007CC6C6 0580 .BYTE 0,124,198,198,124,198,198,124 A709 7CC6C67C A70D 007CC6C6 0590 .BYTE 0,124,198,198,124,6,6,124 A711 7C06067C A715 00001818 0600 .BYTE 0,0,24,24,0,24,24,0 A719 00181800 A71D 0066003C 0610 .BYTE 0,102,0,60,102,102,60,0 A721 66663C00 A725 00660066 0620 .BYTE 0,102,0,102,102,102,62,0 ;ue fuer "fuer" A729 66663E00 A72D 0066003E 0630 .BYTE 0,102,0,62,102,102,62,0 A731 66663E00 A735 003C667C 0640 .BYTE 0,60,102,124,102,102,124,96 A739 66667C60 A73D 003C660C 0650 .BYTE 0,60,102,12,24,0,24,0 A741 18001800 0660 ; ------------------------------ A745 0670 LINE3 A745 00000000 0680 .BYTE 0,0,0,0,0,0,0,0 A749 00000000 A74D 00001DFF 0690 .BYTE 0,0,29,255,136,8,8,12 A751 8808080C A755 18083DFF 0700 .BYTE 24,8,61,255,188,24,24,126 A759 BC18187E A75D 18083DE7 0710 .BYTE 24,8,61,231,188,60,24,126 A761 BC3C187E A765 18080808 0720 .BYTE 24,8,8,8,8,8,8,12 A769 0808080C A76D 000011FF 0730 .BYTE 0,0,17,255,136,0,0,0 A771 88000000 A775 082A1C77 0740 .BYTE 8,42,28,119,28,42,8,0 A779 1C2A0800 A77D FFFF55AA 0750 .BYTE 255,255,85,170,85,255,0,0 A781 55FF0000 A785 77BBDDEE 0760 POS1 .BYTE 119,187,221,238,255,255,0,0 A789 FFFF0000 A78D EEDDBB77 0770 .BYTE 238,221,187,119,255,255,0,0 A791 FFFF0000 A795 FF9C3663 0780 .BYTE 255,156,54,99,201,255,0,0 A799 C9FF0000 A79D 0F0FF6F6 0790 .BYTE 15,15,246,246,102,255,102,255 A7A1 66FF66FF A7A5 77FF182C 0800 .BYTE 119,255,24,44,60,24,0,0 A7A9 3C180000 A7AD EEFF183C 0810 .BYTE 238,255,24,60,44,24,0,0 A7B1 2C180000 A7B5 FFFF6666 0820 .BYTE 255,255,102,102,102,255,0,0 A7B9 66FF0000 A7BD 00000000 0830 .BYTE 0,0,0,0,0,0,0,0 A7C1 00000000 A7C5 FFFFFFFF 0840 .BYTE 255,255,255,255,255,255,255,255 A7C9 FFFFFFFF 1410 .INCLUDE #D:DLIST.M65 0100 ; ****************************** 0110 ; * Displaylist Daten * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:DLIST.M65 0180 ; A7CD 70706042 0190 DL .BYTE 112,112,$60,64+2 A7D1 00B4 0200 .WORD SCREEN A7D3 0086 0210 .BYTE 0,$86 A7D5 06860686 0220 .BYTE 6,$86,6,$86,6 A7D9 06 A7DA 86068606 0230 .BYTE $86,6,$86,6,$86,6 A7DE 8606 A7E0 86068606 0240 .BYTE $86,6,$86,6,$86,6 A7E4 8606 A7E6 86060606 0250 .BYTE $86,6,6,6,0,2,65 A7EA 000241 A7ED CDA7 0260 .WORD DL 1420 LAND .INCLUDE #D:LUFT.M65 0100 ; ****************************** 0110 ; * Teste, ob Bob landen kann. * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:LUFT.M65 0180 ; 0190 ;wenn Luft:=> LLL4, nicht:weiter A7EF AD9706 0200 LDA STONE3 ;PLATTFORM A7F2 D00D 0210 BNE DLD ;JA A7F4 AD9506 0220 LDA STONE1 ; A7F7 290F 0230 AND #15 ; A7F9 C90F 0240 CMP #15 ;LASER? A7FB F006 0250 BEQ ZUSCH ;JA A7FD C907 0260 CMP #7 ;<7 A7FF 9007 0270 BCC DNL ;JA. NICHT LAND. A801 38 0280 DLD SEC ;LANDEN! A802 60 0290 RTS A803 AD9D06 0300 ZUSCH LDA LASER? A806 D0F9 0310 BNE DLD A808 18 0320 DNL CLC ;NICHT LANDEN A809 60 0330 RTS 1430 ; ------------------------------ A80A D8 1440 VBI CLD A80B A900 1450 LDA #0 A80D 85CF 1460 STA DLIC A80F ADA206 1470 LDA VBIANAUS A812 D003 1480 BNE VBIAN A814 4C46AB 1490 JMP EOVBI 1500 VBIAN .INCLUDE #D:BEKILLED.M65 0100 ; ****************************** 0110 ; * Bobby's Sterbeabgang * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:BEKILLED.M65 0180 ; A817 AD9B06 0190 LDA BOBTOT ;BOB TOT? A81A F058 0200 BEQ EOMB ;NEIN 0210 ; A81C A200 0220 LDX #0 A81E 8E8E06 0230 STX DELTAX A821 E8 0240 INX A822 8E8F06 0250 STX DELTAY 0260 ; A825 A210 0270 LDX #16 A827 AD0AD2 0280 BTL2 LDA RANDOM A82A CD9B06 0290 CMP BOBTOT A82D 900B 0300 BCC BTL0 A82F 2D0AD2 0310 AND RANDOM A832 49FF 0320 EOR #255 A834 3D7D06 0330 AND LOECHER,X A837 9D7D06 0340 STA LOECHER,X A83A CA 0350 BTL0 DEX A83B 10EA 0360 BPL BTL2 A83D CE9B06 0370 BTL1 DEC BOBTOT A840 F003 0380 BEQ GOVER A842 4C46AB 0390 JMP ZP 0400 ; 0410 ; Schluss mit sterben !!! 0420 ; A845 A901 0430 GOVER LDA #1 ; Bob ist tot! A847 8DA006 0440 STA WASNUN A84A A900 0450 BTL3 LDA #0 A84C 8DA206 0455 STA VBIANAUS ;07-10-87 A84F 8D9F06 0460 STA CRASHBIT A852 8D0006 0465 STA XPOS A855 8D8E06 0470 STA DELTAX A858 8D8F06 0480 STA DELTAY A85B 8D9406 0490 STA JMPHIM? A85E 8D9906 0500 STA DARFTRIG A861 8DAB06 0510 STA SOUNDN2 A864 8DAC06 0520 STA SOUNDN3 0530 ; A867 A210 0540 LDX #16 A869 A9FF 0550 LDA #255 A86B 9D7D06 0560 BTL4 STA LOECHER,X A86E CA 0570 DEX A86F 10FA 0580 BPL BTL4 A871 4C46AB 0590 JMP ZP A874 0600 EOMB A874 AD1FD0 0610 LDA 53279 A877 C903 0620 CMP #3 A879 D003 0630 BNE EOMB33 A87B 8DA006 0640 STA WASNUN A87E 0650 EOMB33 1510 .INCLUDE #D:KILLER.M65 0100 ; ****************************** 0110 ; * Rammt Bob ein Monster? * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:KILLER.M65 0180 ; A87E AD9F06 0190 LDA CRASHBIT A881 F06D 0200 BEQ CRA1 ; KEIN CRASH A883 AE9E06 0210 LDX CRASHLINE A886 CA 0220 DEX A887 1002 0230 BPL CRA2 A889 A209 0240 LDX #9 A88B 0250 CRA2 A88B AD9F06 0260 LDA CRASHBIT A88E 2901 0270 AND #1 A890 F007 0280 BEQ CRA3 A892 BD0306 0290 LDA STATUSM,X A895 2902 0300 AND #2 A897 F013 0310 BEQ CRA5 A899 8A 0320 CRA3 TXA A89A 18 0330 CLC A89B 690A 0340 ADC #[BYTES/2] A89D AA 0350 TAX A89E AD9F06 0360 LDA CRASHBIT A8A1 2902 0370 AND #2 A8A3 F04B 0380 BEQ CRA1 A8A5 BD0306 0390 LDA STATUSM,X A8A8 2902 0400 AND #2 A8AA D044 0410 BNE CRA1 A8AC 0420 CRA5 A8AC AD5306 0430 LDA NOKASTEN ;KAESTEN=0? A8AF D02D 0440 BNE CRA51 ;NEIN 0450 SOUNDI9 M ;******************************* M ;* Monstersterben * M ;******************************* A8B1 A909 M LDA #9 A8B3 8DA706 M STA SOUNDN1 A8B6 A91E M LDA #30 A8B8 8DA406 M STA SOUNDP11 M .ENDM A8BB A900 0460 LDA #0 A8BD 9D0306 0470 STA STATUSM,X A8C0 9D1706 0480 STA XHI,X A8C3 9D5506 0490 STA XLO,X A8C6 8D1ED0 0500 STA $D01E HITCLR A8C9 8D9F06 0510 STA CRASHBIT A8CC A902 0520 LDA #2 A8CE 20219F 0530 JSR SCOREADD A8D1 CE5406 0540 DEC NOMONSTER A8D4 D01A 0550 BNE CRA1 0560 ; A8D6 A902 0630 LDA #2 ;alle Monst.tot! A8D8 8DA006 0640 STA WASNUN A8DB 4C4AA8 0650 JMP BTL3 ;(BTL3 = GOVER2) 0655 ; in BEKILLED A8DE A9FA 0660 CRA51 LDA #KILLTIME A8E0 8D9B06 0670 STA BOBTOT 0680 SOUNDI7 ;Bob rammt Monst M ; ****************************** M ; * Bob's Sterbeabgang * M ; ****************************** A8E3 A907 M LDA #7 A8E5 8DAB06 M STA SOUNDN2 A8E8 A932 M LDA #50 A8EA 8DA806 M STA SOUNDP21 M .ENDM A8ED 4C46AB 0690 JMP ZP A8F0 0700 CRA1 1520 .INCLUDE #D:STEINE.M65 0100 ; ****************************** 0110 ; * Erkenne Steine unter Bob * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:STEINE.M65 0180 ; A8F0 AD0106 0190 LDA YPOS A8F3 18 0200 CLC A8F4 6911 0210 ADC #17 ;MHOEHE A8F6 2907 0220 AND #7 A8F8 F00E 0230 BEQ AOK A8FA A900 0240 LDA #0 A8FC 8D9506 0250 STA STONE1 A8FF 8D9606 0260 STA STONE2 A902 8D9706 0270 STA STONE3 A905 4CF0A9 0280 JMP EOM 0290 ; A908 0300 AOK A908 AD0106 0310 LDA YPOS A90B 38 0320 SEC A90C E90F 0330 SBC #32-17 ;MHOEHE A90E 4A 0340 LSR A A90F 4A 0350 LSR A A910 4A 0360 LSR A A911 18 0370 CLC A912 6901 0380 ADC #1 A914 8D9106 0390 STA RAM0 A917 85CD 0400 STA PAGE0 A919 A900 0410 LDA #0 A91B 8D9206 0420 STA RAM0+1 A91E 85CE 0430 STA PAGE0+1 0440 ; A920 06CD 0450 ASL PAGE0 ;*16 A922 26CE 0460 ROL PAGE0+1 A924 06CD 0470 ASL PAGE0 A926 26CE 0480 ROL PAGE0+1 A928 06CD 0490 ASL PAGE0 A92A 26CE 0500 ROL PAGE0+1 A92C 06CD 0510 ASL PAGE0 A92E 26CE 0520 ROL PAGE0+1 0530 ; A930 0E9106 0540 ASL RAM0 A933 2E9206 0550 ROL RAM0+1 A936 0E9106 0560 ASL RAM0 A939 2E9206 0570 ROL RAM0+1 0580 ; A93C AD0206 0590 LDA STATUS A93F 2904 0600 AND #4 A941 38 0610 SEC A942 F001 0620 BEQ UUU A944 18 0630 CLC A945 0640 UUU A945 AD0006 0650 LDA XPOS A948 E92C 0660 SBC #44 0670 ; A94A 4A 0680 LSR A A94B 4A 0690 LSR A A94C 4A 0700 LSR A 0710 ; A94D 18 0720 CLC A94E 65CD 0730 ADC PAGE0 A950 85CD 0740 STA PAGE0 A952 A5CE 0750 LDA PAGE0+1 A954 6900 0760 ADC #0 A956 85CE 0770 STA PAGE0+1 A958 A5CD 0780 LDA PAGE0 A95A 18 0790 CLC A95B 6D9106 0800 ADC RAM0 A95E 85CD 0810 STA PAGE0 A960 A5CE 0820 LDA PAGE0+1 A962 6D9206 0830 ADC RAM0+1 A965 85CE 0840 STA PAGE0+1 A967 A558 0850 LDA 88 A969 18 0860 CLC A96A 65CD 0870 ADC PAGE0 A96C 85CD 0880 STA PAGE0 A96E A5CE 0890 LDA PAGE0+1 A970 6559 0900 ADC 89 A972 85CE 0910 STA PAGE0+1 0920 ; A974 A000 0930 LDY #0 A976 B1CD 0940 LDA (PAGE0),Y A978 8D9506 0950 STA STONE1 0960 ; A97B A5CD 0970 LDA PAGE0 A97D 38 0980 SEC A97E E914 0990 SBC #20 A980 85D0 1000 STA PAGE02 A982 A5CE 1010 LDA PAGE0+1 A984 E900 1020 SBC #0 A986 85D1 1030 STA PAGE02+1 A988 B1D0 1040 LDA (PAGE02),Y A98A 8D9606 1050 STA STONE2 1060 ;------- MOVING STONES ------- A98D AD0106 1070 LDA YPOS A990 18 1080 CLC A991 6911 1090 ADC #17 A993 2908 1100 AND #8 A995 F059 1110 BEQ EOM 1120 ; A997 AD0106 1130 LDA YPOS A99A 38 1140 SEC A99B E927 1150 SBC #39 A99D 4A 1160 LSR A A99E 4A 1170 LSR A A99F 4A 1180 LSR A A9A0 4A 1190 LSR A A9A1 AA 1200 TAX A9A2 C90A 1210 CMP #10 A9A4 B04A 1220 BCS EOM 1230 ; A9A6 AD0206 1240 LDA STATUS A9A9 2904 1250 AND #4 A9AB 18 1260 CLC A9AC D001 1270 BNE UEG A9AE 38 1280 SEC A9AF AD0006 1290 UEG LDA XPOS A9B2 6903 1300 ADC #3 A9B4 8D9806 1310 STA VBIS 1320 ; A9B7 BD0306 1330 LDA STATUSM,X A9BA 2902 1340 AND #2 A9BC F00F 1350 BEQ TT2 A9BE AD9806 1360 LDA VBIS A9C1 DD1706 1370 CMP XHI,X A9C4 9007 1380 BCC TT2 A9C6 E908 1390 SBC #8 A9C8 DD1706 1400 CMP XHI,X A9CB 901E 1410 BCC STORE1 ;04.03.86 01:50! 1420 ; A9CD BD0D06 1430 TT2 LDA STATUSM+[BYTES/2],X A9D0 2902 1440 AND #2 A9D2 F00F 1450 BEQ STORE0 A9D4 AD9806 1460 LDA VBIS A9D7 DD2106 1470 CMP XHI+[BYTES/2],X A9DA 9007 1480 BCC STORE0 A9DC E908 1490 SBC #8 A9DE DD2106 1500 CMP XHI+[BYTES/2],X A9E1 9008 1510 BCC STORE1 A9E3 1520 STORE0 A9E3 A900 1530 LDA #0 A9E5 8D9706 1540 STA STONE3 A9E8 4CF0A9 1550 JMP EOM A9EB 1560 STORE1 A9EB A901 1570 LDA #1 A9ED 8D9706 1580 STA STONE3 A9F0 1590 EOM 1530 ; ------------------------------ A9F0 AD9406 1540 LDA JMPHIM? A9F3 F065 1550 BEQ RL ;JOYSTICK-ABFR. 1560 ; A9F5 CE9306 1570 LLL5 DEC JMPTIME 1580 ; A9F8 D017 1590 BNE LLL9 ; JMPTIME<>0 A9FA AD9A06 1600 LDA RUNTER ; JMPTIME=0 A9FD F049 1610 BEQ LLL1 ; RUNTER=0 1620 ; RUNTER=1 A9FF A9FA 1630 LDA #KILLTIME ; ZU TIEF... AA01 8D9B06 1640 STA BOBTOT ;...GEFALLEN! 1650 SOUNDI7 M ; ****************************** M ; * Bob's Sterbeabgang * M ; ****************************** AA04 A907 M LDA #7 AA06 8DAB06 M STA SOUNDN2 AA09 A932 M LDA #50 AA0B 8DA806 M STA SOUNDP21 M .ENDM AA0E 4C3DAA 1660 JMP LLL4 1670 ; AA11 AD9A06 1680 LLL9 LDA RUNTER ; AA14 F02A 1690 BEQ LLL2 ; RUNTER=1 1700 ; RUNTER=0 AA16 A901 1710 LDA #1 ;=POS. AA18 8D8F06 1720 STA DELTAY AA1B 20EFA7 1730 JSR LAND ;FESTER BODEN? AA1E 901D 1740 BCC LLL4 ;NO, DO'NT LAND 1750 ;*** FESTER BODEN UNTER BOB! 1760 SOUNDI6 M ; ****************************** M ; * Nach Sprung aufkommen * M ; ****************************** AA20 A90A M LDA #10 AA22 8DA806 M STA SOUNDP21 AA25 A906 M LDA #6 AA27 8DAB06 M STA SOUNDN2 M .ENDM AA2A A900 1770 LDA #0 AA2C 8D9406 1780 STA JMPHIM? ;NICHT SPRINGEN AA2F 8D9306 1790 STA JMPTIME ;JMPTIME=0!!** AA32 8D8F06 1800 STA DELTAY AA35 AD0206 1810 LDA STATUS AA38 2904 1820 AND #4 AA3A 8D0206 1830 STA STATUS ;JETZT STEHEN! 1840 ; LDA #2 1850 ; STA DARFTRIG ;NOCH NICHT TR. AA3D 4C46AB 1860 LLL4 JMP ZP 1870 ; AA40 A9FF 1880 LLL2 LDA #-1 AA42 8D8F06 1890 STA DELTAY AA45 4C3DAA 1900 JMP LLL4 1910 ; AA48 A900 1920 LLL1 LDA #0 AA4A 8D8F06 1930 STA DELTAY AA4D A901 1940 LDA #1 ;NUN RUNTER! AA4F 8D9A06 1950 STA RUNTER AA52 A91B 1960 LDA #MAXRUNTER AA54 8D9306 1970 STA JMPTIME AA57 4C3DAA 1980 JMP LLL4 1990 ;*** RECHTS ODER LINKS ABFRAGE*** AA5A 2000 RL AA5A 202EAE 2010 JSR AUSWERTUNG AA5D AD7802 2020 LDA STICK0 AA60 490F 2030 EOR #15 AA62 8D9006 2040 STA STICK 2050 ; AA65 2908 2060 AND #8 AA67 D017 2070 BNE MHR ;MOVE HIM RECHTS AA69 AD9006 2080 LDA STICK AA6C 2904 2090 AND #4 AA6E D022 2100 BNE MHL ;MOVE HIM LINKS AA70 A900 2110 LDA #0 ;NO MOVE AA72 8D8E06 2120 STA DELTAX AA75 AD0206 2130 LDA STATUS AA78 2904 2140 AND #4 AA7A 8D0206 2150 STA STATUS AA7D 4CACAA 2160 JMP LLL6 2170 ; AA80 2180 MHR AA80 A901 2190 LDA #1 AA82 8D8E06 2200 STA DELTAX AA85 A902 2210 LDA #2 AA87 8D0206 2220 STA STATUS 2230 SOUNDI4 M ; ****************************** M ; * Bob rennt * M ; ****************************** AA8A A904 M LDA #4 AA8C 8DAB06 M STA SOUNDN2 M .ENDM AA8F 4CA1AA 2240 JMP LLL60 2250 ; AA92 A9FF 2260 MHL LDA #-1 AA94 8D8E06 2270 STA DELTAX AA97 A906 2280 LDA #2+4 AA99 8D0206 2290 STA STATUS 2300 SOUNDI4 M ; ****************************** M ; * Bob rennt * M ; ****************************** AA9C A904 M LDA #4 AA9E 8DAB06 M STA SOUNDN2 M .ENDM AAA1 2310 LLL60 AAA1 A514 2320 LDA 20 AAA3 4A 2330 LSR A AAA4 2901 2340 AND #1 AAA6 0D0206 2350 ORA STATUS AAA9 8D0206 2360 STA STATUS AAAC 2370 LLL6 AAAC AD9906 2380 LDA DARFTRIG AAAF F006 2390 BEQ LLL7 2400 ; AAB1 CE9906 2410 DEC DARFTRIG AAB4 4CEEAA 2420 JMP LLL8 2430 ; AAB7 2440 LLL7 AAB7 AD8402 2450 LDA 644 ;TRIGGER0 AABA D032 2460 BNE LLL8 2470 SOUNDI3 M ; ****************************** M ; * Bob springt * M ; ****************************** AABC A914 M LDA #20 AABE 8DA806 M STA SOUNDP21 ;TONHOEHE AAC1 A90E M LDA #14 AAC3 8DA906 M STA SOUNDP22 ;LAUTSTAERKE AAC6 A901 M LDA #1 AAC8 8DAA06 M STA SOUNDP23 ;DELTA-TON AACB A903 M LDA #3 AACD 8DAB06 M STA SOUNDN2 ;SOUND-NR M .ENDM AAD0 A901 2480 LDA #1 AAD2 8D9406 2490 STA JMPHIM? AAD5 AD0206 2500 LDA STATUS AAD8 2904 2510 AND #4 AADA 0901 2520 ORA #1 AADC 8D0206 2530 STA STATUS AADF A912 2540 LDA #LINESHOCH AAE1 8D9306 2550 STA JMPTIME AAE4 A900 2560 LDA #0 ;HOCHSPRINGEN! AAE6 8D9A06 2570 STA RUNTER AAE9 A902 2580 LDA #2 AAEB 8D9906 2590 STA DARFTRIG 2600 ; AAEE 2056AE 2610 LLL8 JSR MAKEACTION 2620 .INCLUDE #D:ACTIONF2.M65 0100 ; ****************************** 0110 ; * Reaktionen auf Steine II * 0120 ; * Letzte Revision: 08-11-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:ACTIONF2.M65 0180 ; AAF1 A000 0190 LDY #0 AAF3 AD9606 0200 LDA STONE2 AAF6 290F 0210 AND #15 AAF8 C906 0220 CMP #6 ;BONUS? AAFA F03E 0230 BEQ BNS ;JA AAFC C903 0240 CMP #3 ;SICHERUNGSKAST? AAFE D046 0250 BNE EOM3 ;NEIN 0260 ; AB00 A902 0270 LDA #2 ;JA (2=KASTEN) AB02 91D0 0280 STA (PAGE02),Y 0290 SOUNDI2 M ;******************************* M ;* Sicherungkasten rep. * M ;******************************* AB04 A90F M LDA #15 AB06 8DA406 M STA SOUNDP11 AB09 8DA506 M STA SOUNDP12 AB0C A904 M LDA #4 AB0E 8DA606 M STA SOUNDP13 AB11 A902 M LDA #2 AB13 8DA706 M STA SOUNDN1 M .ENDM AB16 A901 0300 LDA #1 AB18 20219F 0310 JSR SCOREADD 0320 ; SICHERUNGSKASTENZAEHLER-1 AB1B CE5306 0330 DEC NOKASTEN 0350 ; 0360 ;--- FRESSITINIT -------------- 0370 ; LDA NOKASTEN AB1E D012 0380 BNE SM871 AB20 A901 0390 LDA #1 AB22 8DBE06 0400 STA AMADIP AB25 A9F4 0410 LDA # <FRESSTIMESW AB27 8DBB06 0420 STA FRESSTIME AB2A A901 0430 LDA # >FRESSTIMESW AB2C 8DBC06 0440 STA FRESSTIME+1 AB2F 4C37AB 0450 JMP SM870 AB32 0460 SM871 AB32 A900 0470 LDA #0 AB34 8DBE06 0480 STA AMADIP AB37 0490 SM870 0500 ;------------------------------ 0510 ; AB37 4C46AB 0520 ZXZ JMP EOM3 AB3A 0530 BNS AB3A A900 0540 LDA #0 AB3C 91D0 0550 STA (PAGE02),Y AB3E A900 0560 LDA #0 AB40 20219F 0570 JSR SCOREADD AB43 20B2A0 0580 JSR LIVEDAZU ;EXTRA-LIVE!!! AB46 0590 EOM3 AB46 2630 EOVBI 2640 ZP .INCLUDE #D:ZEICHNEP.M65 0100 ; ****************************** 0110 ; * Zeichne Player * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:ZEICHNEP.M65 0180 ; 0190 ; -------- ZEICHNE P2 ---------- 0200 ; AB46 ADA306 0210 LDA YPOSRESCUE ;LOESCHE PM AB49 85CD 0220 STA PAGE0 AB4B A9BE 0230 LDA #PMS+6 AB4D 85CE 0240 STA PAGE0+1 AB4F A900 0250 LDA #0 AB51 A000 0260 LDY #0 AB53 91CD 0270 CL STA (PAGE0),Y AB55 E6CE 0280 INC PAGE0+1 AB57 91CD 0290 STA (PAGE0),Y AB59 F01E 0300 BEQ NNYP AB5B C6CE 0310 DEC PAGE0+1 AB5D C8 0320 INY AB5E C011 0330 CPY #17 AB60 D0F1 0340 BNE CL ; LOESCH ENDE 0350 ; AB62 AD0106 0360 LDA YPOS ;UPDATE YPOS AB65 18 0370 CLC AB66 6D8F06 0380 ADC DELTAY AB69 C918 0390 CMP #24 AB6B F00C 0400 BEQ NNYP AB6D C9C6 0410 CMP #198 AB6F F008 0420 BEQ NNYP AB71 8D0106 0430 STA YPOS AB74 8DA306 0440 STA YPOSRESCUE AB77 85CD 0450 STA PAGE0 0460 ; AB79 AC0206 0470 NNYP LDY STATUS AB7C BEC29F 0480 LDX OFFSET,Y 0490 ; 0500 ; ******* ZEICHNE PL2 ***** AB7F A000 0510 LDY #0 AB81 BDCA9F 0520 PL1 LDA DATENP2,X AB84 397D06 0530 AND LOECHER,Y AB87 91CD 0540 STA (PAGE0),Y AB89 E8 0550 INX AB8A C8 0560 INY AB8B C011 0570 CPY #17 AB8D D0F2 0580 BNE PL1 0590 ; 0600 ; ******* ZEICHNE P3 ********* 0610 ; AB8F A200 0620 LDX #0 AB91 AD0206 0630 LDA STATUS AB94 2904 0640 AND #4 AB96 F002 0650 BEQ III AB98 A209 0660 LDX #9 ;OFFSET VON 9 AB9A A004 0670 III LDY #4 AB9C E6CE 0680 INC PAGE0+1 AB9E BD52A0 0690 L1 LDA DATENP3,X ABA1 397D06 0700 AND LOECHER,Y ABA4 91CD 0710 STA (PAGE0),Y ABA6 E8 0720 INX ABA7 C8 0730 INY ABA8 C00D 0740 CPY #13 ABAA D0F2 0750 BNE L1 0760 ;** NEW X-POSITION *** ABAC A514 0770 LDA 20 ;25TIMES PER SEC ABAE 2901 0780 AND #1 ABB0 F012 0790 BEQ G1 ABB2 AD0006 0800 LDA XPOS ;JA. NEW X ABB5 18 0810 CLC ABB6 6D8E06 0820 ADC DELTAX ABB9 C9C9 0830 CMP #201 ABBB B007 0840 BCS G1 ABBD C92F 0850 CMP #47 ABBF 9003 0860 BCC G1 ABC1 8D0006 0870 STA XPOS ABC4 AD0006 0880 G1 LDA XPOS ABC7 8D02D0 0890 STA 53250 ABCA 8D03D0 0900 STA 53251 2650 ; ABCD 20799E 2660 JSR ACFO 2670 SOUNDA0 ABD0 ADAB06 M LDA SOUNDN2 ABD3 D008 M BNE EOS0 ABD5 A900 M LDA #0 ABD7 8D02D2 M STA AUDF2 ABDA 8D03D2 M STA AUDC2 ABDD M EOS0 M .ENDM 2680 SOUNDA1 ABDD ADA706 M LDA SOUNDN1 ABE0 C901 M CMP #1 ABE2 D02A M BNE SOL1 ABE4 ADA506 M LDA SOUNDP12 ABE7 8D00D2 M STA AUDF1 ABEA ADA406 M LDA SOUNDP11 ABED 09A0 M ORA #16*10 ABEF 8D01D2 M STA AUDC1 M ; ABF2 CEA506 M DEC SOUNDP12 ABF5 D017 M BNE SOL1 ABF7 CEA406 M DEC SOUNDP11 ABFA ADA406 M LDA SOUNDP11 ABFD 8DA506 M STA SOUNDP12 AC00 100C M BPL SOL1 AC02 A900 M LDA #0 AC04 8DA706 M STA SOUNDN1 AC07 1005 M BPL SOL1 AC09 A900 M LDA #0 AC0B 8DA706 M STA SOUNDN1 AC0E M SOL1 M .ENDM 2690 SOUNDA2 AC0E ADA706 M LDA SOUNDN1 AC11 C902 M CMP #2 AC13 D013 M BNE SOL2 ; AC15 ADA406 M LDA SOUNDP11 AC18 8D01D2 M STA AUDC1 AC1B A900 M LDA #0 AC1D 8D00D2 M STA AUDF1 AC20 CEA406 M DEC SOUNDP11 AC23 D038 M BNE SOL3 AC25 EEA706 M INC SOUNDN1 AC28 M SOL2 AC28 ADA706 M LDA SOUNDN1 ;SOUNDN1=3? AC2B C903 M CMP #3 AC2D D02E M BNE SOL3 ;NO AC2F CEA606 M DEC SOUNDP13 AC32 D00F M BNE SOL20 AC34 A904 M LDA #4 AC36 8DA606 M STA SOUNDP13 AC39 CEA506 M DEC SOUNDP12 AC3C D005 M BNE SOL20 AC3E A900 M LDA #0 AC40 8DA706 M STA SOUNDN1 AC43 A514 M SOL20 LDA 20 AC45 2901 M AND #1 AC47 F007 M BEQ SOL22 AC49 A932 M LDA #50 AC4B 8D00D2 M STA AUDF1 AC4E D005 M BNE SOL30 AC50 A928 M SOL22 LDA #40 AC52 8D00D2 M STA AUDF1 AC55 ADA506 M SOL30 LDA SOUNDP12 AC58 09A0 M ORA #16*10 AC5A 8D01D2 M STA AUDC1 AC5D M SOL3 M .ENDM 2700 SOUNDA3 AC5D ADAB06 M LDA SOUNDN2 AC60 C903 M CMP #3 AC62 D034 M BNE EOS3 M ; AC64 ADA806 M LDA SOUNDP21 AC67 18 M CLC AC68 6DAA06 M ADC SOUNDP23 AC6B 8DA806 M STA SOUNDP21 AC6E 8D02D2 M STA AUDF2 AC71 C914 M CMP #20 ;UNTERE GRENZE AC73 D008 M BNE SM3OK1 AC75 A901 M LDA #1 AC77 8DAA06 M STA SOUNDP23 AC7A 4C86AC M JMP SM3LST AC7D C916 M SM3OK1 CMP #22 ;OBERE GR. AC7F D00F M BNE SM3OK2 AC81 A9FF M LDA #-1 AC83 8DAA06 M STA SOUNDP23 AC86 M SM3LST AC86 CEA906 M DEC SOUNDP22 AC89 D005 M BNE SM3OK2 AC8B A900 M LDA #0 AC8D 8DAB06 M STA SOUNDN2 AC90 ADA906 M SM3OK2 LDA SOUNDP22 AC93 09A0 M ORA #10*16 AC95 8D03D2 M STA AUDC2 AC98 M EOS3 M .ENDM 2710 SOUNDA4 AC98 ADAB06 M LDA SOUNDN2 AC9B C904 M CMP #4 AC9D D02B M BNE EOS4 M ; AC9F ADA806 M LDA SOUNDP21 ACA2 C905 M CMP #5 ACA4 9005 M BCC SM4L0 ACA6 A904 M LDA #4 ACA8 8DA806 M STA SOUNDP21 ACAB M SM4L0 ACAB ADA806 M LDA SOUNDP21 ACAE 8D02D2 M STA AUDF2 ACB1 8D03D2 M STA AUDC2 ACB4 CEA806 M DEC SOUNDP21 ACB7 AD9406 M LDA JMPHIM? ACBA D009 M BNE SM4L1 ACBC AD9006 M LDA STICK ACBF 290C M AND #12 ACC1 F002 M BEQ SM4L1 ACC3 D005 M BNE EOS4 ACC5 A900 M SM4L1 LDA #0 ACC7 8DAB06 M STA SOUNDN2 ACCA M EOS4 M .ENDM 2720 SOUNDA5 ACCA ADAB06 M LDA SOUNDN2 ACCD C905 M CMP #5 ACCF D00D M BNE EOS5 ACD1 AD0AD2 M LDA RANDOM ACD4 290F M AND #15 ACD6 8D02D2 M STA AUDF2 ACD9 A9A6 M LDA #10*16+6 ACDB 8D03D2 M STA AUDC2 ACDE M EOS5 M .ENDM 2730 SOUNDA6 ACDE ADAB06 M LDA SOUNDN2 ACE1 C906 M CMP #6 ACE3 D013 M BNE EOS6 ACE5 ADA806 M LDA SOUNDP21 ACE8 8D03D2 M STA AUDC2 ACEB 8D02D2 M STA AUDF2 ACEE CEA806 M DEC SOUNDP21 ACF1 D005 M BNE EOS6 ACF3 A900 M LDA #0 ACF5 8DAB06 M STA SOUNDN2 ACF8 M EOS6 M .ENDM 2740 SOUNDA7 ACF8 ADAB06 M LDA SOUNDN2 ACFB C907 M CMP #7 ACFD D024 M BNE EOS7 ACFF A514 M LDA 20 AD01 2901 M AND #1 AD03 F00E M BEQ SM7L1 AD05 A948 M LDA #16*4+8 AD07 8D03D2 M STA AUDC2 AD0A ADA806 M LDA SOUNDP21 AD0D 8D02D2 M STA AUDF2 AD10 4C23AD M JMP EOS7 AD13 M SM7L1 AD13 A900 M LDA #0 AD15 8D02D2 M STA AUDF2 AD18 8D03D2 M STA AUDC2 AD1B CEA806 M DEC SOUNDP21 AD1E D003 M BNE EOS7 AD20 8DAB06 M STA SOUNDN2 AD23 M EOS7 M .ENDM 2750 SOUNDA9 AD23 ADA706 M LDA SOUNDN1 AD26 C909 M CMP #9 AD28 D021 M BNE EOS9 M ; AD2A A514 M LDA 20 AD2C 2901 M AND #1 AD2E F00A M BEQ S9L1 AD30 CEA406 M DEC SOUNDP11 AD33 D005 M BNE S9L1 AD35 A900 M LDA #0 AD37 8DA706 M STA SOUNDN1 AD3A M S9L1 AD3A ADA406 M LDA SOUNDP11 AD3D 4A M LSR A AD3E 8D01D2 M STA AUDC1 AD41 AD0AD2 M LDA RANDOM AD44 297F M AND #127 AD46 0940 M ORA #64 AD48 8D00D2 M STA AUDF1 AD4B M EOS9 M .ENDM 2760 SOUND3A1 M ; LDA SOUNDN3 M ; BNE Z2 AD4B AD5406 M LDA NOMONSTER AD4E F005 M BEQ Z0 AD50 ADBE06 M LDA AMADIP AD53 D00A M BNE Z1 AD55 A900 M Z0 LDA #0 AD57 8D04D2 M STA AUDF3 AD5A 8D05D2 M STA AUDC3 AD5D F025 M BEQ Z2 AD5F M Z1 AD5F AD0AD2 M LDA RANDOM ;COLOR AD62 29FB M AND #255-4 ; " AD64 0908 M ORA #8 ; " AD66 8D16D0 M STA $D016 ;COLOR! AD69 AD0AD2 M LDA RANDOM AD6C 8D04D2 M STA AUDF3 AD6F AD0AD2 M LDA RANDOM AD72 2902 M AND #2 AD74 8D05D2 M STA AUDC3 AD77 ADBE06 M LDA AMADIP ;AntiMonst.Anl. AD7A D008 M BNE Z2 ;ist ON AD7C A900 M LDA #0 ;ist OFF AD7E 8DAC06 M STA SOUNDN3 AD81 8D05D2 M STA AUDC3 AD84 M Z2 M .ENDM 2770 SOUND3A2 AD84 ADAD06 M LDA SOUNDN4 AD87 C901 M CMP #1 ;BIN ICH'S? AD89 D059 M BNE Z20 ;NO! AD8B ADB006 M LDA SOUNDP43 ;Neue Note? AD8E D039 M BNE Z10 ;Nein AD90 ACAE06 M LDY SOUNDP41 ;Ja AD93 C016 M CPY #22 ;Letzte Note AD95 D019 M BNE Z12 ;Nein AD97 A900 M LDA #0 ;Ja AD99 8DAD06 M STA SOUNDN4 ;Sound aus! AD9C ADB906 M LDA EXTRAP ;soll EXTRA AD9F C905 M CMP #5 ;resetet w.? ADA1 D07E M BNE Z11 ;nein ADA3 A004 M LDY #4 ;Ja! ADA5 B940A3 M Z17 LDA TXTB+18,Y ;let's ADA8 99F2B5 M STA SCREEN+498,Y ;clear ADAB 88 M DEY ;our ADAC 10F7 M BPL Z17 ;EXTRA! ADAE 3071 M BMI Z11 ;JMP ende ADB0 B9F5AD M Z12 LDA NOTEN,Y ;Note ADB3 8D06D2 M STA AUDF4 ADB6 A9A8 M LDA #$A8 ;Lautstaerke ADB8 8D07D2 M STA AUDC4 ADBB B90BAE M LDA LAENGEN,Y ;Tonlaenge ADBE 8DAF06 M STA SOUNDP42 ADC1 A902 M LDA #2 ;SCM-Sound! ADC3 8DB006 M STA SOUNDP43 ADC6 EEAE06 M INC SOUNDP41 ;next Ton ADC9 ADB006 M Z10 LDA SOUNDP43 ADCC C901 M CMP #1 ;Ding o. Dong? ADCE D016 M BNE Z13 ADD0 ADAF06 M Z15 LDA SOUNDP42 ADD3 09A0 M ORA #160 ;pure Tone! ADD5 8D07D2 M STA AUDC4 ADD8 CEAF06 M DEC SOUNDP42 ADDB 1044 M BPL Z11 ADDD A900 M LDA #0 ADDF 8DB006 M STA SOUNDP43 ADE2 F03D M BEQ Z11 ADE4 D03B M Z20 BNE Z11 ADE6 CEAF06 M Z13 DEC SOUNDP42 ADE9 1036 M BPL Z11 ADEB CEB006 M DEC SOUNDP43 ADEE A907 M LDA #7 ADF0 8DAF06 M STA SOUNDP42 ADF3 D0DB M BNE Z15 ADF5 3C3C2D3C M NOTEN .BYTE 60,60,45,60,45,35,45,45,45,35,45 ADF9 2D232D2D ADFD 2D232D AE00 231D232D M .BYTE 35,29,35,45,35,29,35,45,60,60,45 AE04 231D232D AE08 3C3C2D AE0B 00000000 M LAENGEN .BYTE 0,0,0,0,0,0,8,0,0,0,0,0,0,8,0,0,8,0,0,8,8,24 AE0F 00000800 AE13 00000000 AE17 00080000 AE1B 08000008 AE1F 0818 AE21 M Z11 M .ENDM 2780 ; AE21 AD0AD2 2790 LDA RANDOM ;glaenzend! AE24 29F0 2800 AND #$F0 AE26 090A 2810 ORA #$0A AE28 8DC502 2820 STA 709 2830 ; AE2B 4C62E4 2840 JMP $E462 2850 ; 2860 *** AUSWERTUNG DER STEINE **** 2870 ; AE2E 2880 AUSWERTUNG AE2E 20EFA7 2890 JSR LAND AE31 B022 2900 BCS ALLRIGHT 2910 ; AE33 A901 2920 LDA #1 ;FALLEN! AE35 8D9406 2930 STA JMPHIM? AE38 8D8F06 2940 STA DELTAY AE3B 8D9A06 2950 STA RUNTER AE3E A91B 2960 LDA #MAXRUNTER AE40 8D9306 2970 STA JMPTIME ;...FALLEN AE43 AD0206 2980 LDA STATUS AE46 2904 2990 AND #4 AE48 8D0206 3000 STA STATUS AE4B A900 3010 LDA #0 AE4D 8D8E06 3020 STA DELTAX AE50 68 3030 PLA ;JSR RET.ADR. AE51 68 3040 PLA ;VON STACK CL. AE52 4CF5A9 3050 JMP LLL5 AE55 3060 ALLRIGHT AE55 60 3070 RTS 3080 ; 3090 .INCLUDE #D:STACTION.M65 0100 ; ****************************** 0110 ; * Bob's Reaktionen/Steine * 0120 ; * Letzte Revision: 08-08-87 * 0130 ; * by Stefan C. Mueller * 0140 ; * (C) MCMLXXXVII S.C.M.Soft! * 0150 ; ****************************** 0160 ; 0170 ; SAVE #D:STACTION.M65 0180 ; 0190 ;Ueberprueft Steine und macht 0200 ;die entsprechenden Aktionen AE56 0210 MAKEACTION AE56 AD9506 0220 LDA STONE1 AE59 290F 0230 AND #15 AE5B 0A 0240 ASL A AE5C A8 0250 TAY AE5D B967AE 0260 LDA JMPTAB+1,Y AE60 48 0270 PHA AE61 B966AE 0280 LDA JMPTAB,Y AE64 48 0290 PHA AE65 60 0300 RTS AE66 85AE 0310 JMPTAB .WORD SS0-1,SS1-1,SS2-1,SS3-1,SS4-1 AE68 85AE AE6A 85AE AE6C 85AE AE6E 85AE AE70 85AE 0320 .WORD SS5-1,SS6-1,SS7-1,SS8-1,SS9-1 AE72 85AE AE74 85AE AE76 86AE AE78 B2AE AE7A E0AE 0330 .WORD SS10-1,SS11-1,SS12-1,SS13-1 AE7C 11AF AE7E 49AF AE80 4FAF AE82 5DAF 0340 .WORD SS14-1,SS15-1 AE84 8BAF 0350 ; AE86 0360 SS0 ; LUFT AE86 0370 SS1 ; ZIERMAUER AE86 0380 SS2 ; VERT.+SICHERG. AE86 0390 SS4 ; LEITUNG VERT. AE86 0400 SS5 ; LEITUNG HORIZ. AE86 0410 SS7 ; NORM.STEHMAUER AE86 0420 SS3 ; VERT.O.SICHERG. AE86 0430 SS6 ; BONUS AE86 60 0440 RTS 0450 ; *** JMP Rechts Hoch *** AE87 A901 0460 SS8 LDA #1 AE89 8D9406 0470 STA JMPHIM? AE8C A900 0480 LDA #0 AE8E 8D9A06 0490 STA RUNTER AE91 A912 0500 LDA #LINESHOCH AE93 8D9306 0510 STA JMPTIME AE96 A901 0520 LDA #1 AE98 8D0206 0530 STA STATUS AE9B 8D8E06 0540 STA DELTAX 0550 SOUNDI3 M ; ****************************** M ; * Bob springt * M ; ****************************** AE9E A914 M LDA #20 AEA0 8DA806 M STA SOUNDP21 ;TONHOEHE AEA3 A90E M LDA #14 AEA5 8DA906 M STA SOUNDP22 ;LAUTSTAERKE AEA8 A901 M LDA #1 AEAA 8DAA06 M STA SOUNDP23 ;DELTA-TON AEAD A903 M LDA #3 AEAF 8DAB06 M STA SOUNDN2 ;SOUND-NR M .ENDM AEB2 60 0560 RTS 0570 ; *** JMP links hoch *** AEB3 A901 0580 SS9 LDA #1 AEB5 8D9406 0590 STA JMPHIM? AEB8 A900 0600 LDA #0 AEBA 8D9A06 0610 STA RUNTER AEBD A912 0620 LDA #LINESHOCH AEBF 8D9306 0630 STA JMPTIME AEC2 A905 0640 LDA #1+4 AEC4 8D0206 0650 STA STATUS AEC7 A9FF 0660 LDA #-1 AEC9 8D8E06 0670 STA DELTAX 0680 SOUNDI3 M ; ****************************** M ; * Bob springt * M ; ****************************** AECC A914 M LDA #20 AECE 8DA806 M STA SOUNDP21 ;TONHOEHE AED1 A90E M LDA #14 AED3 8DA906 M STA SOUNDP22 ;LAUTSTAERKE AED6 A901 M LDA #1 AED8 8DAA06 M STA SOUNDP23 ;DELTA-TON AEDB A903 M LDA #3 AEDD 8DAB06 M STA SOUNDN2 ;SOUND-NR M .ENDM AEE0 60 0690 RTS 0700 ; *** Freezings Stones *** AEE1 A514 0710 SS10 LDA 20 AEE3 29E0 0720 AND #255-31 ;NO-FREEZE-TIME AEE5 F02A 0730 BEQ NFREEZE AEE7 A900 0740 LDA #0 AEE9 8D8E06 0750 STA DELTAX AEEC 8D8F06 0760 STA DELTAY AEEF A901 0770 LDA #1 AEF1 8D9906 0780 STA DARFTRIG AEF4 AD0AD2 0790 LDA RANDOM AEF7 0908 0800 ORA #8 AEF9 8D14D0 0810 STA $D014 AEFC 6D0AD2 0820 ADC RANDOM AEFF 0908 0830 ORA #8 AF01 8D15D0 0840 STA $D015 AF04 AD0206 0850 LDA STATUS AF07 2904 0860 AND #4 AF09 8D0206 0870 STA STATUS 0880 SOUNDI5 M ; ****************************** M ; * Freezing Stones * M ; ****************************** AF0C A905 M LDA #5 AF0E 8DAB06 M STA SOUNDN2 M .ENDM AF11 60 0890 NFREEZE RTS 0900 ; *** Presslufthammersteine *** AF12 0910 SS11 AF12 A901 0920 LDA #1 AF14 8D9406 0930 STA JMPHIM? AF17 A900 0940 LDA #0 AF19 8D9A06 0950 STA RUNTER AF1C AD0AD2 0960 LDA RANDOM AF1F 2901 0970 AND #1 AF21 D003 0980 BNE BNE AF23 8D8E06 0990 STA DELTAX AF26 A903 1000 BNE LDA #3 ;NUR 3LINES HOCH AF28 8D9306 1010 STA JMPTIME AF2B AD0206 1020 LDA STATUS AF2E 2904 1030 AND #4 AF30 0901 1040 ORA #1 AF32 8D0206 1050 STA STATUS 1060 SOUNDI3 M ; ****************************** M ; * Bob springt * M ; ****************************** AF35 A914 M LDA #20 AF37 8DA806 M STA SOUNDP21 ;TONHOEHE AF3A A90E M LDA #14 AF3C 8DA906 M STA SOUNDP22 ;LAUTSTAERKE AF3F A901 M LDA #1 AF41 8DAA06 M STA SOUNDP23 ;DELTA-TON AF44 A903 M LDA #3 AF46 8DAB06 M STA SOUNDN2 ;SOUND-NR M .ENDM AF49 60 1070 RTS 1080 ; *** Beschl. nach rechts *** AF4A EE8E06 1090 SS12 INC DELTAX ;GESCHW.KEIT. AF4D 4C53AF 1100 JMP SS88 1110 ; *** Beschl. nach links *** AF50 CE8E06 1120 SS13 DEC DELTAX ;GESCHW.KEIT AF53 A900 1130 SS88 LDA #0 AF55 8D9406 1140 STA JMPHIM? AF58 A902 1150 LDA #2 AF5A 8D9906 1160 STA DARFTRIG AF5D 60 1170 RTS 1180 ; *** Beschl.nach oben **** AF5E A901 1190 SS14 LDA #1 AF60 8D9406 1200 STA JMPHIM? AF63 A900 1210 LDA #0 AF65 8D9A06 1220 STA RUNTER AF68 A952 1230 LDA #8*10+2 ;10 STUFEN HOCH! AF6A 8D9306 1240 STA JMPTIME AF6D AD0206 1250 LDA STATUS AF70 2904 1260 AND #4 AF72 0901 1270 ORA #1 AF74 8D0206 1280 STA STATUS 1290 SOUNDI3 M ; ****************************** M ; * Bob springt * M ; ****************************** AF77 A914 M LDA #20 AF79 8DA806 M STA SOUNDP21 ;TONHOEHE AF7C A90E M LDA #14 AF7E 8DA906 M STA SOUNDP22 ;LAUTSTAERKE AF81 A901 M LDA #1 AF83 8DAA06 M STA SOUNDP23 ;DELTA-TON AF86 A903 M LDA #3 AF88 8DAB06 M STA SOUNDN2 ;SOUND-NR M .ENDM AF8B 60 1300 RTS 1310 ; *** fallen durch Blinkstone?*** AF8C 1320 SS15 AF8C 60 1330 RTS 3100 .INCLUDE #D:VSPANN.M65 0100 ; SAVE #D:VSPANN.M65 0110 ; VORSPANN FUER Electro Maniac! 0120 ; VERSION 06-09-87 (C) S.C.M.SOFT =D016 0130 VXCOLOR = $D016 =D20A 0140 VXRANDOM = 53770 =D40A 0150 VXWAIT = $D40A =00D0 0160 VXDLIC = $D0 =00D1 0170 VXVBIT = $D1 =00CB 0180 VXVBIGS = $CB =00CC 0190 VXVBIFS = $CC =D405 0200 VXFSCROL = 54277 AF8D 0210 VORSPANN 0220 ; AF8D 2056A3 0230 JSR PMOFF AF90 205EA2 0240 JSR INITFONT AF93 A907 0250 LDA #7 AF95 8D05D4 0260 STA VXFSCROL AF98 A950 0270 LDA #80 AF9A 85D1 0280 STA VXVBIT AF9C A98F 0290 LDA # <VXTEXT+40 AF9E 8D4BB1 0300 STA VXLMS AFA1 A9B0 0310 LDA # >VXTEXT+40 AFA3 8D4CB1 0320 STA VXLMS+1 AFA6 A200 0330 LDX #0 AFA8 8EC602 0340 STX 710 AFAB 8E1DD0 0350 STX $D01D ;GRACTL AFAE 8E05D4 0360 STX VXFSCROL AFB1 86CC 0370 STX VXVBIFS AFB3 86D1 0380 STX VXVBIT AFB5 E8 0390 INX AFB6 86CB 0400 STX VXVBIGS AFB8 A90A 0410 LDA #10 AFBA 8DC502 0420 STA 709 AFBD A9B1 0430 LDA # >VXDL AFBF 8D3102 0440 STA 561 AFC2 A92F 0450 LDA # <VXDL AFC4 8D3002 0460 STA 560 0470 ; AFC7 A93A 0480 LDA # <VXDLI AFC9 8D0002 0490 STA 512 AFCC A9B0 0500 LDA # >VXDLI AFCE 8D0102 0510 STA 513 0520 ; AFD1 A2AF 0530 LDX # >VXVBI AFD3 A0E6 0540 LDY # <VXVBI AFD5 A907 0550 LDA #7 AFD7 205CE4 0560 JSR $E45C AFDA A9C0 0570 LDA #192 AFDC 8D0ED4 0580 STA $D40E AFDF 204C9C 0590 JSR INITMANIACDL2 AFE2 20EB9C 0600 JSR MAKECOLORUP AFE5 60 0610 RTS 0620 ; 0630 ; =0004 0640 VXMAXANZ = 4 ;# Textzeilen AFE6 0650 VXVBI AFE6 A900 0660 LDA #0 AFE8 85D0 0670 STA VXDLIC AFEA A514 0680 LDA 20 AFEC 2901 0690 AND #1 AFEE F042 0700 BEQ VXML1 AFF0 A964 0710 LDA #100 AFF2 C5D1 0720 CMP VXVBIT AFF4 D03F 0730 BNE VXML0 ;=> AFF6 E6CC 0740 INC VXVBIFS AFF8 A908 0750 LDA #8 AFFA C5CC 0760 CMP VXVBIFS AFFC D02F 0770 BNE VXML2 AFFE A900 0780 LDA #0 B000 85CC 0790 STA VXVBIFS B002 A900 0800 LDA #0 B004 85D1 0810 STA VXVBIT B006 18 0820 CLC B007 AD4BB1 0830 LDA VXLMS B00A 6928 0840 ADC #40 B00C 8D4BB1 0850 STA VXLMS B00F AD4CB1 0860 LDA VXLMS+1 B012 6900 0870 ADC #0 B014 8D4CB1 0880 STA VXLMS+1 B017 E6CB 0890 INC VXVBIGS B019 A5CB 0900 LDA VXVBIGS B01B C904 0910 CMP #VXMAXANZ B01D D00E 0920 BNE VXML2 B01F A900 0930 LDA #0 B021 85CB 0940 STA VXVBIGS B023 A967 0950 LDA # <VXTEXT B025 8D4BB1 0960 STA VXLMS B028 A9B0 0970 LDA # >VXTEXT B02A 8D4CB1 0980 STA VXLMS+1 B02D 0990 VXML2 ; B02D A5CC 1000 LDA VXVBIFS B02F 8D05D4 1010 STA VXFSCROL B032 1020 VXML1 ; B032 4C62E4 1030 JMP $E462 B035 1040 VXML0 ; B035 E6D1 1050 INC VXVBIT B037 4C62E4 1060 JMP $E462 1070 ; 1080 ; B03A 1090 VXDLI B03A 48 1100 PHA B03B 8A 1110 TXA B03C 48 1120 PHA 1130 ; B03D A6D0 1140 LDX VXDLIC B03F E6D0 1150 INC VXDLIC 1160 ; B041 BD57B0 1170 VXSM3 LDA VXCT4,X B044 8D0AD4 1180 STA VXWAIT B047 8D1AD0 1190 STA VXCOLOR+4 B04A 8D18D0 1200 STA VXCOLOR+2 B04D BD5FB0 1210 LDA VXCT5,X B050 8D1BD0 1220 STA 53275 ;PRIOR 1230 ; B053 68 1240 PLA B054 AA 1250 TAX B055 68 1260 PLA B056 40 1270 RTI 1280 ; B057 0AB20A00 1290 VXCT4 .BYTE 10,$B2,10,0,10,$B2,10,0 B05B 0AB20A00 B05F 22222240 1300 VXCT5 .BYTE 34,34,34,64,34,34,34,34 B063 22222222 B067 00000000 1320 VXTEXT .SBYTE " www.ElectroManiac.de " B06B 00000000 B06F 00007777 B073 770E256C B077 65637472 B07B 6F2D616E B07F 6961630E B083 64650000 B087 00000000 B08B 00000000 B08F 00000000 1325 .SBYTE " ABBUC Software-Wettbewerb 2009 " B093 00212222 B097 35230033 B09B 6F667477 B09F 6172650D B0A3 37657474 B0A7 62657765 B0AB 72620012 B0AF 10101900 B0B3 00000000 B0B7 00000000 1340 .SBYTE " Dr<cken Sie Fire, um zu beginnen! " B0BB 24721C63 B0BF 6B656E00 B0C3 33696500 B0C7 26697265 B0CB 0C00756D B0CF 007A7500 B0D3 62656769 B0D7 6E6E656E B0DB 01000000 B0DF 0000236F 1350 .SBYTE " Copyright ",34," 2009 by Stefan C. M/ller " B0E3 70797269 B0E7 67687400 B0EB 02001210 B0EF 10190062 B0F3 79003374 B0F7 6566616E B0FB 00230E00 B0FF 2D0F6C6C B103 65720000 B107 00000000 1360 .SBYTE " www.ElectroManiac.de " B10B 00000000 B10F 00007777 B113 770E256C B117 65637472 B11B 6F2D616E B11F 6961630E B123 64650000 B127 00000000 B12B 00000000 B12F 70707080 1370 VXDL .BYTE 112,112,112,128,128,112,64+2 B133 807042 B136 00B4 1380 .WORD SCREEN B138 70808070 1390 .BYTE 112,128,128,112,112,112,48,112-16,1 B13C 70703060 B140 01 B141 90BD 1400 .WORD MANIACDLRAM B143 1410 MANIACDL2 B143 70707070 1420 .BYTE 112,112,112,112,128,128,112,64+32+2 B147 80807062 B14B 67B0 1430 VXLMS .WORD VXTEXT B14D 02708080 1440 .BYTE 2,112,128,128,65 B151 41 B152 2FB1 1450 .WORD VXDL 3105 .INCLUDE #D:COMDECOM.M65 0100 ;******************************* 0110 ;* Screen CompactorDecompactor * 0120 ;* Letzte Revision: 11-04-88 * 0130 ;* by Stefan C. Mueller * 0140 ;* (C) MCMLXXXVII S.C.M.Soft! * 0150 ;******************************* 0160 ; 0170 ; SAVE #D:COMDECOM.M65 0180 ; 0190 ;******************************* 0200 ;* der Compactor ... * 0210 ;******************************* 0220 ; =00CB 0230 SCPVR = $CB =00D0 0240 SCPNR = $D0 =00D4 0250 SCPCOUNT = 212 =00D6 0260 SCPMAX = 214 =00D8 0270 SCPCC = 216 =00D9 0280 SCPCZ = 217 =00DA 0290 SCPNC = 218 =01B9 0300 SCPMM = 22*20+1 =0653 0310 SCPNOS = $0653 ;!!! =00AA 0320 UEBERLAUF = 170 0330 ; B154 0340 A0A B154 0350 SCOMP B154 A9B4 0360 LDA # >SCREEN2 B156 85CC 0370 STA SCPVR+1 B158 A928 0380 LDA # <SCREEN2 B15A 85CB 0390 STA SCPVR B15C 68 0400 PLA B15D 85D1 0410 STA SCPNR+1 B15F 68 0420 PLA B160 85D0 0430 STA SCPNR B162 A900 0440 LDA #0 B164 85D4 0450 STA SCPCOUNT B166 85D5 0460 STA SCPCOUNT+1 B168 8D5306 0470 STA SCPNOS B16B A5CB 0480 LDA SCPVR B16D 18 0490 CLC B16E 69B9 0500 ADC # <SCPMM B170 85D6 0510 STA SCPMAX B172 A5CC 0520 LDA SCPVR+1 B174 6901 0530 ADC # >SCPMM B176 85D7 0540 STA SCPMAX+1 B178 4CC8B1 0550 JMP SCPLL1 ;START COMP. 0560 ; ------------------------------ B17B 0570 SCPVRAM B17B A000 0580 LDY #0 B17D B1CB 0590 LDA (SCPVR),Y B17F C943 0600 CMP #67 ; LEERE SICHERUNG B181 D003 0610 BNE SCPOLC1 B183 EE5306 0620 INC SCPNOS B186 0630 SCPOLC1 B186 E6CB 0640 INC SCPVR B188 D002 0650 BNE SCPCC1 B18A E6CC 0660 INC SCPVR+1 B18C 0670 SCPCC1 B18C A6D6 0680 LDX SCPMAX B18E E4CB 0690 CPX SCPVR B190 D00C 0700 BNE SCPML1 B192 A6D7 0710 LDX SCPMAX+1 B194 E4CC 0720 CPX SCPVR+1 B196 D006 0730 BNE SCPML1 B198 209FB1 0740 JSR SCPNRAM B19B 68 0750 PLA B19C 68 0760 PLA B19D 60 0770 RTS B19E 60 0780 SCPML1 RTS 0790 ; ------------------------------ B19F 0800 SCPNRAM B19F A5D5 0810 LDA SCPCOUNT+1 B1A1 C900 0820 CMP # >UEBERLAUF B1A3 F004 0830 BEQ AA ;A=M B1A5 B01A 0840 BCS SCPML3 ;A>=M B1A7 9006 0850 BCC AA1 ;A<M B1A9 A9AA 0860 AA LDA # <UEBERLAUF B1AB C5D4 0870 CMP SCPCOUNT B1AD 9012 0880 BCC SCPML3 ;A<M B1AF A5D8 0890 AA1 LDA SCPCC B1B1 0A 0900 ASL A B1B2 0A 0910 ASL A B1B3 0A 0920 ASL A B1B4 0A 0930 ASL A B1B5 05D9 0940 ORA SCPCZ B1B7 A000 0950 LDY #0 B1B9 91D0 0960 STA (SCPNR),Y B1BB E6D0 0970 INC SCPNR B1BD D002 0980 BNE SCPML3 B1BF E6D1 0990 INC SCPNR+1 B1C1 1000 SCPML3 B1C1 E6D4 1010 INC SCPCOUNT B1C3 D002 1020 BNE SCPML2 B1C5 E6D5 1030 INC SCPCOUNT+1 B1C7 60 1040 SCPML2 RTS 1050 ; ------------------------------ 1060 ; Start des Screen-Compactors 1070 ; ------------------------------ B1C8 1080 SCPLL1 B1C8 207BB1 1090 JSR SCPVRAM B1CB 85D8 1100 STA SCPCC B1CD A900 1110 LDA #0 B1CF 85D9 1120 STA SCPCZ 1130 ; B1D1 1140 SCPLL2 B1D1 207BB1 1150 JSR SCPVRAM B1D4 85DA 1160 STA SCPNC 1170 ; B1D6 A5DA 1180 LDA SCPNC B1D8 C5D8 1190 CMP SCPCC B1DA D014 1200 BNE SCPLL3 B1DC F004 1210 BEQ W1 B1DE 90E8 1220 SCPLL10 BCC SCPLL1 B1E0 90EF 1230 SCPLL20 BCC SCPLL2 B1E2 1240 W1 B1E2 E6D9 1250 INC SCPCZ B1E4 A5D9 1260 LDA SCPCZ B1E6 C90F 1270 CMP #15 B1E8 D0E7 1280 BNE SCPLL2 B1EA 209FB1 1290 JSR SCPNRAM B1ED 18 1300 CLC B1EE 90EE 1310 BCC SCPLL10 B1F0 1320 SCPLL3 B1F0 209FB1 1330 JSR SCPNRAM B1F3 A900 1340 LDA #0 B1F5 85D9 1350 STA SCPCZ B1F7 A5DA 1360 LDA SCPNC B1F9 85D8 1370 STA SCPCC B1FB 4CE0B1 1380 JMP SCPLL20 1390 ; 1400 ;******************************* 1410 ;* der Decompactor ... * 1420 ;******************************* =00CB 1430 DCPVR = $CB =00D0 1440 DCPNR = $D0 =00D4 1450 DCPCOUNTER = 212 =00D6 1460 DCPMAX = 214 =00D8 1470 DCPCC = 216 =00D9 1480 DCPCZ = 217 =00DA 1490 DCPNC = 218 =01B8 1500 DCPMM = 22*20 1510 ; B1FE 1520 A1A B1FE 1530 DCOMP B1FE A900 1540 LDA #0 ;nach jedem B200 8DBA06 1550 STA SCOREFRASS ;neuen Bild! 1560 ; B203 68 1570 PLA B204 85CC 1580 STA DCPVR+1 B206 68 1590 PLA B207 85CB 1600 STA DCPVR B209 A9B4 1610 LDA # >SCREEN2 B20B 85D1 1620 STA DCPNR+1 B20D A928 1630 LDA # <SCREEN2 B20F 85D0 1640 STA DCPNR B211 A900 1650 LDA #0 B213 85D4 1660 STA DCPCOUNTER B215 85D5 1670 STA DCPCOUNTER+1 B217 18 1680 CLC B218 A5D0 1690 LDA DCPNR B21A 69B8 1700 ADC # <DCPMM B21C 85D6 1710 STA DCPMAX B21E A5D1 1720 LDA DCPNR+1 B220 6901 1730 ADC # >DCPMM B222 85D7 1740 STA DCPMAX+1 B224 4C63B2 1750 JMP DCPLL1 1760 ; ------------------------------ B227 1770 DCPVRAM B227 A000 1780 LDY #0 B229 B1CB 1790 LDA (DCPVR),Y B22B 290F 1800 AND #15 B22D 85D9 1810 STA DCPCZ B22F B1CB 1820 LDA (DCPVR),Y B231 4A 1830 LSR A B232 4A 1840 LSR A B233 4A 1850 LSR A B234 4A 1860 LSR A B235 85D8 1870 STA DCPCC B237 E6CB 1880 INC DCPVR B239 D002 1890 BNE DCPCC1 B23B E6CC 1900 INC DCPVR+1 B23D E6D4 1910 DCPCC1 INC DCPCOUNTER B23F D002 1920 BNE DCPCC2 B241 E6D5 1930 INC DCPCOUNTER+1 B243 60 1940 DCPCC2 RTS 1950 ; ------------------------------ B244 1960 DCPNRAM B244 A4D8 1970 LDY DCPCC B246 B972B2 1980 LDA DCPTABLE,Y B249 A000 1990 LDY #0 B24B 91D0 2000 STA (DCPNR),Y B24D E6D0 2010 INC DCPNR B24F D002 2020 BNE DCPOO1 B251 E6D1 2030 INC DCPNR+1 B253 2040 DCPOO1 B253 A5D6 2050 LDA DCPMAX B255 C5D0 2060 CMP DCPNR B257 D009 2070 BNE DCPSS1 B259 A5D7 2080 LDA DCPMAX+1 B25B C5D1 2090 CMP DCPNR+1 B25D D003 2100 BNE DCPSS1 B25F 68 2110 PLA B260 68 2120 PLA B261 60 2130 RTS B262 60 2140 DCPSS1 RTS 2150 ; ------------------------------ 2160 ; START DES HAUPTPROGRAMMS 2170 ; ------------------------------ B263 2180 DCPLL1 B263 2027B2 2190 JSR DCPVRAM B266 2200 DCPLL2 B266 2044B2 2210 JSR DCPNRAM B269 A5D9 2220 LDA DCPCZ B26B F0F6 2230 BEQ DCPLL1 B26D C6D9 2240 DEC DCPCZ B26F 18 2250 CLC B270 90F4 2260 BCC DCPLL2 B272 00010243 2270 DCPTABLE .BYTE 0,1,2,3+64,4,5,6+64 B276 040546 B279 87C8C9 2280 .BYTE 7+128,8+192,9+192 B27C 4ACBCC 2290 .BYTE 10+64,11+192,12+192 B27F CDCE4F 2300 .BYTE 13+192,14+192,15+64 B282 3110 ENDOFPRG
SYMBOLS
B154 A0A B1FE A1A 9D99 A2A 9DE0 A3A 9DA0 A4A 9DA6 A8A 9D8F A9A B1A9 AA B1AF AA1 9E79 ACFO A51C ACTION A591 ALCO1 A597 ALCO2 AE55 ALLRIGHT 06BE AMADIP A908 AOK =D201 AUDC1 =D203 AUDC2 =D205 AUDC3 =D207 AUDC4 =D200 AUDF1 =D202 AUDF2 =D204 AUDF3 =D206 AUDF4 AE2E AUSWERTUNG =B800 BASE =9C00 BASE2 9D7E BASE21 AF26 BNE AB3A BNS 069B BOBTOT =0036 BOFF A83A BTL0 A83D BTL1 A827 BTL2 A84A BTL3 A86B BTL4 =0014 BYTES A50B CC1 AB53 CL A465 CLEARPM 0669 COLOR 9EDF COPY0 9ED3 COPY1 9EC7 COPY2 9EBB COPY3 A8F0 CRA1 A88B CRA2 A899 CRA3 A8AC CRA5 A8DE CRA51 069F CRASHBIT 069E CRASHLINE A4F0 CS1 0699 DARFTRIG 9FCA DATENP2 A052 DATENP3 B1FE DCOMP 9C90 DCOMPMANIAC =00D8 DCPCC B23D DCPCC1 B243 DCPCC2 =00D4 DCPCOUNTER =00D9 DCPCZ B263 DCPLL1 B266 DCPLL2 =00D6 DCPMAX =01B8 DCPMM =00DA DCPNC =00D0 DCPNR B244 DCPNRAM B253 DCPOO1 B262 DCPSS1 B272 DCPTABLE =00CB DCPVR B227 DCPVRAM 068E DELTAX 068F DELTAY A7CD DL A801 DLD 9EEB DLI =00CF DLIC A064 DLINKS 9C3B DLLOAD 9C49 DLLOAD2 A3B3 DLVB A808 DNL A06C DRECHTS B282 ENDOFPRG A9F0 EOM AB46 EOM3 A874 EOMB A87E EOMB33 ABDD EOS0 AC98 EOS3 ACCA EOS4 ACDE EOS5 ACF8 EOS6 AD23 EOS7 AD4B EOS9 AB46 EOVBI A0C8 EXP1 A0BB EXP2 A106 EXP3 A0E9 EXP4 06B9 EXTRAP A1DB FLOB A260 FNT1 =BA40 FNTO =BA78 FNTO2 069C FNTZ =00B8 FONTP =B800 FONTPT A3EF FRESSITDYN 06BB FRESSTIME =01F4 FRESSTIMESW ABC4 G1 9C2C GG1 A39A GG100 9E14 GG2 A38C GG200 9E1A GG3 9E28 GG4 9E43 GG5 9E60 GG6 9E63 GG7 9E6B GG8 A845 GOVER 9C03 HEADER 9F6C HIS1 9F7B HIS2 9F7C HIS3 9F7E HIS4 9F6A HISCORE =00DC HLPASL =00DB HLPBITCOUNT =00DA HLPCOLOR 9D0A HLPCT AB9A III 9F2B IJ 9F42 IK A583 IL1 A25E INITFONT A1D4 INITGAME 9C4C INITMANIACDL2 A581 INITMDAT 0694 JMPHIM? AE66 JMPTAB 0693 JMPTIME 06BD KASTENRESET =00FA KILLTIME AB9E L1 AE0B LAENGEN A7EF LAND 9E93 LASER1 069D LASER? 9E9E LASERE 06B6 LENODEC 06B8 LENODIG A17D LENOL1 =00DA LEPOINTER =5000 LESTARTADR A2B9 LETEST A17E LEVELINIT A148 LEVELNEXT A1AC LEVELPRINT A645 LINE1 A745 LINE3 =0012 LINESHOCH A0B2 LIVEDAZU A102 LIVEL9 A0A6 LIVEWEG AA48 LLL1 AA40 LLL2 AA3D LLL4 A9F5 LLL5 AAAC LLL6 AAA1 LLL60 AAB7 LLL7 AAEE LLL8 AA11 LLL9 067D LOECHER A525 M1 A531 M2 9DE0 MAIN 9E06 MAINL1 9E0D MAINL4 9E14 MAINL5 9DF5 MAINNL1 9DFC MAINNL4 9E03 MAINNL5 AE56 MAKEACTION 9CEB MAKECOLORUP B143 MANIACDL2 =BD90 MANIACDLRAM 9D1A MANIACPICTURE =BC00 MANIACSRAM =001B MAXRUNTER A180 MBD AA92 MHL AA80 MHR A4DD MLINKS A4D6 MMOVE A492 MO A478 MONSTERMOVE A11E MPMBO A4FA MRECHTS A4AB NEWCOLOR 9EC6 NFM AF11 NFREEZE A4BC NN1 A4C4 NNN AB79 NNYP 9F1B NOCOL 0653 NOKASTEN 06B5 NOLIVES 0654 NOMONSTER ADF5 NOTEN =0200 OFFRAM 9FC2 OFFSET A51B OK1 A468 OOO1 9DDB ORGGAME =00CD PAGE0 =00CB PAGE01 =00D0 PAGE02 A53B PFOTEN AB81 PL1 A074 PLATTDAT1 A07A PLATTDAT2 A55E PLATTFORM 06A1 PLAY? A281 PLAYPICTURE A574 PLF1 A567 PLF2 A356 PMOFF =00B8 PMS A785 POS1 A59D POS2 A5D5 POS3 A60D POS4 A2CD PRIDDD A080 PRINTDT A082 PRINTDTL1 A107 PRINTLIVES 0691 RAM0 =D20A RANDOM AA5A RL 069A RUNTER A49B RVP AD3A S9L1 9FA0 SC1 9FBD SC2 9FAE SC3 9FAA SC4 A096 SCCPY 9F5E SCDT =000F SCOFF1 =0026 SCOFF2 B154 SCOMP 9F21 SCOREADD 06BA SCOREFRASS 9FBE SCOREHI 06B1 SCOREM 9F3E SCOREOUT 9F8D SCORESUB1 9F99 SCORESUB2 9F40 SCOUT2 9F87 SCOUT3 =00D8 SCPCC B18C SCPCC1 =00D4 SCPCOUNT =00D9 SCPCZ B1C8 SCPLL1 B1DE SCPLL10 B1D1 SCPLL2 B1E0 SCPLL20 B1F0 SCPLL3 =00D6 SCPMAX B19E SCPML1 B1C7 SCPML2 B1C1 SCPML3 =01B9 SCPMM =00DA SCPNC =0653 SCPNOS =00D0 SCPNR B19F SCPNRAM B186 SCPOLC1 =00CB SCPVR B17B SCPVRAM =B400 SCREEN =B428 SCREEN2 AC86 SM3LST AC7D SM3OK1 AC90 SM3OK2 ACAB SM4L0 ACC5 SM4L1 AD13 SM7L1 AB37 SM870 AB32 SM871 A412 SM874 A440 SM875 A464 SM876 AC0E SOL1 AC28 SOL2 AC43 SOL20 AC50 SOL22 AC5D SOL3 AC55 SOL30 %3CBF SOUND3A1 %3E2F SOUND3A2 %3DF7 SOUND3I2 %3949 SOUNDA0 %316B SOUNDA1 %32FD SOUNDA2 %36A5 SOUNDA3 %3860 SOUNDA4 %3985 SOUNDA5 %3AFA SOUNDA6 %3C03 SOUNDA7 %3507 SOUNDA9 %30C7 SOUNDI1 %3245 SOUNDI2 %35BA SOUNDI3 %37DD SOUNDI4 %39E0 SOUNDI5 %3A63 SOUNDI6 %3B6C SOUNDI7 %3470 SOUNDI9 06A7 SOUNDN1 06AB SOUNDN2 06AC SOUNDN3 06AD SOUNDN4 06A4 SOUNDP11 06A5 SOUNDP12 06A6 SOUNDP13 06A8 SOUNDP21 06A9 SOUNDP22 06AA SOUNDP23 06AE SOUNDP41 06AF SOUNDP42 06B0 SOUNDP43 A3C7 SRVB A3DB SRVB2 A3C2 SRVBV AE86 SS0 AE86 SS1 AEE1 SS10 AF12 SS11 AF4A SS12 AF50 SS13 AF5E SS14 AF8C SS15 AE86 SS2 AE86 SS3 AE86 SS4 AE86 SS5 AE86 SS6 AE86 SS7 AE87 SS8 AF53 SS88 AEB3 SS9 0602 STATUS 0603 STATUSM 0690 STICK =0278 STICK0 0695 STONE1 0696 STONE2 0697 STONE3 A9E3 STORE0 A9EB STORE1 =00EE SUCHSTADR =B5E0 SUCHSTMAX =B428 SUCHSTMIN A302 TESTTEXT A513 TOGGLE A9CD TT2 A583 TTT1 A306 TXTA A32E TXTB =00AA UEBERLAUF A9AF UEG A945 UUU A80A VBI A817 VBIAN 06A2 VBIANAUS 0698 VBIS A368 VORBILD AF8D VORSPANN 9DB3 VSPT2 =D016 VXCOLOR B057 VXCT4 B05F VXCT5 B12F VXDL B03A VXDLI =00D0 VXDLIC =D405 VXFSCROL B14B VXLMS =0004 VXMAXANZ B035 VXML0 B032 VXML1 B02D VXML2 =D20A VXRANDOM B041 VXSM3 B067 VXTEXT AFE6 VXVBI =00CC VXVBIFS =00CB VXVBIGS =00D1 VXVBIT =D40A VXWAIT B1E2 W1 =D40A WAITHS 06A0 WASNUN =0030 WLINKS =00C8 WRECHTS A28F WWW1 A2A7 WWW2 A28D WWW3 0617 XHI A128 XK1 A135 XK2 A143 XK4 A138 XK9 063F XLINKS 0655 XLO 0600 XPOS 062B XRECHTS 0601 YPOS 06A3 YPOSRESCUE A556 YYY1 A542 YYY2 A54D YYY3 A482 YYY4 A4A6 YYY8 AD55 Z0 AD5F Z1 ADC9 Z10 AE21 Z11 ADB0 Z12 ADE6 Z13 ADD0 Z15 ADA5 Z17 AD84 Z2 ADE4 Z20 A4C5 ZH AB46 ZP A4B2 ZR A803 ZUSCH AB37 ZXZ 9F98 ZXZZ 9D88 ZZZ
|