Ich glaube der Basic-Speicher wurde bewusst auf 38kB limitiert, da beim Schreiben größerer Programme in Basic 2.0 die Gefahr besteht, dass der Kopf des Programmierers explodiert.
Hallo Besucher, der Thread wurde 5,2k mal aufgerufen und enthält 29 Antworten
letzter Beitrag von sixtyfour am
Warum hat der C64 "nur" 38911 Bytes frei?
- oobdoo
- Erledigt
-
-
Zitat
Oder belegen die Hardware-Register des CPC 464 bloß weniger Adressraum
Gibt es beim Z80 nicht einen eigenen IO-Speicherbereich ? Wird der beim CPC benutzt ?
-
Weil sich 64K Adressen mit genau zwei Bytes darstellen lassen. Für längere Adressen bräuchte man drei Bytes und/oder verschiedene Adressierungsarten (siehe 8086, wohin das im Extremfall führt)
Das ist wenigstens halbwegs plausibel für mich.Ich muß mal unbedingt meine Nervenenden im Hirn wieder mit Strom versorgen, inbetracht dessen was ich noch alles unbenutzt im "Temp-Ordner" liegen hab.
-
Claus' Argument mit dem Adressraum im Basic Programmierer-Hirn erscheint mir auch nicht ganz unplausibel.
-
Amerikanische Wissenschaftler haben herausgefunden, daß das durchschnittliche Arbeitsgedächtnis ohnehin nur etwa viertausend Zeichen umfaßt. Insofern ist der VC-20 (ohne RAM-Erweiterung) als ergonomisch optimal zu betrachten.
-
Hat der CPC jetzt ein besseres Speicherlayout als der C64 oder nicht?
Weder-noch. Er hat das bessere Bankswitching, und vor allem...
Ist es überhaupt relevant, dass das OS (also, das Basic), Bank Switching kann?
...nutzt er es auch in BASIC und OS. Denn genau daran scheitert der C64, daß ihm BASIC-ROM und IO-Bausteine im Weg sind - andernfalls könnte er sogar mehr freien Speicher haben als der Plus/4.
hat der einfach "weniger Hardware zum Einblenden"?
Abgesehen davon, daß der Z80 einen separaten IO-Adreßraum hat, dürften es beim CPC tatsächlich mehr Register sein als beim C64, allerdings geht letzterer recht verschwenderisch mit dem verbrauchten Platz um- 256 Bytes pro Chip, auch wenn es nur 16 Register sind. Die IO-Register sind aber noch der kleinste Teil des 'Problems' beim C64. Und wenn man erstmal ein bankkswitchendes Kernal hat, kommt es auf die genaue Größe des IO-Bereiches eh nicht mehr an- siehe C128.
Und wegen der 128-K-Rechner:
'ständig' banken die nicht, zumindest nicht das RAM. Sinclair beispielsweise hält eine RAM-Disk in den zusätzlichen 80K, die wird nur dann eingeschaltet wenn wirklich drauf zugegriffen wird. Commodore legt die Variablen in die zweite 64K-Bank (sowohl beim C128 als auch beim CBM-II), Atari macht im Grudnausbau gleich gar nix damit (erst ein entsprechendes DOS kann eine RAM-Disk dort ablegen), und beim CPC sieht es ähnlich aus- wobei CP/M 3 die oberen 64K als Arbeitsspeicher nutzt und die unteren für Bildschirm, Teile des CP/M-Kerns sowie diverse Zwischenpuffer, die das normale Anwendungsprogramm nicht zu kennen braucht.
Wo die banking-fähigen OS'e aber tatsächlich oft und gerne banken, ist die Umschaltung RAM-ROM. Und zwar auch schon bei den 64K-RAM-Rechnern wie CPC 464 und Plus/4. Sobald da ein BASIC-Programm ausgeführt wird, wird für jedes Zeichen des Programmcodes und jeden Variablenzugriff das ROM ausgeblendet, der Zugriff durchgeführt und wieder auf ROM zurückgeblendet.
-
-
Nach den ersten Antworten, ich sollte doch einfach nur die Speicherbelegung anschauen, hat sich das Thema gut entwickelt und es kamen einige interessante Informationen rüber.
Für meinen Teil ist alles mehr als beantwortet worden. -
Sind 38kb nicht 38912 Bytes?
zrs1 schrieb vor Dir:
Übrigens wären 38 kiB eigentlich 38912 Bytes. Eines geht noch "verloren", weil der Basic-Speicher erst bei Adresse $801 = 2049 beginnt...
Soll man noch was dazu schreiben?
Uch bin nur davon ausgegangen, daß - anstelle einer genaueren Rechnung - von dem Endbyte (0 bis 65535) die 26kB (26624 Bytes) abgezogen werden könnten und das Ergebnis in den Platzhalter eingetragen wird, der als Bildschirmausgabe dient! -
Amerikanische Wissenschaftler haben herausgefunden, daß das durchschnittliche Arbeitsgedächtnis ohnehin nur etwa viertausend Zeichen umfaßt. Insofern ist der VC-20 (ohne RAM-Erweiterung) als ergonomisch optimal zu betrachten.
Und ich überflute meine Hirnmasse teilweise noch mit der "wahnwitzigen" Leistung vom 128er......Ich muß einfach verrückt sein (nach nächstem Fenster ausschau halte) oder ich benutze wieder den Taschenrechner welchen ich vor 37 Jahren beim Vogelschießen gewann