Unit Intro2; Interface Procedure IntroASM; Implementation Uses CRT,DOS,GRAPHVGA,LibUses; Var pct : imageinfo; Spt : Word; Procedure CopyBob(Y1,Y2 : word); Var X,Y : word; Begin asm { Calcul des pts de depart } Push DS Mov AX,Y2 mov BX,320 Mul bx Mov DI,AX { DI = DI + 289 (320-31) } Mov AX,Y1 Mul BX Mov SI,AX { SI = SI + 289 (320-31) } Mov AX,0A000h {WriteS} Mov ES,AX Mov AX,SPt Mov DS,AX Mov DX,39 @@B1: Mov CX,160 Rep MovsW dec DX jnz @@B1 Pop DS end; End; Procedure initFont; begin InitGraph(VGA); LoadImage(Title_Logo,Pct); PutImage(Pct,1); Delay(1000); FadeOut(0,$FF,1); FillChar(Screen^,64000,0); Freeimage(Pct); LoadImage(Title_txt,Pct); Spt := Seg(Pct.Picture^); end; Procedure IntroAsm; Var C : Byte; Begin initFont; C := 0; PaletteOff; While (c<39+(4*40)) do Begin CopyBob(C,80); fadein(0,4,Pct.Palette,1); delay(1500); fadeWhite(1,4,1); Fadeout(0,4,1); inc(C,40); End; FreeImage(Pct); end; End.