image of READY prompt

Wang2200.org

Listing of file='BSR*LOAD' on disk='vmedia/tbo_81.wvd.zip'

# Sector 872, program filename = 'BSR*LOAD'
0010 REM BSR*LOAD 07/08/80, BSC SUBROUTINE INTERFACE LOAD MICROCODE
0020 REM %--DEFINE AND SET VARIABLES
0030 REM GIO Arguments for Send, Rcv, Get Status, and Set Controls
0040 COM G9$(1)6,G$18,B$1
0050 DIM W$(64,4)16,P$(1)16
0100 REM %.Variable meanings
0110 REM %0 /000  Null controller,   /005  CRT
0120 REM %0 #0    Program disk,      #6    T.C. Board
0130 REM %0 A$    A$64,  B$  B$1,    '44   Load TC uCode
0140 REM %0 G$    Status Arg.1.,     G9$(  BID reset addr.
0150 REM %0 P$(   COPY array
0160 REM %0 W$    ucode file name,   W$(   ucode load area
0170 REM %.Set System Device Addresses
0180 SELECT PRINT 005, CO 005, INPUT 001, CI 001
0190 SELECT #6 01C
0200 REM %.Set-up to load T.C. microcode
0210 REM --Argument for GOSUB '40("microcode file",HEX( parameter vector) )
0220 REM ..Get microcode file name from PRINT STR(W$,9,8)  in standard load.
0230 REM ..Get parameter vector from HEXPRINT STR(Z$,1,16) in standard load.
0240 REM ..Example below is for default values for 2780.
0250 GOSUB '44("BSC*010A",HEX(87509001070016161616000001000000))
0260 REM %.Set status read $GIO Arg 1
0270 G$=HEX(6C014220423042408605C2202020)
   : REM /.T/VP code status arg.2
0280 $IF ON /000,290
   : STOP "LOAD T CODE EMULATOR"
0290 $GIO TEST FOR PROCESSOR /005(7601,A$)
0300 B$=A$
   : AND (B$,20)
   : IF B$=HEX(20)THEN 320
0310 STOP "LOAD VP CODE FOR EMULATOR"
0320 G$=HEX(4401102088014220423042408605C2202020)
   : REM /MVP code status arg 2.
0330 STOP "LOAD MVP CODE FOR EMULATOR"
0340 REM %..S.R. to load BSC microcode into 2228B T.C. board
0350 DEFFN'44(W$,P$(1))
0360 REM %--Reset T.C. Hardware
0370 $GIO #6(4580,A$)
0380 REM %--Load 2228B Microcode
0390 REM Open 2228B Microcode file
0400 DATA LOAD DC OPEN T#0,W$
0410 REM Read High-order 4K of microcode
0420 DATA LOAD DC #0, W$()
0430 DATA LOAD DC #0, W$()
0440 REM Write high-order 4K of microcode into 2228B
0450 $GIO WRITE #6 (012002011212 4400 4020 4000 A200 440C,A$)W$()
0460 IF STR(A$,8,1)<>HEX(00) THEN 580
0470 REM Read Low-order 4K bytes of microcode
0480 DATA LOAD DC OPEN T#0,W$
0490 DATA LOAD DC #0, W$()
0500 REM Set RAM jump address for BID RESET
0510 MAT COPY W$()<129,6>TO G9$()<1,6>
0520 REM Set Parameter Vector in microcode
0530 MAT COPY P$() <1,13> TO W$() <1695,13>
0540 REM Write Low-order 4K-128 Bytes of microcode into 2228B
0550 $GIO WRITE #6 (4400 4010 4080 A200 440C, A$)W$()<129,4096-128>
0560 IF STR(A$,8,1)<>HEX(00) THEN 580
0570 RETURN
0580 PRINT HEX(03);
   : STOP "ERROR LOADING MICROCODE -- check 2228B or Op 62B device address"