home *** CD-ROM | disk | FTP | other *** search
- RSBuffer module: extends the RS432 input buffer to 2048 bytes.
- ==============================================================
-
- Current version:
- RS432 Buffer 0.01 ( 3 Aug 1990)
-
- The following files are included:
-
- !ReadMe this file
- RSBuffer ready-to-execute relocatable module file
- RS_Buff_S BASIC program: run to regenerate RSBuffer
- RS_Test test program for the relocatable module
-
- This module was written because I ran into situations in which the standard
- RiscOs RS432 input buffer was too small (it's only 255 characters). In
- particular, I'm using a non-multi-tasking terminal program (Hugo Fiennes'
- ArcTerm 3.11) and this means that I rely on the RiscOs buffer to make sure
- that no text is lost while the comms program isn't polling the serial port.
- I find that I lose text often after a download, for example, when ArcTerm
- prompts for the destination file name. As well as losing text, I found that
- the serial port would sometimes apparently hang up if the input buffer
- overflowed in this way, requiring me to exit and re-enter ArcTerm to get
- it working again.
-
- Rather than buy a better comms program or ignore the problem, I wrote this
- module as a workround. If you have similar problems, it may help you too.
- You're welcome to make any personal use of the module you like: as long as
- you don't make money by it, I don't expect any from you. Uploading to BBSes
- and putting on PD disks counts as personal use in this context, putting the
- code into your new amazing £100 comms package doesn't. Not that you would
- want to.
-
- Operation
- =========
-
- All you need to do is RMLOAD RSBUFFER or double click on the RSBUFFER
- module file from the desktop; I have the first of these commands in my
- !Boot file, because I use comms programs a fair bit, and forget otherwise.
- It's only 500 bytes or so of code (+2000 byte buffer), so this isn't really
- a big space penalty.
-
- If you want the space back after using the module, you can just RMKILL
- RSBUFFER in the usual fashion; there isn't a desktop equivalent. The
- module is (just) smart enough to survive a soft reset, so you should
- not need to reload it unless you do RMKILL it.
-
- Source Code
- ===========
-
- I have included the source code for this module for the following reasons:
-
- 1) My idea of a buffer size might not be yours. If not, edit
- RS_Buff_S and re-run it to regenerate the module.
-
- 2) You might want some other system buffer enlarged. For example, it
- would be dead easy to make this program into a 64KB printer buffer.
- Again, just edit RS_Buff_S to change the buffer number used.
-
- 3) You might be writing a terrific PD multi-tasking comms program and
- just be dying for some asynchronous buffering code. I would be
- delighted to beta-test your program for you, by the way... :-)
-
- 4) (the Ulterior Motive) This is the first bit of ARM assembler I've
- written in some years, and I'm not nearly happy with some of it. In
- particular, the code that does the actual buffer insert/remove/count
- looks far too tubby to me. If some kind soul would point out a
- better way of doing this bit, I'd be much obliged to them.
-
- Contacts
- ========
-
- You can find me at:
-
- SnailMail: Ian A. Young
- 91 Causewayside
- Edinburgh
- EH9 1QG
-
- Email: iay@threel.co.uk (iay@uk.co.threel if you're on JANET)
- Cix: iyoung
- Arcade BBS: #458 (Ian Young)
- Archive BBS: #1060 (Ian Young)
-