Sento la necessità di postare almeno 1 messaggio in-topic ! Ho finalmente trovato un'attimo di tempo per sbirciare nel codice che Alvin ha prodotto come estensione dello Z88DK per lo Spectrum, e devo dire che ci ho trovato diverse gemme... - Il supporto per i cloni brasiliani con modalità grafica a 512 pixel - Una routinetta di fill comprensiva di gestione dei pattern - Funzioni per il calcolo dei pixel adiacenti a partire dalla locazione/bitmask attuale, che rendono le animazioni un po' più veloci. - Compressione e decompressione Huffman - gestione dei mouse o emulazione del mouse tramite tastiera e joystick - Una serie di funzioni per la gestione della tastiera indipendenti da interrupt e ROM. Sto tentando di rendere alcune funzioni multipiattaforma, come promesso al gruppo tempo fa, provando i port sulle calcolatrici texas, che hanno particolari limiti sullo stack. Ho scoperto una mia grossa lacuna: per accelerare la lettura di un tasto, Alvin ha costruito una routine che pre-calcola un "codice del tasto", e poi usa questo codice per confrontare il contenuto della tastiera. In pratica per controllare la pressione di "a", la funzioncina restituirà $FD per la codifica riga, e $01 per la maschera. Questi dovrebbero poter essere usati come segue: ld a,$fd in a,($fe) and $01 jr z, a_is_pressed ...che senso ha ? Come mai il valore preimpostato in A prima della IN dovrebbe influenzarne il risultato ?