基本的C64 mini上出现“?60中的数据不足错误”

时间:2019-05-30 13:04:19

标签: c64

我已经将"Sixty Programmes for the Commodore 64" (by R. Erskine et al.)一书中的“决斗”编码为基本的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 个答案:

答案 0 :(得分:2)

DATA是一种将值序列输入BASIC程序的方法。 DATA语句中的值的数量必须大于或等于READ的调用次数。如果READ的DATA值用完,则会引发“数据不足”错误。

在这种情况下,应该有133个值,以逗号或其他DATA语句分隔。但是,第50行的末尾有些奇怪。它将30个值读入A而不进行任何操作,因此该部分毫无意义。

检查您的源代码,以查看是否有任何印刷错误或缺少行。如果没有,请尝试注释掉该行50 FOR语句。