Ready64 Forum
Commodore 64 => Programmazione, Grafica e Musica => Topic aperto 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:
-
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).
-
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:
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:
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.
-
Grazie mille, chissà perché ricordavo che ti$ indicasse i secondi.
:overkiller:
-
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. :)