=== 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 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. ------------------------------------------------------------------------------