Listing of file='CRTDEMO' on disk='vmedia/benchmark_tests.wvd.zip'
# Sector 13, program filename = 'CRTDEMO'
0000 DEFFN'0"PRINTHEX(03);:LISTD 10,";HEX(0D)
0010 REM %CRTDEMO -- benchmark BASIC-2 CRT output
: REM Bruce Patterson
: REM January 17, 1984
: PRINT HEX(0603);
0015 REM %Initialization
0020 DIM A$80,B$40,T1$8,T2$8,T$8,C$80,F$64,A$(8)5
0025 REM blob characters
: FOR I=1TO 64
: STR(F$,I,1)=BIN(I+191)
: NEXT I
0026 REM clear screen characters
: C$=HEX(03)
0027 REM attributes
: A$(1)=HEX(020400000F)
: A$(2)=HEX(020402000F)
: A$(3)=HEX(020404000F)
: A$(4)=HEX(020400020F)
: A$(5)=HEX(020400040F)
: A$(6)=HEX(020402020F)
: A$(7)=HEX(020402040F)
: A$(8)=HEX(020404040F)
0030 REM %Starting time
: T1$=TIME
0040 REM %Clear screen
: PRINT HEX(06);C$;
0050 REM %Single character print
: FOR R=0TO 22
: FOR C=0TO 79
: PRINT ".";
: NEXT C,R
0060 REM %Double character print
: PRINT HEX(01);
: FOR R=0TO 22
: FOR C=0TO 39
: PRINT "<>";
: NEXT C,R
0070 REM %80 character print, same character
: A$=ALL("#")
: PRINT HEX(01);
: FOR R=0TO 22
: PRINT A$;
: NEXT R
0080 REM %80 character print, alt. character
: A$="()"&STR(A$)
: PRINT HEX(01);
: FOR R=0TO 22
: PRINT A$;
: NEXT R
0090 REM %AT
: FOR R=0TO 22
: FOR C=0TO 79
: PRINT AT(R,C);"a";
: NEXT C,R
0100 REM %AT ERASE
: PRINT AT(0,0,);
0110 REM %BOX
: FOR R=0TO 23
: FOR C=0TO 79STEP 10
: PRINT BOX(R,C);
: NEXT C,R
0120 REM %BOX ERASE
: FOR R=0TO -23STEP -1
: FOR C=0TO -79STEP -10
: PRINT BOX(R,C);
: NEXT C,R
0130 REM %BLOB
: PRINT HEX(0202020F);
: FOR R=0TO 22
: PRINT F$
: NEXT R
0140 REM %HEXPRINT
: B$=F$
: PRINT HEX(01);
: FOR R=0TO 22
: HEXPRINT B$;
: NEXT R
0150 REM %HEXOF
: B$=STR(F$,24)
: PRINT HEX(01);
: FOR R=0TO 22
: PRINT HEXOF(B$);
: NEXT R
0160 REM %attributes
: PRINT HEX(01);
: FOR I=1TO 2
: FOR A=1TO 8
: PRINT A$(A);HEX(0E);"ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxy
z 0123456789 !@#$%^&*()-=+][";
: NEXT A,I
: PRINT A$(2);
0170 REM %PRINTUSING
: PRINT HEX(01);
: FOR I=1TO 191
: PRINTUSING "+####.####",I*6.4701;
: NEXT I
0180 REM %scroll
: A$=ALL(HEX(0A))
: PRINT A$
0190 REM %TAB
: PRINT HEX(01);
: FOR I=0TO 79
: PRINT TAB(I);"*";
: NEXT I
: FOR I=0TO 79
: PRINT TAB(I);"*"
: NEXT I
0200 REM %PRINT,
: PRINT HEX(01);
: FOR R=0TO 22
: PRINT ,,,,,
: NEXT R
9990 REM %TIME?
: T2$=TIME
: GOSUB '50(T1$)
: T1=T
: GOSUB '50(T2$)
: PRINT HEX(070603);"CRT Benchmark Performance"
: PRINTUSING "Total Elapsed Time = #######.## Seconds",(T-T1)/100
: PRINT
: GOSUB '51(5)
: GOTO 15
9993 DEFFN'50(T$)
: CONVERT STR(T$,1,2)TO H
: CONVERT STR(T$,3,2)TO M
: CONVERT STR(T$,5,2)TO S
: CONVERT STR(T$,7,2)TO M1
: T=100*(60*(60*H+M)+S)+M1
: RETURN
9995 DEFFN'51(X)
: REM %Wait X Seconds
: T1$=TIME
: GOSUB '50(T1$)
: T1=T+X*100
9996 T2$=TIME
: KEYIN T1$,9997,9997
: GOSUB '50(T2$)
: IF T<T1THEN 9996
: RETURN
9997 DEFFN'127
: LOAD RUN
9998 DEFFN'15
: LOAD RUN