image of READY prompt

Wang2200.org

Listing of file='bscinit' on disk='vmedia/bsc_host.wvd.zip'

# Sector 325, program filename = 'bscinit'
0000 DEFFN '0HEX(2C20222022)
0010 REM "bscinit"
   : REM % setup variables for bisync host emulator
0020   DIM A0, A0$5, A2
0030   DIM B$2,B0,B0$5
0040   DIM F1$8
0050   DIM C$8, C0$(4)1,C$(18)2,C1$16,C2$6
0060   DIM D1$(30)1,D2$24
0070   DIM E1$(3)8
0080   DIM F1$(10)1
0090   DIM G$1, G$(5)14
0100   DIM H$20
0110   DIM I$64
0120   DIM K$1,K$(5)1,K1$(5)20,K9
0130   DIM M$(16)8,M1,M1$45,M1$(5)8,M2$(300)1,M3,M9
0140   DIM O$(7)80,O0$(2)4,O3$4
0150   DIM Q$1
0160   DIM R$(600)1,R0$(8)2,R1$(18)08
0170   DIM S$1
0180   DIM T,T0$7,T1$8,T1$(16)16,T2$50,T2$(16)16,T3$59,T3$(26)2
0190   DIM W$10
0200   DIM X$1
0210   DIM Y$80,Y1$80,Y3$40
0220   DIM X1$8,X2$(30)8,X3
0230   DIM X$(22)4
0240   DIM C2$(16)1
0250 REM % MAIN
   :   GOSUB 300
0260   COM CLEAR  X$()
0270   PRINT AT(12,0,160);HEX(06020404000E820F20);"Press [RUN] for documentati
     on."
   :   PRINT "Press any other key to continue."
   :   KEYIN K$
   :   IF K$=HEX(82) THEN GOSUB '7
   :   PRINT AT(12,0,160)
0280   PRINT AT(2,0);"Loading: ";BOX(1,9);" ";STR(X9$(3));" (on-line emulator)
     ."
0290   LOAD T X9$(3)
0300   REM %^ setups
0310 REM %Define connect parms
   :   C0$(1)=HEX(32)&"sync"
   :   C0$(2)=HEX(FF)&"pad"
   :   C0$(3)=HEX(FD)&"beg CRC"
   :   C0$(4)=HEX(FE)&"end CRC"
0320 REM ID ACK, ID ENQ
   :   A0=1
   :   A0$="ID ACK"
   :   B0=1
   :   B0$="ID ENQ"
0330 REM %data link control sequences & mnemonics
   : REM DLE sequences must be at beg of list
   :   C9=18
   :   FOR R1 = 1 TO C9
   :     READ C$(R1),R1$(R1)
   :   NEXT R1
0340   DATA  HEX(FFFF), "T/O"
0350   DATA  HEX(FFFF), "JUNK"
0360   DATA  HEX(1070), "ACK0"
0370   DATA  HEX(1061), "ACK1"
0380   DATA  HEX(106B), "WACK"
0390   DATA  HEX(1037), "DEOT"
0400   DATA  HEX(107C), "RVI"
0410   DATA  HEX(37)  , "EOT"
0420   DATA  HEX(01)  , "SOH"
0430   DATA  HEX(02)  , "STX"
0440   DATA  HEX(3D)  , "NAK"
0450   DATA  HEX(2D)  , "ENQ"
0460   DATA  HEX(03)  , "ETX"
0470   DATA  HEX(26)  , "ETB"
0480   DATA  HEX(1F)  , "ITB"
0490   DATA  HEX(27)  , "ESC"
0500   DATA  HEX(32)  , "SYN"
0510   DATA  HEX(022D), "TTD"
0520 REM save byte 1 of cntrl sequences
   :    MAT MOVE C$() TO C2$()
   :   C1$=STR(C2$(),3)&ALL(C1$)
0530 REM save byte 2 of DLE sequences
   :   MAT MOVE C$() (2) TO C2$()
   :   C2$=STR(C2$(),3) &ALL(C2$)
0540 REM ETX/ETB
   :   E1$(1)=" "
   :   E1$(2)="/ETB"
   :   E1$(3)="/ETX"
