Beiträge von Gerrit im Thema „Eigenen Charset in $2000 von Basic aus aufrufen auf dem C16 / 116 / Plus4“
-
-
-
Doch: Wenn du den anderen Charset ins RAM nach $D000 packst. Dann brauchst du nur $FF12 schalten.
Dann hat er aber nur ein Charset mit 128 Zeichen und Reverse in Hardware. Will er 256 selbst definierte Zeichen muss er noch auf ein zweites Register zugreifen.
TED kann in dieser Richtung nunmal etwas mehr als VIC, macht dann eben auch mehr Arbeit.
-
Nein, der Default ist 128 Zeichen mit Reverse in Hardware und Charset aus dem ROM. Du musst also 3 Register umsetzen wenn du ein 256 Zeichen Charset im RAM an anderer Adresse haben willst.
Wo das Default-Charset liegt weiss ich nicht auswendig, aber du kannst doch $FF13 nach einem Reset einfach auslesen und nachsehen. BASIC 3.5 hat Befehle um DEC nach HEX und umgekehrt zu wandeln.
-
Du brauchst dazu TED-Register $FF12 und $FF13.
In $FF12 musst du Bit 2 auf 0 setzen damit TED das Charset aus dem RAM benutzt
In $FF13 sind es die Bits 2 bis 7 die die oberen 6 Bits der Adresse des Charsets ergeben.
$3000 ergibt also 001100
Dann gibts noch $FF07 Bit 7. Wenn 0 dann erzeugt TED die reversen Chars selbst und damit ist das Charset nur 1KB groß. Wenn 1 dann ist das Charset 2 KB groß und du kannst alle 256 Zeichen selbst definieren.
Registerliste von TED: Bitte melde dich an, um diesen Link zu sehen.
Du solltest das Charset aber erstmal aus dem ROM ins RAM kopieren.