[zxspectrum] tape ultra speed

  • From: "Alessandro" <apoppi@xxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 30 Jul 2006 18:35:30 +0200

Buona domenica. <g>

Da un'idea di Mario, che mi chiedeva quale converter txz/wav usassi, per vedere se poteva riprodurre il suono a doppia velocita` e dimezzare il tempo di caricamento, ho fatto delle prove dall'esito interessante (si sa` che spippolamento chiama spippolamento).

Usando il registratore di suoni di windows per raddoppiare due volte consecutivamente la velocita` di riproduzione di "Arkanoid.wav" ed impostando il clone ad un clock Z80 di 14MHz, ho ottenuto il seguente caricamento (a buon fine); sorprendente soprattutto perche` il loader integra gia` un turbo al 150% circa (che in pratica diventa 600%):
http://www.zxbada.bbk.org/img/14MHz_4x_tape_loading.avi


Sto cercando di arrivare al limite massimo (6x con 21MHz). Il problema e` dato dal fatto che se raddoppio ancora ottengo 8x invece di 6. Allora ho detto a txz converter di creare il wav con campionamento = 43.690Hz invece di 44KHz, in modo da poterlo moltiplicare per 1.5 andando a cambiare quel numero con un hex editor (la frequenza di campionamento e` salvata in due bytes dell'header WAV, precisamente all'offset 0x18 (LSB) e 0x19 (MSB)) impostandolo a 0xFFFF (43690*1,5 = 65535) (il motivo per cui 44K non andava bene e` che moltiplicato per 1,5 supera 65535, che e` il massimo rappresentabile).

Questo file, di nuovo raddoppiato due volte con il registratore di suoni e fatto ascoltare al clone a 21MHz ha dato un risultato vicino al successo, ovvero ha caricato il loader, ha iniziato con le prime righette a 150% (che a quel punto era in realta` 900%) ma poi si pianta.

Ho caricato invece con successo "Pssst" a 21MHz con riproduzione 6x, che non usa un turbo loader.

Secondo me e` un limite della capacita` di riproduzione della scheda audio, perche` aumentando la velocita` di riproduzione vanno perse informazioni (il file diventa piu` piccolo). Dovrei trovare il modo di riprodurre il file originale a 44*6 = 265KHz di campionamento invece di 44, in modo da non perdere campionamenti ma bensi` proporli in uscita a velocita` sestupla.

C'e' per caso qualcuno che conosce la programmazione delle schede audio abbastanza bene da sapere se questo e` possibile, o dovrei proprio fare un hardware apposito?

Ciao!


Other related posts: