[zxspectrum] Re: Bandito 2020

  • From: Stefano Guida <flydreamf@xxxxxxxxx>
  • To: "zxspectrum@xxxxxxxxxxxxx" <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 5 Apr 2020 08:06:22 +0200

Ma Alessandro non è più iscritto alla ML?

Il giorno sabato 4 aprile 2020, Massimo Raffaele <massimo.raffaele@xxxxxxxxx>
ha scritto:

Riporto quello che mi ha risposto Alessandro:

"Ciao Max,

la POKE che ho aggiunto serve a inizializzare il set di caratteri
personalizzato presente nel gioco.

Infatti se ricordi lo schema delle variabili di sistema dello Spectrum,
CHARS, all'indirizzo 23606, è quella a 2 byte che punta all'indirizzo del
set di caratteri meno 256.

Ora, AGD dalla versione 4.0 in poi pone il set di caratteri usato dal
gioco all'indirizzo 31231. Poiché 31231-256 = 30976, e 30976/256 = 121,
ecco che POKE 23607,121, ossia il byte più significativo per via del
sistema "little endian" usato dallo Z80, fa sì che CHARS punti al nuovo set
di caratteri quando il gioco è stato caricato e prima di lanciarlo con la
solita RANDOMIZE USR 32000 (il byte meno significativo rimane a 0
dall'accensione del computer, a meno che l'utente non lo modifichi
espressamente). Prova a omettere quella istruzione POKE dal caricatore
BASIC e vedi cosa succede.

Riguardo i TAP che non funzionano con alcuni emulatori perché "mascherano"
gli indirizzi con un punto (con Tapir puoi vedere quelli reali, basta
spuntare "Show numbers" quando esamini il blocco dati BASIC) ormai penso
che non ci sia più nulla da fare, in quanto Jonathan ha da tempo
abbandonato la vecchia utility per Spectrum per dedicarsi
all'AGD multi-piattaforma per Windows. Io però non l'ho ancora usata. Il
gioco che sto sviluppando per adesso, quello di cui ho parlato più volte su
Youtube e nell'annuario, è programmato con ZX-BASIC come Ad Lunam."

Max


Other related posts: