himdmusictransferformac
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 [2009/03/24 22:12] – wikiadmin | himdmusictransferformac [2009/03/27 19:57] – wikiadmin | ||
---|---|---|---|
Line 12: | Line 12: | ||
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" | 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" | ||
- | The software is a PPC-binary and contains much more functionality in its code that the GUI provides. For example, the code contains functions to format a HiMD or to encode ATRAC3-files, | + | 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, |
- | To the current knowledge, the code which interacts with the HiMD-filesystem (which resides in the folder " | + | The code does not use the system supplied USB mass storage driver to access |
Here a list of the C++-classes of the HiMD-code: | Here a list of the C++-classes of the HiMD-code: | ||
- | * CHiMDUtilityBase | + | * CHiMDUtilityBase: Base class for CHiMDFileSystem using classes |
- | * CHiMDMedium | + | * CHiMDMedium: Represents a specific HiMD medium. Each medium has a specific Disc ID which is obtained using a proprietary command |
- | * CHiMDIo | + | * CHiMDIo: Subclass of CSonyScsiIO, |
- | * CHiMDFindFile | + | * CHiMDFindFile: Represents the state of a search in the CHiMDFileSystem |
- | * CHiMDFileUtil | + | * CHiMDFileUtil: Class of nice helper functions on the CHiMDFileSystem |
- | * CHiMDFileSystem | + | * CHiMDFileSystem: Implementation of the FAT system (FAT16, 2k sectors) used on the MD |
- | * CHiMDFile | + | * CHiMDFile: Represents an open file on the FAT system |
* CHiMDDeviceManager | * CHiMDDeviceManager | ||
- | * CHiMDDevice | + | * CHiMDDevice: Represents a HiMD device, which might contain a HiMDMedium. The Medium should have a HiMDFileSystem. |
- | 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 | + | 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 |
+ | |||
+ | ===== Operation ===== | ||
+ | |||
+ | The following will try to explain in detail how the software works (incomplete). | ||
+ | |||
+ | ==== Download of an MP3 to a MiniDisc ==== | ||
+ | |||
+ | - Unmount the MiniDisc within MacOSX (the Disk-icon of the MiniDisc vanishes from desktop) | ||
+ | - Read disk-id and DES-encryption key from disk to generate key for block-encryption | ||
+ | - Fetch a 16kByte block of the source MP3 and encrypt it with some 3DES-like encryption, write into a 32kByte Buffer | ||
+ | - Fetch another 16kByte block, encrypt, write to the buffer and flush it | ||
+ | - Write the buffer to disk using special SCSI write-commands | ||
+ | - Repeat previous 3 commands until MP3 is written to disk | ||
+ | - Decode idv3-Tag from MP3 and create track-info and write to disk | ||
+ | - Once the application is closed, mount the disk in MacOS again (Icon reappars on desktop) | ||
+ | |||
+ | ===== Links ===== | ||
+ | |||
+ | [[http:// | ||
himdmusictransferformac.txt · Last modified: 2009/06/29 14:38 by wikiadmin