[zxspectrum] Re: Altre considerazioni sparse sul nuovo 'turbo'

  • From: ooky <stridermolko@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Tue, 05 Feb 2013 16:12:00 +0100

Il 04/02/13 22.23, Stefano Bodrato ha scritto:

> scusate...forse ho capito male... ma quel turbo che Stefano Bodrato ha
> pubblicato è solo un turbo dovuto all'aumento di frequenza dei dati mi
> sembra di capire (quindi nessuna routine particolare). Ho capito bene?

No   :P


> E quel discorso del turbo con 4 livelli in modo da codificare 2 bit al
> posto del classico 1 bit per onda... alla fine è fattibile? Forse mi
> sono perso qualche messaggio perchè comincio a perdere il filo del
> discorso...

Forse ho creato confusione, esprimo la mia personalissima opinione sul discorso dei 4 livelli: è fattibile ma non molto conveniente.
Provo a renderlo visivamente:
00 = |^|_|
11 = |^^^|___|
01 = |^^^^^^|______|
10 = |^^^^^^^^^|_________|
Puoi notare che nel tempo in cui trasmetti '10' puoi trasmettere '00' e '01'. Certo, puoi ragionare sulle probabilità, ma non so quanto convenga, anche perchè distinguere tra 4 diversi livelli di temporizzazione costa codice e.. tempo (in tutti i sensi, se pensi di voler distinguere i diversi fronti d'onda anche al variare del motore di un nastro). Il discorso potrebbe essere interessante con le sorgenti digitali, che garantiscono una temporizzazione precisa, ma credo di aver avuto un'idea migliore: tre livelli mi sembrano più facili da gestire, e in effetti l'ho già fatto con il turbo che ho pubblicato.

Il terzo livello però l'ho associato a un intero byte con valore '0'.. nello schema che ho fatto sopra in pratica l'onda che corrisponde a '01' viene usata per produrre un treno di 8 zeri: se provi a caricare il gioco di cui ho dato il link dovresti notare che il download della schermata iniziale accelera durante gli spazi bianchi.

Ora sto lavorando a un'altra variante: non sono affatto sicuro che sia impossibile lavorare con le semionde ! In effetti mi sembra di ricordare che il superturbo che avevo realizzato da ragazzo funzionasse proprio eliminando uno dei due cicli di temporizzazione. I dati si caricavano lo stesso, ma la temporizzazione era molto critica e le frequenze appena udibili da uno Spectrum reale (inoltre avevo un buon registratore Philips). Quindi ci sto riprovando ;) al momento il mio nuovo turbo sperimentale lavora sulle semionde e l'emulatore riconosce la terza frequenza invece di sparare il fatidico byte ne subordina il comportamento a un ulteriore 'bit', che descrive un byte a '0' o un byte a '255'. Ora sto aggiungendo una terza opzione (tanto i livelli del mio 'bit' ora sono tre), che forzerà il loader a ritornare sui suoi passi per riprendere i 2 ultimi byte appena trasmessi: uno mi darà il valore di riferimento, il secondo il numero di volte che voglio replicarlo ! In coda a questa sequenza inserirò un ulteriore frequenza 'lunga', per dare il tempo al loader di piazzarsi i byte e di tornare all'ascolto.

Spero di essermi spiegato, so che non sono cose immediate da capire... mi servirebbero volontari per sperimentare il loader sullo Spectrum veri, magari anche provandolo sulle cassette tradizionali. Qualcuno si offre ? In cambio potrete ascoltare in anteprima il nuovo 'miagolio' :D

Passa,passa, lo provo!

Other related posts: