u64cmd


Nameu64cmd JSON
Version 0.9.1 PyPI version JSON
download
home_page
SummaryA command line tool to remote control your Ultimate 64 or Ultimate II+ device.
upload_time2023-02-01 20:37:15
maintainer
docs_urlNone
author
requires_python>=3.7
licenseBSD
keywords c64 ultimate 64 ultimate ii+ ultimate 1541
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # u64cmd - Remote Control for your Ultimate 64/II+

This Python command line tools allows you to control your [Ultimate 64][1]/Ultimate II+
device via a TCP connection on port 64.

It implements almost the full feature set of the DMA Socket Protocol as
specified in the Ultimate64 [source code][2].

[1]: https://ultimate64.com
[2]: https://github.com/GideonZ/1541ultimate/blob/master/software/network/socket_dma.cc

## Feature Set

* Upload/Run PRG Files
* Upload REU Images
* Upload/Mount Disk Images
* Upload/Activate CRT Images
* Upload/Activate Kernel ROM Images
* Write Data Files to RAM
* POKE, POKEW
* Type Text with Petcat like Control Codes
* Reset/PowerOff Machine
* On Ultimate64: Enable/Disable VIC/Audio/Debug Stream

## Installation

* You need Python 3 >= Version 3.7 and Pip installed
* Install stable version

        pip3 install u64cmd

* Install current Git version

        pip3 install -U git+https://github.com/cnvogelg/u64cmd.git

## Run u64cmd

You run the command with this syntax:

    u64cmd -h 192.168.2.1 reset

The `-h|--host` option is required to give the IP address or hostname of your
Ultimate 64/II+.

The above command triggers only the `reset` command and exits. You can also
specify multiple commands on the command line to execute them in a row:

    u64cmd -h 192.168.2.1 reset load_reu blureu.img load_prg -r blureu.prg

## Command Description

### Main Options

Usage:

    u64cmd [--host|-h <host_addr] [--port|-p <port_num>] <command> ...

* `--host|-h` gives the `host_addr` of the Ultime64/II+ (required). Use
  environment variable `U64CMD_HOST` to set the value permanently.
* With `--port|-p` you can specify the port number. The default is `64`. Use
  environment variable `U64CMD_PORT` to set the value permanently.

### More Main Options

* The option `--version` shows the release version of the tool.
* The option `--help` gives you a command overview.
* Use `... <command> --help` to get detailed help on a command
* The option `--dump-keycodes|-D` shows a list of known petcat control
  commands for typing message (see `type` command)

### `type` - Type Text on C64 Keyboard

Usage:

    type <text>

* Types the given `text`.
* You can pass control codes in the `{code}` notation (similar to `petcat`)
* Use the `--dump-keycodes|-D` command to get a list of all supported codes.

Example:

    type "{clr}{wht}HELLO, WORLD!{lblu}{cr}"

### `prg_load` - Load (and Run) a PRG File  

Usage:

    prg_load [--run] [--jump] <prg_file>

* `prg_file` gives the name of the PRG file you want to DMA load
* add the `--run|-r` switch to automatically `RUN` the PRG after loading
* similar `--jump|-j` jumps to the load address of the PRG file

### `reu_load` - Load Data File into REU

Usage:

    reu_load [--addr <addr>] [--offset <num>] [--size <num>] <reu_file>

* `reu_file` gives the file name to be uploaded into the REU
* `--addr|-a <addr>` defines the loading address. 
* `--offset|-o <num>` sets an optional offset in the file. By default the
  whole file starting at the first byte will be uploaded. With this command
  you can skip bytes for the upload.
* `--size|-s <num>` limits the transfer. This allows you to reduce the
  uploaded block. By default the whole file is transferred.

Note: You can specify any value in the tool either in decimal (e.g. `49152`)
  or in hex (e.g. `0xc000`)

### `disk_load` - Load/Mount Disk Images

Usage:

    disk_load [--run|-r] <disk_file>

* `disk_file` is a D64 disk image to be uploaded and mounted
* The optional `--run|-r` allows to automatically run the first file in the
  image.

### `crt_load` - Load/Enable CRT Images

Usage:

    crt_load <crt_file>

* Uploads the `crt_file` as current cartridge image and activates it.

### `kernal_load` - Load/Enable Kernal Image

Usage:

    kernel_load <kernal_file>

* Upload the `kernal_file` as the new kernal ROM.

### `data_write` - Write data into RAM

Usage:

    data_write [--addr <addr>] [--offset <num>] [--size <num>] <data_file>

* `data_file` gives the file name to be uploaded into C64 RAM
* `--addr|-a <addr>` defines the loading address. You can specify the value
  in decimal (e.g. `49152`) or in hex (e.g. `0xc000`)
* `--offset|-o <num>` sets an optional offset in the file. By default the
  whole file starting at the first byte will be uploaded. With this command
  you can skip bytes for the upload.
