41CL Calculator Manual
© 2019 Systemyde International Corporation
62
memory address. The contents of this memory location, if the MMU is enabled, replaces
the original upper four bits of the program address and forms a 24-bit address that is used
to access the memory devices on the 41CL circuit board (the lower twelve bits are not
modified by the MMU). Thus, in theory, any page can be mapped to any 4K page in the
physical memory on the 41CL circuit board.
The 41CL does not allow user control of the mapping of some of the pages, to protect the
Operating System (OS) of the calculator. So pages 0, 1, and 2 are normally never mapped
by the MMU, because this is where the basic OS is stored. In addition, pages 3 and 5 are
normally never mapped by the MMU, because this is where the X-Functions and Time
Module functions for the calculator are located. But every other page can be mapped
using the MMU.
The MMU entries are located in the 4K page of memory starting at address 0x804000,
which is located in RAM. The actual address for an MMU entry is formed using this base
address, with the page number replacing bits 7-4 and the bank number replacing bits 3-2.
Note that the order of the banks follows the encoding used by the original 41C hardware,
rather than conventional encoding. Since not all pages support banks only the following
MMU entries are valid:
Physical Address
Contents
0x80400C
MMU register for Page 0 (no banking supported)
0x80401C
MMU register for Page 1 (no banking supported)
0x80402C
MMU register for Page 2 (no banking supported)
0x80403C
MMU register for Page 3 (no banking supported)
0x804040
MMU register for Page 4, Bank 1
0x804044
MMU register for Page 4, Bank 3
0x804048
MMU register for Page 4, Bank 2
0x80404C
MMU register for Page 4, Bank 4
0x804050
MMU register for Page 5, Bank 1
0x804054
MMU register for Page 5, Bank 3
0x804058
MMU register for Page 5, Bank 2
0x80405C
MMU register for Page 5, Bank 4
0x804060
MMU register for Page 6, Bank 1
0x804064
MMU register for Page 6, Bank 3
0x804068
MMU register for Page 6, Bank 2
0x80406C
MMU register for Page 6, Bank 4
0x804070
MMU register for Page 7, Bank 1
0x804074
MMU register for Page 7, Bank 3
0x804078
MMU register for Page 7, Bank 2
0x80407C
MMU register for Page 7, Bank 4
0x804080
MMU register for Page 8, Bank 1
0x804084
MMU register for Page 8, Bank 3