VncViewer for 8086


The aim of this project is to provide a VNC viewer with very small hardware requirements, making it usable on a 8086 PC.
The source code is greatly based on the source code of Xvncviewer 3.3, the official VNC viewer for Unix.

Why ?

  • Because there's a lot of 8086/286/386 PC sitting around, taking the dust because all their software & hardware are obsolete.
  • Because today's computers are so powerful that there's enough power for more than only one user.
    So, with a soft like VncViewer8086, you can turn your old computer into a full fledge desktop beast, allowing it to display and use a full KDE/Gnome/XP/MaxOSX/whatever desktop, just by connecting it to a more powerful computer.


    Only tested on a 286 with 1 MB of RAM.
    Communication with the server working.
    Basic Mouse support (only left button).
    Basic Keyboard support (only keys that have a ASCII code).
    Display remote screen in 640x480x16 (grey levels) VGA in RAW, Hextile and CopyRect encoding. In fact, only hextile is enabled, as it's the fastest one...


  • 2004-14-05 The first alpha release with partial mouse and keyboard support ! The source code is available from CVS
  • 2004-05-04 Another new pre-alpha release with a fully working hextile encoding (much faster than raw encoding !)
  • 2004-04-23 A new pre-alpha version providing a 16 grey levels palette which nicely matches the brightness of the pixels sent by the VNC server.
  • 2004-04-22 A pre-alpha-techno-demo-proof-of-concept version is available in the Downloads section.

  • ToDo

  • Priority 0
  • Full support for mouse (including mouse wheel).
    Full support for keyboard.

  • Priority 1
  • Full VGA/EGA/CGA support with modular architecture to easily add other video mode (Hercules, SVGA, etc...).

  • Priority 2
  • Support for ZRLE and TightVNC Encoding.
    Support for VNC 4.


    The grey levels in actions (click to enlarge)

    Same thing with an AbiWord window (click to enlarge)


    There is 3 files in the binary zip file. They need to be together in the same directory:
  • tcp.cfg contains the IP address and the net mask for the network card you want to use on the client
  • vncviewr.exe is the viewer. It takes one argument: the name or IP address of the host, with the number of the screen you want to connect (for example:
  • egavga.bgi is the EGA/VGA driver from Borland Turbo C.

  • Binary



  • PC compatible computer with a 8086 or higher processor
  • 512 KB RAM (VNC Viewer 8086 won't use that much but you need it for the operating system)
  • graphical capable video card (CGA, EGA, VGA)
  • floppy drive (the targeted size of the executable is 120KB) or hard disk
  • a network card is highly recommended but you can use the serial or parallel port to communicate with the server if you have a packet driver for SLIP ou PLIP.
  • a keyboard can be useful but is not necessary if you don't need to input anything (using the viewer as just a "viewer")
  • a mouse (with wheel) could be nice but it's optional


  • a DOS compatible operating system (MS-DOS, DR-DOS, etc...). I use FreeDOS which is a libre software.
  • a packet driver
  • a mouse driver if you use a mouse (I suggest you the really efficient CuteMouse driver)

    Feedback & Support

    If you find this software useful, or if you need help getting it to work, or if anything else, you can put a message in the forum.


    All the developments take place on a Linux workstation (Debian Sid).
    VncViewer8086 compiles with Borland Turbo C version 2.01. You can get it for free at Borland Museum. I use Dosemu to make Turbo C working on my Linux.
    It uses Wattcp for the TCP/IP communication.
    (I use Bochs during the development to test the viewer.)

    Freely hosted by Logo