[Overview][Constants][Types][Procedures and functions][Variables][Index] |
Fill a region of DOS memory with a specific byte-sized value
Source position: go32.pp line 182
const dosmemfillchar: procedure( = ; |
seg: Word; |
ofs: Word; |
count: LongInt; |
c: Char |
) |
Sets a region of dos memory to a specific byte value.
Parameters:
Notes: No range check is performed.
None.
|
Copy data from the heap to DOS real mode memory |
|
|
Copy data from DOS memory to the heap. |
|
|
Move data between 2 DOS real mode memory locations |
|
|
Fill a region of DOS memory with a specific word-sized value |
|
|
Move data between 2 locations |
|
|
Fill segment with byte value |
|
|
Fill segment with word value |
uses crt, go32; const columns = 80; rows = 25; screensize = rows*columns*2; text = '! Hello world !'; var textofs : Longint; save_screen : array[0..screensize-1] of byte; curx, cury : Integer; begin randomize; dosmemget($B800, 0, save_screen, screensize); curx := wherex; cury := wherey; gotoxy(1, 1); Write(text); textofs := screensize + length(text)*2; dosmemmove($B800, 0, $B800, textofs, length(text)*2); dosmemfillchar($B800, 0, screensize, #0); while (not keypressed) do begin dosmemfillchar($B800, textofs + random(length(text))*2 + 1, 1, char(random(255))); dosmemmove($B800, textofs, $B800, random(columns)*2+random(rows)*columns*2, length(text)*2); delay(1); end; readkey; readkey; dosmemput($B800, 0, save_screen, screensize); gotoxy(curx, cury); end.
lazarus-ccr.sourceforge.net |