Autore Topic: Errore sul listato  (Letto 2426 volte)

tonymoon

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: California Games
Errore sul listato
« il: 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
« Ultima modifica: 17 Aprile 2019, 15:54:44 da eregil »
Un Saluto a Tutto lo Staff, e a Tutti gli Utenti.

Raffox

  • Administrator
  • Utente
  • *****
  • Post: 714
    • http://www.raffox.com
  • Gioco Preferito: Moonshadow (Idea)
Re:Errore sul listato
« Risposta #1 il: 16 Aprile 2019, 20:52:11 »
Segnalazione interessante, grazie tonymoon! :D
Vediamo se c'è qualcuno esperto in grado di individuare la causa dell'errore.

Andy/AEG

  • Utente
  • **
  • Post: 127
    • AEG soft
  • Gioco Preferito: Elite
Re:Errore sul listato
« Risposta #2 il: 17 Aprile 2019, 00:15:25 »
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.

tonymoon

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: California Games
Re:Errore sul listato
« Risposta #3 il: 17 Aprile 2019, 09:08:07 »
Ok Andy/AEG, a questo punto come posso modificare la stringa per far funzionare il programma?. :rtfm:
Un Saluto a Tutto lo Staff, e a Tutti gli Utenti.

saver71

  • Utente
  • **
  • Post: 277
  • Amante degli anni '80
    • Super 80
Re:Errore sul listato
« Risposta #4 il: 17 Aprile 2019, 09:13:44 »
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:

Codice: [Seleziona]
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:

Codice: [Seleziona]
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. ;)







tonymoon

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: California Games
Re:Errore sul listato
« Risposta #5 il: 17 Aprile 2019, 12:19:11 »
Ok Saver71, non avevo pensato alle abbreviazioni. Daccordo provo cos'ì.
Grazie poi ti faccio sapere se va bene.  :azz:
Un Saluto a Tutto lo Staff, e a Tutti gli Utenti.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Re:Errore sul listato
« Risposta #6 il: 17 Aprile 2019, 15:54: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.  :(

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.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.