Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Zitat:
...liegt wohl an deinem DAC...
Ich hab mit jetzt 1% Metallfilmwiderstände mit mit
5k und 10k besorgt. Sieht wesentlich besser aus damit.
So, das Rotieren der Objekte funktioniert jetzt auch.
Jedenfalls in 2D, also in der Ebene.
Sieht lustig aus, wenn sich die Zahlen um sich selbst drehen.
Statt 360 Grad für den Vollkreis habe ich 256 "Grad" gewählt,
das ist einfacher zu rechnen.
Rechter Winkel ist dann 64 "Grad" statt 90 Grad usw..
Ich hab eine SUB ROTOBJ gebastelt.
Funktioniert genau wie DRAWOBJ, nur das Objekt wird
um den Winkel W gedreht gezeichnet.
Die Z-Achse hab ich auch aktiviert, das Bild wird erheblich besser dadurch.
Der Z-Eingang an meinem Oszi funktioniert aber andersherum als
deiner. Also 1 = Strahl an. Egal, kann man ja leicht anpassen.
Ich bastel noch ein wenig, dann stell ich das Program nochmal hier rein.
Bis dann...Jan
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
So, hier wie verspochen nochmal der Code.
Hab jetzt etwas Spielerei und die Uhr eingebaut.
Um die ging es ja eigentlich ursprünglich.
Aber die Uhr kann man noch nicht stellen.
Das muss noch gemacht werden.
@Sebastian: Du wirst die Z-Funktion umdrehen müssen.
Im sechsten Abschnitt des Progs. Vor Start-Hauptprogramm.
Gruß Jan
Code:
$regfile = "m32def.dat"
$crystal = 16000000
'########### Variablen Vektorgrafik
Dim X As Integer
Dim Y As Integer
Dim W As Integer
Dim S As Integer
Dim Z As Integer
Dim Xa As Integer
Dim Ya As Integer
Dim Xe As Integer
Dim Ye As Integer
Dim Xs As Integer
Dim Ys As Integer
Dim Xl As Integer
Dim Yl As Integer
Dim Xo As Integer
Dim Yo As Integer
Dim Zo As Integer
Dim T As Integer
Dim Sw As Integer
Dim Cw As Integer
'######### Variablen Hauptprogramm
Dim H As Integer
Dim Hs As Integer
Dim Ss As Byte
Dim S1 As Byte
Dim S2 As Byte
Dim Sina(340) As Integer
Dim W1 As Integer
Dim N As Integer
Dim Sekunde As Byte
Dim Sekd As Byte
Dim Minute As Byte
Dim Mind As Byte
Dim Stunde As Byte
Dim Stud As Byte
Dim St2 As Byte
Const Timeconst = 65536 - 15625
'########### Deklarationsteil für Subroutinen
Declare Sub Moverel
Declare Sub Moveabs
Declare Sub Drawline
Declare Sub Drawrel 'Zeichnet vom aktuellen Punkt zur relativen position eine linie
Declare Sub Drawabs 'Zeichnet vom aktuellen Punkt zu den angegebenen kordinaten eine linie
Declare Sub Showdot
Declare Sub Drawobj
Declare Sub Rotobj
Declare Sub Zeigeuhr
Declare Sub Shownumb(byval Number As Byte)
Declare Sub Showdigit(digit As Byte)
'########### Deklarationsteil für Ports
Xp Alias Porta
Yp Alias Portc
Zp Alias Portd.7 'wenn 1 dann ist der punkt sichtbar, wenn 0 then ist der punkt aus
Config Xp = Output
Config Yp = Output
Config Portd = Output
'#### Hier ändern für Z-Funktion ############
Const Zan = 1
Const Zaus = 0
'################# Start Hauptprogramm
Zp = Zaus
Ss = 0
Stunde = 20 : Stud = Makebcd(stunde)
Minute = 15 : Mind = Makebcd(minute)
Sekunde = 0 : Sekd = Makebcd(sekunde)
Restore Sintab
For H = 1 To 256
Read Sina(h)
Next
Config Timer1 = Timer , Prescale = 1024
On Timer1 Timint
Timer1 = Timeconst
Enable Interrupts
Enable Timer1
Do
X = 0 : Y = 0 : Moveabs
X = 40 : Y = 30 : Drawabs
X = 72 : Y = 11 : Drawabs
X = 40 : Y = 0 : Moveabs
X = 110 : Y = 25 : Drawabs
X = 160 : Y = 0 : Drawabs
X = 134 : Y = 13 : Moveabs
X = 160 : Y = 38 : Drawabs
X = 190 : Y = 0 : Drawabs
X == 220 : Y = 1 : Drawabs
X = 255 : Y = 40 : Drawabs
X = 238 : Y = 22 : Moveabs
X = 210 : Y = 38 : Drawabs
X = 184 : Y = 7 : Drawabs
X = 0 : Y = 0 : Moveabs
' Y = 50
' X = 0 : Restore Obj0 : Drawobj
' X = 22 : Restore Obj1 : Drawobj
' X = 44 : Restore Obj2 : Drawobj
' X = 66 : Restore Obj3 : Drawobj
' X = 88 : Restore Obj4 : Drawobj
' X = 110 : Restore Obj5 : Drawobj
' X = 132 : Restore Obj6 : Drawobj
' X = 154 : Restore Obj7 : Drawobj
' X = 176 : Restore Obj8 : Drawobj
' X = 198 : Restore Obj9 : Drawobj
' X = 220 : Restore Objdp : Drawobj
W1 = W1 + 4 : If W1 > 255 Then W1 = 0
Ss = Ss + 1
S1 = S1 - 2 : If S1 < 0 Then S1 = 254
S2 = S2 - 3 : If S2 < 0 Then S2 = S2 + 256
Restore Spaceship : X = Ss : Y = 20 : Drawobj
Restore Spaceship : X = S1 : Y = 15 : W = 128 : Rotobj
Restore Obj5 : X = 40 : Y = 60 : W = W1 : Rotobj
Restore Obj2 : X = 75 : Y = 40 : W = W1 * 2 : W = W And 255 : Rotobj
Restore Spaceship : X = S2 : Y = 90 : W = 256 - W1 : Rotobj
Restore Obj 4 : X = 140 : Y = 55 : Rotobj
Zeigeuhr
Loop
End
'################# Ende Hauptprogramm; beginn subroutinen
Timint:
Timer1 = Timeconst
Incr Sekunde
If Sekunde = 60 Then
Sekunde = 0
Incr Minute
If Minute = 60 Then
Minute = 0
Incr Stunde
If Stunde = 24 Then
Stunde = 0
End If
End If
End If
Sekd = Makebcd(sekunde)
Mind = Makebcd(minute)
Stud = Makebcd(stunde)
Return
Sub Zeigeuhr
X = 36 : Y = 154 : Moveabs
X = 220 : Drawabs
Y = 116 : Drawabs
X = 36 : Drawabs
Y = 154 : Drawabs
X = 40 : Y = 120
Call Shownumb(stud)
Restore Objdp : Drawobj
X = X + 22
Call Shownumb(mind)
Restore Objdp : Drawobj
X = X + 22
Call Shownumb(sekd)
End Sub
Sub Shownumb(byval Number As Byte)
St2 = Number / 16
Call Showdigit(st2)
X = X + 22
Call Showdigit(number)
X = X + 22
End Sub
Sub Showdigit(byval Digit As Byte)
Digit = Digit And 15
Select Case Digit:
Case 0 : Restore Obj0
Case 1 : Restore Obj1
Case 2 : Restore Obj2
Case 3 : Restore Obj3
Case 4 : Restore Obj4
Case 5 : Restore Obj5
Case 6 : Restore Obj6
Case 7 : Restore Obj7
Case 8 : Restore Obj8
Case 9 : Restore Obj9
End Select
Drawobj
End Sub
'##########################
Sub Drawabs
Xe = X : Ye = Y
Drawline
End Sub
'#################################
Sub Drawrel
Xe = Xa + X
Ye = Ya + Y
Drawline
End Sub
Sub Drawline:
Xl = Xe - Xa : Xs = 1
If Xl < 0 Then
Xl = 0 - Xl : Xs = -1
End If
Yl = Ye - Ya : Ys = 1
If Yl < 0 Then
Yl = 0 - Yl : Ys = -1
End If
If Xl < Yl Then Goto Walky
Walkx:
T = Xl
Shift T , Right , 1
Do
Zp = Zan
Xp = Xa : Yp = Ya
Xa = Xa + Xs ':immer einen Schritt in x-Richtung weiter
T = T - Yl ';Schritt in Y-Richtung nötig ?
If T <= 0 Then ';wenn <=0 dann ja
T = T + Xl ';
Ya = Ya + Ys ';Schritt in Y-Richtung
End If
Loop Until Low(xa) = Low(xe) ';Wiederholen bis Ende der Linie
Zp = Zaus
Goto Ex1
Walky:
T = Yl
Shift T , Right , 1
Do
Zp = Zan
Xp = Xa : Yp = Ya
Ya = Ya + Ys ':immer einen Schritt in x-Richtung weiter
T = T - Xl ';Schritt in Y-Richtung nötig ?
If T <= 0 Then ';wenn <=0 dann ja
T = T + Yl ';
Xa = Xa + Xs ';Schritt in Y-Richtung
End If
Loop Until Low(ya) = Low(ye) ';Wiederholen bis Ende der Linie
Zp = Zaus
Ex1:
End Sub
'##############################
Sub Moveabs 'Bewegt den punkt gedimmt zu der angegebenen position (x,y)
Xa = Low(x) 'Xaktuell setzen
Ya = Low(y) 'Xaktuell setzen
Xp = Low(x) 'Xport setzen
Yp = Low(y) 'yPort setzen
End Sub
'##############################
Sub Moverel
Xa = Xa + X : Ya = Ya + Y
End Sub
'##############################
Sub Showdot 'zeigt den punkt an seiner aktuellen position an
Zp = Zan 'licht ein
Waitus 2 'kurz warten
Zp = Zaus 'lichtwieder aus
End Sub
'##############################
'Stellt Objekt auf Position X,Y dar.
' X und Y sind >=0 und <=255
Sub Drawobj
Xo = X : Yo = Y
Call Moveabs
Do
Read X : Read Y : Read Z
If Z > 0 Then Call Drawrel Else Call Moverel
Loop Until Z > 1
X = Xo : Y = Yo
End Sub
'##############################
'Stellt Objekt Auf Position X , Y um den Winkel W gedreht dar.
' X und Y und W sind >=0 und <=255
Sub Rotobj
Xo = X : Yo = Y : W = W + 1
Sw = Sina(w)
Cw = W + 64 : If Cw > 256 Then Cw = Cw - 256 : Cw = Sina(cw)
W = W - 1
Call Moveabs
Do
Read Xl : Read Yl : Read Z
X = Cw * Xl : Y = Sw * Yl : X = X - Y
Y = Sw * Xl : Xl = Cw * Yl : Y = Y + Xl
X = X / 256 : Y = Y / 256
If Z > 0 Then Call Drawrel Else Call Moverel
Loop Until Z > 1
X = Xo : Y = Yo
End Sub
'##############################
Sintab:
Data 0% , 6% , 13% , 19% , 25% , 31% , 38% , 44%
Data 50% , 56% , 62% , 68% , 74% , 80% , 86% , 92%
Data 98% , 104% , 109% , 115% , 121% , 126% , 132% , 137%
Data 142% , 147% , 152% , 157% , 162% , 167% , 172% , 177%
Data 181% , 185% , 190% , 194% , 198% , 202% , 206% , 209%
Data 213% , 216% , 220% , 223% , 226% , 229% , 231% , 234%
Data 237% , 239% , 241% , 243% , 245% , 247% , 248% , 250%
Data 251% , 252% , 253% , 254% , 255% , 255% , 256% , 256%
Data 256% , 256% , 256% , 255% , 255% , 254% , 253% , 252%
Data 251% , 250% , 248% , 247% , 245% , 243% , 241% , 239%
Data 237% , 234% , 231% , 229% , 226% , 223% , 220% , 216%
Data 213% , 209% , 206% , 202% , 198% , 194% , 190% , 185%
Data 181% , 177% , 172% , 167% , 162% , 157% , 152% , 147%
Data 142% , 137% , 132% , 126% , 121% , 115% , 109% , 104%
Data 98% , 92% , 86% , 80% , 74% , 68% , 62% , 56%
Data 50% , 44% , 38% , 31% , 25% , 19% , 13% , 6%
Data 0% , -6% , -13% , -19% , -25% , -31% , -38% , -44%
Data -50% , -56% , -62% , -68% , -74% , -80% , -86% , -92%
Data -98% , -104% , -109% , -115% , -121% , -126% , -132% , -137%
Data -142% , -147% , -152% , -157% , -162% , -167% , -172% , -177%
Data -181% , -185% , -190% , -194% , -198% , -202% , -206% , -209%
Data -213% , -216% , -220% , -223% , -226% , -229% , -231% , -234%
Data -237% , -239% , -241% , -243% , -245% , -247% , -248% , -250%
Data -251% , -252% , -253% , -254% , -255% , -255% , -256% , -256%
Data -256% , -256% , -256% , -255% , -255% , -254% , -253% , -252%
Data -251% , -250% , -248% , -247% , -245% , -243% , -241% , -239%
Data -237% , -234% , -231% , -229% , -226% , -223% , -220% , -216%
Data -213% , -209% , -206% , -202% , -198% , -194% , -190% , -185%
Data -181% , -177% , -172% , -167% , -162% , -157% , -152% , -147%
Data -142% , -137% , -132% , -126% , -121% , -115% , -109% , -104%
Data -98% , -92% , -86% , -80% , -74% , -68% , -62% , -56%
Data -50% , -44% , -38% , -31% , -25% , -19% , -13% , -6%
'######## Objektdefinitionen
'X, Y, Z
'X, Y, Z
'X und Y sind relative Positionen
'z=0 bedeutet moverel
'z=1 bedeutet sichtbare Linie
'Ende Objekt ist wenn z=3
Spaceship:
Data 15% , 8% , 1%
Data -15% , 8% , 1%
Data 6% , -8% , 1%
Data -6% , -8% , 1%
Data 4% , 8% , 0%
Data -5% , 3% , 1%
Data 5% , -3% , 1%
Data -5% , 0% , 1%
Data 5% , 0% , 1%
Data -5% , -3% , 1%
Data 5% , 3% , 3%
Obj1:
Data 0% , 16% , 0%
Data 16% , 14% , 1%
Data 0% , -30% , 3%
Obj2:
Data 0% , 26% , 0%
Data 0% , 2% , 1%
Data 4% , 2% , 1%
Data 9% , 0% , 1%
Data 5% , -4% , 1%
Data 0% , -3% , 1%
Data -18% , -23% , 1%
Data 6% , 3% , 1%
Data 8% , 0% , 1%
Data 6% , -3% , 3%
Obj3:
Data 0% , 3% , 0%
Data 4% , -3% , 1%
Data 10% , 0% , 1%
Data 4% , 3% , 1%
Data 0% , 10% , 1%
Data -3% , 3% , 1%
Data -2% , 0% , 1%
Data 2% , 0% , 0%
Data 3% , 3% , 1%
Data 0% , 8% , 1%
Data -4% , 3% , 1%
Data -10% , 0% , 1%
Data -4% , -3% , 3%
Obj4:
Data 11% , 0% , 0%
Data 0% , 17% , 1%
Data 6% , -5% , 0%
Data -17% , 0% , 1%
Data 17% , 18% , 3%
Obj5:
Data 0% , 4% , 0%
Data 4% , -4% , 1%
Data 10% , 0% , 1%
Data 5% , 5% , 1%
Data 0% , 8% , 1%
Data -5% , 5% , 1%
Data -9% , 0% , 1%
Data -5% , -6% , 1%
Data 0% , 18% , 1%
Data 17% , 0% , 3%
Obj6:
Data 0% , 10% , 0%
Data 0% , -5% , 1%
Data 4% , -4% , 1%
Data 10% , 0% , 1%
Data 5% , 5% , 1%
Data 0% , 8% , 1%
Data -5% , 5% , 1%
Data -9% , 0% , 1%
Data -5% , -6% , 1%
Data 0% , 15% , 1%
Data 4% , 4% , 1%
Data 8% , 0% , 1%
Data 5% , -4% , 3%
Obj7:
Data 0% , 30% , 0%
Data 12% , 0% , 1%
Data 0% , -30% , 1%
Data -6% , 15% , 0%
Data 12% , 0% , 3%
Obj8:
Data 4% , 0% , 0%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 6% , 1%
Data -18% , 8% , 1%
Data 0% , 6% , 1%
Data 4% , 4% , 1%
Data 10% , 0% , 1%
Data 4% , -5% , 1%
Data 0% , -6% , 1%
Data -18% , -8% , 1%
Data 0% , -6% , 1%
Data 4% , -5% , 3%
Obj9:
Data 0% , 5% , 0%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 20% , 1%
Data -4% , 5% , 1%
Data -10% , 0% , 1%
Data -4% , -5% , 1%
Data 0% , -7% , 1%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 4% , 3%
Obj0:
Data 0% , 5% , 0%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 20% , 1%
Data -4% , 5% , 1%
Data -10% , 0% , 1%
Data -4% , -5% , 1%
Data 0% , -20% , 3%
Objdp:
Data 7% , 7% , 0%
Data 4% , 0% , 1%
Data 0% , 4% , 1%
Data -4% , 0% , 1%
Data 0% , -4% , 1%
Data 0% , 12% , 0%
Data 4% , 0% , 1%
Data 0% , 4% , 1%
Data -4% , 0% , 1%
Data 0% , -4% , 3%
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, ich habe mal eine Analoguhr gebastelt, der große fette zeiger ist der stundenzeiger, an dem design müsste man warscheinlich etwas basteln *grins*
hat jemand eine idee wie man den stundenzeiger etwas feiner wechseln lassen könnte? so dass er zb bei halb zwölf zwischen 0 und 1 steht......
Achja ich habe den mittelpunkt bei 100/100 gedetzt, das lässt sich ja entweder im code oder am scope schnell nachstellen... sorry für das bild. habs mitm handy gemacht....
Code:
$regfile = "m128def.dat"
$crystal = 16000000
'########### Variablen Vektorgrafik
Dim X As Integer
Dim Y As Integer
Dim W As Integer
Dim S As Integer
Dim Z As Integer
Dim Xa As Integer
Dim Ya As Integer
Dim Xe As Integer
Dim Ye As Integer
Dim Xs As Integer
Dim Ys As Integer
Dim Xl As Integer
Dim Yl As Integer
Dim Xo As Integer
Dim Yo As Integer
Dim Zo As Integer
Dim T As Integer
Dim Sw As Integer
Dim Cw As Integer
'######### Variablen Hauptprogramm
Dim H As Integer
Dim Hs As Integer
Dim Ss As Byte
Dim S1 As Byte
Dim S2 As Byte
Dim Sina(340) As Integer
Dim W1 As Integer
Dim N As Integer
Dim I As Integer
Dim Sekunde As Byte
Dim Sekd As Byte
Dim Minute As Byte
Dim Mind As Byte
Dim Stunde As Byte
Dim Stud As Byte
Dim St2 As Byte
Const Timeconst = 65536 - 15625
'########### Deklarationsteil für Subroutinen
Declare Sub Moverel
Declare Sub Moveabs
Declare Sub Drawline
Declare Sub Drawrel 'Zeichnet vom aktuellen Punkt zur relativen position eine linie
Declare Sub Drawabs 'Zeichnet vom aktuellen Punkt zu den angegebenen kordinaten eine linie
Declare Sub Showdot
Declare Sub Drawobj
Declare Sub Rotobj
Declare Sub Stundenzeiger
Declare Sub Minutenzeiger
Declare Sub Sekundenzeiger
'########### Deklarationsteil für Ports
Xp Alias Porta
Yp Alias Portd
Zp Alias Portf.1 'wenn 1 dann ist der punkt sichtbar, wenn 0 then ist der punkt aus
Config Xp = Output
Config Yp = Output
Config Portf = Output
'#### Hier ändern für Z-Funktion ############
Const Zan = 0
Const Zaus = 1
'################# Start Hauptprogramm
Zp = Zaus
Ss = 0
Stunde = 0
Minute = 15
Sekunde = 30
Restore Sintab
For H = 1 To 256
Read Sina(h)
Next
Config Timer1 = Timer , Prescale = 1024
On Timer1 Timint
Timer1 = Timeconst
Enable Interrupts
Enable Timer1
Do
Stundenzeiger
Minutenzeiger
Sekundenzeiger
Loop
End
'################# Ende Hauptprogramm; beginn subroutinen
Timint:
Timer1 = Timeconst
Incr Sekunde
If Sekunde = 60 Then
Sekunde = 0
Incr Minute
If Minute = 60 Then
Minute = 0
Incr Stunde
If Stunde = 24 Then
Stunde = 0
End If
End If
End If
Return
Sub Stundenzeiger:
Restore Hourtab
For I = 0 To Stunde : Read W : Next
Restore Zeiger1 : X = 100 : Y = 100 : Rotobj
End Sub
Sub Minutenzeiger:
Restore Mintab
For I = 0 To Minute : Read W : Next
Restore Zeiger2 : X = 100 : Y = 100 : Rotobj
End Sub
Sub Sekundenzeiger:
Restore Mintab
For I = 0 To Sekunde : Read W : Next
Restore Zeiger3 : X = 100 : Y = 100 : Rotobj
End Sub
'##########################
Sub Drawabs
Xe = X : Ye = Y
Drawline
End Sub
'#################################
Sub Drawrel
Xe = Xa + X
Ye = Ya + Y
Drawline
End Sub
Sub Drawline:
Xl = Xe - Xa : Xs = 1
If Xl < 0 Then
Xl = 0 - Xl : Xs = -1
End If
Yl = Ye - Ya : Ys = 1
If Yl < 0 Then
Yl = 0 - Yl : Ys = -1
End If
If Xl < Yl Then Goto Walky
Walkx:
T = Xl
Shift T , Right , 1
Do
Zp = Zan
Xp = Xa : Yp = Ya
Xa = Xa + Xs ':immer einen Schritt in x-Richtung weiter
T = T - Yl ';Schritt in Y-Richtung nötig ?
If T <= 0 Then ';wenn <=0 dann ja
T = T + Xl ';
Ya = Ya + Ys ';Schritt in Y-Richtung
End If
Loop Until Low(xa) = Low(xe) ';Wiederholen bis Ende der Linie
Zp = Zaus
Goto Ex1
Walky:
T = Yl
Shift T , Right , 1
Do
Zp = Zan
Xp = Xa : Yp = Ya
Ya = Ya + Ys ':immer einen Schritt in x-Richtung weiter
T = T - Xl ';Schritt in Y-Richtung nötig ?
If T <= 0 Then ';wenn <=0 dann ja
T = T + Yl ';
Xa = Xa + Xs ';Schritt in Y-Richtung
End If
Loop Until Low(ya) = Low(ye) ';Wiederholen bis Ende der Linie
Zp = Zaus
Ex1:
End Sub
'##############################
Sub Moveabs 'Bewegt den punkt gedimmt zu der angegebenen position (x,y)
Xa = Low(x) 'Xaktuell setzen
Ya = Low(y) 'Xaktuell setzen
Xp = Low(x) 'Xport setzen
Yp = Low(y) 'yPort setzen
End Sub
'##############################
Sub Moverel
Xa = Xa + X : Ya = Ya + Y
End Sub
'##############################
Sub Showdot 'zeigt den punkt an seiner aktuellen position an
Zp = Zan 'licht ein
Waitus 2 'kurz warten
Zp = Zaus 'lichtwieder aus
End Sub
'##############################
'Stellt Objekt auf Position X,Y dar.
' X und Y sind >=0 und <=255
Sub Drawobj
Xo = X : Yo = Y
Call Moveabs
Do
Read X : Read Y : Read Z
If Z > 0 Then Call Drawrel Else Call Moverel
Loop Until Z > 1
X = Xo : Y = Yo
End Sub
'##############################
'Stellt Objekt Auf Position X , Y um den Winkel W gedreht dar.
'X und Y und W sind >=0 und <=255
Sub Rotobj
Xo = X : Yo = Y : W = W + 1
Sw = Sina(w)
Cw = W + 64 : If Cw > 256 Then Cw = Cw - 256 : Cw = Sina(cw)
W = W - 1
Call Moveabs
Do
Read Xl : Read Yl : Read Z
X = Cw * Xl : Y = Sw * Yl : X = X - Y
Y = Sw * Xl : Xl = Cw * Yl : Y = Y + Xl
X = X / 256 : Y = Y / 256
If Z > 0 Then Call Drawrel Else Call Moverel
Loop Until Z > 1
X = Xo : Y = Yo
End Sub
'##############################
Sintab:
Data 0% , 6% , 13% , 19% , 25% , 31% , 38% , 44%
Data 50% , 56% , 62% , 68% , 74% , 80% , 86% , 92%
Data 98% , 104% , 109% , 115% , 121% , 126% , 132% , 137%
Data 142% , 147% , 152% , 157% , 162% , 167% , 172% , 177%
Data 181% , 185% , 190% , 194% , 198% , 202% , 206% , 209%
Data 213% , 216% , 220% , 223% , 226% , 229% , 231% , 234%
Data 237% , 239% , 241% , 243% , 245% , 247% , 248% , 250%
Data 251% , 252% , 253% , 254% , 255% , 255% , 256% , 256%
Data 256% , 256% , 256% , 255% , 255% , 254% , 253% , 252%
Data 251% , 250% , 248% , 247% , 245% , 243% , 241% , 239%
Data 237% , 234% , 231% , 229% , 226% , 223% , 220% , 216%
Data 213% , 209% , 206% , 202% , 198% , 194% , 190% , 185%
Data 181% , 177% , 172% , 167% , 162% , 157% , 152% , 147%
Data 142% , 137% , 132% , 126% , 121% , 115% , 109% , 104%
Data 98% , 92% , 86% , 80% , 74% , 68% , 62% , 56%
Data 50% , 44% , 38% , 31% , 25% , 19% , 13% , 6%
Data 0% , -6% , -13% , -19% , -25% , -31% , -38% , -44%
Data -50% , -56% , -62% , -68% , -74% , -80% , -86% , -92%
Data -98% , -104% , -109% , -115% , -121% , -126% , -132% , -137%
Data -142% , -147% , -152% , -157% , -162% , -167% , -172% , -177%
Data -181% , -185% , -190% , -194% , -198% , -202% , -206% , -209%
Data -213% , -216% , -220% , -223% , -226% , -229% , -231% , -234%
Data -237% , -239% , -241% , -243% , -245% , -247% , -248% , -250%
Data -251% , -252% , -253% , -254% , -255% , -255% , -256% , -256%
Data -256% , -256% , -256% , -255% , -255% , -254% , -253% , -252%
Data -251% , -250% , -248% , -247% , -245% , -243% , -241% , -239%
Data -237% , -234% , -231% , -229% , -226% , -223% , -220% , -216%
Data -213% , -209% , -206% , -202% , -198% , -194% , -190% , -185%
Data -181% , -177% , -172% , -167% , -162% , -157% , -152% , -147%
Data -142% , -137% , -132% , -126% , -121% , -115% , -109% , -104%
Data -98% , -92% , -86% , -80% , -74% , -68% , -62% , -56%
Data -50% , -44% , -38% , -31% , -25% , -19% , -13% , -6%
Hourtab: 'gibt die gradzahlen der stunden zurück angefangen bei null
Data 256% , 234% , 213% , 192% , 170% , 149% , 128% , 106%
Data 85% , 64% , 42% , 21% , 256% , 234% , 213% , 192%
Data 170% , 149% , 128% , 106% , 85% , 64% , 42% , 21%
Mintab: 'gibt die gradzahlen der minuten/sekunden zurück angefangen bei null
Data 256% , 252% , 247% , 243% , 239% , 234% , 230% , 226%
Data 222% , 217% , 213% , 209% , 205% , 200% , 196% , 192%
Data 188% , 183% , 179% , 174% , 171% , 166% , 162% , 158%
Data 153% , 149% , 145% , 141% , 136% , 132% , 128% , 124%
Data 119% , 115% , 111% , 106% , 102% , 98% , 94% , 90%
Data 85% , 81% , 77% , 72% , 68% , 64% , 60% , 55%
Data 51% , 47% , 43% , 38% , 34% , 30% , 26% , 21%
Data 17% , 12% , 8% , 4% , 0%
'######## Objektdefinitionen
'X, Y, Z
'X, Y, Z
'X und Y sind relative Positionen
'z=0 bedeutet moverel
'z=1 bedeutet sichtbare Linie
'Ende Objekt ist wenn z=3
Spaceship:
Data 15% , 8% , 1%
Data -15% , 8% , 1%
Data 6% , -8% , 1%
Data -6% , -8% , 1%
Data 4% , 8% , 0%
Data -5% , 3% , 1%
Data 5% , -3% , 1%
Data -5% , 0% , 1%
Data 5% , 0% , 1%
Data -5% , -3% , 1%
Data 5% , 3% , 3%
Zeiger1: 'stundenzeiger
Data -15% , 0% , 0%
Data 30% , 0% , 1%
Data -15% , 100% , 1%
Data -15% , -100% , 3%
Zeiger2: 'minutenzeiger
Data -10% , 0% , 0%
Data 20% , 0% , 1%
Data -10% , 75% , 1%
Data -10% , -75% , 3%
Zeiger3: 'sekunden"zeiger"
Data 0% , 110% , 3%
Obj1:
Data 0% , 16% , 0%
Data 16% , 14% , 1%
Data 0% , -30% , 3%
Obj2:
Data 0% , 26% , 0%
Data 0% , 2% , 1%
Data 4% , 2% , 1%
Data 9% , 0% , 1%
Data 5% , -4% , 1%
Data 0% , -3% , 1%
Data -18% , -23% , 1%
Data 6% , 3% , 1%
Data 8% , 0% , 1%
Data 6% , -3% , 3%
Obj3:
Data 0% , 3% , 0%
Data 4% , -3% , 1%
Data 10% , 0% , 1%
Data 4% , 3% , 1%
Data 0% , 10% , 1%
Data -3% , 3% , 1%
Data -2% , 0% , 1%
Data 2% , 0% , 0%
Data 3% , 3% , 1%
Data 0% , 8% , 1%
Data -4% , 3% , 1%
Data -10% , 0% , 1%
Data -4% , -3% , 3%
Obj4:
Data 11% , 0% , 0%
Data 0% , 30% , 1%
Data -13% , -17% , 1%
Data 18% , 0% , 3%
Obj5:
Data 0% , 4% , 0%
Data 4% , -4% , 1%
Data 10% , 0% , 1%
Data 5% , 5% , 1%
Data 0% , 8% , 1%
Data -5% , 5% , 1%
Data -9% , 0% , 1%
Data -5% , -6% , 1%
Data 0% , 18% , 1%
Data 17% , 0% , 3%
Obj6:
Data 0% , 10% , 0%
Data 0% , -5% , 1%
Data 4% , -4% , 1%
Data 10% , 0% , 1%
Data 5% , 5% , 1%
Data 0% , 8% , 1%
Data -5% , 5% , 1%
Data -9% , 0% , 1%
Data -5% , -8% , 1%
Data 0% , 15% , 1%
Data 4% , 4% , 1%
Data 8% , 0% , 1%
Data 5% , -4% , 3%
Obj7:
Data 0% , 30% , 0%
Data 15% , 0% , 1%
Data 0% , -30% , 1%
Data -10% , 15% , 0%
Data 16% , 0% , 3%
Obj8:
Data 4% , 0% , 0%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 7% , 1%
Data -18% , 8% , 1%
Data 0% , 7% , 1%
Data 4% , 4% , 1%
Data 10% , 0% , 1%
Data 4% , -5% , 1%
Data 0% , -7% , 1%
Data -18% , -8% , 1%
Data 0% , -7% , 1%
Data 4% , -5% , 3%
Obj9:
Data 0% , 5% , 0%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 20% , 1%
Data -4% , 5% , 1%
Data -10% , 0% , 1%
Data -4% , -5% , 1%
Data 0% , -7% , 1%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 4% , 3%
Obj0:
Data 0% , 5% , 0%
Data 4% , -5% , 1%
Data 10% , 0% , 1%
Data 4% , 5% , 1%
Data 0% , 20% , 1%
Data -4% , 5% , 1%
Data -10% , 0% , 1%
Data -4% , -5% , 1%
Data 0% , -20% , 3%
Objdp:
Data 7% , 7% , 0%
Data 4% , 0% , 1%
Data 0% , 4% , 1%
Data -4% , 0% , 1%
Data 0% , -4% , 1%
Data 0% , 12% , 0%
Data 4% , 0% , 1%
Data 0% , 4% , 1%
Data -4% , 0% , 1%
Data 0% , -4% , 3%