[zxspectrum] R: Re: R: Re: Un Ritorno nei Retrocomputers

  • From: andrea gasparrini <andreagasparrini@xxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sat, 23 Jan 2010 11:56:24 +0000 (GMT)

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
>     >
>
>
>





      

Other related posts: