Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: bobgeldof - 24 Ottobre 2009, 23:20:50

Titolo: Una Domanda Su Ti$
Inserito da: bobgeldof - 24 Ottobre 2009, 23:20:50
 Salve a tutti i frequantatori del forum.
Sono un ex possessore di C64: il mio è defunto da una ventina di anni e non ne posseggo un altro, quindi mi adatto col winvice (ver. 2.1).
Ho appena notato che la variabile TI$ che in pratica misura i secondi trascorsi dall'accensione salta da 59 a 100 per poi continuare regolarmente.
La cosa succede su tutte le macchine emulate dal vice (c64, c128, pet, plus4 ecc.).
Ora chiedo a qualcuno di voi che se lo ricorda o magari ha ancora un bel sessantaquattro in plastica e ossa: è un bug del vice o è una effettiva caratteristica del sessantaquattro?
 :huh:  
Titolo: Una Domanda Su Ti$
Inserito da: Jotaro - 25 Ottobre 2009, 00:12:16
 Ho appena provato su un C128 in modalità C64 con il seguente programma:

10 print ti$
20 goto 10

(complicato eh ?  ;)  )

l'output arrivati a 59 è:

000059
000100
... poi dopo 59 secondi...
000159
000200
... e dopo altri 59 secondi...
000259
000300

e cosi' via...
Suppongo quindi che non salti da 59 a 100 secondi ma che le prime due cifre indichino le ore, le seconde due i minuti e le ultime due i secondi.
Quindi "100" non sono in realtà 100 secondi ma 1 minuto e 00 secondi (devi leggere la stringa ti$ nella totalità dei suoi 6 caratteri).
Titolo: Una Domanda Su Ti$
Inserito da: saver71 - 25 Ottobre 2009, 07:40:42
Citazione da: Jotaro
Suppongo quindi che non salti da 59 a 100 secondi ma che le prime due cifre indichino le ore, le seconde due i minuti e le ultime due i secondi.


La tua "supposta" è giusta!  :P

TI$ non è altro che una variabile che conteggia il tempo trascorso dall'accensione della macchina. Come tu hai specificato, il formato è Ora/Minuti/Secondi. Alla variabile TI$ può essere assegnato un valore, perciò, se ad esempio vogliamo darle come valore iniziale 1 ora, 20 minuti e 20 secondi, ci basterà digitare:

Codice: [Seleziona]
TI$="012020"
Discorso diverso è invece per l'altro contatore del tempo, la variabile TI, che si incrementa di 1/60 di secondo e che non può essere modificata. Ciò significa che scrivendo:

Codice: [Seleziona]
PRINT TI
avremo un numero pari al numero di secondi e centesimi di secondo trascorsi dall'accensione della macchina moltiplicato per 60. Utile ad esempio per simulare un cronometro.
Titolo: Una Domanda Su Ti$
Inserito da: bobgeldof - 25 Ottobre 2009, 12:28:36
 Grazie mille, chissà perché ricordavo che ti$ indicasse i secondi.
 :overkiller:  
Titolo: Una Domanda Su Ti$
Inserito da: saver71 - 26 Ottobre 2009, 07:33:01
 Se hai qualche dubbio, puoi sempre consultare il manuale d'uso del C64, disponibile al download su questo sito. (LINK (http://ready64.org/manuali/index.php))
Qualcuno si è sbattuto per renderlo disponibile a tutti.  :)