I am looking to emulate an Apple II and would like to specify some address ranges as being memory mapped so that any access would result in perhaps an interrupt that I am then able to handle and in which I can determine the memory address being accessed and react accordingly. Is this possible, and if so, would someone point me in the right direction?
Hi Anthony,
The table formats are in the Arm ARM. The TRM has some info about implemented granules and suchlike but most of the things you need are in the ARM.
The Arm ARM doesn't really cover usage. So it will tell you how to program a fault page but not that that will be useful for emulating a device IYKWIM.
Using this mechanism a page (min4KB) is the smallest granularity you can trap. This is fairly efficient for emulating 'modern' system as peripherals are generally placed on page boundaries - and the trend is towards even sparser physical memory maps using the expanded address range for future-proofing - but it doesn't scale down that well to older stuff.
Pete.
Thanks for the info Pete!