Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

28. March 2024, 20:53:26

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,654
  • Total Topics: 1,328
  • Online today: 103
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 106
Total: 107

106 Guests, 1 User
Rennert

Fonts in Assembler

Started by treble-a, 16. May 2020, 13:45:35

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

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

#3
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.  :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

cpcman

Es gibt mehrere Möglichkeiten ab &4000. Darunter is nix.

Mit Google kann man schöne System PDF-Bücher finden in Deutsch für den CPC464/664/6128.
Wenn man das Basic links liegen lässt und direkt mit ASM spielt kommt man nicht um die Bücher herum.


Gruss