[zxspectrum] Re: Bandito 2020

  • From: Paolo Ferraris <pieffe8@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sat, 4 Apr 2020 12:50:16 -0700

On Sat, Apr 4, 2020 at 12:33 PM Massimo Raffaele <massimo.raffaele@xxxxxxxxx>
wrote:

Il giorno sab 4 apr 2020 alle ore 20:22 Paolo Ferraris <pieffe8@xxxxxxxxx>
ha scritto:

Come gia` detto, :-)

"Il POKE sostituisce l'unico pezzo di codice L/M utile alla fine del
loader BASIC. Senza di questo alcuni simboli speciali come la pistola non
sono mostrati correttamente."


Sì ma non capisco... perché sostituisce quel codice? E' del tutto inutile?
(il codice)
Se il codice viene caricato si sballano i simboli speciali?
Quindi il Poke inserisce un Jump?


Ricapitoliamo

Il programma BASIC originale, dopo aver eseguito un CLEAR XXXXX e un LOAD
"" CODE, fa un RANDOMIZE USR 23XXX (numero preciso irrilevante), che fa
varie cose. Le piu` rillevanti sono:
1) Carica un blocco headerless all'indirizzo 49152)
2) Punta il set di caratteri all'indizzo 30976.
3) Salta all'indirizzo 32000 (il gioco parte)

Abbiamo determinato che il passo 1 e` inutile visto che non c'e` nessun
altro blocco da caricare. Anzi, a meno autorewind gli emulatori si bloccano.
Il passo 2 puo` essere sostituito dal POKE in questione.

Per cui l'intero caricamento puo` essere sostituito dalla sequente linea
BASIC:

CLEAR XXXXX: LOAD "" CODE: POKE 23606,XXX: RANDOMIZE USR 32000

Che e` esattamente quello che il codice di Alessandro fa.

Other related posts: