*** empty log message ***
[h316.git] / lib / hachti / src / pl$u.asm
CommitLineData
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*
50PADR 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*
eabafcca 68*
8fac3a64 69OUT DAC ** DO THE MOVEMENT
70 OTA PADR
71 JMP *-1
72*
eabafcca 73* LDA =-1
74* STA CNT
75* LDA =-1000
76* LLL AOA
77* SZE
78* JMP LLL
79* IRS CNT
80* JMP LLL
81*
82*
8fac3a64 83 JMP* OUT
eabafcca 84*
85* CNT DAC **
8fac3a64 86*
87UP DAC **
88 LDA CUP
89 JST OUT
90 JMP* UP
91*
92*
93DOWN DAC **
94 LDA CDWN
95 JST OUT
96 JMP* DOWN
97*
98*
99RGHT DAC **
100 LDA CRGT
101 JST OUT
102 JMP* RGHT
103*
104*
105LEFT DAC **
106 LDA CLFT
107 JST OUT
108 JMP* LEFT
109*
110*
111PENU DAC **
112 LDA PEN
113 SNZ
114 JMP* PENU
115 CRA
116 STA PEN
117 LDA CPNU
118 JST OUT
119 JMP* PENU
120*
121*
122PEND DAC **
123 LDA PEN
124 SZE
125 JMP* PEND
126 LDA CPND
127 JST OUT
128 IRS PEN
129 JMP* PEND
130*
131*
132UL DAC **
133 LDA CUP
134 ADD CLFT
135 JST OUT
136 JMP* UL
137*
138*
139UR DAC **
140 LDA CUP
141 ADD CRGT
142 JST OUT
143 JMP* UR
144*
145*
146DL DAC **
147 LDA CDWN
148 ADD CLFT
149 JST OUT
150 JMP* DL
151*
152*
153DR DAC **
154 LDA CDWN
155 ADD CRGT
156 JST OUT
157 JMP* DR
158*
159*
160* CONSTANTS
161CUP OCT '1
162CDWN OCT '2
163CLFT OCT '4
164CRGT OCT '10
165CPNU OCT '20
166CPND OCT '40
167*
168PEN DEC 0 PEN STATE: 1=DOWN
169*
170 END