WAV-PRG e Audiotap

Condividi su:
Pin Share

WAV-PRG è un programma in grado di creare un file .TAP o nastro Commodore 64 da un file emulatore C64 (.PRG, .P00, .T64), creare un file .TAP pulito da un file .TAP o .WAV e creare file dell’emulatore (.PRG, .P00, .T64) da un nastro Commodore 64. Quest’ultimo può essere fatto solo se il nastro è in un formato supportato da un plug-in esistente. Audiotap è un programma per la conversione tra file .TAP e nastri Commodore 64. Audiotap può leggere / scrivere file WAV contenenti l’audio campionato di un nastro e può anche registrare nastri dalla scheda audio e riprodurre l’audio sulla scheda audio.

Entrambi i programmi possono leggere nastri da campioni WAV o direttamente dall’ingresso della scheda audio. Possono creare file WAV, che possono essere successivamente registrati su nastri o riprodurre suoni su schede audio, in modo che i nastri possano essere registrati direttamente. Per questo motivo, non richiedono cavi personalizzati, ma solo cavi audio semplici che collegano la scheda audio e un normale lettore / registratore di nastri audio.Entrambi i programmi sono disponibili per Windows e Linux. Sono distribuiti sotto la GNU General Public License in modo che possano essere scaricati e utilizzati gratuitamente.

WAV-PRG

Scarica WAV-PRG 4.2.1 per Windows, versione GUI (testata su Windows 7 e 10) completa di plug-in.
Nota : questo file contiene WAV-PRG autonomo. Da solo, legge / scrive solo file .TAP. Devi scaricare Audiotap e decomprimerlo nella stessa cartella (audiotap.dll si trova in entrambi gli archivi ed è identico) per supportare la scheda audio e i file WAV.

Scarica WAV-PRG 4.2.1 per Windows, versione da riga di comando (da eseguire dal prompt dei comandi). Può essere chiamato dagli script. Richiede audiotap.dll: decomprimere il contenuto nella stessa cartella della versione della GUI.

Scarica la fonte WAV-PRG 4.2.1 . È possibile compilare la versione della GUI di Windows e la versione della riga di comando, che può essere costruita su Linux, Windows (MinGW o Cygwin), Mac e Haiku.
Porting: dovrebbe essere facile trasferire WAV-PRG su altri sistemi operativi, almeno nella versione da riga di comando. Se vuoi farlo o lo hai già fatto, ti preghiamo di contattare l’autore. Scrivere una GUI per altre piattaforme non è così semplice, ma dovrebbe essere possibile: contatta l’autore se sei interessato (o l’hai già fatto).

Licenza: WAV-PRG è protetto da copyright © 1998-2015 Fabrizio Gennari. È distribuito sotto la GNU General Public License

Audiotap

Scarica Audiotap 2.2.1 per Windows (testato su Windows 7 e 10)
Nota : questo pacchetto contiene anche alcuni file DLL che migliorano WAV-PRG, dandogli la possibilità di leggere / scrivere file WAV e la scheda audio. Se hai scaricato la versione autonoma di WAV-PRG e vuoi che sia in grado di farlo, decomprimilo nella stessa directory in cui si trovano Audiotap e i relativi file DLL.
Scarica Audiotap 2.2 per Windows, versione da riga di comando (da eseguire dal prompt dei comandi). Può essere chiamato dagli script. Richiede audiotap.dll: decomprimere il contenuto nella stessa cartella della versione della GUI.

Fonte di download per Audiotap 2.2.1 , Libaudiotap (codice condiviso tra WAV-PRG e Audiotap) e Libtap (codec audio TAP). È possibile compilare la versione della GUI di Windows e la versione della riga di comando, che può essere costruita su Linux, Mac o Windows (quest’ultima richiede ambienti Cygwin o MinGW).
Porting: dovrebbe essere facile trasferire Audiotap su altri sistemi operativi, almeno nella versione da riga di comando. Se vuoi farlo o lo hai già fatto, ti preghiamo di contattare l’autore. Scrivere una GUI per altre piattaforme non è così semplice, ma dovrebbe essere possibile: contatta l’autore se sei interessato (o l’hai già fatto).

