$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) '/*------------------------------------------------------------------*/ $CODE SEG "MLIB12" '/*------------------------------------------------------------------*/ SUB LVSLIDE() PUBLIC ! mov cx,80 forloop1: ! push cx ! mov cx,1999 ;the number of times to loop ! mov ax,&hb800 ;the video segment ! push ax ;push the video segment ! pop es ;pop it to es ! xor di,di ;zero the di register forloop2: ! mov ax,es:[di+2] ;get the character+attr from vidram ! mov es:[di],ax ;put it one position backwards ! inc di ! inc di ! loop forloop2 ;loop 2000 times per screen ! pop cx ! loop forloop1 ;loop 80 times END SUB 'SUB SLIDE '/*------------------------------------------------------------------*/ ' $INCLUDE "C:\CODE\MLIB\MLIB.INC" ' CLS ' SHELL "D C:\" ' LVSLIDE ' Y$ = GETKEY