[zxspectrum] Re: R: Re: R: Re: R: Re: R: Re: DEMO PENTAGON su ZX-UNO

  • From: Stefano Donati <sd75@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 2 Sep 2016 20:03:24 +0200

Il 02/09/2016 18:34, Luca Alimandi ha scritto:


In realtà c'è anche un furbo trucchetto che sfrutta il fatto che la fine della ROM dello Spectrum è occupata da una lunga serie di byte con valore FF (255)...
In questo modo la tabella, già bella e pronta in ROM, fa saltare sempre a 65535. In questa locazione si deve porre un byte di valore 195 (è l'istruzione JP), dopo di che i due byte successivi (agli indirizzi 0 e 1, sempre della ROM) determinano dove va a parare il processore, ossia all'indirizzo 243 + 175 x 256 = 45043.
In pratica permette di risparmiare i 257 byte della tabella e il pezzettino di codice per crearla. Di contro costringe a posizionare la routine di gestione dell'interrupt nella posizione fissa 45043. Però in caso di estrema necessità di spazio è una soluzione molto intelligente! ;-)

Certo... ma nel caso tu avessi a che fare con un 128K devi essere ben certo che la ROM paginata sia quella giusta!

Stefano.

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus


Other related posts: