w䩨PբԠ0 )i(Ԑ䩍 &01ԭ 9 9!! 9##`L`H ԍI h@$iskformatiertmit30%%$9QPUP6c "ibosoft #/-093(/07eitere)nformationenbei#/-093(/04elpppppppBPppppppppA&ER5 ;***************;;SOUND-MONITOR;;V2.09;(;***************; 2.LIOFF<.OR$2400F.OFD8;SND20}9.COMP-Z;SAVD8;START.001d-n*xSJMPSTART.IND8;TEXT.INC.IND8;START.INC.IND8;INTER.INC.I}ND8;IO.INC.IND8;FORMAT.INC.IND8;SOUND.INC.IND8;SNDTEST.INC.IND8;MONITOR.INC.IND8;TRACKS.INC}.IND8;NOTEN.INC.IND8;SNGPLAY.INC.IND8;SNGMEN.INC.IND8;DIR.INC- .OR$2E0; ".DAS,-CypwL222211100/..-,+*)('&%$#"    !"$%&'()*+,--. }//001122220%'!353pppppppGGGAԩ$%Z01L }ЍЅЍ LbZVRNJ24688642м  `ХЦw  `Х`HH` ԍRTS*.1DECCNT2 BEQ.2RTS .2LDA#2 STA}CNT2LDA$D209 STA$2FC LDA#1STATASTPNT2 RTS* RTS*-4*>NEUDECCNT1ENT-HBEQ.1PR}ELLUNGRRTS \.1LDA#3 fSTACNT1 pLDA#0zSTATASpppT1RTS-*-4*>NEUDECCNT1ENT-HBEQ.1PRRER .LIOFF-;SAVD8;IO.INC(-2*<IOCOM=$342FIOBUFF=$344PIOLEN=$348ZIOAUX1=$34AdIOAUX }2=$34Bn*xCIO=$E456**CLOSEF=12 OPENF=3 GETB=7 PUTB=11FORMATF=254DELETEF=33 }PROTECTF=35UNPROF=36-WHERE.HX0000LENGTH.HX0000INPCNT1.HX00!FNMOPEN.DA"D1:TESTDIRE.TXT" } .HX9B"ERRORNR.HX00,ZAHL.HX1011121314151617 6.HX1819@ERRPNT.HX00JXPOS1.HX0001020304050607T.HX }090A0B^-h*r*|*-*RoutinenzumSchliessen,*Oeffnen,LesenvonBytes,*SchreibenvonBytesund! }*FormattierenvonDatenfiles*bzwDisketten-***- *CLOSE:*Datenkanalnummer*16im* }Register.*-&*0CLOSELDA#CLOSEF:STA$342,X DLDA#0NSTAERRPNT XJSRCIO bBPL.1lJMPERROR }v.1RTS*-* *OPEN:"*Register:Datenkanal*16+*OPENspezifikation*4:Lesen*6:Directory }*8:Schreiben*9:Append*12:Update**Register:LO-Bytedes*Filenamepointers **Regis }ter:HI-Bytedes *Filenamepointers**4->*HOPENSTA$D0 RSTY$D1 \LDY#3f.10LDA($D0),YpSTAFNMOP }EN,YzINY CPY#15 BNE.10LDADISKNR ORA#$30STAFNMOPEN+1; OPEN1TXAPHA AND#$10 }TAXPLA AND#$FSTAIOAUX1,X LDA#0STAIOAUX2,XLDA#FNMOPEN$STAIOBUFF,X.LDA/FNMOPEN8 }STAIOBUFF+1,XBLDA#OPENFLSTAIOCOM,X VLDA#0`STAERRPNT jJSRCIO tBPL.1~JMPERROR .1RTS* !}-**GETBYTES:*WHERE:PagedesBuffers*LENGTH:LaengederBytes!*Register:Datenkanal*16- "}* GETBYTESLDA#GETBSTAIOCOM,X GET1LDAWHERESTAIOBUFF,XLDAWHERE+1(STAIOBUFF+1,X2LDALE #}NGTH<STAIOLEN,XFLDALENGTH+1PSTAIOLEN+1,X ZLDA#0dSTAERRPNT nJSRCIO xBPL.1JMPERROR .1 $}RTS*-**PUTBYTES:*WHERE:PagedesBuffers*LENGTH:LaengederBytes!*Register:Datenkanal* %}16-* PUTBYTESLDA#PUTBSTAIOCOM,X JMPGET1-"* ,*FORMAT:#6*Register:LO-BytederDe- &}@*viceaddresse#J*Register:HI-BytederDe-T*viceaddresse!^*Register:Datenkanal*16h*r-|*FO '}RMATLDA#$FF STA$2FC JSRSURE.2LDA$2FCCMP#$2BY BEQ.1CMP#$23N BNE.2 LDA#$FF S (}TA$2FCJMPBALKEN*.1LDA#$FF STA$2FCJSRINITEXT; &LDX#$100JSRCLOSE:; DLDX#$10N )}JSRFORMATUPX; bLDX#$10lJSRCLOSEvJSRBOOTUPJSRNOTEXT*JMPBALKEN-FORMATUPLDADISKNR *}ORA#$30STAFNAMEINI+1*LDA#FNAMEINISTAIOBUFF,XLDA/FNAMEINISTAIOBUFF+1,XLDA#FORMATF +}STAIOCOM,X LDA#0STAERRPNT JSRCIO *BPL.14JMPERROR >.1RTSH*R-\FNAMEINI.DA"D1:",#$9B ,}f-pSPECIALSTAIOCOM,XzLDA#FNMOPENSTAIOBUFF,XLDA/FNMOPENSTAIOBUFF+1,X LDA#0STAERRPNT -} JSRCIO BPL.1JMPERROR .1RTS-* ERRORTYASTAERRORNR  CMP#133  BEQ.80  CMP#136 .}$ BNE.81 . .80RTS8 *B .81JSRLOESCH1L JSRNOTEXT V LDY#0` .10LDAERRTXT,Yj STAWINDOW1+293,Yt INY ~ /}CPY#6 BNE.10 * LDAERRORNR LDX#0 .1INX SEC SBC#100 BCS.1 CLC ADC#100 DEX 0} BEQ.2 PHA LDAZAHL,X STAWINDOW1+293,Y INY( PLA2 * < *ZEHNERF * P .2LDX#0 Z .4INXd SEC n 1} SBC#10 x BCS.4 CLC ADC#10 DEX PHA LDAZAHL,X STAWINDOW1+293,Y INY * *EINER * 2} PLA TAX LDAZAHL,X STAWINDOW1+293,Y * INCERRPNT" ;90LDA$2FC, ;CMP#$FF 6 ;BEQ.90@ ;JSRLO 3}ESCH1J PLAT PLA^ LDA/BALKEN-1h PHAr LDA#BALKEN-1| PHA LDA#$FF STA$2FC RTS ************ 4} ERRTXT.AT"ERROR " - - KEYTAB.HX4C4A0000004B002A .HX4F0050559B490000 .HX560043000042585A .HX3400 5}333601353231 .HX0000004E004D0000 .HX5200455900545751 .HX3900303703380000 .HX4648440000475341 *& KEY 6}LDX$2FC 0 CPX#$FF : BEQKEY D CPX#64 N BCC.1X .2LDA#$FF b STA$2FC l JMPKEYv .1LDA#$FF STA$2FC 7} LDAKEYTAB,X BEQ.2 RTS - KEYTAB1.HX0000000000000000 .HX52006212C23282A2 .HX0000000000000000 8} .HX710000B1FE914121 .HX0000000000000000 .HX810061C111A15131 .HX42000000B2227292 .HX0000000000000000 9} - INPUT1JSRFILETEXT  LDA#11 STAINPCNT1* INPUT2LDADISKNR 4 ORA#$10> STAWINDOW2+295H ; R LDY#0 :}\ .1TYAINVERTf TAXp LDAXPOS1,Xz TAX LDAWINDOW2+297,X ORA#$80 STAWINDOW2+297,X * JSRKEY ;}CMP#1 BNE.10 RTS .10CMP#$9B BNE.11 TYAINVERT TAX LDAXPOS1,XTAXLDAWINDOW2+297,X <} EOR#$80$STAWINDOW2+297,X.JMPREAD18.11CMP#3BACK BBNE.2LTYAVTAX`LDAXPOS1,XjTAX tLD =}A#$4E~STAWINDOW2+297,XDEY BPL.1INY JMP.1 .2SEC SBC#$20PHATYATAXLDAXPO >}S1,XTAXPLASTAWINDOW2+297,X CMP#$0A BNE.4 CPY#7 (BCS.5 2LDY#7 <JMP.4F.5LDY#10 ?} P.4INYZCPYINPCNT1 dBCC.1n*x*READ1LDX#0 LDY#0.1LDAWINDOW2+294,X CMP#$4E BEQ.2  @}CMP#$00 BEQ.2CLC ADC#$20STAFNMOPEN,YINY .2INX CPX#15 BNE.1; LDA#$9B"ST A}AFNMOPEN,Y,*6RTS@-ADC#$20STAFNMOPEN,YINY .2INX CPX#15 BNE.1; LDA#$9B"ST ERc .LIOFF-;SAVD8;INTER.INC(-2*INTERRUPT-ROUTINEN<*TASTATUR,VBI,DLIF-P*ZTASTPNT1.HX00C}dTASTPNT2.HX00nKEYON.HX00xCNT1.HX03CNT2.HX10XP0.HX00XP1.HX00XP2.HX00XM0.HX00XMD}1.HX00XM2.HX00*INTERLDA#0 STA$14 STA$13 STA$22FSTA$D40ESTA$D400*LDA#TAE}STE "STA$208,LDA/TASTE 6STA$209 @LDA#VBI JSTA$222 TLDA/VBI ^STA$223 hLDA#DL rSTA$230 |F}LDA/DL STA$231 LDA#DLI STA$200 LDA/DLI STA$201* LDA#$60STA$D40ERTS-TASG}TELDA$D209 STA$2FC LDA#1STATASTPNT1STA$4DATRACT LDA#10 &STACNT20*:PLADRTIN-H}XVBILDA$230bSTA$D402 lLDA$231vSTA$D403 LDA$22FSTA$D400 LDA$2F4STA$D409 LDA#1I}STA$D01B; LDX#8STX$D01F.2LDA$2C0,XSTA$D012,XDEX BPL.2LDA$42IO BEQ.66--> J}JMP.1 .66INC$14 *BNE.67 4INC$13>.67LDA#DLI HSTA$200 RLDA/DLI \STA$201f; pLDX#3z.46K}LDASOUNDON,X BEQ.44LDAWINDOW1+395,X ORA#$80 JMP.45.44LDAWINDOW1+395,X AND#$7F.45STAWIL}NDOW1+395,XDEX BPL.46;*LDATRKREC *BEQ.98*JSRVBIREC*JSRPLAY *JSR.90 *JMP.1$;M}..98LDAPLAYALL 8BEQ.99 BJSRPLAYLJSRLEVELV; `JSR.90 jJMP.99t.90LDASTEPPLAY~LSRLSRN}LSRLSRTAXLDANUMHEX,XSTAWINDOW1+516LDASTEPPLAY AND#$0FTAXLDANUMHEX,XSTAWIO}NDOW1+517RTS.99LDATASTON BEQ.10JSRTESTVBILDAPLAYON (BEQ.102JSRTESTPLAY <JMP.1F.10P}JSRTASTP*Z.1JMP$E462d-nLEVELLDX#0x.77LDAAUDCNEW,X AND#$0FASLASLTAYLDAHKUTXT,Q}YSTAWINDOW1+315,XLDAHKUTXT+1,YSTAWINDOW1+275,XLDAHKUTXT+2,YSTAWINDOW1+235,XLDAHKUTXT+3,YR}STAWINDOW1+195,XINX CPX#4 BNE.77RTS"-,TASTLDATASTPNT1 6BNENEU@;JLDA$D20FALTTS}AND#4NOCHGE-^BEQ.1DRUECKT-->hRTSr*|.1DECCNT2 BEQ.2RTS .2LDA#2 STACNT2LDA$D209T} STA$2FC LDA#1STATASTPNT2RTS*RTS-*NEUDECCNT1ENT-BEQ.1PRELLUNGRTS &U}.1LDA#3 0STACNT1 :LDA#0DSTATASTPNT1NRTSX- bDLIPHAl*vLDA#$12COLORSTA$D012STA$D01V}3STA$D014STA$D015JSRPLAYER1XPOSLDA#DLI1 STA$200LDA/DLI1 STA$201*PLARTIW}- DLI1PHA *LDA#$D4COLOR STA$D012 *LDA#$344STA$D013 >LDA#$F4HSTA$D014R;\LDAXPX}0XPOSfSTA$D000pLDAXP1PLAYERzSTA$D001 LDAXP2STA$D002;LDAXM0XPOSSTA$D004LDAXY}M1MISSILESSTA$D005 LDAXM2STA$D006; LDA#DLI STA$200 LDA/DLI  STA$201 * PLA$ Z}RTI. -SSTA$D005 LDAXM2STA$D006; LDA#DLI STA$200 LDA/DLI  STA$201 * PLA$  ER .LIOFF-;SAVD8;START.INC(-2*SPEICHERVORBEREITEN<*BILDSCHIRMAUFBAUENF*PPMBASE=$2000Z\}-dDL.HXF070n.DA#$42,TEXT1 x.HX02; .HX42.DAWINDOW1 .BL11,2 .HX02 .HX02 .HXC2]}.DAWINDOW2 .BL9,2*.DA#$41,DL-STARTLDA#MONHI STA$D0LDA/MONHI STA$D1 "LDY#0^} ,.1LDA#06STA($D0),Y@INY JBNE.1 TINC$D1 ^LDA$D1 hCMP#$C0 rBNE.1|*JSRINITSNDJSR_}INITTRCK LDA#1STASNDNR LDA#2STAQUANTSTART1JSRINTERIRQ'SANJSRPLAYERJSRLOESCH1JS`}RLOESCH2 JSR$709***************************LDAPLAYALL BEQ.2 LDA#$00.2STA$2C8 &LDA#$92 0a}STA$2C6 :LDA#$0A DSTA$2C5N*LDA#START1 X*STA$Cb*LDA/START1 l*STA$D v*LDA#1 *STA$9*b}*JMPTRACKS-LOESCH1LDA#WINDOW1+40 STA$D0LDA/WINDOW1+40 STA$D1* LDX#11 .1LDA#0 c}LDY#1.3STA($D0),Y INY CPY#33 BNE.3 *LDA$D04CLC >ADC#40 HSTA$D0 RBCC.2 \INC$D1d} f.2DEX pBPL.1z*JSRMKLINERTS-LOESCH2LDA#WINDOW2 STA$D0LDA/WINDOW2 STA$D1*e} LDX#8 .1LDA#0 LDY#1.3STA($D0),YINY CPY#33 BNE.3 LDA$D0$CLC .ADC#40 8STA$f}D0 BBCC.2 LINC$D1 V.2DEX `BPL.1j*tJSRMKLINE~RTS-LOESCH3LDA#WINDOW1+40 STA$D0LDg}A/WINDOW1+40 STA$D1* LDX#21 .1LDA#0 LDY#1.3STA($D0),YINY CPY#33 BNE.3 LDA$h}D0CLC ADC#40 (STA$D0 2BCC.2 <INC$D1 F.2DEX PBPL.1Z; dLDA#$7CnSTAWINDOW2-40 xLDA#i}$41STAWINDOW2-40+33*RTS-MKLINELDX#0.1LDALINE,XSTAWINDOW2-40,XINX CPX#40 BNj}E.1RTS-PLAYER1LDA#$32STA$D000 LDA#$52STA$D001 "LDA#$72,STA$D002 6LDA#$92@STk}A$D003 JLDA#$ADTSTA$D004^RTSh*rPLAYERJSRPLAYER1 |LDA#$12 STA$2C0 STA$2C1 STA$2C2 l}STA$2C3* LDA#3STA$D008STA$D009STA$D00ASTA$D00B LDA#$FFSTA$D00CSIZEMJSRPMm}CLRJMPW8000*PMCLRLDX#0 &TXA#00.1STAPMBASE+$180,X:STAPMBASE+$200,XDSTAPMBASE+$280,XNSTAn}PMBASE+$300,XXSTAPMBASE+$380,XbINX lCPX#$80 vBNE.1RTS;W8000LDA#3STA$D01DLDA/PMBAo}SESTA$D407* LDX#$17.2LDA#$FFSTAPMBASE+$180,XSTAPMBASE+$200,XSTAPMBASE+$280,XSTAPp}MBASE+$300,XSTAPMBASE+$380,X INX CPX#$49 BNE.2** 4LDA#1 >STA$26F HLDA#$2E RSTA$22F\q}RTSf- pPMCURSOR zLDA#$00 STA$2C0 STA$2C1 STA$2C2 STA$2C3 LDX#$17.2LDA#$00STAPMr}BASE+$180,XSTAPMBASE+$200,XSTAPMBASE+$280,XSTAPMBASE+$300,XSTAPMBASE+$380,XINX CPX#$71  s}BNE.2 *  LDAYNEW$ ASL. ASL8 CLC B ADC#$24L TAX V LDY#3 ` LDA#$FFj .1STAPMBASE+$180,Xt STAt}PMBASE+$200,X~ STAPMBASE+$280,X STAPMBASE+$300,X STAPMBASE+$380,X INX DEY BPL.1 * RTS -u} PLAYER2LDY#0 .1LDA#$40 STAPMBASE+$254,Y STAPMBASE+$2D8,Y STAPMBASE+$35C,Y LDA#$10 STAPMBAv}SE+$1DC,Y  LDA#$04( STAPMBASE+$1D8,Y 2 LDA#$01< STAPMBASE+$1D4,YF INY P CPY#4 Z BNE.1d ;n RTSxw} - PLAYER3LDA#$60 STA$D40E JSRPLAYER JSRPLAYER1 LDY#0 .1LDA#0 STAPMBASE+$254,Y STAPMBx}ASE+$2D8,Y STAPMBASE+$35C,Y STAPMBASE+$1DC,Y STAPMBASE+$1D8,Y STAPMBASE+$1D4,Y INY  CPY#4  BNEy}.1  LDA#DLI " STA$200 , LDA/DLI 6 STA$201@ *J RTST -^ COPY1LDA#WINTXT1 h STA$D2r LDA/WINTXT1z} | STA$D3 LDX#3 JMPCOPY * COPY2LDA#WINTXT2 STA$D2 LDA/WINTXT2 STA$D3 LDX#3 COPYLD{}A#WINDOW2+1 STA$D0 LDA/WINDOW2+1 STA$D1 * COPYUPLDY#0 .1LDA($D2),Y STA($D0),Y& INY 0 C|}PY#32 : BNE.1 D LDA$D0N CLC X ADC#40 b STA$D0 l BCC.2 v INC$D1 .2LDA$D2 CLC ADC#32 ST}}A$D2 BCC.3 INC$D3 .3DEX BPLCOPYUP * RTS - SURELDADISKNR ORA#$90 STASURETXT+8 ~}LDA#SURETXT  STA$D2 LDA/SURETXT * STA$D34 COPY1UPLDX#0> LDA#WINDOW2+281 H STA$D0R LDA/WINDOW2+28}1 \ STA$D1f *p JMPCOPYUPz - SURE1LDX#10 .1LDASURETXT,X STAWINDOW2+271,X INX CPX#32 BNE}.1 RTS - DELTEXTLDA#DELTXT STA$D2 LDA/DELTXT STA$D3 JSRCOPY1UP LDX#0.2LDAFNMOPEN,}X CMP#$9B $BEQ.1.SEC 8SBC#$20BSTAWINDOW2+291,XLINX VJMP.2 `.1RTSj-tNOTEXTLDA#NOTXT }~STA$D2LDA/NOTXT STA$D3*JMPCOPY1UP-INITEXTLDA#INITXT STA$D2LDA/INITXT STA$D}3*JSRCOPY1UPRTS- FILETEXTLDA#FILETXT STA$D2LDA/FILETXT (STA$D32*<JSRCOPY1UPF}RTSP-JSRCOPY1UPRTS- FILETEXTLDA#FILETXT STA$D2LDA/FILETXT (STA$D32*<JSRCOPY1UPF EȐ -;SAVD8;TEXT.INC-(;TEXTEFUERSOUNDMONITOR2;<;F;P;Z;8dTEXT1.AT"Ҡé}Ӡ֠"3n.AT" Juergen Schildmann "x-:ABFRAGE.AT" Initialize : Yes / No ??? } "-7LEER.AT" "-:WINDOW1.AT"}"3.AT"| |"3.AT"| ||P||T|"3.AT"| } |"3.AT"| | "3.AT"| } | "3.AT"| | "3.AT"| | "3.AT"|} "3.AT"| | "3.AT"| } "3.AT"| | STEP "3".AT"| | 00 "3,.}AT"":6WINDOW2.AT"| |DISK:"3@.AT"| } | "3J.AT"| |OCT: 1"3T.AT"| |A}C :00"3^.AT"| |SNG:00"3h.AT"| "3r.AT"| } | PLAY "3|.AT"| | STEP "3.AT"| } |00-FF "3.AT""-7LINE.AT""5}NOTLINE.AT"Рˠˠˠˠ"Q_TXT.AT"QUANT:"-1MONTXT.AT"( ) Basis-Frequenz 15 KHz }"+.AT"( ) Hoehenfilter K-3 durch K-4 "+.AT"( ) Hoehenfilter K-1 durch K-2 "+.AT"( ) 16 Bit fuer K-3 und K-4 } "+.AT"( ) 16 Bit fuer K-1 und K-2 "+.AT"( ) K-3 Basis-Frequenz 1,79 MHz "+.AT"( ) K-1 Basis-Frequenz 1},79 MHz "+.AT"( ) 17-Bit Poly als 9-Bit Poly "-2&WINTXT1.AT"ĠǠ EDITOR "+0.AT" LOAD SO}UND DOS "+:.AT" SAVE SONG "+D.AT" SAVE SOUND "N-2XWINTX}T2.AT" Protect File "+b.AT"Change Drive # Unprotect File"+l.AT"Delete File Format Disk } "+v.AT"BACK QUIT "-2SURETXT.AT"ı Are you sure (Y/N)?"0NOTXT.AT" } "1INITXT.AT" Formatting ... "3CHANGTXT.AT" Change Disk# (1,2,8) "2}FILETXT.AT" Filename D1:. "1DELTXT.AT" D1: (Y/N) "-2SNDMENU.AT"ĺ}"2FMODTXT.AT" FMOD ARP "2PORTTXT.AT" PORTAMENTO: 0/0 } "2HKUTXT1.AT"ՠ: "+.AT"FMOD: "+.AT"ARP : } "1 VOLTXT.AT"VOL : 0000000000000000000000000 "+.AT"POLY: 0000000000000000000000000 " -2*TRKTXT1.AT}"РˠҠԠΠ"000000000000000000000000 "+.AT"POLY: 0000000000000000000000000 " -2*TRKTXT1.AT$ERl .LIOFF-;SAVD8;DIR.INC(-2WO.HX0000000000000000<.HX0000000000000000 F.HX0000PCNTDIR1.H}X00ZCNTDIR2.HX00dCNT99.HX00nDIRZ0.HX00xDISKALT.HX00DISKNEU.HX00DISKNR.HX01ERRPNT2.HX00}JUMP1.DADISKRETJUMP2.DADIR1JUMP3.HX0000SNGVON.HX00SNGBIS.HX00SAVHILF.HX00SAVCNT.HX0}0*WIEVIEL=18SONGWO=$8900*FNAME.HX0000WHERPNT.HX0000"-,*6DIRLDX#$10KANAL@JSRC}LOSESCHLIESSENJ;TLDX#$16DIR^LDAFNAMEhLDYFNAME+1 rJSROPEN|LDAERRPNT BEQ.98 LDX#$10}JSRCLOSERTS*.98LDA#0STADIRZ0STACNTDIR2*.10JSRDIRUP2LDADIRZ0 BNE.1.2LDA}$2FC CMP#$FF BEQ.2 LDA#$FF &STA$2FC0JSRDIRUP2:.1JSRDIRUP3D*NRTSX- bDIRUP2JSRLOESCH}1CLEARSCRlLDA#1XPOS vSTA$D2JSRDIRUP1 LDA#12STA$D2XPOSJSRDIRUP1 LDA#23STA$D2XP}OSJSRDIRUP1*RTS-DIRUP1LDA#WINDOW1+40 STA$D0LDA/WINDOW1+40 STA$D1 ; LDA#0 }STACNTDIR1*.3JSRGETWODATENVON 4;DISK>LDAERRPNT HBEQ.98 RLDX#$10\JSRCLOSEfRTSp*z.98LD}AWO CMP#$2A BEQ.12 CMP#$20 BEQ.12 LDA#1STADIRZ0RTS*.12INCCNTDIR2LDA#$9C}|-$20STAWO+10; LDX#0 LDY$D2.1LDAWO,XSEC $SBC#$20.STA($D0),Y8INYBINX LCPX}#11 VBNE.1`; jLDA$D0tCLC ~ADC#$28 STA$D0 BCC.2 INC$D1.2INCCNTDIR1LDACNTDIR1 }CMP#11 BNE.3* .10RTS-DIR1LDA#$FF STA$2FCLDX#$10GANZEDIR JSRCLOSE;LDX#$16}DIR(LDA#FNAME72LDY/FNAME7 <JSROPENFLDAERRPNT PBEQ.98 ZLDX#$10dJSRCLOSE nJMP.99x*.}98LDA#0STADIRZ0STACNTDIR2 LDA#5STADISKNEU;JSRDIR1UP*.99LDA#0STADISKNEU}JMPDISKTAST-DIR1UPJSRLOESCH1*LDA#WINDOW1+40 STA$D0"LDA/WINDOW1+40 ,STA$D1 6LDA#0@}STACNTDIR1J*T.1JSRGETWODATENVON ^;DISKhLDAERRPNT rBEQ.98 |LDX#$10JSRCLOSERTS*.9}8LDAWO CMP#$2A BEQ.12 CMP#$20 BEQ.12 LDX#$10JSRCLOSEJMPDIRUP3*.12INCCNTDIR2} LDY#8 LDX#0.2LDAWO,X&SEC 0SBC#$20:STA($D0),YDINYNINX XCPX#17 bBNE.2l; vLDA}$D0CLC ADC#40 STA$D0 BCC.3 INC$D1.3INCCNTDIR1LDACNTDIR1 CMP#11 BNE.1*}.11LDA$2FC CMP#$FF BEQ.11 LDA#$FF STA$2FCJMPDIR1UP -*GETWOLDX#$10KANAL1 4LDA#WO>}STAWHERE HLDA/WORSTAWHERE+1\LDA#WIEVIELfSTALENGTHpLDA/WIEVIELzSTALENGTH+1JSRGETBYTES}*RTS-DIRUP3LDX#0 LDY#8.1LDAWO,XSEC SBC#$20STAWINDOW1+480,YINXINY CPX}#4  BNE.1 ;  LDX#0$ .2LDATXT1,X. STAWINDOW1+480,Y8 INYB INX L CPX#13 V BNE.2` *j LDACNTD}IR2 t BEQ.4~ RTS * .4LDADISKNEU ASL TAX LDATXTWAS,X STA$D0 LDATXTWAS+1,X STA$D1 }* INCERRPNT2 LDX#0 LDY#0 LDATXT2 STAWINDOW1+210,X INX LDATXT2+1( STAWINDOW1+210,X2 I}NX< INXF .9LDA($D0),Y P CMP#$9B Z BEQ.10d STAWINDOW1+210,Xn INXx INY JMP.9 .10LDY#0 .11L}DATXT2+2,Y CMP#$9B BEQ.12 STAWINDOW1+210,X INX INY JMP.11 * .12RTS * TXT1.AT" Fre}e Sectors" TXTWAS.DASONG,SOUND .DASONG,SOUND .DAFILE,FILE" SONG.AT"SONG-" , .HX9B6 SOUND.AT"SOUND-"} @ .HX9BJ FILE.AT" " T .HX9B^ TXT2.AT"NoFile" h .HX9Br -| - - - DISKLDA#$FF STA$2FC }LDA#0 STAPLAYON STAPLAYALL JSRSNGSTOP JSRSNGUP2 JSRSNGUP4 JSRPLAYER3 * LDA#0 STA$}D40E  LDA#$5F  STA$222 & LDA#$E4 0 STA$223: * D LDA#$60N STA$D40EX JSRPLAYER3b JSRLOESCH1l }JSRLOESCH2v JSRCOPY1 LDA#DISKRET STAJUMP1 LDA/DISKRET STAJUMP1+1 LDA#6 STACNT99 DISK1L}DA#0 STADISKALT STADISKNEU * DISKTASTLDA$2FC CMP#$0F BEQDISKRUN  CMP#$0E BEQDISKHOCH} CMP#$1CESC BNE.2 * LDA#$FF 4 STA$2FC> JMPDISK10H .2CMP#$0CRET R BNE.1\ JMP(JUMP1)f .1JM}PDISKTASTp *z DISKRUNLDA#$FF STA$2FC ; INCDISKNEU LDADISKNEU CMPCNT99 BNE.1 LDA#0 }STADISKNEU .1JSRINVERT LDADISKNEU STADISKALT JMPDISKTAST -DISKHOCHLDA#$FF STA$2FC;$}DECDISKNEU.LDADISKNEU 8BPL.1BLDXCNT99LDEXVSTXDISKNEU`.1JSRINVERTjLDADISKNEUtSTADISKA}LT~JMPDISKTAST-DISKDAT1.DAWINDOW2+1.DAWINDOW2+41.DAWINDOW2+81.DAWINDOW2+121DIR.DAWIND}OW2+17.DAWINDOW2+57.DAWINDOW2+97.DAWINDOW2+137*INVERTLDADISKALTJSRINVUP1LDADISKNEU }JSRINVUP1;RTS(*2INVUP1ASL<TAXFLDADISKDAT1,X PSTA$D0ZLDADISKDAT1+1,X dSTA$D1n; x}LDY#0.1LDA($D0),Y EOR#$80STA($D0),YINY CPY#16 BNE.1*RTS-DISKRETLDA#$FF }STA$2FC*LDADISKNEUASLTAXLDADISKWO1,X"STAJUMP3,LDADISKWO1+1,X6STAJUMP3+1@JMP}(JUMP3)J;T*^DISKWO1.DASNGLOA,SNDLOAh.DASNGSAV,SNDSAVr.DADISK10,DOS|*FNAME1.AS"D1:*.SNG",#$9B}FNAME2.AS"D1:*.SND",#$9BFNAME3.AS"D1:*.SPL",#$9BFNAME4.AS"D1:*.COM",#$9BFNAME7.AS"D1:*.*",#$9B--}SNDUPLDA#FNAME2STAFNAMELDA/FNAME2STAFNAME+1 JSRDIRLDAERRPNT2 CMP#1 BNE.1RTS}&;0.1JSRFILETEXT:LDA#$33SDSTAWINDOW2+306NLDA#$2ENXSTAWINDOW2+307bLDA#$24DlSTAWINDOW2}+308 vLDA#8STAINPCNT1JSRINPUT2;RTS-SNGUPLDA#FNAME1STAFNAMELDA/FNAME1STAF}NAME+1 JSRDIRLDAERRPNT ;CMP#1 BEQ.1RTS ;.1JSRFILETEXT LDA#$33S*STAWINDOW2+306}4LDA#$2EN>STAWINDOW2+307HLDA#$27GRSTAWINDOW2+308 \LDA#8fSTAINPCNT1pJSRINPUT2z;RTS}-*SNDSAVLDA#5STAERRPNT2JSRSNDUP CMP#1 BEQ.1; LDX#$10JSRCLOSELDX#$18WR}ITEJSROPEN1LDA#SOUNDSSTAWHERELDA/SOUNDS$STAWHERE+1 .LDA#$A08STALENGTH BLDA#$06L}STALENGTH+1VJSRPUTBYTES `LDX#$10jJSRCLOSEt.1JSRNOTEXT~*JMPDISKTAST-SNDLOALDA#0STA}ERRPNT2JSRSNDUP CMP#1 BEQ.1; LDX#$10JSRCLOSELDX#$14LOADJSROPEN1LDA#SOUNDS} STAWHERELDA/SOUNDSSTAWHERE+1 (LDA#$A02STALENGTH <LDA#$06FSTALENGTH+1PJSRGETBYTES Z}LDX#$10dJSRCLOSEn.1JSRNOTEXTx*JMPDISKTAST*-SNGSAVLDA#5STAERRPNT2JSRSNGUP CM}P#1 BNE.37 JMP.50;.37LDX#$10JSRCLOSELDX#$18WRITEJSROPEN1*LDA#SONGWO "STA}$D0,LDA/SONGWO 6STA$D1@.99LDY#0JLDA($D0),YTSTA$D01A^CMP#$CFKENNBYTE hBNE.1rJSRPUTBYTE}1. |LDA#$CFJSRPUTBYTE2. LDA#1JSRPUTBYTE3. JMP.97;.1STASAVHILF .2INY BNE.10}DEY JMP.3.10CMP($D0),Y BEQ.2 CPY#5 BCS.3LDASAVHILFJSRPUTBYTE &JMP.970.3STYSA}VCNT:LDA#$CFKENNBYTEDJSRPUTBYTE1.NLDASAVHILFXJSRPUTBYTE2.bLDASAVCNTlJSRPUTBYTE3. vLDA$D}0CLCADCSAVCNT STA$D0 BCC.4 INC$D1.4JMP.98.97INC$D0 LDA$D0 BNE.98 INC$D1}.98LDA$D1 CMP#$C0 BNE.99* LDX#$10JSRCLOSE .50JSRNOTEXT**4JMPDISKTAST>*HPUTBY}TESTAWHERPNTRLDA#WHERPNT\STAWHEREfLDA/WHERPNTpSTAWHERE+1 zLDA#1STALENGTH LDA#0STAL}ENGTH+1JSRPUTBYTESLDAERRPNT BEQ.1 LDA#$10JSRCLOSEJSRNOTEXTPLAPLALDA/DISKTAS}T-1PHALDA#DISKTAST-1PHA .1RTS$-.-8SNGLOALDA#0BSTAERRPNT2LJSRSNGUP VCMP#1 `BEQ}.10j; tLDX#$10~JSRCLOSELDX#$14LOADJSROPEN1*LDA#SONGWO STA$D0LDA/SONGWO STA}$D1;.99JSRGETBYTE CMP#$CF BEQ.1 LDY#0STA($D0),Y STA$D01A INC$D0 BNE.4 (INC}$D1 2JMP.4<.1JSRGETBYTEFSTASAVHILFPJSRGETBYTEZSTASAVCNTdLDASAVHILF nLDY#0x.2STA($D0),Y}INYCPYSAVCNT BCC.2 LDA$D0CLCADCSAVCNT STA$D0 BCC.4 INC$D1.4LDA$D1 CMP}#$C0 BNE.99* LDX#$10JSRCLOSE LDA#0 "STASTEP,JSRNOTEXT6JMPDISK10@.10JSRNOTEXTJ}*TJMPDISKTAST^*hGETBYTELDA#WHERPNTrSTAWHERE|LDA/WHERPNTSTAWHERE+1 LDA#1STALENGTH }LDA#0STALENGTH+1JSRGETBYTESLDAERRPNT BEQ.1 LDA#$10JSRCLOSEJSRNOTEXTPLAPLA}LDA/DISKTAST-1PHALDA#DISKTAST-1&PHA0RTS:.1LDAWHERPNTDRTSN-XDOSLDA#$FF bSTA$2FC}l*vJSRLOESCH1JSRLOESCH2JSRCOPY2LDA#DOSRETSTAJUMP1LDA/DOSRETSTAJUMP1+1 LDA#8}STACNT99*JMPDISK1-DOSRETLDADISKNEUASLTAX LDADOSDAT,XSTAJUMP2 LDADOSDAT+1,X}*STAJUMP2+14*>JMP(JUMP2)H-RDOSDAT.DADIR1,CHANGE\.DADELETE,DISKf.DAPROTECT,UNPROTECp.DAFORMA}T,QUITz-QUITJSRSURE1.3LDA$2FCCMP#43Y BEQ.1CMP#35N BEQ.2 JMP.3.2JSRNOTEXT}JMPDISKTAST.1JMP$E477-DELETELDA#$FF STA$2FCJSRINPUT1 CMP#1BEQBALKEN$JSRDELTEXT} .LDA#$FF 8STA$2FCB.2LDA$2FCLCMP#$2BY VBEQ.1`CMP#$23N jBNE.2 tLDA#$FF ~STA$2FCJM}PBALKEN;.1LDX#$10LDA#DELETEFJSRSPECIAL; LDX#$10JSRCLOSE*BALKENJSRNOTEXT L}DA#0STADISKNEUJSRINVERT LDADISKNEUSTADISKALTJMPDISKTAST(-2PROTECTLDA#$FF <STA$2FC}FJSRINPUT1 PCMP#1 ZBEQ.1 dLDX#$10nLDA#PROTECTFxJSRSPECIAL; LDX#$10JSRCLOSE*.1}JMPBALKEN-UNPROTECLDA#$FF STA$2FCJSRINPUT1 CMP#1 BEQ.1 LDX#$10LDA#UNPROFJSR}SPECIAL; LDX#$10"JSRCLOSE,*6.1JMPBALKEN@-JCHANGELDA#$FF TSTA$2FC^* hLDA#1rSTADI}SKNR|LDA#CHANGTXT STA$D2LDA/CHANGTXT STA$D3JSRCOPY1UP JSR.90LDAWINDOW2+301 ORA#$80}STAWINDOW2+301.10JSRKEYUP1CPX#17 BEQ.1CPX#16 BEQ.2 CPX#25RET  BEQ.20  JMP}.10& *0 .1JSR.90: LDADISKNR D CMP#1 N BNE.60 X LDA#8b STADISKNR l JMP.91v .60CMP#2 BNE.61} LDA#1 STADISKNR JMP.91 .61CMP#8 BNE.91 LDA#2 STADISKNR JMP.91 * .2JSR.90 }LDADISKNR CMP#1 !BNE.70 !LDA#2!STADISKNR !JMP.91*!.70CMP#2 4!BNE.71 >!LDA#8H!STADISKNR }R!JMP.91\!.71CMP#8 f!BNE.91 p!LDA#1z!STADISKNR !JMP.91!.20LDADISKNR!CLC !ADC#$10 !ORA#$8}0!STAWINDOW2+39!JSRNOTEXT!* !LDA#$FF !STA$2FC!INCDISKNEU!INCDISKNEU!JSRINVERT"LDADIS}KNEU"STADISKALT"JMPDISKTAST$".90LDAWINDOW2+301 ."AND#$7F8"STAWINDOW2+301B"LDAWINDOW2+303 L"AND#$7}FV"STAWINDOW2+303`"LDAWINDOW2+305 j"AND#$7Ft"STAWINDOW2+305~"RTS".91LDADISKNR "CMP#1 "BNE.92}"LDAWINDOW2+301 "ORA#$80"STAWINDOW2+301 "JMP.10".92CMP#2 "BNE.93"LDAWINDOW2+303 "ORA#$80}"STAWINDOW2+303 #JMP.10 #.93CMP#8 #BNE.94#LDAWINDOW2+305 (#ORA#$802#STAWINDOW2+305<#.94JMP.10}F#-P#-DOW2+303 #JMP.10 #.93CMP#8 #BNE.94#LDAWINDOW2+305 (#ORA#$802#STAWINDOW2+305<#.94JMP.10 ER_ .LIOFF-;SAVD8;SOUND.INC(-2SNDNR.HX01<ATASC.HX0000FSNDCNT1.HX00PHKUCNT1.HX00ZHKU!}CNT2.HX00dJUMP4.HX0000nCOPYNR.HX00xXOLD.HX00XNEW.HX00YOLD.HX00YNEW.HX00UND.HX00O!}DER.HX00XRETT.HX00ADD1.HX00HKUTAB1.HX002850HKUTAB2.DA#65,#84,#103* INITSNDLDA#SOUNDWOLOES!}CHESTA$D0TABELLELDA/SOUNDWO STA$D1 .2LDY#0.1LDA#0*******"STA($D0),Y,INY 6BNE.1 @!}INC$D1 JLDA$D1TCMP/NOTEANF ^BNE.2h*rLDA#SOUNDS |STA$D0LDA/SOUNDS STA$D1 LDX#0.!}4LDA$D0STASOUNDWO,X LDA$D1STASOUNDWO+1,X LDY#64 LDA#$FFSTA($D0),YINYSTA($D0),Y!}INYSTA($D0),Y LDY#83 LDA#$80&STA($D0),Y0INY :LDA#$FFDSTA($D0),YNINYXSTA($D0),Y!} bLDY#102 lLDA#$80vSTA($D0),YINY LDA#$FFSTA($D0),YINYSTA($D0),Y LDA$D0CLC! }ADC#106LAENGESTA$D0VONSND BCC.3 INC$D1 .3INXINX CPX#$20 BNE.4* RTS*-4! }SNDSCRJSRLOESCH1>JSRLOESCH2HJSRPLAYER2RJSRPLAYER2 \LDA#DLI fSTA$200 pLDA/DLI zSTA$201 L! }DA#$C0STA$D40E;LDA#SNDMENU STA$D2LDA/SNDMENU STA$D3LDA#WINDOW1+41 STA$D0LDA! }/WINDOW1+41 STA$D1 LDX#0JSRCOPYUP;LDA#FMODTXT STA$D2$LDA/FMODTXT .STA$D38LDA#WIN! }DOW1+121 BSTA$D0LLDA/WINDOW1+121 VSTA$D1 `LDX#0jJSRCOPYUPt;~LDA#HKUTXT1 STA$D2LDA/HK!}UTXT1 STA$D3LDA#WINDOW2+81 STA$D0LDA/WINDOW2+81 STA$D1 LDX#2JSRCOPYUP;LDA#POR!}TTXT STA$D2LDA/PORTTXT STA$D3LDA#WINDOW1+441 STA$D0(LDA/WINDOW1+441 2STA$D1 <LDX#0F!}JSRCOPYUPP;ZLDA#VOLTXT dSTA$D2nLDA/VOLTXT xSTA$D3LDA#WINDOW2+241 STA$D0LDA/WINDOW2+2!}41 STA$D1 LDX#1JSRCOPYUP*RTS-!NUMHEX.AT"0123456789ABCDEF"*FMPOS.HX0205080BARP!}POS.HX15181B1E**HEXASCPHA"LSR,LSR6LSR@LSRJTAXTLDANUMHEX,X^STAATASChPLA rA!}ND#$0F|TAXLDANUMHEX,XSTAATASC+1*RTS-SNDADRLDASNDNRJSRHEXASCLDA#WINDOW1+40 !}STA$D0LDA/WINDOW1+40 STA$D1 LDY#6LDAATASC ORA#$80STA($D0),YINY&LDAATASC+1 0OR!}A#$80:STA($D0),YD*NRTSX-bFMODCOPLDASNDNRlASLvTAXLDASOUNDWO,X STA$D0LDASOUNDWO+1!},X STA$D1 LDA$D0CLC ADC#67 STA$D0 BCC.1 INC$D1.1LDA#WINDOW1+200 STA$D2LDA!}/WINDOW1+200 STA$D3 LDA#FMPOS STA$D4 LDA/FMPOS *STA$D54*>FMCOPLDA#0HSTASNDCNT1R; \.!}3LDA#0 f.2PHApLDYSNDCNT1zLDA($D0),YJSRHEXASCPLATAYPHALDA($D4),YTAYLDAATA!}SCSTA($D2),YINYLDAATASC+1STA($D2),Y*INCSNDCNT1 PLA CLC  ADC#1 $ CMP#4 . BNE!}.2 8 LDA$D2B CLC L ADC#40 V STA$D2 ` BCC.4 j INC$D2t .4LDASNDCNT1 ~ CMP#16 BCC.3 * RTS!} - ARPCOPLDASNDNR ASL TAX LDASOUNDWO,X STA$D0 LDASOUNDWO+1,X STA$D1 LDA$D0 CLC !} ADC#86  STA$D0  BCC.1 ( INC$D12 .1LDA#WINDOW1+200 < STA$D2F LDA/WINDOW1+200 P STA$D3Z LDA#ARP!}POS d STA$D4n LDA/ARPPOS x STA$D5 * JMPFMCOP - PORTCOPLDASNDNR ASL TAX LDASOUNDWO,X !} STA$D0 LDASOUNDWO+1,X STA$D1 ; LDY#105 LDA($D0),Y CLC  ADC#$10 JSRHEXASC" LDAATASC!}+1, STAWINDOW1+4546 LDAATASC@ STAWINDOW1+456J *T RTS^ -h HKUCOPLDASNDNRr ASL| TAX LDASOUNDW! }O,X STA$D0 LDASOUNDWO+1,X STA$D1 ; LDA#0 STASNDCNT1 LDYHKUCNT1 .1LDA($D0),Y JSRHEX!!}ASC LDXSNDCNT1 LDAATASC+1 STAWINDOW2+247,X LDAATASC STAWINDOW2+287,X TYA& PHA0 LDA($D0),Y!"} : AND#$0F D ASL*4N ASLX TAYb LDAHKUTXT,Yl STAWINDOW2+167,Xv LDAHKUTXT+1,Y STAWINDOW2+127,X !#}LDAHKUTXT+2,Y STAWINDOW2+87,X LDAHKUTXT+3,Y STAWINDOW2+47,X ; PLA TAY INY INCSNDCNT1 !$}LDASNDCNT1 CMP#25 BNE.1 * LDY#65 JSRHKUUP1 STAXP0* INY4 JSRHKUUP1 > STAXM0 H LDY#84!%}R JSRHKUUP1 \ STAXP1f INYp JSRHKUUP1 z STAXM1 LDY#103 JSRHKUUP1 STAXP2 INY JSRHKUUP1!&} STAXM2 JSRXPOS * RTS - HKUUP1LDA($D0),Y CMP#$FF BNE.3 LDA#68 JMP.4 .3SEC$!'}SBCHKUCNT1.ASL8ASLBCLC LADC#72 VCMP#172 `BCC.2 jLDA#0 tJMP.4~.2CMP#72 BCS.4 !(}LDA#0 .4RTS*-HKUTXT.AT" "0.AT" "1.AT" "2.AT" "3.AT" "4.AT!)}" "5.AT" "6.AT" "7 .AT" "8.AT" "9.AT" "A(.AT" "B2.AT" !*}"C<.AT""DF.AT""EP.AT""FZ-dSNDMENJSRSNDSCR nLDA#0xSTAPLAYONLDA#$23C!+}STAWINDOW2+154LDA#$2FOSTAWINDOW2+155LDA#$30PSTAWINDOW2+156JSRACCOP LDAYNEWSTAYRE!,}TTE LDAXNEWSTAXRETTE;SNDJMPJSRSNDADRJSRFMODCOPJSRARPCOPJSRPORTCOP "LDA#0,STAH!-}KUCNT16STAHKUCNT2 @STAXNEWJJSRHKUCOPTLDAPLAYALL ^BEQ.1 hLDA#$00r.1STA$2C8|;KEYSNDLDA!.}$2FC CMP#$FFBEQKEYSND LDX#0.2CMPTAST1,X BEQ.5INX CPX#13 BNE.2 LDA#$FF STA!/}$2FCJMPKEYSND.5LDA#$FF STA$2FCTXAASL&TAX0LDAJMP1,X:STAJUMP4DLDAJMP1+1,XNSTA!0}JUMP4+1X;bJMP(JUMP4)l*vTAST1.HX0706383FFA.HX0A39922DPHCT .HX08O.HXF6SH-CTRL<.HX!1}CDSH-CTRLI .HX1C.HX57SH-ZJMP1.DARIGHT1,LEFT1.DAFMOD1,ARP1.DAPORT1,HKU1.DACOPYSND,SND!2}TEST.DAOKT,SNDCLR.DAINITHKU.DATRACKS.DANOLOOP1 *COPYSNDLDACOPYNR BNE.1*LDASNDNR4!3}STACOPYNR>JSRACCOP HJSR.90RJMPSNDJMP\.1LDASNDNRfASLpTAXzLDASOUNDWO,X STA$D0LDAS!4}OUNDWO+1,X STA$D1LDACOPYNRASLTAXLDASOUNDWO,X STA$D2LDASOUNDWO+1,X STA$D3 LDY#!5}0.2LDA($D2),YSTA($D0),YINY CPY#106 BNE.2 $LDA#0.STACOPYNR 8JSR.90BJSRACCOPLJ!6}MPSNDJMPV-`.90LDX#5j.99LDAWINDOW2+154,X tEOR#$80~STAWINDOW2+154,XDEX BPL.99RTS-!7}NOLOOP1LDASNDNRASLTAXLDASOUNDWO,X STA$D0LDASOUNDWO+1,X STA$D1 LDY#64 LDA#$FF !8}STA($D0),YINYSTA($D0),Y(INY2STA($D0),Y <LDY#83 FLDA#$80PSTA($D0),YZINY dLDA#$FFn!9}STA($D0),YxINYSTA($D0),Y LDY#102 LDA#$80STA($D0),YINY LDA#$FFSTA($D0),YINY!:}STA($D0),YJMPSNDJMP-RIGHT1INCSNDNRLDASNDNR CMP#$10 BNE.1 LDA#1".1STASNDNR,J!;}MPSNDJMP6-@LEFT1DECSNDNRJLDASNDNR TBNE.1 ^LDA#$0Fh.1STASNDNRrJMPSNDJMP|--KEYUP1LD!<}A$2FC CMP#$FF BNE.99LDA$D01F CMP#7BEQKEYUP1 LDX#$FF JMP.5.99LDX#0.2CMPTAST2!=},X BEQ.5INX CPX#49 BNE.2 LDA#$FF &STA$2FC0JMPKEYUP1:.5LDA#$FF DSTA$2FCN;X;X!>}-REG.=ZAEHLERb;0-15ZAHLl;vRTS*TAST2.HX321F1E1A0123.HX181D1B334567.HX35303F1589AB.HX!?}123A2A38CDEF.HX07060E0F.HX1C3637<>.HX8E8FCTRL.HX0CRET.HXBEBACTRLSD.HX2CTA!@}B.HX0A3EPS .HX2DT.HX5F5E5A58SH-1234 .HX7ESH-S.HXA5CTRLM .HX76SH-<*.HXCDSH-CTRL-!A}I4.HXA8CTRL-R>.HXF4F7SH-CTRL-BACK>H.HX92CTRL-CR.HXF6SH-CTRL-<\.HXFESH-CTRL-Sf.HX4ASH-Pp!B}.HX4ESH-z.HX4FSH--PORT1JSRPORTCOP LDX#0.99LDAWINDOW1+442,X ORA#$80STAWINDOW1+442,!C}XINX CPX#10 BNE.99; LDA#2 STA$2C8;.2JSRPORTCOPJSRPORTINV1JSRKEYUP1$CPX!D}#20ESC .BNE.18.4JSRPORTCOP BLDX#0L.98LDAWINDOW1+442,X VAND#$7F`STAWINDOW1+442,XjINX tCPX!E}#10 ~BNE.98JMPSNDJMP*.1CPX#16 BCC.3CPX#16 BEQ.20 JMP.2.3LDY#105 LDA#$F0!F} STAUNDJSRMEMOUP JMP.2.20JSRPORTCOP LDAWINDOW1+456 ORA#$80STAWINDOW1+456(JSRKEYUP1!G}2CPX#20ESC <BNE.10 FJMP.4P.10CPX#16 ZBCC.30dCPX#17 nBEQ.2 xJMP.20.30CPX#0 BEQ!H}.20; LDY#105 LDA#$0F STAUNDDEXTXAASLASLASLASLTAXJSRMEMOUP JM!I}P.20*"MEMOUPTXAWERTAUS,STAODERX-REG.6;@LDASNDNRJASLTTAX^LDASOUNDWO,X hSTA$D0rLD!J}ASOUNDWO+1,X |STA$D1;;Y-REG.WOHIN;0-66HKU;67-85FMOD;86-104ARP;105PORT*LDA($D0!K}),Y ANDUND ORAODERSTA($D0),YRTS-PORTINV1LDAWINDOW1+454 EOR#$80STAWINDOW1+454&RT!L}S0-:FMODINVLDX#0D.1LDAWINDOW1+125,X NEOR#$80XSTAWINDOW1+125,XbINX lCPX#4 vBNE.1RTS!M}-ARPINVLDX#0.1LDAWINDOW1+145,X EOR#$80STAWINDOW1+145,XINX CPX#3 BNE.1RTS-C!N}URSORLDAYOLDASLTAY LDA($D6),Y STA$D0 INY*LDA($D6),Y 4STA$D1 >LDYXOLDHLDA($D8),YX!O}POSRTAY\LDA($D0),Y fEOR#$80pSTA($D0),YzCURSOR1LDAYNEWASLTAYLDA($D6),Y STA$DA!P}INYLDA($D6),Y STA$DB LDYXNEWLDA($D8),YXPOSTAYLDA($DA),YEOR#$80*STA($DA),Y !Q}LDYXNEW STYXOLD LDYYNEW $STYYOLD.*8RTSB-LFMXPOS.HX0203050608090B0C VARPXPOS.HX151618191B1C1!R}E1F`FMYPOS.DAWINDOW1+200j.DAWINDOW1+240t.DAWINDOW1+280~.DAWINDOW1+320*FMOD1LDAWINDOW1+202 E!S}OR#$80STAWINDOW1+202LDA#FMXPOS STA$D8LDA/FMXPOS STA$D9LDA#FMYPOS STA$D6LDA/FMYP!T}OS STA$D7 LDA#0 STAXOLD STAXNEW STAYOLD (STAYNEW2JSRFMODINV <LDA#67 FSTAADD1 PLD!U}A#2 ZSTA$2C8d*n.1JSRJ99TASTExCPX#20ESC BNE.2JSRCURSORJSRFMODINVJMPSNDJMP.2CPX!V}#16 BCS.1JSRPOKE1JSRFMODCOPJSRCURSOR1JSRJ99+7 JMP.1-*J99JSRKEYUP1 CPX!W}#16 BNE.1"INCXNEW ,LDAXNEW 6CMP#8 @BNE.2 JLDA#0 TSTAXNEW ^JMP.4+4h.2JSRCURSORrRT!X}S|.1CPX#17 BNE.4DECXNEW LDAXNEW BPL.3 LDA#7 STAXNEWJMP.10+4.3JSRCURSOR!Y}RTS.4CPX#19 BNE.10INCYNEW LDAYNEW  CMP#4  BNE.20  LDA#0& .20STAYNEW0 JSRCURSOR:!Z} RTSD .10CPX#18 N BNE.40X DECYNEW b LDAYNEW l BPL.30 v LDA#3 .30STAYNEW JSRCURSOR .40RTS![} - ARP1LDAWINDOW1+221 EOR#$80 STAWINDOW1+221 LDA#ARPXPOS STA$D8 LDA/ARPXPOS STA$D9 !\}LDA#FMYPOS STA$D6!LDA/FMYPOS !STA$D7 !LDA#0 !STAXOLD *!STAXNEW 4!STAYOLD >!STAYNEWH!JSRAR!]}PINVR!LDA#86ARP \!STAADD1 f!LDA#$02 p!STA$2C8z!*!.1JSRJ99TASTE!CPX#20ESC !BNE.2!JSRCURSO!^}R!JSRARPINV!JMPSNDJMP!.2CPX#16 !BCS.1!JSRPOKE1!JSRARPCOP!JSRCURSOR1!JSRJ99+7 !JMP!_}.1 "*ZAHL"POKE1LDAXNEW"LSR$"STAXRETT ."LDAYNEW8"ASLB"ASLL"CLCV"ADCXRETT `"ADCADD1j"TAY!`} t"LDAXNEW ~"AND#1 "BEQ.3 "LDA#$F0 "STAUND".4JSRMEMOUP"RTS".3LDA#$0F "STAUND"TXA"!a}ASL"ASL"ASL"ASL#TAX #JMP.4#- #HKUXPOS.HX0708090A0B0C0D0E(#.HX0F101112131415162#.HX1718191A!b}1B1C1D1E1F<#HKUYPOS.DAWINDOW2+240F#.DAWINDOW2+280P#*Z#HKU1LDAWINDOW2+247 d#EOR#$80n#STAWINDOW2+247x#L!c}DA#HKUXPOS #STA$D8#LDA/HKUXPOS #STA$D9#LDA#HKUYPOS #STA$D6#LDA/HKUYPOS #STA$D7 #LDA#0 #!d}STAXOLD #STAXNEW #STAYOLD #STAYNEW #JSRXPOS $LDA#2 $STA$2C8$*"$J98JSRKEYUP1,$CPX#23CTR!e}L 6$BNE.50@$JSRCTRL1 J$JMPJ98T$.50CPX#24CTRL ^$BNE.60h$JSRCTRL2 r$JMPJ98|$.60CPX#18 $BNE.!f}1 $LDA#0 $STAYNEW$JSRCURSOR $JMPJ98$.1CPX#19 $BNE.2 $LDA#1 $STAYNEW$JSRCURSOR $JM!g}PJ98$.2CPX#16 $BNE.5%.30INCXNEW %LDAXNEW %CMP#25 &%BNE.3 0%DECXNEW:%INCHKUCNT1D%LDAHKU!q}bSTART bBOOT 001b TAST INCb.IO INCbBINTER INCb*[START INCbTEXT INCbbDIR INCb~SOUND INCbnTRACKS INCb/SNDTEST INCb5%MONITOR INCbmZSNGPLAY INC#SNGMEN INC#FORMAT INC#XNOTEN INC#;SUSPICUSSNG#OSND209A COMCNT1 N%CMP#40 X%BNE.4b%DECHKUCNT1l%.4JSRHKUCOPv%JSRCURSOR3 %JMPJ98%.3JSRCURSOR2 %JMPJ98%.5!r}CPX#17 %BNE.8 %DECXNEW %LDAXNEW %BPL.6 %INCXNEW%DECHKUCNT1%LDAHKUCNT1 %BPL.7%INCHKU!s}CNT1&.7JSRHKUCOP &JSRCURSOR3 &JMPJ98 &.6JSRCURSOR2 *&JMPJ984&*>&.8CPX#16ZAHL H&BCC.11R&CPX#!t}20ESC \&BEQ.10f&CPX#21< p&BNE.41 z&LDA#0 &STAUND&LDXHKUCNT2&LDYHKUTAB2,X&LDAHKUCNT1&CLC!u} &ADCXNEW&TAX&JSRMEMOUP&JSRHKUCOP&JSRCURSOR3 &JMPJ98&.41CPX#22> &BNE.40 'LDA#0 'S!v}TAUND'LDXHKUCNT2$'LDYHKUTAB2,X.'INY8'LDAHKUCNT1B'CLC L'ADCXNEWV'TAX`'JSRMEMOUPj'DEYt'CMP!w}($D0),Y ~'BCS.80'INY 'LDA#$FF'STA($D0),Y'.80JSRHKUCOP'JSRCURSOR3'.40JMPJ98'.10LDA#0RET!x}'STAHKUCNT1'STAHKUCNT2'JSRHKUCOP 'JSRJ51'JMPSNDJMP(* (.11LDAYNEW (BEQ.20 (JMPJ21((*2!y}(.20LDAHKUCNT1VOL<(CLC F(ADCXNEWP(TAY Z(LDA#$F0 d(STAUNDn(JSRMEMOUPx(JSRHKUCOP(JSRCURSOR3(!z}JMP.30(J21LDAHKUCNT1POLY(CLC (ADCXNEW(TAY (LDA#$0F (STAUND(TXA(ASL(ASL(ASL(A!{}SL)TAX)JSRMEMOUP)JSRHKUCOP")JSRCURSOR3,).30INCXNEW 6)LDAXNEW @)CMP#25 J)BNE.3 T)DECXNEW^)!|}INCHKUCNT1h)LDAHKUCNT1 r)CMP#40 |)BNE.4)DECHKUCNT1).4JSRHKUCOP)JSRCURSOR3 )JMPJ98).3JSRCU!}}RSOR2 )JMPJ98)-)CTRL1DECHKUCNT2)LDAHKUCNT2 )BPLJ51)INCHKUCNT2)J51LDY#0INV1).52LDAWINDOW2!~}+81,Y *AND#$7F*STAWINDOW2+81,Y*LDAWINDOW2+121,Y &*AND#$7F0*STAWINDOW2+121,Y:*LDAWINDOW2+161,Y D*AN!}D#$7FN*STAWINDOW2+161,YX*INY b*CPY#4 l*BNE.52v*LDYHKUCNT2*LDAHKUTAB1,Y*TAY *LDX#0*.55LDAW!}INDOW2+81,Y *ORA#$80*STAWINDOW2+81,Y*INY*INX *CPX#4 *BNE.55*RTS*-*CTRL2INCHKUCNT2CTRL!}+LDAHKUCNT2 +CMP#3 +BNE.56 +DECHKUCNT2*+.56JMPJ514+->+MONITOR1LDASNDNRH+ASLR+TAX\+LDASOUN!}DWO,X f+STAADRp+LDASOUNDWO+1,Xz+STAADR+1+JSRMONITOR+JMPSNDMEN+-+DISK11JSRDISK +LDA#0+STA!}$D40E +LDA#VBI +STA$222 +LDA/VBI +STA$223 +LDA#$C0+STA$D40E+JMPSNDMEN,-,XPOSLDAHKUCNT1!},CLC $,ADCXNEW .,LDX#0 8,.1INXB,SEC L,SBC#10 V,BCS.1`,CLC j,ADC#10t,PHA~,DEX,TXA,JSR!}HEXASC,LDAATASC+1,STAWINDOW2+30,PLA,JSRHEXASC,LDAATASC+1,STAWINDOW2+31 ,LDA#$1A,STAWIN!}DOW2+29 ,LDA#$38,STAWINDOW2+28-RTS ---CURSOR2JSRXPOS-JSRCURSOR(-RTS2--<-CURSOR3JSRXPOSF-!}JSRCURSOR1P-RTSZ--STAWINDOW2+28-RTS ---CURSOR2JSRXPOS-JSRCURSOR(-RTS2--<-CURSOR3JSRXPOSF- ERf .LIOFF-;SAVD8;TRACKS.INC(-2STEP.HX0000<ADR10.HX0000FTRKNR.HX00PCOPYPNT.HX00ZTRK%}CNT1.HX00dTRKCNT2.HX00nNOTCNT1.HX00xNOTCNT2.HX00NOTCNT3.HX00NOTPNT1.HX08NOTYPOS.HX00NO%}TADR.HX0000TABCNT1.HX00XRETTE.HX00YRETTE.HX00RETTE.HX00SOUNDNR.HX01SNGNR.HX00TRKRET%}T.HX00MONHI=$8900TRK1HI=$8A00TR1=$8B00ST1=$8C00TRK2HI=$8D00"TR2=$8E00,ST2=$8F006%}TRK3HI=$9000@TR3=$9100JST3=$9200TTRK4HI=$9300^TR4=$9400hST4=$9500rTKLO=$9600|TKHI=$9700%}MONIANF=$9800SOUNDWO=MONIANF+64SNGANF=SOUNDWO+32;SOUNDS=$9900NOTEANF=$A000;;;%}-INITTRCKLDA#0 STASTEPSTATRKNR;LDA#NOTEANF STA$D0&LDA/NOTEANF 0STA$D1 :LDY#0D%}.11LDA#0N.10STA($D0),YXINY bBNE.10 lINC$D1 vLDA$D1 CMP#$C0 BNE.11* LDX#0 .1LDA%}#0STATRK1HI,XSTATRK2HI,XSTATRK3HI,XSTATRK4HI,XSTATR1,XSTATR2,XSTATR3,XSTATR4%},XSTAST1,X STAST2,XSTAST3,X STAST4,X*STAMONHI,X4INX >BNE.1 HLDX#0R.77LDA#0\ST%}AMONIANF,XfINX pCPX#64 zBNE.77* LDA#0STAMONIANF LDA#$03STAMONIANF+1 LDA#$20S%}TAMONIANF+2*LDA#SNGANF STA$D0LDA/SNGANF STA$D1 LDX#0 LDY#0.30LDA#0STA($D0),Y%}$INY .LDA#$FF8STA($D0),YBINY LLDA#0VSTA($D0),Y`INYjINX tCPX#32 ~BNE.30*LDA%}#NOTEANF STA$D0LDA/NOTEANF STA$D1 LDX#0.66LDA$D0STATKLO,X LDA$D1STATKHI,X LD%}A$D0CLC ADC#64 STA$D0 BCC.67 INC$D1 (.67INX 2BNE.66<*F*PRTSZ-dTRKCLRLDASTE%}PnCLCxADCYRETTETAYLDA#TRK1HI STA$D0LDA/TRK1HILDXTRKNRCLCADCTRKADD,X STA$%}D1LDA($D0),YTAYLDATKLO,Y STA$D4LDATKHI,Y STA$D5 LDX#63 LDY#0 ".1LDA#0,STA%}($D4),Y6INY@DEX JBNE.1T; ^LDAYNEWhPHArLDAYRETTE |STAYNEWJSRNOTECOPPLA STAYNEW%}JSRCURSOR1 LDA#$FF STA$2FC*JMPKEYNOTES-$STEPTXT.AT" PLAY STEP - "STEPCOPLDX#0%}STXPLAYRECSTXCOPYPNT.1LDASTEPTXT,XSTAWINDOW2+274,XLDASTEPTXT+6,X&STAWINDOW2+314,X0LDAST%}EPTXT+12,X:STAWINDOW2+354,XDINX NCPX#6 XBNE.1 bLDABISlJSRHEXASCvLDAATASCSTAWINDOW2+357%}LDAATASC+1STAWINDOW2+358 LDAVONJSRHEXASCLDAATASCSTAWINDOW2+354LDAATASC+1STAWINDO%}W2+355*RTS-SNGNRCOPLDASNGNRJSRHEXASC LDAATASCSTAWINDOW2+198 LDAATASC+1*STAWINDO%}W2+1994*>RTSH-RTRACKTXT.AT"ˠ"\SNDCOPLDASOUNDNRfJSRHEXASCpLDAATASCzSTAWINDOW2+158%}LDAATASC+1STAWINDOW2+159RTS*TRACKSJSRLOESCH3JSRSTEPCOPJSRSNGNRCOPLDAWINDOW2+157 A%}ND#$7FSTAWINDOW2+157LDASTARTSNG BEQ.1JSRRECUP1 .1LDA#$60 STA$D40E JSRPLAYER$ JSRPM%}CLR. LDA#$33S8 STAWINDOW2+154B LDA#$2ENL STAWINDOW2+155V LDA#$24D` STAWINDOW2+156j JSRSNDCOP%}t TRACKS1JSRLOESCH3~ LDAXRETTE STAXNEW STAXOLD LDAYRETTE STAYNEW STAYOLD LDA#0 STAXR%}ETTE STAYRETTE LDA#TRKXPOS STA$D8 LDA/TRKXPOS STA$D9 LDA#MONYPOS STA$D6 LDA/MONYPOS %} STA$D7( ; 2 LDX#0< .1LDATRKTXT1,XF STAWINDOW1+121,XP INX Z CPX#32 d BNE.1 n LDX#0x .2LDATRAC%}KTXT,X STAWINDOW1+53,X INX CPX#6 BNE.2 JSRTRKCOP JSRCURSOR1 JSRPMCURSOR * JMPKEYTRK%} - ; TRACK1.DATRK1HI .DATR1,ST1 .DAMONHI TRKXDAT.HX080B0E13  TRKXPOS.HX08090B0C0E0F1314" *,%} TRKCOPLDA#WINDOW1+160 6 STA$D0@ LDA/WINDOW1+160 J STA$D1 T LDASTEP^ STASTEP+1h * r LDA#0| STATRK%}CNT1 .1LDASTEP+1 JSRHEXASC LDY#3 LDAATASC STA($D0),Y INY LDAATASC+1 STA($D0),Y JSR%}TRKCOP1 ; INCSTEP+1 LDA$D0 CLC  ADC#40  STA$D0  BCC.2 & INC$D10 .2INCTRKCNT1: LDATRK%}CNT1 D CMP#18 N BNE.1X *b LDATRKNRl CLC v ADC#1 JSRHEXASC LDAATASC+1 ORA#$80 STAWINDOW1%}+59 * RTS - TRKADD.HX00030609 * TRKCOP1LDA#TRK1HI STA$D2 LDA/TRK1HI LDYTRKNR CLC %} ADCTRKADD,Y  STA$D3 LDA#0* STATRKCNT24 .1LDYSTEP+1> LDA($D2),YH JSRHEXASCR LDYTRKCNT2\ LDA%}TRKXDAT,Yf TAYp LDAATASCz STA($D0),Y INY LDAATASC+1 STA($D0),Y INC$D3 INCTRKCNT2 LDA%}TRKCNT2 CMP#3#$#$ BNE.1 LDYSTEP+1 ; LDAMONHI,Y JSRHEXASC LDY#$13LDAATASCSTA($D0%}),YINY$LDAATASC+1.STA($D0),Y8*BRTSL-VKEYTRKJSRKEYUP1`LDA$D01FjAND#1START tBNE.70%}~LDACOPYPNT BEQ.99JMPCOPYMEM.99JSRSNGLOOPJMPKEYTRK.70LDA$D01FAND#2SELECT BNE.71%} LDASTEPCLC ADCYNEW STABISJSRHEXASCLDAATASC STAWINDOW2+357LDAATASC+1STAWINDO%}W2+358(JMPKEYTRK2.71LDA$D01F<AND#4OPTION FBNE.72 PLDASTEPZCLC dADCYNEW nSTAVONxJSRHE%}XASCLDAATASCSTAWINDOW2+354LDAATASC+1STAWINDOW2+355JMPKEYTRK.72CPX#17 BNE.1JMP%}TRKLEFT.1CPX#16 BNE.2JMPTRKRIGHT.2CPX#18 BNE.3JMPTRKUP.3CPX#19 BNE.4"%}JMPTRKDOWN,.4CPX#21< 6BNE.5@DECTRKNRJLDATRKNR TBPL.6^INCTRKNRh.6JSRTRKCOPrJSRCURSOR1%}|JMPKEYTRK.5CPX#22> BNE.8INCTRKNRLDATRKNR CMP#4 BNE.7DECTRKNR.7JSRTRKCOP%}JSRCURSOR1JMPKEYTRK.8CPX#27CTRL-DBNEJ9999 LDAXNEWSTAXRETTE LDAYNEWSTAYRETTE &J%}MPDISK0DISK10LDA#0:STA$D40E DLDA#VBI NSTA$222 XLDA/VBI bSTA$223 lLDA#$60vSTA$D40EJMP%}TRACKSJ9999CPX#26CTRL-S BNEJ10 LDA#0STACOPYNRJMPSNDMENJ10CPX#25RET BNE.11JMPT%}RKRET.11CPX#28TAB BNE.12 JMPTAB1.12CPX#16ZAHL BCS.20 JMPZAHL10.20CPX#20 BNE.50 %}*LDA#0 4STAXNEW>JMPTRKDOWNH.50CPX#29P RBNE.51\JSRSNGPLAYfJMPKEYTRKp.51CPX#30S zBNE.%}52JSRSNGSTOPJMPKEYTRK.52CPX#31T BNE.53LDAPLAYALL BNE.53JMPSNGTEST.53CPX#32SH-%}1 BNE.54LDASOUNDON EOR#1STASOUNDON LDA#0STA$D201STAAUDCNEWJMPKEYTRK$.54CPX#%}33SH-2 .BNE.558LDASOUNDON+1 BEOR#1LSTASOUNDON+1 VLDA#0`STA$D203jSTAAUDCNEW+1tJMPKEYTRK%}~.55CPX#34SH-3 BNE.56LDASOUNDON+2 EOR#1STASOUNDON+2 LDA#0STA$D205STAAUDCNEW+2%}JMPKEYTRK.56CPX#35SH-4 BNE.57LDASOUNDON+3 EOR#1STASOUNDON+3 LDA#0STA$D207STAA%}UDCNEW+3(JMPKEYTRK2.57CPX#24CTRL- <BNE.58FJMPSNDINP.58CPX#23CTRL- ZBNEJ58dJMPSNDIN1nJ%}58CPX#38SH-< xBNE.59 LDA#0 STAXNEW STAYNEW STASTEPJSRTRKCOPJSRCURSOR1JSRPMCURSOR%}JMPKEYTRK.59CPX#39SH-CTRL-I BNE.65 LDX#0.60LDACLRTXT5,XSTAWINDOW2+274,XLDACLRTXT1+6,%}XSTAWINDOW2+314,XLDACLRTXT1+12,X"STAWINDOW2+354,X,INX 6CPX#6 @BNE.60J.63LDA$2FCTCMP#$2%}BY ^BEQ.61hCMP#$FFN rBEQ.63 |JMP.62.61JSRINITTRCK LDA#0 STAYNEW STAXNEW.62JSRST%}EPCOPJSRTRKCOPJSRCURSOR1JSRPMCURSOR LDA#$FF STA$2FCJMPKEYTRK.65CPX#41CTRL-BACK B%}NE.68JMPCLEAR.68CPX#42SH-CTRL-> BNE.69&JMPINSERT0.69CPX#43CTRL-C :BNE.80DLDANOLOOP N%}BNE.71XJSRSNGSTOPb.71JSRSTEPCOP lLDX#0v.70LDACOPYTXT,XSTAWINDOW2+274,XINX CPX#6 BNE%}.70JSRRECUP1INCCOPYPNTLDATRKNRSTATRKRETTJMPKEYTRK.80CPX#44SH-CTRL< BNE.81JMPD%}ELTRK.81CPX#45SH-CTRLS BNE.82 LDAYNEW CMP#9 BCC.95*JSRPMCLR4.95JMPSNGMEN>.82CPX#48%}SH- HBNE.85RDECSNGNR\LDASNGNR fBPL.83pINCSNGNRz.83JSRSNGNRCOPJMPKEYTRK.85CPX#47SH-%} BNE.87INCSNGNRLDASNGNR CMP#$40 BNE.86DECSNGNR.86JSRSNGNRCOPJMPKEYTRK.87CP%}X#46SH-P BNE.99JSRPLAYSTEP.99JMPKEYTRKCLRTXT5.AT"Ԡ"COPYTXT.AT" COPY "$-.DELTRKLDX%}#08.3LDA.20,XBSTAWINDOW2+274,XLLDA.20+6,XVSTAWINDOW2+314,X`LDA.20+12,XjSTAWINDOW2+354,XtINX%} ~CPX#6 BNE.3JSRSURETXT8 CMP#$2B BEQ.10JSRSTEPCOPJMPKEYTRK*.10LDY#0.1LDX%}TRKNRLDA#TRK1HI STA$D0LDA/TRK1HICLC ADCTRKADD,X STA$D1; (LDA#02STA($D0),Y <IN%}C$D1FSTA($D0),Y PINC$D1ZSTA($D0),YdINY nBNE.1x*JSRSTEPCOPJSRTRKCOPJSRCURSOR1%}JMPKEYTRK*.20.AT"".AT"ˠ".AT"ٯΩ"-COPYMEMLDA#TRK1HIPHA STA$D0LDA%}/TRK1HIPHALDXTRKRETTVONCLC"ADCTRKADD,XADRESSE ,STA$D1 6LDA$D0@CLC JADCVON TSTA$D0%} ^BCC.7 hINC$D1r; |.7PLALDXTRKNRNACHCLCADCTRKADD,XADRESSE STA$D3PLACLC AD%}CSTEPCLC ADCYNEW STA$D2 LDABISSEC SBCVONSTARETTEINCRETTEJSRRECUP1&* 0L%}DX#0 :.1LDY#0D.2LDA($D0),YNSTA($D2),YXINYbCPYRETTE lBNE.2 vINC$D1 INC$D3INX CPX%}#3 BNE.1*.10JSRTRKCOPJSRCURSOR1 LDA#0STACOPYPNT.32LDA$D01F AND#1 BEQ.32%}JSRSTEPCOPJSRSNGSTOP JMPKEYTRK* .30.AT"٠"*SURETXT9LDX#04.1LDASURETXT+13,X>STAWIN%}DOW2+207,XHINX RCPX#19 \BNE.1f;pSURETXT8LDA$2FCzCMP#$2BY BEQ.2CMP#$23N BEQ.2J%}MPSURETXT8.2LDX#$FF STX$2FCRTS-CLEARLDASTEPCLC ADCYNEWTAX.1LDAMONHI+1,XS%}TAMONHI,XLDATRK1HI+1,XSTATRK1HI,X$LDATR1+1,X.STATR1,X8LDAST1+1,XBSTAST1,XLLDATRK2HI+1,X%}VSTATRK2HI,X`LDATR2+1,XjSTATR2,XtLDAST2+1,X~STAST2,XLDATRK3HI+1,XSTATRK3HI,XLDATR3%}+1,XSTATR3,XLDAST3+1,XSTAST3,XLDATRK4HI+1,XSTATRK4HI,XLDATR4+1,XSTATR4,XLDAST%}4+1,XSTAST4,XINX BNE.1 LDA#0STATRK1HI+255(STATRK2HI+2552STATRK3HI+255<STATRK4HI+255%}FSTATR1+255PSTATR2+255ZSTATR3+255dSTATR4+255nSTAST1+255xSTAST2+255STAST3+255STAST4+%}255STAMONHI+255*JSRTRKCOPJSRCURSOR1JMPKEYTRK-INSERTLDASTEPCLC ADCYNEWSTA%}RETTEDECRETTE LDX#$FE.1LDAMONHI,XSTAMONHI+1,X"LDATRK1HI,X,STATRK1HI+1,X6LDATR1,X@S%}TATR1+1,XJLDAST1,XTSTAST1+1,X^LDATRK2HI,XhSTATRK2HI+1,XrLDATR2,X|STATR2+1,XLDAST2,X%}STAST2+1,XLDATRK3HI,XSTATRK3HI+1,XLDATR3,XSTATR3+1,XLDAST3,XSTAST3+1,XLDATRK4HI,X%}STATRK4HI+1,XLDATR4,XSTATR4+1,XLDAST4,X STAST4+1,X DEX CPXRETTE & BNE.10 ;: INX%} D LDA#0N STAMONHI,XX STATRK1HI,Xb STATRK2HI,Xl STATRK3HI,Xv STATRK4HI,X STATR1,X STATR2,X%} STATR3,X STATR4,X STAST1,X STAST2,X STAST3,X STAST4,X * JSRTRKCOP JSRCURSOR1 JMP%}KEYTRK -!TRKLEFTDECXNEW !LDAXNEW !BPL.1 !INCXNEW*!.1JSRCURSOR4!JMPKEYTRK>!*H!TRKRIGHTINCXN%}EW R!LDAXNEW \!CMP#8 f!BNE.1 p!DECXNEWz!.1JSRCURSOR!JMPKEYTRK!*!TRKUPDECYNEW !LDAYNEW !BP%}L.1 !INCYNEW !DECSTEP!JSRTRKCOP!JSRCURSOR1!.1JSRCURSOR!JSRPMCURSOR!JMPKEYTRK!*"TRKDOW%}NINCYNEW "LDAYNEW "CMP#18 $"BNE.1 ."DECYNEW 8"INCSTEPB"JSRTRKCOPL"JSRCURSOR1V".1JSRCURSOR`"%}JSRPMCURSORj"JMPKEYTRKt"-~"TRKRETLDAXNEW "CMP#6 "BCS.1"JMPNOTENIN".1 "LDAXNEW"STAXRETTE %}"LDAYNEW"STAYRETTE"JSRMONITOR"LDAXRETTE "STAXNEW"LDAYRETTE #STAYNEW #JMPTRACKS#-#TAB%}1LDAXNEW (#CMP#2 2#BCS.1 <#LDA#2 F#JMP.10 P#.1CMP#4 Z#BCS.2 d#LDA#4 n#JMP.10 x#.2CMP#6 #BCS.%}3 #LDA#6 #JMP.10 #.3LDA#0 #STAXNEW#JMPTRKDOWN#.10STAXNEW#JSRCURSOR#JMPKEYTRK#-#ZAHL%}10LDAXNEW #CMP#6 #BCC.20 $AND#$FE$TAY$LDATRACK1,Y "$STA$D0,$LDATRACK1+1,Y 6$STA$D1@$.30LD%}ASTEPJ$CLC T$ADCYNEW^$TAY h$LDAXNEW r$AND#1 |$BNE.2$LDA($D0),Y $AND#$0F$STA($D0),Y$TXA%}$ASL$ASL$ASL$ASL$ORA($D0),Y$STA($D0),Y $JMP.10$.2LDA($D0),Y $AND#$F0%STA($D0),Y%%}TXA%ORA($D0),Y&%STA($D0),Y0%.10JSRTRKCOP :%INCXNEW D%LDAXNEW N%CMP#8 X%BNE.1 b%DECXNEWl%.1JSR%}CURSOR1v%JMPKEYTRK%*%*%.20AND#$FE%TAY%LDATRACK1,Y %STA$D0%LDATRACK1+1,Y%LDYTRKNR%C%}LC%ADCTRKADD,Y %STA$D1%; %JMP.30&-TAY%LDATRACK1,Y %STA$D0%LDATRACK1+1,Y%LDYTRKNR%C$6ER7 .LIOFF-;SAVD8;SNDTEST.INC(-2NOTE.HX0000<HKUCNT4.HX00FARPCNT1.HX00PFMODCNT1.HX00Z)}PLAYON.HX00dTASTON.HX00nAUDCTL.HX00xOKTAVE.HX00PNT1.HX00SNDKANAL.HX00;-SNDTESTLDA)}#0STAPLAYALLSTASNDKANALJSRSNGSTOPJSRLEVEL LDX#7.99STA$D200,XDEX BPL.99;)}JSRSNGUP2JSRSNGUP4 "LDA#1,STATASTON 6LDA#3@STA$D20F JLDA#$42 TSTA$2C8^.1LDA$D209hCM)}P#$1C rBNE.1 |LDA#0STATASTONSTA$D201AUDC1STAHKUCNT4STAARPCNT1STAFMODCNT1 STA$2)}C8 LDA#$FF STA$2FCJMPSNDJMP-TESTVBILDAAUDCTLSTA$D208 LDAPNT1 BNE.40.5LDA$2FC)} CMP#64 &BCC.3 0.30RTS:.3LDX$2FCDLDAKEYTAB1,X NBEQ.30 XSTANOTE bLDA#0lSTAHKUCNT4vST)}AARPCNT1STAFMODCNT1 LDA#1STAPLAYON LDA#$FF STA$2FC LDA#0 STAPNT1RTS.40LDA$D2)}0F AND#4 BEQ.30 LDA#1 STAPNT1RTS *- TESTPLAYLDASNDNR*ASL4TAX>LDASOUNDWO,X )}HSTA$E0RLDASOUNDWO+1,X \STA$E1f; pLDANOTEzSEC SBC#$01CLCADCOKTAVESTANOTE+1P*}HA AND#$0F BNE.21 LDA#0STANOTE+1 JMP.20 .21TAX LDA#0 .1CLC ADC#12DEX BNE*}.1$STANOTE+1 ..20PLA8LSRBLSRLLSRVLSR`CLCjADCNOTE+1tSTANOTE+1~DECNOTE+1*J*}SRARPEGGIO*LDXNOTE+1LDYHKUCNT4LDA($E0),Y AND#$F0 CMP#$C0 BEQ.25 CMP#$D0 BNE.3*}0LDAW_BASS,X JMP.40 .25LDAH_BASS,X JMP.40.30LDANOTETAB,X(.40STANOTE+12JSRFRQMOD<*F*}*HUELLKURVEP*ZHUELL1JSRHUELLHUELLdLDYHKUCNT4nLDA($E0),Y xCMP#$FF BNE.1 LDA#0STAPLAYON*}STAHKUCNT4STAARPCNT1STAFMODCNT1STA$D201STA$D200RTS .1PHALDASNDKANALASL*}TAXPLAPHA AND#$F0 "CMP#$D0 ,BNE.506PLA @AND#$0F JORA#$C0TPHA ^.50PLAhSTA$D201,*}XAUDC1rLDANOTE+1|STA$D200,XAUDF1INCHKUCNT4*RTS-ARPEGGIOLDY#103ARPPNT LDA#$FFC*}MP($E0),Y BNE.1RTS .1INYCMP($E0),Y BNE.20RTS.20LDY#86LDA($E0),Y CMP#$80 &B* }NE.20RTS:;D.2LDY#103NLDAHKUCNT4XCMP($E0),Y bBCS.3lRTS v.3INYCMP($E0),Y BCC.4* }RTS*.4LDAARPCNT1CLCADC#86ARPANFTAYLDA($E0),Y CMP#$80 BNE.5 LDA#0STAARP* }CNT1 JMP.4 .5CLCADCNOTE+1 STANOTE+1*INCARPCNT14*>RTSH-RFRQMODLDY#84FMOD \LDA#$FF* }fCMP($E0),Y pBNE.1zRTS .1INYCMP($E0),Y BNE.20RTS.20LDY#67LDA($E0),Y CMP#$80* } BNE.2RTS;.2LDY#84LDAHKUCNT4CMP($E0),Y  BCS.3 RTS  .3INY$ CMP($E0),Y . BCC.*}48 RTSB *L .4LDAFMODCNT1V CLC` ADC#67ARPANFj TAYt LDA($E0),Y ~ CMP#$80 BNE.5 LDA#0 S*}TAFMODCNT1 JMP.4 .5CLC ADCNOTE+1 STANOTE+1 INCFMODCNT1 * RTS - HUELLLDY#65HKU LD*}A#$FF CMP($E0),Y  BNE.1 RTS ( .1INY2 CMP($E0),Y < BNE.2F RTSP *Z .2LDA$D20F d AND#$04 n *}BNE.5x LDAHKUCNT4 CMP($E0),Y BNE.5 DEY LDA($E0),Y STAHKUCNT4 .5RTS - OKTCOPLDAOKTAVE*} CLC ADC#$11 STAWINDOW2+119 RTS ACCOPLDACOPYNR JSRHEXASC LDAATASC STAWINDOW2+158" LD*}AATASC+1, STAWINDOW2+1596 RTS@ *J OKTJSROKTCOP T LDA#2 ^ STA$2C8h LDAWINDOW2+119 r ORA#$80| STA*}WINDOW2+119 .1JSRKEYUP1 CPX#20ESC BNE.99 JSROKTCOP JMPSNDJMP .99DEX CPX#6 BCS.1 *}TXA STAOKTAVE JSROKTCOP ; * JMPSNDJMP - CLRTXT.AT""& .AT"ٯΩ"0 *: SNDCLRLDX#0*} D LDY#0 N LDA#$32 X STA$2C8 b .1LDA#0l STAWINDOW2+274,Yv LDACLRTXT,X STAWINDOW2+314,Y INX I*}NY CPY#6 BNE.1 LDY#0 .2LDACLRTXT,X STAWINDOW2+354,Y INX INY CPY#6 BNE.2 ; .3*}LDA$2FC CMP#$FF  BEQ.3 CMP#$2BY * BEQ.44 .10LDX#0 > LDA#0H .11STAWINDOW2+314,XR STAWINDOW2*}+354,X\ INX f CPX#6 p BNE.11 z LDA#0 STA$2C8 LDA#$FF STA$2FC JMPSNDJMP * .4LDASNDNR*} ASL TAX LDASOUNDWO,X STA$D0 LDASOUNDWO+1,X STA$D1 LDY#0TYA.5STA($D0),YINY $*}CPY#106 .BNE.58; BLDY#64 LLDA#$FFVSTA($D0),Y`INYjSTA($D0),YtINY~STA($D0),Y LDY#8*}3 LDA#$80STA($D0),Y LDA#$FFINYSTA($D0),YINYSTA($D0),Y LDY#102 LDA#$80STA*}($D0),Y LDA#$FFINY STA($D0),YINYSTA($D0),Y(* 2JMP.10<-FCLRTXT1.AT""P.AT"*}̠"Z.AT"ٯΩ"d*nINITHKULDX#0 xLDY#0 LDA#$32 STA$2C8.1LDACLRTXT1,XSTAWINDOW2+274,*}YINXINY CPY#6 BNE.1 LDY#0.2LDACLRTXT1,XSTAWINDOW2+314,YINXINY CPY#6 B* }NE.2 LDY#0".22LDACLRTXT1,X,STAWINDOW2+354,Y6INX@INY JCPY#6 TBNE.22^;h.3LDA$2FC rCM*!}P#$FF |BEQ.3CMP#$2BY BEQ.4.10LDX#0 LDA#0.11STAWINDOW2+274,XSTAWINDOW2+314,XSTAW*"}INDOW2+354,XINX CPX#6 BNE.11 LDA#0 STA$2C8 LDA#$FF STA$2FCJMPSNDJMP*&.4JSRI*#}NITSND0* :JMP.10D-NSNDINDECSOUNDNRXLDASOUNDNR bBNE.1lINCSOUNDNRv.1JSRSNDCOPJMPKEYTRK*$}-SNDIN1INCSOUNDNRLDASOUNDNR CMP#$30 BNE.1DECSOUNDNR.1JSRSNDCOPJMPKEYTRK-YTRK(xERy .LIOFF-;SAVD8;MONITOR.INC(-2ADR.HX0098<ADR1.HX0000FMONCNT1.HX00PMONCNT2.HX00ZMO.&}NCNT3.HX00dMONPNT3.HX00nXCNT.HX00xPNT2.HX00RETY.HX00;-*MONITORJSRLOESCH1JSRLOE.'}SCH2 LDA#$60STA$D40EJSRPLAYERLDA#$A3CSTAWINDOW1+84LDA#$AENSTAWINDOW1+85LDA#$.(}B4TSTAWINDOW1+86 LDA#$80"STAWINDOW1+87,*6.40LDA#MONXPOS @STA$D8JLDA/MONXPOS TSTA$D9^.)}LDA#MONYPOS hSTA$D6rLDA/MONYPOS |STA$D7 LDA#0 STAXOLD STAXNEW LDASTEPCLCADCYRET.*}TETAYLDA#MONIANF STAADRLDA/MONIANFSTAADR+1LDAMONHI,Y CMP#8 BCC.80 LDA#7..+}80STAYOLD &STAYNEW0JSRMONCOP1:JSRCURSOR1D*NJMPKEYMONX- bMONXPOS.HX07080A0B0D0E1011l.HX131.,}41617191A1C1DvMONYPOS.DAWINDOW1+160.DAWINDOW1+200.DAWINDOW1+240.DAWINDOW1+280.DAWINDOW1+320.-}.DAWINDOW1+360.DAWINDOW1+400.DAWINDOW1+440.DAWINDOW1+480.DAWINDOW1+520.DAWINDOW1+560.DAW..}INDOW1+600.DAWINDOW1+640.DAWINDOW1+680.DAWINDOW1+720 .DAWINDOW1+760.DAWINDOW1+800 .DAWINDOW./}1+840*.DAWINDOW1+8804.DAWINDOW1+920>*HMONCOP1LDA#WINDOW1+161 RSTA$D0\LDA/WINDOW1+161 fSTA$D1 .0}pLDAADR zSTAADR1LDAADR+1STAADR1+1; LDA#0STAMONCNT1 .1LDY#3LDAMONCNT1ZAEHLER.1}JSRHEXASCLDAATASCSTA($D0),YINYLDAATASC+1STA($D0),YINY LDA#$1ASTA($D0),Y$JS.2}RMONCOP2.; 8LDAADR1BCLC LADC#8 VSTAADR1 `BCC.2jINCADR1+1t.2LDA$D0~CLC ADC#40 S.3}TA$D0 BCC.3 INC$D1.3INCMONCNT1LDAMONCNT1 CMP#8 BNE.1*RTS-MONCOP2LDAADR1 .4}STA$D2 LDAADR1+1 STA$D3INY (STYXCNT 2LDA#0<STAMONCNT2F.1LDYMONCNT2PLDA($D2),YZJ.5}SRHEXASC dLDYXCNTnLDAATASCxSTA($D0),YINYLDAATASC+1STA($D0),YINYINY STYXCNT.6};INCMONCNT2LDAMONCNT2 CMP#8 BNE.1*RTS-KEYMONJSRKEYUP1CPX#17 "BNE.1,J.7}MPMONLEFT6.1CPX#16 @BNE.2JJMPMONRIGHTT.2CPX#18 ^BNE.3hJMPMONUPr.3CPX#19 |BNE.4.8}JMPMONDOWN.4CPX#16 BCS.5JMPMEMOUP1.5CPX#25RET BNE.7JMPMONRET.7CPX#20ESC BNE.9}.8 LDA#$E0 STA$2F4RTS.8JMPKEYMON- MONRET LDAADR&STA$D0LO0LDAADR+1:STA$D1HI.:}D; NLDAYNEW XASL*8bASLlASL vSTAPNT2LDAXNEWADR.LSRERMITTELNCLC ADCPNT2 STAPN.;}T2 LDA$D0CLC ADCPNT2 STA$D0 BCC.10 INC$D1*.10LDAXNEWLSR BNE.95 JMPQ2.<} .95CMP#1 *BNE.40 4LDX#0>.81LDA.80,XHSTAWINDOW2+3,XRINX \CPX#6 fBNE.81 pLDY#0zLDA($.=}D0),YJSRHEXASCLDAATASCSTAWINDOW2+10LDAATASC+1STAWINDOW2+11.94LDA#$FF STA$2FC.82.>}LDA$2FC CMP#$FF BEQ.82JSRLOESCH2JMPKEYMON.80.AT"SPEED:" ; .40CMP#2  BNE.41 $ LDX#.?}0. .91LDA.90,X8 STAWINDOW2+3,XB INX L CPX#8 V BNE.91 ` LDY#0j LDA($D0),Yt JSRHEXDEZ ~ LDADEZ.@} JSRHEXASC LDAATASC+1 STAWINDOW2+12 LDADEZ+1 JSRHEXASC LDAATASC+1 STAWINDOW2+13 LDADEZ+.A}2 JSRHEXASC LDAATASC+1 STAWINDOW2+14 JMP.94 .90.AT"DECIMAL:" .41LDA#$FF  STA$2FC JMPKE.B}YMON( * 2 Q2LDX#0< .1LDAMONTXT,XF STAWINDOW2+1,XP LDAMONTXT+32,XZ STAWINDOW2+41,Xd LDAMONTXT+64,Xn.C} STAWINDOW2+81,Xx LDAMONTXT+96,X STAWINDOW2+121,X LDAMONTXT+128,X STAWINDOW2+161,X LDAMONTXT+160,X.D} STAWINDOW2+201,X LDAMONTXT+192,X STAWINDOW2+241,X LDAMONTXT+224,X STAWINDOW2+281,X INX CPX#.E}32 BNE.1 ;  LDA#$FF  STA$2FC  LDA#0 " STARETY, X900JSRAUDC_PRI6 *@ .1LDA$2FC J CMP#$FF T.F} BEQ.1^ CMP#28ESC h BNE.2 r LDA#$FF | STA$2FC JSRLOESCH2 JMPKEYMON .2CMP#12RET BNE.3 .G}LDY#0 LDA($D0),Y LDXRETY EORMONAND,X STA($D0),Y LDA$D0 PHA LDA$D1 PHA JSRMONCOP1.H} JSRCURSOR1 PLA & STA$D10 PLA : STA$D0 D JMP.5N .3CMP#14 X BNE.4 b LDARETY l BEQ.1 v DE.I}CRETY JMP.5 .4CMP#15 BNE.1 LDARETY CMP#7 BEQ.1 INCRETY .5JSRAUDC_PRI LDA#$FF.J} STA$2FC JMP.1 - AUDC_PRILDA#WINDOW2+2  STA$D2 LDA/WINDOW2+2  STA$D3 LDY#0* LDA($D0),Y.K}4 STAMONPNT3 > LDA#0H STAMONCNT3R .20LDXMONCNT3\ LDAMONAND,Xf ANDMONPNT3 p BEQ.22 z LDX#1 JM.L}P.23 .22LDX#0 .23LDAMONTXT1,X STA($D2),Y LDAMONCNT3 CMPRETY BNE.30 LDA($D2),Y ORA#$8.M}0 STA($D2),Y .30LDA$D2 CLC ADC#40 STA$D2 BCC.21 INC$D3$.21INCMONCNT3.LDAMONCNT3 .N}8CMP#8 BBNE.20L*VRTS`-jMONTXT1.AT" "tMONAND.HX0102040810204080~-MONLEFTDECXNEW LDAX.O}NEW BPL.1 INCXNEW.1JSRCURSORJMPKEYMON*MONRIGHTINCXNEW LDAXNEW CMP#16 BNE.1 .P}DECXNEW.1JSRCURSOR JMPKEYMON*MONUPDECYNEW (LDAYNEW 2BPL.1 <INCYNEWF.1JSRMONCOP1PJ.Q}SRCURSOR1ZJMPKEYMONd*nMONDOWNINCYNEW xLDAYNEW CMP#8 BNE.1 DECYNEW.1JSRMONCOP1JSR.R}CURSOR1JMPKEYMON-MEMOUP1LDAADRSTA$D0LOLDAADR+1STA$D1HI; LDAYNEW ASL*8A.S}SLASL "STAPNT2,LDAXNEWADR.6LSRERMITTELN@CLC JADCPNT2 TSTAPNT2 ^LDA$D0hCLC rADCPNT.T}2 |STA$D0 BCC.10 INC$D1;.10LDAXNEW AND#1 BNE.1* LDY#0LDA($D0),Y AND#$0F.U}STA($D0),YTXAASLASLASLASL&ORA($D0),Y0STA($D0),Y :JMP.11D* N.1LDY#0XLD.V}A($D0),Y bAND#$F0lSTA($D0),YvTXAORA($D0),YSTA($D0),Y.11JSRMONCOP1 INCXNEW LDAXNEW .W}CMP#16 BNE.2 DECXNEW.2JSRCURSOR1JMPKEYMON-HEXDEZLDX#0 .1INXSEC SBC#100 .X}BCS.1 CLC *ADC#1004DEX >STXDEZ HLDX#0 R.2INX\SEC fSBC#10 pBCS.2zCLC ADC#10D.Y}EXSTXDEZ+1STADEZ+2*RTS*DEZ.HX000000-SEC fSBC#10 pBCS.2zCLC ADC#10D,HERNg .LIOFF-;SAVD8;SNGPLAY.INC(-2HKUCNT.HX00000000<ARPCNT.HX00000000FFMODCNT.HX00000000PF2[}RQOLD.HX00000000ZFRQNEW.HX00000000dFRQRETT.HX00000000nAUDCOLD.HX00000000xAUDCNEW.HX00000000SNDON.H2\}X00000000SOUNDON.HX00000000SNDOLD.HX00000000SNDNEW.HX00000000PORTPNT.HX00000000PORTCNT.HX000002]}000PORTCNT1.HX00000000HILF99.HX00HILF98.HX00HILF97.HX00;PLAYREC.HX00TASTNEW.HX00T2^}RKREC.HX00VON.HX00BIS.HXFF"JMPCNT.HX00,NOLOOP.HX006STEPPLAY.HX00@PLAYBIS.HX00JPLAYLOOP.2_}HX00TTAKTPNT.HX00^TAKTCNT.HX00hSPEEDPNT.HX00rSPEEDCNT.HX00|PLAYALL.HX00TRKNR1.HX00AUDCTL12`}.HX00TRKLO.HX00000000TRKHI.HX00000000TR.HX00000000TRON.HX00000000ST.HX00000000RELEASE.HX2a}00000000STARTSNG.HX00-SNGUP2LDX#74 JSR.2 LDX#114 JSR.2 LDX#154 JMP.2&* 0.2LDY2b}#0:.1LDAWINDOW1,X DAND#$7FNSTAWINDOW1,XXINXbINY lCPY#3 vBNE.1RTS*SNGUP1LDX#74 2c}JSR.2 LDX#114 JSR.2 LDX#154 JMP.2* .2LDY#0.1LDAWINDOW1,X ORA#$80STAWINDOW1,2d}XINX INY CPY#3 BNE.1*RTS4*>SNGPLAYJSRSNGUP1HJSRSNGUP4RJSRSTEPCOP \LDA#$00 fST2e}A$2C8pLDXSNGNR zLDA#0 .2CLC ADC#3DEX BNE.2TAYLDASNGANF,YSTASTEPPLAYINY2f}LDASNGANF,YSTAPLAYBISINYLDASNGANF,YSTAPLAYLOOPJSRPLAYUP1 LDA#1STAPLAYALL $LDX#32g}..1STASOUNDON,X8DEX BBPL.1LRTSV*`PLAYSTEPJSRSNGUP2jJSRSNGUP4 tLDA#$00 ~STA$2C8 LDA2h}#0STAPLAYALL LDASTEPCLC ADCYNEWSTASTEPPLAYSTAPLAYLOOPSTAPLAYBISDECPLAYBISJS2i}RPLAYUP1 LDA#1STAPLAYALL* RTS-PLAYUP1LDA#3(STA$D20F2PUP1LDX#3 <.1LDA#0FSTAHK2j}UCNT,XPSTAPORTCNT,XZSTAARPCNT,XdSTAFMODCNT,XnSTAFRQOLD,XxSTAFRQNEW,XSTAAUDCOLD,XSTAAUDCN2k}EW,XSTASNDON,XSTASNDOLD,XSTASNDNEW,XDEX BPL.1;STATAKTCNTLDYSTEPPLAYLDAMONHI2l},YASLASLASLTAYLDAMONIANF,Y"STAAUDCTL1,INY6LDAMONIANF,Y@STASPEEDPNTJSTASPEED2m}CNTTDECSPEEDCNT^INYhLDAMONIANF,YrSTATAKTPNT|*RTS-SNGSTOPJSRSNGUP2JSRSNGUP4JSR2n}STEPCOP LDA#0STASTARTSNG STA$2C8STAPLAYALL LDX#7.1STA$D200,XDEX BPL.1 LDX#32o} .2LDA#1STASOUNDON,X &LDA#00STAAUDCNEW,X:DEX DBPL.2N*XJSRLEVELbRTSl-v;C,C#,D,D#2p},E,FNOTEN-;F#,G,G#,A,A#,BWERTE ;OKT.W_BASS.HXF2E6DAC6BFB61..HXADA1988F8980;.HX7A716B655F5C2q}2..HX56504D474441;.HX3E3835322F2D3..HX29282523211F*H_BASS.HX7F79737066611..HX5A55524B2r}4843; .HX3F3C393733302..HX2D2A28252421 ;*.HX1F1E1C1B19193.4.HX191919191919>;HNOTETAB.HX2s}F3E6D9CCC1B61.R.HXADA299908880\;f.HX79726C66605B2.p.HX55514C484440z;.HX3C3935322F2D3..HX22t}A282523211F;.HX1D1B1A1817164..HX15131211100F--PLAYLDA#3STA$D20F*INCSPEEDCNT2u}LDASPEEDCNTCMPSPEEDPNT  BEQ.2 JMPNOFRQ *$ ;ADRESSENUNDWERTEFUER!. ;TRANSPOSEUNDSND-TRANSPOSE2v}8 ;ERMITTELNB * L .2LDA#0V STASPEEDCNT` LDAAUDCTL1j STA$D208t ; ~ LDX#0 .1LDA#TRK1HI#$#$#$ S2w}TA$E0 LDA/TRK1HI#$#$#$ CLC ADCTRKADD,X#$#$#$ STA$E1 LDYSTEPPLAY LDA($E0),Y TAY LDATK2x}LO,Y STATRKLO,X LDATKHI,Y STATRKHI,X LDYSTEPPLAY  INC$E1 LDA($E0),Y( STATR,XTRANSPOSE 2 I2y}NC$E1< LDA($E0),YF STAST,XSND-"P ;Z INX d CPX#4 n BNE.1x * ;NOTEN-WERTEAUSTABELLEN ;ERMITTE2z}LN * GET_NOTELDX#0 .10LDATRKLO,X STA$E0 LDATRKHI,X STA$E1 LDATAKTCNT ASL TAY LDA2{}($E0),Y STAFRQNEW,X STAPORTPNT,X INY LDA($E0),Y" STASNDNEW,X , BEQ.96 6 AND#$0F@ PHAJ LDA2|}SNDOLD,X T AND#$0F^ STAHILF97h PLAr CMPHILF97 | BEQ.96 LDA#0 STAHKUCNT,X STAPORTCNT,X ST2}}APORTCNT1,X STAPORTPNT,X STAARPCNT,X STAFMODCNT,X STARELEASE,X .96INX CPX#4 BNE.10 * 2~} LDX#0 .11LDAFRQNEW,X  BEQ.12  AND#$F0 & BEQ.120 LDAFRQNEW,X: STAFRQOLD,XD LDASNDNEW,X N BEQ2}.12 X LDA#1b STASNDON,X l LDA#0v STAHKUCNT,X STAPORTCNT,X STAPORTCNT1,X STAPORTPNT,X STAARP2}CNT,X STAFMODCNT,X STARELEASE,X .12INX CPX#4 BNE.11 * LDX#0 .13LDAFRQOLD,X AND#$082} BNE.89TRON LDA#0TROFF STATRON,X LDAFRQOLD,X * AND#$F74 CLC > BCC.80H .89LDA#1R STATR2}ON,X\ LDAFRQOLD,X f AND#$F7 p .80SEC z SBC#$01 STAFRQNEW,X PHA AND#$0F BNE.21 LDA#0 S2}TAFRQNEW,X CLC BCC.20 .21TAY LDA#0 .14CLC ADC#12 DEY BNE.14STAFRQNEW,X .20PLA2}$LSR.LSR8LSRBLSRLCLCVADCFRQNEW,X`STAFRQNEW,XjDECFRQNEW,XtLDAFRQNEW,X~STAFRQRETT,X2}INX CPX#4 BNE.13*INCTAKTCNTLDATAKTCNTCMPTAKTPNTBCCNOFRQ LDA#0STATAKTCNT2}INCSTEPPLAYLDAPLAYBISCLC ADC#1CMPSTEPPLAY BNEJ45(LDAPLAYLOOP2STASTEPPLAY<J45LD2}YSTEPPLAYFLDAMONHI,Y#$#$#$#$PASLZASLdASLnTAYxLDAMONIANF,YSTAAUDCTL1INYLDAMONIANF2},YSTASPEEDPNTINYLDAMONIANF,YSTATAKTPNT**;HUELLKURVE*NOFRQLDX#0L999LDASOUN2}DON,X BNE.71INX CPX#4 "BNEL999,RTS6*@.71LDASNDON,X JBEQZ6TLDASNDNEW,X ^BNE.1 h2}LDA#1rSTARELEASE,X|LDASNDOLD,XSTASNDNEW,XCLC BCC.5.1LDASNDNEW,XSTASNDOLD,X.5LDAS2}NDNEW,XRELEASE AND#$0FCLC ADCST,XASLTAYLDASOUNDWO,Y#$#$#$ STA$E0LDASOUNDWO+1,Y#$2}#$#$ STA$E1 LDY#65 &LDA#$FF0CMP($E0),Y :BNE.10 DBEQZ98 N.10INYXCMP($E0),Y bBNEZ20 l2}JMPZ98v*Z20LDARELEASE,X BNEZ98LDAHKUCNT,XCMP($E0),Y BNEZ98DEYLDA($E0),YSTAHK2}UCNT,XZ98LDYHKUCNT,XLDA($E0),Y CMP#$FF BNEZ3 Z6LDA#0STASNDON,X STAHKUCNT,XSTAPORT2}CNT,X STAPORTCNT1,X*STAPORTPNT,X4STAARPCNT,X>STAFMODCNT,XHSTASNDON,XRSTARELEASE,X\TXAfA2}SLpTAY zLDA#0STA$D201,Y JMPA46Z3STAAUDCNEW,XLDASNDNEW,X AND#$F0 BNE.1 LDA#$2}F0.1STAHILF98LDAAUDCNEW,X AND#$0FCLCADCHILF98TAYLDALAUT_TAB,YSTAHILF98$LDAA2}UDCNEW,X .AND#$F08ORAHILF98BSTAAUDCNEW,XL*V*ARPEGGIOS`* jLDY#103 tLDA#$FF~CMP($E0),Y 2}BNEA1A10LDAFRQRETT,XSTAFRQNEW,X JMPA99* A1INYCMP($E0),Y BNEA20 BEQA10A20LDY#2}86LDA($E0),Y CMP#$80 BNEA2 BEQA10;A2LDY#103(LDAHKUCNT,X2CMP($E0),Y <BCSA3 FBC2}CA10 PA3INYZCMP($E0),Y dBCCA4 nBCSA10x*A4LDAARPCNT,XCLC ADC#86TAYLDA($E0),Y 2}CMP#$80 BNEA5 LDA#0STAARPCNT,X JMPA4 A5CLCADCFRQRETT,XSTAFRQNEW,XINCARPCNT,X2}*A99LDATRON,XTRANSPOSE "BNE.95,LDAFRQNEW,X6CLC @ADCTR,XJSTAFRQNEW,XT.95LDYFRQNEW,XNEIN!!2}^LDAAUDCNEW,X hAND#$F0 rCMP#$C0 |BEQ.1 CMP#$D0 BNE.4LDAAUDCNEW,X AND#$0F ORA#$C02}STAAUDCNEW,XLDAW_BASS,Y JMP.5.1LDAH_BASS,Y JMP.5.4LDANOTETAB,Y.5STAFRQNEW,X**F2}REQUENZ-MODULATION* LDY#84 &LDA#$FF0CMP($E0),Y :BNEF1 DJMPZ001 NF1INYXCMP($E0),Y bBNEF22}0 lJMPZ001vF20LDY#67LDA($E0),Y CMP#$80 BNEF2 JMPZ001;F2LDY#84LDAHKUCNT,XCM2}P($E0),Y BCSF3 JMPZ001 F3INYCMP($E0),Y BCCF4 JMPZ001 *F4LDAFMODCNT,X CLC *ADC2}#674TAY>LDA($E0),Y HCMP#$80 RBNEF5 \LDA#0fSTAFMODCNT,XpCLC zBCCF4; F5CLCADCFR2}QNEW,XSTAFRQNEW,XINCFMODCNT,X**PORTAMENTO*Z001LDY#105LDA($E0),YPHALSRLSR2}LSRLSRSTAHILF99$INCHILF99.INCPORTCNT1,X8LDAPORTCNT1,XBCMPHILF99 LBEQP1VPLA `JMP2}P99 jP1PLA tAND#$0F~STAHILF99 LDA#0STAPORTCNT1,X;LDAPORTPNT,X CMP#1 BEQP2 CMP2}#2 BEQP20 JMPP99*P2LDAPORTCNT,XCLCADCHILF99 STAPORTCNT,X;P99LDAPORTCNT,X(C2}LC2ADCFRQNEW,X<STAFRQNEW,XFCLC PBCCZ002Z*dP20LDAPORTCNT,XnSECxSBCHILF99STAPORTCNT,X2}; JMPP99** Z002TXAASLTAYLDAAUDCNEW,XSTA$D201,YLDAFRQNEW,XSTA$D200,Y2};A46INCHKUCNT,XINX CPX#4 "BEQ.1 ,JMPL9996* @.1RTSJ- TLAUT_TAB^.1.HX00000000000000002}h.HX0000000000000000r.2.HX0000000000000000|.HX0101010101010101.3.HX0000000000010101.HX010102020202022}02.4.HX0000000001010101.HX0202020203030303.5.HX0000000101010202.HX0202030303040404.6.HX000001012}01020202.HX0303030404040505.7.HX0000010101020203.HX0303040405050606.8.HX0000010102020303.HX04042}050506060707.9.HX0001010202030304.HX0405060607070808.10.HX0001010203030404.HX0506060708080909&.112}.HX00010202030404050.HX0606070808090A0A:.12.HX0001020303040506D.HX06070809090A0B0BN.13.HX0001020304040502}6X.HX070808090A0B0C0Cb.14.HX0001020303040506l.HX0708090A0A0B0C0Dv.15.HX0001020304050607.HX0708090A02}B0C0D0E.16.HX0001020304050607.HX08090A0B0C0D0E0F-SNGUP4LDX#77 JSR.2 LDX#117 JSR.2 LD2}X#157 JMP.2* .2LDY#0.1LDAWINDOW1,X AND#$7F STAWINDOW1,XINX INY *CPY#3 4BNE.12}>RTSH*RSNGUP3LDX#77 \JSR.2 fLDX#117 pJSR.2 zLDX#157 JMP.2* .2LDY#0.1LDAWINDOW12},X ORA#$80STAWINDOW1,XINXINY CPY#3 BNE.1RTS*SNGTESTJSRSNGUP3JSRSNGUP2 2}LDA#$00 STA$2C8 $LDAVON.STASTEPPLAY8STAPLAYLOOP BLDABISLSTAPLAYBISVJSRPLAYUP1`LDXTRKN2}R jLDA#0tSTASOUNDON,X~TXASTASNDKANALASLTAX LDA#0STA$D201,X LDA#1STATASTON2}STANOLOOPSTAPLAYALLLDASOUNDNRSTASNDNR.1LDA$D209 CMP#$3E BNE.1 LDA#0STATASTO2}N(JSRSNGSTOP2JMPKEYTRK<-F-PSNGLOOPJSRSNGUP4ZJSRSNGUP2dLDAPLAYREC nBEQ.88xJMPSNGREC12}.88LDA#$00 STA$2C8JSRRECUP1 LDA#1STASTARTSNG LDA#0STANOLOOP LDAVONSTASTEPPLAY2}STAPLAYLOOP LDABISSTAPLAYBIS JSRPUP1 LDA#1STAPLAYALLLOOPUPLDA$D01F "AND#1,BEQ2}LOOPUP6RTS@-JRECUP1LDX#0T.1LDAWINDOW2+274,X ^ORA#$80hSTAWINDOW2+274,XrLDAWINDOW2+314,X |ORA2}#$80STAWINDOW2+314,XINX CPX#6 BNE.1RTS*SNGREC1JSRRECUP1; LDA#$32 STA$2C82}JSRPLAYUP1 LDA#0 STAPNT1 STANOLOOP  LDAVON STASTEPPLAY& LDA#TRK1HI 0 STA$F0: LDA/TRK1H2}ID LDXTRKNRN CLCX ADCTRKADD,X b STA$F1 l LDA#1v STATRKREC STAPLAYALL .10LDA$D209 CMP#$3E2} BNE.10 LDA#0 STATRKREC LDA#0 STAPLAYREC JSRSTEPCOP * RTS - VBIREC!.5LDA$2FC2} !CMP#$1CESC !BNE.40 !RTS*!.40CMP#33SPACE 4!BEQ.10 >!CMP#64 H!BCC.3R!.30JMP.5\!.3LDX$2FCf!2}LDAKEYTAB1,X p!BEQ.30z!STXTASTNEW!CLC!ADCOKTAVE !STANOTE!JSRGETADR !LDANOTE !LDY#0!STA2}($D0),Y!INY!LDASOUNDNR!STA($D0),Y!.10LDA#$FF !STA$2FC!JSRDOWN_Q"LDAQUANT "CMP#1 "BEQ2}.5$"JSRDOWN_Q."LDAQUANT 8"CMP#2 B"BEQ.5L"JSRDOWN_QV"LDAQUANT `"CMP#3 j"BEQ.5t"JSRDOWN_Q~"L2}DAQUANT "CMP#4 "BEQ.5"JSRDOWN_Q"LDAQUANT "CMP#5 "BEQ.5"JSRDOWN_Q"LDAQUANT "CMP#6 "2}BEQ.5"JSRDOWN_Q"LDAQUANT #CMP#7 #BEQ.5#JSRDOWN_Q #JMP.5(#-2#RECTXT.AT"RECORD"<#;F#*SNG2}RECLDASOUNDNR P#BNE.10Z#RTSd#*n#.10LDX#0x#.1LDARECTXT,X#STAWINDOW2+274,X#INX #CPX#6 #BNE.12}#; #LDA#1#STAPLAYREC#*#RTS#-#DOWN_QINCYNEW #LDAYNEW#CMPNOTPNT1 $BNE.2 $DECYNEW2}$LDANOTCNT"$CLC ,$ADCYNEW 6$ADC#1@$CMPNOTPNT2 J$BEQ.2T$INCNOTCNT^$.2JSRNOTECOPh$JSRCURSOR1r$2}JSRPMCURSOR|$RTS$-$GETADRLDA#TRK1HIADR.$STA$D0ER-$LDA/TRK1HIMITTELN $STA$D1 $LDXXNEW$LDA2}KEYXDAT4,X$CLC $ADC$D1 $STA$D1 $LDASTEP$CLC$ADCYRETTE%TAY%LDA($D0),Y%TAY&%LDATKLO,2}Y 0%STA$D0:%LDATKHI,Y D%STA$D1N%LDANOTCNTX%CLC b%ADCYNEWl%ASL v%ADC$D0 %STA$D0 %BCC.2 %I2}NC$D1%* %.2RTS%-Y D%STA$D1N%LDANOTCNTX%CLC b%ADCYNEWl%ASL v%ADC$D0 %STA$D0 %BCC.2 %I0ER .LIOFF-;SAVD8;SNGMEN.INC(-2STEPSNG.HX00<SNGCNT1.HX00FSNGXPOS.HX08090B0C0E0FPSNGYPOS6}.DAWINDOW2+80Z.DAWINDOW2+120d.DAWINDOW2+160n.DAWINDOW2+200x.DAWINDOW2+240.DAWINDOW2+280.DAWI6}NDOW2+320*SNGMENJSRLOESCH2 LDA#0STASTEPSNGJSRSNGCOPLDA#SNGXPOS STA$D8LDA/SNGXPOS6} STA$D9LDA#SNGYPOS STA$D6LDA/SNGYPOS STA$D7 LDAXNEW"STAXRETTE ,LDAYNEW6STAYRETTE6} @LDA#0 JSTAXNEW TSTAYNEW^JSRCURSOR1h-rKEYSNGJSRKEYUP1|CPX#16 BNEJ101SNGRIGHTINCXN6}EW LDAXNEW CMP#6 BNEJ102 DECXNEWJ102JSRCURSORJMPKEYSNGJ101CPX#17 BNE.3 DECX6}NEW LDAXNEW BPL.4 INCXNEW.4JSRCURSORJMPKEYSNG&.3CPX#18 0BNE.6 :DECYNEW DLDAYNEW6} NBPL.5 XINCYNEWbDECSTEPSNGlLDASTEPSNG vBPL.5INCSTEPSNG.5JSRSNGCOPJSRCURSOR1JMP6}KEYSNG.6CPX#19 BNE.8 INCYNEW LDAYNEW CMP#7 BNE.7 DECYNEWINCSTEPSNGLDASTEPSN6}G CMP#$1A BNE.7DECSTEPSNG .7JSRSNGCOP*JSRCURSOR14JMPKEYSNG>.8CPX#20ESC HBNE.99RJ6}MPTRACKS1\.99CPX#16ZAHL fBCC.98pJMPKEYSNGz*.98LDASTEPSNGCLC ADCYNEWTAY LDA#0 6}.10CLC ADC#3DEY BNE.10STASNGCNT1 LDAXNEWLSRCLCADCSNGCNT1TAY LDAXNEW $6}AND#1.BEQ.20GERADE8LDASNGANF,Y BAND#$F0LSTASNGANF,YVTXA`.19ORASNGANF,YjSTASNGANF,YtJSR6}SNGCOP~JSRCURSOR1JMPSNGRIGHT.20LDASNGANF,Y AND#$0FSTASNGANF,YTXAASLASLASL6}ASL JMP.19-SNGCOPLDA#0STASNGCNT1 LDA#WINDOW2+80 STA$D0LDA/WINDOW2+80 (STA$D12.16}LDASTEPSNG<CLCFADCSNGCNT1PJSRHEXASC ZLDY#4dLDAATASCnSTA($D0),YxINYLDAATASC+1STA6}($D0),YINYLDA#$1A:STA($D0),Y;LDASTEPSNGCLCADCSNGCNT1TAX LDA#0 .10CLC 6}ADC#3DEX BNE.10TAX"LDASNGANF+2,X,PHA6LDASNGANF+1,X@PHAJLDASNGANF,XTJSRHEXASC ^6}LDY#8hLDAATASCrSTA($D0),Y|INYLDAATASC+1STA($D0),YPLAJSRHEXASC LDY#11LDAATAS6}CSTA($D0),YINYLDAATASC+1STA($D0),YPLAJSRHEXASC LDY#14LDAATASCSTA($D0),Y6}INY&LDAATASC+10STA($D0),Y:* DLDA$D0NCLC XADC#40 bSTA$D0 lBCC.2 vINC$D1.2INCSNGCN6}T1LDASNGCNT1 CMP#7 BNE.1*RTS-CLC XADC#40 bSTA$D0 lBCC.2 vINC$D1.2INCSNGCN4;ERF .LIOFF-;SAVD8:FORMAT.INC(-2BOOTDAT.DFD8:BOOT.001<-FBOOTUPLDADISKNR PCMP#1 ZBEQ.1:}dRTSn.1LDA#BOOTDATxSTAF100+1LDA/BOOTDATSTAF200+1 LDA#1STAF300+1 JSRFUP1 JSRFUP1:} JSRFUP1*RTS-FUP1LDA#49 STA$300 LDA#1 STA$301 LDA#$57 STA$302 "LDA#$80 :},STA$3036F100LDA#BOOTDAT @STA$304JF200LDA/BOOTDAT TSTA$305 ^LDA#$07 hSTA$306 rLDA#$80 |ST:}A$308 LDA#$00 STA$309F300LDA#1 STA$30A LDA#0 STA$30B*JSR$E450JSR$E453*:}LDAF100+1CLC ADC#$80STAF100+1 BCC.1INCF200+1&.1INCF300+10*:RTSD-R$E453*8nER9q .LIOFF-;SAVD8;NOTEN.INC(-2NOTPNT2.HX00<NOTCNT.HX00FNOTCNT4.HX00PQUANT.HX00ZOKTG>}ND.HX01d- nNOTECOP xLDA#0STANOTCNT2* .1LDY#0LDATRACK1,Y STA$D2LDATRACK1+1,YLD>}YNOTCNT2CLCADCTRKADD,Y STA$D3 LDASTEPCLCADCYRETTETAYLDA($D2),YTAY"LDATK>}LO,Y,STANOTADR6LDATKHI,Y@STANOTADR+1 JLDASTEPTCLC^ADCYRETTEhTAYrLDAMONHI,Y|ASLA>}SLASLTAYINYINYLDAMONIANF,Y BEQ.30STANOTPNT2 CMP#19 BCC.20 LDA#18.20S>}TANOTPNT1*JSRNOTECOP1 JMP.10*&.30LDA#00STANOTPNT1:.10INCNOTCNT2DLDANOTCNT2 NCMP#4>} XBNE.1bRTSl-vNOTECOP1LDA#WINDOW1+160 STA$D2LDA/WINDOW1+160 STA$D3LDANOTADR STA$D0>}LDANOTADR+1 STA$D1 LDA#0STANOTCNT1LDANOTCNTASLSTANOTCNT4.2LDANOTCNT CLC>}ADCNOTCNT1 JSRHEXDEZ*LDADEZ+14JSRHEXASC >LDY#1HLDAATASC+1RSTA($D2),Y\LDADEZ+2fJSR>}HEXASC pLDY#2zLDAATASC+1STA($D2),YINYINYINY*JSRNOTECOP2* LDA$D0CLC >}ADC#2 STA$D0 BCC.3 INC$D1.3LDA$D2CLC ADC#40 $STA$D2 .BCC.1 8INC$D3B.1LINC>}NOTCNT1VLDANOTCNT1 `CMP#18 jBEQ.10tCMPNOTPNT1 ~BNE.2* .10RTS-NOTESCR.AT"__" .AT">}C_" .AT"C#" .AT"D_" .AT"D#" .AT"E_" .AT"F_" .AT"F#" .AT"G_" .AT"G#" .AT"A_" >}.AT"A#" .AT"B_"(*2OKTSCR.AT"_1234567" <NOTXPOS.HX0607080A0B0D0E0FF.HX11121415161819P.HX1B1C1D1F20>}ZNOTXPOS1.HX060D141BdNOTYPOS1.DAWINDOW2+40n.DAWINDOW2+80x.DAWINDOW2+120.DAWINDOW2+160.DAWINDO>}W2+200.DAWINDOW2+240.DAWINDOW2+280.DAWINDOW2+320* NOTECOP2 LDA#0STANOTCNT3;LDXN>}OTCNT2LDYNOTXPOS1,XSTYNOTCNT3LDYNOTCNT4LDA($D0),YAUSMEMO CMP#1 "BNE.10 ,JMPPLUS6.10>}CMP#2 @BNE.11JJMPMINUS T.11PHA ^AND#$F0hLSRrLSR|LSRTAXLDYNOTCNT3LDANOTESCR,X>}STA($D2),YINSCRINYLDANOTESCR+1,XSTA($D2),YINYPLAPHA AND#$07TAXLDAOKTSCR>},XSTA($D2),YPLA AND#$08&BEQWEITER0LDYNOTCNT3:LDA($D2),Y DORA#$80NSTA($D2),YXINY>}bLDA($D2),Y lORA#$80vSTA($D2),YINYLDA($D2),Y ORA#$80STA($D2),Y*WEITERLDYNOTCNT4>}INYLDA($D0),YJSRHEXASCLDXNOTCNT2LDYNOTXPOS1,XINYINYINY INYLDAATASC ST>}A($D2),Y*INY4LDAATASC+1>STA($D2),YHLDANOTCNT2 RCMP#3 \BEQ.4fINY pLDA#$7CzSTA($D2),Y>}* .4RTS-PLUSLDA#$0B+++LDYNOTCNT3STA($D2),YINYSTA($D2),YINYSTA($D2),Y*>}JMPWEITERMINUSLDA#$0D--- JMPPLUS+2 - *$ NOTENINJSRLOESCH3 . LDX#318 .10LDANOTLINE,XB ST>}AWINDOW1+121,XL DEX V BPL.10 ` LDX#5j .11LDAQ_TXT,Xt STAWINDOW1+41,X~ DEX BPL.11 LDAQUANT >}JSRHEXASC LDAATASC+1 STAWINDOW1+48 LDA#0 STANOTCNT LDAYNEW STAYRETTE JSRNOTECOP LDAN>}OTPNT1 BNE.99 JMPKEYTRK * .90.HX00050A0F .99LDAXNEW( STAXRETTE 2 LDAYNEW< STAYRETTE F LDA>}#0 P STAYNEWZ LDXTRKNRd LDA.90,X n STAXNEW x STAXOLD STAYOLD LDA#NOTXPOS STA$D8 LDA/NOT?}XPOS STA$D9 LDA#MONYPOS STA$D6 LDA/MONYPOS STA$D7 JSRCURSOR1 JSRPMCURSOR * *TASTATU?}R-ABFRAGERET * KEYNOTESLDA$D01F  AND#1 " BNE.33, JSRSNGLOOP6 .33LDA$2FC @ CMP#$FFJ BEQKEY?}NOTEST CMP#$06 ^ BNE.11h JMPNOTLEFTr .11CMP#$07 | BNE.12 JMPNOTRIGHT .12CMP#$0E BNE.13?} JMPNOTUP .13CMP#$0F BNE.14 JMPNOTDOWN .14CMP#$1CESC BNE.15 LDXXNEW LDAY90,X S?}TATRKNR LDA#$FF  STA$2FC JMPTRACKS1 .15CMP#$0CRET & BNE.18 0 LDXXNEW: LDYY90,XD LDA.90,Y ?}N STAXNEWX JMPNOTDOWNb .90.HX00050A0Fl .98.HX0303030505v .HX0808080A0A .HX0D0D0D0F0F .HX121212000?}0 .18CMP#$2CTAB BNE.37 LDXXNEW LDA.98,X STAXNEW BNE.25 JMPNOTDOWN .25JSRCURSOR J?}MPKEYEND .37CMP#$F6SH-CTRL-< BNEY38  LDXXNEW LDAY90,X STATRKNR JMPTRKCLR* Y90.HX0000000000?}4 .HX0101010101> .HX0202020202H .HX0303030303R Y38CMP#$2FQ \ BNE.39 f LDA#$FF p STA$2FCz JSRVBI? }REC JMPKEYEND .39CMP#$08O BNE.40 JMPOKT1 .40CMP#10P BNEY45 JSRSNGPLAY JMPKEYEND ? }Y45CMP#62 BNE.46 JSRSNGSTOP JMPKEYEND .46CMP#118SH-< BNE.47 LDA#0 STAYNEW$STANOTCN? }T .LDXXNEW8LDAY90,XBTAXLLDA.90,X VSTAXNEW`JSRNOTECOPjJSRCURSOR1tJSRPMCURSOR~JMPKEYE? }ND.90.HX00050A0F.47CMP#159CTRL-1 BNE.48 LDA#1JMPQ_PRI.48CMP#158CTRL-2 BNE.49 LDA? }#2JMPQ_PRI.49CMP#154CTRL-3 BNE.50 LDA#3JMPQ_PRI .50CMP#152CTRL-4 BNE.51 LDA#4?}(JMPQ_PRI2.51CMP#157CTRL-5 <BNE.52 FLDA#5PJMPQ_PRIZ.52CMP#155CTRL-6 dBNE.53 nLDA#6xJM?}PQ_PRI.53CMP#179CTRL-7 BNE.54 LDA#7JMPQ_PRI.54CMP#181CTRL-8 BNE.55 LDA#8JMPQ_P?}RI.55 .99PHAJMPKEYNEXT-Q_PRISTAQUANTJSRHEXASCLDAATASC+1STAWINDOW1+48"*,JMPK?}EYEND6-@NOTLEFTDECXNEW JLDAXNEW TBPL.1 ^INCXNEWh.1JSRNOTECOPrJSRCURSOR1|JMPKEYEND*?}NOTRIGHTINCXNEW LDAXNEW CMP#20 BNE.1 DECXNEW.1JSRNOTECOPJSRCURSOR1JMPKEYEND*N?}OTUPDECYNEW LDAYNEW BMI.1 JMP.2.1INCYNEWLDANOTCNT &BEQ.20DECNOTCNT:.2JSRNOTECOPD?}JSRCURSOR1NJSRPMCURSORXKEYENDLDA$14b.1CMP$14 l;BEQ.1 vLDA#$FF STA$2FCJMPKEYNOTES*?}NOTDOWNINCYNEW LDAYNEWCMPNOTPNT1 BNE.2 DECYNEWLDANOTCNTCLC ADCYNEW ADC#1CMP?}NOTPNT2 BEQ.2 INCNOTCNT.2JSRNOTECOP JSRCURSOR1*JSRPMCURSOR4JMPKEYEND>-HKEYXDAT1.HX000?}0000101R.HX0202020303\.HX0404040505f.HX0606060707pKEYXDAT2.HX0000010001z.HX0000010001.HX000001?}0001.HX0000010001KEYXDAT3.HX0102030000.HX0102030000.HX0102030000.HX0102030000KEYXDAT4.HX0?}000000000.HX0303030303.HX0606060606.HX0909090909*NKEYNEXTLDA#TRK1HIADR.STA$D0ER-?}LDA/TRK1HIMITTELN STA$D1 $LDXXNEW.LDAKEYXDAT4,X8CLC BADC$D1 LSTA$D1 VLDASTEP`CLCjADC?}YRETTEtTAY~LDA($D0),YTAYLDATKLO,Y STA$D0LDATKHI,Y STA$D1LDANOTCNTCLC ADCY?}NEWASL ADC$D0 STA$D0 BCC.2 INC$D1 *.2LDAKEYXDAT1,X AND#$01 (BEQ.3 2INC$D0 <?}LDA$D0 FBNE.4 PINC$D1Z.4JMPSNDWERTd.3JMPNOTENn-xTAST3.HX321F1E1A0123.HX181D1B334567.H?}X35303F1589AB.HX123A2A38CDEF*SNDWERTPLA LDX#0.2CMPTAST3,X BEQ.5INX CPX#16 BNE?}.2JMPKEYEND.5LDYXNEWLDAKEYXDAT2,Y BNE.10*"LDY#0LINKS,LDA($D0),Y 6AND#$0F@STA(? }$D0),YJTXATASL^ASLhASLrASL|.9ORA($D0),YSTA($D0),YSTASOUNDNRJSRSNDCOPJSRNOTEC?!}OPJSRCURSOR1JMPNOTRIGHTRIGHT*.10LDY#0RECHTSLDA($D0),Y AND#$F0STA($D0),YTXA?"}ORA($D0),YSTA($D0),YSTASOUNDNRJSRSNDCOP&JSRNOTECOP0JSRCURSOR1:JMPNOTDOWNRIGHTD-NNOTA?#}ND.HX0F0F0F0F0F0F0FX.HX0F0F0F0F0Fb.HXFF0000F700lNOTADC.HX1030506080A0C0v.HX20407090B0.HX100102080?$}0NOTBRA.HXFFFFFFFFFFFFFF.HXFFFFFFFFFF.HXD00203FF01TAST4.HX123A2A383DCDEFG.HX3F15AB.HX52?%}7A787D7FCDFGA.HX5A464E2734InDe#+-;*NOTENLDYXNEWLDAKEYXDAT3,Y BNE.1JMPKEYEND .1CMP?&}#1 BNE.2 JMPNOTE10 *.2CMP#2 4BNE.3>JMPNUMBER H.3CMP#3 RBNE.4\JMPOKTAVE1f.4JMPKEYEND?'}p*zNOTE10PLA LDX#0.20CMPTAST4,X BEQ.50INX CPX#17 BNE.20JMPKEYEND;.50CPX#?(}13 BNE.2 LDYXNEWINYINYINY STYXNEWJMPPLUS1$.2CPX#14 .BNE.3 8LDYXNEWBINY?)}LINYVINY `STYXNEWjJMPMINUS1t.3CPX#15 ~BNE.4 LDYXNEWINYINYINY STYXNEWJMP?*}INVERS1.4CPX#16 BNE.5JMPDELETE1.5CPX#12 BCC.10JMPKEYEND* .10LDY#0LDA($D0),Y?+}ANDNOTAND,X(ORANOTADC,X2STA($D0),Y <AND#$07 FBNE.11PLDA($D0),Y ZAND#$F0dORAOKTGND###?,}nSTA($D0),Yx.11JSRNOTECOPJSRCURSOR1 INCXNEWJMPNOTRIGHT*PLUS1LDY#0 LDA#1STA($D0)?-},YJSRNOTECOPJSRCURSOR1JMPKEYEND*MINUS1LDY#0 LDA#2STA($D0),YJSRNOTECOPJSRCU?.}RSOR1"JMPKEYEND,*6INVERS1LDY#0@LDA($D0),Y JBNE.1T.99DECXNEW ^DECXNEW hDECXNEWrJMPKEYE?/}ND |.1CMP#1 BNE.2 JMP.99 .2CMP#2 BNE.3 JMP.99.3AND#$F0 BNE.4 JMP.99.4LDA($?0}D0),Y EOR#$08STA($D0),YJSRNOTECOPJSRCURSOR1JMPKEYEND*DELETE1LDY#0&TYA0STA($D0?1}),Y:JSRNOTECOPDJSRCURSOR1NJMPKEYENDX-bNUMBERPLA lLDX#0v.20CMPTAST4,X BEQ.50INX C?2}PX#17 BNE.20JMPKEYEND.50CPX#12 BEQ.2JMPKEYEND .2LDY#0LDA($D0),Y BEQ.10 CMP#?3}1 BEQ.10 CMP#2 BEQ.10JSRCURSOR1 CMP#$83# *BEQ.994CMP#$03# >BEQ.99 HLDY#0RLDA?4}($D0),Y\CLC fADC#$10pSTA($D0),Y zAND#$F0 CMP#$D0 BCC.10.99LDY#0LDA($D0),YSEC ?5}SBC#$10STA($D0),Y.10JSRNOTECOPJSRCURSOR1JMPNOTRIGHT-OKTAVE1PLACMP#$320 BNE.93?6}JMPKEYEND.93LDX#0$.2CMPTAST3,X .BEQ.58INX BCPX#8 LBNE.2VJMPKEYEND`; j.5LDY#0t?7}LDA($D0),Y ~AND#$F8 BNE.99JMPKEYEND.99STA($D0),YTXASTAOKTGNDORA($D0),YSTA($D0),Y?8}LDAOKTGNDSTAOKTAVEDECOKTAVEJSROKTCOPJSRNOTECOPJSRCURSOR1 JMPNOTRIGHT-OKT1JS?9}ROKTCOP(LDAWINDOW2+119 2ORA#$80<STAWINDOW2+119F.1JSRKEYUP1PCPX#20ESC ZBNE.99dJSROKTCOPn?:}JMPKEYEND x.99DEX CPX#6 BCS.1TXASTAOKTAVEJSROKTCOP;*JMPKEYEND-ROKTCOPn<q    C<}   C=}   C>}@@@@@@@@@@@@@@@@@@@@@@@@@@@C?}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@}@@@@@@CA}CB}6jԙ>|P$b̞6OCC}85CD} =9"ϤϣCE}.ϤϣϢϡ" 6ϣϢ ϡ  CF}ϤϣϢ ϡ  0. ACG}AAA &ACH}A&   &    " CI} " &" BCJ}& BB"   $A A A   "3 CK} (C C 3  "3 C   "3 C  3 " CL}b B "2 ! !  &CM}$  " ACN} A@?$nhL,*uergen3childmann)nitialize9es.oGP}QRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRWRRRRRR||QREQRE|GQ}||0||4|||ZRCZRC|||GR}||||||GS}ARRRRRR|||ARRRRRR|GT}|34%0||ARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRR|GU}|$)3+||||/#4|GV}|!#||3.'|ARRRRRR|GW}|0,!9||34%0|| &&ZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRXRRGX}RRRRARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRR15!.4 "asis &requenz+(z (oehGY}enfilter+ durch+  (oehenfilter+ durch+  "itfuer+ und+  "itfuer+ und+  +GZ} "asis &requenz -(z + "asis &requenz -(z  "it0olyals "it0oly%$)4/2,G[}/!$3/5.$$/33!6%3/.'3!6%3/5.$0rotect&ileG\}#hange$rive5nprotect&ile$elete&ile&ormat$isk"!#+15)4􀤑!reyousure9G]}. &ormatting#hange$isk   &ilename$NNNNNNNNG^}NNN$9. &-/$!200/24!-%.4/G_}&-/$!206/,G`}0/,9pB$B$&A,ЩѠGa}ѥ 5 G5O q/ - - /- V L{H˅Щ$Ѣ !i(А -`ӅЩ&ѢGb}!i(А -`˅Щ$Ѣ!i(А|&A&`c(&(`2ЩRЩrЩЩ` -Gc}Ѝ Ѝ Ѝ Щ -L-!""##`Щ Ԣ!""##Io./`!""#Gd}#q5 i$!""##`@T""\#!!!`` - -T""\#!!!0`Ge}ҩ)ӢL.4ҩ*ӢԅЩ&Ѡґ i(Аѥi Ґ`a *ҩ*ӢЩ'L. *' `Tҩ+ /$1Gf} 8 'L1/`ԅҩ*L /ҩ* /`4ҩ+ /`/ԍԩ/ "/#0,10`` ҍGg}f/M j/h@0ԭ1ԭ/ԭ ԩТнBL`00V.& L0.&).&V' X c0 /0LJ0Gh}VJJJJ6&V)6&`b? ?a? ?L`0 0LbV) 8%8%8%8f%`f/ )`j/`j/ ҍGi}g/``i/`i/f/`HЍЍЍ -ߍ0h@HԍЩ4ЩЭk/Эl/Эm/Эn/Эo/Эp/Щ0h@D1:TEGj}STDIRE.TXT B?1 VLU2`ЄѠЙ$1a 0%1H)h)JK$D1EB?1 VLU2`Gk}B1D 1E!1H"1I?1 VLU2` BL1 .+ #L1g N/ K1 2 K1 h5 C/L1ga 0726D2EGl}B?1 VLU2`D1:B$D1E?1 VLU2`41ɅɈ` - C/2%418did H51%h8 i H51Gm}%h51%?1hhgH0H`%22/2LJK*OPUIVCBXZ436521NMREYTWQ9078FHDGSA@L32Gn}`Rb2qA!aQ1B"r Z/ #1a '@1' ' 3`ɛ@1'I'Go}L3@1N'Lr38 H@1h' L3 #1'N i $1驛$1`wL222211100/..-,+*)('&%$#Gp}"    !"$%&'()*+,--.//00112222Gq}0%'!353pppppppGGGAԩ$%Z01LЍЅЍ LbZVRNJ24688642м Gr} `ХЦw  `Х`HH` ԍ-_^ZX~vͨJNO 7]& ]&  7 1; ,: 7]&)]& L8L:i5 ;L: 7k& k& ,:G~}L:L:ܠi5ʊ ;L:55 @нAѱ-5 5`i&Ii&` %I %`4%I4%`5 օȱօѬG}5بIЭ5 օȱօ۬5بIڬ5555` k%%%%m%Im%ة;٩֩;ש5555 :;C5 G} < Z; :;L8 < *7 t; L== >L== 5 G}Z;L== 5 Z;L==)55555(5 7 U?L== N?L==%555555 7 U?L== N?L==fQ5G}555m5 ; 7 U?L=='555ȭ5m5 ;аȩ 7 U?L==55 7 >L85LS>5m55 ; 7 U?Lv=5mG}55 ; 7 U?55555(5 7 U?L== N?L==555$')$'L')L't')t'55$' $'G}`555L>5 @BAB BL8 4cԩ"/#L85m58 i Hʊ 65&h 65&&8&` ? G}Z;` ? t;`Vf? W c0 V (]b?ҩB b?ҍ^?_?`?L8c?ҭe?.@` 3G}\?^?_?`?a?e?`)ҩe?`5 @A\?8md?]?H)]?L0@i ]?hJJJJm]?]?]? @]?^?)G} (XLc@LXLc@pX]? @  WLcSv%5O5XRR5 O t; .LcS ɟL SɞL SɚL SG}ɘL SɝL SɛL SɳL SɵL SHLSO 65$LcS555 O t;LcS555 O t;LcS550LZS5OG}ΎO O t; .LQ55F5Om5i͍OO O t; .LcSG} ЩѮ5SeхѭFmFШйѭOm5 eЅАѽS) ХLGTLT2350?:*8h7TG}LcS5S )Њ БЍF hH O t;L.S)ЊБЍF hH O t;LoS0P` @pG}:*8=?Rzx}ZFN'45SLcSLULUL(VLcShTLcS 5Ȍ5LuU 5Ȍ5LU 5Ȍ5LULU G}LcS=TT) ) O O t;5L.S O t;LcS O t;LcS 555LcSLULU)LUI O t;LcG}S O t;LcShTLcS LcS+'# t;Ƀi)А 8 O t;L.Sh2LcS7TLcS)G}LcSЊOБЭOd?d? `A O t;L.S `AJ' J' ,: `ALcSd? `ALcSG}J Wr WLW$)$`J (Wr (WL(W$ $` W (]G} HFi`Vȹ`Vȹ`V WVV` V (]VFm5VVVV WV`ҢVVVVVG}VVVVVVڍVV VȹVVVȹV` V (] HVVVV c0`ƿzqke_G}\VPMGDA>852/-)(%#!yspfaZURKHC?<9730-*(%$!yrlf`[UQLHD@<952/-*(%#!VVVLZG}VVҢ੊}kIVਹVVVVV̢VVV VVȱV()HV)VhVVVVG}VVVVдV+)'VVVVVVVVVVVˢV) VV) VV)8VH)V G}i VhJJJJ}VVޠVVVЩVVV7VVViVVVV VȹVȹVV`V[VG}VVVVVV)}V @AALxZV VVV(VVVVVVVVV L\G}VV)VV)mV(\VV) VVg VVL&[VɀgVԽViVɀVL[}VVVG}V V}VVVV)V) V(XL^[LXL^[pXVTL[L[CɀL[TVL[L[ViCɀG}V}VVViHJJJJVVVVVhL[h)VVVL[VmVVV}VV V8VVL[ VҽVVG}LZ`G}      G} M 7]u 7]L7]$)$`M W]u W]LW]$ $` H] VVVVVV WFVf? G}b?VVF5 >b? WLI (] VVL^ ]VVVVVVV WV)`' ' ( (` ]G}2 We?VVV𩊮F}kIVV >VV H``!)@LW^ 3Vmd?\? "_\?ȭFЩ G}^O ^O ^O ^O ^O ^O ^O ^LW^2%#/2$`^'V`55F5Om5iG}͍OO O t; .`ЩѮ5SeхѭFmFШйѭOm5 eЅА` #'K's''''( /-[_ u`]ة_٩c֩_G}5F5F55 t; ,:555 Z;L_555 Z;L_555[_[_[_ u` t;L_#555[_G}[_[_ u` t;L_LHL_[_m5i\_5Jm\_5)`)``` u` t;L_`)` LV`\_#Щ'ѭ[_G}m\_ 65ȭ5ȩЭ[_m\_ibHaH` 65ȭ5h 6 5ȭ5h 65ȭ5Хi(А\_\_Ё`G}da K1&a'a ^1?1 K1`aa haa ha b` - a a aG}`˅Щ$ѩa b?1 K1`a* a`a aҽa8 i(Аaa в` K1bd ^1?1 K1L bG}aaa baLc -˅Щ$ѩa b?1 K1`a*  K1Lbaa8 i(Аaa еG}Lb1a 1!1"1 1`a8 &c& a`a cнca-cu%.cu%ɛu%Lb/G}cɛu%Lb`&ree3ectorsc$cc$c+c+c3/.' 3/5.$ .o&ilea?V W V (] .ԩ_"#` . - /- .adG}aaaa7LJ laLcaaaa caaLcaaaʎa caaLc&&$'L'& G}'4'\'a da d` cнcѠI`a 6d a7d!al aed6edJfD1:*.SNGD1:*.SNDD1:*.SPLD1:*.COMD1:*.*J&aG}d'a *aa` Z/3(.($(#1 h3`B&ad'a *a?1` Z/3(.('(#1 h3`a hd& K1 v11 1!1G}"1 1 K1 C/Lca hd& K1 v11 1!1"1 1 K1 C/Lca dLe K1 v1ЩѠЍ e G}e eLe$aLe $a eLe%a e$a e%a em%aАLeХѥЙ K1 C/Lc(a(1a 1!1"1 1?G}1 K1 C/hhcHH`a dd K1 v1Щ ofЍ*LSf of$a of%a$a%am%aАѥо K1G}F C/LJ C/Lc(1a 1!1"1 1?1 K1 C/hhcHH`(a` - /- .afaaL|ca fafalaa{gf4cEg`G}g1f /+ #Lf C/LcLw `3' $/+ #L1g! :2 K1 C/a caaLc `3 # :2 KG}1L1g `3 $ :2 K1L1gaҩ+ / &h( ( ,: 1WLg &haaL?haL?hpaL?h &G}haaL?haL?hFaL?hai & C/aa caaLc()(()(()(`a ( (Lg G}( (Lg( (Lg$FaL?hai & C/aa caaLc()(()(()(`a ( (Lg D$