Farba Research Legacy Products

Farba Research now sells only services. Consulting services, programming services, and product design and development services. However, we did have a few products for sale "back in the day". Those legacy products, described here, are all now given away FREE. However, these things generally require some individualized hand-holding, so we ask you to contact us about these instead of just downloading them directly.

The Farba Utilities (tm)

The Farba Utilities is a collection of dozens of programs that we have developed over the years for our own in-house use. These are very handy to have when doing any DOS development, and, since they are all hand-written in assembly language, they are very small and very fast. Small enough to ship inside of many x86 embedded systems, and fast enough to run just fine on 8088 class systems.

Even though they are small, each of these programs contains internal (where it cannot get lost) Help that is just enough (we claim) to make the program self-explanatory. Thus, no need to worry that a field-service technician, who might use one of these programs only once or twice a year, would be stymied by not being able to find the documentation at midnight. (There is, of course, separate full and complete documentation, with examples, of each program.)

Every program in the Farba Utilities collection is a well-behaved DOS program, meaning that it will run under any vendor's recent version of DOS, and that it will run just fine in a Microsoft Windows (any version) "DOS box".

FLINEMON (tm)

Here we program right down to the metal, so to speak. This is a line-monitor for RS-232 or RS-485 (or other) signals that is really fast (even though it is written in C). We crank the System Timer up far enough to get clock interrupts every 10 microseconds, and then monitor a communications port. In the case of a UART with FIFO, we turn the FIFO OFF to obtain the highest possible timing resolution for each received character.

Obviously, there can be nothing else going on while this high precision monitoring is taking place, so you need to dedicate a machine to this function. However, it only needs to be a 486/33 class machine which means that you can use some old machine that you undoubtedly have laying around anyway. Furthurmore, this machine only needs to be temporarily dedicated to this function. You just run FLINEMON whenever you want, and it will take over the whole machine and start performing its monitoring function. When you are finished with the monitoring operation you do not have to reboot the machine; all you have to do is kill FLINEMON (via special keystroke) and it will restore the machine to its natural state (to include resetting the DOS time of day from the motherboard's realtime clock chip.)

We are calling it FLINEMON (Farba Line Monitor) here, but this functionality is actually implemented as two separate programs. The first does the actual monitoring, blasting the received characters to the screen via direct video (so you can see that something is happening) as well as buffering them to a file on the hard disk. The second program is used, after the first has been terminated, to translate the contents of the hard disk file into something meaningful for your particular purposes.

NOTE: As you may know, Intel's Pentium chips contain an (ostensibly) undocumented instruction that will provide ultra-high timing resolution, in the form of an actual count of processor cycles since power-on. This would provide much higher timing resolution than FLINEMON. We have never bothered to implement any monitoring function using this Pentium specific capability because there are various pitfalls involving processor speed (thermal slowdowns and power saving modes, if nothing else) and we have never seen any need for better than 10us resolution anyway.

We do not offer a FLINEMON demo for download, because this is (yet another) one of our specialty programs that really needs to be customized for whatever specific purpose you might have in mind. Please contact us to discuss your specific needs.

FRAMDISK (tm)

How would you like to have a really big RAMdisk that is really REALLY fast? We have it, and its name is FRAMDISK (Farba RAM Disk).

FRAMDISK is very fast because we constrained it to run only in a specific environment (Extended-Real Mode), and then designed it carefully, and then wrote it in hand coded assembly language. FRAMDISK can be really huge (a gigabyte is no problem), because of its Extended-Real Mode environment.

Extended-Real Mode is a not-very-secret mode of the 386 (and up) processors, in which the machine runs in Real Mode (not Protected Mode), but with some (or all) of its data segment registers loaded with huge (32-bit) segment limits. This allows directly pointing anywhere in 32-bit physical memory with a 32-bit index register, in Real Mode. This is completely compatible with DOS (but not compatible with Microsoft Windows). Note that these processors have been reported to run as much as 15 percent faster in Real Mode than they do in Protected Mode. Note also that the Extended-Real Mode is here to stay, since HIMEM.SYS itself uses it.

FRAMDISK comes with a companion program, named FRAMSTAT, that can be used to retrieve detailed statistics information from the FRAMDISK device driver on demand.

We do not offer a FRAMDISK demo for download, because this is (yet another) one of our specialty products that needs to run in a carefully configured environment, without which the product would fail and we would look bad. Please contact us to discuss your specific application.

FCACHE (tm)

How would you like to have a really big disk cache that is really REALLY fast and that can be configured to never flush specific data (for instance, the FAT and/or selected directories)? We have it, and its name is FCACHE (Farba Cache).

FCACHE is very fast because we constrained it to run only in a specific environment (Extended-Real Mode), and then designed it carefully, and then wrote it in hand coded assembly language. FCACHE can be really huge (a gigabyte is no problem), because of its Extended-Real Mode environment. (See the definition of Extended-Real Mode above, in the FRAMDISK description.)

FCACHE comes with a companion program, named CACHECON, that can be used to retrieve detailed statistics information from the FCACHE cache on demand, and to lock-down or flush specific areas of the cache.

We do not offer a FCACHE demo for download, because this is (yet another) one of our specialty products that needs to run in a carefully configured environment, without which the product would fail and we would look bad. Please contact us to discuss your specific application.

DOSPROBE (tm)

Do you have an embedded system running DOS without any video hardware and/or without any keyboard (not the least bit unusual a scenario)? If so, how do you tell what is going on inside? How do you get it to run diagnostics on demand? If you are experiencing this sort of dilema, you need DOSPROBE.

DOSPROBE is a TSR that lives "under" DOS, that hooks and monitors the various BIOS keyboard input and video output APIs. DOSPROBE will (among various other things) grab a copy of every video output character and pump it out through a serial port, and will accept characters from the same serial port and feed them to the BIOS as if they had been typed on the embedded machine's keyboard.

This is highly useful for embedded systems that don't have video and/or keyboard hardware and never will, and it is also highly useful for embedded systems that sometimes have such hardware. The latter case is likely if your embedded design happens to use an actual PC clone motherboard (which is often much less expensive than implementing a custom board). In this case, you can develop with a keyboard and video board plugged in, and then ship the systems in quantity with the keyboards and video boards left out. You can use DOSPROBE at all times, since it coexists with the actual hardware just fine.

We do not (yet) offer a DOSPROBE demo for download, because every implementation so far contains custom additional functionality that would only work on non-standard machines. Please contact us to discuss your specific application.

Farba Products WORK