0550 REM % Translate tables
0560 REM ASCII TO EBCIDIC XLATE TABLE
0570 REM            .0 1 2 3 4 5 6 7 8 9 A B C D E F)
0580   T1$(01)=HEX(00010203372D2E2F1605250B0C0D0E0F)
0590   T1$(02)=HEX(1011127C3C3D322618193F27227C357C)
0600   T1$(03)=HEX(405A7F7B5B6C507D4D5D5C4E6B604B61)
0610   T1$(04)=HEX(F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F)
0620   T1$(05)=HEX(7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6)
0630   T1$(06)=HEX(D7D8D9E2E3E4E5E6E7E8E97CE07C5F6D)
0640   T1$(07)=HEX(CE818283848586878889919293949596)
0650   T1$(08)=HEX(979899A2A3A4A5A6A7A8A9C06AD0A17C)
0660   T1$(09)=HEX(0000FDFE000000000000000000000000) & "80 - 8F"
0670   T1$(10)=HEX(00000000000000000000000000000000) & "90 - 9F"
0680   T1$(11)=HEX(00000000000000000000000000000000)
0690   T1$(12)=HEX(00000000000000000000000000000000)
0700   T1$(13)=HEX(00000000000000000000000000000000)
0710   T1$(14)=HEX(00000000000000000000000000000000)
0720   T1$(15)=HEX(00000000000000000000000000000000)
0730   T1$(16)=HEX(00000000000000000000000000000000)
0740 REM EBCIDIC TO ASCII XLATE TABLE
0750 REM            .0 1 2 3 4 5 6 7 8 9 A B C D E F)
0760   T2$(01)=HEX(00000000000000000000000000000000)
0770   T2$(02)=HEX(00000000000000000000000000000000)
0780   T2$(03)=HEX(00000000000000000000000000000000)
0790   T2$(04)=HEX(20000000000000000000000000000000)
0800   T2$(05)=HEX(200000000000000000007F2E3C282B86)
0810   T2$(06)=HEX(2600000000000000000021242A293B95)
0820   T2$(07)=HEX(2D2F00000000000000008D2C25A03E3F)
0830   T2$(08)=HEX(000000000000000000003A2340273D22)
0840   T2$(09)=HEX(00616263646566676869000000000000)
0850   T2$(10)=HEX(006A6B6C6D6E6F707172000000000000)
0860   T2$(11)=HEX(0000737475767778797A000000000000)
0870   T2$(12)=HEX(00000000000000000000000000000000)
0880   T2$(13)=HEX(00414243444546474849000000000000)
0890   T2$(14)=HEX(004A4B4C4D4E4F505152000000000000)
0900   T2$(15)=HEX(0000535455565758595A000000000000)
0910   T2$(16)=HEX(30313233343536373839000000000000)
0920   T3$()="AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
0930   C2=2
   :   O0=3
0940 REM %keyable functions
   :   K9=0
0950   K9=K9+1
   :   READ K$(K9), K1$(K9)
   :   IF K$(K9)<>" " THEN 950
   :   K9=K9-1
0960   MAT SEARCH K1$(),="PPP" TO B$
   :   STR(K1$(),VAL(B$,2),3)=D$(2)
0970   DATA HEX(00), "' 0  PPP is"
0980   DATA HEX(01), "' 1  List pgm"
0990   DATA HEX(F0), "EDIT Quit"
1000   DATA HEX(F0), "rest Continue"
1010   DATA " "," "
1020   O0$(1)=" off"
   :   O0$(2)=" on"&HEX(80)
