EMBM is implemented through Microsoft's DirectX® 6.0 API. To support EMBM, a game developer simply needs to code a few DirectX 6 render states and texture stages, in addition to creating a bump map for each texture that represents height or depth of each pixel of the texture.
I wish this could have been included in B3D natively. Heck it's been available since DX6!
I've been messing about with Tom's EMBM but haven't been able to get regular bump mapping to work. Also I get a lot of noise on the object that I am trying to bump map.