Finally released: The GB Interceptor.

An open source rp2040-based adapter that goes between your (unmodified) Game Boy and the game cartridge to record or stream your gameplay via USB.

Video: https://youtu.be/6mOJtrFnawk
Details: https://there.oughta.be/a/game-boy-capture-cartridge

A Game Boy capture cartridge: The GB Interceptor

YouTube

@DiConX very nice!

If the rp2040 was setup as a MITM instead of a passive sniffer, you might be able to read out the DIV register by spoofing some instructions before returning to the normal game code? but that probably also violates the idea of "running unmodified code."

Could the link cable issue for 2 player tetris in theory be solved by also sniffing the link cable? (barring performance constraints, which you're already having issues with)

@kitlith
Yes, it was important to me that the cartridge is still directly connected to the Game Boy, but code injection might be another very rewarding project.

I think that sniffing the link cable would not be that bad in terms of performance as the link cable is very slow and the rp2040 can just capture everything with a PIO and put it in a FIFO, so the CPU would just pick up the data when it would virtually read that register. But on the hardware side it would be quite a contraption.