{ I've must say that im not exactly the perfect programmer, but I think I've an answer to some of your questions. 1. Well to post a whole program who does that is quite complicated. But if you use the Pelpanning register it's possible to create really fast scrollers even on slow 286 and XT's. Here comes a simple proc just to get the Idea: } const Crtadress:word=$3d4; Inputstatus:word=$3DA; Procedure Pan(X,Y: Word);assembler; { This pans the screen } asm mov bx,320 mov ax,y mul bx add ax,x push ax pop bx mov dx,INPUTSTATUS @WaitDE: in al,dx test al,01h jnz @WaitDE {display enable is active?} mov dx,Crtadress mov al,$0C mov ah,bh out dx,ax mov al,$0D mov ah,bl out dx,ax MOV dx,inputstatus @wait: in al,dx test al,8 {?End Vertical Retrace?} jz @wait End; { If you use this, you should realize that if you increase x by one the screen moves four pixels. This procedure move the whole screen, so if you want a logo or something at the screen too you have to use this little procedure, it resets the scanlines at the screen soo it is only the top of the screen that moves. } procedure vgasplit(whatline:word); begin asm {VGASplit Proc Near} Mov BX,whatline Mov DX,3DAh-6 {; Port = 3D4H} Mov AX,BX Mov BH,AH Mov BL,BH And BX,0201H Mov CL,4 Shl BX,CL Shl BH,1 Mov AH,AL Mov AL,18H Out DX,AX Mov AL,7 Out DX,AL Inc DX In AL,DX Dec DX Mov AH,AL And AH,11101111B Or AH,BL Mov AL,7 Out DX,AX Mov AL,9 Out DX,AL Inc DX In AL,DX Dec DX Mov AH,AL And AH,10111111B Or AH,BH Mov AL,9 Out DX,AX End; end; { 2. There are several unit's out there that comes with source so i suggest that you have another look at one of them, There is a really nice one called ANIVGA. 3. Well its almost the same as the first question. Just dont set the vgasplit rutine. And increase the y parameter instead of x. All of the rutines have been written for mode X, but it's also possible to use them with standard Vgamode $13. Thats it. I really hope it helped you or/and somebody else a little bit,if you or anyone else have any questions. Please feel free to write me a Letter. }