top of page
Search
bomocucatvehul

Cri Packed File Maker 1: A Simple and Effective Way to Compress and Decompress CPK Files



Log file generated by Driver Test Manager (DTM), a component of Microsoft's Windows Logo Kit (WLK) device certification software; contains a testing report, which logs information about a hardware device; used for submitting test results to Microsoft so that a device may be certified for Windows; also used for debugging failed tests.




Cri Packed File Maker 1




The Sega CD and Sega Saturn video game consoles both played games stored on CD-ROMs. These games used video files saved using Sega's proprietary FILM video format. FILM files were saved with a variety of extensions, including .FILM_CPK, .cpk, .film, and .CAK.


Because CPK files are so uncommon, most popular media players cannot play them. However, you can play CPK files in VLC media player, and you can convert CAK files to a more usable video format using FFmpeg.


The FileInfo.com team has independently researched all file formats and software programs listed on this page. Our goal is 100% accuracy and we only publish information about file types that we have verified.


On top of the main ADPCM encoding, the ADX toolkit also includes a sibling format, AHX, which uses a variant of MPEG-2 audio intended specifically for voice recordings and a packaging archive, AFS, for bundling multiple CRI ADX and AHX tracks into a single container file.


Version 2 of the format (ADX2) uses the HCA and HCA-MX extension, which are usually bundled into a container file with the extensions ACB and AWB.The AWB extension is not to be confused with the Audio format with the same extension and mostly contains the binary data for the HCA files.


Like other encoding formats, CRI ADX supports multiple sampling frequencies such as 22050 Hz, 44100 Hz, 48000 Hz, etc. however, the output sample depth is locked at 16bits, generally due to the lack of precision already mentioned. It supports multiple channels but there seems to be an implicit limitation of stereo (2 channel) audio although the file format itself can represent up to 255 channels. The only particularly distinctive feature that sets CRI ADX apart from alternatives like IMA ADPCM (other than having a different prediction function) is the integrated looping functionality, this enables an audio player to optionally skip backwards after reaching a single specified point in the track to create a coherent loop; hypothetically, this functionality could be used to skip forwards as well but that would be redundant since the audio could simply be clipped with an editing program instead.


As a side note, the AFS archive files that CRI ADXs are sometimes packed in are a simple variant of a tarball which uses numerical indices to identify the contents rather than names. Source code for an extractor can be found in the ADX archive at.[2]


Most of the above code should be straightforward enough for anyone versed in C. The 'ADX_header' pointer refers to the data extracted from the header as outlined earlier, it is assumed to have already been converted to the host Endian. This implementation is not intended to be optimal and the external concerns have been ignored such as the specific method for sign extension and the method of acquiring a bitstream from a file or network source. Once it completes, there will be samples_needed sets (if stereo, there will be pairs for example) of samples in the output buffer. The decoded samples will be in host-endian standard interleaved PCM format, i.e. left 16bit, right 16bit, left, right, etc. Finally, if looping is not enabled, or not supported, then the function will return the number of sample spaces that were not used in the buffer. The caller can test if this value is not zero to detect the end of the stream and drop or write silence into the unused spaces if necessary.


CRI ADX supports a simple encryption scheme which XORs values from a linear congruential pseudorandom number generator with the block scale values. This method is computationally inexpensive to decrypt (in keeping with CRI ADX's real-time decoding) yet renders the encrypted files unusable. The encryption is active when the "Flags" value in the header is 0x08. As XOR is symmetric the same method is used to decrypt as to encrypt. The encryption key is a set of three 16-bit values: the multiplier, increment, and start values for the linear congruential generator (the modulus is 0x8000 to keep the values in the 15-bit range of valid block scales). Typically all ADX files from a single game will use the same key.


Even if the encrypted CRI ADX is the only sample available, it is possible to determine a key by assuming that the scale values of the decrypted CRI ADX must fall within a "low range". This method does not necessarily find the key used to encrypt the file, however. While it can always determine keys that produce an apparently correct output, errors may exist undetected. This is due to the increasingly random distribution of the lower bits of the scale values, which becomes impossible to separate from the randomness added by the encryption.


All identified DUF266 proteins had conserved core-2/I-branching domain which was designated as PF02485 domain in Pfam [24]. A total of 187 DUF266 proteins were identified from 10 plant genomes (Additional file 2, Additional file 3). The average amino acid length was 378 but the number of DUF266 proteins varied among plant species (Additional file 2, Additional file 3). Ye et al. identified 22 DUF266 proteins from Arabidopsis and 27 from Populus (based on Populus trichocarpa v2.0 genome annotation) [20]. Due to updated Populus trichocarpa genome annotation (v3.0), 25 Populus loci have been identified as DUF266 proteins in the present study. Current Populus genome (v3.0) no longer has four proteins previously reported by Ye et al. [20], and two newly annotated proteins were identified as DUF266 proteins (Potri.003G002400 and Potri.T037500) in the present study. Identified Populus DUF266 proteins are listed in the Additional file 4 with comparison of those identified by Ye et al. [20]. We also identified one additional rice DUF266 protein (Additional file 3) [22]. The majority of DUF266 proteins (86% of all identified DUF266 proteins) possess a single TM at the N-terminus (Additional file 3). Besides TM and DUF266, no other functional domain was predicted in the protein domain analysis.


In this study, we identified DUF266 proteins in 10 plant species including moss, lycophyte, corn, rice, Amborella, Populus, grape, Eucalyptus, Arabidopsis, and soybean. Chlorophyte genome did not contain any DUF266 proteins when the protein similarity analysis was performed with moss DUF266 domain of Pp3c1_23610 or with the DUF266 domain of PdDUF266A (data not shown). A total of 187 DUF266 proteins were identified in these 10 different plant species (Additional files 2, 3). It appeared that DUF266 proteins are only present in embryophytes. Maximum likelihood phylogenetic tree clustered those proteins into five different clades (Fig. 1). The fewer number of GTs in lycophyte, S. moellendroffii, was also reported previously in the genome analysis [46]. Cell walls in S. moellendroffii display identical cell wall composition with higher plant species, but vascular formation differs [46]. This is consistent with the notion that S. moellendroffii, a lycophyte, has overlapped features between ancient and higher land plant species. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page