/STORAGE DISPLAY DEVICE HANDLER / WRITTEN BY: / ROBERT MOORE / TROPEL INC. / 52 WEST AVE. / FAIRPORT, N Y / REQUIRES EAE OR 8E TO GET MQ MQA=7501 MQL=7421 ACL=7701 SWP=7521 /SEE DECUSCOPE 11 #2 P 26 FOR 8-I LOAD3=7325 /*5600 /LOADS OVER CDR HANDLER *0 -1 DEVICE VC8E DEVICE SCOP 1220 0000 ZBLOCK 2 *200 / FOR USE WITH VC8-E OR VC8-I CONTROLLER DILX=6053 DILY=6054 DIXY=6055 DISD=6052 /DELAY MUST BE SET TO 80 MICROSECONDS FOR 611 / STORAGE DISPLAY DEVICE HANDLER / 4 X 6 DOT MATRIX METHOD SDENT, 0 /ENTRY JMS DSETUP /CONTAINS ITS ADDRESS DSETUP, 0 RDF /GET DATA FIELD TO TAD CIFCDF /MAKE RETURN TO DCA SDEXIT /CALLING FIELD / PROCESS ARG1 TAD I SDENT /GET ARG1 AND (70 /ISOLATE BITS 6-8 TAD CDF0 /INCLUDE IN CDF DCA SDATAF /WHICH POINTS TO DATA TAD I SDENT /NUMBER OF WORD AND (3700 /PAIRS IN BUFFER CIA /PREPARE FOR ISZ DCA COUNT /COUNTING / ARG 2 IS POINTER TO BUFFER ISZ SDENT /GET TO ARG2 TAD I SDENT /GET ARG2 DCA SDPNT /USE AS POINTER CDF0, CDF 0 /MOVE DATA FIELD HOME /ALSO GOOD DATA WORD / ISOLATE CHARACTERS FROM PS/8 BUFFER SDOUT, JMS GDT /GET DATA WORD1 JMS OUTPUT /PUT ON SCREEN DCA CH1 /ONLY GARBAGE RETURNED IN AC JMS GDT /GET WORD 2 JMS OUTPUT /PUT CHAR2 ON SCREEN CLL RTR /ASSEMBLE GARBAGE RTR /INTO CHAR 3 TAD CH1 RTR RTR /CHAR 3 JMS OUTPUT /PUT ON SCREEN /AC=0 SINCE THERE IS /NO GARBAGE SDISZ, ISZ COUNT /BUFFER EMPTY? JMP SDOUT /NO-OUTPUT MORE SDERR, 7325 /MOVE PAST ARG3 TAD SDENT /AND PAST ERROR DCA SDENT /TO PROPER RETURN SDEXIT, NOP /RETURN WITH PROPER FIELDS JMP I SDENT / GET DATA FROM BUFFER GDT, 0 /ENTRY SDATAF, NOP /FROM PROPER FIELD TAD I SDPNT /GET DATA ISZ SDPNT /ADVANCE POINTER CIFCDF, CIF CDF 0 /RESET FIELD /ALSO GOOD DATA WORD JMP I GDT /RETURN / DECODE CHARS AND LOOKUP IN TABLE OUTPUT, 0 /ENTRY DCA CHAR /SAVE CHAR TAD CHAR AND (377 /REMOVE GARBAGE TAD (-240 /REMOVE BIAS SPA /TEST FOR MOST JMP SPEC /SPECIAL CHARACTERS CLL RAL /1 NOT = 2 FOR MATRIX TAD (TABLE-DSETUP /OFFSET ADDR TAD DSETUP /COMPUTE MATRIX DCA PNTR /FOR A POINTER TO PATTERNS /NOTE: ALTMODE, PREFIX, AND RUBOUT PRODUCE ERRORS / DISPLAY A CHARACTER / DO ONE WORD AT A TIME JMS WORD /WORD1 ISZ PNTR /POINT TO 2 JMS WORD /DO WORD 2 LOAD3 /ADD AN EXTRA SPACE BETWEEN LETTERS TAD X DCA X OUTXIT, TAD CHAR /CHAR AND (7400 /ISOLATE TRASH JMP I OUTPUT /AND RETURN WITH IT CHAR=GDT / EACH WORD CONTAINS 2 COLUMNS WORD, 0 TAD I PNTR JMS DCH /1 AND 3 TAD I PNTR RTR;RTR;RTR /OR BSW JMS DCH /2 AND 4 JMP I WORD / DISPLAY A COLUMN DCH, 0 /ENTRY MQL /PATTERN TO MQ LOAD3 /+3 TO AC TAD X DILX DCA X /MOVE OVER A COLUMN TAD Y /LOAD Y TO AC SWP /Y TO MQ, PATTERN TO AC TOPP, RAR /LSB TO LINK SWP /Y TO AC; PATTERN TO MQ TAD (3 /ADD 3 TO Y COORD DILY /LOAD Y SZL /SKIP IF BIT OFF DIXY /INTENSIFY SWP /Y TO MQ; PATTERN TO AC DISD JMP .-1 ISZ ICNT /COUNT DOT COUNT JMP TOPP 7327 /+6 TO AC CIA /-6 TO AC DCA ICNT /RESET COUNTER JMP I DCH /DONE COLUMN / SPECIAL CONTROL CHARACTERS SPEC, TAD (240-215 /(23) CHECK FOR SNA /CARRIAGE RETURN JMP RETURN IAC /215-214=1 SZA CLA /FORM FEED JMP OUTXIT /IGNORE OTHERS / FORM FEED ENCOUNTERED, WAIT FOR GO AHEAD KSF /WAIT FOR TTY JMP .-1 / KCC /TURN OFF TTY FLAG TAD YORG JMP FRET /USE DUPLICATE CODE IN CR / CARRIAGE RETURN RETURN, TAD Y /GET Y COORD TAD (-30 /LINE SEP. FRET, DCA Y /TO RESET TOP OF CHAR 7333 /LHS OF SCREEN (6000) DCA X JMP OUTXIT ICNT, -6 /DOT COUNTER IN COLUMN /MUST BE INITIALIZED X, 0 /X COORDINATE Y, 777 YORG, 777 /TOP OF SCREEN PNTR, 0 /POINTS INTO PATTERN TABLE CH1, 0 /EXTRA BITS FROM CHAR1 COUNT, 0 /-NUMBER OF WORD PAIRS LEFT TO DO SDPNT, 0 /POINTS TO DATA IN PAGE *DSETUP+176 TABLE=. / CHARACTER TABLE CHART, 0000 /BLANK=240 0000 7500 /! 0000 0060 /" 6000 7714 /# 1477 7722 /$ 2277 6661 /% 4333 6205 /& 3355 0000 /' 0070 2214 /( 4141 4141 /) 1422 3655 /* 5536 0404 /+ 0437 0500 /, 0006 0404 /- 0404 0001 /. 0000 0601 // =257 4030 4136 /0 =260 3641 2101 /1 0177 4523 /2 2151 4122 /3 2651 2414 /4 0477 5172 /5 0651 1506 /6 4225 4443 /7 6050 5126 /8 2651 5120 /9 3651 0000 /: =272 0022 0500 /; 0026 2410 /< 0142 1212 /= =275 1212 4201 /> =276 1024 4020 /? =277 2055 0 /@ = 300 0 4477 /A=301 7744 5177 /B 2651 4136 /C 2241 4177 /D 3641 4577 /E 4145 4477 /F 4044 4136 /G 2645 1077 /H 7710 7741 /I 0041 4142 /J 4076 1077 /K 4324 0177 /L 0301 3077 /M 7730 3077 /N 7706 4177 /O 7741 4477 /P 3044 4276 /Q 0376 4477 /R 3146 5121 /S 4651 4040 /T 4077 0177 /U 7701 0176 /V 7402 0677 /W 7701 1463 /X 6314 0770 /Y 7007 4543 /Z=332 6151 4100 /[ (SHIFT K) =333 0077 3040 /\ (SHIFT L) =334 0106 7700 /] (SHIFT M) =335 0041 7720 /^ (SHIFT N)=336 2077 3614 /_ (SHIFT O) =337 $