4c0dcb61cf97a0a93e6c10e5209fe90d0a5429ff
[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$UP,UP
52 SUBR PL$U,UP
53 SUBR PL$D,DOWN
54 SUBR PL$R,RGHT
55 SUBR PL$L,LEFT
56 SUBR PL$PU,PENU
57 SUBR PL$PD,PEND
58 SUBR PL$UR,UR
59 SUBR PL$UL,UL
60 SUBR PL$DR,DR
61 SUBR PL$DL,DL
62 *
63 *
64 REL THIS IS A RELOCATABLE OBJECT
65 ORG '0
66 *
67 *
68 OUT DAC ** DO THE MOVEMENT
69 OTA PADR
70 JMP *-1
71 JMP* OUT
72 *
73 *
74 UP DAC **
75 LDA CUP
76 JST OUT
77 JMP* UP
78 *
79 *
80 DOWN DAC **
81 LDA CDWN
82 JST OUT
83 JMP* DOWN
84 *
85 *
86 RGHT DAC **
87 LDA CRGT
88 JST OUT
89 JMP* RGHT
90 *
91 *
92 LEFT DAC **
93 LDA CLFT
94 JST OUT
95 JMP* LEFT
96 *
97 *
98 PENU DAC **
99 LDA CPNU
100 JST OUT
101 JMP* PENU
102 *
103 *
104 PEND DAC **
105 LDA CPND
106 JST OUT
107 JMP* PEND
108 *
109 *
110 UL DAC **
111 LDA CUP
112 ADD CLFT
113 JST OUT
114 JMP* UL
115 *
116 *
117 UR DAC **
118 LDA CUP
119 ADD CRGT
120 JST OUT
121 JMP* UR
122 *
123 *
124 DL DAC **
125 LDA CDWN
126 ADD CLFT
127 JST OUT
128 JMP* DL
129 *
130 *
131 DR DAC **
132 LDA CDWN
133 ADD CRGT
134 JST OUT
135 JMP* DR
136 *
137 *
138 * CONSTANTS
139 CUP OCT '1
140 CDWN OCT '2
141 CLFT OCT '4
142 CRGT OCT '10
143 CPNU OCT '20
144 CPND OCT '40
145 *
146 *
147 END