*** empty log message ***
[h316.git] / lib / iolib / src / pl$u.asm
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 *
12 * AUTHOR:
13 *
14 * PHILIPP HACHTMANN
15 *
16 *
17 * PURPOSE:
18 *
19 * LOW LEVEL PEN PLOTTER DRIVER ROUTINES PROVIDING HARDWARE
20 * ABSTRACTION BY PROVIDING SIMPLE ROUTINES FOR PEN MOVEMENT.
21 *
22 *
23 * STORAGE:
24 *
25 * ??? (OCTAL)
26 * ??? (DECIMAL)
27 *
28 *
29 * USAGE:
30 *
31 * CALL PL$U - STEP UP
32 * CALL PL$D - STEP DOWN
33 * CALL PL$L - STEP LEFT
34 * CALL PL$R - STEP RIGHT
35 * CALL PL$PU - RAISE PEN
36 * CALL PL$PD - LOWER PEN
37 *
38 * CALL PL$UR - STEP UP+RIGHT
39 * CALL PL$UL - STEP UP+LEFT
40 * CALL PL$DR - STEP DOWN+RIGHT
41 * CALL PL$DL - STEP DOWN+LEFT
42 *
43 *
44 *
45 ********************************************************************************
46 *
47 *
48 PADR EQU '40 PORT ADDRESS OF THE PLOTTER INTERFACE
49 *
50 *
51 SUBR PL$U,UP
52 SUBR PL$D,DOWN
53 SUBR PL$R,RGHT
54 SUBR PL$L,LEFT
55 SUBR PL$PU,PENU
56 SUBR PL$PD,PEND
57 SUBR PL$UR,UR
58 SUBR PL$UL,UL
59 SUBR PL$DR,DR
60 SUBR PL$DL,DL
61 *
62 *
63 REL THIS IS A RELOCATABLE OBJECT
64 ORG '0
65 *
66 *
67 OUT DAC ** DO THE MOVEMENT
68 OTA PADR
69 JMP *-1
70 JMP* OUT
71 *
72 *
73 UP DAC **
74 LDA CUP
75 JST OUT
76 JMP* UP
77 *
78 *
79 DOWN DAC **
80 LDA CDWN
81 JST OUT
82 JMP* DOWN
83 *
84 *
85 RGHT DAC **
86 LDA CRGT
87 JST OUT
88 JMP* RGHT
89 *
90 *
91 LEFT DAC **
92 LDA CLFT
93 JST OUT
94 JMP* LEFT
95 *
96 *
97 PENU DAC **
98 LDA CPNU
99 JST OUT
100 JMP* PENU
101 *
102 *
103 PEND DAC **
104 LDA CPND
105 JST OUT
106 JMP* PEND
107 *
108 *
109 UL DAC **
110 LDA CUP
111 ADD CLFT
112 JST OUT
113 JMP* UL
114 *
115 *
116 UR DAC **
117 LDA CUP
118 ADD CRGT
119 JST OUT
120 JMP* UR
121 *
122 *
123 DL DAC **
124 LDA CDWN
125 ADD CLFT
126 JST OUT
127 JMP* DL
128 *
129 *
130 DR DAC **
131 LDA CDWN
132 ADD CRGT
133 JST OUT
134 JMP* DR
135 *
136 *
137 * CONSTANTS
138 CUP OCT '1
139 CDWN OCT '2
140 CLFT OCT '4
141 CRGT OCT '10
142 CPNU OCT '20
143 CPND OCT '40
144 *
145 *
146 END