Licenza: Audiotap è protetto da copyright © 2003-2015 Fabrizio Gennari. È distribuito sotto la GNU General Public License

I file DLL per il supporto audio NON sono GPL.

  • Le librerie condivise Libaudiotap e Libtap (audiotap.dll, tapencoder.dll e tapdecoder.dll) sono copyright © 2003-2014 Fabrizio Gennari. Sono distribuiti sotto la GNU Lesser General Public License .
  • libaudiofile-1.dll è la libreria di file audio . È copyright © 1998-2000, Michael Pruett, copyright © 2000-2001, Silicon Graphics, Inc. È distribuito sotto la GNU Lesser General Public License. Include, staticamente collegato, FLAC , copyright © 2000-2009 Josh Coalson, copyright © 2011-2013 Xiph.Org Foundation, distribuito con la nuova licenza BSD .
  • libportaudio-2.dll è la libreria PortAudio . È protetto da copyright © 1999-2000 Ross Bencina e Phil Burk. È distribuito sotto la Licenza MIT con la clausola non vincolante di PortAudio .

Screenshots

Tutti gli screenshot sono dalla versione di Windows.

La prima finestra di WAV-PRG.

Conversioni da nastro a PRG, P00 o T64.

Conversioni da PRG, P00 o T64 su nastro

Una conversione in T64 è appena stata completata.

La finestra principale di Audiotap

È stato creato un file .TAP

Alternative a WAV-PRG e Audiotap

Vuoi provare altri programmi che fanno lo stesso di WAV-PRG e Audiotap? O pensi che WAV-PRG e Audiotap siano spazzatura? O entrambi? Ecco un elenco di programmi che puoi provare.

Alternative a Audiotap

Dal nastro al TAP

  • TAPir
    Autori: Andreas Andersson e Martin Sikström
    Possibili origini: scheda audio
    Disponibile per: Windows, Linux
  • mtap
    Autore: Markus Brenner
    Possibili origini: interfaccia C64S (collega una serie di dati al PC), cavo X1541 / XE1541 (collega un Commodore 64 al PC)
    Disponibile per: MS-DOS
  • 64VOCTAP
    Autore: Tomaz Kac
    Origini possibili: file VOC (una specie di file audio, simile a WAV)
    Disponibile per: MS-DOS
  • Tape 64
    Autore: Andreas Matthies
    Possibili origini: file WAV
    Disponibile per: MS-DOS, Windows, Linux (il collegamento è alla versione Windows)
  • UberCassette
    Autore: Ian Gledhill
    Possibili origini: file WAV
    Disponibile per: Linux, Windows, Amiga
  • c64tapedecode
    Autore: Christopher Williams
    Possibili origini: file WAV
    Disponibile per: Linux, Windows
  • TapDancer
    Autore: April Ayres e Melody Ayres-Griffith
    Possibili origini: file AU (una specie di file audio, simile a WAV)
    Disponibile per: Windows, Linux
  • c64tapwav
    Autore: Steinar H. Gunderson
    Possibili origini: tutti i file audio supportati dal libavformat di ffmpeg, incluso WAV
    Disponibile per: Windows, Linux, forse altri (come sorgente)

Dal TAP al nastro

  • ptap
    Autore: Markus Brenner
    Possibili destinazioni: interfaccia C64S (collega una serie di dati al PC), cavo X1541 / XE1541 (collega un Commodore 64 al PC)
    Disponibile per: MS-DOS
  • 64TAPVOC
    Autore: Tomaz Kac
    Possibili destinazioni: file VOC (una specie di file audio, simile a WAV)
    Disponibile per: MS-DOS
  • Tapwav
    Autore: Luigi Di Fraia
    Possibili destinazioni: file WAV
    Disponibile per: MS-DOS, Windows

  • Autore TAP finale : Subchrist
    Possibili destinazioni: file WAV, file AU (una specie di file audio, simile a WAV)
    Disponibile per: Windows
  • UberCassette
    Autore: Ian Gledhill
    Possibili destinazioni: file WAV
    Disponibile per: Linux, Windows, Amiga

  • Autori Tapclean : Bo Kvamme e altri
    Possibili destinazioni: file WAV, file AU
    Disponibile per: Windows
  • c64tapedecode
    Autore: Christopher Williams
    Possibili destinazioni: file WAV
    Disponibile per: Linux, Windows
  • TapDancer
    Autore: April Ayres e Melody Ayres-Griffith
    Possibili destinazioni: audio (versione Android), file AU (altre versioni)
    Disponibile per: Android (mantenuto), Windows, Linux (pre-alpha precedente)
  • c64tapwav
    Autore: Steinar H. Gunderson
    Possibile destinazione: raw mono a 16 bit little-endian
    Disponibile per: Windows, Linux, forse altri (come sorgente)

