Split emu.h in multiple files. A lot of new warnings but it compiles and runs as expected.
Uglier but without warnings.