þþG`m‰CHECKROM1$>;;Loeschenam &ˆCHECKSUMbm&ˆCHECKSUMcm$‡CHECK1L ‰GETCHECKS;;$C002-$CFFF,dm(> ;;$5000-$57FF undemH‡CHECK1L;;$D800-$DFFF.fm"Q‡PSUMME1;;Werte aus dem ROM ingm$‡PSUMME1;;A=LO, X=HIhm)ˆCHECKTSTRˆCHECKSUM;;Vergleich mit denim!HˆCHECKERR;;errechneten Wertenjm(ˆCHECKSUMkm HˆCHECKERRlm,;;Pr}fsumme ROM okmm:nm#ˆCHECKERR;;;Pr}fsumme ROM Fehlerom:pm‰CHECKROM2$>;;Loeschenqm &ˆCHECKSUMrm&ˆCHECKSUMsm$> ;;0-11 war schontm" ‰GETCHECKS;;$E000-$FFF7, X=X+4um ‰GETCHECKS;;$FFFA-$FFFFvm"Q‡PSUMME2;;Werte aus dem ROM inwm$‡PSUMME2;;A=LO, Y=HIxm !ˆCHECKTSTym.‰GETCHECKS%>;;Errechne die Pr}fsumme }berzm)‡CSRANGEQ…CSTAB9;;die Speicherbereiche{mPƒANF8;;Anfangsadresse und|m2;;Endadresse+1 aus der}m3;;Tabelle.~m!)>;;Nach jedem Durchlauf istmH‡CSRANGE;;X um 4 groesser.€m'%>;;F}r die indirekte Adressierungm(…CSADD,;;16-Bit Addition m. Uebertrag‚mQ@ƒANF7;;Byte lesenƒm+OˆCHECKSUM;;bisherige Pr}fsumme addieren„m#PˆCHECKSUM;;neuen Wert speichern…m DˆCSINCADR†m%#ˆCHECKSUM;;Uebertrag speichern‡m(ˆCSINCADR#ƒANF;;Adresse um 1 erhoehenˆm HˆCSCMPEND‰m #ƒANFŠm.ˆCSCMPENDQƒANF;;Vergleiche: Ende erreicht ?‹mRƒENDŒmH…CSADD;;Nein ->m QƒANFŽm RƒENDmH…CSADD;;Nein ->m:‘m…CSTAB À;;$C002-$CFFF’m Гm P;;$5000-$57FF”m X•m Ø;;$D800-$DFFF–m à—m à;;$E000-$FFF7˜m øÿ™m úÿ;;$FFFA-$FFFFšm ›m#…FREI4 ;;Schrott, 13 Byte freiœm m ƒžm BŸm B m ¡m ¢m‡PSUMME2 Œl;;Pr}fsumme 2£mX;¤m1 †NMIVKT;;Vektor: Nicht maskierbarer Interrupt¥m. …RESET;;Vektor: RESET-Taste wurde gedr}ckt¦m1 †IRQVKT;;Vektor: Maskierbarer Interrupt (IRQ)