Alternative a WAV-PRG

Dal nastro a T64, PRG, P00


  • Autore TAP finale : Subchrist
    Possibili origini: file TAP
    Disponibile per: Windows
    Formati supportati: caricatore kernel, caricatore oro 720 / US, caricatore Ace Of Aces, caricatore di progettazione binaria, Bleepload, Bleepload special, Burner, Cyberload, Microload, 180 / Invade- A-Load, Hit-Load, Caricatore CHR, Novaload, Speciale Novaload, Caricatore Ocean-Imagine, Caricatore giocatori, Rasterload, Visiload, Turbo Tape 64, Caricatore Rack-It, Pavloda, Caricatore Pav / Beam, Skramble Turbotape, Input 64, Caricatore del fascio, Caricatore internazionale di karate, Caricatore di Firebird, Caricatore di Seuck, Caricatore di giochi di Seuck, Jetload, Caricatore di Turrican

  • Autori Tapclean : Bo Kvamme e altri
    Possibili origini: file TAP
    Disponibile per: Windows
    Formati supportati: uguale a Final TAP e alcuni altri
  • Tape 64
    Autore: Andreas Matthies
    Possibili origini: file WAV, file TAP
    Disponibile per: MS-DOS, Windows, Linux (collegamento alla versione Windows)
    Formati supportati: caricatore del kernel, Turbo Tape 64, Novaload, Input 64
  • Caricatore Turbo Tape
    Autore: Sami Silaste
    Possibili origini: file WAV
    Disponibile per: MS-DOS
    Formati supportati: Turbo Tape 64
  • C64LOAD
    Autore: Richard Storer
    Possibili origini: interfaccia C64S, file WAV, file TAP
    Disponibile per: MS-DOS
    Formati supportati: caricatore del kernel
  • TTLOAD
    Autore: Andreas Jung
    Possibili origini: interfaccia C64S
    Disponibile per: MS-DOS
    Formati supportati: Turbo Tape 64
  • viccas
    Autore: Scott Walde
    Possibili origini: file WAV
    Disponibile per: Linux, Windows
    Formati supportati: Caricatore del kernel
  • UberCassette
    Autore: Ian Gledhill
    Possibili origini: file WAV
    Disponibile per: Linux, Windows, Amiga
    Formati supportati: Caricatore del kernel
  • c64tapedecode
    Autore: Christopher Williams
    Possibili destinazioni: file WAV, file TAP
    Disponibile per: Linux, Windows
    Formati supportati: Caricatore del kernel

Da T64, PRG, P00 a nastro

  • C64SAVE
    Autore: Richard Storer
    Possibili destinazioni: interfaccia C64S, file WAV, file TAP
    Disponibile per: MS-DOS
  • TTSAVE
    Autore: Andreas Jung
    Possibili destinazioni: interfaccia C64S
    Disponibile per: MS-DOS
  • TapDancer
    Autore: April Ayres e Melody Ayres-Griffith
    Possibili destinazioni: audio
    Disponibile per: Android

Come funzionano i nastri Commodore

Quali informazioni sono memorizzate in un nastro?

In un nastro Commodore 64, la forma d’onda è così:

Il C64 rileva quando la forma d’onda passa da un valore maggiore di zero a un valore inferiore a zero. Questo evento si chiama trigger e provoca l’invio di una richiesta di interruzione a CIA # 1. Questo IRQ può essere gestito da un gestore di interrupt o semplicemente scoperto testando il bit 4 della posizione $ DC0D. I trigger sono indicati da cerchi rossi nella figura.

