Ja, bisher sind es nur die drei ersten Menüs. Ich habe erst noch die Save Restore Funktionen testen wollen. Ausserdem habe ich schon öfter die Ideen für ein dynamisches Menü verworfen. Die Subroutinen sollen später ja auch einfach von jedem übernommen werden können. Ich muss das vielleicht noch mal ganz anders angehen. Kennst du eigentlich eine Asm Routine für line, die würde ich gern noch mit einhängen, für Rahmen und so.
Mit "fill8" könntest Du auch sehr einfach zumindest horiz. Linien zeichen, d.h. Du müsstest nur 8 Bytes haben, die eine horizontale Linie wiedergeben; also bspw. (0,0,0,255,255,0,0,0) und dann damit eine Zeile/die gewünschte Breite füllen.
Für die vertikalen müstest Du derzeit eine For-Schleife nutzen bzw. wäre es auch mit Hilfe der .restore-Funktion möglich, wenn man max. 200 Bytes (min. Höhe der längsten Linie) reserviert und mit einem Muster füllt bspw. (48,48,48,48,48,48,48,48). Info: Dezimal 48 = Binär %00011000
Für die Ecken: vier einzelne Aufrufe von "fill8".
Die Alternative wäre, den Font mit Rahmenzeichen anzureichern, d.h. hier müsstest Du dann auch die Zeichenbreite mit rein speichern.
Du könntest die zusätzlichen Zeichen nach dem Laden von "Prop" hinzufügen, weil die Startadresse von CHARSET mit in der Tabelle steht.
Eine ganz andere Form wäre, die Menüs nur mit einer eigenen Hintergrundfarbe anzudeuten.
In der GUI nutzen wir einen 8x8-Font für das Zeichnen der Rahmen, wobei der obere Teil keine eigenen Zeichen benötigt, sondern komplett nur durch die Farben umgesetzt ist.