Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Kick Off - 26 Novembre 2016, 22:25:31

Titolo: Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 26 Novembre 2016, 22:25:31
Saluti a tutta la comunità di Ready64 e del suo forum.

Dunque, come beninteso nel titolo ho una piccola idea che vorrei realizzare giusto per diletto, e spero di trovare qualcuno ben disposto ad aiutarmi, sò che l'impresa perlo più sarà ardua benchè siano passati molti anni.

L'idea è questa, vorrei creare una o più routine da inserire in un programma in Basic, oppure scrivere le routine e l'intero programma (già realizzato in Basic), in linguaggio L.M.(linguaggio macchina), lo scopo di questa/e routine è di garantirmi la succesione di schermate "temporizzate".

Nella prima deve apparire la sequenza dei titoli del programma, l'autore, l'anno di pubblicazione/creazione.

Nella successiva schermata deve apparire il messaggio:

"press key return to begin" oppure "press key return to continue"

Sè l'utente ha premuto il tasto richiesto, (in questo caso il return), vorrei che passasse alla schermata del menù a scelta del programma.

Da notare che la schermata del menù a scelta è da me già scritto in basic all'interno del programma.

(entrambe le schermate a video, possono essere scritte in inglese o italiano per me è indifferente. Purchè atte allo scopo.)

Vi ricordo ancora che il programma in questione con il menù a scelta, la grafica e il suo contenuto sono stati da me già scritti in Basic semplice senza loader gira perfettamente su un C64 reale, ma mi manca la parte appunto che vi ho appena descritto.
Spero vivamente che abbiate tutti compreso e vi ringrazio da subito per gli aiuti, e le dritte che eventualmente mi fornirete.

Eh scusatemi per la richiesta un pò stupida credo.
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Flavioweb - 03 Dicembre 2016, 22:01:35
Il metodo più semplice per farlo è questo:
Codice: [Seleziona]
10 print "premi return"
20 get a$: if a$<>chr$(13) then goto 20
30 print "aspetta un attimo..."
40 for i=1 to 1500:next i
50 goto 10

La linea 20 aspetta la pressione del tasto RETURN (codice PETSCII 13), mentre la linea 40 attende circa 3 secondi.
Col Cbm64, all' incirca, un ciclo FOR...NEXT di 500 iterazioni "a vuoto" impiega 1 secondo per essere portato a termine, quindi il valore 1500 crea un' "attesa" di, più o meno, 3 secondi.
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 16:34:21
Il metodo più semplice per farlo è questo:
Codice: [Seleziona]
10 print "premi return"
20 get a$: if a$<>chr$(13) then goto 20
30 print "aspetta un attimo..."
40 for i=1 to 1500:next i
50 goto 10

La linea 20 aspetta la pressione del tasto RETURN (codice PETSCII 13), mentre la linea 40 attende circa 3 secondi.
Col Cbm64, all' incirca, un ciclo FOR...NEXT di 500 iterazioni "a vuoto" impiega 1 secondo per essere portato a termine, quindi il valore 1500 crea un' "attesa" di, più o meno, 3 secondi.

Interessante....per rendere meglio l'idea vorrei postare alcune immagini del programma sè mi consentite a farlo.

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 16:54:13
seconda immagine

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:11:11
tre

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:11:58
quattro

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:21:40
Ora le schermate del prog. in basic senza nessuna modifica.

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:22:45
fine.
Faccio notare che le prime quattro foto riguardano il listato basic senza modifiche.
Mentre queste due ultime sono la sua eseguzione.

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:37:14
Ora vorrei illustrarvi invece un'esempio di programma grafico preso dal volume:
 "La Grande guida del Programmatore"  Editore Jackson. Scritto da Rita Bonelli



[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:39:05
2

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:43:34
Questo programma fà lo scroll orizzontale come si può vedere in foto:

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:45:52
ecco lo scroll in foto è fermo (perchè non si può allegare video sigh.)

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 17:58:27
Con una blanda modifica

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 18:01:49
seconda foto del listato

[allegato eliminato da un amministratore]
Titolo: Re:Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic
Inserito da: Kick Off - 06 Dicembre 2016, 18:03:29
ottengo questo....

[allegato eliminato da un amministratore]
Titolo: [Risolto]Re:Aggiunta di routine per lancio di schermate introduttive a tempo in
Inserito da: Kick Off - 26 Aprile 2017, 19:21:27
Eccomi qua, come consigliato da Raffox, apro questo nuovo thread, specificando che questo si "aggancia" al thread "Aggiunta di routine per lancio di schermate introduttive a tempo in un prg Basic".

Detto questo voglio ringraziare per il consiglio datomi da Flavioweb, era certamente un esempio di codice da inserire nel mio prog con le opportune modifiche (che farò poi  :D) , ma per il momento, mi soffermo sul suo esempio che potete andare a vedere sul thread menzionato sopra.

Allora il codice che ho modificato è:
Codice: [Seleziona]
5 printchr$(147)
10 print"shift+O, [16]tastocbm+Y, shift+P"
12 print"tastocbm+H,  (testo scritto Pippo Presents) tastocbm+N"
14 print" shift+L, [16]tastocbm+P,shift+@"
21 print" premi return...."
22 geta$:ifa$<>chr$(13) then goto 22
24 printchr$(147):print"attendi un attimo...."
26 for i=1to1500:next i
28 goto 30
30 printchr$(147)
32 (in questa linea fino alla 40 si ripete la cornice fatta con i tasti menzionati poco prima)



Dopodichè ho aggiunto un'altra modifica, alla linea 21 ho messo un tempo di attesa, prima che appaia il testo "premi return...."
Mi domando sè è possibile formattare questo testo barrandolo e facendolo lampeggiare in attesa che l'utente premi il tasto Return ?