image of READY prompt

Wang2200.org

Listing of file='DMSRES' on disk='vmedia/731-8011A.wvd.zip'

# Sector 486, program filename = 'DMSRES'
0004 REM % (c) Copyright Wang Laboratories, Inc. 1986
0010 REM DMSRES 29JUL86 REV 0.02
0020 REM PROGRAM NAME - RESUME OR RESTART WORKSTATION EMULATION FOR DMS
0030 REM DATE OF FIRST CODE - 17 JULY     1986
0040 REM
0050 REM
0060 REM FUNCTION -
0070 REM      This program will re-start emulation at the DMS task if;
0080 REM           A.  The emulation was terminated for that task.
0090 REM           B.  The current partition dose not have WSE suspended.
0100 REM
0110 REM
0120 REM    *************    COMMON VARIABLES ******************
0130 REM
0140 REM    A$     - ORDER AREA BYTE 1 = ROW
0150 REM                        BYTE 2 = WCC
0160 REM                        BYTE 3 = CURSOR COLUMN (IF BIT 20 OF WCC SET)
0170 REM                        BYTE 4 = CURSOR ROW (IF BIT 20 OF WCC SET)
0180 REM    A$()   - COPY OF SCREEN RECEIVED FROM CURRENT INPUT BUFFER
0190 REM    A0$    - ADDRESS OF 2258 TO BE USED BY PROGRAM
0200 REM    A1$()  - SCREEN TAB POSITIONS
0210 REM    A3$    - ATTACH TO VS PROGRAM FLAG
0220 REM    Q1     - POINTS TO FIRST LINE OF CURRENT INPUT BUFFER (USUALLY 1)
0230 REM    Q2     - POINTS TO LAST LINE OF CURRENT INPUT BUFFER (USUALLY 24)
0240 REM    T$()   - XLATE NORMAL 2200 KEYS TO VS SCAN CODE
0250 REM    T1$()  - XLATE SF 2200 KEYS TO VS SCAN CODE
0260 REM    Q1$()  - INPUT BUFFER FROM VS (SCREEN, TABS, ORDER AREA, ETC.)
0270 REM    P()    - CURSOR POSITION P(1)=COL, P(2)=ROW
0280 REM    K9$    - KEYBOARD LOCK FLAG 01 - FUNCTIONS ONLY, 00 - ALL KEYS
0290 REM    T5$()  - TRANSLATION TABLE USED TO MAP SOME NORMAL KEYS TO OTHERS
0300 REM             EX. CURSOR LEFT = BACKSPACE, ETC.
0310 REM    T6$()  - TRANSLATION TABLE USED TO MAP SOME SF KEYS TO OTHERS
0320 REM
0330 REM    **************     LOCAL VARIABLES      ****************
0340 REM
0350 REM    Q$  - WORK BUFFER USED IN $GIO SEQUENCES
0360 REM    T$     - HEXPACKED ADDRESS OF 2258, USE IN SELECT # STATEMENT
0370 REM    T1$    - TEMPORARY STORAGE OF ORIGINAL T$
0380 REM
0390 REM VARIABLES
   : COM A0$3, A3$1, A$4, A$(24)80, Q1, Q2, Q3, Q4,T$(16), T1$(16), Q1$(25)80,
      P(2), K9$1,T5$(6)20, T6$(1)20, A1$(10)1
   : DIM T$1,T1$1,A9$3
0400 IF A0$=" " THEN A9$="07C"
   : ELSE A9$=A0$
0405 REM INITIALIZE KEYBOARD TRANSLATION TABLE
   : GOSUB 660
   : GOSUB 1000
   : IF POS("AST"=A3$)=0 THEN A3$="S"
   : PRINT HEX(03)
   : GOTO 450
0410 PRINT HEX(03)
   : PRINT AT(0,26);"2258 WORKSTATION EMULATION"
   : PRINT "REVISION 0.00";TAB(36);"(c) Copyright Wang Laboratories Inc. 1986"
0430 PRINT AT(4,0,240);"Enter the Communication Address of the desired 2258 Co
     ntroller"
0440 LINPUT -A9$
0450 IF VER(A9$,"HHH") <> 3 THEN 430
   : A0$=A9$
   : HEXPACK T$ FROM STR(A9$,2,2)
   : T1$=T$
0460 T$ = OR HEX(01)
   : HEXUNPACK T$ TO STR(A9$,2,2)
   : SELECT #1 <A9$>
   : REM STATUS ADDRESS
0470 T$ = T1$
   : T$ = OR HEX(02)
   : HEXUNPACK T$ TO STR(A9$,2,2)
   : SELECT #2 <A9$>
   : REM COMMAND ADDRESS
0480 T$ = T1$
   : T$ = OR HEX(03)
   : HEXUNPACK T$ TO STR(A9$,2,2)
   : SELECT #3 <A9$>
   : REM DATA ADDRESS
0490 PRINT HEX(03);AT(12,30);"Resuming/Restarting Workstation Emulation"
0520 IF A3$="T" THEN GOSUB '70
   : ELSE GOSUB '71
   : IF A3$<>"A" THEN A3$="D"
   : IF V0$>=HEX(80) THEN 525
   : PRINT AT(21,0,80);"Can not resume or restart Workstation Emulation for DM
     S task","Press any key to exit";HEX(06);
   : KEYIN K$
   : LOAD RUN  "VS.START"
0525 A$=STR(Q1$(),4,4)
0530 A$() = STR(Q1$(),8)
0535 IF STR(Q1$(),1938,2) = HEX(0000) THEN 600
   : P(1) = VAL(STR(Q1$(),1938,1))
   : P(2)=VAL(STR(Q1$(),1939,1))
