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