home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / MOUSE / MSMOUSE1.ZIP / README.TXT < prev   
Encoding:
Text File  |  1989-02-10  |  10.4 KB  |  273 lines

  1.                            "README.TXT" File
  2.      Notes for Microsoft Mouse Programmer's Reference Companion Disks
  3.                      (c)1988, 1989 Microsoft Press
  4.  
  5.  
  6. This file consists of four parts:
  7.  
  8.       1     Introduction
  9.       2     Contents of the Companion Disks
  10.       3     Instructions for Using the Companion Disks
  11.       4     Recent Changes to Libraries and the Mouse Driver
  12.  
  13. ===< Part 1: Introduction >==========================================
  14.  
  15.  
  16.                             - REMINDER -
  17.        It's a good idea to make backup copies of these disks
  18.        before you proceed.  See the instructions in Part 3.
  19.  
  20.  
  21. These disks contain a variety of files to enhance your understanding
  22. and use of the information presented in the Microsoft Mouse
  23. Programmer's Reference.
  24.  
  25. Sample programs demonstrate mouse programming using interpreted BASIC,
  26. QuickBASIC, C and QuickC, Macro Assembler, FORTRAN, and Pascal. Many of
  27. the mouse driver functions are demonstrated, using a variety of
  28. techniques.  Many of these programs are "extras," not mentioned in the
  29. book.  Read the comments in each program listing for more information.
  30.  
  31. A collection of mouse menu programs provides menus for use with several
  32. popular applications software products.  These menu listings also
  33. provide a solid foundation for developing your own mouse menus for use
  34. with other applications.
  35.  
  36. These disks also contain current releases of the software tools described
  37. in the book--the latest MOUSE.LIB and EGA.LIB librariesfor software
  38. development and the MAKEMENU.EXE and MENU.COM files for creating and
  39. loading mouse menu programs.
  40.  
  41. The example programs on these disks were provided by a number of different
  42. programmers and represent a wide cross-section of programming styles and
  43. techniques. Study the source code to understand what the program will do
  44. before you run the programs. All programs on the disks are tested and
  45. assumed to be error-free. If you encounter a problem, please contact:
  46.  
  47.     Microsoft Press
  48.     16011 NE 36th Way
  49.     Box 97017
  50.     Redmond, WA 98073-9717
  51.     Attn: Mouse Programmer's Reference Editor
  52.  
  53.     (No phone calls, please.)
  54.  
  55.  
  56. ===< Part 2: Contents of the Companion Disks >======================
  57.  
  58. Directory structure of each disk:
  59.  
  60.     (Disk 1 root)----+
  61.                      |
  62.                      +-ASM
  63.                      +-BAS
  64.                      +-C&QC
  65.                      +-EGA---------+-FCN12-------+-DISPLAY
  66.                      |             |             +-INCVAR
  67.                      |             +-MIXLANG-------FORTRAN
  68.                      |             +-PAGE
  69.                      |             +-PALETTE-----+-COLOR
  70.                      |                           +-MOVE
  71.                      +-FOR
  72.                      +-HGC---------+-C
  73.                      |             +-PASCAL
  74.                      +-PASCAL
  75.                      +-QB
  76.  
  77.     (Disk 2 root)----+
  78.                      |
  79.                      +-MENUS
  80.                      +-UTILS
  81.  
  82.  
  83. List of files in each directory:
  84.  
  85.        Disk 1                             Disk 2
  86.     -------------                      -------------
  87.     \(root)                            \MENUS
  88.        ega.lib                            color.def
  89.        mouse.lib                          color.mnu
  90.        readme.exe                         drop.def
  91.        readme.txt                         drop.mnu
  92.                                           execute1.def
  93.     \ASM                                  execute2.def
  94.        asmexamp.asm                       kbd.def
  95.        atest.asm                          kbd.mnu
  96.        tst1.asm                           makemenu.exe
  97.        tst12&20.asm                       menu.com
  98.        tst24.asm                          mpibm.def
  99.                                           mpms.def
  100.     \BAS                                  sym.def
  101.        batest.bas                         vc.def
  102.        piano.bas                          ws.def
  103.        tst1.bas
  104.                                        \UTILS
  105.     \C&QC                                 asm.inc
  106.        cmouse.c                           befunc.bas
  107.        ctest.c                            bmfunc.bas
  108.        lpen.c                             cefunc.h
  109.        m20sub.asm                         cefuncc.lib
  110.        mouh_int.c                         cefuncl.lib
  111.        mouh_lib.c                         cefuncm.lib
  112.        mous_int.c                         cefuncs.lib
  113.        mous_lib.c                         cmfunc.h
  114.        pencil.c                           cmfuncc.lib
  115.        mscexamp.c                         cmfuncl.lib
  116.                                           cmfuncm.lib
  117.     \EGA\FCN12\DISPLAY                    cmfuncs.lib
  118.        mouse12.c                          ega.com
  119.        mouse12.mak                        ega.sys
  120.        msfcn12.asm                        egatest.c
  121.                                           egatest.h
  122.     \EGA\FCN12\INCVAR                     egatestc.mak
  123.        demo12.c                           egatestl.mak
  124.        fcn12.mak                          egatestm.mak
  125.        sub12.asm                          egatests.mak
  126.                                           funcsubs.asm
  127.     \EGA\MIXLANG\FORTRAN                  kb.asm
  128.        mtest.for                          menu.c
  129.        mtestasm.asm                       mousetst.c
  130.                                           mousetst.h
  131.     \EGA\PAGE                             mouststc.mak
  132.        dance.c                            mouststl.mak
  133.                                           mouststm.mak
  134.     \EGA\PALETTE\COLOR                    mouststs.mak
  135.        egalib.c                           mousutil.c
  136.                                           readme.txt
  137.     \EGA\PALETTE\MOVE
  138.        flow.c
  139.        snow.c
  140.  
  141.     \FOR
  142.        fdemo.for
  143.        for1.for
  144.        ftest.for
  145.        subs.asm
  146.  
  147.     \HGC\C
  148.        init.asm
  149.        mousehgc.c
  150.        mousehgc.mak
  151.  
  152.     \HGC\PASCAL
  153.        initpas.asm
  154.        mousehgc.mak
  155.        mousehgc.pas
  156.  
  157.     \PASCAL
  158.        initpas.asm
  159.        moushgcp.pas
  160.        pasexamp.pas
  161.        pdemo.pas
  162.        subs.asm
  163.  
  164.     \QB
  165.        absolute.bas
  166.        intrrupt.bas
  167.        mouse.bas
  168.        mousedem.bas
  169.        pencil.bas
  170.        qb12&20.bas
  171.        qb24.bas
  172.        qbinc.bas
  173.        qbint.bas
  174.        qbmou.bas
  175.        qbtest.bas
  176.        readme.txt
  177.  
  178.  
  179. ===< Part 3: Instructions for Using the Companion Disks >===========
  180.  
  181. Making backup copies:
  182.  
  183.     If you have not already done so, immediately use the DISKCOPY command
  184.     to make backup copies of these disks.  Store the originals in a safe
  185.     place and use only the copies.
  186.  
  187. Using the programs:
  188.  
  189.     Refer to your language product's documentation for specific instruc-
  190.     tions on compiling and linking these programs.  A good way to stay
  191.     organized is to copy the files from these disks into a temporary,
  192.     or working, directory on your hard disk.  This helps prevent
  193.     accidental alterations of the original files and makes it safer
  194.     to experiment with them.
  195.  
  196.     Many of the program listings have important instructions in the first
  197.     few comment lines.  For example, most of the C listings provide the
  198.     specific DOS command that will compile and link the program.  These
  199.     programs also list the files to be added to the .MAK file for compiling
  200.     and linking under QuickC.  Always check these specific instructions
  201.     before running a program. They'll also help you anticipate the program's
  202.     behavior.
  203.  
  204.     Look for two other README.TXT files on these disks.  README.TXT in
  205.     the \QB directory on this disk explains the steps you must take to
  206.     build a Quick Library to be loaded with QuickBASIC.  For proper
  207.     operation, most of the QuickBASIC programs on these disks require
  208.     this Quick Library to be loaded into the QuickBASIC environment.
  209.     The README.TXT file in the \UTILS directory on the second disk
  210.     provides background information about the programs in that directory.
  211.  
  212.  
  213. ===< Part 4: Recent Changes >========================================
  214.  
  215.  
  216. **** Changes to the mouse library:
  217.  
  218. 1. The small and large model mouse call names have been changed.  This
  219.    affects all high level languages except C.
  220.  
  221.                      Small model       Large model
  222.           Old name:     mouse            mouses
  223.           New name:     mouses           mousel
  224.  
  225.  
  226. 2. The following interpreted BASIC (BASICA, GW-BASIC) changes (library
  227.    code resides in the actual mouse driver) are effective in version
  228.    6.25 and later of the mouse driver:
  229.  
  230.    Functions 9, 12, and 20 now have an extra level of indirection for
  231.    M4%.  This fixes a bug in Function 20 and keeps the interface scheme
  232.    consistent for all libraries.
  233.  
  234.    The following is an example for version 6.25 and later:
  235.  
  236. 100 M4%=VARPTR(USERSUB%(0))        ' Pass pointer to user interrupt handler
  237. 120 CALL MOUSE(M1%, M2%, M3%, M4%) ' Call mouse library interface
  238.  
  239.    The following is a workaround for mouse drivers before version 6.25:
  240.  
  241. 100 MOUSETMP%=USERSUB%(0)          ' Save old value
  242. 120 CALL MOUSE(M1%, M2%, M3%, USERSUB%(0)) ' Call mouse library interface
  243. 130 M4%=USERSUB%(0)           ' Returned this way because of bug
  244. 140 USERSUB%(0)=MOUSETMP%          ' Restore original value
  245.  
  246.    Remember:  M2%=0 to use BASIC's data segment by default
  247.  
  248. 3. A "library," BMFUNC.BAS, has been created for Interpreted BASIC
  249.    (BASICA, GW-BASIC).  This code is designed to be merged at the end
  250.    of an Interpreted BASIC program to provide subroutines for accessing
  251.    the mouse.  BMFUNC.BAS is located in the \UTILS directory on Disk 2.
  252.  
  253.  
  254. **** Changes to the EGA Shadow Register Interface library:
  255.  
  256. 1. The EGA Shadow Register Interface library now has 4 parameters
  257.    instead of 5.
  258.  
  259.        ES is returned in E4% for function 0FAH.
  260.        E2% is destroyed for functions 0F1H, 0F3H, and 0F7H.
  261.  
  262. 2. The EGA Shadow Register Interface library now correctly sets the
  263.    hardware latch to address mode when Attribute Controller Registers
  264.    are to be modified. (The EGA Shadow Register Interface library
  265.    requires Address mode on entry.)
  266.  
  267. 3. A library for simple operations and documentation, BEFUNC.BAS,
  268.    has been created for interpreted BASIC (BASICA, GW-BASIC).
  269.    It's not a good idea to do extensive EGA hardware register
  270.    manipulations from Interpreted BASIC.  BEFUNC.BAS is located
  271.    in the \UTILS directory on Disk 2.
  272.  
  273.