In November of 2013, I wrote a lengthy article on how to get Miracast working on an original Surface Pro. That article still contains some good information on how to enable Miracast on televisions that don't have built-in WiFi, or don't support Miracast, using the Netgear PTV3000, so you should check it out if you want to get it up and running quickly. The article also walks through the steps for "casting" video to the Miracast setup.
The big gotcha at that time was that in early 2013 Microsoft released firmware updates for Surface devices that broke Miracast due to the installation replacing the Marvell AVASTAR 350N Wireless Network Controller with an older one. I included the steps involved for replacing the older driver with one that works. Up until the December firmware update, Microsoft continued to replace the driver, which meant that the same steps would have to be followed after every new firmware update.
The December firmware update was the first time Microsoft got it right, and it really never got any fanfare. We're now into February and I can attest that Miracast still works and actually works better than it did when applying the previously communicated, unsupported fix.
If you're dying to use Miracast with your Microsoft Surface, and be one of the cool kids, make sure to apply a recent firmware update. Firmware updates are cumulative, so you don't need to go back and apply them all. Just the most recent one will work.
But, as we've experienced over the past couple years, Microsoft's updates don't always work as designed. They could revert back to the older driver, or produce another one that breaks Miracast again. So, I'll keep those instructions posted and handy just in case.