ERÚQ˙” - ‰.LION ;" ĂĎĐŮ " (‰.LIOFF2-<;‚STAND:‚05/11/86'F-"P;DRIVEINITIALISATION:SCHICKEZ;COPYROUTINENACH$8000d-nCOPYSTƒJSRLOCSPEEDYx‰JSRDRVINIT‚‰JSRTEXTOUT%Œ‰.AS'STATUSOK.PRESS' –‰.HXEA ‰JSRRETURNŞ-´BIGST„LDA#BIGST ž‰STA$CȉLDA/BIGST ҉STA$D ܉LDX#$FFć‰TXS đ‰LDX#20 ú‰LDA#0.1‡STAMESSAGE,X‰DEX ‰BPL.1"‰JSROPENSCR,‰JSRSETSC6‰JSRMENUDL‚LABEL"S"@‰JSRTEXTOUTJ‰.BL7,$9B(T‰.DA" (C) COPY DISK",#$9B+^‰.DA" (M) MENUE",#$9B,#$EAh-Hr‰LDARDSKSTAT;ISTDIEKOMPLETTEDISKETTEINDIERAMDISKGEGANGEN? |‰BEQPH1†‰JSRTEXTOUT)‰.DA" (W) WRITE FROM",#$9B,š‰.DA" RAMDISK",#$9B,#$EA¤-ŽPH1†JSRGETKEY ¸‰CMP#'C ‰BEQPH2 ̉CMP#'M Ö‰BNE.1ŕ‰JMPMENUEę.1‡CMP#'W ô‰BNEPH1Hţ‰LDARDSKSTAT;ISTDIEKOMPLETTEDISKETTEINDIERAMDISKGEGANGEN? ‰BEQPH1-;SCHREIBEAUSRAMDISK&- 0‰LDA#$7D:‰STATANDEMD‰JSREOUT„;CLEARSCREEN N‰LDA#0 X‰STARSECb‰STARSEC+1l‰STASTRACK v‰LDA#40€‰STATRACKNUM Š‰JSRDEST”‰LDAPDESTž‰JSRBACKUP¨‰JMPCOPYEND˛-źTANDEMƒ.HX00Ć-!Đ;COPYMIT1ODER2LAUFWERKENÚ-äPH2†LDAPSOURCEî‰CMPPDEST ř‰BNE.1 ‰JMPPH3 .1‡LDA#0'‰STATANDEM‚;COPYMIT2LAUFWERKEN ‰JSRTEXTOUT*‰.HX7D9B9B9B9B9B:4‰.DA"INSERT DISKS, PLEASE AND HIT RETURN",#$9B,#$EA>‰JSRRETURNG H‰LDA#$7D R‰JSREOUT \‰JMPSDRVf-pPH3†LDA#1z‰STATANDEM„‰JSROPENSCRŽ‰JSRMENUDL˜‰JSRSOURCE˘- Ź;COPY TEIL 1: DATENEINLESENś;DASTRACK0KOMMANDOWIRD Ŕ;BENUTZT,UMEINEKOPF-POSI-Ę;TIONIERUNGZUVERMEIDENÔ-"ŢSDRV…LDAPSOURCE;SOURCEDRIVE"č‰LDX#TRK00‚;SPRUNGVECTORAUF)ň‰LDY/TRK00‚;TRACK0EINSPRUNGSETZEN>ü‰CLC‰;CARRY=1BEDEUTETDIREKTERUECKMELDUNGVOMLAUFWERK‰JSRDRVJMP ‰LDA#0†;TRACKREGISTERAUF0‰STATRACKNUM$‰STALTRACK.‰STASTRACK 8‰STARSECB‰STARSEC+1L-V;NOTE:TRACKNUMISTDAS`;AKTUELLETRACKREGISTER!j;LTRACKUNDSTRACKMARKIERENt;LOWERUNDHIGHERTRACK!~;RAMDISKFLGKENNZEICHNETDIEˆ;VERWENDETERAMDISK.+’;RAMDISKFLG=0BEZEICHNETKEINE‰RAMDISK;œ;INDASRAMDISKFLGSOLLTEKEIN‰WERTGELADENWERDEN,DA+Ś;SONSTDERRECHNERABSTUERZENŠKOENNTE!>°;UNTER'RDSKPAR0'SINDDIEPARAˆMETERWIEFOLGTABGELEGT:ş;‡"Ä;RDSKPAR0+0/+1=RAMDISKSECTORÎ;RDSKPAR0+2/+3=BUFFER.Ř-âL991…JSRESCCHECKěL88†LDX#SIOT2ö‰LDY/SIOT2‰JSRSIOINIT0 ‰JSRESCCHECK-6;SIOT2=COM$54=>READTRACK+‰ANALYSISFUNCTION. (;MIT:;2;30A=XSAV,30B=TRACKNUMŽCONSTAT=STATUSOFOPERATION<-.F‰LDATRACKNUM;XSAV=$30AISTNICHTNOETIG6P‰STA$30B…;WEILESDURCHKOMMANDO$54GESETZTWIRDZ‰LDAPSOURCE‚;SOURCEDRIVE d‰STA$301n‰JSRMAINSIO)x‰BPL.77…;FEHLERBEIDERAUSFUEHRUNG?‚‰JSROPENSCRŒ‰JSRTEXTOUT–‰.HX9B9B9B9B. ‰.AS-'FATALDRIVEERROR,PLEASEREBOOT' މ.HXEA ´‰LDA#$FF ž‰STA$244 ȉ.HX02Ň-Ü.77†LDACONSTAT ć‰BEQ.78đ‰JSRTEXTOUTú‰.HX7D9B9B9B9B9B5‰.DA" DRIVE DOOR NOT CLOSED, ",#$9B,#$EA‰JSRRETURNG‰JMPBIGST"-.,.78†LDA#0†;RAMDISKISTMITDATENGEFUELLT-6‰STARDSKSTAT;SOWIRDESNICHTGEBRAUCHT@;(J‰LDX#SIO2TAB;INITSIOREADCOMMANDT‰LDY/SIO2TAB^‰JSRSIOINIT0h‰LDAPSOURCE‚;SOURCEDRIVE r‰STA$301=|‰LDA#HEADERWA;SETZEARBEITSBUFFERAUFHEADERWORKAREA†‰STARDSKPAR0+2 ‰STA$304š‰LDA/HEADERWA¤‰STARDSKPAR0+3 Ž‰STA$305¸- ‰LDA#0 Ě.1‡PHA8Ö‰JSRMAINSIO;UEBERTRAGEDENLAUFWERKSHEADERBUFFER3ŕ‰LDA#$40„;ZUMCOMPUTERHEADERBUFFERWORKAREA%ę‰STA$303„;REINITSIOREADSTATUS4ô‰JSRADDBUF‚;INCREMENTBUFFERUNDSECTORMIT$80ţ‰PLA‰TAX‰INX‰TXA&‰CPX#3†;3PAGESEMPFANGEN?0‰BCC.1†;NEIN:->D;DERHEADERBUFFERDESLAUFWERKSˆISTJETZTIMCOMPUTERZUR?N;FREIENAUSWERTUNG.ESSINDALLˆERDINGSNOCHALLEDATENINX;DIERAMDISKZUSICHERN.b-+l‰CLC‰;CARRY=0-BILDSCHIRMNEUAUFBAUENv‰JSRSETPAR0€;Š‰JSRSPR…;TEXT"READING"”-<ž;EINGELESENEHEADERINFO'SŽWEITERINRAMDISKUEBERTRAGEN¨-˛‰LDATRACKNUMź‰ASLƉTAY ЉLDARSECÚ‰STARDSKPAR0-ä‰STATRACKTAB,Y;STARTSECTORDERRAMDISK%î‰LDARSEC+1‚;INTABELLEEINTRAGENř‰STARDSKPAR0+1‰STATRACKTAB+1,Y - ‰LDA#3 .2‡PHA/*‰LDA#1†;ACCU=1-SCHREIBEDATENINRAMDISK4‰CLC%>‰JSRRDSKVER;RAMDISKVERWALTUNG.H‰BMIRDERR&R‰JSRADDBUFR;INCREMENTPARAMETER\‰PLAf‰TAXp‰DEXz‰TXA „‰BNE.2Ž-˜‰LDAFORKEN‚;FORMAT1˘‰BEQINCTRK‚;FORKEN=0BEDEUTETUNFORMATIERTŹ‰LDADLEN„;DATENLAENGEś‰ORADLEN+1Ŕ‰BEQINCTRKĘ-Ô‰LDAPSOURCE;SOURCEDRIVEމJSRLOADRECč‰BCSRDERRň‰JMPINCTRKüRDERR„JSRCLRBASE, ‰LDAPSOURCE;SOURCEDRIVEMOTORSTOPPEN  ‰JSRDEST! ‰LDAPDESTƒ;DESTINATIONDRIVE$ ‰JSRBACKUP . ‰LDA#0 8 ‰STARSECB ‰STARSEC+1L ‰INCTRACKNUMV ‰LDATRACKNUM` ‰STASTRACKj ‰JSRSOURCE t ‰JMPL991~ INCTRKƒINCTRACKNUMˆ ‰LDATRACKNUM ’ ‰CMP#40 œ ‰BCSSHIT Ś ‰JMPL88° -+ş SHIT…LDA#$FF„;RAMDISKUSEDFLAGSETZENÄ ‰STARDSKSTAT Î ‰JSRDESTŘ ‰LDAPDEST⠉JSRBACKUPě -ö COPYEND‚LDAPDEST ‰LDX#MOTOFF ‰LDY/MOTOFF ‰SEC ‰JSRDRVJMP( - 2 ‰LDX#20< .1‡LDAMCOPYTERM,XF ‰STAMESSAGE,XP ‰DEX Z ‰BPL.1d ‰JSRRETURNn ‰JMPBIGSTx - ‚ MCOPYTERMŒ ….AT'‚COPYTERMINATEDƒ'– -  ;BUFFERZURUECKSCHREIBEN!Ş -´ SRCDRVƒ.HX00ž -Č ;BACKUPFUNCTION:Ň ;---------------Ü ;INCLUDES:ć ;DATATRANSFERđ ;FORMATING/REFORMATINGú ;TRACKPOSITIONING ;ERRORMESSAGES - BACKUPƒSTASRCDRV" ‰LDATRACKNUM;TRACKNUMMER&, ‰STALTRACKƒ;INVARIABLESCHREIBEN6 ‰LDASTRACK@ ‰STATRACKNUM.J .80†LDATRACKNUM;SETZETRACKSTARTSECTORT ‰ASLŠ;IMRAMDISKHANDLER^ ‰TAYh ‰LDATRACKTAB,Y r ‰STARSEC| ‰LDATRACKTAB+1,Y† ‰STARSEC+1 -!š ;LESE3HEADERINFOSEKTOREN¤ ;AUSDERRAMDISKINDIEŽ ;HEADERWORKAREA¸ - ‰JSRSETSECRĚ ‰LDA#HEADERWAÖ ‰STARDSKPAR0+2ŕ ‰LDA/HEADERWAę ‰STARDSKPAR0+3ô ‰JSRESCCHECK ţ ‰LDA#3  .2‡PHA ‰LDA#0†;ACCU=1READ ‰CLC#& ‰JSRRDSKVER;RAMDISKVERWALTUNG0 - : ;NOTE :!D ;NACHAUFRUFDERRDSVERFUNK-#N ;TIONKANNEINFEHLERAUFTRETEN X ;DIESERFEHLERENSTEHTDURCHb ;DISKREAD!l -%v ‰JSRADDBUFR;INCREMENTPARAMETER€ ‰PLAŠ ‰TAX” ‰DEXž ‰TXA ¨ ‰BNE.2(˛ ‰SEC‰;SETPAR0OHNEBILDSCHIRMAUFBAUź ‰JSRSETPAR0Ć ‰JSRSPW…;TEXT"WRITING"Đ -Ú ‰LDAFORKEN‚;TESTEFORMATä ‰BNE.1†;FORMATIERT!î -ř ;PROGRAMM NACHSCHREIBEN - ‰LDX#SIOT6‚;REFORMATTRACK ‰LDY/SIOT6 ‰JSRSIOINIT0* ‰LDASRCDRV 4 ‰STA$301> ‰LDATRACKNUM H ‰STA$30BR ‰JSRMAINSIO \ ‰JMP.4f -p ;TRACKNUMBER AT $30Bz -#„ .1‡LDX#SIOTƒ;SIOWRITECOMMANDŽ ‰LDY/SIOT˜ ‰JSRSIOINIT0˘ ‰LDASRCDRV Ź ‰STA$301#ś ‰LDA#HEADERWA;SETZEWORKAREA Ŕ ‰STA$304Ę ‰STARDSKPAR0+2Ô ‰LDA/HEADERWA Ţ ‰STA$305č ‰STARDSKPAR0+3ň ‰LDA#HEADBUF ü ‰STA$30A‰LDA/HEADBUF ‰STA$30B ‰LDA#3 $.20†PHA.‰JSRMAINSIO8‰LDA#$80„;REINITB‰STA$303„;WRITEL‰JSRADDBUF‚;CALC.BUFV‰PLA`‰TAXj‰DEXt‰TXA‰;3SECTOREN~‰BNE.20…;UEBERTRAGEN?ˆ-’;HEADERINFOKOPIERTœ;TEST,OBDATENIMBUFF=0Ś-°‰LDADLEN„;MITZ=0ş‰ORADLEN+1‚;=>DLEN=0 ĉBEQ.4ΉLDASRCDRV؉JSRSAVREC+â.55†LDX#SIOT5‚;SCHREIBETRACKFUNKTIONě‰LDY/SIOT5ö‰JSRSIOINIT0‰LDASRCDRV‚;SELECTDRIVE ‰STA$301‰LDAFORKEN ‰STA$30A(‰LDATRACKNUM 2‰STA$30B<‰JSRMAINSIO‚;FROMBUFF‰JSRERRSYS P‰BCC.5 Z‰LDA#0d‰STACONSTATn-x.5‡LDACONSTAT ‚‰BNE.55Œ.4‡INCTRACKNUM–‰LDATRACKNUM3 ‰CMPLTRACK‚;STRACKISTUMEINBYTEZUGROSS!*މBCC.92…;DARUMSPRINGEICHAUFBCC!´‰DECTRACKNUMž‰RTSČ.92†JMP.80Ň-$ÜMFORM1ƒ.AT'FATALWRITEERROR‚'%ćMFORM2ƒ.AT'ILLEGALFORMATERROR'%đMFORM3ƒ.AT'ERRORDURINGWRITING'úMFORM4ƒ.AT'ƒVERIFY‚ERROR„';(WTAB….DAMFORM1,MFORM2,MFORM3,MFORM4-"ERRSYSƒLDXCONSTAT,‰CLC 6‰BEQ.2@‰DEXJ‰TXAT‰ASL^‰TAXh‰LDAWTAB,Xr‰STADISPLAY|‰LDAWTAB+1,X†‰STADISPLAY+1 ‰LDY#20š.1‡LDA(DISPLAY),Y¤‰STAMESSAGE,YŽ‰DEY ¸‰BPL.1‰JSRRETURNG̉LDACONSTAT Ö‰CMP#1ŕ‰CLC ę‰BEQ.2ô‰SEC ţ.2‡RTS-ESCCHECKLDA$2FC ‰CMP#$1C &‰BEQ.1 0‰CMP#$FF:‰RTSD.1‡LDA#$FF N‰STA$2FC X‰LDX#$FFb‰TXSl‰JMPBIGSTv- €MREADŠ….AT'†READING‡' ”MWRITEž….AT'†WRITING‡'¨-˛SPR†LDX#20ź.1‡LDAMREAD,XƉSTAMESSAGE,XЉDEX Ú‰BPL.1ä‰RTSî-řSPW†LDX#20.1‡LDAMWRITE,X ‰STAMESSAGE,X‰DEX ‰BPL.1*‰RTS4->SOURCEƒLDAPDESTH‰LDX#MOTOFFR‰LDY/MOTOFF\‰SEC‰;QUITf‰JSRDRVJMPp‰LDATANDEM z‰BNE.3„‰RTSŽ.3‡LDX#20˜.1‡LDAMSOURCE,X˘‰STAMESSAGE,XŹ‰DEX ś‰BPL.1Ŕ‰LDAPCHANGE ʉBPL.2Ô‰JMPRETURNGŢ.2‡LDAPDESTč‰LDX#DISKWAITň‰LDY/DISKWAITü‰SEC‰JSRDRVJMP‰JMPAUTOM-$STAT…LDA#0.‰STA$D20A8‰LDA$D20F B‰AND#$10L‰RTSV-`AUTOM„JSRSTAT j‰BNE.1t- ~‰LDA$2FCˆ‰CMP#$1C„;ESCAPE’‰BNEAUTOM œ‰LDA#$FF Ś‰STA$2FC °‰LDA#$34ş‰STA$D303Ä.2‡JSRSTAT ΉBEQ.2 ؉LDA#$3Câ‰STA$D303ě‰JMPBIGST ö.1‡LDA#0 ‰LDX#20 .3‡STAMESSAGE,X‰DEX ‰BPL.3 (‰LDX#02.4‡STA$D40A<‰DEX F‰BNE.4P‰RTSZ-dDEST…LDAPSOURCEn‰LDX#MOTOFFx‰LDY/MOTOFF‚‰SEC‰;QUITŒ‰JSRDRVJMP–‰LDATANDEM  ‰BNE.3މRTS´.3‡LDX#20ž.1‡LDAMDEST,XȉSTAMESSAGE,X҉DEX ܉BPL.1ć‰LDAPCHANGEđ‰BMIRETURNGú‰LDAPDEST‰LDX#DISKWAIT‰LDY/DISKWAIT‰SEC"‰JSRDRVJMP,‰JMPAUTOM6-@RETURNG‚LDA#$FF J‰STA$2FCT.2‡JSRESCCHECK ^‰BCS.2h‰JSRGETKEY r‰CMP#$9B |‰BNE.2 †‰LDX#20 .3‡LDA#0š‰STAMESSAGE,X¤‰DEX Ž‰BPL.3 ¸‰LDA#$9B‰RTSĚRETURNƒJSRRETURNG Ö‰JMPEOUTŕ-ęSORTDRV‚LDY#1 ô‰LDA#0ţ.1‡ORADRIVES-1,Y‰INY‰CPY#MAXDRV+1 ‰BCC.1 &‰CMP#0 0‰BNE.2:‰SECD‰RTS N.2‡LDX#0 X‰LDY#1b.4‡LDADRIVES-1,Y l‰BEQ.3v‰TYA€‰STADRIVES,XŠ‰INX ”.3‡INYž‰CPY#MAXDRV+1 ¨‰BCC.4 ˛‰STXFDRVź‰CLCƉRTSĐ-ÚSIOT7„.HX0A31014F80ä‰.DACONFIGî‰.HXFFFF0C00řCONFIGƒ.HX28010012000000‰.HX80FF000000 -SELDRVƒCMPFDRV ‰BCC.1 *‰BEQ.14‰SEC>‰RTS H.1‡TAYR‰LDADRIVES-1,Y \‰STA$301f‰CLCp‰RTSz-„GETKEYƒLDA$E425Ž‰PHA˜‰LDA$E424˘‰PHAŹ‰RTSś-Ŕ;SAV2+$80=BUFFER!Ę-ÔADDSECƒINCRSEC މBNE.1č‰INCRSEC+1 ň.1‡RTSü-CALCS„LDADLEN„;ERRECHNE‰STAM1†;DIEAN-‰LDADLEN+1‚;ZAHLDER$‰STAM2†;SEKTOREN.-!8;(M1,M2)=(DLEN+0,+1)*(1/128)"B;BEMERKUNG:M2ISTSIGNIFICANT!L- V‰ASLM1 `‰ROLM2j‰RTSt-~SETSECBUFLDA#SECBUF ˆ‰STA$30A’‰LDA/SECBUF œ‰STA$30BŚ‰RTS°-?ş;DERHEADERBUFFERISTJETZTINˆDIERAMDISKKOPIERTWORDEN?Ä;DERHEADERSTEHTJETZTALSO‹ZURWEITERENVERFUEGUNGOFFEN4Î;-HIERWIRDESJETZTALSSECTOR‰BUFFERGENUTZT.Ř-âLOADREC‚PHA*ě‰LDX#SIO2TAB;INITSIOREADCOMMAND.ö‰LDY/SIO2TAB‰JSRSIOINIT0 ‰PLA ‰STA$301-?(‰JSRSETSECBUF;SETZECOMPUTERPOINTERAUFLAUFWERKSBUFFER2-9<‰JSRSETSECRƒ;INRAMDISKPARAMETERLISTEUEBERTRAGEN!F-?P‰JSRCALCSƒ;ERECHNEDATENLAENGEAUSDERANZAHLDERSEKTORENZ-"d‰LDA$D301ƒ;WERT$D301SICHERNn‰PHAx.3‡LDA#1†;SCHREIBERAMDISK%‚‰SEC‰;GETBANK&BUFFERDATAONLYŒ‰JSRRDSKVER–‰BMILRERR  ‰STX$304 މSTY$305´‰JSRMAINSIOž-ȉLDA#$40„;READ҉STA$303„;STATUS܉JSRINCBUF‚;CALC$30A,$30Bć‰JSRADDSECđ‰JSRSETSECRú- ‰DECM2 ‰BNE.3‰PLA"‰STA$D301,‰CLC6‰RTS@- JLRERR„PLAT‰STA$D301^‰SECh‰RTSr-|SAVRECƒPHA†‰LDX#SIOT‰LDY/SIOTš‰JSRSIOINIT0¤‰PLA Ž‰STA$301¸‰JSRSETSECBUF‰JSRSETSECR̉JSRCALCSÖ-ŕ‰LDA$D301ę‰PHAô.30†LDA#0†;LESERAMDISKţ‰SEC‰JSRRDSKVER ‰STX$304 ‰STY$305&-0‰JSRMAINSIO:‰LDA#$80„;RESTORESIOD‰STA$303„;SCHREIBESTATUSN‰JSRINCBUFX‰JSRADDSECPSET…ORAPAR H‰STAPARR‰RTS\-fOTAB….HX00000000p-‚BIT7ś;TRACKANALYZING=>‚BIT6Ŕ;RETRIESˆ=>‚BIT0,1,2.Ę-ÔSETPAR0‚PHPމLDAPRETRY č‰AND#7 ň‰STAPARü‰LDAPVERIFY ‰AND#$80 ‰JSRPSET‰LDAPTRKAN$‰LSR .‰AND#$40 8‰JSRPSET B‰LDAPAR L‰EOR#$F8 V‰STAPAR `‰JSRSETj‰LDY#$FF„;TESTEt‰LDA(DISPLAY),Y;FORMAT~‰STAFORKEN ˆ‰BNE.1’-œ‰PLP Ś‰BCS.2%°‰LDA#1†;BEIUNFORMATIERTEMTRACK6ş.0‡PHA‰;WIRDDAS'!'AUFDEMBILDSCHIRMAUSGEGEBENĉTAX ΉLDA#1؉LDYTRACKNUMâ‰JSRPUTBASEě‰PLAö‰TAX‰INX ‰TXA'‰CMP#19…;DIESERZAEHLERLAEUFTBIS#‰BCC.0†;SEKTOR18ERREICHTIST(- 2‰JMPNS<.1‡PLP‰;WRITECOMMAND? F.2‡BCSNW P‰LDA#0 Z‰STAYS0 d‰STAYS1nL3S†JSRSET x‰LDYYS0 ‚‰LDA(DISPLAY),Y;IDSTATUSŒ‰PHA–‰INY ‰LDA(DISPLAY),YމPHA‰;TRACK´‰INYž‰INYȉLDA(DISPLAY),Y;SECTOR҉PHA܉INCDISPLAY+1;GETSECTORć‰LDYYS1…;STATUSđ‰LDA(DISPLAY),Yú‰PHA ‰LDX#3 .4‡PLA‰STAOTAB,X"‰DEX ,‰BPL.46-7@;ALLEWICHTIGENDATENFUEREINENSEKTORSINDJETZTJ;IMLABELOTABVORHANDEN.#T;Y=TRACK,X=SECTOR,A=STATUS^- h‰LDAOTABr‰ORAOTAB+3 |‰BNEOK †‰LDA#$A‰LDXOTAB+2š‰LDYOTAB+1¤‰JSRPUTBASE Ž‰JMPOK1 ¸OK‡LSR‰LSR̉CLC Ö‰ADC#$10ŕ‰LDXOTAB+2ę‰LDYOTAB+1ô‰JSRPUTBASEţOK1†INCYS1  ‰LDAYS0 ‰CLC  ‰ADC#7 & ‰STAYS00 ‰CMPFORKEN : ‰BCCL3SD NS‡JSRSETN ‰INCDISPLAY+1X ‰LDY#$7E„;GETDATENb ‰LDA(DISPLAY),Y;LAENGE l ‰STADLENv ‰INY€ ‰LDA(DISPLAY),YŠ ‰STADLEN+1” ‰RTSž -¨ NW‡LDYTRACKNUM ˛ ‰LDX#19 ź ‰LDA#$80Ć ‰JSRPUTBASE Đ ‰JMPNSÚ -ä TEXTOUT‚PLA î ‰STA$0ř ‰PLA !‰STA$1 !.2‡LDY#1!‰LDA($0),Y !‰INC$0 *!‰BNE.3 4!‰INC$1>!.3‡CMP#$EA H!‰BEQ.4 R!‰JSREOUT \!‰JMP.2f!.4‡JMP($0)p!-z!COMT0„.DA#$54,SDRV0„!COMT1„.DA#$55,SDRV1Ž!COMT2„.DA#$56,REFORM˜!-˘!SIOT….HX0C31015080‚COM50Ź!‰.DABEGINś!‰.HXFFFF80000080Ŕ!-Ę!SIOT1„.HX0A31014C01‚COM4CÔ!‰.DA$8000Ţ!‰.HXFFFF0000č!-ň!SIOT2„.HX0A31015440‚COM54ü!‰.DACONSTAT"‰.HXFFFF0100"-"SIOT3„.HX0A31014180‚COM41$"‰.DA$3000."‰.HXFFFF03008"-B"SIOT5„.HX0A31015540‚COM55L"‰.DACONSTATV"‰.HXFFFF0100`"-j"SIOT6„.HX0A31015600‚COM56t"‰.DA$3000~"‰.HXFFFF0000ˆ"- ’"SIO2TAB‚.HX0C31015240‚COM52 œ"‰.DACBUFŚ"‰.HXFFFF8000°"‰.DAHEADBUFş"-Ä"CONSTAT‚.HX00Î"-Ř"SIOINIT0STXSAV1â"‰STYSAV1+1 ě"‰LDY#0ö"‰LDA(SAV1),Y#‰TAY #.1‡LDA(SAV1),Y#‰STA$300-1,Y#‰DEY (#‰BNE.12#‰RTS<#-F#DRVJMPƒPHA‰;SAVDRIVENoP#‰PHPZ#‰STX$30A„;SETZESPRUNGd#‰STY$30B„;ADRESSEn#‰LDX#SIOT1x#‰LDY/SIOT1‚#‰JSRSIOINIT0;INITSIOŒ#‰PLP –#‰BCC.1  #‰LDA#$4D Ş#‰STA$302´#.1‡PLA‰;GETDRIVEž#‰STA$301„;SETNo.Č#-Ň#MAINSIO‚LDA#$40 Ü#‰STA$10ć#‰STA$D20E đ#‰JMP$400ú#-$;COMMANDINITILIZEROUTINE$-$COMINIT‚PHA‰;RETTEA "$‰TXA‰;X,$‰PHA‰;UND 6$‰TYA‰;Y@$‰PHA‰;AUFSTACKJ$‰LDX#SIOT3‚;INITSIOT$‰LDY/SIOT3‚;MIT^$‰JSRSIOINIT0;CMD$41h$-r$‰PLA |$‰STA$305†$‰PLA $‰STA$304š$‰PLA¤$‰STA$301ƒ;DRVNOŽ$‰JSRMAINSIO ¸$‰LDA$301Â$‰RTSĚ$-Ö$;BILDSCHIRMAUSGABEŕ$- ę$EOUT…TAYô$‰LDA$E407ţ$‰PHA%‰LDA$E406%‰PHA%‰TYA&%‰RTS0%-":%;HEXOUTGIBTZWEIHEXADEZIMAL"D%;ZAHLENAUS.DASBYTEMUSSIMN%;ACCUSTEHENX%-b%PHEXOUT‚PHA‰;RETTEBYTEl%‰LSR‰;MULTIPLIZIERE v%‰LSR‰;DEN€%‰LSR‰;WERTŠ%‰LSR‰;4MAL”%‰JSRHEXOUT0ž%‰PLA ¨%‰AND#$F˛%HEXOUT0‚CMP#10…;0-9?ź%‰BCC.1†;JAĆ%‰ADC#6†;MUSSA-F Đ%.1‡CLCÚ%‰ADC#$30„;LESEASCIIä%‰JMPEOUT„;AUSGABEî%-ř%;INITIALFLAGTELLSNOTTO!&;PROGRAMMTHEDRIVEANYMORE &-&ADDBUFƒLDA$304 &‰EOR#$80 *&‰STA$3044&‰BMIINCBUF >&‰INC$305H&INCBUFƒLDA$30A R&‰EOR#$80 \&‰STA$30A f&‰BMI.2 p&‰INC$30B z&.2‡RTS„&-Ž&OPENSCR‚JSROPENE ˜&‰LDA#1 ˘&‰STA$2F0Ź&‰JSRTEXTOUT ś&‰.HX7DEAŔ&‰RTSĘ&-Ô&OPENE„LDA$E401Ţ&‰PHAč&‰LDA$E400ň&‰PHAü&‰RTS'-';ADDBUFFERROUTINE:'-$'ADDBUFR‚LDARDSKPAR0+2.'‰CLC 8'‰ADC#$80B'‰STARDSKPAR0+2 L'‰BCC.1V'‰INCRDSKPAR0+3`'-j'.1‡INCRSECt'‰BNESETSECR~'‰INCRSEC+1ˆ'-’'SETSECR‚LDARSECœ'‰STARDSKPAR0Ś'‰LDARSEC+1°'‰STARDSKPAR0+1ş'‰RTSÄ'-Î'TRACKTAB.BL80,0Ř'RSEC….HX0000â'-*ě'HEADERWA.BL$180,0‚;HEADERWORKAREAö'-6(;$180BYTESFREIERARBEITSSPEICHERFUERDENTRACK (-(DRIVESƒ.HX00000000