[zxspectrum] Re: Logic Analyzer

  • From: Luca Alimandi <luca.alimandi@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sat, 29 Nov 2014 23:08:48 +0100

Enrico Maria Giordano ha scritto:


Il 29/11/2014 10:44, Enrico Maria Giordano ha scritto:

Sì, certo, così si vede. Solo che mi sarebbe piaciuto "vedere" un file
audio. :-)

Fatto! Ho messo la porta 61438 e poi ho avviato il registratore inserito nell'ingresso Line con una cassetta contenente un file audio del CBM 64. Funziona! :-)

Con 100 KHZ si vede benissimo. Ti propongo però nuovamente di aumentare l'altezza del gradino. :-)

EMG


Wow! "Allora funziona!...", come diceva un mio amico programmatore simapticissimo, Gaspare, quando vedeva i suoi programmi funzionare. Non credeva ai suoi occhi! Mi faceva morire dal ridere!... Beh, ottima notizia, e mi fa piacere che sia riuscito a vedere proprio un segnale audio, come speravi. Se ho capito bene hai caricato il programma sullo Spectrum reale e poi hai campionato un segnale proveniente dal registratore a cassette... Giusto? Solo non ho capito come mai hai usato la porta 61438. Per come ho programmato il codice, i bit che vanno ai canali 1-4 sono i bit 0-3, per cui il bit 5 (quello della porta Mic IN) non dovresti vederlo. Come ha potuto funzionare? Per tale motivo avevo previsto la porta 254, in quanto solo in questo caso il bit 5 veniva mandato al canale 1... C'è qualcosa che non mi quadra... O ho sbagliato io la programmazione (ed allora è bene approfondire per correggere eventuali bug), oppure hai usato la porta 254 ed hai solo sbagliato a scrivere il messaggio... Fammi sapere! ;-)

Per quanto riguarda la proposta di aumentare il gradino, suppongo che tu intenda la distanza tra il livello 0 e il livello 1. La distanza attuale è di 8 pixel, in quanto, per come avevo concepito la tecnica di disegno della forma d'onda, il livello 0 era al fila più bassa di un carattere 8x8 e il livello 1 la fila più alta. Il codice che c'era dietro sfruttava questa particolarità per semplificare un po' la routine e velocizzare così la renderizzazione del diagramma.

In via di principio però si potrebbe fare. Ma ho paura che aumentando l'altezza di ciascun canale, il livello 0 del canale soprastante si avvicinerebbe troppo al livello 1 del canale sottostante, e siccome non esiste un vero e proprio asse del livello 0, il tutto finirebbe per confondersi un po'... Si potrebbe simulare la cosa con una manipolazione grafica di una schermata, tanto per vedere l'effetto che farebbe alzare di un paio di pixel il gradino. Personalmente non penso che apporterebbe un miglioramento alla leggibilità del diagramma, ma provare è sempre possibile!

Intanto spero che il programma nel suo insieme piaccia e magari torni anche un po' utile (che sarebbe il vero scopo della sua creazione! :-) ) E spero anche che le istruzioni siano state abbastanza chiare. Se ci sono dei dubbi fammi sapere.

Tra parentesi, hai provato a salvare il file di campioni su cassetta? E poi a cancellare i dati (tasto C) e poi a ricaricare il file? Dovresti rivedere il diagramma come quando era appena campionato... Tieni presente che se immetti il nome del file in fase di caricamento, caricherà solo se il file che legge da cassetta ha ESATTAMENTE lo stesso nome che hai inserito. Se invece lasci vuoto il campo, carica il primo file di tipo CODE che trova.

Se la cosa può interessare posso dedicare un altro po' di tempo a provare di aggiungere le due funzioni a cui accennavo (markers e trigger). Ma la cosa non è facile perchè sono un po' al limite con la memoria (dovrei passare ad un assembler che permetta di linkare pezzi di codice, come faceva quello che usavamo anni fa e a cui avevi aggiunto il tuo editor a 64 colonne... Non so nemmeno se riuscirei a ritrovarlo (magari sul tuo sito c'è, devo andare a vedere...)

In ogni caso mi sento alquanto fiero (lasciatemelo dire, non sono un presuntuoso, almeno in genere! ;-) ) perchè sono riuscito a completare un software in assembler di una certa complessità dopo oltre 15 di inattività!... Mi ha dato una certa emozione, devo dire!

--

|_ /-\


Other related posts: