public memRow(eType Type, uint StartAddress, int RowNumber, eFamily Family)
            {
                m_Data = new ushort[PM33F_ROW_SIZE * 2];

                int Size = 0;

                m_RowNumber = RowNumber;
                m_eFamily   = Family;
                m_eType     = Type;
                m_bEmpty    = true;

                if (m_eType == eType.Program)
                {
                    if (m_eFamily == eFamily.dsPIC30F)
                    {
                        m_RowSize = PM30F_ROW_SIZE;
                    }
                    else
                    {
                        m_RowSize = PM33F_ROW_SIZE;
                    }
                }
                else
                {
                    m_RowSize = EE30F_ROW_SIZE;
                }

                if (m_eType == eType.Program)
                {
                    Size      = m_RowSize * 3;
                    m_Address = (uint)(StartAddress + RowNumber * m_RowSize * 2);
                }
                if (m_eType == eType.EEprom)
                {
                    Size      = m_RowSize * 2;
                    m_Address = (uint)(StartAddress + RowNumber * m_RowSize * 2);
                }
                if (m_eType == eType.Config)
                {
                    Size      = 3;
                    m_Address = (uint)(StartAddress + RowNumber * 2);
                }

                m_pBuffer = new byte[Size];

                for (int i = 0; i < (PM33F_ROW_SIZE * 2); i++)
                {
                    m_Data[i] = 0xFFFF;
                }
            }
            public memRow(eType Type, uint StartAddress, int RowNumber, eFamily Family)
            {
                m_Data = new ushort[PM33F_ROW_SIZE * 2];

                int Size = 0;
                m_RowNumber = RowNumber;
                m_eFamily = Family;
                m_eType = Type;
                m_bEmpty = true;

                if (m_eType == eType.Program)
                {
                    if (m_eFamily == eFamily.dsPIC30F)
                    {
                        m_RowSize = PM30F_ROW_SIZE;
                    }
                    else
                    {
                        m_RowSize = PM33F_ROW_SIZE;
                    }
                }
                else
                {
                    m_RowSize = EE30F_ROW_SIZE;
                }

                if (m_eType == eType.Program)
                {
                    Size = m_RowSize * 3;
                    m_Address = (uint)(StartAddress + RowNumber * m_RowSize * 2);
                }
                if (m_eType == eType.EEprom)
                {
                    Size = m_RowSize * 2;
                    m_Address = (uint)(StartAddress + RowNumber * m_RowSize * 2);
                }
                if (m_eType == eType.Config)
                {
                    Size = 3;
                    m_Address = (uint)(StartAddress + RowNumber * 2);
                }

                m_pBuffer = new byte[Size];

                for (int i = 0; i < (PM33F_ROW_SIZE * 2); i++) m_Data[i] = 0xFFFF;
            }
 public sDevice(string _n, ushort _id, ushort _pid, eFamily _fam)
 {
     pName = _n; Id = _id; ProcessId = _pid; Family = _fam;
 }
 public sDevice(string _n, ushort _id, ushort _pid, eFamily _fam)
 {
     pName = _n; Id = _id; ProcessId = _pid; Family = _fam;
 }