]> granicus.if.org Git - file/commitdiff
new magic from Thomas M. Ott
authorChristos Zoulas <christos@zoulas.com>
Sat, 14 Nov 2015 13:38:35 +0000 (13:38 +0000)
committerChristos Zoulas <christos@zoulas.com>
Sat, 14 Nov 2015 13:38:35 +0000 (13:38 +0000)
magic/Magdir/sinclair
magic/Magdir/vacuum-cleaner [new file with mode: 0644]

index f9127bb79bc548c23f7c3fad82b82ee319328bfd..bd4f12015fe0e88e1c96483f07eac9457ec85214 100644 (file)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File$
+# $File: sinclair,v 1.5 2009/09/19 16:28:12 christos Exp $
 # sinclair:  file(1) sinclair QL
 
 # additions to /etc/magic by Thomas M. Ott (ThMO)
 >4     string  >\0             label:%.10s
 
 # Sinclair QL OS dump (ThMO)
-# (NOTE: if `file' would be able to use indirect references in a endian format
-#       differing from the natural host format, this could be written more
-#       reliably and faster...)
-#
-# we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more
-# than the first 8K of a file... #-(
-#
-#0             belong  =0x30000
-#>49124                belong  <47104
-#>>49128               belong  <47104
-#>>>49132      belong  <47104
-#>>>>49136     belong  <47104  QL OS dump data,
-#>>>>>49148    string  >\0     type %.3s,
-#>>>>>49142    string  >\0     version %.4s
+0              belong  =0x30000
+>49124         belong  <47104
+>>49128                belong  <47104
+>>>49132       belong  <47104
+>>>>49136      belong  <47104  QL OS dump data,
+>>>>>49148     string  >\0     type %.3s,
+>>>>>49142     string  >\0     version %.4s
 
 # Sinclair QL firmware executables (ThMO)
 0      string  NqNqNq`\004     QL firmware executable (BCPL)
diff --git a/magic/Magdir/vacuum-cleaner b/magic/Magdir/vacuum-cleaner
new file mode 100644 (file)
index 0000000..88e1140
--- /dev/null
@@ -0,0 +1,54 @@
+
+#------------------------------------------------------------------------------
+# $File: vax,v 1.9 2014/04/30 21:41:02 christos Exp $
+# vacuum cleaner magic by Thomas M. Ott (ThMO)
+#
+# navigation map for LG robot vacuum cleaner models VR62xx, VR64xx, VR63xx
+# file: MAPDATAyyyymmddhhmmss_xxxxxx_cc.blk
+# -> yyyymmdd: year, month, day of cleaning
+# -> hhmmss: hour, minute, second of cleaning
+# -> xxxxxx: 6 digits
+# -> cc: cleaning runs counter
+# size: 136044 bytes
+#
+# struct maphdr {
+#     int32_t  map_cnt;             /*  0: single map */
+#     int32_t  min_ceil;     /*  4: 100 mm == 10 cm == min. ceil */
+#     int32_t  max_ceil;     /*  8: 10000 mm == 100 m == max. ceil */
+#     int32_t  max_climb;    /* 12: 50 mm = 5 cm == max. height to climb */
+#     int32_t  unknown;             /* 16: 50000 ??? */
+#     int32_t  cell_bytes;   /* 20: # of bytes for cells per block */
+#     int32_t  block_max;    /* 24: 1000 == max. # of blocks */
+#     int32_t  route_max;    /* 28: 1000 == max. # of routes */
+#     int32_t  used_blocks;  /* 32: 5/45/33/... == # of block entries used! */
+#     int32_t  cell_dim;     /* 36: 10 == cell dimension */
+#     int32_t  clock_tick;   /* 40: 100 == clock ticks */
+# #if  0
+#     struct {              /* 44: 1000 blocks for 10x10 cells */
+#         int32_t  yoffset;
+#         int32_t  xoffset;
+#         int32_t  posxy;
+#         int32_t  timecode;
+#       }      blocks[ 1000];
+#     char     cells[ 1000* 100]; /* 16044: 1000 10x10 cells */
+#     int16_t  routes[ 1000* 10]; /* 116044: 1000 10-routes */
+# #endif
+#   };
+
+0                lelong =1
+>4               lelong =100
+>>8              lelong =10000
+>>>12            lelong =50
+>>>>16           lelong =50000
+>>>>>20          lelong =100
+>>>>>>24         lelong =1000
+>>>>>>>28        lelong =1000
+>>>>>>>>36       lelong =10
+>>>>>>>>>40      lelong =100
+>>>>>>>>>>32     lelong x       LG robot VR6[234]xx %dm^2 navigation
+>>>>>>>>>>136040 lelong =-1     reuse map data
+>>>>>>>>>>136040 lelong =0      map data
+>>>>>>>>>>136040 lelong >0      spurious map data
+>>>>>>>>>>136040 lelong <-1     spurious map data
+
+