*** empty log message ***
[h316.git] / lib / iolib / src / pl$u.asm
CommitLineData
fcb7b340 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)
bf9d30c5 11* 1.1 (2007-11-08) - ADDED PEN POSITION TRACKING
12* TO PL$PU AND PL$PD
fcb7b340 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*
bf9d30c5 27* 100 (OCTAL)
28* 64 (DECIMAL)
fcb7b340 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*
fcb7b340 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*
69OUT DAC ** DO THE MOVEMENT
70 OTA PADR
71 JMP *-1
72 JMP* OUT
73*
74*
75UP DAC **
76 LDA CUP
77 JST OUT
78 JMP* UP
79*
80*
81DOWN DAC **
82 LDA CDWN
83 JST OUT
84 JMP* DOWN
85*
86*
87RGHT DAC **
88 LDA CRGT
89 JST OUT
90 JMP* RGHT
91*
92*
93LEFT DAC **
94 LDA CLFT
95 JST OUT
96 JMP* LEFT
97*
98*
99PENU DAC **
bf9d30c5 100 LDA PEN
101 SNZ
102 JMP* PENU
103 CRA
104 STA PEN
fcb7b340 105 LDA CPNU
106 JST OUT
107 JMP* PENU
108*
109*
110PEND DAC **
bf9d30c5 111 LDA PEN
112 SZE
113 JMP* PEND
fcb7b340 114 LDA CPND
115 JST OUT
bf9d30c5 116 IRS PEN
fcb7b340 117 JMP* PEND
118*
119*
120UL DAC **
121 LDA CUP
122 ADD CLFT
123 JST OUT
124 JMP* UL
125*
126*
127UR DAC **
128 LDA CUP
129 ADD CRGT
130 JST OUT
131 JMP* UR
132*
133*
134DL DAC **
135 LDA CDWN
136 ADD CLFT
137 JST OUT
138 JMP* DL
139*
140*
141DR DAC **
142 LDA CDWN
143 ADD CRGT
144 JST OUT
145 JMP* DR
146*
147*
148* CONSTANTS
149CUP OCT '1
150CDWN OCT '2
151CLFT OCT '4
152CRGT OCT '10
153CPNU OCT '20
154CPND OCT '40
155*
bf9d30c5 156PEN DEC 0 PEN STATE: 1=DOWN
fcb7b340 157*
158 END