home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cdisk.zip / README.DOC < prev    next >
Text File  |  1993-04-23  |  5KB  |  128 lines

  1. Driver Library Version 2.2 01 May 1993 (c) Personal Systems, Inc.
  2.  
  3. To all registered users:
  4.  
  5. 1) Please note our mailing address and phone numbers:
  6.  
  7.    Personal Systems Software, Inc.
  8.    15 Great Oak Lane
  9.    Unionville, CT 06085
  10.  
  11.    How to contact us:
  12.  
  13.    Voice    (203) 693-0404
  14.    FAX      (203) 693-9042
  15.    CI$      71501,1652
  16.    BIX      smastrianni
  17.    Internet smastrianni@bix.com
  18.  
  19. 2) As always, tech support can be had by calling our voice number, 9-5 EST.
  20.    However, we prefer CompuServe so everyone else can benefit by a posting
  21.    in the device Device Driver section of the OS2DF1 conference (GO OS2DF1).
  22.  
  23.    Bug fixes are always free. Please don't call with 
  24.   
  25.    1) questions on C programming (yes, we get tons of these) 
  26.  
  27.    2) how to run the compiler and/or linker
  28.  
  29.    3) how to set up the keyboard debugger, this is explained in the IBM
  30.       toolkit documentation. Also, don't call us with questions on how
  31.       to wire the cable. Use a simple cable with transmit, receive and
  32.       ground, with *no* handshake pins wired.
  33.  
  34.    4) why you can't write your drivers with C Set/2, or why IBM does not
  35.       supply an assembler.
  36.  
  37. 3) Please let me know if you come across any bugs, or suggestions on how
  38.    we can improve the package.
  39.  
  40. 4) This release fixed a several bugs since version 1.7. The PhysToUVirt 
  41.    DevHlp caused a fatal error if the selector was released in the Init
  42.    routine. ES was pointing to the memory, and once released, popping 
  43.    ES caused a GP fault. You probably never encountered this, as once
  44.    an LDT entry is created, its usually not released until a close.
  45.  
  46. 5) The companion disk now includes a C Set/2 device monitor program, a kernel
  47.    printf function, a complete memory-mapped device driver for ISA and Micro
  48.    Channel, and IOPL routines with 16-bit and 32-bit calling programs. 
  49.  
  50. 6) The VirtToLin function was rewritten. All you have to pass it is the
  51.    virtual address, not a separate selector and offset. The offset is
  52.    moved properly and zero extended.
  53.  
  54. 7) MoveBytes would fail if the status of the request packet was accessed
  55.    just following a MoveBytes operation. The SI register was not being
  56.    saved and restored correctly. This is now fixed.
  57.  
  58. 8) The capabilities bit strip info in the DRVLIB.H has been updated to
  59.    reflect the new CmdInit Complete strategy command.
  60.  
  61.    Thanks.
  62.  
  63.  
  64.    Steve Mastrianni
  65.  
  66. =============================================================================
  67.  
  68.  
  69. The following is errata for Writing OS/2 2.0 Device Drivers in C as
  70. of 29 May, 1992.
  71.  
  72.  
  73. Page 9, last paragraph, line 2, replace "Figure 3-2" with "Figure
  74. 2-3"
  75.  
  76. Page 16, first paragraph, replace entire paragraph with:
  77.  
  78. "Processors are generally referred to by the size of the data which
  79.  can be handled at any one given time. The 8088 is referred to as a
  80.  16-bit processor, although technically it can only handle 8 bits at
  81.  a time (The 8088 performs 16-bit operations by transparently
  82.  multiplexing two 8-bit operations). The 80286, for example, is
  83.  called a 16-bit processor because it can handle data 16 bits at a
  84.  time. The 80386 and 80486 are referred to as 32-bit processors
  85.  because they can directly manipulate data 32 bits at a time."
  86.  
  87. Page 17, first paragraph, line 2, replace "eight-bit" with "16-bit"
  88.  
  89. Page 18, last paragraph, first sentence, replace "30" with "25".
  90.  
  91. Page 19, first paragraph, line 2, replace "25" with "33".
  92.  
  93. Page 19, last paragraph, third sentence which begins "The processor
  94. speed", delete entire sentence.
  95.  
  96. Page 49, last paragraph, second sentence, replace "Figure 5-3" with
  97. "Figure 5-5".
  98.  
  99. Pages 106, 107, 108, 109, 358, 360, 361, 362, in the MoveBytes 
  100. function call, be sure to cast the "address of" pointer with
  101. FARPOINTER. For example, on page 107, the example shows a call to
  102. Movebytes that looks like this:
  103.  
  104.   if(MoveBytes(&input_char,rp->s.IOCtl.buffer,1))....
  105.  
  106. Change it to look like:
  107.  
  108.   if(MoveBytes((FARPOINTER)&input_char,rp->s.IOCtl.buffer,1))....
  109.  
  110. Do this for all eight pages listed above.
  111.  
  112. Page 308, Delete last paragraph, beginning with "Note", in its
  113. entirety.
  114.  
  115. Page 310, SetIRQ Device Helper, IRQNumber should be a UCHAR, not
  116. a USHORT.
  117.  
  118. Page 315, UnSetIRQ Device Helper, IRQNum should be a UCHAR, not
  119. a USHORT
  120.  
  121. Page 318, VMAlloc Device Helper, the calling sequence should be:
  122.  
  123. if (VMAlloc(ULONG Physaddr,ULONG Size,ULONG Flags,PULONG Linaddr)) error;
  124.  
  125. Page 399, Listings, change "#define WRITE_POS_REG_CARD 0x0D" with
  126. "#define WRITE_POS_REG_CARD 0x0E"
  127.  
  128.