(Although with a lot of effort on my esp-01, because it oftens gets stuck in a reboot loop, probably due bad connection on my breadboard).
I don't understand the difference between using a cpp and c file very well, but the cpp seems more transparent (easier to understand codewise for me). What do you mean by "...mismatch of having both, since cpu.c was present"?
I noticed there was a lot of dynamic memory (for global variables) left, so I was able to adjust "#define RAM_SIZE 1536" in cpu.cpp to "#define RAM_SIZE 34816" (32kB) . EhBasic reports 34047 Bytes free!
Also I did a speed test "FOR I=1 TO 10000:NEXT I" should run within 10 second in ehBasic on a genuine C64 (1Mhz). This test took a Mini Pro (16MHz) about 60 seconds, but the esp8266 finished in 15 seconds on 80 Mhz, and in 8 seconds on 160 Mhz. So speedwise the esp8266 should be able to emulate a 8 bit/1Mhz home computer (with 32kB of RAM). And I remember that this emulation code was derived from sourcebase for pc's so could be further optimized.
This could be the base for a very cheap C64 (or Apple ][ if you like ). I found some internet posts which claim that with a esp-12 it should be possible to get some sort of ISP interface. So using this to interface to 2x 32k256 chips we have 64kB. Another pin to input a ps/2 keyboard and a pin to output video commands.