| | Having
developed entire subsystems (graphical, compression, etc.) for several OSs, we
have thorough knowledge of how system software works. Among completed projects:
Implementation of POSIX-compliant APIsThis following is a brief
CyNIX specification — for this operating system, we've developed API, SDK, graphics
and compression subsystems, and the Java machine: - POSIX-compatible;
EL/IX specification (Embedded Linux, levels 1, 2, and 3) supported as well
- Less
than 1M footprint with Java2 Micro Edition (CLDC/MIDP) included
- Modular structure,
highly configurable to any particular needs
- Runs on ARM7/ARM9 CPUs, although
portable to other hardware
- Features compressed modules and archives
- Dynamic
libraries (shared objects), supporting symbolic linkage
- Both Unicode and multi-byte
characters supported
- Extensive C/C++ graphics library; its low-level subset
made somewhat similar to respective J2 Micro Edition classes for increased usability
- Easy to use SDK featuring C and C++ compilers, support tools, various converters
and utilities, artwork (4300+ files) for royalty-free use in applications, and
extensive documentation
- PIM-style sample applications (like phone book/dialer),
in both C/C++ and Java; full source code included with the SDK
Gated open
source distribution
Programming
Intel, ARM, Motorola, Hitachi, etc. CPUsWe've written programs for Intel,
ARM, Hitachi, Motorola, and other CPUs, using both high-level languages and respective
processors' assemblers. Some of those applications were time-critical,
requiring thorough knowledge of processor features to maximize their potential
- such were real-time compressors/decompressors (some built into OSs), low level
graphics procedures, as well as bytecode interpreters. For our development
tools, we implemented back-ends, employing high level of optimization, for Intel,
Motorola, and Hitachi CPUs. Having developed entire subsystems (graphical,
compression, etc.) for several OSs, we have intimate knowledge of how system software
works. Among completed projects:
Fast real-time compressors-decompressorsWe have proprietary compressor
working with a 4k sliding window dictionary, and having outstanding speed performance,
which makes it exceptionally well suited for real-time applications such as on-the-fly
"transparent" compression/decompression. Its compression speed
is slightly better than of all of the other compressor belonging to the LZ77 family
of compressors, while decompression speed is amazingly high, being very close
to RLE. Which, in turn, means that decompression is almost as fast as reading
uncompressed data. This compressor, therefore, is even better suited for
real-time applications than the patented (by Unisys) LZW compressor that is used
for GIF files. But, unlike LZW, its use is completely free. Customized
compressors with optimum ratios for specific data setsWe have developed
a special file statistics-gathering application that, if run on a substantial
amount of data, is capable of semi-automatic building of compressors optimal for
such data. It works by compiling tables of relative frequencies of particular
lengths of any repeating sequences of bytes, as well as distances to such sequences
within compressor's sliding window dictionary. The result is a set of Huffman
code tables that is optimal for a given particular type of data. This technology
had been successfully used for the built-in compressor of an operating system
used in PDAs. Powerful compressors beating ZIP and matching
RARThis particular compressor uses block sorting technique and does best
when used on large volumes of data. It has great compression strength, almost
always beating ZIP, sometimes by a huge margin, and often beating RAR, but is
not as light-weight as our other compressors. We guarantee that the underlying
technology is 100% royalty-free. Image optimizersWe
have developed a number of image optimization techniques. All are effective, but
some are truly unique. For instance, for use with Abot, we have developed
a dithering (a.k.a. color approximation error propagation) algorithm working on
just individual lines of a high-color image, with great results. Another
interesting algorithm worth mentioning here is HLS-based (Hue-Luminance-Saturation)
color reduction algorithm, capable of preserving "overall" impression
made by the image. As an example, suppose you reduced number of colors in an image
to just one; that one color would then be equivalent to the color you would "perceive"
if you looked at the original, unmodified image from such a long distance that
the entire image would appear to be a single colored spot, or even dot). Such
algorithms, along with animation optimizers and other such tools, are instrumental
in building high-performance graphical OS subsystems for limited devices. | |