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