BASIC Textmode in Farbe

Moderator: Rockford

Antworten
Benutzeravatar
Andars
Beiträge: 132
Registriert: 12.01.2022 17:49
Has thanked: 24 times
Been thanked: 9 times
Kontaktdaten:

BASIC Textmode in Farbe

Beitrag von Andars »

Hallo, ich möchte in Basic im Textmode einzelne Buchstaben bzw. Wörter
in unterschiedlichen Farben darstellen. Wie kann ich das machen?
Über SETCOLOR erscheint ja immer nur der gesamte Text in einer Farbe.

Andreas

Benutzeravatar
cas
Beiträge: 813
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 181 times
Been thanked: 362 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von cas »

Andars hat geschrieben:
19.03.2022 16:25
Hallo, ich möchte in Basic im Textmode einzelne Buchstaben bzw. Wörter
in unterschiedlichen Farben darstellen. Wie kann ich das machen?
Über SETCOLOR erscheint ja immer nur der gesamte Text in einer Farbe.

Andreas
Hallo Andreas,

In Atari Basic Graphics Mode 0 gibt es nur eine Farbe in 2 Helligkeiten. Um Farbe in einen Graphics 0 Bildschirm zu bekommen kannst Du einige Buchstaben oder Wörter per Player/Missile "überdecken" und damit einfärben. Aufgrund der wenigen Player geht das nur für wenige Buchstaben/Wörter.

Mit einer eigenen Displaylist und Displaylist-Interrupts (DLI) die Farbe pro Zeile ändern. Mit ein kannst Du auch die Player/Missile pro Zeile neu positionieren und damit pro Zeile Buchstaben oder Wörter "einfärben"

In Graphics Mode 1 hast Du schon 4 Farben, aber weniger Auflösung, siehe
https://www.atari65xe.com/atari-graphics-1-mode/

Benutzeravatar
Andars
Beiträge: 132
Registriert: 12.01.2022 17:49
Has thanked: 24 times
Been thanked: 9 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von Andars »

Mit einer eigenen Displaylist und Displaylist-Interrupts (DLI) die Farbe pro Zeile ändern. Mit ein kannst Du auch die Player/Missile pro Zeile neu positionieren und damit pro Zeile Buchstaben oder Wörter "einfärben"
Das geht dann immer "nur" per Zeile. Die einzelnen Buchstaben von Wörtern in einer Zeile unterschiedlich einfärben ist dann sicher noch komplizierter.
Da muss man im Basic bestimmt mit Assembler-Unterroutinen arbeiten.

Benutzeravatar
Sleeπ
Beiträge: 1618
Registriert: 18.06.2021 20:58
Has thanked: 101 times
Been thanked: 304 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von Sleeπ »

Das zeilenweise Ändern der Farbregister geht auch nicht so ohne weiteres direkt vom BASIC aus; um das sauber hinzukriegen (also ohne flackern und synchron mit dem Zeilenwechsel) bedarf es schon ein wenig Assembler.

Um verschiedenen Zeilen in von BASIC aus einzufärben gab es mal in einer Zeitschrift eine relativ einfache Routine ("24 Farben in Gr.0" oder so ähnlich), die man von BASIC aus benutzen kann; mal sehen ob ich die finde...

Die Player lassen sich zwar von BASIC aus positionieren, aber wenn man die Player in verschiedenen Zeilen dann umpositionieren will, ist m.E. wieder Assembler angesagt.
Sleeπ

Benutzeravatar
CharlieChaplin
Beiträge: 584
Registriert: 18.06.2021 22:59
Has thanked: 115 times
Been thanked: 153 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von CharlieChaplin »

Hmmm, das Programm aus Happy Computer "24 Farben in Gr. 0" habe ich auch irgendwo, nur leider gerade nicht gefunden. Dafür fand ich einen englischen Text mit mehreren Basic Listings aus comp.sys.atari.8bit, der beschreibt, wie man 97 Farben in Gr. 0 hinbekommt. Hab das nie ausprobiert und weiß auch nicht ob es irgendwie nützlich ist... (bin ja kein Programmierer).
Dateianhänge
GR0COL.TXT
97 Farben in Gr.0
(12.11 KiB) 83-mal heruntergeladen

Benutzeravatar
CharlieChaplin
Beiträge: 584
Registriert: 18.06.2021 22:59
Has thanked: 115 times
Been thanked: 153 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von CharlieChaplin »

Okay, anstelle der Textdatei (die bei mir irgendwo rumfliegt), hier der Scan der Happy Computer Seite mit dem Listing "24 Farben in Gr. 0" (aus Happy Computer 6-1985). Autor ist Burkhard Wagner, ein Abbucianer...
Gr0_24Farb.jpg

