Post Reply 
How do you determine a 71B memory-mapped I/O device address?
03-31-2021, 04:55 AM (This post was last modified: 03-31-2021 05:27 AM by mfleming.)
Post: #7
RE: How do you determine a 71B memory-mapped I/O device address?
Yes, enumerating an MMIO device using a properly formatted CONFIG string isn't the problem. I've done that, and a single such instance is assigned the address at the bottom of the appropriate address range. The problem is, how does an external program determine that address? What if multiple such MMIO devices are enumerated? If I were writing a Basic or assembly program to access that set of device registers, how would I know where the registers were mapped? Just picking a fixed address the way the card reader does seems arbitrary, and wouldn't support multiple concurrent devices.

Quite a puzzle Smile

Edit: The best analogy is a RAM module, which has a specific port address you can use to free, merge, or copy to/from the RAM. There doesn't seem to be an equivalent for an MMIO device. I've scoured the two IDS documents for a clue as to how you might actually use a set of device registers. Seems you'd have to embed their dynamically assigned address in a separately enumerated ROM.

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: How do you determine a 71B memory-mapped I/O device address? - mfleming - 03-31-2021 04:55 AM



User(s) browsing this thread: 1 Guest(s)