It's all done through software. No hardware required. I just learned this recently and found that quite interesting.