home *** CD-ROM | disk | FTP | other *** search
/ Dream 44 / Amiga_Dream_44.iso / RiscPc / Utils / serbuf_ro2.arc / !ReadMe next >
Text File  |  1990-08-16  |  3KB  |  83 lines

  1. RSBuffer module: extends the RS432 input buffer to 2048 bytes.
  2. ==============================================================
  3.  
  4. Current version:
  5.    RS432 Buffer    0.01 ( 3 Aug 1990)
  6.  
  7. The following files are included:
  8.  
  9.    !ReadMe      this file
  10.    RSBuffer     ready-to-execute relocatable module file
  11.    RS_Buff_S    BASIC program: run to regenerate RSBuffer
  12.    RS_Test      test program for the relocatable module
  13.  
  14. This module was written because I ran into situations in which the standard
  15. RiscOs RS432 input buffer was too small (it's only 255 characters).  In
  16. particular, I'm using a non-multi-tasking terminal program (Hugo Fiennes'
  17. ArcTerm 3.11) and this means that I rely on the RiscOs buffer to make sure
  18. that no text is lost while the comms program isn't polling the serial port.
  19. I find that I lose text often after a download, for example, when ArcTerm
  20. prompts for the destination file name.  As well as losing text, I found that
  21. the serial port would sometimes apparently hang up if the input buffer
  22. overflowed in this way, requiring me to exit and re-enter ArcTerm to get
  23. it working again.
  24.  
  25. Rather than buy a better comms program or ignore the problem, I wrote this
  26. module as a workround.  If you have similar problems, it may help you too.
  27. You're welcome to make any personal use of the module you like: as long as
  28. you don't make money by it, I don't expect any from you.  Uploading to BBSes
  29. and putting on PD disks counts as personal use in this context, putting the
  30. code into your new amazing ú100 comms package doesn't.  Not that you would
  31. want to.
  32.  
  33. Operation
  34. =========
  35.  
  36. All you need to do is RMLOAD RSBUFFER or double click on the RSBUFFER
  37. module file from the desktop; I have the first of these commands in my
  38. !Boot file, because I use comms programs a fair bit, and forget otherwise.
  39. It's only 500 bytes or so of code (+2000 byte buffer), so this isn't really
  40. a big space penalty.
  41.  
  42. If you want the space back after using the module, you can just RMKILL
  43. RSBUFFER in the usual fashion; there isn't a desktop equivalent.  The
  44. module is (just) smart enough to survive a soft reset, so you should
  45. not need to reload it unless you do RMKILL it.
  46.  
  47. Source Code
  48. ===========
  49.  
  50. I have included the source code for this module for the following reasons:
  51.  
  52.    1) My idea of a buffer size might not be yours.  If not, edit
  53.       RS_Buff_S and re-run it to regenerate the module.
  54.  
  55.    2) You might want some other system buffer enlarged.  For example, it
  56.       would be dead easy to make this program into a 64KB printer buffer.
  57.       Again, just edit RS_Buff_S to change the buffer number used.
  58.  
  59.    3) You might be writing a terrific PD multi-tasking comms program and
  60.       just be dying for some asynchronous buffering code.  I would be
  61.       delighted to beta-test your program for you, by the way... :-)
  62.  
  63.    4) (the Ulterior Motive) This is the first bit of ARM assembler I've
  64.       written in some years, and I'm not nearly happy with some of it.  In
  65.       particular, the code that does the actual buffer insert/remove/count
  66.       looks far too tubby to me.  If some kind soul would point out a
  67.       better way of doing this bit, I'd be much obliged to them.
  68.  
  69. Contacts
  70. ========
  71.  
  72. You can find me at:
  73.  
  74. SnailMail:     Ian A. Young
  75.                91 Causewayside
  76.                Edinburgh
  77.                EH9 1QG
  78.  
  79. Email:         iay@threel.co.uk   (iay@uk.co.threel if you're on JANET)
  80. Cix:           iyoung
  81. Arcade BBS:    #458  (Ian Young)
  82. Archive BBS:   #1060 (Ian Young)
  83.