Making an Omnibus Peripheral Emulator