Instead of using CP/M disk images, which can be cumbersome and complicated to manage, this project uses a regular FAT filesystem, and emulates CP/M disk drives as subfolders to the SD card, so folder "A" will be disk A:, folder "B" will be disk B: and so on, up to disk P: (the max supported by CP/M).
The emulations acts like a framework on top of the disk system, making the emulated Z80 CPU "think" it has a real CP/M disk environment available.
Some of the physical disk related calls (like moving a disk drive head) are not available, for obvious reasons.
So far I have tried Wordstar, Microsoft Basic, Turbo Pascal, dBase II, UCD Micromumps and more. Everything worked fine, so I guess the emulation if pretty solid.
My special thanks goes to a guy from California called Tom Burnett, for being an "early adopter" and providing a second set of eyes by doing a lot of debugging/testing.