Hercules doesn’t emulate at the microcode level. It implements the appropriate instruction set(s).
Reading a little deeper into the previous HN post, this one does:
To clarify, that is an emulator specific for the IBM 360/50 that runs the microcode. It is a demo, not a useful system. It has nothing to do with Hercules.
And thank you for writing it.
The 360 model 20 isn't actually a 360 compatible system. It's a 16 bit subset 'inspired by' the 360.
You are right it is a subset. Not sure it is totally true it is incompatible though, but do have some incompatible instruction.
It is the most numerous 360 computer installed, more than 7000. See https://en.wikipedia.org/wiki/IBM_System/360_Model_20 .
It is sad to let these go as part of computer history.
It is incompatible. For one example, it doesn't have registers R0-R7, using those as encodings as additional address bits. It also doesn't have the top half of registers R8-R15.
The original intent IIRC was the programs for the model 20 would be upwards compatible with the rest of the series, but that the higher level models would not be downward compatible with the 20. No idea if that ended up being achieved.
http://www.hercules-390.eu/
I know there was specific microcode here:
https://news.ycombinator.com/item?id=30073973