C128 "Dead Test"

Es gibt 177 Antworten in diesem Thema, welches 25.885 mal aufgerufen wurde. Der letzte Beitrag (6. September 2025 um 18:36) ist von Nighti.

  • "Leider ist der Test vom Zero Page und Stack Page nicht dabei. Sollte ich eine stabile Möglichkeit finden, auf die untersten 4 kB im Z80-Mode zugreifen zu können, hole ich das vielleicht noch nach."

    Vorsichtige Vermtung: Findet auf dem 128er nicht ein ähnlicher RAM-Offset um genau 4 K statt wie bei der seligen C64 Z80 Karte? Sprich: Finden sich die vermissten 4 K RAM nicht am oberen Ende des Z80 Adressraums? "Benutzt" werden können die ja nicht, weil dort ja die unverzichtbare Zeropage des 65xx resp 8501 liegt.

  • Vorsichtige Vermtung: Findet auf dem 128er nicht ein ähnlicher RAM-Offset um genau 4 K statt wie bei der seligen C64 Z80 Karte? Sprich: Finden sich die vermissten 4 K RAM nicht am oberen Ende des Z80 Adressraums? "Benutzt" werden können die ja nicht, weil dort ja die unverzichtbare Zeropage des 65xx resp 8501 liegt.

    So wie es aussieht nicht.

    Im Z80-Mode wird das ROM von D000..DFFF nach 0000..0FFF gespiegelt. Zusätzlich taucht das Color-RAM bei 1000..13FF auf.

    Aber die 4K RAM sind nicht (ohne Weiteres) zuänglich.

    Egal: Ein Defekt nur in Page 0 oder 1 sollte beim C64-Dead-Test dann auftauchen.

    Hier geht es ja darum zu testen, ob der Z80 korrekt anläuft, wenn nicht mal C64 Dead Test anläuft.

  • Ah, verstehe. Kein Memory Shifting, sondern selektives Ummappen einzelner Blöcke. Dann würde das RAM also unsichtbar "unter" dem gemappten ROM liegen.

    Was liegt denn am oberen Ende des Z80 Adressraumes?

  • Ah, verstehe. Kein Memory Shifting, sondern selektives Ummappen einzelner Blöcke. Dann würde das RAM also unsichtbar "unter" dem gemappten ROM liegen.

    Genau. Das macht die 128-MMU (8722).

    Was liegt denn am oberen Ende des Z80 Adressraumes?

    Je nach Wahl das Kernal-ROM oder RAM, ganz wie im 128-Mode.

  • ROM: Schlecht gemapped, würde ich sagen. Damit kann der Z80 ja nun gar nichts mitanfangen. RAM wäre nützlicher.

    Ist einstellbar - alles RAM bis auf die untersten 4 kB.

    Die MMU ist ziemlich flexibel.

    Bitte melde dich an, um diesen Link zu sehen.

  • kinzi Sehr schön, das gefällt mir wirklich! Den Source schaue ich mir mal an, denn in den Z80 will ich mich auch mal einarbeiten :wink:

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Den Source schaue ich mir mal an, denn in den Z80 will ich mich auch mal einarbeiten :wink:

    Lieber nicht, da lernt du garantiert nix - bzw. höchstens falsche Dinge. :smile:

    Das Z80-Datasheet ist ziemlich gut: Bitte melde dich an, um diesen Link zu sehen.

    Im Vergleich zu jenem des 6502 ... :biggrin:

  • Lieber nicht, da lernt du garantiert nix - bzw. höchstens falsche Dinge. :smile:

    6510 hab ich mit dem Kurs "Assembler ist keine Alchemie" gelernt, das sagt genug :wink:

    Wobei der Kurs "Von Basic zu Assembler" grausliger war.

    Es geht ja nicht drum, zu schauen, wer was wie gelöst hat. Aber zum Einlesen eignet sich sowas recht gut, finde ich. Vor allein Dingen weiß man, dass man ein bischen was verstanden hat, wenn man sich fragt "Warum hat der das denn so gemacht?".

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Wenn das Programm erfolgreich weiter läuft, wechseln die Rahmenfarben dann wie gehabt unendlich weiter als Aktivitätskontrolle, Das ist hier dann aber nach 10 bis 20 Sekunden vorbei, dann crasht es.

    Ein echter C128 macht das auch, der Z64K-Emulator bildet das offenbar exakt nach.

    Ich denke, ich weiß jetzt, warum das gecrasht ist ... PEBKAC.

    Man sollte die richtigen Werte ins Config Register schreiben ... :rolleyes:

    Es ist tatsächlich so, dass wenn man RAMBANK2 aktiviert, das Z80 BIOS ROM bei $0000..$0FFF verschwindet und das RAM von RAMBANK0 erscheint. Wenn man den VIC-Textschirm auf $0000 legt und die VICBANK unverändert auf RAMBANK0 lässt, sieht man schön, was man da hin schreibt.

    Vielleicht wird das doch noch was mit dem RAM-Test von Zeropage und Stack ...

  • Wer's außerdem brauchen kann - gerne.

    Ich würde es ja an meinem DCR mal testen, aber wie bekomme ich das da zum Laufen, wenn ich keinen Eprombrenner habe?

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Vielleicht wird das doch noch was mit dem RAM-Test von Zeropage und Stack ...

    Jupp, klappt.

    War dann doch ganz einfach ... :biggrin:

    Test auf realer Hardware folgt. ... stay tuned.

    Eigentlich wollte ich kurz aufs Klo, aber dann warte ich! :)

  • Da im Code keinerlei RAM verwendet werden kann, bis zumindest ein Teil für gut befunden wurde, ist auch kein Stack vorhanden.

    Verstehe ich es richtig, dass dieser Dead-Test-Kernal also auch ganz ohne RAM zumindest eine Reaktion zeigen sollte?

  • Ja, er sollte laufen und die VIC-Farben ändern.
    Bildschirminhalt sieht man ohne RAM natürlich keinen, Irgendwoher müssen Bildschirmdaten und Char-Set ja kommen.

    Im Prinzip müsste er laufen bis zum "Screen RAM" Test und dort dann mit BAD hängen bleiben. Wenn das Color RAM intakt ist, müsste man sogar die rote Farbe des "BAD" erkennen können.

  • Nach abschließenden $1b Runden auf echter Hardware und $36 Runden im Z64K-Emulator denke ich, es passt jetzt. :smile:

    Anbei die Version 1.02 des C128 Dead Tests, der jetzt die vollen 64 KB der BANK0 testet - sogar $0000 und $0001, die im 8502-Mode vom Prozessorport verdeckt werden! =O8o:D

    (OK, abzüglich der 5 Bytes bei $FF00, die die MMU belegt. :biggrin: ).

    Damit dürften die Grundbedürfnisse abgedeckt sein. Mögliche Erweiterungen wären noch der Test von RAMBANK1 und ein "Initial RAM Test" wie beim Dead Test 781220, der kaputte Bits finden kann. Ob ich mich jemals dazu aufraffen kann, weiß ich nicht. :rolleyes: Ich hab ja auch noch anderes zu tun ... 8|

    Frei für nichtkommerzielle Nutzung.

    Bitte immer das ganze ZIP weitergeben, nicht nur einzelne Dateien.