Versions Compared

Key

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

...

Memory tables are located in the first bank of each slot, except for internal memory tables which are in bank $21.

 


Swap memory

On reset, special memory area is marked as SWAP memory : 8K on unexpanded Z88, 40K on expanded ones. This memory area is allocated to bad or ugly applications when they're entered. On exit, this memory is released by copying used swap memory to fixed memory allocated for process storage. When normal memory becomes full, this swap area can be used for other purposes. 


Out-of-memory flags - one for each bank

...

These flags are used to speed up memory allocation by skipping full banks. Flags are cleared when full bank is freed.

 


Memory Allocation Tables, MATs - one for each page

...

bit 0 only set (MAT_SYSTEM) page is used by OZ (eg. screen file, see examples below)
 
 

bit 12 MAT_LAST : this page is last in chain, bits 0-11 are MemHandle>>4

...


Page allocation scheme for chunk (<256 byte) allocations (MAT_FULL (bit 13) not set in MAT)

...