[zxspectrum] Re: USR 0

  • From: "gazzosa@xxxxxx" <gazzosa@xxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 23 May 2021 10:06:26 +0200 (CEST)

La soluzione è molto più semplice.
Basta caricare in modalità 48 BASIC. Non serve USR 0. Provato su SpecEmu.
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.
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
Ripeto, l'unica soluzione è caricare il programma in modalità 48 BASIC.
-Alessandro

Other related posts: