VNCview GS: The VNC client for the Apple IIgs
Go to file
Stephen Heumann b8bdc81eda Statically allocate space for color tables in an assembly file.
This is a prelude to rewriting the raw decoding logic in more efficient assembly code.
2016-05-13 18:34:23 -05:00
._README Optimize the core loops for decoding raw pixels a little, in particular deferring increments to the end. 2015-09-26 14:26:05 -05:00
clipboard.cc Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
clipboard.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
colortables.cc Statically allocate space for color tables in an assembly file. 2016-05-13 18:34:23 -05:00
colortables.h Statically allocate space for color tables in an assembly file. 2016-05-13 18:34:23 -05:00
copyrect.cc Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
copyrect.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
desktopsize.cc Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
desktopsize.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
hextile.cc Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
hextile.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
keyboard.cc Flip the mapping of OA (Command) and Option keys. 2015-09-24 19:25:08 -05:00
keyboard.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
make Statically allocate space for color tables in an assembly file. 2016-05-13 18:34:23 -05:00
menus.h Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
mouse.cc Use 16-bit computations for shifts, where possible. 2015-09-26 01:24:58 -05:00
mouse.h Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
raw.cc Optimize 640 mode raw decoding for case where consecutive blocks of 4 pixels are the same. 2015-09-28 22:48:23 -05:00
raw.h Post-1.0b1 work in progress from 2004. 2015-09-23 19:40:17 -05:00
README Optimize the core loops for decoding raw pixels a little, in particular deferring increments to the end. 2015-09-26 14:26:05 -05:00
README.md Add link to binary releases. 2015-09-29 18:00:32 -05:00
tables.asm Statically allocate space for color tables in an assembly file. 2016-05-13 18:34:23 -05:00
vncdisplay.cc Switch to standard indentation of closing braces 2015-09-23 20:56:33 -05:00
vncdisplay.h Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
vncsession.cc Fix a memory leak in ReadFixup. 2015-09-29 17:21:37 -05:00
vncsession.h Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
vncview.cc Statically allocate space for color tables in an assembly file. 2016-05-13 18:34:23 -05:00
vncview.h Consistently use spaces for indentation 2015-09-23 20:26:03 -05:00
vncview.rez Update version number and copyright dates 2015-09-24 01:37:21 -05:00

VNCview GS

VNCview GS is a Virtual Network Computing client (viewer) for the Apple IIgs. You can use it to display and interact with the graphical desktop of another computer through your Apple IIgs.

Binary downloads are on the [releases page][releases]. [releases]: https://github.com/sheumann/VNCviewGS/releases

System Requirements

  • An Apple IIgs running System Software 6.0.1 or later
  • Marinetti 2.0 or later (latest version recommended)
  • Andrew Roughan's Crypto Tool Set (needed for password functionality)
  • A computer running a VNC server to which you have access

Strongly recommended:

  • An accelerator
  • A high-bandwidth, low-latency network connection from the IIgs to the server

A IIgs connected to the network via an Ethernet connection and a server connected to your LAN will probably provide the best performance.

Usage

To start VNCview GS, simply run the VNCview.GS program. The New VNC Connection dialog box will be displayed, allowing you to configure and start a VNC connection.

Usually, you need to enter the VNC server (using a hostname or IP address and a VNC display number, as in other VNC programs) and a password. Some servers may not require a password, but most do and it is probably advisable to set up your own servers with a password to provide some security. Also note that the VNC display number can be omitted if it is 0, and that it can be negative.

You can select a 320x200 color or 640x200 grayscale display mode. The 320x200 mode better corresponds to the server's normal display, since it displays colors and uses near-square pixels. 640x200 mode will cause greater distortion and does not display colors, but it does allow a larger portion of the server's desktop to be displayed on the IIgs.

Other options are also available.

  • Request shared session indicates the server should allow multiple clients to connect to it simultaneously. The server is not required to honor this request.
  • Emulate 3-Button Mouse causes option-clicks and OA-clicks to be treated as clicks of the second and third mouse buttons.
  • View Only Mode allows you to see the server's display but not to send any keyboard, mouse, or clipboard input to the server.
  • Allow Clipboard Transfers from Server indicates that the server is allowed to send its clipboard contents, which will be transferred to the IIgs clipboard.

The Preferred Encoding is the method that will be used to represent pixels on the server's display when sending them to the IIgs; the available options are Raw and Hextile. The Raw encoding sends lines of pixel values to the IIgs, while Hextile represents the display as a collection of small rectangular areas. Raw is generally faster than Hextile in the current version of VNCview GS, but Hextile may be faster on slow network links. Some servers may not support Hextile encoding, in which case Raw will be used regardless of this setting.

When you have configured your new VNC connection, simply click Connect, and if all goes well you will be connected to the VNC server. You can interact with it with the mouse and keyboard and scroll your view of its display. The option and Open-Apple keys are sent as "meta" and "alt," respectively; their exact interpretation depends on the server. Keyboard shortcuts for menu items are disabled when connected so that these key combinations can be sent to the server. Select Close or Quit in the File menu when you are done with the connection.

Menu Items

Apple->About VNCview GS...: Displays information about the program
File->New Connection: Allows you to configure and establish a new connection
File->Close: Closes current window or connection. You can connect again afterward.
File->Quit: Quits VNCview GS, closing any open connection
Edit->Undo: Only used by NDAs
Edit->Cut/Copy/Paste/Clear: Used in New VNC Connection window input boxes and NDAs
Edit->Show Clipboard: Displays the current contents of the IIgs clipboard
Edit->Send Clipboard: Transfers the contents of the IIgs clipboard to the server

VNC Server Interoperability

VNCview GS should be able to connect with any VNC server that fully implements the RFB protocol as published by RealVNC Ltd. or its predecessors. Here is a list of some VNC servers; many others are also available.

x11vnc is a good option, because it supports server-side display scaling, which is useful to fit more information on the IIgs screen.

VNCview GS does not work with the Screen Sharing functionality in OS X, because the Screen Sharing server does not support the pixel format that VNCview GS requires. The above servers can be used instead.

Version History

1.0b2
  • First open source release
  • Can display the mouse cursor from the server locally on the IIgs
  • Detects some errors more quickly, avoiding long periods of unresponsiveness
  • Mapping of OA and Option keys reversed to match Mac VNC implementations
  • Raw pixel decoding performance improved slightly
1.0b1
  • Faster display updates when using Raw encoding
  • Servers with screen dimensions smaller that the IIgs screen are now supported.
  • The server's display can be resized while connected to it (certain servers only)
1.0a2
  • Hextile encoding support added
  • Faster display update when scrolling while using Raw encoding
  • Bug causing problems with 2nd and subsequent connections fixed
1.0a1
  • First public release

License

Copyright (c) 2002-2015 Stephen Heumann
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This program contains material from the ORCA/C Run-Time Libraries, copyright 1987-1996 by Byte Works, Inc. Used with permission.