home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
rbbs
/
172a-asm.lzh
/
ANSI17.DOC
< prev
next >
Wrap
Text File
|
1988-11-27
|
3KB
|
101 lines
From the Computer of: 25 NOV 1988
Garry G. Kraemer
520 El Portal
Merced, CA 95340
ATTENTION RBBS USERS!
Here is a modification that will solve the case of the missing Line Feed.
Typically when a SYSOP is in the CHAT mode, drops to DOS, and returns to
the CHAT mode, he no longer has Line Feeds displayed on the CRT. This
happens because of a problem in ANSI.ASM. I have added a few lines of
code to add a line feed to a carriage return when the variable STRNG$
ends with a carriage return or a single carriage return is passed
to the ANSI subroutine. If a line feed is passed along with a cariage
return the modification will not add a line feed.
I have provided a Basic program that will demonstrate the problem.
1. Compile GARRY.BAS.
2. Link GARRY.OBJ and the old ANSI.OBJ (ANSI1-6.ASM). Call it GARRY1.EXE
3. Link GARRY.OBJ and the new ANSI.OBJ (ANSI1-7.ASM). Call it GARRY2.EXE
Now run GARRY1 and watch what happens.
Then run GARRY2 to see the results of the added line feed.
I hope this modification helps!
Any messages can be passed through Doyle Warkentin's BBS
WINTONS LOCAL RBBS
2400/1200/300 24hrs 400 days a year
(209) 358-6154.
9758 N SHAFFER RD
WINTON, CA 95388
The following BASIC code will test the new changes to ANSI.ASM.
GARRY.BAS should be included in this .ARC.
' This program written to test the ANSI driver used by RBBS.
'
' It will confirm that my modification to ANSI.ASM will in fact
' add a line feed to a single carriage return when sent to the
' ANSI subroutine.
'
' Written by:
'
' GARRY G. KRAEMER
' 520 El Portal
' Merced, CA 95340
'
'
' Donated as a FIX for the Famous RBBS.
'
LOCATE 25, 1: PRINT "Simulated RBBS STATUS line 25. 25 25 25 25 25 "
LOCATE 1, 1 ' position cursor to top of screen
CR$ = CHR$(13) ' define carriage return
CRLF$ = CHR$(13) + CHR$(10) ' define carriage return and line feed
'
FOR X = 1 TO 35 ' set up a loop
'
STRNG$ = "A STRING ENDING WITH A CARRIAGE RETURN " + STR$(X) + CR$
CALL ANSI(STRNG$, C.L%, C.C%) ' CALL ANSI subroutine
'
' BUILD A DELAY LOOP TO WATCH WHAT HAPPENS.
'
FOR J = 1 TO 3000: NEXT J
'
'
NEXT X ' print next line
'
'
'
' BUILD A TEST ROUTINE TO SEE WHAT CR AND LF TOGETHER DO.
'
CLS
LOCATE 25, 1: PRINT "Simulated RBBS STATUS line 25. 25 25 25 25 25 "
LOCATE 1, 1 ' position cursor to top of screen
FOR X = 1 TO 35 ' set up a loop
STRNG$ = "A STRING ENDING WITH A CARRIAGE RETURN AND LINE FEED " + STR$(X) + CRLF$
CALL ANSI(STRNG$, C.L%, C.C%)
'
' BUILD A DELAY LOOP TO WATCH WHAT HAPPENS.
'
FOR J = 1 TO 3000: NEXT J
'
'
NEXT X
'
END