LOAD OUT-0B.ASM BLOAD OUT-0B.ASM,A$1800 !L 1 ORG $1B00 2 OBJ $800 3 ; 4 ;--->> OUT-0B LASERWRITER 5 ; 6 NLS 7 ; 8 PRT/VC EQU $1E86 9 ; 10 JMP OUT 11 JMP INIT 12 RTS 13 ; 14 FONTB EQU $3E00 15 BUF EQU $3200 16 BUF\PT HEX 00 17 SV/Y HEX 00 18 CHAR HEX 00 19 NTSPC HEX 00 20 MYFONT HEX 00 21 AC/FNT HEX 00 22 CP/MOD HEX 00 23 BIG HEX 00 24 FONTH EQU $1ED9 25 FONTL EQU $1EDA 26 SIZE10 EQU $1EDC 27 SIZE01 EQU $1EDD 28 CENFLG EQU $1EDF 29 DRV/LG EQU $1E56 30 DRIVE EQU $E15 31 ; 32 PRMON ORA #$80 33 JMP (PRT/VC) 34 ; 35 OUT AND #$7F 36 STA CHAR 37 TYA 38 PHA 39 TXA 40 PHA 41 JSR DOIT 42 PLA 43 TAX 44 PLA 45 TAY 46 RTS 47 ; 48 DOIT LDA CHAR 49 CMP #$0D 50 BEQ CR 51 CMP #$0C 52 BEQ FF 53 LDX BUF\PT 54 STA BUF,X 55 INC BUF\PT 56 RTS 57 ; 58 CR JSR BUFOUT 59 LDY #$00 60 CRL LDA CR/LT,Y 61 BEQ CR0 62 JSR PRMON 63 INY 64 BNE CRL 65 CR0 RTS 66 ; 67 FF JSR BUFOUT 68 LDY #$00 69 FFL LDA FF/LT,Y 70 BEQ FF0 71 JSR PRMON 72 INY 73 BNE FFL 74 FF0 RTS 75 ; 76 ; 77 BUFOUT LDA BUF\PT 78 BEQ FF0 79 LDA CENFLG 80 BEQ BUF/RG 81 JMP CENTER 82 BUF/RG LDA '( 83 JSR PRMON 84 LDY #$FF 85 STY SV/Y 86 BUF/LP INC SV/Y 87 LDY SV/Y 88 CPY BUF\PT 89 BEQ BUF/FN 90 LDA BUF,Y 91 CMP #$10 92 BEQ CON/P 93 CMP #$11 94 BEQ CON/Q 95 CMP #$06 96 BEQ CON/F 97 JSR COMOUT 98 JMP BUF/LP 99 BUF/FN LDA #$00 100 STA BUF\PT 101 LDA ') 102 JSR PRMON 103 LDA 'x 104 JSR PRMON 105 LDA 'r 106 JMP PRMON 107 ; 108 CON/Q LDA #$20 109 JSR PRMON 110 LDA '( 111 JSR PRMON 112 LDA #$00 113 QBK STA CP/MOD 114 JMP BUF/LP 115 ; 116 CON/P JSR CONPDO 117 LDA #$80 118 BNE QBK 119 CONPDO LDX #$00 120 C/P/LP LDA C/P/LT,X 121 BEQ CONPX 122 JSR PRMON 123 INX 124 BNE C/P/LP 125 CONPX RTS 126 ; 127 CON/F LDA BUF+1,Y 128 AND #$3F 129 PHA 130 JSR CONPDO 131 PLA 132 JSR FONT 133 LDA '( 134 JSR PRMON 135 INC SV/Y 136 JMP BUF/LP 137 ; 138 COMOUT CMP #$03 139 BEQ CON/C 140 LDX CP/MOD 141 BNE COMREG 142 LDX #$0A 143 COML CMP TABLE,X 144 BEQ COMSP 145 DEX 146 BPL COML 147 BMI COMREG 148 COMSP LDA '\ 149 JSR PRMON 150 LDA BUF,Y 151 COMREG JMP PRMON 152 ; 153 CON/C LDA BUF+1,Y 154 ORA #$80 155 STA BIG 156 JSR BACKSL 157 INC SV/Y 158 INY 159 RTS 160 ; 161 CENTER LDA #$00 162 STA CENFLG 163 STA AC/FNT 164 LDY #$00 165 LKSP LDA BUF,Y 166 CMP #$20 167 BNE LKSPX 168 INY 169 BNE LKSP 170 LKSPX STY NTSPC 171 CMP #$06 172 BNE CENX 173 LDA BUF+1,Y 174 AND #$3F 175 JSR FONT 176 INC NTSPC 177 INC NTSPC 178 CENX LDA MYFONT 179 BEQ CENXX 180 CMP #$05 181 BCS CENXX 182 JMP BUF/RG 183 CENXX LDA '( 184 JSR PRMON 185 LDY NTSPC 186 CEN1 LDA BUF,Y 187 CMP #$06 188 BEQ CFONT 189 JSR COMOUT 190 CPRR INY 191 CPY BUF\PT 192 BNE CEN1 193 LDY #$00 194 STY BUF\PT 195 CFLP LDA CF/LT,Y 196 BEQ CF0 197 JSR PRMON 198 INY 199 BNE CFLP 200 CF0 LDA AC/FNT 201 BEQ NFTCH 202 AND #$3F 203 JSR FONT 204 NFTCH RTS 205 ; 206 CFONT INY 207 LDA BUF,Y 208 STA AC/FNT 209 BNE CPRR 210 ; 211 BACKSL LDA '\ 212 JSR PRMON 213 LDA #$00 214 JSR BACK/2 215 JSR BACK/3 216 JMP BACK/3 217 BACK/3 LDA #$00 218 ROL BIG 219 ROL 220 BACK/2 ROL BIG 221 ROL 222 ROL BIG 223 ROL 224 ORA #$B0 225 JMP PRMON 226 ; 227 INIT LDA $3000 228 CMP #$23 229 BNE LOAD 230 LDA $3001 231 CMP #$48 232 BEQ OUT/NW 233 LOAD LDA #$01 234 STA DRV/LG 235 JSR DRIVE 236 LDY #$00 237 STY $AA52 238 INXL LDA DOS,Y 239 BEQ INX0 240 ORA #$80 241 JSR $FDED 242 INY 243 BNE INXL 244 ; 245 INX0 LDA #$FF 246 STA $FE 247 LDA #$1F 248 STA $FE+1 249 LDX #$00 250 LDY #$00 251 ; 252 BTBTOP JSR INC/FE 253 JSR BTBPUT 254 INZZ LDA ($FE),Y 255 CMP #$7F 256 BEQ BT/END 257 BTB/LP LDA ($FE),Y 258 CMP #$7F 259 BEQ BTBTOP 260 JSR INC/FE 261 JMP BTB/LP 262 ; 263 BT/END LDA $FE 264 STA $300E 265 LDA $FF 266 STA $300F 267 OUT/NW LDA $300E 268 STA $FE 269 LDA $300F 270 STA $FF 271 LDY #$00 272 STY CP/MOD 273 STY BUF\PT 274 OUT/LP JSR INC/FE 275 LDA ($FE),Y 276 CMP #$7F 277 BEQ RL/END 278 CMP '% 279 BEQ FNS 280 CMP '$ 281 BEQ LNS 282 LK/PR JSR PRMON 283 JMP OUT/LP 284 FNS LDA FONTH 285 JSR PRMON 286 LDA FONTL 287 BNE LK/PR 288 LNS LDA SIZE10 289 JSR PRMON 290 LDA SIZE01 291 BNE LK/PR 292 ; 293 ; 294 RL/END LDA #$23 295 STA $3000 296 LDA #$48 297 STA $3001 298 LDA #$00 299 JMP FONT 300 BTBPUT LDA $FE 301 STA FONTB,X 302 INX 303 LDA $FE+1 304 STA FONTB,X 305 INX 306 RTS 307 INC/FE INC $FE 308 BNE INC0 309 INC $FE+1 310 INC0 RTS 311 ; 312 FONT STA MYFONT 313 ASL 314 TAX 315 LDA FONTB,X 316 STA $FE 317 LDA FONTB+1,X 318 STA $FE+1 319 LDY #$00 320 FONT0 LDA ($FE),Y 321 CMP #$7F 322 BEQ FONT1 323 JSR PRMON 324 INY 325 BNE FONT0 326 FONT1 LDY #$00 327 FNT/L LDA FNT/LT,Y 328 BEQ FNT/0 329 JSR PRMON 330 INY 331 BNE FNT/L 332 FNT/0 RTS 333 ; 334 DOS HEX 84 335 ASC 'BLOAD FONTS.A,A$2000' 336 HEX 8D00 337 ; 338 FNT/LT ASC ' fs' 339 HEX 8D00 340 ; 341 CR/LT ASC ' cr' 342 HEX 8D00 343 ; 344 CF/LT ASC ')xc ' 345 HEX 00 346 FF/LT ASC ' fp' 347 HEX 8D00 348 ; 349 C/P/LT ASC ')xr' 350 HEX 8D00 351 TABLE ASC '()<>[]{}/%\' 352 ; 353 XX HEX 00 354 END !