*** 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)
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*
48PADR 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*
68OUT DAC ** DO THE MOVEMENT
69 OTA PADR
70 JMP *-1
71 JMP* OUT
72*
73*
74UP DAC **
75 LDA CUP
76 JST OUT
77 JMP* UP
78*
79*
80DOWN DAC **
81 LDA CDWN
82 JST OUT
83 JMP* DOWN
84*
85*
86RGHT DAC **
87 LDA CRGT
88 JST OUT
89 JMP* RGHT
90*
91*
92LEFT DAC **
93 LDA CLFT
94 JST OUT
95 JMP* LEFT
96*
97*
98PENU DAC **
99 LDA CPNU
100 JST OUT
101 JMP* PENU
102*
103*
104PEND DAC **
105 LDA CPND
106 JST OUT
107 JMP* PEND
108*
109*
110UL DAC **
111 LDA CUP
112 ADD CLFT
113 JST OUT
114 JMP* UL
115*
116*
117UR DAC **
118 LDA CUP
119 ADD CRGT
120 JST OUT
121 JMP* UR
122*
123*
124DL DAC **
125 LDA CDWN
126 ADD CLFT
127 JST OUT
128 JMP* DL
129*
130*
131DR DAC **
132 LDA CDWN
133 ADD CRGT
134 JST OUT
135 JMP* DR
136*
137*
138* CONSTANTS
139CUP OCT '1
140CDWN OCT '2
141CLFT OCT '4
142CRGT OCT '10
143CPNU OCT '20
144CPND OCT '40
145*
146*
147 END