AminetAminet
Search:
85819 packages online
• About
• Recent
• Browse
• Search
• Upload
• Setup
• Services

comm/net/RDPServer.lha

Mirror:Random
Showing: m68k-amigaos icongeneric icon
No screenshot available
Short:Control your Amiga from Windows RDP
Author:"Paul Hill" paul at codedbad.co.uk
Uploader:Paul Hill <paul codedbad co uk>
Type:comm/net
Version:1.3
Architecture:m68k-amigaos >= 3.0.0
Date:2026-11-12
Requires:68020+, bsdsocket.library (e.g. Roadshow)
Download:comm/net/RDPServer.lha - View contents
Readme:comm/net/RDPServer.readme
Downloads:4

RDPServer lets you see and control your Amiga's screen from Windows Remote
Desktop Connection (mstsc), with keyboard, mouse, clipboard and beeps.

It uses Standard RDP Security (RC4 with a 512-bit RSA key exchange) rather
than TLS, which is light enough for a 68k CPU.


REQUIREMENTS

- AmigaOS 3.0 or later, 68020 or better (one binary for 020 to 060)
- A TCP/IP stack providing bsdsocket.library (tested with Roadshow)
- For RTG screens, cybergraphics.library (tested with Picasso96). Native
  OCS/ECS/AGA screens also work, more slowly (HAM is not supported)
- Windows Remote Desktop Connection (tested with Windows 10)


QUICK START

Copy the RDPServer drawer anywhere (or just the program to C:), then from
a Shell:

    RDPServer PASSWORD=secret

The first run creates the server's encryption key, which takes from a few
seconds to a few minutes depending on the CPU. It is kept in
ENVARC:RDPServer/ServerKey and reused after that.

On Windows, run "mstsc /v:<amiga-ip-address>". If a warning says the
identity of the remote computer cannot be verified, click Connect. Enter the
password at the Amiga's login prompt, or save it in mstsc's credentials to
skip the prompt. Press Ctrl-C in the Amiga Shell to stop the server, or
start RDPServer again: a second start stops the running server and exits.

You can also start it by double-clicking its icon. Its messages then appear
in a window; press Ctrl-C in that window, or double-click the icon again,
to stop it. Set options as tool
types in the icon (select it, then Icons > Information). The icon lists them
in parentheses, which turns them off; remove the parentheses to use one.
They take the same form as Shell arguments, such as PORT=3390 or NOBEEP;
spaces before and after a value are ignored.
PASSWORD= works too, but it is stored as plain text in the icon, so prefer
ENV:RDPServer/Password (see below).


OPTIONS

These are Shell arguments, or tool types when started from Workbench.

    RDPServer [PASSWORD=pw | NOPASSWORD] [PORT=n] [BPP=15|16|24|32]
              [INTERVAL=ms] [SCAN=n] [NOCOMPRESS] [NOCLIPBOARD] [NOBEEP]
              [NEWKEY] [NEGFAIL] [VERBOSE] [QUIET]

  PASSWORD=pw   Password clients must enter.
  NOPASSWORD    Run without a password. Anyone who can connect gets control.
  PORT=n        TCP port (default 3389).
  BPP=n         Colour depth sent to the client: 15, 16 (default), 24 or 32.
                32 is never compressed, so prefer 16 or 24.
  INTERVAL=ms   Pause between screen polls (default 100, minimum 20).
  SCAN=n        Compare every n-th row per poll (1-16, default 4).
  NOCOMPRESS    Send screen updates uncompressed.
  NOCLIPBOARD   Don't share the clipboard.
  NOBEEP        Don't forward beeps.
  NEWKEY        Replace the server key with a new one.
  NEGFAIL       Refuse TLS with an error rather than declining it. Try this
                if a client won't connect.
  VERBOSE       Log protocol details to the Shell.
  QUIET         Print only errors and warnings, not the startup and
                connection messages. From Workbench, no window opens unless
                there is one; double-click the icon again to stop it.

To keep the password out of scripts, leave out PASSWORD= and put the
password in ENVARC:RDPServer/Password. Copy it to ENV:RDPServer/Password (or
reboot) for it to take effect. The server will not start without a password
unless you give NOPASSWORD.


WHAT IT DOES

- Screen: shares the front screen. Switching to a screen of a different
  size resizes the client's window to match.
- Input: the mouse (including the wheel, as NewMouse events) and keyboard
  are passed to input.device. Keys are mapped by position from a PC
  keyboard. The right Ctrl key is the Right Amiga key, so right Ctrl-C
  copies and right Ctrl-V pastes in Amiga programs. Left Ctrl stays Ctrl.
- Clipboard: text copied on either side can be pasted on the other, up to
  512 KB. Characters that Latin-1 can't hold become their nearest ASCII
  equivalent or "?". In mstsc this is the Clipboard option under Local
  Resources.
- Beeps: every DisplayBeep() also plays a short beep on the PC.
- Login: until the password is entered the client sees only the login
  prompt, and its keystrokes do not reach the Amiga. After three wrong
  attempts the server disconnects. The prompt understands US and UK
  keyboard layouts.
- Sessions: one client at a time.


PERFORMANCE

Reading the graphics card's memory is the slowest part. To keep it cheap,
each poll compares only every SCAN-th row with the previous picture,
starting one row lower each time, and reads in full only the 64x64 tiles
that changed. Changed tiles are compressed before being sent.

- Larger SCAN values cost less while the screen is idle. Small changes may
  take up to SCAN polls to show up (400 ms with the defaults). SCAN=1
  checks every row.
- A 16-bit RTG screen with BPP=16 needs no colour conversion.
- When a client disconnects, the Shell shows the number of polls, the
  average time per poll and the data read per poll, so you can compare
  settings.


SECURITY

The password stops casual access on your local network. It is not strong
security: Standard RDP Security has weak encryption and does not prove the
server's identity, so someone who can intercept the traffic could capture
the password. Do not expose the port to the internet.

Each installation makes its own server key; none is built into the program.
NEWKEY replaces it.


LICENCE

MIT licence; see the LICENSE file in the archive.


Contents of comm/net/RDPServer.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Nov 10 22:05 RDPServer/
-rw-r--r--  1000/1000      626    1066  58.7% -lh5- 618e Nov 10 22:05 RDPServer/LICENSE
-rw-r--r--  1000/1000    47817   83608  57.2% -lh5- 23b7 Nov 10 22:05 RDPServer/RDPServer
-rw-r--r--  1000/1000      262     613  42.7% -lh5- 9c70 Nov 10 22:05 RDPServer/RDPServer.info
-rw-r--r--  1000/1000     2837    5773  49.1% -lh5- ffd5 Nov 10 22:05 RDPServer/RDPServer.readme
-rw-r--r--  1000/1000      141     302  46.7% -lh5- d2cd Nov 10 22:05 RDPServer/RDPServer.readme.info
-rw-r--r--  1000/1000      134     376  35.6% -lh5- 4a1a Nov 10 22:05 RDPServer.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         7 files   51817   91738  56.5%            Nov 12 00:27
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>