[Back to CRT SWAG index] [Back to Main SWAG index] [Original]
{
>> Does anyone know how to clear the screen Really fast ?
>> I'm working in VGA-mode With a resolution of 320*200*256
> You could try a block rewriting of the palettes, but that would probably
> take even longer, since it is usually an interrupt instruction.
Well, use the standard pascal routine called FillChar. ;-)
}
FillChar(Mem[$A000:$0000],320*200,0);
{ You can double speed by using 16 bit wide data transfer: }
Procedure FillChar16(Var X;Count : Word;Value : Byte); Assembler;
Asm
  les   di,X
  mov   cd,Count
  shr   cx,1
  mov   al,Value
  mov   ah,al
  rep   stosw
  test  Count,1
  jz    @end
  stosb
@end:
end;
[Back to CRT SWAG index] [Back to Main SWAG index] [Original]