--- Andrea Ibba <andrea.ibba@xxxxxxxxxx> wrote: > Roberto Montaruli wrote: > > Fatemi capire: questa fantomatica pagina 0 sarebbero quindi i primi > > 256 indirizzi della memoria, da 0000 a 00FF ? > > > > Quindi qui, o si dedica la stessa area di ram dello Z80 da 0000 a > > 00FF alla medesima funzionalita' (pero' lo spectrum ha la rom a > > quell'indirizzo) oppure si dedica un qualunque intervallo di 256 byte > > alla medesima cosa, fermo restando che non si vada a confliggere con > > altro codice. > > Dirò forse una banalità, ma si potrebbe usare il classico buffer > della stampante. > > 256 bytes giusti giusti a partire da 23296 :-) Non si sta parlando di spectrum ma di Z80 in generale, quindi non c'e' nessun printer buffer. Abbiamo 64K di memoria piu' o meno equivalente. Il problema di questa conversione e' di cercare di renderla indipendente dagli indirizzamenti. Se un tal programma in 6502 ha il codice che va dall'indirizzo C0 all'indirizzo C1 e i dati dall'indirizzo D0 all'indirizzo D1, bisognerebbe cercare di mantenere la stessa struttura. La difficolta' sta nel fatto che i due processori hanno architetture diverse e vedono alcune locazioni di memoria in modo preferenziale. il 6502 ha questa pagina zero che consente un indirizzamento piu' agevole e quindi i programmi la sfruttano. lo Z80 invece ha per esempio delle istruzioni di restart RSTx che alcuni programmi sfruttano... Non e' facile fare delle traduzioni a livello di codice e mantenere una totale simmetria... ===== // // In a world without walls and fences // you would not need windows and gates. // (Confucio) == P'n'P: http://maicrosoft.italiamac.com __________________________________ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html