ER±‡ÿ”
‰.LIOFF-";ASSEMBLER-KURS#8,Listing3(;2;VertikalesFeinscrolling<;F;AuseinemvertikalenText P;von60Zeilen*40Zeichen"Z;sollenimmer21Zeilendavond;dargestelltwerden.n;(ymax=60-21=39)x;#‚;MitdemJoystickkannmandasŒ;Fensternunnachobenund#–;untenscrollen,durchDruecken ;desTriggersschneller.ª;´;weiteresimText.¾-"ÈSDLSTL=$230‚Displaylist-VektorÒTEXT=$9500ƒ'Text'-AnfangæYP=$600†ZeileinFensterðYMAX=39úH=$602/$603HilfsvektorVER=$604;CONSOL=$D01FConsol-Taste!"STICK0=$278‚Joystick-Register ,STRIG0=$284‚Trigger-Register6;@VSCROL=$D405JBACK=$2C8„RahmenfarbeTCOLOR1=$2C5‚Schritfarbe ^COLOR2=$2C6‚Hintergrundfarbeh;rSETVBV=$E45CƒVBI-Installer!|XITVBV=$E462ƒOS-VBI-Einsprung†-START„LDASDLSTL+1‚DL-š‰PHA‹Zeiger¤‰LDASDLSTL„retten®‰PHAˆ(aufStack)¸;Â‰LDACOLOR2…FarbenÌ‰STABACK„angleichenÖ;à‰LDA#DL‹neueê‰STASDLSTL„Display-ô‰LDA/DL‹listþ‰STASDLSTL+1;‰LDA#20†Ausgangs-‰STAYP‡Zeile&‰LDA#00‰STAVER:;D‰LDA#7‡RoutineN‰LDY#VBI…alsVBIX‰LDX/VBI„(Deferred)b‰JSRSETVBVƒeintragenl;v.1‡LDACONSOL‚wenn€‰LSR‰<START>Š‰BCS.1†(Bit0=0)”‰PLA‰dannaltež‰STASDLSTL‚DLzurueck¨‰PLA²‰STASDLSTL+1¼‰RTSŠundciao!Æ-ÐVBI†LDXSTRIG0‚Trigger?Ú‰DEXä;îLOOP…LDASTICK0ø‰LSRˆhoch?(D1=0)‰BCS.4‰JSRHOCH; .4‡LSR†runter?(D2=0)*‰BCS.74‰JSRRUNTER>;
H.7‡INXR‰BEQLOOP\;f‰JSRSETADRp‰LDAVERz‰STAVSCROL„‰JMPXITVBVŽ-˜RUNTERƒPHAˆAkkuretten¢‰LDAVER„wennganz¬‰BNE.1…unten¶‰LDAYP…(yp=ymax),À‰CMP#YMAX‚dannnichtÊ‰BEQ.99„scrollenÔ;Þ.1‡INCVER„feinnachè‰LDAVER„unten,wennò‰AND#7…8x,dannumü‰STAVER„ganzeZeile‰BNE.99„runter;‰INCYP…(yp=yp+1)$;..99†PLAˆAkkuback8‰RTSˆundcioa!B-LHOCH…PHAˆAkkurettenV‰LDAVERƒWennText`‰BNE.1„oben(yp=0),j‰LDAYP„dannnichtt‰BEQ.99ƒscrollen~;ˆ.1‡DECVERƒfeinscrollen’‰LDAVERƒwenn7x,dannœ‰AND#7„umeine¦‰STAVERƒganzeZeile°‰EOR#7„verschiebenº‰BNE.99Ä;Î‰DECYP„(yp=yp-1)Ø;â.99†PLAˆAkkubackì‰RTSˆundcioa!ö-8INFOT„.AT" Assembler-Kurs #8     Trigger: schnell "3
‰.AT" Mit Joystick hoch und runter scrollen. "-DL‡.HX707070(‰.HX6200006200006200002‰.HX620000620000620000<‰.HX620000620000620000F‰.HX620000620000620000P‰.HX620000620000620000Z‰.HX620000620000620000d‰.HX620000620000420000n‰.HX7042x‰.DAINFOT‚‰.HX200241Œ‰.DADL–- ;DieRoutinesetztdieMSCª;(MemoryScanCounter)der#´;einzelnenZeilenjenachLage¾;desSichtfensters.È-ÒSETADRƒLDA#0„DifferenzÜ‰TAX‡1.Zeiledesæ‰LDYYP„Bereichsundð.1‡DEY‡1.Zeiledesú‰CPY#$FF‚Fensters‰BEQ.3„errechnen‰CLC‰ADC#40"‰BCC.1,‰INX6‰BCS.1@;J.3‡CLCŠAnfangs-T‰ADC#TEXT„adresse^‰STAHˆdesh‰BCC.31†Textesr‰INXŠdazu-|.31†TXAŠrechnen†‰CLC‰ADC/TEXTš‰TAX¤;®‰LDY#0ˆAdresse¸.4‡TXA‹inDLÂ‰STADL+4+1,Y‚bringen
Ì‰LDAHÖ‰STADL+4,Y„undaufà‰CLC‹naechsteê‰ADC#40‡Zeileô‰STAH‰erhoehenþ‰BCC.5‰INX„(X=HI-ByteAdr).5‡INY…Adresse(Word)‰INYƒundModus-Zeiger&‰INY†ueberspringen0‰CPY#63ƒ(21*3)24mal:‰BNE.4D‰RTS‰dannciao!N-