Il 20 dicembre 2011 13:00, Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx> ha scritto: > Se trovo del tempo una delle prossime notti faccio un po' di prove. > Chissà mai che per Natale... ;-) Probabilmente devo aver fatto il cattivo quest'anno perché Babbo Natale non ne vuole sapere di regalarmi il player per i filmati sulla ZXMMC+... :-( Ho realizzato un semplice programmino in C per modificare i filmati in modo che gli ultimi video packet di ogni settore siano riconoscibili durante lo streaming e ho modificato il player per intercettarli, scartare i dati che contengono (solitamente pochi byte ridondanti) e attendere il data token prima di proseguire. Funziona tutto... per qualche frame... poi, per qualche motivo che ancora non sono riuscito a individuare, i dati si sfasano e va tutto a bugasce ;-) Debuggando ho trovato il primo punto di sfasamento e ho notato che tutto va come ci si aspetta fino al rilevamento del data token, poi però, non ho ancora capito perché, la lettura successiva salta un dato... Da notare che questo avviene (nel caso del filmato in test, ma cambiando il filmato cambia il punto di sfasamento) al settore #87. Ciò significa che per 86 volte il codice ha funzionato correttamente. Il settore 87 non ha nulla di particolare; il marker che ho inserito è corretto e infatti il codice scarta il numero esatto di byte contenuti nell'ultimo video packet e riceve correttamente il data token. Tra la ricezione del data token e la lettura successiva non ci sono altre letture; c'è soltanto un jp al loop di lettura del prossimo video packet (che però, appunto, parte sfasato). L'unica cosa che mi viene in mente è provare a disabilitare gli interrupt mentre eseguo lo skip del settore prima di rientrare nel loop principale. Se non funziona non so cos'altro tentare. Sono alla disperazione ;-) Allego un'altra quindicina di Kb (scusa EMG!) con il sorgente del "settorizzatore" in C e del player in versione "settorizzata" (sempre più disordinato...)