Il 15 dicembre 2011 20:59, Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx> ha scritto: > Il 15 dicembre 2011 19:36, Alessandro <alessandro.poppi@xxxxxxxxx> ha scritto: >> Sapendo che ogni campione audio ha tassativamente D4 a zero, potresti >> trappare nel software un BSOD in caso di lettura di un byte con D4 '1' e >> dirci il risultato, ad esempio il contesto in cui si trova quel campione >> all'interno dello stream e andare a vedere se era proprio cosi'? > > Sì. Più tardi provo e vi faccio sapere. Ne sai una più del diavolo... ;-) I byte ci sono e sono quelli di fine settore. In pratica ad ogni fine settore arrivano i CRC e il data token $FE che casualmente si trova sempre al posto del sample audio (e ha sia il bit D3 sia il bit D4 settati). Il programma però non va in crash perché casualmente (nota che è già la seconda volta che uso la parola "casualmente" e inizia a fare il calcolo delle probabilità... ;-)) il registro ix contiene sempre $BEFF ($BE precaricato e $FF letto dalla card) e l'indirizzo $BEFF corrisponde a un salto indietro proprio all'inizio del ciclo di lettura dati dalla card che così riprende caricando i dati corretti!!! Unico danno collaterale quindi il dato spurio finito sulla porta audio che, nel caso della porta MIC genera il rumore fastidioso, mentre nel caso della porta AY a quanto pare la inibisce (non so esattamente come funziona l'AY, in effetti). Come direbbe Mariello Frapapappo a Colorado Cafè: "Mistero risolto!" Purtroppo però non ho ancora trovato una soluzione perché se inserisco un controllo tipo bit 4,a jr nz,no_audio per non far arrivare alle porte audio il byte spurio esco dal flyback e salto un frame video, con relativo rallentamento dello streaming. Forse funzionerà soltanto sul badaloc a frequenze superiori...