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