Eventuell den "stx $01" gegen ein "inc $01" tauschen ?
Minimales Speichertestprogramm
- Mac Bacon
- Thread is marked as Resolved.
-
-
Ja, das wäre wohl sicherer.
-
Himmel, der testet ja gar nicht den Speicher an $0000 und $0001. Das geht ja gar nicht!!1!
-
Für ganz absonderliche Fälle habe ich Version 3 aus Post 58 jetzt noch für andere Startadressen assembliert ($500, $600 und $700). Bitte darauf achten, dass das Programm nicht vom "READY" nach dem LOAD überschrieben wird und auch nicht bei der Eingabe des SYS hochgescrollt wird. Die Zahl aus dem Dateinamen ist die dezimale Ladeadresse und somit auch der Wert für den SYS-Befehl.
-
aus aktuellem anlass (ein bekannter will einen rechner testen hat aber keine transfermöglichkeit) - wie könnte ich das programm zum eintippen aufbereiten so das es sich dann auf floppy speichert? mir fiele nur ein die hex werte in den speicher zu poken und dann den bereich abzuspeichern. gibts da irgendwelche tricks, z.b. den bildschirm als speicher nutzen und dann aus der bildschirmmaske das programm speichern? oder kennt wer einen noch minimaleren speichertest?
-
Post #15 dieses anderen Threads ist eine Eintippversion. Vorher sollte man natürlich auf die "BASIC BYTES FREE" achten - die Eintippversion braucht so um die 600 funktionierende Bytes.
EDIT: Die Eintippversion im verlinkten Thread schreibt den Code in den Screen und springt ihn direkt an. Hier noch eine Eintippversion, die den Code in eine Datei schreibt, statt ihn anzuspringen:
Code- 0 s=s+f*a:read a:f=f+1:if a>-1 then 0
- 1 read c:restore:if s<>c then print "data checksum error!":stop
- 2 open 2,8,2,"memtestv3,p,w"
- 3 for c=2 to f:read a:print#2,chr$(a);
- 4 next:close 2
- 100 data 0, 4,162, 0,142, 0, 4,120
- 110 data169, 22,141, 24,208,173,134, 2
- 120 data141, 0,216,169, 48,133, 1,238
- 130 data 82, 4,208, 3,238, 83, 4,160
- 140 data 84,232,138,202, 89, 0, 4,240
- 150 data 11, 13, 0, 4,141, 1, 4, 73
- 160 data255,141, 1, 4,138,153, 0, 4
- 170 data200,208,230,238, 36, 4,238, 53
- 180 data 4,208, 2,160, 2,173, 36, 4
- 190 data201, 4,208,213,140, 43, 4,202
- 200 data208,205,240,195,255,255
- 210 data -1,440819
noch ein EDIT: Falls sich jemand über die unterschiedlichen Prüfsummen wundert: Das liegt daran, dass in dieser Version die DATAs auch die Ladeadresse enthalten. Der Code ist aber identisch. -
super genau das habe ich gesucht, vielen dank!
-
-
Frage, welches ist jetzt die aktuellste version die benutzt werden sollte? Die aus post 58 oder im 1. post da eventuell editiert? Wenn nicht wäre es gut das aktuellste nochmal mit erklärung dazu komplett in post 1 zu verfrachten da im normalfall bei sticky threads immer davon ausgegangen wird daß das aktuellste immer in post 1 zu finden ist.
-
Frage, welches ist jetzt die aktuellste version die benutzt werden sollte? Die aus post 58 oder im 1.
ich hab beim ULTIMAX-RAM-Checker - Kernal das aus Posting #59 genommen.
-
Hier noch ein paar Tags: memtest, ramtest, kbram
(hatte echt Probleme, den Thread wiederzufinden...)
-
ich hab beim ULTIMAX-RAM-Checker - Kernal das aus Posting #59 genommen.
@Mac Bacon Falls noch nicht bereit passiert: Ich kann ja das aktuelle Programm ins Posting #1 reinplatzieren und einen Hinweis erstellen, wenn Du moechtest. Schick es mir per PM.
Hier noch ein paar Tags: memtest, ramtest, kbram
(hatte echt Probleme, den Thread wiederzufinden...)
Habe jetzt Deine Tags und ein paar andere hinzugefuegt im Threadtitel. Ich weiss nicht wie gut das funktioniert, wenn das nur hier im Text drinsteht.
-
Für ganz absonderliche Fälle habe ich Version 3 aus Post 58 jetzt noch für andere Startadressen assembliert ($500, $600 und $700). Bitte darauf achten, dass das Programm nicht vom "READY" nach dem LOAD überschrieben wird und auch nicht bei der Eingabe des SYS hochgescrollt wird. Die Zahl aus dem Dateinamen ist die dezimale Ladeadresse und somit auch der Wert für den SYS-Befehl.
folgender Vorschlag f. verschiedene Speicher-Beginn-Versionen:
- Programm als Basic-Lader
- und bevor der Basic-Lader beginnt eine Abfrage wohin denn das kommen sollsollte funktionieren (nachdem die Sprünge ausschließlich mit Branches gemacht werden)
-
folgender Vorschlag f. verschiedene Speicher-Beginn-Versionen:
- Programm als Basic-Lader
- und bevor der Basic-Lader beginnt eine Abfrage wohin denn das kommen sollsollte funktionieren (nachdem die Sprünge ausschließlich mit Branches gemacht werden)
Danke für die Idee, aber so einfach ist es nicht: Die Sprünge wären in der Tat kein Problem, aber es sind ja auch reichlich Selbstmodifikationen drin - und bevor die religiösen Fanatiker kommen: das ist durchaus Absicht, denn das Programm soll ja unabhängig von der Zeropage sein.
Hinzu käme, dass jede Basic-Anweisung unter der Haube viele Speicherzugriffe bedingt, und jeder davon vergrößert die Chance, dass ein Speicherfehler die korrekte Funktion des Programms behindert. Mit nur LOAD und SYS ist man da deutlich besser bedient (ganz auf der sicheren Seite ist man natürlich nur bei der Modulversion von @GI-Joe ).
-
Ich habe gerade mal wieder die Tabelle gesucht, welche Bits in welchem Chip gespeichert sind. Und nachdem ich sie gefunden hatte, musste ich feststellen, dass eines der Woltlappen-Upgrades die Formatierung zerstört hat (alle Spaces am Anfang der Zeile entfernt). Daher kopiere ich sie jetzt hier hin:
Code- Welches Bit ist in welchem Chip gespeichert?
- BIT C128 and C128D C128DCR
- # C64 C64C SX64 BANK 0 BANK 1 BANK 0 BANK 1
- 0 U21 U10 UB7 U38 U46 U38 U40
- 1 U9 U10 UA7 U39 U47 U38 U40
- 2 U22 U10 UB6 U40 U48 U38 U40
- 3 U10 U10 UA6 U41 U49 U38 U40
- 4 U23 U11* UB5 U42 U50 U39 U41
- 5 U11 U11* UA5 U43 U51 U39 U41
- 6 U24 U11* UB4 U44 U52 U39 U41
- 7 U12 U11* UA4 U45 U53 U39 U41
- *U11 on true C64C short board 250469, white case, two 41464 RAMs
- *U9 on large interim C64C board 250466, white case, two 41464 RAMs
Ursprünglich stammt diese Tabelle aus der Doku eines Diagnose-Cartridge, nämlich von "http://personalpages.tds.net/~rcarlsen/cbm/misc/diagcart/readme.txt"
-
Ich habe gerade mal wieder die Tabelle gesucht, welche Bits in welchem Chip gespeichert sind. Und nachdem ich sie gefunden hatte, musste ich feststellen, dass eines der Woltlappen-Upgrades die Formatierung zerstört hat (alle Spaces am Anfang der Zeile entfernt). Daher kopiere ich sie jetzt hier hin:
Die Bits von Was? Kann ich das so verstehen, dass jedes Byte im Speicher auf 8 Chips aufgeteilt wird und jeder Chip 65536 Bits speichert?
-
Kann ich das so verstehen, dass jedes Byte im Speicher auf 8 Chips aufgeteilt wird und jeder Chip 65536 Bits speichert?
Bei den älteren Modellen ist das so, ja. Bei den neueren Modellen sind dann DRAM-Chips drin, die immer vier Bits gleichzeitig übernehmen, so dass jedes Byte auf zwei Chips aufgeteilt wird.
-
Bei den älteren Modellen ist das so, ja. Bei den neueren Modellen sind dann DRAM-Chips drin, die immer vier Bits gleichzeitig übernehmen, so dass jedes Byte auf zwei Chips aufgeteilt wird.
Ah ja. Gibt es diese Tabelle für die neueren Modelle auch irgendwo?
-
Gibt es diese Tabelle für die neueren Modelle auch irgendwo?
Ja, in Posting #75.
-
Ja, in Posting #75.
Achso, der C ist der neue. Sorry, so genau habe ich die Bezeichnungen noch nicht drin.