100 REM DISPLAY ROUTINE TEST PROGRAM
110 REM ***** SAMPLE STRING ARRAY GENERATION *****
120 DIM L$(24), P%(24)
130 FOR X% = 1 TO 24: P%(X%) = X%: L$(P%(X%)) = STRING$(80, X% + 64): NEXT
140 REM ***** TIME PRINT OF FULL SCREEN *****
150 KEY OFF: CLS : LOCATE , , 0: STOP: TIME$ = "00:00:00"
160 FOR X% = 1 TO 24: PRINT L$(P%(X%)); : NEXT
170 T$ = TIME$: LOCATE 25, 1: PRINT T$; " PUSH A KEY:"; : WHILE INKEY$ = "": WEND
180 REM ***** SETUP, TIME FULL SCREEN DISPLAY *****
190 REM NOTE: USE SCRN%=&HB000 FOR MONOCHROME, &HB800 FOR GRAPHICS.
200 GOSUB 270: CLS : TIME$ = "00:00:00": SCRN% = &HB000: AMT% = 80: BGN% = 1: DEF SEG
210 FOR X% = 1 TO 24: LCT% = 160 * (X% - 1)
220 CALL DSPLY!(L$(P%(X%)),BGN%,AMT%,SCRN%,LCT%): NEXT
230 T$=TIME$:AMT%=LEN(T$): LCT%=24*160:CALL DSPLY!(T$,BGN%,AMT%,SCRN%,LCT%)
240 WHILE INKEY$ = "": WEND: LOCATE 25, 9, 1: END
250 REM DISPLAY ROUTINE.  JERRY L. AMOS 11/82
260 REM GOSUB HERE TO LOAD CODE, THEN CALL DSPLY!(DAT$,BGN%,AMT%,SCRN%,LCT%)
270 HX$(1) = "55,06,56,57,50,51,8B,EC,8B,76,18,8B,44,01,8B,76"
280 HX$(2) = "16,03,04,48,8B,76,14,8B,0C,8B,76,12,8E,04,8B,76"
290 HX$(3) = "10,8B,3C,8B,F0,FC,A4,47,E2,FC,59,58,5F,5E,07,5D"
300 HX$(4) = "CA,0A,00"
310 DSPLY$ = SPACE$(51): X$ = "&H": X% = 0
320 FOR Y% = 1 TO 4: FOR Z% = 1 TO 48 STEP 3: X% = X% + 1: IF X% = 52 THEN 340
330 MID$(DSPLY$, X%, 1) = CHR$(VAL(X$ + MID$(HX$(Y%), Z%, 2))): NEXT Z%, Y%
340 DEF SEG : A! = VARPTR(DSPLY$): DSPLY! = 256 * PEEK(A! + 2) + PEEK(A! + 1): RETURN
350 REM ***** END OF MACHINE LANGUAGE LOAD *****
360 REM GOSUB HERE TO MAKE A FILE FOR UNASSEMBLE WITH DOS DEBUG
370 GOSUB 270: OPEN "R", 1, "DISPLAY.COM", 1: FIELD 1, 1 AS N$: X$ = "&H"
380 FOR X% = 1 TO 51: LSET N$ = MID$(DSPLY$, X%, 1): PUT 1: NEXT: CLOSE : END