Frage zum ZX81 - Bildschirmspeicher

  • Hallo,


    wenn ich es richtig verstanden habe wird der Bildschirmspeicher bei ZX81, wenn man weniger als 4 KiB RAM hat, wie folgt im RAM gehalten:

    Zeichenkette+Endzeichen.

    Das bedeutet bei 24 Zeilen 24 Endzeichen.

    Nun steht in der Wikipedia https://de.wikipedia.org/wiki/Sinclair_ZX81

    das ein Leerer Bildschirm 25 Byte benötigt. Wo kommt das letzte Byte her - oder ist der Artikel falsch?


    Axel

  • Zitat

    Ein ausgefüllter Bildschirm ohne Leerzeichen dagegen führt zu 793 Bytes an Bildschirmdaten

    Also 24x32+25 Bytes. Dieses eine letzte Byte ist evtl. das Endezeichen damit man beim Bildschirmaufbau nicht zählen muß?

    Ahh, Zeilenumbruch, ah Bildschirmspeicherende.


    Gegenfrage, kann man dann nicht nur diese eine Byte bei leeren Bildschirm haben ...


    Ich hänge mich hier mal rein.

  • Hi,


    hier gibt es die passende Info dazu:

    ZX81 VIDEO DISPLAY SYSTEM


    Zitat:

    DFILE beginnt mit der Sinclair-Entsprechung eines Zeilenrücksprungs CR (CHR$ 118),
    gefolgt von bis zu 32 CHR$ Codes; dies wiederholt sich 24 mal und endet mit einem CHR$ 118.

    CHR$ 118 ist der Op-Code für den HALT-Befehl der Z80-CPU aus Gründen, die später erläutert werden.


    Hoffe, das hilft... Lg. TOM:0)

  • Er muss ja die Zeilen zählen - deswegen braucht man für jede Zeile ein Endzeichen. Aber wenn man bis 24 gezählt hat weiß man ja das ende ist ...

    Meine Vermutung: er hat ein spezielles "Bildschirm-Ende-Zeichen" und muss deswegen nicht zählen, sondern sieht nach, ob das letzte Ende-Zeichen ein Bildschirm-Ende-Zeichen ist, und braucht nur Zeilenende und Bildschirm-Ende zu behandeln.

  • Mir ist gerade noch etwas für mich merkwürdiges aufgefallen:


    Der Zeichensatz des ZX81 hat wohl nur 64 Zeichen + deren Inverse ( = Charakter +128).

    Was ist mit den anderen 128 möglichen Zeichen für das RAM?

    Da hätte man doch 'viel' RAM sparen können wenn man 2 Zeichen/byte codiert hätte?

  • Mir ist gerade noch etwas für mich merkwürdiges aufgefallen:


    Der Zeichensatz des ZX81 hat wohl nur 64 Zeichen + deren Inverse ( = Charakter +128).

    Was ist mit den anderen 128 möglichen Zeichen für das RAM?

    Da hätte man doch 'viel' RAM sparen können wenn man 2 Zeichen/byte codiert hätte?

    Viele "Zeichen" im ZX-81-Zeichensatz sind mit BASIC-Token und Tastencodes (z.B. Cursortasten) belegt (Werden also nicht nur zur Bildschirmausgabe gebraucht, sondern helfen im Programmspeicher beim Speichergeiz). Daher die Begrenzung auf 64. Was du mit "2 Zeichen/Byte" meinst erklärt sich mir nicht.

  • Frage mich aber trotzdem, warum es nur 128 mögliche Zeichen gibt ...

    Der ZX80/81 hat im Zeichensatz nicht nur Zeichen kodiert, sondern z.B. auch BASIC Schlüsselwörter. 64 ist z.B. RND, 211 ein PEEK. Das spart RAM und hält ermöglicht eine simplere BASIC Interpreter-Logik.


    Edit: ach da war schon jemand schneller ;)