-
Notifications
You must be signed in to change notification settings - Fork 0
/
shiftr26.scr
128 lines (73 loc) · 2.49 KB
/
shiftr26.scr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
\ 09:51 12-28-90
( THIS FILE CONTAINS BEAM SHIFTING ROUTINES
BY JOR RITTER, SCOTT WEISMAN, CARL MCILWAIN
SHIFTR23.SCR
)
\ 15:00 12-12-90
HEX
: WX ( VALUE --- ) 028C WRITE XYLATCH ; \ WRITES X TO SHIFT
: WY ( VALUE --- ) 028E WRITE XYLATCH ; \ WRITES Y TO SHIFT
: ZXY ( --- ) 800 DUP WX WY ; \ ZEROS X&Y SHIFTERS
\ 17:14 12-13-90
HEX
: BX ( TAKES FWX VALUE DIVIDES BY 12 THEN LATCHES TO
GUN CURRENT CHANNEL = 018A HEX )
( I --- )
018A WRITE LATCH
;
\ 17:14 12-13-90
HEX
: BY ( TAKES FWY VALUE DIVIDES BY 12 THEN LATCHES TO
FREE CHANNEL = 028A HEX )
( I --- )
028A WRITE LATCH
;
\ CURRENT UP TO NOV29 14:39 12-12-90
DECIMAL
\ : IWX ( INVERSE VOLTAGE BEAM SHIFTING )
\ ( 2048 TO 3900 --- OUTPUT USING 1/X )
\ DUP BX \ LATCH INDEX TO DAC
\ \ Idac=2048+(655360/(INDEX-1700))
\ 1700 - 655360 SWAP / 2048 + WX
\ ;
\ : IWY ( INVERSE VOLTAGE BEAM SHIFTING )
\ ( 2048 TO 3900 --- OUTPUT USING 1/X )
\ DUP BY \ LATCH INDEX TO DAC
\ \ Idac=2048+(655360/(INDEX-1700))
\ 1700 - 655360 SWAP / 2048 + WY
\ ;
\ CURRENT 18:17 12-12-90
DECIMAL
: IWX ( INVERSE VOLTAGE BEAM SHIFTING )
( 2048 TO 3900 --- OUTPUT USING 1/X )
DUP BX \ LATCH INDEX TO DAC
1800 - 453710 SWAP / 2187 + WX
;
: IWY ( INVERSE VOLTAGE BEAM SHIFTING )
( 2048 TO 3900 --- OUTPUT USING 1/X )
DUP BY \ LATCH INDEX TO DAC
1700 - 655360 SWAP / 2048 + WY
;
\ CURRENT 18:16 12-12-90
DECIMAL
: IWY-NODISPLAY ( INVERSE VOLTAGE BEAM SHIFTING )
( 2048 TO 3900 --- OUTPUT USING 1/X )
( DUP BY ) \ DONT LATCH INDEX TO DAC
1700 - 655360 SWAP / 2048 + WY
;
\ 14:35 12-12-90
DECIMAL
VARIABLE XPOS \ STORE X POSITION FOR COMPENSATION
FVARIABLE COMP \ USED FOR Y'=Y+COMP*X
-.28E0 COMP F!
VARIABLE COMP-OFFSET
000 COMP-OFFSET !
: CWX ( COMPENSATED SHIFT FOR ORTHOG RASTER ) ( X --- )
DUP XPOS ! IWX
;
: CWY ( COMPENSATED SHIFT FOR ORTHOG RASTER ) ( Y --- )
DUP BY
XPOS @ S>F COMP F@ F* F>S +
COMP-OFFSET @ -
DUP 2000 < IF DROP 2000 THEN IWY-NODISPLAY
;