Reconsider I/O port address space: do ports need to be memory-mapped too? #14

Closed
opened 2026-03-29 06:25:32 +00:00 by bcox · 0 comments
Owner

Currently the I/O ports accessible via IN/OUT also occupy 512 bytes of address space (&60:00–&63:7F). This means those addresses are reserved even though the ports are fully accessible through the dedicated IN/OUT instructions.

Question: could the I/O ports exist only on the I/O bus (via IN/OUT) and not consume any address space? That would free up 512 bytes for additional memory-mapped devices, more RAM, or other uses.

Counterarguments to consider:

  • Is there value in being able to LD/ST to device registers without IN/OUT? (e.g. block copy with LDIR to a device)
  • Does the address decoder simplify or complicate if I/O is bus-only?
  • Would this break the mental model of a unified address space?

This might not make sense — opening the discussion to think it through.

Currently the I/O ports accessible via IN/OUT also occupy 512 bytes of address space (`&60:00–&63:7F`). This means those addresses are reserved even though the ports are fully accessible through the dedicated IN/OUT instructions. Question: could the I/O ports exist *only* on the I/O bus (via IN/OUT) and not consume any address space? That would free up 512 bytes for additional memory-mapped devices, more RAM, or other uses. Counterarguments to consider: - Is there value in being able to LD/ST to device registers without IN/OUT? (e.g. block copy with LDIR to a device) - Does the address decoder simplify or complicate if I/O is bus-only? - Would this break the mental model of a unified address space? This might not make sense — opening the discussion to think it through.
bcox closed this issue 2026-04-02 23:15:33 +00:00
bcox referenced this issue from a commit 2026-04-05 04:54:02 +00:00
bcox referenced this issue from a commit 2026-04-05 05:52:54 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/sbc7#14
No description provided.