«Ошибка 60% данных на моем C64 mini в основном - PullRequest
0 голосов
/ 30 мая 2019

Я кодировал «дуэль» из книги «Шестьдесят программ для Commodore 64» (Р. Эрскин и др.) , в мой C64 mini в основном.Я продолжаю получать следующую ошибку: «Ошибка данных вне в 60».Я проверил код на наличие опечаток и не могу найти ни одного.Кто-нибудь еще имел эту проблему, и у вас есть решение?Спасибо

Я проверил код на наличие опечаток и не могу его найти.

Строки 5-60:

5 REM *** D U E L ***   @ MICHAEL BEWS
      *** TRANSLATED BY IAN YATES
10 V-53248:X=RND(-TI):POKEV+32,4:POKEV+33,5:POKEV+24,23:POKE650,255:M20
20 Y$="String of C64 Characters":X$="String of C64 Characters
30 PRINT"String of C64 CharactersPLEASE WAIT WHILE USER-DEFINED",,"CHARACTERS ARE SET UP."
40 POKE52,48:POKE56,48:POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251
50 FORX=14336TO15143:POKEX,PEEK(X+40960):NEXT:FORX=1TO30:READA:NEXT
60 FORX=15144To15247:READA:POKEX,A:NEXT:M$="String of C64 Characters":N$="String of C64 Characters"

1 Ответ

2 голосов
/ 03 июня 2019

DATA - это способ подачи последовательности значений в программу BASIC.Количество значений в операторах DATA должно быть больше или равно количеству вызовов READ.Если в READ заканчиваются значения DATA, возникает ошибка «Out of Data».

В этом случае должно быть 133 значения, разделенных запятыми или различными операторами DATA.Однако конец строки 50 несколько странный.Он считывает 30 значений в A, ничего не делая с ними, так что эта часть не имеет смысла.

Проверьте код на наличие ошибок в коде, чтобы узнать, есть ли какие-либо опечатки или пропущенные строки.Если нет, попробуйте закомментировать эту строчку 50 в операторе FOR.

...