I've recently wasted time with google.
Everyting seems to be plently first and then finally just junk.
I tried to find an i8080 emulator that would suite for hardware testing but found nothing.
Memory says that Altavista was better.
Obviously I had to start doing my own emulator, it's still just a shell but I'll upload it if it becomes usefull.
For a moment I thought maybe Ghidra addon can do it but then later there will be an avoidable obstacle anyway.
I couldn't find a useful 8080 emulator, but there seems to be a lot of 8085 stuff out there (100% code compatible with 8080, and just ignore the different external interrupt structure (RST 5.5, 6.5, 7.5); the 8080 interrupts RST0 - RST7 are treated as software interrupts in the 8085, but the code works fine).
I had some fun putting this code into an 8085 emulator that I downloaded from Oshon Software (no affiliation). The evaluation version is free, but closes after a one hour session, and you get 30 of those sessions for free. But the licence is only 25 euro. It allows breakpoints, single stepping, modify rom, ram and registers (very useful for shortening the start-up delay at 02E4H). I spent (won't say wasted - as SilverSolder says, it's all instructive) a couple of days trying to get my haed into the code, but it seems to the epitome of the reason why spaghetti code is frowned on. I suspect it may actually be the output of an early C compiler, or somesuch - I used one of those on my CPM system in the early 80s. The code flow threads around like <delete rude simile!>.
It transfers code into RAM, which you might do if, say you wanted to configure the code on the fly according to different models or somesuch, but the code it transfers to RAM looks like simple arithmetic operations, and they appear to be executed during start-up even before it does anything that looks like determining a model. (The Oshon simulator manages to execute these "RAM" instructions OK, but because they are not part of the loaded program (which, incidentally, it seems to disassemble OK) you can't "see" (ie trace and breakpoint) these steps. Would be simple enough to fudge, if one wanted to.
And it does other crazy things that a "human" assembly code programmer wouldn't do - eg, bunches of subroutines, 3 bytes long, clear the same memory locations twice in two different places, etc, etc, etc.
It was doing my head in... and I was only doing it "because I can".
So while I shall keenly track this thread, I don't think I'll be doing a lot more on this in the near term. But I got my 25Euro worth!