0600 REM DEFINE SCREEN TABS
   : STR(A1$(),1,10)=STR(Q1$(),1928,10)
0610 Q1=1
   : Q2 =24
   : Q3,Q4=1920
0620 PRINT HEX(03)
0630 LOAD T "WSE-EMUL" BEG  1000
0640 REM % KEYBOARD TRANSLATION TABLE
0650 REM NORMAL (NO ENDI) KEYS
0660 T$(1) = HEX(00010203040506072B090A0B0CC40E0F)
0670 T$(2) = HEX(101112131415161718191A1B1C1D1E1F)
0680 T$(3) = HEX(2CEEC5ECEBEAE845E6E5E7E43893B298)
0690 T$(4) = HEX(656E6D6C6B6A69686766C646B864AAB7)
0700 T$(5) = HEX(EDCFBBBDCDDDCCCBCAD8C9C8C7B9BAD7)
0710 T$(6) = HEX(D6DFDCCEDBD9BCDEBEDABFD55C55E9AF)
0720 T$(7) = HEX(604F3B3D4D5D4C4B4A58494847393A57)
0730 T$(8) = HEX(565F5C4E5B593C5E3E5A3F7B7C7D7E7F)
0740 T$(9) = HEX(808182833685868788898A8B8C8D8E8F)
0750 T$(10) = HEX(909192939495969798999A9B9C9D9E9F)
0760 T$(11) = HEX(A012A2A3A4A5A6A7A8A9AAABACADAEAF)
0770 T$(12) = HEX(B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF)
0780 T$(13) = HEX(C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF)
0790 T$(14) = HEX(D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF)
0800 T$(15) = HEX(E0E1E2E3E49AE6E7E8E9EAEBECEDEEEF)
0810 T$(16) = HEX(F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEAF)
0820 REM KEYS WITH ENDI
0830 T1$(1) = HEX(7E7D7C7B7A7978777675747372717011)
0840 T1$(2) = HEX(FEFDFCFBFA2829F7F6D2E2F32E2DF091)
0850 T1$(3) = HEX(20EE22ECEB25E827E6E5E7E42C2D2E2F)
0860 T1$(4) = HEX(656E6D6C6B6A696867663A3B3C643E3F)
0870 T1$(5) = HEX(40414243442829479AD2E24B2E2D4E4F)
0880 T1$(6) = HEX(505152535428295758D2E25B2E2D5E5F)
0890 T1$(7) = HEX(604F3B3D4D5D4C4B4A58494847393A57)
0900 T1$(8) = HEX(707172737475767778797A7B7C7D6F6F)
0910 T1$(9) = HEX(808182838485868788898A8B8C8D8E8F)
0920 T1$(10) = HEX(909192939495969798999A9B9C9D9E9F)
0930 T1$(11) = HEX(A0A1A2A3A4A5A6A7A8A9AAABACADAEAF)
0940 T1$(12) = HEX(B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF)
0950 T1$(13) = HEX(C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF)
0960 T1$(14) = HEX(D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF)
0970 T1$(15) = HEX(E0E1E2E3E49AE6E7E8E9EAEBECEDEEEF)
0980 T1$(16) = HEX(F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF)
0990 RETURN
1000 REM *** Translation for Task to do *** ( Special Keys )
1010 T5$(1) = HEX(01460245034D044C01560255035D045C06000601)
1020 T5$(2) = HEX(06020603060406050606060706080609060A060B)
1030 T5$(3) = HEX(060C060D060E060F061006110612061306140215)
1040 T5$(4) = HEX(0116061706180A190B1A061B041C031D061E061F)
1050 T5$(5) = HEX(07A0074F075F0742075207430753077C077D087E)
1060 T5$(6) = HEX(087F09480A490A590B4A0B5A09E5)
1070 REM *** Translation for Task to do *** ( Normal Keys )
1080 T6$(1) = HEX(0308060D0C820CA107840C81)
1090 RETURN
4000 REM RESUMWSE 15JUL86 REV 0.13
4010 REM PROGRAM NAME - RESUME WORKSTATION EMULATION
4020 REM DATE OF FIRST CODE - 05 FEBRUARY 1986
5000 DEFFN'70
5010 REM RESTART EMULATION
5020 INIT (00) Q$,K9$
   : STR(Q$,3,2)=HEX(0003)
5030 STR(Q$,6,1) = BIN(#PART-1) AND HEX(0F) OR HEX(30)
5040 STR(Q$,7,1) = HEX(38)
5050 $OPEN #2
   : $GIO #2 (4660 4270 8701, Q$)
5060 V0$=STR(Q$,,1)
   : IF V0$>= HEX(80) THEN 5070
   : $CLOSE#2
   : RETURN
5070 $GIO #2 (8703 8704 1800 C340 01FF 0600, Q$) STR(Q1$(),1,VAL(STR(Q$,3,2),2
     )-2)
   : $CLOSE#2
   : RETURN
6000 REM RESUME EMULATION
6005 DEFFN'71
6010 INIT (00) Q$,K9$
   : STR(Q$,3,2)=HEX(0003)
6020 STR(Q$,6,1) = BIN(#PART-1) AND HEX(0F) OR HEX(30)
6030 STR(Q$,7,1) = HEX(34)
6040 $OPEN #2
   : $GIO #2 (4660 4270 0100 0200 8B12 EFFF 8703 8704 1800 C340 01FF 0600, Q$)
      STR(Q1$(),1,VAL(STR(Q$,3,2),2)-2)
   : $CLOSE#2
6050 V0$=STR(Q$,,1)
   : RETURN
9999 DEFFN'31 "SCRATCH T ";HEX(22);"DMSRES";HEX(22);":SAVE T () ";HEX(22);"DMS
     RES";HEX(22)