Amstrad / Schneider CPC > Programmierung

Fonts in Assembler

(1/2) > >>

treble-a:
Hi zusammen,

ich habe endlich angefangen, mich mit Assembler auseinander zu setzen und habe schon ein paar Schritte geschafft (kurze Pause für verhaltenen Applaus)
Was ich aber nicht verstehe: wie kann ich Fonts im Assembler erstellen. In Basic ist das ja Pillepalle, aber so...

Mein Ansatz ist:
Ich habe

chars: defb 0,&ff,0,&ff,0,&ff,0,&ff

ld hl,chars
ld a,32
call &bba8


Mein Verständnis:
Lade die Matrix in hl, lade das Zeichen in a und der Rest geschieht automatisch... Aber: nix!

Wo ist da meine Denkblockade?

Danke und schönes Wochenende wünsche ich Euch,
Axel

almasys:
Kann es mit &BBAB TXT SET M TABLE zu tun haben? Unter BASIC müsstest Du, um das Leerzeichen und alles was darüber liegt umzudefinieren, vorher ein symbol after 32 ausführen. Standardäßig sind nur Zeichen ab 240 definierbar. Um bei Deinem Beispiel zu bleiben: Wenn ich es mit Zeichen 255 versuche klappt es:

treble-a:
Danke für die Antwort :thumbsup:

Bei mir klappt es mit Zeichen 255 auch nicht. Aber zumindest habe ich einen Ansatz.
Mein Code beginnt zwar bei &1200, aber auch bei &8000 hat es nicht funktioniert.

Vielleicht beginne ich noch einmal von vorne und suche nach dem symbol after 32 in assembler.
Mit etwas Mühe sollte das doch zu machen sein ;-)

Danke und Gruß,
Axel

treble-a:
Das Geheimnis lag in der Startadresse.
Ich hatte meinen Code an &1200 gesetzt und später fiel dann erst ein Satz auf: "Die Tabelle muss vollständig im zentralen RAM liegen."

Also, auf &4000 umgesetzt und schon klappte es auch mit den anderen Zeichen und &BBAB

TFM:
Naja, der ROM Zeichensatz liegt ja ab &3800, also wird die Firmware Zeichenausgabe auch im unterem ROM liegen. Es macht also Sinn.  :)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln