[zxspectrum] Re: USR 0

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

Il giorno dom 23 mag 2021 alle ore 16:58 Massimo Raffaele <
massimo.raffaele@xxxxxxxxx> ha scritto:


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... :-(


Mi spiego meglio:
c'è un programma di Enrico (scritto diciamo "su commissione" :-D) che ho
usato e uso per convertire alcuni snapshot .SNA nel formato .TAP.
Anche il suo programma fa uso, in una delle sue modalità, della zona di
memoria corrispondente al buffer della stampante, per cui i TAP risultanti
non giravano su 128.
Avevo però scoperto anch'io, come tu con il programma che ti ho allegato
(Success or failure 2), che facendo partire il 128 in modalità 48 i TAP si
caricano perfettamente.
Non solo, ma si caricano anche in modalità 128 + USR 0, pur facendo uso
della zona del buffer.
E, ciliegina sulla torta, si caricano pure (in modalità 128) anteponendo
l'utility Usr0x01.

Ora, Success or failure 2 si carica su 128 se vai in modalità USR 0.
Perché, se antepongo la Usr0x01 (mandando quindi il 128 in modalità USR 0),
non si carica?

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: