Index: trunk/SophyaLib/BaseTools/fiondblock.cc
===================================================================
--- trunk/SophyaLib/BaseTools/fiondblock.cc	(revision 3657)
+++ trunk/SophyaLib/BaseTools/fiondblock.cc	(revision 3661)
@@ -117,4 +117,6 @@
 inline void PIOSReadArray(PInPersist & is, uint_1 * arr, size_t n)
 { is.GetBytes(arr, n); }
+inline void PIOSReadArray(PInPersist & is, int_1 * arr, size_t n)
+{ is.Get(arr, n); }
 inline void PIOSReadArray(PInPersist & is, uint_2 * arr, size_t n)
 { is.Get(arr, n); }
@@ -184,9 +186,10 @@
 #pragma define_template FIO_NDataBlock<uint_1>
 #pragma define_template FIO_NDataBlock<uint_2>
+#pragma define_template FIO_NDataBlock<uint_4>
+#pragma define_template FIO_NDataBlock<uint_8>
+#pragma define_template FIO_NDataBlock<int_1>
 #pragma define_template FIO_NDataBlock<int_2>
 #pragma define_template FIO_NDataBlock<int_4>
 #pragma define_template FIO_NDataBlock<int_8>
-#pragma define_template FIO_NDataBlock<uint_4>
-#pragma define_template FIO_NDataBlock<uint_8>
 #pragma define_template FIO_NDataBlock<r_8>
 #pragma define_template FIO_NDataBlock<r_4>
@@ -200,9 +203,10 @@
 template class FIO_NDataBlock<uint_1>;
 template class FIO_NDataBlock<uint_2>;
+template class FIO_NDataBlock<uint_4>;
+template class FIO_NDataBlock<uint_8>;
+template class FIO_NDataBlock<int_1>;
 template class FIO_NDataBlock<int_2>;
 template class FIO_NDataBlock<int_4>;
 template class FIO_NDataBlock<int_8>;
-template class FIO_NDataBlock<uint_4>;
-template class FIO_NDataBlock<uint_8>;
 template class FIO_NDataBlock<r_8>;
 template class FIO_NDataBlock<r_4>;
Index: trunk/SophyaLib/BaseTools/mutyv.h
===================================================================
--- trunk/SophyaLib/BaseTools/mutyv.h	(revision 3657)
+++ trunk/SophyaLib/BaseTools/mutyv.h	(revision 3661)
@@ -32,7 +32,9 @@
   inline MuTyV() { typ = MTVInteger; iv = 0;  dv = dv_im = 0.;  strv = NULL; }
          MuTyV(MuTyV const & a);
+  inline MuTyV(uint_1 i) { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
   inline MuTyV(uint_2 i) { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
   inline MuTyV(uint_4 i) { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
   inline MuTyV(uint_8 i) { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
+  inline MuTyV(int_1 i)  { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
   inline MuTyV(int_2 i)  { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
   inline MuTyV(int_4 i)  { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
@@ -52,7 +54,9 @@
  
          MuTyV & operator= (MuTyV const & a);
+  inline MuTyV & operator= (uint_1 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
   inline MuTyV & operator= (uint_2 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
   inline MuTyV & operator= (uint_4 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
   inline MuTyV & operator= (uint_8 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
+  inline MuTyV & operator= (int_1 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
   inline MuTyV & operator= (int_2 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
   inline MuTyV & operator= (int_4 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(*this); }
@@ -68,7 +72,9 @@
          TimeStamp const& operator= (TimeStamp const & s);
 
+  inline operator uint_1() const { return((uint_1)iv); }
   inline operator uint_2() const { return((uint_2)iv); }
   inline operator uint_4() const { return((uint_4)iv); }
   inline operator uint_8() const { return((uint_8)iv); }
+  inline operator int_1()  const { return((int_1)iv); }
   inline operator int_2()  const { return((int_2)iv); }
   inline operator int_4()  const { return((int_4)iv); }
@@ -82,8 +88,10 @@
          operator TimeStamp() const ; 
 
+  inline uint_1 Convert(uint_1& x) const { x = (uint_1)iv; return x; }
   inline uint_2 Convert(uint_2& x) const { x = (uint_2)iv; return x; }
   inline uint_4 Convert(uint_4& x) const { x = (uint_4)iv; return x; }
   inline uint_8 Convert(uint_8& x) const { x = (uint_8)iv; return x; }
-  inline int_4 Convert(int_2& x) const { x = (int_2)iv; return x; }
+  inline int_1 Convert(int_1& x) const { x = (int_1)iv; return x; }
+  inline int_2 Convert(int_2& x) const { x = (int_2)iv; return x; }
   inline int_4 Convert(int_4& x) const { x = (int_4)iv; return x; }
   inline int_8 Convert(int_8& x) const { x = iv; return x; }
Index: trunk/SophyaLib/BaseTools/ndatablock.cc
===================================================================
--- trunk/SophyaLib/BaseTools/ndatablock.cc	(revision 3657)
+++ trunk/SophyaLib/BaseTools/ndatablock.cc	(revision 3661)
@@ -812,4 +812,5 @@
 #pragma define_template NDataBlock<uint_1>
 #pragma define_template NDataBlock<uint_2>
+#pragma define_template NDataBlock<int_1>
 #pragma define_template NDataBlock<int_2>
 #pragma define_template NDataBlock<int_4>
@@ -827,4 +828,5 @@
 template class NDataBlock<uint_1>;
 template class NDataBlock<uint_2>;
+template class NDataBlock<int_1>;
 template class NDataBlock<int_2>;
 template class NDataBlock<int_4>;
