[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]
{
RH>Is there a method to put a whole screen (640X480X16) in a
RH>file.
RH>I have tried to make a function but it only works with the
RH>colors
RH>black and white.
Here's some code:
}
procedure copy_screen(var f:file);
type data=array[0..65534] of byte;
Var p:^data;
begin
new(p); rewrite(f,1);
asm
mov es,0b800h
xor di,di
mov cx,32767^[B
push ds
lds si,[p]
cld
rep movsw
pop ds
end;
blockwrite(f,p^,65536);
asm
mov es,0b801h
xor di,di
mov cx,32767
push ds
lds si,[p]
cld
rep movsw
pop ds
end;
blockwrite(f,p^,65536);
asm
mov es,0b802h
xor di,di
mov cx,11263
push ds
lds si,[p]
cld
rep movsw
pop ds
end;
blockwrite(f,p^,11264);
close(f);
dispose(p);
end;
Now there is a chance that I've screwed up somewhere, so if this doesn't work
right let me know, also let me know if you want a routine to read a screen back
into video memory. Good Luck!
John Baldwin
[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]