Le informazioni sono memorizzate nell’intervallo di tempo tra un trigger e quello precedente. Questo tempo può essere espresso con diverse unità di tempo: numero di campioni nel file WAV, numero di microsecondi, numero di cicli di clock della CPU 6510 …

Quali informazioni sono archiviate in un file TAP?

Un byte nella parte di dati di un file TAP rappresenta la durata dell’intervallo tra un trigger e quello precedente. L’unità è 1/8 del ciclo di clock della CPU. Per i file TAP C64, ciò significa 1/123156 ° di secondo (in un C64, la frequenza della CPU è 0,985248 MHz).

La versione 1 di TAP ha introdotto un byte 0 con un significato speciale: precede un intervallo espresso in 3 byte e con una precisione di 1 periodo di clock della CPU. Questa innovazione, in teoria, consentirebbe di creare file TAP le cui misurazioni del tempo sono 8 volte più precise. In pratica, non è necessaria una precisione così elevata. Pertanto, il byte speciale viene utilizzato solo per memorizzare intervalli superiori a 2048 cicli di clock della CPU, o circa 1 / 480th di secondo, perché non rientrano in 1 byte. Nessun caricatore utilizza intervalli così ampi: si verificano solo in pause tra un programma e quello successivo sullo stesso nastro.

È ironico: una precisione maggiore viene utilizzata quando è meno necessaria. Le pause non trasportano alcun dato, quindi i tempi precisi sono praticamente inutili.

Come trasformarlo in bit?

L’intervallo tra due trigger è spesso chiamato impulso . Il modo più semplice e più usato per codificare le informazioni è questo: se l’intervallo di tempo è più breve di una data durata, chiamato soglia , viene ricevuto uno 0 bit, se l’intervallo di tempo è più lungo della soglia, viene ricevuto 1 bit. Il caricatore ROM del kernel utilizza una codifica più complicata, con tre lunghezze possibili (ed è un caricatore molto lento e inefficiente).

La forma d’onda nell’immagine si traduce nella sequenza di bit 010011101000.

Come trasformare i bit in byte?

Questa domanda può essere divisa in due:

  1. come vengono ordinati i bit in un byte?
  2. quando inizia un byte?

La risposta alla domanda 1 dipende dal caricatore. Alcuni caricatori usano un endianness “bit prima significativa”, mentre altri utilizzano un endianness “bit prima significativa”. Nella parte seguente, assumiamo un endianness “molto più significativo prima”: lo stesso vale per endianness opposto, con gli ovvi cambiamenti.

Ora rispondiamo alla domanda 2. All’inizio, il caricatore non è sincronizzato: non sa quale sia il primo bit nel byte. Quindi, implementa un registro a scorrimento , ovvero un byte in cui l’ultimo bit arrivato viene memorizzato nella posizione più a destra (meno significativa) e, quando arrivano nuovi bit, viene spostato a sinistra (verso la posizione più significativa).

soprattutto
significativo -> 10011001 <- significativo
(più vecchio) (più recente)
un po '

Lo stato iniziale del registro non è significativo. Quando arriva un nuovo bit:

  • il bit più significativo (il più vecchio) viene scartato
  • gli altri 7 bit vengono spostati di una posizione verso sinistra
  • il nuovo bit viene messo nella posizione meno significativa

In questo modo, il registro a scorrimento contiene sempre gli ultimi 8 bit ricevuti. Questo continua fino a quando il contenuto del registro a scorrimento è uguale al byte iniziale , un valore che dipende dal caricatore. Ora, il caricatore è nello stato di prima sincronizzazione: invece di raccogliere singoli bit, raccoglie interi byte, formati da sequenze di 8 bit, il primo è il più significativo.

  • Se il byte è uguale al byte iniziale, il caricatore rimane nello stato di prima sincronizzazione
  • Se il byte è uguale al byte di sincronizzazione , il caricatore passa allo stato sincronizzato
  • Altrimenti, il caricatore torna allo stato non sincronizzato

Dopo che il byte di sincronizzazione è stato letto, in alcuni caricatori, i dati possono essere letti in modo sicuro. Ma molti caricatori, per migliorare l’affidabilità, prevedono una sequenza fissa di byte dopo il byte di sincronizzazione. Se un byte differisce da quello previsto, tornano allo stato non sincronizzato. Dopo aver ricevuto la sequenza di sincronizzazione, inizia il trasferimento dei dati.

Un esempio: il nastro Turbo 64 ha un byte di ingresso $ 02 (binario 00000010), un byte di sincronizzazione $ 09 (binario 00001001) e una sequenza di sincronizzazione $ 08, $ 07, $ 06, $ 05, $ 03, $ 02, $ 01. Arriva il flusso

0010100110010010001110000000001000000010000000100000001000001001
0000100000000111000001100000010100000100000000110000001000000001


00101001
01010011
10100110
01001100
10011001
00110010
01100100
11001001
10010010
00100100
01001000
10010001
00100011
01000111
10001110
00011100
00111000
01110000
11100000
11000000
10000000
00000000
00000000
00000001
00000010 <- Ottenuta la prima sincronizzazione!
            Ora iniziamo a raccogliere interi byte
00000010
00000010
00000010
00001001 <- Sincronizza byte! Ora controlla la sequenza di sincronizzazione
00001000
00000111
00000110
00000101
00000100
00000011
00000010
00000001 <- Sequenza di sincronizzazione riuscita, ora siamo sincronizzati.

Domande frequenti su WAV-PRG

D: Perché un nome così brutto?
A: WAV-PRG è iniziato come un programma Turbo Pascal chiamato LEGGI.PAS (LEGGI significa LEGGI). È stato seguito da SCRIVI.PAS (SCRIVI significa WRITE). Quei programmi hanno convertito rispettivamente i file WAV in file PRG e viceversa. Quando sono venuto a conoscenza delle convenzioni di denominazione degli strumenti Unix, i nomi naturali per loro erano wav2prg e prg2wav. Sono stati combinati in un unico strumento: la fusione delle parole wav2prg e prg2wav è diventata WAV-PRG. Sì, è brutto, difficile da sillabare e non riflette più la realtà (P00 e T64 sono ora supportati, così come l’input / output dalla scheda audio e l’input da qualsiasi file audio supportato dalla libreria di file audio). Ma è bloccato.

Q: Come parli WAV-PRG?
A: L’autore parla “wave pee ar gee”, o, in italiano, “wave pi erre gi”.

D: Come mettere l’audio su nastro?
A: L’autore raccomanda 2 modi:

  1. riprodurre l’audio sulla scheda audio mentre l’uscita della scheda audio è collegata all’ingresso di un registratore a cassette
  2. creare un file WAV e riprodurlo con il proprio lettore preferito mentre l’uscita della scheda audio è collegata all’ingresso di un registratore a cassette

Gli utenti hanno segnalato il successo utilizzando diversi metodi. L’autore non ha provato nessuno di questi. Uno è quello di creare uno o più file WAV e masterizzarli su un CD audio, quindi riprodurre il CD audio in uno stereo con lettore CD e registratore di cassette. Ciò richiede un CD vuoto, ma è garantita la sincronizzazione tra lettore e registratore. Un altro è usare un adattatore per cassette: ha la forma di una cassetta e un cavo corto con un jack collegato ad esso. Inserisci l’adattatore nel vero C2N e assicurati che il jack sia collegato alla scheda audio o allo stereo mentre il suono viene riprodotto. Il rovescio della medaglia è che non c’è modo di interrompere la riproduzione del suono quando il C64 spegne il motore del C2N, quindi è necessario premere C = immediatamente quando appare TROVATO.