Benutzeravatar
atarixle
Beiträge: 271
Registriert: 18.06.2021 21:19
Has thanked: 29 times
Been thanked: 51 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von atarixle »

Mit Graphics 12 und 13 stehen dir weitere farbeige Textmodi zur Verfügung, der Text hingegen muss aus einem angepassten Zeichensatz mit 4x8 Pixel pro Zeichen bestehen, die Modi bieten aber dafür 40 Zeichen pro Zeile.
Auch mehrfarbige Zeichen sind möglich - wie gesagt nur 4x8 Pixel. Es ist das Äquivalent zu Graphics 15 und 7 (Grafik-Modi), bietet jedoch 5 Farben statt vier, wenn man Text "invers" darstellt.
Graphics 12 und 13 sind genau wie Graphics 1 und 2 mit PRINT #6;"FOO BAR" zu bedrucken.
Im Gegensatz zu Graphics 1 und 2 gibt es in 12 und 13 auch gleichzeitig Groß- und Kleinbuchstaben.

Benutzeravatar
pps
Beiträge: 529
Registriert: 18.06.2021 23:05
Has thanked: 115 times
Been thanked: 205 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von pps »

GRAPHICS 1 und 2 bieten Farben auch ohne einen speziellen Zeichensatz. Klein, Groß und auch die inversen Zeichen Davon werden zu 4 Farben. Man hat aber "nur" die ersten 64 Zeichen des Zeichensatzes, da ja die folgenden dann jeweils eine andere Farbe sind.

Code: Alles auswählen

GR.1:?#6;"HALLO hallo"
PP´s of STARSOFTBerlin__________github|meine Webseite|Demozoo

Benutzeravatar
BC-Tom
Beiträge: 34
Registriert: 06.02.2023 16:47
Been thanked: 6 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von BC-Tom »

Hier habe ich etwas in der Richtung entdeckt:
https://github.com/dmsc/fastbasic/releases/tag/v4.6

aus dem Manual:

Code: Alles auswählen

Introduction
  
FastBasic is a fast interpreter for the BASIC language on the Atari 8-bit computers.
One big difference from other BASIC interpreters in 1980s era 8-bit computers is the lack of line numbers,
as well as an integrated full-screen editor. 
This is similar to newer programming environments, giving the programmer a higher degree of flexibility.
Another big difference is that default variables and operations are done using integer numbers;
this is one of the reasons that the programs run so fast relative to its peers from the 1980s.
The other reason is that the program is parsed on run, generating optimized code for very fast execution.
und ein Beispiel:
farbiger Text.png
farbiger Text.png (144.91 KiB) 768 mal betrachtet

Benutzeravatar
pps
Beiträge: 529
Registriert: 18.06.2021 23:05
Has thanked: 115 times
Been thanked: 205 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von pps »

BC-Tom hat geschrieben:
28.03.2023 18:18
Hier habe ich etwas in der Richtung entdeckt:
https://github.com/dmsc/fastbasic/releases/tag/v4.6

aus dem Manual:

Code: Alles auswählen

Introduction
  
FastBasic is a fast interpreter for the BASIC language on the Atari 8-bit computers.
One big difference from other BASIC interpreters in 1980s era 8-bit computers is the lack of line numbers,
as well as an integrated full-screen editor. 
This is similar to newer programming environments, giving the programmer a higher degree of flexibility.
Another big difference is that default variables and operations are done using integer numbers;
this is one of the reasons that the programs run so fast relative to its peers from the 1980s.
The other reason is that the program is parsed on run, generating optimized code for very fast execution.
und ein Beispiel:
farbiger Text.png
Das ist aber nicht einfach FastBasic. Hier wurde ein spezieller Grafikmodus generiert, der deutlich mehr Farben dank GTIA ermöglicht. Vitoco hat das für seinen Beitrag zum BASIC 10 Liners Contest 2023 gemacht: https://bunsen.itch.io/sweeper-by-victor-parada
Hier noch sein Beitrag dazu auf ATARIAGE: https://forums.atariage.com/topic/34908 ... -graphics/
PP´s of STARSOFTBerlin__________github|meine Webseite|Demozoo

Benutzeravatar
atarixle
Beiträge: 271
Registriert: 18.06.2021 21:19
Has thanked: 29 times
Been thanked: 51 times
Kontaktdaten:

Re: BASIC Textmode in Farbe

Beitrag von atarixle »

Ich würde inverse Zeichen nehmen und mit einer PM-Grafik hinterlegen. Deren Form noch dazu an die darzustellenden Zeichen angepasst kann zu erstaunlichen Ergebnissen führen, siehe IK+.

Antworten

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast