GithubHelp home page GithubHelp logo

keyframe / rlaunch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deplinenoise/rlaunch

0.0 0.0 0.0 262 KB

Amiga remote command launcher for cross development

License: GNU General Public License v3.0

Shell 1.87% Python 5.89% C 90.66% Lua 1.58%

rlaunch's Introduction

Short:        Remote command launcher Amiga/PC
Author:       Andreas Fredriksson <deplinenoise (at) gmail (dot) com>
Uploader:     [email protected]
Type:         dev/cross
Architecture: m68k-amigaos
Version:      1.0

ABOUT
===============================================================================

The rlaunch utility allows the user to develop programs using cross-compilers
on a PC platform and then test the resulting binaries immediately on an Amiga
computer without copying files. Output from the program is channeled back to
the controlling PC as if it was run locally.

INSTALLATION
===============================================================================

Just copy the binaries to any directory you like on their respective platform.

HOW IT WORKS
===============================================================================

There are two parts to rlaunch, the controller and the target. The target
binary runs as a daemon on the Amiga and sets up a TCP/IP port (7001 by
default) listening for incoming connections. The controller runs on some other
machine (UNIX or Win32) and is started on demand by the user when a program is
to be launched on the Amiga.

When the controller is started, it is given at least two options, the path to
the file tree to present to the Amiga, and the path to an Amiga executable to
be started. The controller initiates a connection to the target and instructs
it to launch said executable.

The target process knows how to set up a virtual file system on the Amiga for
each controller connection which is also used to load the designated
executable. These devices (named TBL0, TBL1 and so on) are maintained
automatically by the target process for the lifetime of controller connection.
Requests against these virtual file system devices will map back over the same
TCP/IP connection and operate on the controller's file system.

For example; if a controller is started on Win32 with the file serving path
C:\Foo and the executable Bar, the following events will take place:

1. A connection is made to the specified target

2. A "launch executable" request is transmitted from controller to target

3. The target creates a new virtual file system TBLx:, mapping it to this
controller

4. The target spawns the process "TBLx:Bar"

5. When the connection is broken or the target program is interrupted, the
device is torn down.

BUGS AND LIMITATIONS
===============================================================================

- All paths on the Amiga side are limited to 108 characters. They will be
  silently truncated.

- The remote file system is read only.

CONTROLLER SYNPOSIS
===============================================================================

 rl-controller [-fsroot <r>] [-port <#>] [-log <..>] <host> <exe_path> [args]

Arguments:
  <host>         Hostname to connect to (mandatory, names are ok)

  <exe_path>     Path to executable relative to fsroot, with forward
                 slashes. Absolute Amiga paths can also be used to run
                 remote programs, e.g. c:info (mandatory)

  [args]         Optional arguments to pass to Amiga executable

Options:
  -fsroot        Specifies the file serving directory. The executable
                 must live in this directory as well. (default: cwd)

  -port          The TCP port to connect to (default: 7001)

  -log           Specifies log levels (default: 'c')
                 0: disable everything    a: everything
                 d: debug channel         i: info channel
                 w: warning channel       p: network packet channel
                 c: console channel

DAEMON SYNOPSIS
===============================================================================

  rl-target.exe ADDRESS,PORT/N,LOG

  ADDRESS          IP address to bind, defaults to 0.0.0.0
  PORT/N           TCP port to bind, defaults to 7001
  LOG              Specifes log levels, see above.

LICENSE
===============================================================================

This program is free to use for non-commercial purposes.
Copyright (c)2009 Andreas Fredriksson, TBL Technologies. All rights reserved.

rlaunch's People

Contributors

deplinenoise avatar emoon avatar erique avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.