Hallo, habe nach Jahren wieder nenne C64 aktiviert.
Diese kleine Programm funktioniert. 2 x, dann Error Zeile 20, wer kann helfen?
10 For a = 1 to 40
20 poke 1026 + a,81
30 Next a
Wäre nett Jürgen
Es gibt 21 Antworten in diesem Thema, welches 4.119 mal aufgerufen wurde. Der letzte Beitrag (
Hallo, habe nach Jahren wieder nenne C64 aktiviert.
Diese kleine Programm funktioniert. 2 x, dann Error Zeile 20, wer kann helfen?
10 For a = 1 to 40
20 poke 1026 + a,81
30 Next a
Wäre nett Jürgen
es hat für mich funktioniert
Sieht auf den ersten Blick gut aus. Was für ein Error kommt denn?
Error in 20
Es funktioniert auch 1 oder 2 Mal, wenn ich es eingetippt habe, dann kommt der Fehler. Danke allen, die mitnachdenken. wir
Es funktioniert auch 1 oder 2 Mal, wenn ich es eingetippt habe, dann kommt der Fehler. Danke allen, die mitnachdenken. wir
Funktionier auch 1000x hinter einander (im Vice) wenn ich vor Zeile 10 noch eine weitere Schleife setze.
Oh, oh, das hört sich nicht gut an. Es sollte immer gehen. Klingt nach einem RAM Problem.
Ja, für mich hört sich das auch nicht gut an, jeder Wackelkontakt ist das, aber was soll ich machen?
Wir wissen ja noch gar nichts über Dein System und inwieweit Du dich mit messen, löten und reparieren auskennst.
Welche Ausrüstung ist denn vorhanden? Würdest Du ein Diagnose Programm auf den C64 überspielen können?
Du poke'st 2 Zeichen zuviel, die landen dann nicht mehr im Bilschirmspeicher sondern im Basic-Variablen-Raum dahinter.
Der Bildschirmspeicher fängt bei 1024 (dez) an und nicht bei 1026 ![]()
Du poke'st 2 Zeichen zuviel, die landen dann nicht mehr im Bilschirmspeicher sondern im Basic-Variablen-Raum dahinter.
Der Bildschirmspeicher fängt bei 1024 (dez) an und nicht bei 1026![]()
Letzteres ist zwar richtig, aber bei nur 40 Schleifendurchläufen glaube ich die erste Zeile dieses Zitats trotzdem nicht...
Selbst beim Versuch, den Bildschirm zu füllen, würde nichts passieren: Das Screen RAM ist 24 Bytes größer (belegt eben ein ganzes KiB), in der Regel ungenutzt, die letzten 8 Byte davon sind gegebenenfalls Spritepointer. Erst dann kommt was anderes im Speicher, und zwar nicht die BASIC-Variablen sondern das BASIC-Programm selbst.
Wieso? Er poked doch nur 40 mal ab 1026. Das ist schon noch im Bildschirmspeicher. Fängt halt nicht vorne an.
edit: zrs1 war schneller...
Error in 20
Mach mal bitte ein Bildschirmfoto von dem Fehler und lade das hier hoch.
ZitatWieso? Er poked doch nur 40 mal ab 1026. Das ist schon noch im Bildschirmspeicher. Fängt halt nicht vorne an.
Uahh, natürlich. Lol, vor meinem geistigen Auge hatte ich einen vollen Screen ![]()
Der Text des Fehler war:
Syntax Error in 20,
Morgen bin ich wieder zu Hause, dann schicke ich ein Screenfoto.
Danke Eurer Mühe
Funktioniert bei mir auf einem C128 in beiden Modi ohne Error.
Auf meinem z.Zt. aufgebauten C64 407er Rev.C ebenfalls, beliebig oft u. auch nach Run/Stop Restore. Aber war ja auch klar, dass es das sollte.
Ich habe dir ein D64 image angehängt. Da sind zwei Dateien drauf.
"POKE.PRG" ist dein BASIC Programm
"MEMCMP.PRG" ist ein kleines Testprogramm dass dein BASIC Programm im Speicher vergleicht. Wenn es erfolgreich war gibt es '+' aus, ansonsten '-'.
Wenn du das auf eine Disk kopieren kannst, dann kannst du damit eventuell schnell mal prüfen können ob dein RAM an der Stelle ein Problem hat.
Schalte den C64 ein.
LOAD "MEMCMP.PRG",8,1
NEW
SYS49152
Jetzt sollte das '-' erscheinen weil du ja das BASIC Programm noch nicht geladen hast.
LOAD"POKE",8
SYS49152
Jetzt sollte ein '+' erscheinen. Du kannst das auch mehrfach aufrufen und es sollte immer ein '+' erscheinen.
Es vergleicht den Speicher 32 mal, wenn ein Fehler gefunden wird, bricht es sofort mit '-' ab.
Du kannst auch mit POKE 49153,1-255 einstellen wie oft es vergleichen soll (max 255 Durchläufe) pro Aufruf.
Hoffe das hilft das Problem etwas einzugrenzen.
Wenn immer '+' ausgegeben wird, dann ist möglicherweise eher dein BASIC ROM defekt. wenn der Fehler immer auftritt. Dein Programm sollte jedenfalls keinen Fehler verursachen.
Wenn der Speicher einen Fehler hätte, wurde doch auch sein Listing des kl. Programms kaputt sein. Denke ich 'mal, oder nicht ?
Da es das anscheinend nicht ist, ist das Programm selbst (im Speicher) ja in Ordung. Zumal es ja auch beim 1. und 2. Versuch noch korrekt läuft.
Naja, vlt. hat sich sein Problem auch von alleine gelöst mittlerweile (da noch nichts erneutes kam).
Die CPUs gehen nach über 30 Jahren mal kaputt, ich habe schon 64er gesehen die konnten nicht mehr richtig rechnen.