Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
himdmusictransferformac [2008/12/14 16:44] – 89.247.200.106 | himdmusictransferformac [2009/03/24 22:14] – wikiadmin |
---|
| |
| |
This software could help developing a Linux-software by analyzing the code of the transfer-program which is only about 1,5 Mbytes in binary. One attempt could be stripping down the binary to X86-code only with [[http://www.xslimmer.com/]] and then disassemble with a X86-disassembler for Windows like IDA Pro. | This software could help developing a Linux-software by analyzing the code of the transfer-program which is only about 1,5 Mbytes in binary. It appears that only the binary "HiMD Music Transfer" itself is necessary to communicate with the HiMD-Walkman, so the code to be analyzed is very few. The additional program "HiMD Monitor" is obviously only necessary to monitor whether a HiMD-Walkman is connected to the Mac and create a shortcut-link on the desktop to the transfer program once the walkman is connected. |
| |
It appears that only the binary "HiMD Music Transfer" itself is necessary to communicate with the HiMD-Walkman, so the code to be analyzed is very few. The additional program "HiMD Monitor" is obviuously only necessary to monitor whether a HiMD-Walkman is connected to the Mac and create a shortcut-link on the desktop to the transfer program once the walkm an is connected. | The software is a PPC-binary and contains much more functionality in its code than the GUI provides. For example, the code contains functions to format a HiMD or to encode ATRAC3-files, even though the GUI does not provide any functionality for that. Furthermore the code contains all debug-symbols and is not secured against disassembling like the Windows-software SonicStage with its ocm-files. Loading the transfer-program into IDA Pro Advanced (with PPC-support) one gets huge information regarding the functionality of the software. Unfortunately there isn't any NetMD-functionality, which probably comes from the fact that NetMD uses it's own USB-protocol and thus requires also it's own driver. |
| |
| To the current knowledge, the code which interacts with the HiMD-filesystem (which resides in the folder "HMDHIFI" on the HiMD) is written in C++. Several classes represent the HiMDFileSystem, a HiMDFile, HiMDIo and more. They provide methods to format a HiMD, add/delete/rename tracks, create/delete folders etc. The actual filesystem which stores the audio is an image-file which is itself a FAT-filesystem with 2kb Sectorsize. |
| |
| Here a list of the C++-classes of the HiMD-code: |
| |
| * CHiMDUtilityBase |
| * CHiMDMedium |
| * CHiMDIo |
| * CHiMDFindFile |
| * CHiMDFileUtil |
| * CHiMDFileSystem |
| * CHiMDFile |
| * CHiMDDeviceManager |
| * CHiMDDevice |
| |
| |
| The goal here is to fully understand the C++-code which contains the HiMD-functionality and reimplement the code in C/C++ again. That code would reside inside a library called "libhimd" which then can be used from a simple Qt-based GUI to provide the functionality (and beyond :)) of "HiMD Transfer for Mac" on all platforms which support Qt. |
| |