HCA Audio

From XentaxWiki
Jump to: navigation, search

Back to index | Edit this page

HCA

  • Format Type : Audio
  • Endian Order : Big Endian
  • Signature : HCA (not encrypted) / C8 C3 C1 00 (encrypted)


Format Specifications

// HCA file format

// big endian

// header
4 bytes (char) - signature // "HCA\x00" - not encrypted
                           // C8 C3 C1 00 - encrypted      0x00C1C3C8 & 0x7f7f7f7f = "HCA\x00"
2 bytes (uint16) - version   // 0x01 0x03 - v1.3
                             // 0x02 0x00 - v2.0
                             // 0x03 0x00 - v3.0
2 bytes (uint16) - header size

// format info
4 bytes (char) - format string // "fmt\x00"
1 byte (uint8) - channels
3 bytes (uint24) - sample rate
4 bytes (uint32) - frame count
2 bytes (uint16) - encoder delay
2 bytes (uint16) - encoder padding

// compression info (v2.0) or decoder info (v1.X), never both
4 bytes (char) - compression string // "comp"
//TODO

4 bytes (char) - decode string // "dec\x00"
//TODO

MultiEx BMS Script

Not written yet.

Notes and Comments

  • HCA files may be encrypted with XOR using 8-bytes keys.
  • HCA audio is often stored inside AWB Archive.

Games

List of games using this file format:

  • Boku wa Tomodachi ga Sukunai Portable (PSP) (*.HCA)
  • Heaven Burns Red (HCA audio packed inside AWB archive)
  • Priconne! Grand Masters (Android) (HCA audio packed inside AWB archive)
  • Super Robot Wars T (*.BIN)

And also some games listed here.

Compatible Programs

Applying HCA keys with foobar2000

  1. Create some directory on your desktop, call it for example "HCA Audio".
  2. Get your HCA key in hex form, for example 66 15 51 8E 8E CE D4 47.
  3. Create .hcakey file and put HCA key inside as hex data (8 bytes long). You can use hex editor for that.
  4. Put your AWB/ACB files inside a directory with .hcakey file.
    Final effect should look like this:
    Hca foobar tutorial 1.png
  5. Play AWB file in foobar2000 with vgmstream plugin installed.

See Also