$CPU 8086 ' make compatible with XT systems $LIB ALL OFF ' turn off all PowerBASIC libraries $ERROR ALL OFF ' turn off all PowerBASIC error checking $OPTIMIZE SIZE ' optimize for smaller code $COMPILE UNIT ' compile to a UNIT (.PBU) '$COMPILE EXE ' compile to a UNIT (.PBU) DEFINT A-Z ' Required for all numeric functions, forces PB to not ' include floating point in UNIT (makes it smaller) '/*------------------------------------------------------------------*/ DECLARE SUB SAY(BYVAL Row AS INTEGER, BYVAL Col AS INTEGER, BYVAL Text AS STRING, BYVAL Attr AS INTEGER) $CODE SEG "MLIB12" '/*------------------------------------------------------------------*/ SUB TVRISE(ROW, COL, TEXT$, ATTR, DX!) PUBLIC '**************************************************************************** 'PRINTS TEXT VERTICALLY ON THE SCREEN, RISING FROM THE SPECIFIED ROW AND ' COLUMN POSITION. IF THE LENGTH OF THE TEXT WOULD CONTINUE ABOVE ROW 1, ' PRINTING WILL STOP AT THAT POINT. SEE ALSO: SUB DROP() ' '**************************************************************************** R = ROW 'WE WILL NEED TO ALTER THE ROW VALUE. FOR X = 1 TO LEN(TEXT$) '/* LOCATE R, COL '/* PRINT MID$(TEXT$, X, 1); SAY R,COL,MID$(TEXT$, X, 1),ATTR R = R - 1 IF R = 0 THEN EXIT FOR 'QUIT IF WE REACH THE TOP OF THE DELAY DX! NEXT X 'SCREEN. END SUB '/*------------------------------------------------------------------*/ ' $INCLUDE "C:\CODE\MLIB\MLIB.INC" ' CLS ' TVRISE 12,5,"This is a test to see if this works",30,.05 ' Y$ = GETKEY