home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / COMMS / MEX4BEE.ARC / BUFFERS.DOC next >
Text File  |  1990-09-20  |  4KB  |  71 lines

  1.  
  2.                 BUFFERS.DOC
  3.  
  4. This file explains the buffering scheme used in MEX, and how you can change
  5. it using the MEXPAT overlay file.
  6.  
  7. MEX employs a number of dynamically-allocated buffers for such things as
  8. terminal-file storage, printer buffer, keystrings, modem pre-read queue,
  9. and the phone library.  The size of these buffers are defined in a fixed
  10. area of MEX; you can change their values by editing and assembling
  11. MEXPATxx.ASM, then using MLOAD to bind in the new values:
  12.  
  13.             ASM MEXPAT10
  14.             MLOAD MEXNEW.COM=MEX.COM,MEXPAT10
  15.  
  16. The variable labeled PSIZE in the MEXPAT file defines the number of Kbytes
  17. to use for the printer buffer.  This can be set as low as 0, or as arb-
  18. itrarily large as you'd like.  The variable labeled ASIZE performs a sim-
  19. ilar function for the terminal-mode file capture buffer, but must be set
  20. to 2 or greater, to reserve the minimum 2K space for file transfers.
  21.  
  22. One of the two (and only one) must have the value 255 (0FFH); this defines
  23. a particular buffer as the "top" buffer ... ie, the buffer allocated after
  24. all other space has been allocated, and extends to the top of the TPA.
  25. This is usually the largest buffer, and I recommend that this be the
  26. terminal-mode capture buffer, since that is the most frequently used buffer.
  27.  
  28. The PHSIZE label defines the maximum size of the phone library, in entries.
  29. Currently an entry is 37 bytes long, so the "standard" value for PHSIZE of
  30. 30 results in a phone library consuming more than 1100 bytes.
  31.  
  32. Similarly, the KYSIZE variable defines the amount of space (in bytes) re-
  33. served for terminal-modem keystrings.  The "standard" value is 400 bytes.
  34.  
  35. If you don't use phone libraries or keystrings, either variable may be set
  36. to zero, and the resulting space reclaimed for the "top" buffer.
  37.  
  38. Another buffer variable is the NSIZE label: this defines the size of the
  39. file-transfer batch filenames buffer (in Kbytes).  For each 1K allocated
  40. to this buffer, you can transmit 85 files at a time.  Hence, if 85 files
  41. are not enough, you can set NSIZE to 2 and transmit 170 files at a time.
  42. If you don't use batch file transfers, you can set this variable to 0, and
  43. reclaim the space for the "top" buffer.
  44.  
  45. The XSIZE label defines the number of Kbytes for the file transfer disk
  46. buffer;  note that this is not an allocated buffer, but resides within the
  47. terminal-mode file buffer.  XSIZE is used to restrict the actual size of
  48. the buffer, and should be less than or equal to ASIZE.  This restriction
  49. is necessary in systems with extremely slow floppy disks, since there is
  50. the possiblity of the remote end timing out while MEX flushes its disk
  51. buffer.
  52.  
  53. PQSIZE defines the size of the queue used to service the modem at certain
  54. times (such as after sending an X-OFF to the remote when the terminal-file
  55. buffer fills up, during the overflow wait time ... also used to "watch" the
  56. modem while transmitting keystrings, SENDOUT strings, and within certain
  57. long loops, when there is a possibility of losing characters).  This buffer
  58. must be a minimum of 2 bytes, and may be as arbitrarily large as you'd like.
  59. There is little to gain in increasing the size, however, unless you con-
  60. sistently run at speeds greater than 1200 baud.
  61.  
  62. You may at some time see the message "Not enough memory for MEX!" ... this
  63. happens when there is not enough memory to meet MEX's minimum buffer re-
  64. quirements.  Normally, this will only happen in small memory segments (when
  65. you're running a small CP/M system, for example, or running in a small MP/M
  66. segment), but you'll also see it if you've increased MEX's buffers too much.
  67.  
  68. The only recovery possible is to reduce some of the buffers (or obtain more
  69. memory).
  70.  
  71.