[zxspectrum] Re: HD Project 115200!

  • From: Luca Alimandi <luca.alimandi@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Tue, 30 Jun 2015 01:17:22 +0200

Il 29/06/2015 09:25, Enrico Maria Giordano ha scritto:



Il 28/06/2015 23:53, Luca Alimandi ha scritto:

Sì, ho provato sia 60000 che 50000. Non cambia nulla. Al primo errore
BASIC il comando successivo per HD (FN()) manda in palla lo Spectrum! :-(

Ok. Allora il cerchio si restringe. Dunque: tu dici che se scrivi, ad esempio:

RANDOMIZE FN l("peppe",0)

e "peppe" non esiste, il programma ti restituisce "Invalid file name", giusto? E poi se scrivi subito dopo, sempre ad esempio

RANDOMIZE FN c("")

ti dà un errore (quale?), è così? Puoi fare la prova di cui sopra e riferire esattamente quello che succede?

Intanto rifletto. Se dopo un errore non funziona nessun altro comando allora il problema dev'essere in una routine chiamata da tutti gli altri comandi (siamo sicuri che lo faccia su tutti i comandi?).

Oppure il codice in alto è stato corrotto (puoi provare a ridare il CLEAR 65535 e ricaricare a mano il codice?).

Dai che il bug è ormai alle corde! :-)

Se mi fai tutti i test che ti chiedo (io non posso farli) vedrai che risolviamo.

Tra parentesi, ho anche provato a scaricare di nuovo la versione a
115200, ma sembra che ci siano ancora i vecchi problemi.
E' perché non hai ancora riportato le modifiche a HDIF1_115200.TAP o
perché forse non ci arriva per limiti hardware?...

Ops! Aggiornato. Riprovalo.

EMG



Comincio dalla fine!
1) ho scaricato dal sito l'ultima versione di HDIF1_115200.TAP (dovrebbe essere quella che hai aggiornato questa mattina)
Il file zip risulta di 514.192 byte

2) ho estratto i file dello zip in una nuova cartella E:\115200, ottenendo, tra l'altro:
HD32_115200.EXE (con data 28 ‎giugno ‎2015, ‏‎19:17:34) di 514.560 byte
HDIF1_115200.TAP (con data ‎29 ‎giugno ‎2015, ‏‎09:18:34) di 1.757 byte

3) ho elaborato HDIF1_115200.TAP con TAP2WAV ottenendo il file HDIF1_115200.wav

4) ho rielaborato questo file con Audacity (filtro BassBoost) ottenendo un nuovo file HDIF1_115200_BB.wav

5) ho caricato questo file sullo Spectrum reale tramite scheda audio
Tra l'altro ho notato che i blocchi presenti sul file WAV (sia prima che dopo l'applicazione del filtro) sono 4; sembra che il 4° blocco sia il 2° ripetuto.
Questo però non influisce nel caricamento perché dopo il 3° blocco compare:

0 OK, 0:6

e il caricamento si interrompe (anche se Audacity esegue anche il 4° blocco, si sente anche a orecchio, ma non viene caricato)
E' normale? Sarebbe meglio essere sicuri che il 2° blocco caricato sia quello corretto...

6) ho editato il file HD32.INI ed ho sostituito COM1 con COM10

7) ho avviato sul PC il file HD32_115200.EXE, ed è apparsa la console di HD, che indica correttamente "COM10:115200,N,8,2"

8) ho dato sullo ZX il comando:

RANDOMIZE FN c("")

e mi è comparso questo (esattamente):

HD Project 1.00
Bytes: HDCOD
Program: HDFN

No. of Free K-Bytes = 944721032
0 File(s)

Poiché manca la parte iniziale con la directory, penso sia ancora presente il vecchio problema.

9) Visto che c'è il dubbio sul secondo blocco del TAP, ho provato a caricare manualmente il 4° blocco al posto del 2°

Questa volta ottengo la seguente schermata:

HD Project 1.00
Bytes: HDCOD
Program: HDFN

* HD PROJECT CATALOGUE *

E:\115200

. DIR
.. DIR

No. of Free K-Bytes = 944721032
0 File(s)

Dunque concludo che nel TAP pubblicato sul sito ci sia ancora il secondo blocco vecchio (pre-aggiornamento) ed un quarto blocco che però in realtà è il secondo blocco corretto.
Puoi provvedere a correggerlo?


Veniamo alle prove sulla questione dell'errore BASIC.

1) per prima cosa ho provato a salvare un file, dando il comando:

RANDOMIZE FN s("s1",16384,6912,0)

ottenendo una schermata identica alla precedente, nessun errore.

2) sulla cartella "E:\115200" mi sono ritrovato il file "s1" di 7Kb (dunque tutto OK)!

3) poi ho provato a ricaricare il file con il comando:

RANDOMIZE FN l("s1",0)

riottenendo la schermata corretta. OK!

4) quindi ho introdotto un errore BASIC con il comando:

PRINT zeta

ottenendo l'errore:

2 Variable not found, 0:1

5) quindi ho dato un nuovo comando per HD, esattamente:

RANDOMIZE FN c("")

ottenendo lo schermo nero sullo Spectrum, che rimane in attesa all'infinito, e sulla console rimane l'ultimo comando che avevo dato, ovvero (esattamente):

Waiting command (ESC to exit)...
Listing...
Waiting command (ESC to exit)...
Saving...
Waiting command (ESC to exit)...
Loading...
Waiting command (ESC to exit)...
Loading...
Waiting command (ESC to exit)...

ma non c'è traccia dell'ultimo comando (dovrebbe esserci un "Listing..."), per cui presumo che dopo l'errore BASIC, lo Spectrum non riesca più a colloquiare con il PC per cui il nuovo comando non viene ricevuto da HD32 e non viene scritto sulla console...


Ho provato la stessa sequenza con HDIF1.TAP (a 57600), ed è esattamente la stessa cosa (non dipende dalla versione).


Spero di essere stato chiaro; ho cercato di essere molto preciso, a costo di essere un po' noioso, mi dispiace, ma in questi casi ogni particolare può essere importante!

P.S. Anche se non serve a niente, allego la schermata (almeno è una cosa che ha funzionato! :-) )




-- |_ /-\

Attachment: S1
Description: Binary data

Other related posts: