Freie Bytes am Anfang der PM Mem Map nutzen ?


Freie Bytes am Anfang der PM Mem Map nutzen ?

von FlorianD » Mo 8. Nov 2010, 10:57
Hi,

kann man bei PM Grafik die freien Bytes (0-384 oder 0-768 Bytes) am Anfang des PM Speichers eigentlich gefahrlos benutzen? Oder friemelt das OS da drin rum?
Gibts da einen nachvollziehbaren Grund, warum die überhaupt frei sind?

Grüße,
F.

Re: Freie Byte am Anfang der PM Mem Map nutzen ?

von HiassofT » Mo 8. Nov 2010, 12:45
Hallo Florian!

FlorianD hat geschrieben:kann man bei PM Grafik die freien Bytes (0-384 oder 0-768 Bytes) am Anfang des PM Speichers eigentlich gefahrlos benutzen? Oder friemelt das OS da drin rum?
Gibts da einen nachvollziehbaren Grund, warum die überhaupt frei sind?

Ja, den Speicher kannst Du problemlos für andere Sachen nutzen.

Das OS macht auch nichts damit, auf den Speicher greifen ausschliesslich der ANTIC bzw. der GTIA lesend zu (ANTIC legt die Adresse an den Bus, GTIA holt sich die Daten vom Datenbus).

Der Grund wieso die Bytes unbenutzt sind dürften wahrscheinlich von der Implementierung von ANTIC/GTIA herrühren. Insgesamt braucht die PM/Grafik ja 5*128 bzw. 5*256 Bytes an Speicher, da ist es einfacher einen ganzen 1k bzw 2k Block zu nehmen und darin die Adressen hochzuzählen. Alle Daten liegen dann immer inerhalb eines "glatten" 1k bzw 2k Blocks. Die Zähler haben dann einfach eine fixe Breite (10 bzw 11 Bits), die oberen Bits kommen aus dem PMBASE Register. Ähnlich wie bei der Display List und dem Screen, die dürfen ja auch keine 1k bzw 4k Grenze kreuzen.

Besser wär's natürlich gewesen, die Zähler wären alle 16 bit breit, dann müssten wir uns nicht mit den Block-Grenzen rumschlagen. Aber da kann man nichts machen, ist nun mal so :-)

so long,

Hias

Re: Freie Byte am Anfang der PM Mem Map nutzen ?

von FlorianD » Mo 8. Nov 2010, 13:45
Gut! Dann nutze ich das in Zukunft für Player/M. X und Y-Werte (die man ja nicht aus den Registern auslesen kann), und für Längen und Muster zum Merken. Platz ist ja reichlich da.