CPC 6128 / Arbeitsspeicher: Welche Problemlösung gibt es?

  • Hallo Forumsgemeinde!
    Über dieses Forum hier kam ich im vergangenen Jahr an einen Fußball-Bundesligamanager in Basic heran, den ich in meiner Jugend bis zum Abwinken spielte. Das Listing war in den 80er Jahren mal in "Happy Computer" veröffentlicht worden.
    Ich hatte immer davon geträumt, das Programm nach meinen Wünschen zu erweitern, wenn ich es wieder irgendwo finden würde.
    Damit habe ich nun begonnen (nutze den Emulator WinAPE) und komme auch super vorwärts. Allerdings: Durch die vielen Erweiterungen (und das ohnehin schon in Urform endlos lange Listing) geht der Arbeitsspeicher scheinbar allmählich in die Knie. Meldungen wie "string space full" oder "memory full" häufen sich, wenn ich in Teilbereiche des Programmes gehe. Nach normalem "Run" kommen die Meldungen (noch) nicht.
    Meine Frage wäre, da ich noch vorhabe, etliche weitere Erweiterungen zu programmieren: Was kann ich gegen das offenbar drohende Arbeitsspeicher-Dilemma tun? Kann ich den Arbeitsspeicher irgendwie erweitern?
    Für Hilfe wäre ich Euch überaus dankbar.
    Grüßle
    Vasia

  • Leider bin ich nicht so der Freak bei CPC Computern.
    Die einzige Speichererweiterung die ich kenne und die immer noch
    zu bekommen seien müsste, ist das Symbiface2.
    Das ist so ziemlich die eierlegende Wollmilchsau.
    Eventuell ist die aber auch für dieses Vorhaben einfach
    drei Nummern zu groß.


    Stefan

  • Egal welche Speichererweiterung: Das Locomotive BASIC macht keinen Gebrauch davon. Der auf den Systemdisketten mitgelieferte Bankmanager zum Nutzen der zweiten Speicherbank des 6128 kann bedingt hilfreich sein.


    In CPC International Sonderheft wurde der BASIC Programcode Compressor veröffentlich, damit lassen sich ein paar KB einsparen.


    Oder mittels CHAIN MERGE Programmteile nachladen, da wäre eine RAM-Disc, z.B. Symbiface II, natürlich hiflreich.


    Viel Erfolg,
    Mr. AMS

  • almasys Den BASIC Compressor kenne ich auch noch. Hat damals ganz gut funktioniert. Weisst du die Ausgabe, dann könnte man mal die entsprechende Databox heraussuchen...


    Ansonsten: verwendest du viele DATA Zeilen? Wenn man die schon mal in eine Datei auslagert und nur lädt, wenn sie gebraucht werden, spart man auch schon wieder einiges ein. Ansonsten kann man noch einzelne Programmteile in andere Dateien auslagern und per CHAIN MERGE bei Bedarf nachladen. REM Zeilen benötigen auch einiges an Speicher, also notfalls auch ein paar Kommentare rauswerfen auch wenn die Überichtlichkeit darunter leidet. Für Variablennamen gilt leider das Gleiche... Bei einem alten Fussballmanager, den ich immer gerne gespielt habe, schlug irgendwann die Garbage Collection zu, was dann auch ewig gedauert hat. Dann lieber an einer passenden Stelle die GC selbst aufrufen (FREE("")).
    Wenn alle Stränge reissen, dann würde ich ein paar Unterroutinen als RSX Befehle mit Assembler direkt in den Speicher auslagern. Da könnte man sicherlich auch noch was rausholen.

  • Alles klar. Hab die Databox gefunden und hier mal angehängt. Der "Programmcode-Compressor" ist auf der 4. Diskette drauf. Genutzt habe ich ihn bisher noch nicht, aber ich meine mich zu erinnern, dass es in den späteren Ausgaben auch noch mal einen BASIC Kompressor gab.


    almasys Hmm, ist der Garbage Collector nicht integraler Bestandteil des BASICs? Bin mir nicht 100%ig sicher, aber lasse mich gerne belehren :-)!