Back to main

 

Function 39 and its subfunctions (1,2,4)

 

Subfunction 1 - get the size of the background image

 

Options:

  * eax = 39 - function number

  * ebx = 1 - number of subfunction

Return value:

  * eax = [width] * 65536 + [height]

 

Remarks:

  There is a pair command for setting the size of the background image - subfunction 1 of function 15. After which, of course, the image itself should be redefined.

 

Constants for registers:

  eax - SF_BACKGROUND_GET (39)

 

Subfunction 2 - read point from background image

 

Options:

  * eax = 39 - function number

  * ebx = 2 - subfunction number

  * ecx = offset

Return value:

  * eax = 0x00RRGGBB - dot color, if the offset is valid

    (less than 0x160000-16)

  * eax = 2 - otherwise

 

Remarks:

  Do not rely on the return value in case of an incorrect offset; it may change in future versions of the kernel.

  The displacement of a point with coordinates (x, y) is calculated as (x + y * xsize) * 3.

  There is a pair function of setting a point on the background image - a subfunction 2 of function 15.

                                                             

Constants for registers:

  eax - SF_BACKGROUND_GET (39)

 

Subfunction 4 - get background rendering mode

 

Options:

  * eax = 39 - function number

  * ebx = 4 - subfunction number

Return value:

  * eax = 1 - to pave

  * eax = 2 - stretch

 

Remarks:

  There is a paired function for setting the background rendering mode - a sub-function 4 of the function 15.

 

Constants for registers:

  eax - SF_BACKGROUND_GET (39)