ERìfÿ” - ‰.LION ;" ÍÅÎÕ " (‰.LIOFF2-<;„STAND:18/11/86'F-PBASE…=$58„DISPLAYSTARTZHSCROLL‚=$D404dMAXSCROL=145n-xMENUEST‚JSRRAMDISKINIT‚‰JSROEFFNEŒ‰JSRRDCAP–‰JMPCOPYST OEFFNEƒJSRTEXTOUT ª‰.HX7D9B*´‰.AS'ƒSPEEDY1050BACKUPINITIALIZER'¾‰.HX9B9BEAȉRTSÒ-ÜRDCAP„JSRTEXTOUTæ‰.AS'RAM-SIZE:' ð‰.HXEAú‰LDARAMDISKFLG‰BEQ.1ƒNORAMDISKLOCATED ‰CMP#$10 ‰BEQ.2 "‰CMP#8 ,‰BEQ.3 6‰CMP#4 @‰BEQ.4 J‰LDA#0T‰STARAMDISKFLG^.1‡JSRTEXTOUT$h‰.DA"MAX. 64 K BYTES",#$9B,#$EAr‰RTS|.2‡JSRTEXTOUT †‰.DA"320 K BYTES",#$9B,#$EA‰RTSš.3‡JSRTEXTOUT ¤‰.DA"192 K BYTES",#$9B,#$EA®‰RTS¸.4‡JSRTEXTOUT ‰.DA"128 K BYTES",#$9B,#$EẢRTSÖ-àVPX†.HX0FêHSCNT„.HX00ôNOSCROL‚.HX00þDEFVBIƒ.DA$E462-;"ÍÅÎÕÅ ÄÉÓÐÌÁÙ ÌÉÓÔ"-&MENUDLƒLDA#DL 0‰STA$230 :‰LDA/DL D‰STA$231 N‰LDA#14 X‰STA$2C5 b‰LDA#2 l‰STA$2C6v‰LDA$D6AE €‰CMP#$A9 Š‰BNE.1”‰JSR$D6AE ž‰LDA$224¨‰STADEFVBI ²‰LDA$225¼‰STADEFVBI+1Æ-Ð;"ÉÎÉÔ ÉÍ® ÖÂÉ ¤²²²®¤²²³"Ú- ä.1‡LDA#0î‰STA$D40E ø‰LDA#VBI ‰STA$222 ‰LDA/VBI ‰STA$223 ‰LDA#DVBI *‰STA$2244‰LDA/DVBI >‰STA$225 H‰LDA#$40R‰STA$D40E\‰RTSf-pDVBI…LDX#$18z.1‡LDA$3CF,X „‰AND#$7FŽ‰STACLK,X˜‰DEX ¢‰BPL.1¬‰JMP(DEFVBI)¶-ÀVBI†LDAHSCNTʉCMP#MAXSCROL Ô‰BCC.0Þ‰LDANOSCROL è‰BMI.2ò‰LDA#TXTSPü‰STAHSLMS‰LDA/TXTSP‰STAHSLMS+1‰LDA#MAXSCROL-44$‰STAHSCNT .‰LDA#$FF8‰STANOSCROLB-L.0‡LDXVPXV‰DEX `‰CPX#$C j‰BCC.1t‰STXHSCROLL ~‰STXVPXˆ‰JMP$E45F’.1‡LDA#$Fœ‰STAHSCROLL ¦‰STAVPX°‰INCHSCNTº‰INCHSLMS ĉBNE.2ΉINCHSLMS+1Ø.2‡JMP$E45Fâ-ì;"Á ½ ÓÔÁÔÕÓ"ö;"Ø ½ ÓÅÃÔÏÒ";"Ù ½ ÔÒÁÃË" -CLRBASE‚LDA#19 ‰STAVAL(.1‡LDYTRACKNUM 2‰LDXVAL <‰JSRCALC F‰LDA#0P‰STA(DISPLAY),Y Z‰DECVAL d‰BNE.1n‰RTSxPUTBASE‚CPX#20 ‚‰BCSRTN1 Œ‰CPY#40 –‰BCSRTN1 ‰PHA ª‰JSRCALC´‰LDA(DISPLAY),Y ¾‰BEQDȉPLA Ò‰ORA#$80܉STA(DISPLAY),Y æRTN1…RTSð- úDˆPLA‰STA(DISPLAY),Y‰RTS-"CALC…LDA#0 ,‰STA$16‰DEX@‰TXAJ‰ASLT‰ASL^‰ASL h‰STA$0r‰ASL |‰ROL$1†‰ASL ‰ROL$1 š‰ADC$0 ¤‰BCC.1 ®‰INC$1¸‰CLCÂ.1‡ADCBASẺSTADISPLAY Ö‰LDA$1à‰ADCBASE+1ê‰STADISPLAY+1ô‰RTSþ-DL‡.HX707046 ‰.DATXT1‰.HX1000020002021042&LMS†.DA$9C400‰.HX020202020202:‰.HX020202020202D‰.HX020202020202NZDL†.HX00X‰.HX52†;HSCROLLbHSLMS„.DATXT2 l‰.HX0046v‰.DAMESSAGE €‰.HX41 Š‰.DADL”MESSAGE‚.AT'' ž‰.AT'ˆ'"¨TXT1….AT'SPEEDYBACKUPV1.1' ²‰.AT'„'¼‰.AT'‡TRACK„'Ɖ.AT'ƒSTATUSŒ'Љ.AT'Š1‰2‰3‰'3Ú‰.AT'0123456789012345678901234567890123456789'äTXTSP„.AT'”' î‰.AT'”'"øTXT2….AT'…COPYRIGHTBY‚COMPY'‰.AT'-SHOPMH‚10/86‚' ‰.AT'***‚'!‰.AT'-SPEEDYBACKUPV1.1-' ‰.AT'…BY„'*‰.AT-'‚TAPS‚'4‰.AT',THOMASNIEHAUS'>‰.AT'(p)†'HCLK†.AT'”' R‰.AT'' \‰.AT'”' fMSOURCEp‰.AT'INSERTSOURCE,PLEASE' zMDEST„‰.AT'INSERTDESTINATION'Ž-˜RAMDISKINIT¢‰LDA$D301 ¬‰STAPB ¶‰LDA#$23À‰STA$D301 ʉLDA#0Ô‰STA$4000 Þ‰LDAPBè‰STA$D301 ò‰LDA#$23ü‰STA$4000 ‰STA$D301 ‰LDA$4000  ‰CMP#$23$ ‰BEQ.2†NORAMD.! . ‰LDY#0 8 ‰LDX#0B .1‡LDA$D301 L ‰AND#$23V ‰ORARDTAB,Y` ‰STA$D301j ‰LDARDTAB1,Xt ‰STA$4000~ ‰INXˆ ‰INY’ ‰INYœ ‰INY¦ ‰INY ° ‰CPX#4 º ‰BCC.1Ä ‰LDA$D301 Î ‰AND#$23 Ø ‰ORA#$CCâ ‰STA$D301ì ‰LDA$4000ö ‰BCS.3†=JMP .2‡LDA#0 .3‡STARAMDISKFLG  ‰LDAPB ‰STA$D301( ‰RTS2 -< RAMDISKFLG.HX00 F PB‡.HX00P RDTAB„.HXCCC8C4C0Z ‰.HX8C888480d ‰.HX4C484440n ‰.HX0C080400x RDTAB1ƒ.HX100C0804‚ -Œ ;"ÒÁÍÄÉÓËÔÒÅÉÂÅÒ ÔÅÓÔÅÎ"– ;‚#  ;"ÐÁÒÁÍÅÔÅÒÌÉÓÔÅ ÄÅÒ ÒÁÍÄÉÓË º"ª ;´ RDSKPAR0.DA$140¾ ‰.DA$A000È -Ò ;"ÅÉÎÓÐÒÕÎÇ ÐÁÒÁÍÅÔÅÒ º"Ü ;X=LO,Y=HIæ ;ACCUBIT0=0READð ;ACCUBIT0=1WRITEú -! ;"ÒÅÉÈÅÎÆÏÌÇÅ ÄÅÒ ÅÌÅÍÅÎÔÅ º" ;1.SectorNo.Lo ;2.SectorNo.Hi" ;3.BufferAdr.Lo, ;4.BufferAdr.Hi6 ;"ÒÕÅÃËËÅÈÒ º"@ ;Y=$01ERFOLGREICHJ ;Y=$FFFEHLERT -^ LFLG….HX00h BANK….HX00r LSEC….HX00| HSEC….HX00† - ;"ÎÏÔÅ º"+š ;"ý° ½¾ ÒÁÍÄÉÓËÖÅÒ×ÁÌÔÕÎÇ ÍÉÔ Íïöåò ¡"@¤ ;"ý± ½¾ ÕÅÂÅÒÇÉÂԠج٠½ ÂÕÆÆÅÒ¬ ÂÁÎË ÉÓÔ ÂÅÒÅÉÔÓ ÁËÔÉÖÉÅÒÔ"® -¸ RDSKVER‚PHP  ‰AND#$7F Ì ‰STALFLGÖ -/à ;"ÁÕÆ ÓÔÁÃË ÌÉÅÇÔ ÊÅÔÚÔ ÓÅÃÔÏÒ ÎÏ® ÌÏ ÏÂÅÎ"Eê ;"ÆÕÅÒ ±²¸ ÓÅÃÔÏÒÅΠÌÉÅÇÔ ÄÅÒ ÂÅÒÅÉÃÈ ÄÅÒ ÓÅÃÔÏÒÎÕÍÍÅÒΠÚ×ÉÓÃÈÅÎ"ô -!þ ;"a) 0-2047 fuer 256 KB Bank"! ;"b) 0-1023 fuer 128 KB Bank"! ;"c) 0- 511 fuer 64 KB Bank"+ ;"d) 0- ... fuer den linearen Speicher"& -0 ‰LDARDSKPAR0 : ‰STALSECD ‰LDARDSKPAR0+1 N ‰STAHSECX -b ;"ÔÅÓÔ ÉÆ ÓÅÃÔÏÒ ¾½ ¤±´°"l - v ‰LDAHSEC € ‰BEQ.1 Š ‰CMP#2 ” ‰BCS.2 ž ‰LDALSEC ¨ ‰CMP#$40 ² ‰BCS.2¼ .1‡LDALFLG Æ ‰ORA#$80 Ð ‰STALFLG Ú ‰BNE.3ä .2‡LDALSECî ‰SEC ø ‰SBC#$40  ‰STALSEC ‰LDAHSEC  ‰SBC#1 ‰STAHSEC* -4 ;"ÂÅÍÅÒËÕÎÇ º"4> ;ACCU=MINUS‚HEISSTRAMDISKIMLINEARENSPEICHER%H ;ACCU=PLUS‚RAMDISKINBANKLOGIK@R ;"ÎÏ× ÃÁÌÃÕÌÁÔÅ ÍÅÍÏÒÙ ÐÏÓÉÔÉÏΠÁÎÄ ÂÁÎË":BANK=SECTOR/128\ -f .3‡LDAHSEC p ‰STABANK z ‰LDALSEC„ ‰ASL Ž ‰ROLBANK˜ -¢ ;"ÐÏÓ®½ ÓÅÃÔÏÒ ª ±²¸"¬ - ¶ ‰LDA#0 À ‰LSRHSEC Ê ‰RORLSECÔ ‰ROR Þ ‰STADLOC è ‰LDALSEC?ò ‰LDXLFLG‚;TESTOFBANKEDRAMDISK,MINUSSET=LINEARMEMORY ü ‰BPL.5.‰TAX‡;SAVEHIGHBYTEOFCALCULATEPOSITION+‰LDADLOC‚;GETLOBYTEANDADDBOUNDARY‰CLC$‰ADC#LOMEM .‰STADLOC8‰TXAB‰ADC/LOMEML‰STADLOC+1V‰BNE.6†=JMP5`.5‡AND#$3F‚;HIGHERBIT'SDONOTBUILDTHEADRESSj‰CLC t‰ADC#$40‚;BANKBASIS=$4000~‰STADLOC+1ˆ-"’;"ÇÅÔ ÓÔÏÒÅ ÂÕÆÆÅÒ ÆÒÏÍ ÓÔÁÃË"œ-¦.6‡LDARDSKPAR0+2 °‰STASLOCº‰LDARDSKPAR0+3ĉSTASLOC+1Î-@Ø;NOW,BANKNO.ANDLOCHASTOCCHECKED,IFANERROROCCURED,=â;THEMINUSFLAGWILLBESETANDTHEOPERATIONISABORTED.ì- ö‰LDALFLG ‰BPL.7 ‰LDADLOC+1‰CMPHIMEM ‰BCSERR(‰BCC.8†=JMP-2.7‡LDABANKƒ;CHECK,IFCALCULATEDBANKIS0<‰CMPRAMDISKFLG;INCOMPUTER'SRAMDISK-SIZE F‰BCSERR9P‰LDADLOC+1‚;CHECK,IFTHERE'SABANKOVERFLOWERROR*Z‰CMP#$80„;NORMALLY,THISERRORCANNOTCd‰BCSERR‚;OCCUR,BUTPERHAPSTHERE'SAMISTAKEINTHISPROGRAMMn-4x;ALLCALCULATEDPARAMETER'SWEREOKAY.LET'SMOVE‚;THEMEMORYBLOCK!>Œ;CAUTION:NOINTERRUPTISDISABLEDDURINGBANKOPERATION!–- .8‡LDXBANKª‰LDA$D301 ´‰AND#$23¾‰ORARDTAB,X ȉSTABANKÒ‰LDALFLG‚TESTFORRDSK ܉BPL.9æ‰LDX$D301 ð‰STXBANK=ú.9‡PLP„;GETCARRYBACKANDTEST,IFDATASHOULDBEMOVED‰BCSNOMOV‰AND#1‚;ACCU=1WRITE‰BEQSVD301-"‰LDA$D301‚;SAVE$D301's‚VALUETOSWITCH,‰STA.21+1‚;THEBANKS6; @‰LDY#$7FJ.20†LDA(SLOC),YT‰LDXBANK‚;ENABLEBANK^‰STX$D301h‰STA(DLOC),Yr.21†LDX#$FF|‰STX$D301†‰DEY ‰BPL.20)š‰LDY#1‚;OKAY,128BYTESTRANSFERRED.¤‰RTS®-9¸;THEERROR,THATHASBEENOCCURED,ISMARKEDWITHY=FFÂ;ANDSETMINUSFLAG!Ì-!ÖERR†PLP…;REGETPHWITHCARRY à‰LDY#$FFê‰RTSô-.þ;THISPARTISADVANCEDREADFORRAMDISK!-3SVD301ƒLDA$D301‚;SAVE$D301's‚VALUETOSWITCH‰STA.22+1‚;THEBANKS &‰LDY#$7F0.21†LDXBANK‚;ENABLEBANK:‰STX$D301D‰LDA(DLOC),YN.22†LDX#$FFX‰STX$D301b‰STA(SLOC),Yl‰DEY v‰BPL.21)€‰LDY#1ƒ;OKAY,128BYTESTRANSFERRED.Š‰RTS”NOMOV„LDABANKž‰STA$D301 ¨‰LDXDLOC²‰LDYDLOC+1 ¼‰LDA#1ƉRTSÐ-'Ú;HERE'STHE'SPEEDYDRIVES'ROUTINEä-îSPEEDYD‚JSRTEXTOUTø‰.AS'„SPEEDY‚DRIVES:' ‰.HXEA ‰LDA#1‰STADRVSEL TSTDRVL‚LDADRVSEL*‰JSRSELDRV 4‰BCS.2>‰PHAH‰JSRTEXTOUTR‰.DA" D",#$EA\‰PLAf‰CLC p‰ADC#$30 z‰JSREOUT„‰INCDRVSELŽ‰JMPTSTDRVL˜.2‡LDA#$9B ¢‰JMPEOUT¬--¶;RAMDISKSTATUSMESSAGE(IFR.D.PRESENT)À-ÊRDSKSTAT.HX00Ô-ÞRDSTATƒLDARAMDISKFLG è‰BEQ.1ò‰JSRTEXTOUTü‰.AS'„RAMDISKSTATUS:' ‰.HXEA‰LDARDSKSTAT ‰BEQ.2$‰JSRTEXTOUT.‰.DA"USED",#$9B,#$EA 8.1‡RTSB-L.2‡JSRTEXTOUTV‰.DA"FREE",#$9B,#$EA`‰RTSj-'t;"ÍÅÎÕÅ ÆÕÎÃÔÉÏÎÓ ÁÆÔÅÒ ÍÁÉΠÍÅÎÕÅ"~-ˆMAXPARƒ=6’-œMENUE„JSROPENSCR ¦‰LDA$230°‰STADISPLAY º‰LDA$231ĉSTADISPLAY+1 ΉLDY#$1C ؉LDA#$10â‰STA(DISPLAY),Yì‰INYö‰LDA#1„;DLISTJUMP‰STA(DISPLAY),Y ‰INY ‰LDA#ZDL‰STA(DISPLAY),Y(‰INY 2‰LDA/ZDL<‰STA(DISPLAY),Y F‰LDA#0 P‰STA$52Z‰JSRTEXTOUT d‰.HX7D9B*n‰.AS'†***SPEEDYPARAMETERMENUE***'x‰.HX9B9B9B‚-"Œ‰.DA" 1: VERIFY WRITES",#$9B –‰.DA" 2: R/W RETRIES",#$9B' ‰.DA" 3: R/W BY DISK CHANGE",#$9B)ª‰.DA" 4: TRACK ANALYZING MODE",#$9B!´‰.DA" 5: SOURCE DRIVE",#$9B!¾‰.AS" 6: DESTINATION DRIVE"ȉ.HX9B9B9BÒ-3܉.DA" ÃÕÒÒÅÎÔ ÈÁÒÄ×ÁÒÅ ÐÁÒÁÍÅÔÅÒ º ",#$9B,#$EAæ-ð‰JSRRDCAPú‰JSRRDSTAT‰JSRSPEEDYD-;"ÐÁÒÁÍÅÔÅÒ ÁÕÓÇÅÂÅÎ""- ,‰LDA#2 6‰STA$52@‰LDANOSCROL J‰CMP#$FFT‰BNENOLAUF-^‰JSRSETSCƒ;SETZELAUFBANDINBEWEGUNG!h-(r;"ÎÕΠÐÁÒÁÍÅÔÅÒ ÖÏΠËÅÙÂÏÁÒÄ ÓÅÔÚÅÎ"|-†NOLAUFƒLDA#0 ‰STAVAL'š.2‡LDAVAL„;HOLETABELLENPOSITION¤‰JSRPARSET ®‰INCVAL ¸‰LDAVAL‰CMP#MAXPAR‚;6 ̉BCC.2ÖMENUEKEYJSRGETKEYà‰CMP#27…ESCAPE? ê‰BEQ.27ô‰SEC þ‰SBC#$31‰BMIMENUEKEY‰CMP#MAXPAR‚;6‰BCSMENUEKEY&‰TAY0‰ASL:‰TAXD‰LDAVECTAB+1,XN‰PHAX‰LDAVECTAB,Xb‰PHAl‰TYAv‰RTS€-Š.27†JMPBIGST”-žVECTABƒ.DAFUNC1-1¨‰.DAFUNC2-1²‰.DAFUNC3-1¼‰.DAFUNC4-1Ɖ.DAFUNC5-1Љ.DAFUNC6-1Ú- äFUNC1„PHAî‰LDAPVERIFY‚;VERIFYON/OFF ø‰EOR#$80‰STAPVERIFY ‰PLA‰JSRPARSET ‰JMPMENUEKEY*- 4FUNC2„PHA>‰INCPRETRY‚;RERIESH‰LDAPRETRYR‰CMP#5‚;MAX5RETRIES \‰BCC.1 f‰LDA#0p‰STAPRETRY z.1‡PLA„‰JSRPARSETŽ‰JMPMENUEKEY˜- ¢FUNC3„PHA!¬‰LDAPCHANGE;AUTOMATICCOPY ¶‰EOR#$80À‰STAPCHANGEʉPLAÔ‰JSRPARSETÞ‰JMPMENUEKEYè-6òFUNC4„JMPMENUEKEY‚;TRACKANALYSINGMODESELECT:ü-#FUNC5„PHA…;CHANGESOURCEDRIVE‰INCPSOURCE‰LDAPSOURCE$‰JSRSELDRV .‰BCC.1 8‰LDA#1B‰STAPSOURCE L.1‡PLAV‰JSRPARSET`‰JMPMENUEKEYj-'tFUNC6„PHA„;CHANGEDESTINATIONDRIVE~‰INCPDESTˆ‰LDAPDEST’‰JSRSELDRV œ‰BCC.1 ¦‰LDA#1°‰STAPDEST º.1‡PLAĉJSRPARSETΉJMPMENUEKEYØ--â;"ÓÅÔÚÔ ÄÅΠÐÁÒÁÍÅÔÅÒ ÁÕÆ ÄÅΠÂÉÌÄÓÃÈÉÒÍ"ì-%öPARSETƒSTAVAL‚;TABELLENPOSITION‰TAX„;‚INDENINDEX@ ‰LDYMTAB,X‚;NUNHOLEDIEVERTICALPOSITIONAUSDERTABELLE ‰LDAMTAB2,X‚;HOLEDASFLAG‰LSR…;SETZEESINCARRY1(‰LDXVAL‚;NUNLADEDENPARAMETERINDENACCU2‰LDAPVERIFY,X%<;ˆJMPHMENUE‚;ANSCHIRMAUSGEBENF-?P;"ÔÈÉÓ ÒÏÕÔÉÎÅ ÐÕÔÓ ÔÈÅ ÐÁÒÁÍÅÔÅÒÓ ÓÔÁÔÕÓ ÏÎÔÏ ÇÒ®° ÓÃÒÅÅÎ"Z;CARRY=0AND: d;ACCU=0‚<=>"NOT AVIABLE"n;ACCU=1-$7F‚<=>"YES"x;ACCU=$80-$FF‚<=>"NO"‚;Œ;CARRY=1AND:–;‚ACCU=HEXNUMBER ;%ª;YREGISTER<=>VERTICALPOSITION´-*¾HMENUEƒSTY$54‚;SETVERTICALPOSITION"ȉLDY#26‚;HORIZONTALPOSITION Ò‰STY$55 ܉BCS.3æ‰TAY…;REFRESHCPUFLAG'S ð‰BEQ.2 ú‰BPL.1‰JSRTEXTOUT‰.AS'NO‹' ‰.HXEA"‰RTS,.1‡JSRTEXTOUT6‰.AS'YESŠ' @‰.HXEAJ‰RTST.2‡JSRTEXTOUT^‰.DA"NOT AVAILABLE",#$EAh‰RTSr-|.3‡JMPPHEXOUT†-#;"ÅÌÅÍÅÎÔÓ ÏÆ ÐÁÒÁÍÅÔÅÒ ÌÉÓÔ º"š-¤PVERIFY‚.HX01®PRETRYƒ.HX03¸PCHANGE‚.HX81ÂPTRKANƒ.HX00ÌPSOURCE‚.HX01ÖPDEST„.HX01àVAL†.HX00êMTAB….HX040506070809ôMTAB2„.HX000100000101þ-SETSC„LDA#$F ‰STAVPX ‰LDA#0&‰STAHSCNT0‰STANOSCROL:‰LDA#TXT2D‰STAHSLMSN‰LDA/TXT2X‰STAHSLMS+1b‰RTS