Beginnings of System Fusion payload regeneration.

This commit is contained in:
Jonathan Naylor
2016-02-28 20:34:37 +00:00
parent bea76da41f
commit 2cce91e94f
12 changed files with 482 additions and 19 deletions

View File

@@ -87,7 +87,7 @@ bool CYSFFICH::decode(const unsigned char* bytes)
}
unsigned char output[13U];
viterbi.chainback(output);
viterbi.chainback(output, 96U);
unsigned int b0 = CGolay24128::decode24128(output + 0U);
unsigned int b1 = CGolay24128::decode24128(output + 3U);
@@ -159,9 +159,29 @@ void CYSFFICH::encode(unsigned char* bytes)
}
}
unsigned char CYSFFICH::getFI() const
{
return (m_fich[0U] >> 6) & 0x03U;
}
unsigned char CYSFFICH::getCM() const
{
return m_fich[0U] & 0x0CU;
return (m_fich[0U] >> 2) & 0x03U;
}
unsigned char CYSFFICH::getBN() const
{
return m_fich[0U] & 0x03U;
}
unsigned char CYSFFICH::getBT() const
{
return (m_fich[1U] >> 6) & 0x03U;
}
unsigned char CYSFFICH::getFN() const
{
return (m_fich[1U] >> 3) & 0x07U;
}
unsigned char CYSFFICH::getFT() const
@@ -169,9 +189,39 @@ unsigned char CYSFFICH::getFT() const
return m_fich[1U] & 0x07U;
}
unsigned char CYSFFICH::getFN() const
unsigned char CYSFFICH::getDT() const
{
return (m_fich[1U] & 0x38U) >> 3;
return m_fich[2U] & 0x03U;
}
void CYSFFICH::setFI(unsigned char fi)
{
m_fich[0U] &= 0x3FU;
m_fich[0U] |= (fi << 6) & 0xC0U;
}
void CYSFFICH::setBN(unsigned char bn)
{
m_fich[0U] &= 0xFCU;
m_fich[0U] |= bn;
}
void CYSFFICH::setBT(unsigned char bt)
{
m_fich[1U] &= 0x3FU;
m_fich[1U] |= (bt << 6) & 0xC0U;
}
void CYSFFICH::setFN(unsigned char fn)
{
m_fich[1U] &= 0xE7U;
m_fich[1U] |= (fn << 3) & 0x1CU;
}
void CYSFFICH::setFT(unsigned char ft)
{
m_fich[1U] &= 0xF8U;
m_fich[1U] |= ft;
}
void CYSFFICH::setMR(unsigned char mr)