[zxspectrum] Re: USR 0

  • From: Massimo Raffaele <massimo.raffaele@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 23 May 2021 16:58:01 +0200

Il giorno dom 23 mag 2021 alle ore 10:06 gazzosa@xxxxxx <gazzosa@xxxxxx> ha
scritto:

La soluzione è molto più semplice.

Basta caricare in modalità 48 BASIC. Non serve USR 0. Provato su SpecEmu.


E certo, questo lo so, grazie tante! :-)


Credo che la causa sia la linea:

10 POKE 23570,16

Dovrebbe essere una modifica alla variabile di sistema STRMS per
nascondere i messaggi "Program:..." e "Bytes...", in luogo della più comune
POKE 23739,111. Forse a causa delle differenze tra la ROM del 48K e la ROM
0 del 128K e successivi, provoca un intoppo nel caricamento.


Ah, ok :-(.

Anche omettendo la linea incriminata,

il programma non può girare su di un 128K e successivi, perché - esaminando
le prime righe del programma "INTRO" - si nota che esso scrive del codice
alla locazione 23296, dove si trova il buffer della stampante. Come è noto,
quell'area di memoria nella ROM 0 del 128K è stata riutilizzata per le
variabili di sistema specifiche del modello. Di conseguenza il sistema
diventa instabile e va in reset all'esecuzione della linea:

10 RANDOMIZE USR 23296


Capisco.


Ripeto, l'unica soluzione è caricare il programma in modalità 48 BASIC.


Sì, ma cercavo una soluzione automatica e trasparente all'utente, come
quella fornita da quell'utility, appunto (non ho ancora capito perché con
alcuni programmi non funziona).
Pazienza... :-(

Grazie,
Max


<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Mail
priva di virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Other related posts: