User Tools

Site Tools


portingnetmd

This is an old revision of the document!


PortingNetMD

This section covers the porting of the NetMD Python code to C and integrating it into qhimdtransfer.

Background and motivation

Python NetMD

  • command line interface only
  • requires Python (version dependency)
  • requires some basic knowledge on setting up Python
  • not intuitively usable
  • code is in some parts highly experimental

Current status

The current Python NetMD implementation allows both downloads (all NetMD models) as well digital uploads (MZ-RH1/MZ-RH200 models only) as well as titling, listing and editing of tracks as well as remote controlling NetMD units. Analog capture for upload is supported for models other than MZ-RH1/MZ-RH200. Download code contains a valid but unencumbered root key to allow necessary encryption during transfers. The download code itself is highly experimental, however.

Porting of the Python code to C was already started. The resulting tarball can be downloaded here: libnetmd.

Overview Python NetMD

The current NetMD implementation in Python is divided into several scripts

Utilities:

  • lsmd.py - list the contents of any NetMD
  • upload.py - transfer tracks from NetMD to the computer (works with MZ-RH1 Walkman only)
  • downloadhack.py - allows transfer of tracks from the computer to NetMD (using unencumbered keys)
  • dump_md.py - allows analogue transfers of tracks from NetMD to the computer (any NetMD Walkman)
  • lsusb.py - sample implementation of lsusb command using usb1.py
  • mdctl.py - pdb-based command line to test libnetmd.py methods

Libraries:

  • libnetmd.py - implementation of a NetMD library in Python (core module)
  • libusb1.py - Ctypes-based python wrapper around libusb1
  • usb1.py - object definitions for libusb1.py functions

Steps todo

  • Finish already provided libnetmd
  • Extend QHiMDTransfer to interface the new libnetmd
  • Rename QHiMDTransfer to SyncMD (maybe)

Resources

  • netmdlinux - local Wiki page with many links for further reading regarding NetMD (includes specifications and patents)
portingnetmd.1302965827.txt.gz · Last modified: 2011/04/16 14:57 by glaubitz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki