Non ti seguo. Come fai a usare 4 simboli con la codifica Manchester ? Il giorno 21/feb/2013 06:29, "Paolo Ferraris" <pieffe8@xxxxxxxxx> ha scritto: > On 2/20/2013 12:14 PM, Stefano Donati wrote: > >> Ciao Antonio, >> >> il WAV di Jet Set Willy X lo trovi alla pagina dedicata >> http://ronja.twibright.com/**jswx.php<http://ronja.twibright.com/jswx.php>. >> Il loader implementa "solo" la codifica Manchester inversa che, stando a >> quanto scritto nei sorgenti, raggiunge i 16000 baud. >> Il mio prototipo invece non l'ho ancora pubblicato... :( >> > > 16000 bauds sono davvero tanti, ma per questa velocita` hai bisogno di un > file wav da almeno 64000 campioni/sec. (Il file wav presente sul sito e` a > 96000 campioni/secondo.) > Per i CD la velocita` massima probabilmente e` 11025 bauds. > > La parte "positiva" della velocita` da CD e` pero` che ci sono piu` di 100 > cicli di CPU persi dall'algoritmo, che sembrano sufficienti per la > decompressione Huffman. Secondo dei miei calcoli approssimativi, 320 kbit > (40kbytes) a 16000 bauds richiedono 20 secondi. Con la compressione i 320 > kbit diventano ~200kbit, che a 11025 bauds sono 18 secondi! > > (Se poi si riuscisse a usare 4 simboli, anche se due piu` lenti, si > potrebbero ottenere 12.7 secondi... sogno?) > > > > By looking at the loader code getting faster than 16000 bauds seems not > easy: there're very few CPU cycles left in the argorithm. But at the CD > speed of 11025 bauds there are more than 100 cy > > > >> Stefano. >> >> Il giorno 20/feb/2013, alle ore 14:58, "Antonio S." < >> schianto9001@xxxxxxxxx <mailto:schianto9001@xxxxxxxxx**>> ha scritto: >> >> Il giorno 20 febbraio 2013 09:24, Paolo Ferraris <pieffe8@xxxxxxxxx<mailto: >>> pieffe8@xxxxxxxxx>> ha scritto: >>> >>> On 2/19/2013 10:50 AM, Paolo Ferraris wrote: >>> >>> On 2/19/2013 12:20 AM, Stefano Bodrato wrote: >>> >>> A questa velocità lo spazio di manovra per fare altro con >>> la CPU diventa veramente poco (Paolo non me ne voglia se >>> rimango di questa idea). >>> >>> >>> Non conoscendo l'algoritmo di decompressione dell'ultracargas >>> non lo so di sicuro. L'algoritmo huffman che ho visto >>> richiede un centinaio di cicli extra per bit, quindi potrebbe >>> ancora andare bene. >>> >>> >>> Tra l'altro la risposta l'ha gia` data Stefano Donati: non solo >>> hanno implementato un turbo che richiede 4 campioni per bit (non >>> solo per lo 0 ma anche per l'1, grazie al manchester inverse >>> coding) ma con decompressione huffman al volo. Il file wav che >>> hanno distribuito in lista per jswx e` circa 26 secondi, circo lo >>> stesso tempo che l'ultracargas usa per manic miner, tranne che la >>> quantita` di dati in jswx e` di 40k invece dei 32 di manic miner. >>> >>> C'è un tzx o wav da qualche parte per dargli un'occhiata? Sembra molto >>> interessante. >>> >>> L'unico modo che vedo per aumentare ulteriormente la velocita` e` >>> usare anche segnali piu` lunghi (non solo 4 campioni, ma anche 8 >>> campioni). Si potrebbe ridurre il tempo di caricamento di circa >>> il 33%. >>> >>> >>> Non so, da verificare numeri e codice alla mano. Il fatto è che il >>> sampling loop non è precisissimo, specie in presenza di accessi a memoria >>> contesa. Nell'ultima versione ho dovuto mettere lo stack in memoria alta >>> perché le temporizzazioni sballavano di brutto. Purtroppo anche la porta >>> I/O 254 è contesa e quindi il campionamento è intrinsecamente impreciso, il >>> che non consente di diminuire troppo l'intervallo fra i simboli. >>> >>> Intanto ho ritrovato il cavo video e ho fatto un paio di test sul mio +2 >>> (collegato al portatile via un adattatore con finta cassetta). >>> Inaspettatamente, ottengo risultati migliori con le onde quadre - ma forse >>> la tua osservazione sulla componente continua giustifica questa cosa. Non >>> sono riuscito a caricare il Ghost&Goblins super veloce in nessun modo: non >>> mi prende neanche il loader iniziale. >>> >>> Una stranezza: sul +2 riesco a caricare un wave che Fuse non legge, cosa >>> che non ritenevo possibile. Deve esserci qualche bug nell'emulazione... >>> Infine ho cambiato leggermente la routine di compressione in maniera da >>> tenere conto del costo effettivo (in tempo) della trasmissione dei bit, che >>> appunto varia a secondo del numero di bit a 1 trasmessi; così facendo si >>> risparmiano altri 2 secondi :-) >>> >>> Ciao >>> >>> A. >>> <Manic_o.wav.bz2> >>> >> > >