seg_fillchar

Fill segment with byte value

Declaration

Source position: go32.pp line 125

  procedure seg_fillchar(seg: Word; ofs: LongInt; count: LongInt; c: Char);

Description

Sets a memory area to a specific value.

Parameters:

seg
selector to memory area.
ofs
offset to memory.
count
number of bytes to set.
c
byte data which is set.

Return values: None.

Notes: No range check is done in any way.

Errors

None.

See also

Name Description
dosmemfillchar Fill a region of DOS memory with a specific byte-sized value
dosmemfillword Fill a region of DOS memory with a specific word-sized value
dosmemget Copy data from DOS memory to the heap.
dosmemmove Move data between 2 DOS real mode memory locations
dosmemput Copy data from the heap to DOS real mode memory
seg_fillword Fill segment with word value
seg_move Move data between 2 locations

Example

{This example demonstrates the use of the segment_to_descriptor()
function.
It switches to VGA mode 13h (320x200x256 color), creates a selector
to the memory (based at $A000:0000), clears this memory with color
15 (white) and waits until the enter key is pressed }
uses go32;
var
        vgasel : Word;
        r : trealregs;
begin
        { set VGA mode 13h }
        r.eax := $13; realintr($10, r);
        { allocate descriptor to VGA memory quickly; it could be done
        with allocate_ldt_descriptors() too, but we would have to
        initialize it by ourselves... unlike segment_to_descriptor()
        which automatically sets the limit and the base address
        correctly }
        vgasel := segment_to_descriptor($A000);
        { simply fill the screen memory with color 15 }
        seg_fillchar(vgasel, 0, 64000, #15);
        { wait for a return press }
        readln;
        { back to text mode }
        r.eax := $3; realintr($10, r);
        { don't deallocate vgasel, that can't be done }
end.