LOAD SEND.ASM BLOAD SEND.ASM,A$1800 !L 1 ORG $7200 2 OBJ $800 3 ; 4 ;----------->>>> MOD6 5 ; 6 NLS 7 JMP START 8 HEX 0000 9 COUNT HEX 0000 10 PAGEN HEX 00 11 END HEX 00 12 ERRFG HEX 00 13 MAXCH HEX 03B0 14 JMP FINAL 15 CNB HEX 20202020202020202020 16 PAGECT HEX 01 17 PGNMFG HEX 00 18 CONTRC HEX 7F 19 PGLET HEX 00 20 SER/CD HEX 00 21 Y\SLOT HEX 00 22 MASK HEX 30 23 MASK/R HEX 00 24 TIM\CT HEX 00 25 ; 26 Z1A EPZ $1A 27 Z1C EPZ $1C 28 Z1E EPZ $1E 29 VB/SLT EQU $1E45 30 VB/TYP EQU $1E46 31 CARDS EQU $1E60 32 PG\BUF EQU $8200 33 ; 34 ERROR LDA #$80 35 STA ERRFG 36 RTS 37 ; 38 START JSR SET/UP 39 JSR WHICH 40 BMI ERROR 41 ; 42 LDA PAGEN 43 CMP #$01 44 BNE LOOP 45 ; 46 JSR WARN/R 47 JSR ST/CAR 48 LDA #$00 49 STA COUNT 50 STA COUNT+1 51 LDA #$5D 52 JSR COM/CA 53 BCC ERROR 54 CMP #$06 55 BNE ERROR 56 LDA #$5D 57 JSR COM/CA 58 BCC ERROR 59 LDX #$00 60 CN LDA CNB,X 61 AND #$7F 62 JSR OUTCH 63 INX 64 CPX #$0A 65 BNE CN 66 LDA #$4B 67 JSR COM/CA 68 BCC ERROR 69 CMP #$06 70 BNE ERROR 71 LOOP LDY #$00 72 LDA (Z1C),Y 73 CMP #$FF 74 BEQ FIN0 75 AND #$7F 76 JSR TBEX 77 BEQ LOOP 78 CMP #$10 79 BEQ CHAR6X 80 CMP #$0D 81 BEQ CR0 82 CMP #$0A 83 BEQ CR0 84 CMP #$22 85 BEQ DOT5 86 LP7 CMP #$20 87 BEQ SPACEQ 88 JSR NORM 89 LDA COUNT 90 CMP MAXCH+1 91 LDA COUNT+1 92 SBC MAXCH 93 BCC LOOP 94 JMP PAGEBR 95 SPACEQ JMP SPACE 96 FIN0 JMP FIN 97 CHAR6X JMP CHAR16 98 CR0 JMP CR 99 ; 100 FINAL LDA #$5D 101 JSR OUT0 102 LDA #$57 103 JSR OUT0 104 LDA #$07 105 JSR OUT0 106 RTS 107 DOT5 INY 108 LDA (Z1C),Y 109 CMP '3 110 BNE NACT 111 INY 112 LDA (Z1C),Y 113 CMP #$14 114 BNE NACT 115 LDY #$03 116 PUT/NM LDA (Z1C),Y 117 STA PGNUM-3,Y 118 INY 119 CMP #$20 120 BNE PUT/NM 121 ; 122 LDA #$00 123 STA PGLET 124 LDA #$80 125 STA PGNMFG 126 ; INY 127 TYA 128 CLC 129 ADC Z1C 130 STA Z1C 131 BCC ACP 132 INC Z1C+1 133 ACP LDX COUNT+1 134 CPX MAXPA 135 BNE ACP1 136 LDX COUNT 137 CPX MAXPA+1 138 BCS PAGEBR 139 ACP1 JSR PGNUMB 140 JMP LOOP 141 NACT LDA #$22 142 JMP LP7 143 CHAR16 JSR INCPT 144 PAGEBR LDA #$4F 145 JSR OU/CAR 146 LDA #$4B 147 JSR COM/CA 148 BCC ERROR1 149 CMP #$06 150 BNE ERROR1 151 INC PAGECT 152 LDA #$00 153 STA COUNT 154 STA COUNT+1 155 JSR PGNUMB 156 JMP LOOP 157 FIN LDX END 158 BEQ FIN1 159 LDA #$51 160 JSR COM/CA 161 FIN1 RTS 162 ERROR1 STX ERRFG 163 RTS 164 TBEX CMP #$1E 165 BEQ ZAP 166 CMP #$1F 167 BEQ ZAP 168 CMP #$14 169 BEQ ZAP 170 CMP #$13 171 BEQ STICKY 172 RTS 173 ZAP JSR INCPT 174 LDX #$00 175 RTS 176 STICKY LDA #$20 177 RTS 178 SPACE LDY #$03 179 KL LDA (Z1C),Y 180 CMP PARLT,Y 181 BNE SPACE0 182 DEY 183 BPL KL 184 LDA COUNT 185 CMP MAXPA+1 186 LDA COUNT+1 187 SBC MAXPA 188 BCS PAGEBR 189 SPACE0 LDA #$20 190 JSR NORM 191 LDX COUNT+1 192 CPX MAXSP 193 BNE BACK 194 LDX COUNT 195 CPX MAXSP+1 196 BCC BACK 197 JMP PAGEBR 198 BACK JMP LOOP 199 CR JSR NORM 200 LDA COUNT 201 CMP MAXCR+1 202 LDA COUNT+1 203 SBC MAXCR 204 BCC BACK 205 JMP PAGEBR 206 NORM LDX VB/TYP 207 CPX #$04 208 BEQ NORMN 209 CMP #$7F 210 BNE NOTDEL 211 LDA '= 212 BNE RSTCON 213 NOTDEL CMP #$20 214 BCS NORMN 215 CLC 216 ADC #$60 217 RSTCON PHA 218 LDA CONTRC 219 JSR OUT 220 JSR INCNT 221 PLA 222 NORMN JSR OUT 223 JSR INCNT 224 JSR INCPT 225 RTS 226 INCNT INC COUNT 227 BNE INCNT1 228 INC COUNT+1 229 INCNT1 RTS 230 INCPT INC Z1C 231 BNE INCPT1 232 LDA #$6D 233 JSR OUT0 234 LDA #$0E 235 JSR OUT0 236 INC Z1C+1 237 INCPT1 RTS 238 ; 239 ; 240 OUTCH LDY #$7F 241 STY Z1E 242 BNE OUTQ 243 OUT LDY #$FF 244 STY Z1E 245 OUTQ LDY #$00 246 STY Z1E+1 247 STA Z1A 248 CMP #$20 249 BCS OUTND 250 ADC #$60 251 LDY #$C0 252 STY Z1E+1 253 OUTND SEC 254 SBC #$20 255 CMP #$20 256 BCC OUT5 257 CMP #$40 258 BCC OUT6 259 SBC #$20 260 BNE OUT5 261 OUT6 LDY #$80 262 STY Z1E+1 263 OUT5 TAY 264 LDA ASCBRL,Y 265 ORA Z1E+1 266 AND Z1E 267 OUT0 JMP OU/CAR 268 ; 269 PGNUMB LDA PGNMFG 270 BEQ PG/0 271 LDA '" 272 JSR OUT 273 LDA '3 274 JSR OUT 275 LDA PGLET 276 BEQ PG4 277 CLC 278 ADC #$60 279 JSR OUT 280 PG4 LDX #$FF 281 PG5 INX 282 LDA PGNUM,X 283 CMP #$20 284 BEQ PGX 285 CMP #$13 286 BNE PG77 287 LDA #$20 288 PG77 JSR OUT 289 JMP PG5 290 PGX LDA '3 291 JSR OUT 292 LDA '1 293 JSR OUT 294 LDY #$00 295 LDA (Z1C),Y 296 CMP #$20 297 BEQ PG88 298 LDA #$20 299 JSR OUT 300 INX 301 PG88 LDA PGLET 302 CMP #01 303 TXA 304 ADC #$04 305 ADC COUNT 306 STA COUNT 307 BCC PG7 308 INC COUNT+1 309 PG7 INC PGLET 310 PG/0 RTS 311 ; 312 SET/UP LDA #PG\BUF 313 STA Z1C 314 LDA /PG\BUF 315 STA Z1C+1 316 LDA VB/TYP 317 CMP #$03 318 BCC SU1 319 LDA #$40 320 STA CONTRC 321 SU1 LDA #$00 322 STA ERRFG 323 LDA MAXCH 324 STA MAXSP 325 STA MAXCR 326 STA MAXPA 327 SEC 328 LDA MAXCH+1 329 SBC #$10 330 STA MAXSP+1 331 BCS ZS1 332 DEC MAXSP 333 ZS1 SEC 334 LDA MAXCH+1 335 SBC #$30 336 STA MAXCR+1 337 BCS ZS2 338 DEC MAXCR 339 ZS2 SEC 340 LDA MAXCH+1 341 SBC #$60 342 STA MAXPA+1 343 BCS ZS3 344 DEC MAXPA 345 ZS3 RTS 346 PARLT HEX 20247020 347 ASCBRL HEX 002E103C2B292F04 348 HEX 373E212C2024280C 349 HEX 3402061232221636 350 HEX 26143130233F1C39 351 HEX 0801030919110B1B 352 HEX 130A1A05070D1D15 353 HEX 0F1F170E1E25273A 354 HEX 2D3D352A333B1838 355 ; 356 ; 357 WHICH LDA VB/SLT 358 BEQ BAD 359 TAX 360 ASL 361 ASL 362 ASL 363 ASL 364 STA Y\SLOT 365 LDA CARDS,X 366 STA SER/CD 367 BEQ BAD 368 CMP #$08 369 BEQ GOOD 370 CMP #$05 371 BCS BAD 372 LDX #$00 373 GOOD RTS 374 BAD LDX #$80 375 RTS 376 ; 377 ST/CAR LDY Y\SLOT 378 LDA SER/CD 379 CMP #$08 380 BEQ ST/SBM 381 CMP #$01 382 BEQ ST/SSC 383 CMP #$04 384 BEQ ST/2C 385 ; 386 ST/CCS LDA #$23 387 STA $C080,Y 388 LDA #$11 389 STA $C080,Y 390 RTS 391 ; 392 ST/SBM LDA #$09 393 STA $C08A,Y 394 LDA #$9E 395 STA $C08B,Y 396 LDA #$A0 397 JSR $FCA8 398 RTS 399 ; 400 ST/SSC LDA #$50 401 STA MASK 402 ST/2C LDA $36 403 STA SV/36 404 LDA $37 405 STA SV/37 406 LDA #$00 407 STA $36 408 LDA VB/SLT 409 ORA #$C0 410 STA $37 411 LDX $1F70 412 DEX 413 ST/LP INX 414 LDA $1F00,X 415 CMP #$7F 416 BEQ ST1 417 JSR $FDED 418 BNE ST/LP 419 ST1 LDA #$47 420 JSR $FDED 421 LDA SV/36 422 STA $36 423 LDA SV/37 424 STA $37 425 JSR IN/CAR 426 LDA #$60 427 JSR $FCA8 428 JMP IN/CAR 429 ; 430 BIGTIM LDA #$04 431 STA TIM\CT 432 BIG/OL LDX #$00 433 BIG/IL JSR IN/CAR 434 BCS BIG/0 435 LDA #$FF 436 JSR $FCA8 437 DEX 438 BNE BIG/IL 439 DEC TIM\CT 440 BNE BIG/OL 441 CLC 442 BIG/0 RTS 443 ; 444 COM/CA JSR OU/CAR 445 GET/CH LDA #$00 446 STA TIM\CT 447 GET/OL LDX #$00 448 GET/IL JSR IN/CAR 449 BCS GET/0 450 LDA #$10 451 JSR $FCA8 452 DEX 453 BNE GET/IL 454 DEC TIM\CT 455 BNE GET/OL 456 CLC 457 GET/0 RTS 458 ; 459 IN/CAR LDY Y\SLOT 460 LDA SER/CD 461 CMP #$08 462 BEQ IN/SSC 463 CMP #$01 464 BEQ IN/SSC 465 CMP #$04 466 BEQ IN/2C 467 ; 468 IN/CCS LDA $C080,Y 469 LSR 470 BCC NONE 471 LDA $C081,Y 472 AND #$7F 473 SEC 474 RTS 475 NONE CLC 476 RTS 477 ; 478 IN/SSC NOP 479 IN/2C LDA $C089,Y 480 AND #$08 481 BEQ NONE 482 LDA $C088,Y 483 AND #$7F 484 SEC 485 RTS 486 ; 487 OU/CAR PHA 488 LDA Y\SLOT 489 CLC 490 ADC #$8E 491 TAY 492 LDA SER/CD 493 CMP #$08 494 BEQ OU/SSC 495 CMP #$01 496 BEQ OU/SSC 497 CMP #$04 498 BEQ OU/2C 499 ; 500 OU/CCS LDA $C080-$8E,Y 501 LSR 502 LSR 503 BCC OU/CCS 504 PLA 505 STA $C081-$8E,Y 506 RTS 507 OU/SSC NOP 508 OU/2C LDA $C089-$8E,Y 509 AND MASK 510 CMP #$10 511 BNE OU/2C 512 PLA 513 STA $C088-$8E,Y 514 RTS 515 ; 516 WARN/R LDA Y\SLOT 517 LDX SER/CD 518 CPX #$08 519 BEQ WA/SBM 520 CPX #$01 521 BEQ WA/SSC 522 CPX #$04 523 BEQ WA/2C 524 JMP WA/CCS 525 ; 526 WA/SBM TAY 527 JSR ST/SBM 528 TYA 529 JMP WA/SSC 530 ; 531 ; 532 WA/CCS LDX #$08 533 BNE WARN2 534 WA/2C CLC 535 ADC #$09 536 LDX #$20 537 BNE WARN2 538 WA/SSC CLC 539 ADC #$09 540 LDX #$40 541 WARN2 TAY 542 STX MASK/R 543 LDA $C080,Y 544 AND MASK/R 545 BEQ WARN/0 546 LDA #$50 547 JSR $FCA8 548 LDA $C080,Y 549 AND MASK/R 550 BEQ WARN/0 551 LDX #$00 552 LIT1LP LDA LITW1,X 553 BEQ WARN3 554 JSR $FDED 555 INX 556 BNE LIT1LP 557 ; 558 WARN3 LDA $C080,Y 559 AND MASK/R 560 BNE WARN3 561 LDX #$00 562 LIT2LP LDA LITW2,X 563 BEQ WARN/0 564 JSR $FDED 565 INX 566 BNE LIT2LP 567 WARN/0 RTS 568 ; 569 LITW1 HEX 8D 570 ASC 'Enter chord-R R on the VersaBraille now' 571 HEX 8D00 572 LITW2 HEX 8D 573 ASC 'Thank you' 574 HEX 8D00 575 XX HEX 00 576 SV/36 HEX 00 577 SV/37 HEX 00 578 MAXSP HEX 0000 579 MAXCR HEX 0000 580 MAXPA HEX 0000 581 HEX 00000000 582 PGNUM HEX 00000000000000000000 583 ; 584 ; 585 END !