8fac3a64 |
1 | * (PL$U) REV 1.0 LOW LEVEL INCREMENTAL PLOTTER DRIVER |
2 | * |
3 | * |
4 | * PROGRAM TITLE: PL$U (PL$U, PL$D, PL$L, PL$R, PL$PU, PL$PD, |
5 | * PL$UR,PL$UL,PL$DR,PL$DL) |
6 | * |
7 | * LOW LEVEL PEN PLOTTER ROUTINES |
8 | * |
9 | * REVISIONS: |
10 | * 1.0 (2007-05-27) |
11 | * 1.1 (2007-11-08) - ADDED PEN POSITION TRACKING |
12 | * TO PL$PU AND PL$PD |
13 | * |
14 | * AUTHOR: |
15 | * |
16 | * PHILIPP HACHTMANN |
17 | * |
18 | * |
19 | * PURPOSE: |
20 | * |
21 | * LOW LEVEL PEN PLOTTER DRIVER ROUTINES PROVIDING HARDWARE |
22 | * ABSTRACTION BY PROVIDING SIMPLE ROUTINES FOR PEN MOVEMENT. |
23 | * |
24 | * |
25 | * STORAGE: |
26 | * |
27 | * 100 (OCTAL) |
28 | * 64 (DECIMAL) |
29 | * |
30 | * |
31 | * USAGE: |
32 | * |
33 | * CALL PL$U - STEP UP |
34 | * CALL PL$D - STEP DOWN |
35 | * CALL PL$L - STEP LEFT |
36 | * CALL PL$R - STEP RIGHT |
37 | * CALL PL$PU - RAISE PEN |
38 | * CALL PL$PD - LOWER PEN |
39 | * |
40 | * CALL PL$UR - STEP UP+RIGHT |
41 | * CALL PL$UL - STEP UP+LEFT |
42 | * CALL PL$DR - STEP DOWN+RIGHT |
43 | * CALL PL$DL - STEP DOWN+LEFT |
44 | * |
45 | * |
46 | * |
47 | ******************************************************************************** |
48 | * |
49 | * |
50 | PADR EQU '40 PORT ADDRESS OF THE PLOTTER INTERFACE |
51 | * |
52 | * |
53 | SUBR PL$U,UP |
54 | SUBR PL$D,DOWN |
55 | SUBR PL$R,RGHT |
56 | SUBR PL$L,LEFT |
57 | SUBR PL$PU,PENU |
58 | SUBR PL$PD,PEND |
59 | SUBR PL$UR,UR |
60 | SUBR PL$UL,UL |
61 | SUBR PL$DR,DR |
62 | SUBR PL$DL,DL |
63 | * |
64 | * |
65 | REL THIS IS A RELOCATABLE OBJECT |
66 | ORG '0 |
67 | * |
68 | * |
69 | OUT DAC ** DO THE MOVEMENT |
70 | OTA PADR |
71 | JMP *-1 |
72 | * |
73 | * LDA =-'10000 |
74 | * AOA |
75 | * SZE |
76 | * JMP *-2 |
77 | * |
78 | JMP* OUT |
79 | * |
80 | * |
81 | UP DAC ** |
82 | LDA CUP |
83 | JST OUT |
84 | JMP* UP |
85 | * |
86 | * |
87 | DOWN DAC ** |
88 | LDA CDWN |
89 | JST OUT |
90 | JMP* DOWN |
91 | * |
92 | * |
93 | RGHT DAC ** |
94 | LDA CRGT |
95 | JST OUT |
96 | JMP* RGHT |
97 | * |
98 | * |
99 | LEFT DAC ** |
100 | LDA CLFT |
101 | JST OUT |
102 | JMP* LEFT |
103 | * |
104 | * |
105 | PENU DAC ** |
106 | LDA PEN |
107 | SNZ |
108 | JMP* PENU |
109 | CRA |
110 | STA PEN |
111 | LDA CPNU |
112 | JST OUT |
113 | JMP* PENU |
114 | * |
115 | * |
116 | PEND DAC ** |
117 | LDA PEN |
118 | SZE |
119 | JMP* PEND |
120 | LDA CPND |
121 | JST OUT |
122 | IRS PEN |
123 | JMP* PEND |
124 | * |
125 | * |
126 | UL DAC ** |
127 | LDA CUP |
128 | ADD CLFT |
129 | JST OUT |
130 | JMP* UL |
131 | * |
132 | * |
133 | UR DAC ** |
134 | LDA CUP |
135 | ADD CRGT |
136 | JST OUT |
137 | JMP* UR |
138 | * |
139 | * |
140 | DL DAC ** |
141 | LDA CDWN |
142 | ADD CLFT |
143 | JST OUT |
144 | JMP* DL |
145 | * |
146 | * |
147 | DR DAC ** |
148 | LDA CDWN |
149 | ADD CRGT |
150 | JST OUT |
151 | JMP* DR |
152 | * |
153 | * |
154 | * CONSTANTS |
155 | CUP OCT '1 |
156 | CDWN OCT '2 |
157 | CLFT OCT '4 |
158 | CRGT OCT '10 |
159 | CPNU OCT '20 |
160 | CPND OCT '40 |
161 | * |
162 | PEN DEC 0 PEN STATE: 1=DOWN |
163 | * |
164 | END |