The decoding is clean, this means there aren't any mirror ports or undecoded address bits. Just the addresses listed below are used.
The addresses are in the I/O range, which means you access them with the OUT and IN instructions. They are not memory mapped, and to match with the CPC address decoding, the address is decoded on 16 bytes. This makes using OTIR and similar looped instructions tricky, but is required for compatibility with the CPC.
==== CH376 registers ====
*[https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/albireo-usbsdserial-interface-for-cpc/ Albireo] [https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/albireo-usbsd-interface-for-cpc-new-version-without-serial/ Albireo 2.0] Topics on CPCWiki forum
*[[Media:Albireo1.0 schematics.pdf|Albireo KiCad schematics]]
*[https://framagit.org/shinra/albireo Albireo project] [https://framagit.org/offset/albireo-acepansion Albireo ACEpansion] on Framagit
*[https://pulkomandy.github.io/shinra.github.io/albireo.html Albireo - Programmer's manual]
*[[Media:Ch376ds1.pdf|CH376 datasheet]] [[Media:CH376DS2.PDF|CH376 auxiliary commands]] USB flash drive and SD card controller