ultimate64 0.1.0

Rust library and command line interface for interfacing with Ultimate-64 and Ultimate-II devices using the REST API
Documentation

Rust

Ultimate64

Rust library and command line interface for interfacing with Ultimate-64 and Ultimate-II devices using the REST API.

Installation

Currently no binaries are provided and you need to first install Rust. Then compile and install with:

cargo install ultimate64

Usage

ultimate64 HOST COMMAND <OPTIONS>

Where HOST is the IP address or hostname of the Ultimate device on your local network. Alternatively specify this in the envronmental variable ULTIMATE_HOST as assumed in the following examples.

Examples

ultimate64 --help                            # show available commands
ultimate64 pause                             # pause machine
ultimate64 prg skate_or_die.prg              # load and run PRG file
ultimate64 load sprites.dat --address 0x2000 # load data to memory
ultimate65 peek 0x1000 --dasm -n 32          # disassemble 32 bytes
ultimate65 poke 0xd020 3                     # write single byte
ultimate64 sidplay yie_ar_kung_fu.sid -n 2   # play SID tune
ultimate64 modplay enigma.mod                # play Amiga MOD tune

Addresses can be decimal (4096) or hexadecimal (0x1000).

Features

  • Compiled, small, and cross platform with no external dependencies
  • Can be used either as a CLI tool or as a library
  • Modern CLI with subcommands
  • World class memory safety due to Rust
  • Excellent error handling and error messages
  • Convenient decimal, hexademical, binary and even octal input
  • 6502 disassembly
  • Load address detection

Todo

  • Binary distribution for MacOS, Linux, and Windows
  • Disk image and file manipulation