---
name: "dll"
section: "1"
platform: "linux"
package: "brickos"
version: "0.9.0.dfsg-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dll"
---

# dll(1)

A user-program downloader for the RCX.

## NAME

dll - A user-program downloader for the RCX.

## SYNOPSIS

**dll** \[*options*\] *command \| {file}.lx*

## DESCRIPTION

This manual page documents the **dll** user-program download command.

**dll** is a program which is used to download user programs written for brickOS to the RCX.

## OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (\`-'). The options supported by **dll** are:

- **(run with no parms)**

  Show built-in help (summary of options)

- **-e, --execute**

  Execute program after download.

- **-i{0\|1}, --irmode={0\|1}**

  Set IR mode (on RCX) to near(0) or far(1)

- **-p{1-8}, --program={1-8}**

  Download program to program-slot-number {1-8}\

  NOTE: LegOS supports 8 program slots where the Mindstorms original firmware only supports 5.

- **-r{hostaddress}, --rcxaddr={hostaddress}**

  Send to RCX LNP at host address {0-15}.  Default is 0. See also --node={hostaddress}

- **-s{srcport}, --srcport={srcport}**

  Send to RCX LNP source port {0-15}

- **-t{ttydevice} --tty={ttydevice}**

  Specify serial tty device where IR tower is connected.\

  NOTE: The environment variable RCXTTY may be used in place of -tty

- **-v, --verbose**

  Enable verbose output

## COMMANDS

- **-d{1-8}, --delete={1-8}**

  Delete program from program-slot-number {1-8}

- **-n{hostaddress}, --node={hostaddress}**

  Set RCX LNP host address to {0-15}

## ENVIRONMENT VARIABLES

**dll** will respond to the environment variable RCXTTY.  This should be set to the serial device to which the IR tower is connected.  Use of RCXTTY is equivalent the using the -tty command-line option.

## EXAMPLES

**dll** is a simple command to use.  The following examples show most of the uses.

**Ex1:** download demo/robots.lx to the RCX as program 0.

```
   $ dll -tty=/dev/ttyS0 demo/robots.lx
   $
```

NOTE: there is no response from [dll(1)](/dll/1.md) on a successful download.  You can, however watch the RCX display during the download and see activity.

**Ex2:** download the demo/linetrack.lx into program-slot 7. (note we are first setting RCXTTY so we don't have to keep specifying the tty device each download).

```
   $ export RCXTTY=/dev/ttyS1
   $ dll -p7 demo/linetrack.lx
   $
```

**Ex3:** download demo/rover.lx but we are leaving the RCX powered off (assume RCXTTY is already set).

```
   $ dll -p2 demo/rover.lx
   error deleting program
   $
```

NOTE: **dll** first deletes the existing program from the specified program slot and then downloads the new one.  This error indicates that the first thing **dll** tried to do did not succeed.

We'll leave the experiment of running **dll** with --verbose set as an exercise for you our reader... (This is actually a combination of progress information and debug output.)

## ERROR MESSAGES

Unfortunately, there is basically only one dll error message, and it applies to most possible errors, including a disconnected IR tower, an RCX that is turned off, an RCX that doesn't have brickOS, and an RCX that has brickOS and is already running a program. So, check all those things when dll fails.

## SEE ALSO

**[firmdl3(1)](/firmdl3/1.md)**

## AUTHOR

**dll was written by:** Markus L. Noga.

Addiitonal Contributor(s): everyone discussing LNP at LUGNET

This manual page was written by Stephen M Moraco \<stephen@debian.org\>, for the Debian GNU/Linux system (but may be used by others).
