[zxspectrum] Re: R: Riviste

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Thu, 10 Nov 2022 15:19:09 +0100

Altro messaggio importante (per chi vuole tutto il file può scaricarlo dal mio sito):

https://www.emagsoftware.it/spectrum/sinclairita.zip

--------------------------------------------------------------------------------
From: Alessandro Brienza 2:334/210
To:   Enrico Maria Giordano 2:24210/1
Subj: HD Project su ROM
Date: Ve, 04 Lug 97  22:05
--------------------------------------------------------------------------------

EMG> Direi che la cosa risulta simpatica dato che l'utilizzo e' sicuramente
 EMG> facilitato rispetto alla scomoda sintassi delle UDF.

Altro che. Mi sto' sistemando in una maniera che la Plus D mi diventera' quasi
superflua. :-)

AB> mi sono accorto dopo diverse prove che in fase di caricamento si possono
 AB> avere alcuni errori di ricezione nei primi byte.

EMG> Probabilmente c'e' qualche temporizzazione diversa. Forse la ROM e' piu'
 EMG> lenta della RAM?

L'avevo pensato anch'io, dopo ho capito da cosa dipendeva.

 EMG> Le routine sono comunque poste sopra i 32 Kb, giusto? Mah...

No e' tutto in ROM; ho sfruttato il printer buffer per alcune variabili e basta.

AB> Il programma utilizza delle variabili e un buffer tutte poste nel printer
 AB> buffer.

 EMG> Bah, poco male, credo.

Per il COPY non ci dovrebbero essere problemi, semmai per qualche programma che
fa' uso di quella zona per metterci delle routine.

Ritornando al malfunzionamento, ho prima cercato di aggiustare le
temporizzazioni della routine RXD, ed ero arrivato a un punto che solo il primo
byte lo ricevevo errato.
Poi mi sono accorto che avevo cambiato un'istruzione, LD HL,(STA) in due LD
H,(IX+n), poste tra la fine della ricezione del nome del file e l'inizio del
blocco da ricevere.
Infatti la prima istruzione impiega 16 T-Stati mentre le due indicizzate 2*19
T-Stati.
Per rimediare al debito dei T-Stati ho spostato il caricamento del registro HL
indicizzato in un punto prima della ricezione del nome del file poi ho con un
PUSH HL lo salva sullo stack.
Al posto dell'LD HL,(STA) mi e' bastato mettere un POP HL di soli 10 T-Stati. A
questa maniera mi e' stato molto piu' semplice mettere a punto la routine RXD.

Ho fatto fare alcune centinaia di prove di caricamento con verifica, senza
riscontrare anomalie nella ricezione.

Adesso non ci sono piu' limiti nell'usare il PCHOST. In teoria e' possibile
disporre di qualsiasi programma, utility, istantaneamente senza stare a
cervellarsi per ricordare in quale dischetto si era posto quel tal programma.
Ho risolto anche un problemino del PCHOST04; infatti se mentre gira il PCHOST
sul PC, lo Spectrum deve essere spento e riacceso (ad esempio per avere un reset
completo della Plus D), il PCHOST va' in errore, ma prima di ritornare al DOS
attende la pressione di un tasto. Questo comportamento forza l'utente a
rimettere le mani sul PC e a riaccendere eventualmente il monitor.
Pero' ho trovato uno stratagemma per forzare il PCHOST a ritornare al DOS senza
attendere la pressione di un tasto.

Ecco come: PCHOST -W > NUL
Ho poi compilato queste istruzioni Basic:

DEFINT A-Z
PCH:
SHELL "PCHOST -W > NUL"
IF INKEY$<>CHR$(27) THEN GOTO PCH
END

Finche' non sara' l'utente a premere l'Escape sul PC, il PCHOST non si potra'
mai fermare.

Alessandro

--- Maximus 2.02
 * Origin: Joe COCKER's BBS - Spazio Sinclair. (2:335/17)

--
Enrico Maria Giordano

http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg

Other related posts: