Lightpen

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Turbo Computer Lightpen

Der Lightpen (zu deutsch: Lichtgriffel oder Lichtstift) ist ein optisches Eingabegerät, das einem Kugelschreiber ähnlich sieht. Es wird am C64 über den Controlport 1 angeschlossen. Hält man ihn auf den Bildschirm oder Monitor, erkennt ein entsprechendes Programm die Position des Stifts und kann sie in Bildschirmkoordinaten umrechnen. Manche BASIC-Erweiterungen wie Simons' Basic enthalten Befehle für diesen Zweck (siehe unten). Das Funktionsprinzip basiert auf der Erkennung des Elektronenstrahls der Bildröhre, auf die der Lightpen gerichtet wird.
Hinweis: Wer heute einen Lightpen einsetzen möchte, sollte bedenken, dass also prinzipbedingt ein Lightpen mit modernen Bildschirmen wie TFT-Displays nicht funktioniert - dafür braucht es zwingend einen Monitor oder Fernseher mit Bildröhre.

Die Arbeit mit dem Lightpen war insbesondere bei Grafik- und Zeichenprogrammen nützlich, jedoch konnte sich der Lightpen nie gegenüber dem Joystick oder der Maus durchsetzen. Der Lightpen für Commodore-Computer wurde ab dem Jahr 1983 gebaut.


Firmen[Bearbeiten]

Schaltplan

Von folgenden Firmen wurden Lightpens hergestellt:

  • REX Datentechnik (REX 9541)
  • Conrad Electronic
  • Lindy
  • Cardco, Inc (VC-20, C64)
  • Futurehouse (Edumate Lightpen)
  • Amicron Ltd. (Microscirbe Lightpen)
  • Madison Computer (McPen Lightpen)
  • Koala Soft
  • Pixsticks
  • Inkwell Systems (170-C und 184-C für cc65)
  • Turbo Computer
  • Tech Sketch Inc
  • Pen-Datel
  • Stack 100, Stack Computer Services Ltd.
  • Trojan (C64/128, C16/116/Plus/4)


Software[Bearbeiten]

  • GEOS enthält auch einen Treiber für den Lightpen, wegen der halbierten horizontalen Auflösung ist er weniger für Grafikprogramme wie GeoPaint und GeoCanvas geeignet.
  • CAD-Master (Trojan) für C64/128/16/116 und Plus/4
  • FlexiDraw 5.0/5.5 (Inkwell Systems)
  • Koala Soft wie Koala Painter
  • Paintbox Package (Stack) mit zusätzliche Spiele Crossword Twister, Seek and Destroy, Draughts, Concentartion, Simon, Othello, Go-Go, Shuffler, Life, Lost in the Labrynth
  • Penmaster Art Package (Trojan) für C64/128
  • Picasso's Revenge (1986) von Progressive Peripherals & Software (USA); Box inlusive Lightpen.
  • BASIC-Programme der Cardriter 1 (Cardco, Inc, 1983) für VC-20 und C64: Introduction to the Light Pen, Pen Map, Fun With Numbers, Computer Literacy Quiz, Tic-Tac-Toe, Mailing List

Programmierung[Bearbeiten]

Das Signal des Lightpen liegt auf demselben Pin wie der Feuerknopf des Joysticks am Controlport 1 und ist mit dem Eingang "/LP" (Pin 9) des VIC verbunden. Die Positionen in x- und y-Richtung, bei der ein Lightpen-Impuls stattfand, befinden sich in den Registern 19 und 20 des VIC. Ein Taster kann mit Joy A0 verbunden sein.

Adresse Hex Adresse Dez Funktion Bemerkung
$D013 53267 X-Koordinate etwa halbe Auflösung des C64-Bildschirms in X-Richtung
$D014 53268 Y-Koordinate
$D019 53273 Interrupt Requests Bit 3: LPIRQ, IRQ vom Lightpen, 1 = aktiv
$D01A 53274 Interrupt Request Maske Bit 3: MLPI, 1 = ermöglicht das Auslösen des Interrupt in $D019

Beispielprogramm:[1]

100 POKE 53280,0: POKE 53281,1
110 L=0: REM MIT L=1 WERDEN DIE PUNKTE NICHT GLEICH WIEDER GELOESCHT
120 PRINT CHR$(147)
130 FOR I = 1 TO 5
140 X=X+PEEK(53267)
150 Y=Y+PEEK(53268)
160 NEXT
200 X=INT((X/5-34)/3.8)
210 Y=INT((Y/5-49)/7.8)
300 IF X<0 THEN X=0
310 IF Y<0 THEN Y=0
320 IF Y>24 THEN Y=24
330 IF L=0 THEN POKE P,32
340 P=1024+X+40*Y
350 POKE 54272+P,5:POKE P,160
360 X=0:Y=0
370 GOTO 130

In andere BASIC-Dialekte bzw. -Erweiterungen stehen entsprechende BASIC-Befehle zur Verfügung. Programmiertechnisch gibt es keine Unterschiede zur Lightgun.

Dialekt: Befehl:
BASIC 7.0 PEN(0) und PEN(1)
Simons Basic PENX, PENY
Super Expander 64 RPEN()
Supergrafik Programme: LIGHTPEN / LIGHTPEN-IRQ (bzw. entsprechende Routine)

Quellen[Bearbeiten]

  1. Bedienungsanleitung: Lightpen RTO 9520

Weblinks[Bearbeiten]