Currently I'm developing the software from my MSX hardware device @msxarm by simulating the MSXARM hardware on OpenMSX and a ARM Cortex M4 simulator(http://www.keil.com/uvision/db_sim_agsi.asp).
To accomplish that more easily I developed an abstraction layer on OpenMSX that load cartridges as Windows DLL. I called this a plugin. Plugins allow you to add cartridges on OpenMSX as a 'dynamic link library' (.dll) file. The plugin has a simple interface and don't have dependencies of internal data structures on OpenMSX so MSX software and/or hardware developers can more easily test and develop a real MSX eletronic device by using the power of emulation.
I think it could be useful so I shared the source code on: https://bitbucket.org/msxarm/openmsx/branch/cartridge_plugin
Running a sample plugin: MSXARM cartridge DLL