D: La conversione dal nastro C64 non funziona!
A: Ci sono circa 1239 possibili cause. Saranno discussi solo quelli più comuni.
Innanzitutto, avresti potuto scegliere il plug-in sbagliato. Per prima cosa scegli Caricatore kernel, poiché il 99% dei nastri ha almeno la parte iniziale in quel formato. Se ottieni qualcosa con quello, almeno le impostazioni di base sono OK.
Quindi, attiva / disattiva la forma d’onda invertita. Non esiste un’impostazione corretta, solo l’impostazione giusta per la combinazione di lettore di cassette e scheda audio in uso. Se si ottiene qualcosa con la casella Forma d’onda invertita in uno stato (selezionata o non selezionata), utilizzare sempre lo stesso stato quando si utilizzano lo stesso lettore di cassette e la stessa scheda audio.
Quindi, giocherellare con il volume del lettore di cassette. Sul PC, il volume di Line In dovrebbe essere il più alto possibile, mentre il volume del lettore di cassette deve essere abbastanza alto ma non molto alto. Esercitati registrando l’audio con un editor di onde come Audacity: devi ottenere una forma d’onda (altrimenti c’è qualcosa che non va nelle connessioni) e la forma d’onda deve essere alta ma non troppo vicina al limite massimo e minimo.

D: La conversione su nastro C64 non funziona!
A: Imposta il volume di uscita sul tuo PC (sia master che wave) il più alto possibile.
Riprovare a attivare la forma d’onda invertita.
Se ottieni TROVATO, almeno l’impostazione di Forma d’onda invertita è corretta.

Domande frequenti sul trasferimento nastro Commodore 64

Hai una vasta collezione di nastri C64 e vuoi usarli sul tuo PC? Oppure vuoi giocare al gioco che hai appena scaricato da Internet sul tuo C64? Ecco le risposte ad alcune domande sui trasferimenti da PC a nastro e viceversa.

Q: Ho un gioco C64 su nastro e voglio giocare a quel gioco su un PC usando un emulatore. Come dovrei fare?
A: La soluzione migliore è creare un file TAP. Tutti i nastri C64 possono essere convertiti in TAP. Esistono due modi per farlo: collegare la datassette o C64 alla porta parallela del PC o collegare un riproduttore a nastro alla scheda audio. Il primo ha bisogno di un cavo personalizzato, quindi devi essere un maniaco dell’elettronica per farlo.

D: Sì, sono un maniaco dell’elettronica. Quale cavo dovrei costruire e quale programma dovrei usare?
A: mtap di Markus Brenner supporta l’interfaccia nastro C64S, che consente di collegare la serie di dati al PC, e il cavo X1541 / XE1541, che consente di collegare il C64 al PC.

D: No, sono solo un semplice utente di PC e ho una scheda audio. Posso fare qualcosa?
A: Sì. Usa Audiotap o una delle alternative .

D: Penso che i file TAP siano troppo grandi e impieghino troppo tempo a caricarsi. Voglio convertire il mio gioco in PRG, P00 o T64. Come dovrei fare?
A: Questo è più difficile. Per estrarre i dati binari da un nastro, un programma deve sapere come tali dati sono codificati sul nastro. Poiché il modo in cui i dati vengono codificati cambia da caricatore a caricatore, il programma deve conoscere il caricatore specifico utilizzato. Per questo motivo, non tutti i nastri possono essere convertiti in PRG, P00 o T64.
WAV-PRG può convertire tali file da qualsiasi formato per cui esiste un plug-in (i programmatori possono scegliere di scrivere i propri plug-in). Accetta i file WAV e TAP e la scheda audio come input. Esistono alternative , la più utile delle quali è Tapclean , che accetta solo i file TAP come input.

D: Ho scaricato un file TAP e voglio trasferirlo su un nastro per riprodurlo su un C64. Come lo faccio?
A: Se hai costruito un’interfaccia nastro C64S o un cavo X1541 / XE1541, puoi usare ptap di Markus Brenner. Altrimenti, puoi convertire il TAP in un file audio o persino riprodurlo sulla tua scheda audio, usando Audiotap o una delle alternative .

D: Ho scaricato un file PRG, P00 o T64 e voglio trasferirlo su un nastro per riprodurlo su un C64. Come lo faccio?
È possibile utilizzare WAV-PRG o una delle alternative .

Questa FAQ è gestita da Fabrizio Gennari

Web Site

Condividi e Seguimi sui Social Network