geoFAX Menu - Return back
![]() |
geoFAX Takes the 64 Beyond Its Capabilities! |
This page was updated on October 7, 1997 at 10:00 pm.
Gaining a little insight to geoFAX
Accomplishing a seemingly impossible feat, Maurice Randall has managed to create a software package for GEOS that allows you to send and receive faxes with any other fax machine or another computer running its own version of fax software. But there were problems along the way.
The biggest stumbling block during the development of this software was the fact that a 64 or 128 can't communicate with a modem at the same time it is communicating with a disk drive. This was the limiting factor in the design of geoFAX. The fax protocol does not allow for any stopping and restarting during drive access. This partly stems from the fact that fax machines never had disk drives. They always printed directly to paper as the fax came in. The print mechanism could keep up because a fax is sent a line at a time. As the receiving machine decodes the line it prepares its print head to pop the entire line of pixels onto the page all at once. Meanwhile, the next line is coming in.
The drawback here is that the receiver is not allowed to tell the sender to stop and wait while the line is being printed. That's ok because this method of printing is pretty fast. So, the sender just keeps on sending one line after another without any pauses at all. The receiving fax machine just keeps putting the data on paper and scrolling up for the next line of data.
Now, let's look at a computer receiving a fax. Since a computer can receive a fax directly into memory, the continuous data being received is no problem. The fax is stored in ram and when the page is complete, it gets sent to a disk file. There is about a 5 second time period in between pages where the computer can do this. But the 64 has very little memory and can't store a whole page in memory. A simple fax can be maybe 50K or so, while a very detailed one can be 500K!
Timing was critical in getting geoFAX to deal with this. In normal telecommunications where you are uploading and downloading files, the protocols used always send 256 or 1024 bytes or so at a time. In between these chunks of data, the sender will wait while the receiver is saving the data to disk. This slows down the data transfer, but it also allows a machine with slow disk drives to keep up.
In order for geoFAX to get a little help, the only solution was to get the modem to assist. geoFAX is connected to the modem at a speed of 19,200 or 38,400 depending on the modem, but the actual speed of the data being sent and received to/from the other fax machine ranges anywhere from 2400 to 14,400 bps. So, geoFAX can pull data from the modem faster than the modem is receiving it from the fax machine. Likewise, it can send data to the modem faster than the modem is sending it to the fax machine. When geoFAX has received enough data to fill one sector on the disk, it tells the modem to stop sending data to geoFAX while it goes and writes the sector to disk. Meanwhile, the fax machine at the other end is still sending data. That's ok because the modem is capturing that data into its own ram. When geoFAX is done writing the sector to disk, it goes and gets more data from the modem that it was gathering up. This cycle keeps repeating until the entire page is finished.
Now, you can see that there must be enough ram in the modem to accomplish this. If not, then geoFAX will either perform very poorly or not even work at all. geoFAX still requires the modem to fax machine speed to be kept to a minimum for this to work. The faster the disk drive is, the faster the connection speed you can use. geoFAX can be set for slightly faster speeds when sending because it can read data from the drive faster than it can write data.
Fax Classes
Only certain modems will work with geoFAX. The ram issue is one deciding factor. Another issue is the type of Class that the modem supports. There are 3 popular types, Class 1, Class 2, and Class 2.0. geoFAX doesn't work with Class 1. It only works with Class 2 and 2.0. Making a fax program work with Class 1 involves the same problem that has already been discussed here, the fact that a modem must have some internal ram. It is likely that Class 1 modems don't have any ram. Some of them might have ram, but there is no way of knowing since the Class 1 standard doesn't provide a command for determining it. The other issue is that a Class 1 modem requires much more involvement on the computer software and would require more programming work to make geoFAX work. But Maurice feels it's not worth the effort without the extra ram in the modem.
All in all, geoFAX works quite well and when operating from a ramdisk,
it can scoot right along and keep up with the big boys in the world of
faxing.
Material on this page is Copyright © 1997 by Maurice
Randall
Permission is granted to recognized Commodore User
Groups to
reproduce any portion of this for their own use, such
as a newsletter
or BBS, etc.
Copyright © 2001-2007 Click Here Software Co.
Comments and questions regarding this site
should be directed to support@cmdrkey.com