From Spectrum
Revision as of 17:17, 31 August 2008 by Winston (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

setpagea (HLCALL 0x3E33) - set memory page in paging area A

setpageb (HLCALL 0x3E36) - set memory page in paging area B


Assembly language

    ld a, page
    call SETPAGEA

    ld a, page
    call SETPAGEB


    #include <spectranet.h>

    void setpagea(unsigned char page);
    void setpageb(unsigned char page);


The setpagea() and setpageb() functions select which page of memory occupies address space between 0x1000-0x1FFF and 0x2000-0x2FFF respectively.

The C library does not use the HLCALL pagein/pageout mechanism; the Spectranet ROM must already be paged in by the pagein() call. Generally, it does not make sense to manipulate the paged areas from outside code that is already manipulating data in this area.

The Spectranet memory map is shown in the following diagram. The number before the colon is the page number.

KEY Red = flash ROM, Yellow = W5100, Cyan = RAM, Grey = No hardware

Return values