Ich habe ChatGPT gefragt nach einem Basic-Loader zum Laden eines Basic Programms in den Speicher einer GeoRam.
Das Basic-Programm heißt (im Moment) NORM2 und ist 88 Blöcke lang, GeoRam Speicher sind 512kb.
Leider bricht der Code immer mit einem Syntax Error in 160 ab, was ist falsch, oder sollte der Code ganz anders aufgebaut werden?
Hier der Code:
10 rem *** c64 basic loader for prg to georam ***
20 rem assumptions:
30 rem - prg file is 88 blocks (22464 bytes)
40 rem - georam has 512kb available
50 rem - prg file starts at $0801
60 rem
70 rem variables:
80 rem b$ - filename
90 rem a - start address of prg file
100 rem x, y - indexes for memory transfer
110 rem
120 b$="norm2":rem set filename
130 open 1,8,2,b$+",p,r"
140 if st<>0 then print"error opening file":end
150 print"loading ";b$
160 for i=0 to 22463
165 rem load 88 blocks
170 get#1,a$:if st<>0 then print"load error":end
175 if a$="" then a$=chr$(0):rem handle empty input
180 poke 2048+i,asc(a$)
190 next i
200 close 1
210 print"file loaded, copying to georam"
220 sys49152:rem call asm routine for georam transfer
230 print"done!"
240 end
250 rem *** machine code routine ***
260 rem writes data from $0801 to georam
270 data 169,0,141,0,2,169,8,141,1,2,169,0,141,0,4,169,0,141,1,4
280 data 169,1,141,2,4,169,0,141,3,4,160,0,177,1,141,4,4,200,208
290 data 250,230,3,208,247,230,2,208,241,141,0,4,96
300 for i=49152 to 49247:read a:poke i,a:next i