A tiny fatfs implementation can be found at http://elm-chan.org/fsw/ff/00index_e.html and petit implementation.
After looking at the code, it seems there is a problem in the code : it assumes fat sector size should match hardware sector size.
This is not true, fat sector size only need to be >= hardware sector size
Also the power of 2 trick can be used.
Note the guy got interresting SPI mmc stuff http://elm-chan.org/docs/mmc/mmc_e.html