ER„ÿ”
‰.LIOFF-;AssemblerKurs#7(;2;SIO-Demo<;F;Assemblierenmit'A.'undP;mit'RUNSTART'startenZ-dDDEVIC=$300„Geraete-KennungnDUNIT=$301…Geraete-NummerxDCOMND=$302„Kommando"‚DSTATS=$303‚Datenrichtung+Err.ŒDBUF=$304†Adress-Zeiger–DTIMLO=$306„Timeout-Wert DBYTE=$308…LaengeªDAUX=$30A†Hilfsreg(Sektor)´SIOV=$E459…Einsprungsadress¾DSKINV=$E453„-"-È;ÒSOUNDR=$41…0=keinI/O-SoundÜDSTAT=$2EA…Status-RegisteræCONSOL=$D01FðBUF=$3F00úSDLSTL=$230SDMCTL=$22FCOLOR2=$2C6BACK=$2C8"SKSTAT=$D20F,DENS….HX00„1=MD,$80=DD6-!@;Unterprogramm,dasRegister"J;fuereinenallgemeinenDisk-T;aufrufinitialisiert^;h;BeimEinsprung: r;<A>+<Y>SektornummerLO+HI|-†SETD…STADAUX‰STYDAUX+1š‰LDA#$31†Floppy¤‰STADDEVIC®‰LDA#'R‡ReadSec¸‰STADCOMNDÂ‰LDA#$40†DateninÌ‰STADSTATSÖ‰LDA#BUFà‰STADBUFê‰LDA/BUFô‰STADBUF+1þ‰LDY#1‰Drive1‰STYDUNIT‰DEY‰STYDTIMLO+1ƒimmer0&;0‰LDA#$80:‰LDXDENS‡$80=DDD‰INXN‰BPL.3‡wennja,X‰LDXDAUX+1ƒundnichtb‰BNE.2‡Sek.1-3l‰LDXDAUXv‰CPX#4€‰BCC.3ˆdannŠ.2‡ASL‹256Byte”‰INYž.3‡STADBYTE¨‰STYDBYTE+1²;¼‰LDA#7Æ‰STADTIMLOÐ‰JSRSIOVÚ‰BMIERRORä‰RTSî-/øERRZ….AT" Fehler #$xx !!!        <START> "ERRT….AT"0123456789ABCDEF";ERROR„TYA ‰LSR‡Fehlernummer*‰LSR‡anzeigen4‰LSR‡(inHex)>‰LSRH‰TAXR‰LDAERRT,X\‰STAERRZ+10f‰TYAp‰AND#$Fz‰TAX„‰LDAERRT,XŽ‰STAERRZ+11˜‰LDA#ERRZ¢‰STADLS¬‰LDA/ERRZ¶‰STADLS+1À‰LDA#$70Ê‰STADLPÔ.1‡LDACONSOL„Bit1=0:Þ‰LSR‹<START>è‰BCS.1ò‰PLAü‰PLA‰JMPSTART-;TESTD$;#.;fuehrtDensity-CheckderDisk8;durchundsetztDENSB-LTESTD„LDY#1ˆSektor4V‰STYDUNIT…lesen,`‰DEY‹damitj‰STYDAUX+1„Floppyt‰STYDTIMLO+1‚sichauf~‰STYDENSˆ‰LDA#'R‡dasFor-’‰STADCOMND„matein-œ‰LDA#$31†stellt¦‰STADDEVIC„und°‰LDA#7ˆErrorº‰STADTIMLO„ignorie-Ä‰LDA#BUF†renÎ‰STADBUFØ‰LDA/BUFâ‰STADBUF+1ì‰LDA#4ö‰STADAUX‰LDA#$40
‰STADSTATS‰JSRSIOV;(‰LDA#12‰STADUNIT<‰LDA#'S„ReadStatusF‰STADCOMNDP‰JSRDSKINVZ‰BPL.1d‰JMPERRORn;x.1‡LDX#$B3„S‚‰LDYDSTATŒ‰TYA–‰AND#$80„Enhanced? ‰BEQ.2ª‰INCDENS´‰LDX#$AD
¾.2‡TYAÈ‰AND#$20„Double?Ò‰BEQ.3Ü‰SECæ‰RORDENSð‰LDX#$A4ú.3‡STXSEKZ+28‰RTS-DL‡.BL10,$70"‰.HX42,‰.DABUF6‰.HX020202@DLW†.HX707070707042JDLS†.DAINFOZTDLP†.HX0241^‰.DADLh;0rINFOZ„.AT"ÓÔÁÒÔ +1  ÓÅÌÅÃÔ -1  ÏÐÔÉÏÎ Bye "/|SEKZ….AT"«ÓÈÉÆÔ +-16   ÓÅËÔÏÒ ¤øøøø  øÄ  "†;SETUP„LDA#DLš‰STASDLSTL¤‰LDA/DLˆneueDL®‰STASDLSTL+1¸‰LDA#$90Â‰STACOLOR2…neueÌ‰LDA#$A0‡FarbeÖ‰STABACKà‰LDA#INFOZê‰STADLSô‰LDA/INFOZþ‰STADLS+1‰LDA#$2‰STADLP‰LDYDENS&‰BMI.10‰LDA#$70:.1‡LDX#4D.2‡STADLW-1,XN‰DEXX‰BNE.2b‰LDA#$21„schmalerl‰STASDMCTL‚Screenv‰RTS€-ŠSEK†.HX0000”;žSTART„LDY#1†Sektornr.1¨‰STYSEK²‰DEY¼‰STYSEK+1Æ;Ð‰JSRTESTDÚ;ä.1‡JSRSETUPî‰JSRSETN„Sektoran-ø‰LDASEK…zeigen‰LDYSEK+1ƒundlesen‰JSRSETD; .2‡LDX#1*‰LDASKSTAT4‰AND#8†SHIFT?>‰BNE.3H‰LDX#16R;\.3‡LDACONSOLf‰LSR‰OPTION?p‰BCS.4z.41†INCSEK„‰BNE.42Ž‰INCSEK+1˜.42†DEX¢‰BNE.41¬‰BEQ.1¶;À.4‡LSR‰START?Ê‰BCS.6Ô.31†LDASEKÞ‰BNE.5è‰DECSEK+1ò.5‡DECSEKü‰DEX	‰BNE.31	‰BEQ.1	;
$	.6‡LSR.	‰BCS.28	‰LDA#$20B	‰STASDLSTLL	‰LDA#$BCV	‰STASDLSTL+1`	‰LDA#$22j	‰STASDMCTLt	‰RTS~	-ˆ	SETN…LDA#0’	‰CMPSEK…wennSek=0œ	‰BNE.1†dannSek=1¦	‰CMPSEK+1°	‰BNE.1º	.99†JMPSTARTÄ	;Î	.1‡LDYSEK+1Ø	‰BMI.99â	;ì	‰LDA#721ö	‰LDY/721„wennSek
‰LDXDENS„zuhoch,

‰BMI.2†Sekwieder
‰BEQ.2†auf1
‰LDA#1041(
‰LDY/10412
.2‡CPYSEK+1<
‰BNE.3F
‰CMPSEKP
‰BCS.99Z
;d
.3‡LDY#22…Sektorn
‰LDASEK+1ƒHI+LOx
‰JSR.10…anzeigen‚
‰LDASEKŒ
‰JMP.10–
; 
.10†PHAª
‰AND#$F0´
‰LSR¾
‰LSRÈ
‰LSRÒ
‰LSRÜ
‰TAXæ
‰LDAERRT,Xð
‰ORA#$80ú
‰STASEKZ,Y‰INY‰PLA‰AND#$F"‰TAX,‰LDAERRT,X6‰ORA#$80@‰STASEKZ,YJ‰INYT‰RTS^-