I am the author of Cross-Lib (GitHub - Fabrizio-Caruso/CROSS-LIB: CROSS LIB - A universal 8-bit library and some games built with it), which is a universal 8-bit framework to develop retro-games in C for about 200 different vintage consoles, computers and all sort of other devices (arcade boards, hacked toy computers, hand-helds, etc.). Cross-Lib is WORA, i.e., write once, (compile it) and run it anywhere. The very same code is capable of auto-adapting to all systems despite the hardware differences (colors, graphics, sounds, screen size, etc.). Cross-Lib supports simple graphics, roughly similar to that of a Sinclair ZX Spectrum or MSX 1 computer.
The way this is done, for the most part, by providing an abstraction layer (a library with common APIs for all targets). Cross-Lib also uses scripts to handle graphics assets and automatically convert them for any system. Cross-Lib also include some scripts to produce template game code to speed up the initial development of a game.
So far I have written 5 games with it.
The game binaries for about 200 different targets are in: