HIMDCLI(1)

πŸ’– HIMDCLI πŸ’–

okay bestie so this is himdcli from the General Commands Manual section, and it's literally your backstage pass to a HiMD Walkman πŸ’…


✨ NAME ✨

himdcli β€” the command line interface for accessing a HiMD Walkman, no cap πŸŽ€


🌸 SYNOPSIS 🌸

himdcli <HiMD path> <command>

πŸ¦‹ DESCRIPTION πŸ¦‹

So himdcli is a command line interface for accessing a HiMD Walkman. It uses the libhimd library to read and write audio tracks from a HiMD filesystem, and that filesystem can be mounted directly from a physical HiMD Walkman or from an image file of a HiMD you made earlier 🫢 You have to hand over the mount point of the HiMD filesystem as an argument to himdcli, together with the command you want it to do. Both. Every time. That's the deal.

Right now, libhimd β€” and therefore himdcli β€” implements full read access for PCM, ATRAC-3+ and MP3 tracks, plus experimental write support for MP3 tracks. (Quick note bestie: MP3 playback is only supported by second and third generation HiMD Walkmans, so if you've got a first-gen one, that's giving ✨vintage✨ in the bad way.) Non-MP3 tracks are protected by Sony's DRM software stack OpenMG, which requires a sophisticated calculation of keys and access control lists. Writing of non-MP3 tracks is therefore currently not yet supported β€” that door is locked and Sony has the key 😭

On top of all the transfer capabilities, himdcli also serves up some commands for debugging purposes. Those include:

  • strings β€” displays all strings found in the track list file (TRKIDX##.HMA)
  • tracks and tracks verbose β€” display (detailed technical) track information
  • discid β€” displays the disc id, which is comparable to the filesystem ID of FAT formatted volumes and is used by the OpenMG encryption
  • mp3key β€” displays the MP3 encryption key for a given MP3 track on disc
  • holes β€” displays the holes in a non-contiguous ATDATA##.HMA file, aka the container file where all the tracks are stored on a HiMD filesystem πŸ‘‘

πŸ”₯ COMMANDS πŸ”₯

himdcli currently accepts the following commands:

  • help β€” show the command overview list. strings dumps all strings found in the tracklist file.
  • tracks β€” lists all tracks on disc.
  • tracks verbose β€” lists details of all tracks on disc.
  • discid β€” reads the disc id of the inserted medium.
  • holes β€” lists all holes on disc.
  • mp3key <TRK> β€” shows the MP3 encryption key for track #<TRK>.
  • dumptrack <TRK> β€” dumps track #<TRK>.
  • dumpmp3 <TRK> β€” dumps MP3 track #<TRK>.
  • dumpnonmp3 <TRK> β€” dumps non-MP3 track #<TRK>.
  • writemp3 <FILE> β€” writes the MP3 file <FILE> to disc.
Not me pointing out that when you invoke himdcli without any arguments at all, it outputs a short message with usage information πŸ™ˆ like it's gently nudging you bestie, "ma'am, the arguments?"

πŸ‘€ SEE ALSO πŸ‘€

netmdcli(1), qhimdtransfer(1) β€” go read those too, iykyk 🌈


πŸ’œ AUTHOR πŸ’œ

The linux-minidisc project β€” <https://wiki.physik.fu-berlin.de/linux-minidisc>.

This manual page was written by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>.


okay that's the whole thing, and honestly? iconic. this page came from the General Commands Manual, dated November 23, 2012 β€” a vintage moment fr fr, but she still ate πŸ’…βœ¨πŸŽ€