Package: u64cmd
u64cmd - Remote Control for your Ultimate 64/II+This Python command line tools allows you to control yourUltimate 64/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 Ultimate64source code.Feature SetUpload/Run PRG FilesUpload REU ImagesUpload/Mount Disk ImagesUpload/Activate CRT ImagesUpload/Activate Kernel ROM ImagesWrite Data Files to RAMPOKE, POKEWType Text with Petcat like Control CodesReset/PowerOff MachineOn Ultimate64: Enable/Disable VIC/Audio/Debug StreamInstallationYou need Python 3 >= Version 3.7 and Pip installedInstall stable versionpip3 install u64cmdInstall current Git versionpip3 install -U git+https://github.com/cnvogelg/u64cmd.gitRun u64cmdYou run the command with this syntax:u64cmd -h 192.168.2.1 resetThe-h|--hostoption is required to give the IP address or hostname of your
Ultimate 64/II+.The above command triggers only theresetcommand 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.prgCommand DescriptionMain OptionsUsage:u64cmd [--host|-h <host_addr] [--port|-p <port_num>] <command> ...--host|-hgives thehost_addrof the Ultime64/II+ (required). Use
environment variableU64CMD_HOSTto set the value permanently.With--port|-pyou can specify the port number. The default is64. Use
environment variableU64CMD_PORTto set the value permanently.More Main OptionsThe option--versionshows the release version of the tool.The option--helpgives you a command overview.Use... <command> --helpto get detailed help on a commandThe option--dump-keycodes|-Dshows a list of known petcat control
commands for typing message (seetypecommand)type- Type Text on C64 KeyboardUsage:type <text>Types the giventext.You can pass control codes in the{code}notation (similar topetcat)Use the--dump-keycodes|-Dcommand to get a list of all supported codes.Example:type "{clr}{wht}HELLO, WORLD!{lblu}{cr}"prg_load- Load (and Run) a PRG FileUsage:prg_load [--run] [--jump] <prg_file>prg_filegives the name of the PRG file you want to DMA loadadd the--run|-rswitch to automaticallyRUNthe PRG after loadingsimilar--jump|-jjumps to the load address of the PRG filereu_load- Load Data File into REUUsage:reu_load [--addr <addr>] [--offset <num>] [--size <num>] <reu_file>reu_filegives 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 ImagesUsage:disk_load [--run|-r] <disk_file>disk_fileis a D64 disk image to be uploaded and mountedThe optional--run|-rallows to automatically run the first file in the
image.crt_load- Load/Enable CRT ImagesUsage:crt_load <crt_file>Uploads thecrt_fileas current cartridge image and activates it.kernal_load- Load/Enable Kernal ImageUsage:kernel_load <kernal_file>Upload thekernal_fileas the new kernal ROM.data_write- Write data into RAMUsage:data_write [--addr <addr>] [--offset <num>] [--size <num>] <data_file>data_filegives 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.pokeandpokew- Write values into C64 MemoryUsage:poke <addr> <value>
pokew <addr> <value>poke a byte or a wordvalueinto memory at addressaddrstream_on- Enable VIC/Audio/Debug Streaming (U64 only)Usage:stream_on [--duration <num>] [--addr|-a <host_addr>] <stream_name>Valid stream names arevic,audio, ordebug.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_addrgives 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 arevic,audio, ordebug.reset- Reset C64Usage:resetpoweroff- Power Off C64 (U64 only)Usage:poweroffEOF