The Mosa.Emulator is an application that hosts the
assemblies natively on the host Operating System (Windows). This allows developers to test and debug these components without having to build and install the OS and kernel or use the MOSA compiler tools.
This emulation is possible since all access to IO Ports and memory is abstracted by the kernel via a Hardware Abstraction Layer (HAL). Real hardware devices can be emulated with an emulated device driver which simulates the effects of accessing IO ports and
memory. This is very similar to how hardware virtualization software, like Qemu, Virtual PC and VMware, work today. Unfortunately, writing an emulated device driver can be just as complicated as writing the device driver itself!
A less complicate option is to use synthetic device drivers in the emulated environment. A synthetic device driver does not emulate IO ports or memory at all. Instead, it simply implements the desired interface. For example, a synthetic device driver can directly
implement the IDiskDevice interface rather than try to emulate an IDE or SCSI disk controller.
The following is a list of emulated and synthetic devices:
||Pixel Graphic Device