Ready64 Forum
Commodore 64 => Aiuto & Domande => Topic aperto da: tonymoon - 16 Aprile 2019, 17:43:18
-
Sulla rivista anno1 numero2 di PaperSoft, c'è il listato di "Quattro" per il Commodore64. Quando digito la prima riga, e do invio per inserire le altre mi da errore. Questa è la stringa:
8 sr=4*(peek(36866)and128)+64*(peek(36869)and120):co=(37888+4*(peek(36866)and128))-sr
Un salutone a tutti. :(
MOD - Spostato in Aiuto & Domande. -eregil
-
Segnalazione interessante, grazie tonymoon! :D
Vediamo se c'è qualcuno esperto in grado di individuare la causa dell'errore.
-
Sulla rivista anno1 numero2 di PaperSoft, c'è il listato di "Quattro" per il Commodore64. Quando digito la prima riga, e do invio per inserire le altre mi da errore. Questa è la stringa:
8 sr=4*(peek(36866)and128)+64*(peek(36869)and120):co=(37888+4*(peek(36866)and128))-sr
IL basic del C64 prevede una lunghezza massima di 80 caratteri per linea di programma, numero linea compreso, ovvero due linee a video da 40 caratteri ciascuna.
Nel caso della riga in questione siamo ad 85. Questo significa che una volta digitata tutta la sequenza a video risulta così:
8 sr=4*(peek(36866)and128)+64*(peek(3686
9)and120):co=(37888+4*(peek(36866)and128
))-sr
col cursore dopo l'ultimo carattere.
Premendo Return viene quindi considerata solo la terza linea, l'interprete quindi si trova un comando ))-sr che non capisce e quindi restituisce un syntax error.
A.
-
Ok Andy/AEG, a questo punto come posso modificare la stringa per far funzionare il programma?. :rtfm:
-
Hai 2 possibili soluzioni:
1. Usa P{Shift + E} al posto di PEEK per abbreviare e farci stare tutta la riga in meno di 80 caratteri:
8 sr=4*(p{Shift + E}(36866)and128)+64*(p{Shift + E}(36869)and120):co=(37888+4*(p{Shift + E}(36866)and128))-sr
2. Spezzi la riga in 2:
8 sr=4*(peek(36866)and128)+64*(peek(36869)and120)
9 co=(37888+4*(peek(36866)and128))-sr
La riga 9 non dovrebbe esserci, dato che sulla versione per VIC non c'è.
Diversamente, adotta la prima soluzione e sei a cavallo. ;)
-
Ok Saver71, non avevo pensato alle abbreviazioni. Daccordo provo cos'ì.
Grazie poi ti faccio sapere se va bene. :azz:
-
Sulla rivista anno1 numero2 di PaperSoft, c'è il listato di "Quattro" per il Commodore64. Quando digito la prima riga, e do invio per inserire le altre mi da errore. Questa è la stringa:
8 sr=4*(peek(36866)and128)+64*(peek(36869)and120):co=(37888+4*(peek(36866)and128))-sr
Un salutone a tutti. :(
Per favore, non usare la sezione Programmazione per le richieste di aiuto. È una sezione dedicata a chi contribuisce materiale autoprodotto e a discussioni di tecniche di programmazione (e di realizzazione di grafica e musica) a un livello intermedio/avanzato.
Ciò detto, ho già fatto notare che i listati di "Quattro" nei numeri 1 e 2 di Papersoft Anno I sono scambiati. Quello marcato per C64 è in realtà per VIC 20, e viceversa.