1030 REM % TUBE
1040   T3$="### [#######] #############################################"
1050   REM % TC board $GIO arg1s
1060   G$(01)=HEX(440210201223C6600A00)
1070   G$(02)=HEX(4403102012231801C660)
1080   G$(03)=HEX(44041802A000)
1090   G$(04)=HEX(44041803A000)
1100   G$(05)=HEX(44011804A000)
1110 REM chg reads per CPU type
   :   Y$=$PSTAT(#PART)
   :   IF STR(Y$,9,1)="M" THEN 1120
   :   STR(G$(01),3)=STR(G$(01),7)
   :   STR(G$(02),3)=STR(G$(02),7)
1120 REM --- NUMBER OF ITER IN WAIT LOOP
   :   T9=500
1130 REM SET DSR TO DOWN
   :   F1$(1)="D"
1140 REM --- misc chores
1150   M$(01)="PAUSE"
   :   M$(02)="BID"
   :   M$(03)="ACK"
   :   M$(04)="FOX"
   :   M$(05)="ID"
   :   M$(06)="RECEIVE"
   :   M$(07)="ETB/ETX"
   :   M$(08)="ABEND"
   :   M$(09)="KEYIN"
   :   M$(10)="PSA"
   :   M$(11)="CONVERT"
   :   M$(12)="NOTE"
   :   M$(13)="PRINTER"
   :   M$(14)="SEND"
1151   M$(15)="BADREPLY"
1160   M$(16)="BEGIN"
1170 RETURN
1180 DEFFN '07
   :   GOSUB 1270
   :   LINPUT "Printer address:",STR(Y$,,3)
   :   GOSUB 1280
1190   PRINT  " R1     Sequence      Value";HEX(0D0A0A)
1200   FOR Y = 1 TO C9
1210       Y$=" "
1220       HEXUNPACK STR(C$(Y),,LEN(C$(Y))) TO Y$
1230       PRINTUSING "###       #####        #####",Y,R1$(Y),Y$
1240   NEXT Y
1250   PRINT AT(23,20);"Press [RETURN] to continue.";
   :   KEYIN K$
1260   LIST SD 1290,8999
1270   Y$="005"
1280   SELECT PRINT <Y$>
   :   IF Y$="005" THEN PRINT HEX(03)
   :    ELSE PRINT HEX(0C);
   :   RETURN
1290 REM    A0     =    LEN(IDACK)
1300 REM    A0$    =    IDACK STRING
1310 REM    A2     =    PTR TO ACK0/ACK1
1320 REM    B$     =    WORKING 2 BYTE
1330 REM    B0     =    LEN(ID ENQ)
1340 REM    B0$    =    ID ENQ STRING
1350 REM    C$     =    WORKING CONTROL MNEMONIC IN '161
1360 REM    C$(    =    DL CONTROL CODES
1370 REM    C0$(   =    SYNC CHARS, BCC START/STOP CODES
1380 REM    C1$    =    LIST OF 1-BYTE DL CODES
1390 REM    C2     =    CRT ROW
1400 REM    C2$    =    LIST OF DLE FOLLOWER CODES
1410 REM    D$(    =    LIST OF DEVICE ADRESSES D$(1) = TC BD
1420 REM    D1     =    # OF BYTES TO SEND IN A CONTROL SEQ
1430 REM    D1$(   =    ARG 3 FOR CONTROL SEQ SEND
1440 REM    D2$    =    WORKING, ARG 3 FOR CONTROL SEQ SEND
1450 REM    E$(    =    MNEMONIC - ETB, ETX
1460 REM    E1     =    1 IF ETB RX, 2 IF ETX RX, ELSE 0
1470 REM    F1$    =    NAME OF FILE TO OPEN
1480 REM    F1$(   =    FLAGS
1490 REM        01 =    DSR STATE
1500 REM    G$     =    FLAGS GIO SEQ TO USE, EG "R" = RECEIVE
1510 REM    G$(    =    GIO ARGS FOR TC BD, 1 PER ELEMENT
1520 REM    H$     =    HEX DATA TO BE DISPLAYED
1530 REM    I$     =    RX MSG WITH LEADING SYNCS TRUNCATED
1540 REM    K      =    POS OF CHOICE IN KEYSTROKE LIST
1550 REM    K$     =    KEYSTROKE BUFFER
1560 REM    K$(    =    AUTH KEYSTROKE LIST
1570 REM    K1$(   =    KEYSTROKE ACTION DISPLAY PROMPTS
1580 REM    K2$    =    WORKING BUFFER FOR KEYSTROKE LISTS
1590 REM    K9     =    NUMBER OF KEYSTROKE ACTIONS
1600 REM    M1     =    NUMBER OF FOX BLOCKS SENT
1610 REM    M1$    =    ARG 1 TO '99 (TYPE ACTION WANTED, EG BID)
1620 REM    M2$(   =    ARG 2 TO '99 (DATA)
1630 REM    M3     =    ARG 3 TO '99 (OPTIONAL NUMERIC DATA)
1640 REM    O$     =    ARG 1 TO '150 (DL HEADER DATA)
1650 REM    O$(    =    ARG 2 TO '150 (TEXT DATA)
1660 REM    O0     =    ARG 1 TO '210 (CRT ROW FOR MSG)
1670 REM    O0$(   =    ON/OFF MNEMONICS FOR PRINTER
1680 REM    O1$    =    ARG 3 TO '150 (USUALLY DL TRAILER)
1690 REM    O3$    =    ARG 5 TO '150 (OPTIONAL ORDERS)
1700 REM    P9     =    FLAGS PRINTER 1=ON 0=OFF
1710 REM    Q$     =    WORKING, RETURN CODE
1720 REM    R      =    # OF BYTES RECEIVED (0 FLAGS NOTHING RX)
1730 REM    R$(    =    RX MSG BUFFER
1740 REM    R0$(   =    ARG 2 IN TC GIO
1750 REM    R1     =    PTR TO RX EVENT (1=T/O,2=JUNK,3=ACK0, ETC)
1760 REM    R1$    =    MNEMOMIC FOR RX EVENT (T/O,JUNK,ACK0, ETC)
1770 REM    R1$(   =    LIST OF RX EVENT MNEMONICS (T/O,JUNK, ACK0, ETC)
1780 REM    S      =    LEN OF TC GIO SEND DATA ARG
1790 REM    S$     =    TC BD STATUS
1800 REM    S1     =    # OF BYTES BETWEEN INSERTED SYNCS
1810 REM    S2     =    WORKING, LEN OF SEND DATA ARG
1820 REM    T      =    ITERATION CTR FOR RETRIES
1830 REM    T0$    =    ARG 1 FOR CRT DISP (DIRECTION ARROW)
1840 REM    T1$    =    ARG 2 FOR CRT DISP (EVENT MNEMONIC, EG BID)
1850 REM    T1$(   =    XLATE ASCII INTO EBCIDIC
1860 REM    T2$    =    ARG 3 FOR CRT DISP (USUALLY RX OR TX DATA IN HEX)
1870 REM    T3$    =    IMAGE FOR CRT DISP
1880 REM    T9     =    LIMIT FOR RX DATA TIMEOUT CTR
1890 REM    W$     =    ARG 2 FOR GIO WAIT
1900 REM    X      =    WORKING
1910 REM    Y$     =    WORKING
1920 REM    Y0$    =    WORKING, HOLDS DATA DIRECTION MNEMONIC
1930 REM    Y1$    =    WORKING, USUALLY CRT DISP DATA
1940 REM    Y3$    =    ARG 2 FOR CRT MSG
1950 REM    Y5$    =    ARG 3 FOR CRT MSG
9000 END
9003 DEFFN '3 " DATA HEX("
9004 DEFFN '4 HEX(292C2022)
9005 DEFFN '5 HEX(220D)
9010 DEFFN '1 "RENUMBER 10-8999 TO 10";HEX(0D)
9020 %DEFFN '5 "RENUMBER5000-8999 TO 5000";HEX(0D)
9030 DEFFN'16"SCRATCHT";HEX(22);"bscinit ";HEX(223A);"SAVE T()";HEX(22);"bscin
     it ";HEX(220D)
9040 DEFFN'20"PRINTSPACEK*1024-SPACE";HEX(0D)
9050 DEFFN '17 "PRINTHEX(0603)";HEX(3A);"LISTSD 0010,8999";HEX(0D)
9060 DEFFN '21 "PRINTHEX(0603)";HEX(3A);"LISTSD2810,8999";HEX(0D)
9080 DEFFN '126 "    "
9090 DEFFN '127 "REM "