On Saturday, February 03, 2007 8:26 PM [GMT+1],
Stefano <flydream@xxxxxxxx> wrote:
Si, prima o poi dovrei documentarmi sul loro standard per vedere
quanto sono lontano. Sono cmq poco fiducioso di poter implementare
Ah... ma se l'hardware è già in grado di supportare certe funzioni
dovresti essere già a cavallo... (così mi sembra visto che parlo da
buon ignorante in materia...)
In effetti, 4 bit sono sempre 4 bit e quindi probabilmente anche loro hanno
due pixel per byte. Il punto, ad esempio, e` che il mio scan converter
memorizza un frame (40K) in un banco da 64K (due banchi nella ram da 128K
15ns dedicata allo scopo). Per semplificare enormemente i puntatori, durante
la conversione dal formato spectrum (che ovviamente viene fatta in hardware)
ce ne sono due da 8 bit ciascuno: uno per la riga (0-255) e uno per il byte
all'interno della riga (0-159 = 320 pixel). Ne consegue che ho un "buco" di
96 bytes ogni 160.
Questo e` un po` scomodo. Ad esempio, per leggere il frame da SD card (dove
si devono per forza leggere 512 bytes consecutivi), ho dovuto fare una cosa
un po` strana: ogni settore della card (512 bytes) contiene 3 righe senza
spazi (480 bytes) e i restanti 32 vengono buttati. Il settore viene letto da
una routine appositamente modificata, che esegue 3 blocchi di lettura
incrementando ogni volta il puntatore di riga in modo da colmare i buchi.
In questo modo non leggo roba inutile (sarebbero ben 96 bytes per riga), e
nello stesso tempo non devo spostare blocchi di memoria (lo spostamento con
LDIR richiede lo stesso tempo del caricamento da sd card (con INIR): in
pratica dal punto di vista della velocita` e` come se la sd card fosse "in
memoria", a parte l'overhead per iniziare il trasferimento. Non devo nemmeno
fare complicati calcoli per riallineare i puntatori, perche` ogni 512 bytes
si ricomincia. In questo modo devo leggere 42K dalla card invece di 40, ma
poco male (molto meglio di leggerne 64K).
Questo e` uno dei motivi per cui temo che rendermi compatibile sia
complicato. Dove potrei trovare informazioni dettagliate che descrivano il
buffer video dei sistemi che indicavi? E` unico per tutti?