Index: trunk/Mars/mcorsika/MCorsikaRead.cc
===================================================================
--- trunk/Mars/mcorsika/MCorsikaRead.cc	(revision 18541)
+++ trunk/Mars/mcorsika/MCorsikaRead.cc	(revision 18542)
@@ -393,5 +393,5 @@
     gLog << " identifier=" << fBlockIdentifier << " length=" << fBlockLength; 
     gLog << " readState= " << fReadState << endl;
-*/   
+*/
    if (fReadState == 3 && fBlockType != 1210)
       // fReadState == 3    means we have read the event end 
@@ -499,5 +499,5 @@
                break;
 
-            case 1201:       // telescope position
+            case 1201:       // telescope positions
                status = ReadTelescopePosition();
                break;
@@ -525,4 +525,36 @@
                fReadState = 2;
                break;
+
+            case 1203: // 16 bytes
+                fInFormat->Seek(fBlockLength);
+                break;
+
+            case 1212:
+                {
+                    char *buf = new char[fBlockLength];
+                    fInFormat->Read(buf, fBlockLength);
+                    status = kTRUE;
+
+                    char *ptr = buf;
+
+                    unsigned int n = ((int*)ptr)[0];
+                    ptr += 4;
+
+                    cout << endl;
+
+                    for (unsigned int i=0; i<n && ptr<buf+fBlockLength; i++)
+                    {
+                        unsigned short s = ((unsigned short*)ptr)[0];
+                        ptr += 2;
+
+                        cout << string(ptr, ptr+s) << '\n';
+                        ptr += s;
+                    }
+                    cout << '\n' << endl;
+
+                    delete [] buf;
+                }
+                break;
+
 
             case 1204: // top level block for one array (only for eventio data)
@@ -542,8 +574,8 @@
                {
                Int_t telIdx   = fBlockIdentifier % 1000;
-               if (fBlockVersion == 0                               &&
+               if ((fBlockVersion == 0 || fBlockVersion == 1000)                              &&
                      (fTelescopeIdx < 0 || fTelescopeIdx ==  telIdx)     )
                   {
-                  status = fEvent->ReadEventIoEvt(fInFormat);
+                  status = fBlockVersion==0 ? fEvent->ReadEventIoEvt(fInFormat) : fEvent->ReadEventIoEvtCompact(fInFormat);
 
                   Int_t arrayIdx = fBlockIdentifier / 1000;
@@ -566,5 +598,5 @@
             case 1209:  // the event end
                status = fEvtHeader->ReadEvtEnd(fInFormat);
-               
+
                if (fReadState == 10 || fReadState == 2)
                   {
