one small issue, I2C device addresses only go up to 127
so a loop to scan up to 255 is wrong , but at the same time it should give some output in the lower numbers...
no experience with softI2Cmaster. a quick scan on github. All functions seem to be written in assembler in the .h so no .cpp files used. (doesn't solve your problem, I know)