[zxspectrum] Re: Ma e' possibile?!?

  • From: Massimo Raffaele <massimo.raffaele@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Wed, 17 Nov 2004 23:51:06 +0100

Va beh, allora se vogliamo essere ancora più precisi lo Spectrum non ha 48Kb liberi da programmare per il BASIC, bensì meno di 41 (c'è anche lo spazio delle variabili di sistema ecc.), perché lo spazio dedicato alla memoria di schermo (dal 16384 in poi) non è usabile (riempibile con linee di programma, intendo).

MaxRaf

At 17.17 17/11/2004, you wrote:


Ciao!
Solo una piccola (doverosa) correzione: la limitazione dei 32 Kb disponibili riguardava solo il Basic. Per il linguaggio macchina il C64 rendeva disponibili *tutti* i 64 Kb, quindi più del 48Kb del "nemico"...

Dipendeva da cosa facevi... la storia del "sistema a 64K di ram" e' vera, ma solo se si studiava come era fatta la macchina si capiva perchè ne avevi la meta col Basic...


Il c64 ha il sistema dei banchi di memoria "interscambiabili" se ti ricordi. Le ROM hanno gli stessi indirizzi delle memorie RAM, e di default le rom sono tutte attive (naturalmente ;) ), mettendo i 32 Kb a disposizione. Con il linguaggio macchina varie sezioni, a scelta, potevano essere disattivate attraverso alcuni registri, e sostituire la ROM con della RAM programmabile. Disattivando il Basic si avevano 48Kb come nello ZX, ne piu ne meno. Per averne di più si può disattivare anche il resto della kernel, salendo a 56, e se serve si possono togliere tutti gli I/O arrivando a 64K completi. A questo punto, però, la macchina è completamente priva di qualsiasi Kernel che la faccia funzionare.
Nei giochi e normali applicativi la scelta più frequente e quella di togliere solo il basic e lavorare con 48k, e usare la kernel della ROM. Percio ZX e C64 nella maggior parte dei casi si sono sfidati "a parità di RAM" :D:
Le soluzioni dei 56K e 64K sono adottate per compiti speciali dove la kernel in se non è molto utile: specialmente copiatori per disco (oltretutto ben fatti), oppure se si doveva riscrivere da 0 la kernel. L'ambiente grafico GEOS (non so se chi ha il c64 se lo ricorda qui...) per esempio rimpiazzava completamente tutte le funzioni dello c64, riprogrammandolo completamente: un caso in cui devono aver utilizzato una memoria piena a 64K.


Si puo dire comunque che la quantita di memoria usata sul c64 di frequente è di 48K, mentre 56 e 64K è per impieghi speciali.




Other related posts: