Von sich aus macht die MCU gar nichts.
Hmm, ich bin noch nicht sicher, wer (TOS/MMU) nun was genau macht. Bleibt die Frage, warum das Profibuch beschreibt, dass "die MMU" diese Werte vorgibt.
Sie muss ja schließlich einen linearen Speicher erzeugen. Egal, wo der nun liegt.
Ferner gilt natürlich - ohne genaue Prüfung meinerseits - , dass TOS das Register von sich aus beschreibt, oder zeitlich nach der MMU "überschreibt". Was gilt denn nun für das Register 0xFF8001? Wer ist der "Master"? Merkt sich die MMU mit diesem Register den "linearen" Speicher? Oder merkt sich TOS den adressierbaren Speicher?
TOS testet beim Booten "auf Verdacht" nacheinander die möglichen Bankgrößen (2 MiB, 512 KiB, 128 KiB) und prüft jeweils, ob der Speicher damit wie erwartet funktioniert. Auf Basis dieser Prüfung wird das erwähnte Register 0xFF8001 gesetzt.
Ja, wie oben! Die selbe resultierende Frage. Man muss, glaube ich, Hardwareabfrage nach linearen Speicher und Softwareabfrage nach verfügbaren Speicher ganz genau trennen. Sonst kommen wir auch in der Grundfrage "Wevelsiep'sche Lösung" nicht weiter.
Bitte Schritt für Schritt vorgehen.
Die MMU braucht andere Detektionen - vorab - damit ein linearer Speicher entsteht. Und das TOS hat Tests, damit die echte Speichergrenze detektiert wird.
Wenn Dir, Christian, klar ist, wer welche Schritte zu welchen Zeitpunkt durchführt (TOS (Software) oder MMU (Hardware)), dann bitte den Zusammenhang klar machen. Wie gesagt: Ich bin nur Hardwerker!
Für die Sache: Bitte den zeitlichen Ablauf [MMU detektiert, TOS analysiert] der RAM-Analyse genau spezifizieren, sonst wird uns m.E die Wevelsiep'sche Lösung nicht erschlossen.
Gruß Robert