From Spectrum hardware wiki
Jump to: navigation, search

pagein - pages in Spectranet memory into the lower 16K of address space.

pageout - pages out the Spectranet memory.


Assembly language

    call PAGEIN
    call PAGEOUT




The pagein() and pageout() calls page in the Spectranet memory into the lower 16k and page it out respectively, without affecting how the Spectranet memory is currently laid out (i.e. the contents of the CPLD's paging registers are left unchanged). While the Spectranet's memory is paged in, if the Spectrum is in its default interrupt mode and interrupts are enabled, the routine at 0x0038 in the Spectranet ROM will be called when the 50Hz maskable interrupt occurs, meaning the standard ZX keyboard scanning will not occur.

Note that the use of ixcall and hlcall will cause the memory to be paged out once the requested routine has finished - if this is not desired, use the indirect jump table directly with a CALL instruction.