Willkommen bei atarixle

Diese Seite behandelt die ATARI-8-Bit-Computerserie, informiert über die Fujiama-Party und weitere Veranstaltungen und zeigt meinen Weblog.

Blog

Okt05

... letzter Blog-Eintrag

Mit DRAWTO außerhalb des Bildschirms zeichnen

Moderne Betriebssysteme, Spiele und andere Grafikprogramme haben eins gemeinsam: Deren Programmierer haben begriffen, dass der Bildschirm nur einen kleinen Ausschnitt dessen zeigt, was um den User oder Spieler herum so passiert.
Leider gilt dies nicht für unseren kleinen Atari bzw. dessen BASIC-Varianten.
Dessen Befehl DRAWTO quittiert das Zeichnen außerhalb des Bildschirms mit einer Fehlermeldung - genaugenommen mit zweien.
Und genau hier setze ich an, um Linien abhängig vom Sichtfeld auch außerhalb des Bildschirms enden zu lassen.
Technisch gesehen besteht eine Linie ja aus vielen aneinander gereihten Pixeln. Diese Pixel zeichnet der Atari nacheinander. Die Fehlermeldung, wenn man zu weit rechts bzw. unten zeichnet, kommt erst, wenn der Atari den ersten Punkt außerhalb des Schirms zeichnen will. Sichtbare Punkte wurden aber schon gezeichnet.
Fängt man den Fehler mit einem TRAP-Befehl ab (das Try-Catch des alten Mannes), so erhält man einen flüssigen Ablauf des ganzen.
In Code ausgedrückt müsste das ganze also so aussehen:
100 GRAPHICS 8+16:COLOR 1
110 TRAP 120:PLOT 160,96:DRAWTO 450,29
120 REM
Umgekehrt funktioniert das ganze leider nicht. Man kann keine Linie von außerhalb nach innerhalb des Bildschirms zeichnen, weil das erste Pixel dann bereits einen Fehler verursacht und die Linie im sichtbaren bereich nicht fortgesetzt würde.
Eine Kontrolle, ob der Anfang oder das Ende innerhalb des Bildschirms liegen, und die eventuelle Umkehr der Zeichenrichtung, schafft etwas Abhilfe:
100 GRAPHICS 8+16:COLOR 1
110 READ X1,Y1,X2,Y2:IF X1=-999 THEN 490
120 TRAP 150
130 IF X1>319 OR Y1>191 THEN PLOT X2,Y2:DRAWTO X1,Y1
140 PLOT X1,Y1:DRAWTO X2,Y2
150 REM
490 GOTO 490:REM zum Beenden Break drücken!
500 DATA 0,0,450,87
501 DATA 330,16,19,23
502 DATA -999,0,0,0
Leider funktioniert das ganze nicht, wenn man links bzw. oberhalb des Bildschirms zeichnen möchte, denn Atari-BASIC bemängelt hier bereits die negativen Werte, die dem DRAWTO-Befehl mitgegeben werden, z.B. DRAWTO -10,-10.
Auch kann man keine Linie zeichnen, deren Enden außerhalb des Bildschirms liegen, die aber durch den sichtbaren Bereich durch führt (z.B. von 160, 195 nach 329,96).
Händisches Pixeln der Linie bzw. eine kompatible Maschinenroutine wären hier hilfreich.

Neuigkeiten

Jan012022

ics-Abonnement des ABBUC Veranstaltungskalender abgeschaltet

In die ics-Datei, die Ihr bis vor Kurzem noch mit den meisten Kalenderprogrammen abonnieren konntet, hatte ich die ABBUC-Veranstaltungen des laufenden Jahres von der Veranstaltungsübersicht der ABBUC-Webseite eingetragen. Dieses ics-Abonnement endet mit dem neuen Jahr. Stattdessen verweise ich nun auf die Rubrik Treffen und Ausstellungen im ABBUC-Forum.

Inhalt

... weitere News
erfahrt, was es Neues auf dieser Homepage gibt
ABBUC in Berlin
ABBUC in Berlin (AiB) ist unsere neue Regionalgruppe, die sich alle acht Wochen in Berlin trifft.
Fujiama
das mittlerweile größte Atari-8-Bit- und auch markenoffene Treffen des Landes
Blog
... weil's jeder macht. Hoffentlich vernachlässige ich dadurch nicht meine News-Seite
Software
über meine Software: BOSS, HTML-Viewer, Datenbank...
Tipps & Tricks
Ein paar kleine Spielereien mit dem ATARI, die nichts mit Spielen zu tun haben, manchmal aber ganz nützlich sein können.
downloads
was alles zum kostenlosen Download bereitssteht
Events
vergangene und kommende ATARI-Veranstaltungen, die ich besuchte und besuchen werde
Standards
Einige Hinweise zu Turbo-BASIC und mehreren DOS-Versionen
Links
Was gibt es sonst noch im Internet
Sitemap
Komplettübersicht über alle Seiten
E-Mail
meine E-Mail-Adresse