It’d be possible to do a fully compatible Arduboy-on-a-cart for the 8bit Game Boys but it’ll need an FPGA to be a pretend SPI OLED display, reorganise the OLED data to GB tile format, and offer it as ROM data to the GB CPU.
The FPGA also need to contain a small ROM program for the GB CPU to boot, init the display & audio and copy data back and forth. I’m assuming the GB ROM can be small enough to be contained into the FPGA to save on space/chip count and cost. Otherwise just add a ROM.
ATmega32U4 -> SPI -> FPGA Graphic capture -> ROM bus -> GB (on vblank) -> Display
ATmega32U4 -> PC6 & PC7 -> FPGA Conversion (00->10, 01->11, 10->00, 11->10) -> resistors “mixer” -> Vin pin (audio in)
Gamepad -> GB (on vblank) -> ROM bus -> FPGA latching -> PF7,6,5,4 & PB4 & PE6 -> ATmega32U4
The GB’s cpu can read the same address and get different data from the FPGA on each reads so the CPU doesn’t have to increment it’s read pointer, only the write-to-screen pointer. Which makes the CPU’s job a lot easier.
The FPGA translate the display pixels to GB tile data and the GB CPU just dumps them to the display memory.
The Vin pin on the cartridge connector allows audio feed from the cart
The FPGA might need an extra transistor to hold the GB’s /RST low while it boots if it can’t boot fast enough to provide the ROM. Not an issue if an actual ROM chip is used.
Put the LEDs and the USB connector right on the cartridge.
Now we got an Arduboy with an unreadable screen (original DMG with no backlight and terrible ghosting) and consumes ~10x as much power.