Ciao Paolo, Se lo spectrum non ha una modalità testo alfanumerico come gli MSX,VIC20, C64,C128,C16, allora qui è un problama per me, perchè allora non è la stessacosa come avevo pensato di fare gli spectrum.Poi se mi dici che il basic delle speccy è molto lento a confronto del VIC20 ecc...Allora a questo punto, mi dispiace dirlo, ma è meglio per me che ci rinuncioa programmare videogiochi per questo sistema Sinclair !!! =_= Sono rimasto molto deluso da questo sistema!Ma il fatto è che ci volevo provare a scrivere qualcosa......tutto qua!! =_= Grazie lo stesso.....Andrea --- Sab 23/1/10, Paolo Ferraris <pieffe8@xxxxxxxxx> ha scritto: Da: Paolo Ferraris <pieffe8@xxxxxxxxx> Oggetto: [zxspectrum] Re: R: Re: Un Ritorno nei Retrocomputers A: zxspectrum@xxxxxxxxxxxxx Data: Sabato 23 gennaio 2010, 12:44 Chiariamo un concetto importante: Il BASIC Sinclair e` lento. Questo e` il prezzo che paga per aver cosi` tante features in soli 16K. Per fare cose veloci e` molto meglio usare il linguaggio macchina. Seconda cosa: sullo spectrum non c'e` modalita` testo. Per far apparire un carattere sullo schermo con dei POKE devi eseguirne ben 8. Questo per settare i 64 pixel del carattere. In BASIC si fa PRINT AT y,x;"A" per scrivere A alle cooridnate x,y. In linguaggio macchina (se conosci lo Z80) per far la stessa cosa il metodo piu` semplice e` usare RST 8. Il carattere con il codice ASCII nel registro A viene scritto alla posizione corrente del cursore (invisibile). Per cambiare la posizione del cursore basta RST8-are il carattere speciale 22 (stesso significato di AT), seguito dalle coordinate x ed y (vanno RST8-ate alla stessa maniera). Capirai che la collision sia difficile da effettuare usando la memoria video. Consiglio di creare un array 32x24 e memorizzare al suo interno che cosa ci sia sullo schermo in ogni posizione. Se non vuoi usare un array puoi anche POKEare e PEEKare, ma non nella memoria video. On 1/23/2010 2:59 AM, andrea gasparrini wrote: > > Certo, > > > Difatti vorrei fare una cosa simile come ho fatto sul VIC20 e sistemi MSX. > > > Ammettiamo che il byte 100 è definito un omino, per muoverlo: > > > 10 POKE16384+X+Y*32,100 > > > ma come mi hanno detto già devo definire i caretteri bitmap con un altro > > indirizzo che mi ha detto Enrico. > > > Certo, sul vic20 non c'è PRINT AT, nei sistemi MSX si usa LOCATE X,Y > > ma con una cartuccia di espansione dati del VIC che si chiama > SuperExpander, > > c'è un comando che si chiama CHAR X,Y, ma è inutile usare questo comando > > perchè devo usare POKE con indirizzo, perchè dopo devo gestire le > collisioni > > con PEEK indirizzo, Ad esempio, impedire che l'omino 1UP oltrepassi il > muro > > del labirinto, prendere degli oggetti sul labirinto per accomulare > punteggio, ecc.. > > tutto qua! > > > Ciao a dopo > > Andrea > > > > --- *Sab 23/1/10, Antonio Giusa /<antonio.giusa@xxxxxxxxxx>/* ha scritto: > > > Da: Antonio Giusa <antonio.giusa@xxxxxxxxxx> > Oggetto: [zxspectrum] Re: Un Ritorno nei Retrocomputers > A: zxspectrum@xxxxxxxxxxxxx > Data: Sabato 23 gennaio 2010, 11:49 > > Enrico Maria Giordano ha scritto: > > > > -----Messaggio Originale----- Da: "andrea gasparrini" > > <andreagasparrini@xxxxxxxx > </mc/compose?to=andreagasparrini@xxxxxxxx>> > > A: <zxspectrum@xxxxxxxxxxxxx > </mc/compose?to=zxspectrum@xxxxxxxxxxxxx>> > > Data invio: venerdì 22 gennaio 2010 14.42 > > Oggetto: [zxspectrum] Un Ritorno nei Retrocomputers > > > > > >> Vorrei sapere se qualcuno di voi vorrebbe e se ha tempo > >> libero > > > > Cos'è? :-) > > > >> Quindi mi serve l'indirizzo POKE del codice video > > > > 16384 > Vero, ma a quanto pare a lui non serve il display file, ma pare che > vorrebbe POKare come sul VIC sulla griglia caratteri (32x24). Sul > VIC20 > non esiste PRINT AT. Usando le variabili di sistema ZX, si può > usare una > procedura analoga, se proprio si vuole... > > > >> e il numero esatto delle colonne dello schermo. > > > > 32 > > > >> E se poi lo spectrum se ha un comando simile agli MSX > >> "SCREEN" > > > > Sì, esiste la funzione SCREEN$. > > > Vero, ma SCREEN è un comando sull'MSX (e sul C128), più o meno > come MODE > sul SAM o sul QL, mentre SCREEN$ è una funzione che serve a > tutt'altro. > >> Come gestire il comando INKEY$ del gestire la tastiera > >> dello speccy > > > > Esiste la funzione INKEY$ che restituisce il tasto premuto. > > > >> e gestire anche il joystick kempstone. > > > > Si devono leggere delle porte ma ora non ricordo quali. > > > IN 31 certamente, ma anche altre (che non ricordo) funzionano. > >> Il mio problema è anche digitale > > > > E' inevitabile quando si ha a che fare con un computer. :-))) > > > >> il listato basic, perchè funziona diversamente dagli > >> altri sistemi e qui faccio un pò di fatica! > > > > Credo sia solo una questione di abituarsi alle keyword. Poi si > > guadagna in velocità. > > > > 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 > > The EMG Music page: http://www.emagsoftware.it/emgmusic > > > > >