'=========================================================================== ' Subject: SCROLL TEXT SCREEN Date: 10-25-99 (18:05) ' Author: Randall L. Glass Code: PB ' Origin: rlglass@yahoo.com Packet: PB.ABC '=========================================================================== '------------------------------------------------------------------------- ' ' Scroll Text Screen ' BY Randall L Glass ' CopyRight Aug3,1999 ' '--------------------------------------------------------------------------- ' ' Email rlglass@yahoo.com ' Snail Mail RR1,BOX 248,McLeansboro,IL 62859 '--------------------------------------------------------------------------- ' ' This Program is Public Domain(PowerBasic Code) ' '---------------------------------------------------------------------------- DEFINT A-Z DIM ScreenBuffer??(2000) SHARED ScreenSegment??, ScreenAdress???,VideoBufferSeg?? IF(PBVScreenCARD AND 1) = 0 THEN ScreenSegment?? = 47104 '&HB800 'color monitor ScreenAdress??? = 47104 * 65536 ELSE ScreenSegment?? = 45056 '&HB000 'mono monitor ScreenAdress??? = 45056 * 65536 END IF VideoBufferSeg?? = ScreenSegment?? CLS COLOR 0,7 LOCATE 1,1:PRINT SPACE$(80); COLOR 7,1 FOR Row% = 2 to 24 FOR Col% = 1 to 80 INCR I% IF Row% = 2 THEN COLOR 0,6 ELSE COLOR 7,1 END IF LOCATE ROW%,Col%:PRINT CHR$((I% MOD 26)+64); NEXT COL% NEXT Row% COLOR 0,7 LOCATE 25,1:PRINT SPACE$(80); COLOR 7,1 FOR I% = 1 TO 23 DO:LOOP UNTIL INKEY$ <> "" ScrollDown NEXT i% 'ScrollRight END SUB ScrollLeft() WAIT &H3DA,8 ! push ds ! mov es,ScreenSegment?? ! mov ds,ScreenSegment?? ! mov cx,1838 ! mov si,162 ! mov di,160 ! cld ! rep movsw ! pop ds END SUB SUB ScrollRight() WAIT &H3DA,8 ! push ds ! mov es,ScreenSegment?? ! mov ds,ScreenSegment?? ! mov cx,1839 ! mov si,3836 ! mov di,3838 ! STD ! REP movsw ! pop ds END SUB SUB ScrollUp() ! PUSH DS ! mov es,VideoBufferSeg?? ! mov ds,VideoBufferSeg?? ! mov cx,1760 ! mov DI,160 ! mov SI,320 ! CLD ! rep movsw ! pop ds END SUB SUB ScrollDown() ! PUSH DS ! mov es,VideoBufferSeg?? ! mov ds,VideoBufferSeg?? ! mov cx,1760 ! mov si,3678 ! mov di,3838 ! STD ! rep movsw ! pop ds END SUB