Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This call executes no functionality.


MP_MEM

Code Block
languagenone
titleMP_MEM ($05), define a map of specific width and associate to application segment (OZ V4.2 and newer)
IN:
     A = window ID number (ASCII digit '1' to '6')
     B = MS_Sx segment for returned map memory as extended address
     HL = width of map to set up (0 to 255), modulus 8
OUT:
     D = width of map in pixels
     E = width of map in 6 bit characters
     C = MS_Sx segment for returned map memory as extended address
     BHL = extended address of base of map area (for MS_Sx segment), upper left (0,0) coordinate
          (size of map area is D * 64 pixels = size/8 bytes)

Registers changed after return:
     A......./IXIY same
     .FBCDEHL/.... different

...

A map has always 64 pixels height (depth of screen). When the map is created, just use OS_Mpb (or RST OZ_MPB in OZ 4.2) 1 and newer)  to bind returned BHL pointer into C = MS_Sx segment. An example:

...


At present there is only one map area and it is reclaimed for text by redefining the window in which it sits, or by defining a window which overlaps it. However, to allow for future expansion this call should be used if a map area is to be reclaimed for text use. Please refer to section The Map Area, to know more about. How the map pixel memory is organised.

...