home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 4 Drivers
/
04-Drivers.zip
/
summa.zip
/
summa.txt
< prev
Wrap
Text File
|
1993-07-06
|
24KB
|
661 lines
=== WHAT IS IT ===
This is a driver for a Summa MM1201 format graphics tablet. This is a 12x12
format tablet. It is adjustable for size, however, and I expect that it will
function on other Summa tablets, and on compatibles.
=== WHAT FILES YOU NEED ===
Simply summa.sys. That's it.
=== HOW TO INSTALL ===
1. Copy, move or place the "summa.sys" file provided to your "X:\os2"
directory, where "X:" is the drive where os2 resides.
2. Edit \config.sys (the os/2 version config.sys). Locate the line:
DEVICE=D:\OS2\MOUSE.SYS <...>
(<...> means may have more on the command line). Place a REM <space> in front
of that. You can of course remove it later to reactivate this line. Type the
following lines in IN THE ORDER SHOWN on the next lines:
DEVICE=X:\OS2\SUMMA.SYS
DEVICE=X:\OS2\MOUSE.SYS TYPE=SUMMA$
Where "X:" is the drive where os/2 resides.
3. Assuming you have a Summa 12x12 or strict compatible, you can now reboot
and use the tablet instead of the mouse
NOTE THAT THIS IS FOR A TABLET WORKING ON COM1: ONLY.
=== RATHER LONG WINDED DISCUSSION ===
IBM instituted a system of "layered" drivers with os/2. So summa is a driver
that "plugs into" another driver, in this case "mouse.sys". Mouse.sys is the
generic IBM driver that comes with os/2 and is installed by the original
install program. The "type=xxx" thing tells mouse.sys that it is to plug into
an existing driver to get basic mouse position movements.
It's quite possible that you may already have a driver plugged into mouse.sys,
i.e., there is already a "type=xxx" following mouse.sys. It means that you
are using a mouse that was not supported by mouse.sys, and are already using
an alternative driver. Not a problem. Find the driver load statement
mentioned in the "type=xxx", and rem that out too (YOU MUST, OTHERWISE THE
DRIVERS WILL AGREE TO FIGHT !).
If you are not using the mouse on COM1, your line for summa.sys should appear
as follows:
DEVICE=X:\OS2\SUMMA.SYS SERIAL=COMn
Where you replace that little "n" with the com port you are using. I beleive
that the port address, and IRQ that you set up in the "DEVICE=X:\COM.SYS"
statement (see the os/2 documentation, the os/2 FAQ, etc. to see how to set
up com3 or com4). The baud rate, stop bits and similar parameters are set up
to match the summa tablet regardless of the COM.SYS setting.
The following options may appear on the summa.sys command line AFTER ANY
"SERIAL=COMn" TEXT:
/a - Sets the tablet to ABSOLUTE mode.
/r - Sets the tablet to RELATIVE mode (mouse emulation mode).
/xl:n - Sets the lower X limit of the tablet aperture, n = number.
/yl:n - Lower Y limit aperture.
/xh:n - Upper X limit aperture.
/yh:n - Upper Y limit aperture.
I'll discuss how these are used in a minute.
What devices are going to be able to use this driver ? I have the original
MM1201. Looking about at the computer shops, I see plenty of tablets that say
"summa compatible" on the box, whatever that means. I guess we are going to
find out.
he basic summa tablet interface defines a set of commands to be sent to the
tablet. The tablet can even send an "ID" string to the computer. I used NONE
of the fancy stuff, but instead I just send the minimum required to set the
tablet up in the proper mode, then receive the "reports" sent back from the
tablet after that. I beleive that this gives a good chance that other
"compatible" tablets will function. Here, in a nutshell, is how the tablet is
operated:
1. We set up COMX for 9600 baud, odd parity, one stop bit.
2. We send a AUTOBAUD command byte to the tablet. This must be done since
the tablet expects that upon power up.
3. We send a RESET command byte to the tablet.
4. We send a STREAM MODE command byte to the tablet. This causes the
tablet to send reports back continuously. The default mode is to send reports
back only if a button is pushed.
5. We accept reports back from the tablet.
If any errors are detected in the data sent back from the tablet, the whole
reinitalization is done again.
here is no real way to reliably reset a summa tablet. It is possible for a
previous application to have put the tablet in a mode where we cannot reset
it. In this case, you must manually power the tablet down, and restart os/2.
f you turn tablet power off while os/2 is running (accedentally or on
purpose), or you forget to turn the tablet on until you have already started
os/2 (I do this a lot), THE TABLET IS HOSED. Shut down os/2, cycle power on
the tablet, and restart os/2. This is bacause you MUST let the os/2 driver
initalize the tablet. There are jumpers inside a summa tablet, and probably
compatibles, that configure some of the defaults mentioned above. You may
have to reset those jumpers back to the factory configuration to get the
driver to work if they have been changed.
SETTING UP THE TABLET
Ok, you don't have a summa 12x12. You biggest problem is that you may not have
an exact 12 x 12 positioning surface, or your tablet may not have the same
resolution as the 12x12. The tablet sends back the position in "counts" for
the X and Y position. The basic MM1201 format allows for a maximum count of
16383, or 14 bits of position information. You must determine the maximum X
and Y counts that the tablet will generate. You can find this by simple
math. For instance, the summa 12x12 defaults to 500 lpi ( lines per inch)
(note that we DO NOT change the default for that tablet; see above):
Summa 12x12
--------------------------
lpi = 500
Size X = 11.7"
Size Y = 11.7"
Counts X = 11.7x500 = 5850
Counts Y = 11.7x500 = 5850
Since the count returned from the tablet is 0-n, we use 5849 as the maximum
value of the tablet return.
nother way to do this same thing is to find the "tablet test" program that
comes with the tablet. Running that will give you a readout of what the
tablet is returning continuously. Position to the edges of the tablet
(maximum is right edge for X, and top edge for Y). You should then see the
maximum count on the display. I recommend you do this anyway to verify your
math and the tablet specifications you used.
Once you have determined the above, use the config.sys line:
DEVICE=X:\OS2\SUMMA.SYS /XH:5850 /YH:5850
Which is the default mode of the driver (by fairly amazing coincidence, all
the tablet defaults match MY tablet).
Typical mistake: You used the SPECIFIED MAXIMUM lpi for your calculations.
This may not match what the tablet is set up to do by default.
HOW THE APERTURE WORKS
What if you do nothing about the aperture, say leave it set at the default,
and you have a 20"x20" tablet ? Nothing bad will happen. You can think of
the aperture this way:
----------------------------------------------
| ^ |
| "virtual" aperture | |
| | |
|<------------- 16384 ---------------------->|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
|--------------- | |
| | |
| | 16384 |
| | |
| Your tablet | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | \/ |
----------------------------------------------
So that the MM1201 format can accomodate a 32"x32" tablet maximum given the
same resolution.
If you use the defaults on a tablet larger than that, you will find that only
the 12x12 square in the lower left hand corner of your tablet will be active.
If you use a tablet smaller than 12x12, you will find that you can only reach
the lower left corner of the os/2 screen, etc. Anyways, the point is that you
can just try it and use trial and error to "fix" the aperture.
You may find that you wish to adjust the aperture to be different than the
size of the tablet on purpose. This is why I included both lower and upper
limits on the aperture. Using the limits, you can "project" the screen onto
any part of your tablet. For instance:
DEVICE=X:\OS2\SUMMA.SYS /XL:2000 XH:4000 YL:2000 YH:4000
Would "project" the screen onto a small square in the middle of a 12x12
tablet. Why would you want to throw away active area of your tablet ? The
number one reason is because of ASPECT RATIO. If you are like everyone else,
you have a 4:3 aspect ratio monitor (i.e., the picture on your monitor is not
square). But os/2 will automatically fit the tablet data to the screen. The
result is that with a 12x12 (square) tablet, you must move the position
further in Y than in X to get the same distance on the screen.
Time to digress !
Graphics tablets must be the most misunderstood and mislabeled devices I know
of. They are often sold under the name "digitizers", as the original purpose
was to copy drawings into the computer by tracing the outlines. You would put
the "puck" over a line on a drawing, press the button, trace the line, then
release at the line end. Your drawing program would follow this and enter
that line. Do all of the lines, you have converted a printed drawing to
computer data. I have tried doing just that. It works, but frankly I would
rather be torn between two tractors.
In order to enter drawings this way, you must have an EXACT MATCH between the
aspect ratios of the screen and your tablet. If not, what you enter will be
distorted.
Note that your display DOES NOT HAVE TO ACTUALLY BE the right aspect ratio.
If you measure it, you will find that it does not typically EXACTLY meet the
4:3 ratio, because you have fiddled with the controls to make the picture fill
the screen, etc. It only matters that os/2 THINKS that you have a 4:3 aspect
ratio, because that is how the drawing program you use will demension the
drawing. This is because os/2 allways scales what is drawn to look good
(boxes square, circles round) on the given screen aspect
Graphics tablets STARTED as "digitizers". Indeed, I can't think of what else
you would use a full drafting table size tablet for. However, the more common
use nowdays is as a "super mouse". You use the tablet such you can point
accurately to a given spot on the tablet, and hit a given spot on the screen,
everytime.
Having used both, I can tell you that they involve to entirely different modes
of use. When people point with a mouse (which can be done quite rapidly and
accurately), they typically start moving and watch the cursor onscreen. From
there it is much like guiding a missile. You "track in" to the desired
location by a series of corrections.
A graphics tablet is the same, only different. You start using it like a
mouse, but you rapidly begin using it at a higher level. Typically, you
develop a "feel" for the tablet, such that you simply "go" directly to the
desired location like SNAP ! After spending a few days entering schematics
with a tablet, I can outperform anyone using a mouse (and sometimes seem to
outperform several plotters !).
The feel can be so specific that changing to another tablet that is not
adjusted the same can make you have to start all over.
You can get adjusted to the "feel" of an aspect ratio mismatch. But you may
find that it is much more natural to have your aspect ratio matched. Then
your hand movements directly match what you see on the screen.
In fact, if you measure your true screen size, you can adjust the aperture
such that the tablet "image" is a direct match.
Ok, so lets do one, say a 12x12 tablet:
3/4 = 0.75 - To find what multipled by the X demension will give
the Y demension.
0.75*5850 = 4387 - The Y demension for 4:3 aspect ratio.
Check that:
4/3 = 1.333.... - The aspect ratio, divided out.
5850/4387 = 1.33 - Matches !
So use the following command line:
DEVICE=X:\OS2\SUMMA.SYS /YH:4386
Will give you a perfectly aspected (is that a word ?) screen "image" at the
lower half of the tablet. Better still is:
DEVICE=X:\SUMMA.SYS /YL:1462
Why ? 1462 is 5850-4387. It means, give us the right aspect ratio, but place
the resulting aperture at the TOP of the tablet. This gives you the bottom of
the tablet to rest the puck on (and your hand). Don't laugh, try reaching for
the bottom of the screen and keeping the puck on the tablet as well.
BUTTONS
About time I got to that, eh ? Here is the button layout on a standard summa
puck:
----------
| ** |
| * * |
| * * |
| ** |
| |
| |
| /\ |
| /1 \ |
| /\ /\ |
|/2 \/4 \|
|\ /\ /|
| \/3 \/ |
| \ / |
| \/ |
| |
| |
| |
| |
| |
| |
| |
----------
Ok, so here are the buttons for os/2:
(1) - The "select" or "left mouse" button. Selects objects, double click
will activate objects.
(2) - The "menu" or "right mouse" button. Opens the object's system menu.
(3) - The absolute/relative toggle, discussed in a minute.
(4) - The "middle mouse button". I never seen it do a dammed thing under
os/2. Opens doors under wolfenstein though !
If you have the pen cursor plugged in, you will get the following:
Tip button - Select or left mouse.
Barrel button - Menu or right mouse.
Tip and barrel - Abs/rel toggle.
You cannot get the 4th button in this mode.
ABSOLUTE/RELATIVE MODE
Ain't nothin' more useless than a graphics tablet configured as a mouse. Oh,
it makes a good one. You can even get software emulated "skating" of the
mouse, although you do have to pick the puck up rather high. Take my advise.
If you are going to do this, save a couple of hundred bucks and buy a danged
mouse. However, if you really have a burning desire to see your tablet
emulate a mouse, do this:
DEVICE=X:\OS2\SUMMA.SYS /R
It will come up in relative mode. Similarly:
DEVICE=X:\OS2\SUMMA.SYS /A
Will bring the tablet up in absolute mode. But this is the default !
DYNAMIC ABSOLUTE/RELATIVE MODE CHANGE
Yes, I have arranged for one of the buttons to toggle you into/out out
relative mode. This is a REALLY STUPID WASTE OF A PERFECTLY GOOD BUTTON, AND
WILL DISAPEAR AS SOON AS POSSIBLE. It will instead go to os/2 as a regular
button (yes ! os/2 does support up to 5 buttons). I also plan to assign one
of the buttons as a "double click" button as the windows driver does.
OS/2 VERSIONS
Oh, I forgot to tell you. Os/2 does not quite handle absolute positioning
mode correctly yet. This is why I included the "hot button" to toggle the
abosolute/relative mode. IBM knows this, and is working on it, I understand
as part of their "pen aware" os/2 project (pens, or touch screens are also
absolute position devices).
So I'm going to list the problems you can expect with the existing os/2
versions:
OS/2 1.X
God, I'd love to find out if that works. Can someone write me if they try it
?
OS/2 2.0/OS/2 2.0 with CSD
Yeech ! Absolute mode works fine on the PM desktop. Seamless windows behave
bazzarely, windows fullscreen is dead as a doornail, dito DOS sessions.
Switch to relative mode when running the above, or better yet file OS/2 2.0 in
"ye olde round file".
OS/2 2.1
Getting better. PM works. Windows works, seamless or fullscreen, with full
abosolute positioning. Yeah IBM ! DOS apps that treat the mouse as an
absolute position device, i.e., just get screen coordinates from the mouse
driver, work fine. Programs that treat the mouse as (GADS !) a MOUSE, are
toast. They actually KINDA work. What IBM did is to mess up and simulate the
mouse EXACTLY from the tablet data. If you pick up the puck and move it
(skate it), os/2 sees the new position, and feeds the DOS program so
many clicks to make it look as if you have moved the mouse that far. Really
cool, but really disables skating. What that a problem you say ? Weellll,
since the program does not connect the mouse movement to the true demensions
of the screen, you will not be able to reach certain areas of the screen.
They will simply be "off the edge" of your tablet.
Also, many programs (esp. games) require skating. Wolfenstein for instance,
needs to skate for forward movement. Bottom line: If you are having troubles
with DOS/Mouse programs, just hit that ole' 3rd button, and get into relative
mode.
USING OS/2 TO CONFIGURE THE TABLET
Quite a bit of stuff can be done from the os/2 system/mouse menu. For
instance, the speed of movement in relative mode can be adjusted (it has no
effect in absolute mode). Also the buttons can be changed.
You will find that in relative mode, the cursor moves much too fast,
especially in a DOS screen. Beleive it or not, this is actually the right
speed that os/2 requires for the tablet (specified in "mickeys/inch"). I tried
turning it ALL THE WAY DOWN in the driver. It's still to dang fast. The
problem is that IBM didn't consider a device like a tablet, which has VASTLY
more resolution than a mouse when they wrote the interface.
Turn the speed of the mouse to SLOW and try that. If it is unbearable, write
me, and I will provide a division option in the driver.
DOS PROGRAMS THAT USE THE TABLET
There are apps that directly access a tablet through the COM port, such as
Autocad(TM) by Autodesk. That won't work anymore. You will have to make a
choice between using the tablet exclusively for that program, and I presume
using a mouse for OS/2 PM, or using the tablet for OS/2 PM and letting the
program work in mouse mode. If you configure the program for mouse mode, and
the program uses the mouse driver in absolute mode (as screen coordinates),
you will effectively get the same functionality. Unfortuna tely, this is
unlikely if the program uses an SVGA mode (since the standard mouse driver
knows nothing about these modes).
Other alternatives are:
1. Use the windows version of the product (absolute positioning is built
into the windows system).
2. Ask the maker about an os/2 native or os/2 "aware" program.
IN CONCLUSION
I paid a good chunk of money to get the most popular tablet for CAD work on a
PC. Since OS/2 2.0 came out, I have been using it as a $350 mouse pad for the
$12 mouse I was forced to buy.
On the bright side however, if the tablet makers HAD come out with a driver,
it probabally would have been designed to only work with one makers tablet.
This way, the solution is generic, or can be.
YOUR HELP IS NEEDED !
If you get this driver to function on ANY tablet, please write me ! Even if
it is a 12x12 summa and you did nothing to get it to run. I NEED:
1. Your parameters you used to run your tablet. What limits did you use
?
2. What maker and type is your tablet ? Do you operate it with a pen, a
puck or ?
This information will be collected and placed in the next version
documentation. You will save someone else A LOT of trouble this way.
Even if you only tell me "I got it working" I can use your "head count" as
proof when talking to IBM that the absolute mode is in use out there.
Finally, suggestions, improvements, etc. are welcome.
SCOTT A. MOORE
samiam@netcom.com
(408) 452-8860
ExaByte Corp.
2043 Zanker Rd.
San Jose, CA. 95131
ADDENDUM - TABLETS/DEVICES REPORTED TO WORK WITH THIS DRIVER
Please note: all the information provided here is based on user feedback. I
have no direct knowledge that any information here is correct. I have placed
the information just as given me, and you should use this as ADVICE not gospel
instructions.
The maximum counts should be used minus one, as discussed in the text above.
For instance, given the maximum X and Y counts as 5850, the proper settings
are:
/xh:5849 /yh:5849
The information provided here is what I could use if you are kind enough to
send me tablet information. In particular, people need to know the maximum
count size of the tablet. This can help someone who is not a computer genius
get their tablet running.
------------------------------------------------------------------------------
TABLET: Ultima 16
TYPE: ?
MAKER: GTCO
SIZE X: ?
SIZE Y: ?
COMMENTS: No other information was provided on this device.
------------------------------------------------------------------------------
TABLET: Genius
TYPE: ?
MAKER: ?
SIZE X: 12 inches, 5850 counts
SIZE Y: 12 inches, 5850 counts
COMMENTS: Tablet was set to run in Summa compatible mode.
------------------------------------------------------------------------------
TABLET: Screenplay model DT-3503
TYPE: ?
MAKER: Seiko
SIZE X: 11 inches, 5500 counts
SIZE Y: 11 inches, 4125 counts
COMMMENTS: The switch settings to setup the tablet in Summa compatible mode
were given as:
SWITCH NUMBER
BANK 1 2 3 4 5 6 7 8
--------------------
DSW1 0 0 0 0 0 0 0 0
DSW2 0 0 1 0 0 0 0 0
DSW3 1 0 0 0 0 1 1 0
DSW4 0 0 1 0
Users are requested to send in the exact count size of the tablet.
------------------------------------------------------------------------------
TABLET: Acecat
TYPE: minitablet, mouse replacement
MAKER: ?
SIZE X: 5 inch, 3000 counts
SIZE Y: 5 inch, 4200 counts
Users are requested to send in the exact count size of the tablet.
------------------------------------------------------------------------------