Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Virtualx86 – Une machine virtuelle dans votre navigateur

Si vous vous intéressez un peu à la virtualisation, voici un petit joujou qui va vous plaire. Virtualx86 est un outil développé en JavaScript qui émule une architecture complète x86 avec CPU de type Pentium 1, un bus ISA, un contrôleur disquette, clavier, VGA, IDE, PCI…etc., etc.

v86 emulates an x86-compatible CPU and hardware. Here’s a list of emulated hardware:

  • An x86 compatible CPU. The instruction set is around Pentium 1 level. Some features are missing, more specifically:
    • Task gates, far calls in protected mode
    • 16 bit protected mode features and Virtual 8086 mode
    • Single stepping
    • MMX, SSE
    • A bunch of FPU instructions, FPU exceptions
    • Some other exceptions
  • A floating point unit (FPU). Calculations are done with JavaScript’s double precision numbers (64 bit), so they are not as precise as calculations on a real FPU (80 bit).
  • An ISA bus.
  • A floppy disk controller (8272A).
  • A DMA (direct memory access) controller, currently only used by the FDC.
  • An 8042 Keyboard Controller, PS2. With mouse support.
  • An 8254 Programmable Interval Timer (PIT).
  • An 8259 Programmable Interrupt Controller (PIC).
  • À CMOS Real Time Clock (RTC).
  • A VGA controller with SVGA support and Bochs VBE Extensions. This includes support for large resolutions.
  • À PCI bus. This one is partly incomplete and not used by every device.
  • An IDE disk controller.

Le projet est open source (licence BSD) et vous pourrez faire tourner dans votre navigateur des petits Linux, FreeDOS, KolibriOS, OpenBSD ou encore Windows dans ses premières versions.

kolibrios

Il y a une version démo en ligne si vous souhaitez tester Virtualx86. Plusieurs images sont disponibles, mais vous pouvez aussi importer vos propres images disque histoire d’émuler un truc rapidement.

À tester pour s’amuser.


Les articles du moment