Roberto Montaruli wrote: > > > Aspetta: quello che dici è valido solo per la modalità 32 x 24. Io > > invece facevo un discorso generale, dato che ho cominciato ad utilizzare > > modalità diverse fin da subito (64 x 24 e poi 64 x 32). :-) > > Dai, EMG! Finche' le coordinate sono multipli di 8, cambia ben poco. > Una mascheratura diversa nell'AND e un SRL in piu' o in meno e ci arrivi > comunque in modo semplice. Ci hai mai provato? Da come ne parli credo proprio di no. E comunque 32 righe significa 6 pixel per carattere in altezza. Prova a farti due conti e vedi un po' se con la tecnica da te descritta riesci a calcolare la posizione di un carattere... > Mi rendo conto pero' che la cosa possa essere piu' complessa per font > proporzionali o che hanno una matrice che non e' un sottomultiplo di 8, > (es. 5x7) Mi sembra che basti considerare il font da 80 caratteri per riga a passo fisso. > Pero' se certi giochini fanno girare gli sprite software a velocita' > accettabile, vuol dire che la macchinosita' del display file e' comunque > gestibile. Certo che è gestibile, l'ho già detto. E ho anche già detto che si possono sfruttare le particolarità del problema per trovare delle ottimizzazioni. Ma il discorso è che se il display file fosse stato più "ordinato", l'accesso sarebbe stato, in generale, più veloce, anche per gli sprites. > Inoltre, trattandosi di stampa di caratteri, quindi generalmente qualcosa di > sequenziale, basterebbe conservare da qualche parte l'ultimo indirizzo > utilizzato e partire da quello se devi stampare un carattere nuovo, senza > ricalcolarlo ogni volta, facendo il ricalcolo solo se c'e' un riposizionamento > del cursore. Sì, ma non è così semplice. Con modalità che non siano quelle standard ci sono troppi casi di ricalcolo. EMG -- EMAG Software Homepage: http://www.emagsoftware.it The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum The Best of Spectrum Games: http://www.emagsoftware.it/tbosg