* `--size|-s <num>` limits the transfer. This allows you to reduce the
  uploaded block. By default the whole file is transferred.

### `poke` and `pokew` - Write values into C64 Memory

Usage:

    poke <addr> <value>
    pokew <addr> <value>

* poke a byte or a word `value` into memory at address `addr`

### `stream_on` - Enable VIC/Audio/Debug Streaming (U64 only)

Usage:

    stream_on [--duration <num>] [--addr|-a <host_addr>] <stream_name>

* Valid stream names are `vic`, `audio`, or `debug`.
* The optional `--duration|-d <num>` allows to set the transfer duration. By
  default the value is set to 0 meaning infinite duration.
* The optional `--addr|-a <host_addr` gives the host address where the stream
  will be sent to. Typically a multicast address or your own host address.

### `stream_off` - Disable VIC/Audio/Debug Streaming (U64 only)

Usage:

    stream_off <stream_name>

* Valid stream names are `vic`, `audio`, or `debug`.

### `reset` - Reset C64

Usage:

    reset

### `poweroff` - Power Off C64 (U64 only)

Usage:

    poweroff

EOF

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "u64cmd",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "C64,Ultimate 64,Ultimate II+,Ultimate 1541",
    "author": "",
    "author_email": "Christian Vogelgsang <chris@vogelgsang.org>",
    "download_url": "https://files.pythonhosted.org/packages/3a/9d/2083e7347bcce364067243b0102242763830d5ab104ad6504fe9bc48dbc4/u64cmd-0.9.1.tar.gz",
    "platform": null,
    "description": "# u64cmd - Remote Control for your Ultimate 64/II+\n\nThis Python command line tools allows you to control your [Ultimate 64][1]/Ultimate II+\ndevice via a TCP connection on port 64.\n\nIt implements almost the full feature set of the DMA Socket Protocol as\nspecified in the Ultimate64 [source code][2].\n\n[1]: https://ultimate64.com\n[2]: https://github.com/GideonZ/1541ultimate/blob/master/software/network/socket_dma.cc\n\n## Feature Set\n\n* Upload/Run PRG Files\n* Upload REU Images\n* Upload/Mount Disk Images\n* Upload/Activate CRT Images\n* Upload/Activate Kernel ROM Images\n* Write Data Files to RAM\n* POKE, POKEW\n* Type Text with Petcat like Control Codes\n* Reset/PowerOff Machine\n* On Ultimate64: Enable/Disable VIC/Audio/Debug Stream\n\n## Installation\n\n* You need Python 3 >= Version 3.7 and Pip installed\n* Install stable version\n\n        pip3 install u64cmd\n\n* Install current Git version\n\n        pip3 install -U git+https://github.com/cnvogelg/u64cmd.git\n\n## Run u64cmd\n\nYou run the command with this syntax:\n\n    u64cmd -h 192.168.2.1 reset\n\nThe `-h|--host` option is required to give the IP address or hostname of your\nUltimate 64/II+.\n\nThe above command triggers only the `reset` command and exits. You can also\nspecify multiple commands on the command line to execute them in a row:\n\n    u64cmd -h 192.168.2.1 reset load_reu blureu.img load_prg -r blureu.prg\n\n## Command Description\n\n### Main Options\n\nUsage:\n\n    u64cmd [--host|-h <host_addr] [--port|-p <port_num>] <command> ...\n\n* `--host|-h` gives the `host_addr` of the Ultime64/II+ (required). Use\n  environment variable `U64CMD_HOST` to set the value permanently.\n* With `--port|-p` you can specify the port number. The default is `64`. Use\n  environment variable `U64CMD_PORT` to set the value permanently.\n\n### More Main Options\n\n* The option `--version` shows the release version of the tool.\n* The option `--help` gives you a command overview.\n* Use `... <command> --help` to get detailed help on a command\n* The option `--dump-keycodes|-D` shows a list of known petcat control\n  commands for typing message (see `type` command)\n\n### `type` - Type Text on C64 Keyboard\n\nUsage:\n\n    type <text>\n\n* Types the given `text`.\n* You can pass control codes in the `{code}` notation (similar to `petcat`)\n* Use the `--dump-keycodes|-D` command to get a list of all supported codes.\n\nExample:\n\n    type \"{clr}{wht}HELLO, WORLD!{lblu}{cr}\"\n\n### `prg_load` - Load (and Run) a PRG File  \n\nUsage:\n\n    prg_load [--run] [--jump] <prg_file>\n\n* `prg_file` gives the name of the PRG file you want to DMA load\n* add the `--run|-r` switch to automatically `RUN` the PRG after loading\n* similar `--jump|-j` jumps to the load address of the PRG file\n\n### `reu_load` - Load Data File into REU\n\nUsage:\n\n    reu_load [--addr <addr>] [--offset <num>] [--size <num>] <reu_file>\n\n* `reu_file` gives the file name to be uploaded into the REU\n* `--addr|-a <addr>` defines the loading address. \n* `--offset|-o <num>` sets an optional offset in the file. By default the\n  whole file starting at the first byte will be uploaded. With this command\n  you can skip bytes for the upload.\n* `--size|-s <num>` limits the transfer. This allows you to reduce the\n  uploaded block. By default the whole file is transferred.\n\nNote: You can specify any value in the tool either in decimal (e.g. `49152`)\n  or in hex (e.g. `0xc000`)\n\n### `disk_load` - Load/Mount Disk Images\n\nUsage:\n\n    disk_load [--run|-r] <disk_file>\n\n* `disk_file` is a D64 disk image to be uploaded and mounted\n* The optional `--run|-r` allows to automatically run the first file in the\n  image.\n\n### `crt_load` - Load/Enable CRT Images\n\nUsage:\n\n    crt_load <crt_file>\n\n* Uploads the `crt_file` as current cartridge image and activates it.\n\n### `kernal_load` - Load/Enable Kernal Image\n\nUsage:\n\n    kernel_load <kernal_file>\n\n* Upload the `kernal_file` as the new kernal ROM.\n\n### `data_write` - Write data into RAM\n\nUsage:\n\n    data_write [--addr <addr>] [--offset <num>] [--size <num>] <data_file>\n\n* `data_file` gives the file name to be uploaded into C64 RAM\n* `--addr|-a <addr>` defines the loading address. You can specify the value\n  in decimal (e.g. `49152`) or in hex (e.g. `0xc000`)\n* `--offset|-o <num>` sets an optional offset in the file. By default the\n  whole file starting at the first byte will be uploaded. With this command\n  you can skip bytes for the upload.\n* `--size|-s <num>` limits the transfer. This allows you to reduce the\n  uploaded block. By default the whole file is transferred.\n\n### `poke` and `pokew` - Write values into C64 Memory\n\nUsage:\n\n    poke <addr> <value>\n    pokew <addr> <value>\n\n* poke a byte or a word `value` into memory at address `addr`\n\n### `stream_on` - Enable VIC/Audio/Debug Streaming (U64 only)\n\nUsage:\n\n    stream_on [--duration <num>] [--addr|-a <host_addr>] <stream_name>\n\n* Valid stream names are `vic`, `audio`, or `debug`.\n* The optional `--duration|-d <num>` allows to set the transfer duration. By\n  default the value is set to 0 meaning infinite duration.\n* The optional `--addr|-a <host_addr` gives the host address where the stream\n  will be sent to. Typically a multicast address or your own host address.\n\n### `stream_off` - Disable VIC/Audio/Debug Streaming (U64 only)\n\nUsage:\n\n    stream_off <stream_name>\n\n* Valid stream names are `vic`, `audio`, or `debug`.\n\n### `reset` - Reset C64\n\nUsage:\n\n    reset\n\n### `poweroff` - Power Off C64 (U64 only)\n\nUsage:\n\n    poweroff\n\nEOF\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "A command line tool to remote control your Ultimate 64 or Ultimate II+ device.",
    "version": "0.9.1",
    "split_keywords": [
        "c64",
        "ultimate 64",
        "ultimate ii+",
        "ultimate 1541"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c902e44a24505efc215de74bb5317a75f6558c6155f69ac83d08f6477556b13a",
                "md5": "5301db987475821adf6526048e7d6859",
                "sha256": "c7cd5166f4f8cd5fa5a2c1d833ffeb71680a9a20b6a3bc59f3220ad0763f31d9"
            },
            "downloads": -1,
            "filename": "u64cmd-0.9.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5301db987475821adf6526048e7d6859",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8518,
            "upload_time": "2023-02-01T20:37:13",
            "upload_time_iso_8601": "2023-02-01T20:37:13.786779Z",
            "url": "https://files.pythonhosted.org/packages/c9/02/e44a24505efc215de74bb5317a75f6558c6155f69ac83d08f6477556b13a/u64cmd-0.9.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a9d2083e7347bcce364067243b0102242763830d5ab104ad6504fe9bc48dbc4",
                "md5": "6b87df32b50bddad9a4ad74e0f15e3b9",
                "sha256": "767185f4b283dc673e40965b84fc83b97b0d29d06bbeb8eabf733a7e24b37cf7"
            },
            "downloads": -1,
            "filename": "u64cmd-0.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6b87df32b50bddad9a4ad74e0f15e3b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 10153,
            "upload_time": "2023-02-01T20:37:15",
            "upload_time_iso_8601": "2023-02-01T20:37:15.736950Z",
            "url": "https://files.pythonhosted.org/packages/3a/9d/2083e7347bcce364067243b0102242763830d5ab104ad6504fe9bc48dbc4/u64cmd-0.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-01 20:37:15",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "u64cmd"
}
        
Elapsed time: 0.04204s