TwinVNC est un client VNC complet pour AmigaOS et MorphOS, développé en C et compatible avec le protocole RFB.
L’objectif du projet est de fournir une solution stable et portable sur l’ensemble des configurations Amiga classiques et NG :
- processeurs Motorola 68000 → 68060
- systèmes AmigaOS 3.x
- systèmes PPC (WarpOS / MorphOS selon les versions)
Le code est publié pour permettre à la communauté d’étudier, maintenir et optimiser l’implémentation pour des environnements matériels variés.
- Compatibilité complète avec le protocole RFB (VNC)
- Support des encodages : RAW, Hextile, RRE, Tight
- Décodage et rendu du framebuffer distant
- Gestion du clavier, de la souris et des événements AmigaOS
- Interface graphique basée sur GadTools
- Interface localisable via le système de catalogues AmigaOS
- Optimisations mémoire et CPU pour processeurs 680x0
- Compatibilité AmigaOS et MorphOS (PPC)
- Implémentation en C, sans dépendances externes
- Utilisation des API AmigaOS :
- Exec
- Intuition
- GadTools
- graphics.library
- input.device
- bsdsocket.library
- Implémentation du protocole RFB :
- réseau, parsing, gestion des encodages
- prise en charge de l’endianess
- Rendu graphique optimisé (bitmaps, conversion chunky/planar)
- Architecture modulaire, orientée maintenance
- Conçu pour des environnements à ressources limitées ou hétérogènes (68k / PPC)
Le code est fourni tel quel (“as is”), pour permettre :
- corrections et optimisations
- documentation du fonctionnement interne
- portages éventuels
- contributions communautaires
TwinVNC is a full-featured VNC client for AmigaOS and MorphOS, written in C and compatible with the RFB protocol.
The goal of the project is to provide a stable and portable solution across a wide range of Amiga systems, including:
- Motorola 68000 → 68060 processors
- AmigaOS 3.x systems
- PPC-based systems (WarpOS / MorphOS depending on version)
The source code is released to allow the community to study, maintain and optimize the implementation for various hardware and OS configurations.
- Full support for the RFB (VNC) protocol
- Support for multiple encodings: RAW, Hextile, RRE, Tight
- Remote framebuffer decoding and rendering
- Keyboard, mouse and AmigaOS event handling
- GadTools-based graphical interface
- Fully localizable UI (Amiga catalog system)
- Memory and CPU optimizations for 680x0 processors
- Compatible with AmigaOS and MorphOS (PPC)
- Implemented in C, with no external dependencies
- Uses core AmigaOS APIs:
- Exec
- Intuition
- GadTools
- graphics.library
- input.device
- bsdsocket.library
- Full RFB protocol implementation:
- networking, message parsing, encodings
- endian handling
- Optimized rendering pipeline (bitmaps, chunky/planar conversion)
- Modular and maintainable code structure
- Designed for low-resource or mixed-architecture environments (68k / PPC)
The code is provided as is, to allow:
- bug fixing and optimization
- documentation of internal mechanisms
- potential ports
- community contributions