Beiträge von alke01 im Thema „GeoRam Loader von ChatGPT“

    Der verbrauchte Speicher im C64 ist und bleibt aber der gleiche, egal von WO das Programm gestartet wird

    Ja, hier ist mein Verständnisfehler... Ich lade es zwar ins GeoRam (habe es jetzt soweit hinbekommen) was auch noch ewig lange dauert,

    aber wenn ich es starte habe ich wieder so wenig freien Speicher zur verfügung wie vorher.

    Ich muss also aus dem eigentlichen Hauptprogramm "norm2" Sachen auslagern und dann holen wenn sie benötigt werden. Habe ich das jetzt richtig verstanden oder

    habe ich immer noch ein Verständisproblem?

    alke01 vielleicht kannst du erläutern, was das Ziel wäre.
    Das GeoRAM als generelles Disk-Laufwerk?

    Es gibt ja fertige RAMdisk Programme dafür.

    Ziel ist es das Programm "norm2" in den Speicher der GeoRam abzulegen und von dort zu starten, um mehr freien "normalen" Speicher zu haben, aber vielleicht liegt auch hier schon der Verständnisfehler...

    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 getBitte melde dich an, um diesen Link zu sehen.,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