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/26 09:48] – wikiadmin | himdmusictransferformac [2009/03/31 23:47] – 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 than 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 inside a library called " | 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 " | ||
+ | ===== 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 ===== | ===== Links ===== | ||
- | [[http:// | + | [[http:// |
+ | |||
+ | ===== Connecting the device to Linux, USB-Output ===== | ||
+ | |||
+ | < | ||
+ | [2405910.685270] usb 2-9: new full speed USB device using ohci_hcd and address 5 | ||
+ | [2405910.918600] usb 2-9: configuration #1 chosen from 1 choice | ||
+ | [2405910.926599] scsi18 : SCSI emulation for USB Mass Storage devices | ||
+ | [2405910.926599] usb-storage: | ||
+ | [2405910.926599] usb-storage: | ||
+ | [2405910.926599] usb 2-9: New USB device found, idVendor=054c, | ||
+ | [2405910.926599] usb 2-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 | ||
+ | [2405910.926599] usb 2-9: Product: Hi-MD | ||
+ | [2405910.926599] usb 2-9: Manufacturer: | ||
+ | [2405910.926599] usb 2-9: SerialNumber: | ||
+ | [2405916.130872] usb-storage: | ||
+ | [2405916.135091] scsi 18:0:0:0: Direct-Access | ||
+ | [2405916.147196] sd 18:0:0:0: [sdf] 149373 2048-byte hardware sectors (306 MB) | ||
+ | [2405916.154210] sd 18:0:0:0: [sdf] Write Protect is off | ||
+ | [2405916.154216] sd 18:0:0:0: [sdf] Mode Sense: 00 2a 05 00 | ||
+ | [2405916.154220] sd 18:0:0:0: [sdf] Assuming drive cache: write through | ||
+ | [2405916.181629] sd 18:0:0:0: [sdf] 149373 2048-byte hardware sectors (306 MB) | ||
+ | [2405916.187352] sd 18:0:0:0: [sdf] Write Protect is off | ||
+ | [2405916.187359] sd 18:0:0:0: [sdf] Mode Sense: 00 2a 05 00 | ||
+ | [2405916.187362] sd 18:0:0:0: [sdf] Assuming drive cache: write through | ||
+ | [2405916.187368] | ||
+ | [2405916.302773] sd 18:0:0:0: [sdf] Attached SCSI removable disk | ||
+ | [2405916.302773] sd 18:0:0:0: Attached scsi generic sg5 type 0 | ||
+ | [2406419.909323] usb 2-9: USB disconnect, address 5 | ||
+ | </ | ||
himdmusictransferformac.txt · Last modified: 2009/06/29 14:38 by wikiadmin