| 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 |