This is a good place to discuss! WRT #1010 and needing to make the `ExternalUart` change for `UART pinout`, I think having an `InternalPort` implementation in Glasgow would make that change unnecessary and enable `UART pinout` to use the UART gateware as is. (See [Amaranth RFC #78](https://github.com/wanda-phi/rfcs/blob/internal-port/text/0078-internal-port.md)) `InternalPort` is a feature that I'd love to see for Glasgow. I think its implementation/the release of Amaranth 0.6/Glasgow moving to Amaranth 0.6 is a ways off. However, I think making a glasgow specific `InternalPort` equivalent isn't. Some other reasons I'd like to have an `InternalPort` are: - implementing glue gateware to do "Glasgow over BSCAN" - enable simple (and more complex) modifications between existing applets and the IOs from a V2 CLIless API context. - - For instance pre V2 applets, I experimented with a bespoke out of tree applet that decoded the communications between a SPI flash and a microcontroller, which would selectively replace bytes read from certain addresses with bytes provided by the Glasgow. I've been meaning to revisit this, and reimplenent it with the V2 CLIless API and a mix of the SPI Controller/SPI Analyser applets, but I'm not sure how to insert a mux to select between CIPO on the flash/Glasgow without monkeypatching. I am very interesting in having an `InternalPort` implementation here, and am 100% down to implement it if Catherine agrees, but I'd have a number of questions RE details and probably need to do a fair bit of back and forth with it. Also RE UART pinout applet, that's cool! I don't have time to try it out right now, but I plan to this weekend.