Listing of file='36chratb' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'
# Sector 3668, program filename = '36chratb'
0080 SELECT PRINT 005(80)
: PRINT HEX(0306)
: A1=#PART
: A$="T# DIAG"
: CONVERT A1TO STR(A$,3,2),(##)
: DEFFN@PARTA$
0090 DIM A,A$,A1,A1$1,B$1,C,C$1,C$(81)1,D,I,J,L,M$20,R,T1$32,X
0110 PRINT HEX(03020402000E);AT(1,23);"CHARACTER/ATTRIBUTES TESTS"
: $PSTAT="C/A-MENU"
0120 PRINT AT(5,0);"Which test would you like (1-5)";HEX(0F);AT(10,25);" 1) DI
SPLAY CHARACTER SET";AT(12,25);" 2) FLOOD W/SELECTED CHARACTER";AT(14,25)
;" 3) ATTRIBUTE FUNCTION TEST";AT(16,25);" 4) ATTRIBUTE BIT TEST";AT(18,2
5);" 5) MAIN MENU"
0130 KEYIN C$
: C=NUM(C$)
: IF C<>1THEN 130
: CONVERT C$TO C
: ON CGOSUB 220,670,150,920,1470
: GOTO 110
0150 $PSTAT="ATB-FUNC"
0160 PRINT HEX(0306);AT(23,27);"KEY 'RETURN' TO CANCEL";AT(0,0);BOX(24,79)
: PRINT AT(5,0);HEX(020402000E);BOX(1,21);" THIS IS A LITTLE BOX";AT(5,22);
HEX(020404000E0202020F);HEX(F7FBF7FBF7FBF7FB);AT(0,30);BOX(11,41);AT(1,41
);HEX(020400020E);" THIS IS REVERSE VIDEO "
0170 PRINT AT(3,37);HEX(020402000E);"THIS IS HIGH INTENSITY VIDEO";AT(5,35);HE
X(020404020E);" THIS IS BLINKING REVERSE VIDEO ";AT(7,41);HEX(0F);"THIS I
S NORMAL VIDEO";AT(9,32);HEX(020402020E);" THIS IS HIGH INTENSITY REVERSE
VIDEO "
0180 FOR X=6TO 13
: PRINT AT(X,10);HEX(020404000E0202020F);HEX(C6C9)
: NEXT X
: PRINT HEX(0F);AT(13,10);HEX(020402000E0202020F);
: FOR X=1TO 12
: PRINT HEX(F7FB);
: NEXT X
: PRINT HEX(F7);AT(13,41);
: FOR X=1TO 5
: PRINT HEX(F7FB);
: NEXT X
: PRINT AT(13,10);HEX(020404000E0202020F);
: FOR X=1TO 2
: PRINT AT(10+X,49);HEX(C6C9)
: NEXT X
0190 PRINT AT(13,32);BOX(2,8);HEX(020404000E);" Graphic";AT(14,33);"Symbols";A
T(16,7);BOX(7,65)
: C$=HEX(BF)
: PRINT HEX(020402000E0202020F);AT(15,28);BOX(1,17);" COMPLEMENT PAIRS"
: A1$=HEX(C0)
: B$=HEX(FF)
: R=16
: GOSUB 200
: A1$=HEX(D0)
: B$=HEX(EF)
: R=19
: GOSUB 200
: KEYIN C$
: RETURN
0200 FOR I=2TO 17
: J=I*4
: PRINT AT(R+1,J);BOX(1,2);AT(R+1,J+1);A1$
: PRINT AT(R+2,J);BOX(1,2);AT(R+2,J+1);B$
: A1$=ADDHEX(01)
: B$=SUBHEX(01)
: NEXT I
: RETURN
0220 $PSTAT="CHAR-TBL"
: B$=HEX(00)
: PRINT HEX(0202000F0306)
: R=0
: A1=7
0230 PRINT AT(0,32);"CHARACTER TABLES";AT(1,23);"KEY 'RETURN' TO STEP THROUGH
TABLE"
0240 FOR A=1TO A1
0250 R=R+3
: B$=ADDHEX(10)
: A1$=B$
0260 GOSUB '101
0270 NEXT A
0280 KEYIN A1$,290,280
: GOTO 280
0290 IF A1$<>HEX(0D)THEN 280
0300 IF B$>HEX(80)THEN 310
: B$=HEX(70)
: A1=8
: R=-3
: PRINT HEX(03)
: GOTO 240
0310 PRINT HEX(0306);AT(0,29);BOX(1,22);" SPECIAL CHARACTER SET";AT(1,31);"\D3
\D0\C5\C3\C9\C1\CC\A0\C3\C8\C1\D2\C1\C3\D4\C5\D2\D3";AT(9,34);"\C7\D2\C1\
D0\C8\C9\C3\D3\A0\D3\C5\D4";AT(10,7);"LOWER CHARACTER IN BLOCK IS THE COM
PLEMENT OF THE UPPER CHARACTER";HEX(0202020F)
0320 A1$=HEX(80)
: R=3
: GOSUB '101
0330 A1$=HEX(90)
: R=6
: GOSUB '101
0340 A1$=HEX(C0)
: B$=HEX(FF)
: R=12
: GOSUB '100
0350 A1$=HEX(D0)
: B$=HEX(EF)
: R=17
: GOSUB '100
0360 PRINT HEX(0202000F);AT(22,30);"KEY 'RETURN' FOR MENU"
0370 KEYIN A1$,380,370
: GOTO 370
0380 IF A1$<>HEX(0D)THEN 370
: RETURN
0390 DEFFN'100
0400 FOR I=2TO 17
0410 J=I*4
0420 PRINT AT(R,J+1);HEXOF(A1$)
0430 PRINT AT(R+1,J);BOX(1,2);AT(R+1,J+1);A1$
0440 PRINT AT(R+3,J+1);HEXOF(B$);HEX(0202020F)
0450 PRINT AT(R+2,J);BOX(1,2);AT(R+2,J+1);B$
0460 A1$=ADDHEX(01)
: B$=SUBHEX(01)
0470 NEXT I
0480 RETURN
0490 B$=HEX(00)
: PRINT HEX(0202000F)
: R=-3
0500 PRINT HEX(03)
: R=-3
0510 FOR A=1TO 8
0520 R=R+3
: B$=ADDHEX(10)
: A1$=B$
0530 GOSUB '101
0540 NEXT A
0550 KEYIN A1$,560,550
: GOTO 550
0560 IF A1$<>HEX(0D)THEN 550
0570 B$=HEX(70)
: GOTO 500
0580 DEFFN'101
0590 FOR I=2TO 17
0600 J=I*4
0610 PRINT AT(R,J+1);HEXOF(A1$)
0620 PRINT AT(R+1,J);BOX(1,2);AT(R+1,J+1);A1$
0630 A1$=ADDHEX(01)
0640 NEXT I
0650 RETURN
0670 $PSTAT="CHARFLOD"
0680 PRINT HEX(03);AT(1,33);"FLOOD SCREEN";AT(5,0);"Which form do you wish to
enter";AT(10,25);"1) CHARACTER";AT(12,25);"2) HEX CODE OF CHARACTER";AT(1
4,25);"3) SPECIAL CHARACTER - Graphic";AT(22,30);"KEY 'RETURN' TO CANCEL"
: A$=HEX(020400000E0202000F)
0690 KEYIN A1$,700,690
: GOTO 690
0700 PRINT AT(5,0,40);AT(10,20,40);AT(12,20,40);AT(14,20,40)
0710 IF A1$="1"THEN 820
: IF A1$="2"THEN 730
: IF A1$="3"THEN 720
: IF A1$=HEX(0D)THEN RETURN
: GOTO 670
0720 PRINT AT(10,35);"SPECIAL CHARACTER"
: A$=HEX(0202020F)
0730 PRINT AT(12,30,20);"ENTER HEX(\A0"
0735 KEYIN A1$,740,735
: GOTO 735
0740 T1$=HEX(00300131023203330434053506360737083809390A410B420C430D440E450F46)
0750 $TRAN(A1$,T1$)R
: IF A1$>HEX(0F)THEN 730
0760 ROTATE(A1$,4)
: C$=A1$
: PRINT AT(12,40);HEXOF(A1$);AT(12,41);HEX(A0)
0770 KEYIN A1$,800,770
: GOTO 770
0780 T1$=HEX(310132023303340435053606370738083909410A420B430C440D450E460F)
0790 $TRAN(A1$,T1$)R
: IF A1$>HEX(0F)THEN 730
0800 PRINT AT(12,41);A1$;")"
: $TRAN(A1$,T1$)R
: IF A1$>HEX(0F)THEN 730
0810 A1$=ADDC$
: GOTO 840
0820 PRINT AT(12,30);"ENTER FLOOD CHARACTER"
0830 KEYIN A1$,840,830
: GOTO 830
0840 IF A1$<HEX(10)THEN 670
: C$()=ALL(A1$)
: L=0
: GOSUB '108
0850 KEYIN A1$,860,850
: GOTO 850
0860 IF A1$=HEX(0D)THEN 670
: GOTO 850
0900 PRINT HEX(0202020F0306)
: A1$=HEX(FF)
0920 PRINT HEX(0202020F03);AT(1,30);"ATTRIBIUTE BIT CHECK";AT(3,10);"CHARACTER
ATTRIBUTE BITS ARE CHECKED BY ENABLING AND DISPLAYING"
0930 PRINT AT(4,8);"THE ATTRIBUTE AT EVERY SCREEN LOCATION AND OBSERVING THE R
ESULTS.";AT(5,10);"THE ATTRIBUTE(S) ENABLED FOR EACH SCREEN IS NOTED IN T
HE CENTER";AT(6,8);"OF THE DISPLAY FOR THAT SCREEN."
0940 PRINT AT(10,10);"KEY 1 FOR MANUAL STEPPING (KEY RETURN FOR NEXT SCREEN)"
0950 PRINT AT(12,10);"KEY 2 FOR AUTOMATIC STEPPING"
0960 PRINT AT(14,10);"KEY 3 FOR BURN-IN"
0970 PRINT AT(16,10);"KEY 9 TO RETURN TO MENU"
0980 PRINT AT(22,15);"KEY 'RETURN' (TWICE IN MANUAL) TO CANCEL TEST"
1000 KEYIN A1$,1010,1000
: GOTO 1000
1010 IF A1$=HEX(0D)THEN RETURN
: IF A1$<HEX(30)OR A1$>HEX(39)THEN 1000
: CONVERT A1$TO A
: ON AGOSUB 1050,1070,1090
: IF D=2THEN 1030
: IF A=9THEN RETURN
: GOTO 900
1030 A1$="3"
: GOTO 1010
1050 $PSTAT="A-BIT-MS"
: D=0
: GOTO 1120
1070 $PSTAT="A-BIT-AS"
: D=1
: GOTO 1120
1090 $PSTAT="A-BIT-BI"
: D=2
: GOTO 1120
1120 PRINT HEX(0202020F0306)
1130 A$=HEX(020400000E)
: M$="*NORMAL*"
: L=8
: GOSUB '105
: GOSUB '109
: IF D=5THEN RETURN
1140 A$=HEX(020402000E)
: M$="*BRIGHT*"
: L=8
: GOSUB '105
: GOSUB '109
: IF D=5THEN RETURN
1150 A$=HEX(020404000E)
: M$="*BLINK*"
: L=7
: GOSUB '105
: GOSUB '109
: IF D=5THEN RETURN
1170 PRINT HEX(0202000F)
1180 A$=HEX(020400020E)
: M$="*REVERSE*VIDEO*"
: L=15
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1190 A$=HEX(020400040E)
: M$="*UNDERSCORE*"
: L=12
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1200 A$=HEX(0204000B0E)
: M$="*REVERSE/UNDERSCORE*"
: L=20
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1210 A$=HEX(020402020E)
: M$="*BRIGHT/REVERSE*"
: L=16
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1220 A$=HEX(020404020E)
: M$="*BLINK/REVERSE*"
: L=15
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1230 A$=HEX(020404040E)
: M$="*BLINK/UNDERSCORE*"
: L=18
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1240 A$=HEX(0204020B0E)
: M$="*BRIGHT/R.V./U.S.*"
: L=18
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1250 A$=HEX(0204040B0E)
: M$="*BLINK/R.V./U.S.*"
: L=17
: GOSUB '106
: GOSUB '109
: IF D=5THEN RETURN
1260 PRINT HEX(03)
: A$=HEX(020400000E06)
: C$()=ALL(" ")
: FOR I=2TO 79STEP 2
: C$(I)="!"
: NEXT I
: M$=" B O X E V E N "
: L=20
: GOSUB '108
: FOR I=0TO 77STEP 4
: PRINT AT(0,I);BOX(24,2);
: NEXT I
: FOR I=0TO 23STEP 2
: PRINT AT(I,0);BOX(1,78);
: NEXT I
: PRINT AT(23,0);BOX(1,78)
: GOSUB '109
: IF D=5THEN RETURN
1270 SELECT PRINT 205(81)
: PRINT HEX(03)
: A$=HEX(020400000E06)
: C$()=ALL(" ")
: FOR I=3TO 79STEP 2
: C$(I)="!"
: NEXT I
: M$=" B O X O D D "
: L=18
: GOSUB '108
: FOR I=1TO 78STEP 4
: PRINT AT(0,I);BOX(24,2);
: NEXT I
: FOR I=0TO 23STEP 2
: PRINT AT(I,1);BOX(1,78);
: NEXT I
: PRINT AT(23,1);BOX(1,78)
: GOSUB '109
: SELECT PRINT 005(80)
1290 PRINT HEX(03)
: RETURN
1310 DEFFN'104
: PRINT AT(12,40-L/2);STR(M$,1,L)
: RETURN
1330 DEFFN'105
: INIT(FF)C$()
: GOSUB '108
: RETURN
1350 DEFFN'106
: INIT(21)C$()
: GOSUB '108
: RETURN
1370 DEFFN'108
: C$(81)=HEX(00)
: FOR I=0TO 22
: PRINT A$;AT(I,0);
: $GIO/005(A0004001)C$()
: NEXT I
: C$(81)=HEX(01)
: PRINT AT(23,0);
: $GIO/005(A0004001)C$()
: IF L>0THEN GOSUB '104
: RETURN
1390 DEFFN'109
: KEYIN A1$,1400,1390
: GOTO 1410
1400 IF A1$=HEX(0D)THEN 1460
1410 IF D=4THEN RETURN
: IF D>0THEN 1450
1420 KEYIN A1$,1430,1420
: GOTO 1420
1430 RETURN
1450 FOR I=1TO 8000
: NEXT I
: RETURN
1460 PRINT HEX(020400000E0202000F)
: D=5
: RETURN
1470 LOAD T"TERMINAL"