[mod.computers.ibm-pc] Info-IBMPC Digest V4 #132

Info-IBMPC@USC-ISIB.ARPA (Info-IBMPC Digest) (11/19/85)

Info-IBMPC Digest       Monday, 18 November 1985      Volume 4 : Issue 132

This Week's Editor: Eliot Moore <Elmo@USC-ISIB.Arpa>

Today's Topics:
                          Late-Model 8088's
                       LIST60.ASM & GETMEM.PAS
                           EEL Subdirectory
                             FAX Machines
                           Olivetti Ink-Jet
                            Freeing Memory
     Hardware Upgrade for Some Professional Graphics Controllers
                           ASMGEN SEQ files
                              EGA via C
                      IBM Dos 3.1 date rollover
                 PC-AT, XENIX, troff, and LaserWriter
           Floating-Point Errors in MS Fortran (2 Messages)
                  Underflow Interrupts (2 Messages)
Today's Queries:
                           Tool Evaluation
                       XENIX and Epson Printers
                           Graphics Editor
                   Bernoulli Box Host Adapter Board
                               WORDSTAR
----------------------------------------------------------------------


Date: Mon 18 Nov 85 18:36:58-EST
From: Steve Berlin <BERLIN@MIT-XX.ARPA>
Subject: Late-Model 8088's


I have written a program that runs without problems on new PCs, that is,
those with 'new' 8088 chips.  I have actually swapped chips in the same
machine and seen the program fail with the older chip only.  The symptom,
of course, is that the machine hangs completely and needs to be rebooted.

The only difference that I know between the older and newer revs of the
processor is the old failure to guard SS after a move to it; my code
explicitly guards SS/SP in these cases.

The program is a fairly complex system, written in ASM and Lattice-C large
memory model; and incorporating a simple non-preemptive multi-tasking
package that I wrote, int_pkg, com_pkg, and lpt_pkg from the INFO-IBMPC
library, and a very simple clock interrupt handler that I wrote.

The failure always (recently, anyway) occurs in an UNLINK call to the
Lattice library; which calls DOS function 41 to unlink a file.  I am
running DOS 3.1.

Any details on differences between the chips, or other ideas that might
lead to a resolution of this problem, would help save my sanity...

					Steve Berlin
					Berlin@mit-xx
-------

------------------------------

Date: Mon 18 Nov 85 22:53:24-EST
From: Steve Berlin <BERLIN@MIT-XX.ARPA>
Subject: Late-Model 8088's
To: INFO-IBMPC@USC-ISIB.ARPA

Regarding my earlier message about a program which works on late-model 8088s
only; I found the bug.

It turns out that Lattice, in their infinite wisdom, decided to implement the
int86 library routine (defined as "generate 8086 software interrupt") as
a CALL to the specified 'interrupt routine' instead of actually generating
an interrupt.  Thus, when the routine in question, assuming it was already
running with IF clear, modifies SS....

Simplest fix: wrap a CLI/STI pair around the int86 call.
Or, re-write the int86 routine to generate a real interrupt (why, oh why,
	did they write it as they did???)
							-- Steve
-------

------------------------------

Date: 17 Nov 1985 21:30:32 PST
Subject: LIST60.ASM & GETMEM.PAS
From: Koji Okazaki <swg.KOJI@USC-ISIB.ARPA>
To: Info-IBMPC@USC-ISIB.ARPA
cc: Koji@USC-ISIB.ARPA

The following programs have been added to our library:

LIST60.ASM	This handy hack, also called LIST, allows many
		ways of displaying ASCII text files.  It's good
		to use when using an editor is overkill (I know
		some people will disagree with that statement
		but...) and TYPE is too lame!
		<Peter Galvin, CC.GALVIN@R20.UTEXAS.EDU> 11/17/85

GETMEM.PAS	A leetle teeny weeny demo program written in Turbo
		Pascal that shows available memory by looking at
		page 0 (the PSP, field 2) of the currently running
		program, grabbing "size of memory" integer (16-byte
		paragraph count).  'Tis useful as an instructional
		sample for young Turbo Pascal hamsters.
		<David Kirschbaum, ABN.ISCAMS@USC-ISID> 11/17/85

-------

------------------------------

Date: 18 Nov 1985 00:00:53 PST
Subject: EEL subdirectory created
From: Koji Okazaki <swg.KOJI@USC-ISIB.ARPA>
To: Info-IBMPC@USC-ISIB.ARPA
cc: Koji@USC-ISIB.ARPA

The subdirectory <INFO-IBMPC.EEL> has been created in anticipation of
many contributions of EEL code by Epsilon users for Epsilon users.

EEL		This subdirectory serves as the home of orphan
(subdirectory)	Epsilon EEL code.  EEL code may be snarfed by
		Epsilon owners only.  Contributions are welcome.
		Please refer to the file EELCODE.LIST in this
		subdirectory to see brief descriptions of each
		EEL program.
		["EEL" stands for Epsilon Extension Language.]
		<Billy Brackenridge, BRACKENRIDGE@USC-ISIB> 11/17/85

* Our first contribution, LISPMODE.E, written by Rob Pettengill
  <CAD.PETTENGILL@MCC> makes Epsilon a nice environment for developing
  Lisp applications.

** We usually don't create subdirectories in anticipation of contributions
   but we decided to make an exception for Epsilon and EEL programs
   because reports from Epsilon 3.0 beta-sites have been very encouraging.

				- Koji
-------

------------------------------

Sender: "Allan H. Wax.OsbuSouth"@Xerox.ARPA
Date: 18 Nov 85 10:17:26 PST (Monday)
Subject: FAX Machines
From: Wax.OsbuSouth@Xerox.ARPA
To: MBJ@MIT-XX.Arpa
cc: INFO-IBMPC@USC-ISIB.Arpa, Wax.OsbuSouth@Xerox.ARPA


The Xerox 495 and 295 FAX machines area ll abale to be connected to a
PC at speeds up to 19.2K The will also function as a printer if you
just send ASCII to them.

Allan Wax
Wax.ES@Xerox.ARPA
Wax.OsbuSouth@Xerox.ARPA


------------------------------

Date: Monday, 18 November 1985 13:29:27 EST
From: Joe.Newcomer@a.sei.cmu.edu
To: info-ibmpc@usc-isib.arpa
Subject: Olivetti Ink-Jet

I bought one of these from DAK for $200 back in January when we acquired
our second PC and needed a second (and cheap) printer in a hurry.

Not impressive.  It is quieter than a pin-style printer, but screeches
at a different (and I find annoying) frequency.  The quality of the
output is marginal, to be charitable, and is sort of a smudgy brown
color.  I never did get double-height printing to work.  While I think
we got our $200 of use out of it, it was down for almost 2 months
because we couldn't get any replacement ink jet ampoules (it uses a
solid ink cartridge).  I keep it as a backup in case one of our other
printers breaks, but I'd recommend looking at almost anything else,
even slightly higher in price, before compromising on this one.  DAK
has another printer available, and I'd suggest checking out Radio
Shack as well (but be careful...most of their printers are not
control-sequence compatible with IBM and many features such as screen
print don't always work).

			joe


------------------------------

Date: Mon 18 Nov 85 07:22:01-CST
From: Pete Galvin <CC.GALVIN@R20.UTEXAS.EDU>
Subject: Freeing Memory
To: info-ibmpc@R20.UTEXAS.EDU

See the STAYRES package in <info-ibmpc> for an example of going resident,
handling the invoking interrupt, cleaning up after the interrupt, and
clearing oneself our of memory.  It's written in TURBO, but most
of the pertinent code is INLINE  (machine language). 

I'd have mailed you a copy, but our mail system can't figure out
where you're from...  (although I could play with the address a little).

					--Pete
-------

------------------------------

Date: 17 November 85 15:46-PST
From: Don Pelton (415) 854-3300 x2901 <DEP%SLACVM.BITNET@WISCVM.ARPA>
To:  INFO-IBMPC@USC-ISIB.ARPA
Subject: Hardware Upgrade for some Professional Graphics Controllers

If you have bought, or plan to buy, IBM's Professional Graphics
Controller and Display, you may be interested in this. Several of us
who bought this board early this year discovered, through some
painstaking research, that there was a hardware bug on the board that
caused it to interfere with ANY terminal emulation program making use
of the asynch port. When we found that IBM acknowledged this bug and,
in fact, had a fix available, we requested them to accept the boards
back for service. IBM's reply was that we must return THE ENTIRE
SYSTEM! After some further struggle, we finally convinced them to take
the boards only, which they did, and returned them in due time with
the hardware upgrade applied.  I felt at that time that, if the
problem should come up for anyone else, that we had a precedent for
how the service should be handled.

Thus, when Bob Kirby here discovered last week that he seemed to be
having the identical problem, I told him that all he would have to do
is call IBM and they would come out and pick up the board.  What
happened, though, was that the IBM rep said Bob would have to bring
the entire system in because, he said, "that problem occured only with
the early boards and has since been fixed." We seemed to be back to
square one.

I then put the following question to IBM's ASKINFO database in Dallas
(the answer follows). I expect we can use this information to convince
IBM to give us the same deal we got when the problem came up the first
time. I hope this will be of use to anyone else who may experience the
problem.


End of  Item:149VM        Copyright IBM Corp 1983          Panel: Last of 1

   Abstract: Serial numbers of flawed Professional Graphics
             Controllers.

  Q:  We need to know the range of serial numbers for the
      Professional Graphics Controllers containing the bug
      relating to interference with asynchronous communications.
      Or, if there is no serial number, some other marking
      which will allow us to identify these boards.

  =-=-=-=> 11/08/85 <=-=> 15:30:17 <=-=> DP/CPC146L    <=-=-=-=

  R:  The old PGC cards have the numbers 6323697 and 6323698 on
      the top left of the memory card. The new cards have these
      two numbers inked out and the number 6448811 replaces them.
      The two old numbers are not always inked out and if your
      board has the 6448811 number , you have a new board.

  =-=-=-=> 11/11/85 <=-=> 14:29:52 <=-=> BPW/NSC-DCS   <=-=-=-=



------------------------------

Date: Mon 18 Nov 85 12:27:41-PST
From: Ted Shapin <BEC.SHAPIN@USC-ECL.ARPA>
Subject: ASMGEN SEQ files
To: info-ibmpc@USC-ISIB.ARPA, abn.iscams@USC-ISID.ARPA
Phone: (714)961-3393; Mail:Beckman Instruments, Inc.
Mail-addr: 2500 Harbor Blvd., X-11, Fullerton CA 92634

... need to be terminated with EOF (control-Z).
Ted.
-------

------------------------------

Date:     Mon, 18 Nov 85 13:36:52 EST
From:     Kenneth E. Van_Camp (LCWSL) <kvancamp@Pica-Lca.ARPA>
To:       LICHTENBERG.PA@xerox.arpa
cc:       info-ibmpc@usc-isib.arpa
Subject:  EGA via C

The Graphics Development Toolkit from IBM is the only package I know of
that supports the Enhanced Graphics Adapter using Lattice C.

------------------------------

From: ihnp4!scgvaxd!pelican!pete@ucbvax.berkeley.edu
Date: Mon, 18-Nov-85 09:02:41 PST
Subject: IBM Dos 3.1 date rollover
To: info-ibmpc@usc-isib.arpa

On seeing the note about 3.1 date rollover problems, I looked into
IBMBIO.COM with debug and found that the 2.1 date rollover fix was,
indeed, gone.  In its place, all of the int 1a calls in the disk
drivers incremented the date if needed.  That is all well and good
unless some other code is used which does int 1a calls (e.g. OEM
floppy drivers, etc.).  These will not increment the date, but will
reset the indication of rollover.  More ROM bios 'features'.....  
--
Pete
...!{vortex, scgvaxd, ihnp4}!pelican!pete


------------------------------

From: bierma@nprdc.arpa (Larry Bierma)
Date: 18 November 1985 1236-PST (Monday)
To: laser-lovers@washington
Subject: PC-AT, XENIX, troff, and LaserWriter
Cc: info-unix@brl, info-ibmpc@isib

I am now successfully using the Apple LaserWriter as a printer for
the IBM PC-AT running IBM XENIX.  The LaserWriter works as both
a VERY flexible line printer and as an excellent troff output
device.

Making it all work required porting the major parts of Adobe Systems
TranScript package and porting/rewriting the 4.1BSD line printer
spooling software to XENIX.  Since the software is licensed material
I cannot make it available, but I would be willing to discuss what
the major problems/changes were.

--Larry		ARPA: bierma@nprdc.arpa
		UUCP: {decvax,ucbvax,ihnp4}!sdcsvax!sdcsla!nprdc!bierma
		PSTN: (619) 225-2161

------------------------------

Date: Sun, 17 Nov 85 20:52:43 cst
From: cody@anl-mcs.ARPA (Jim Cody)
To: Info-IBMPC@USC-ISIB.ARPA
Subject: Floating-Point Errors in MS Fortran


The 8087 chip is an implementation of draft 8.0 of the IEEE Standard
754 for Binary Floating-Point Arithmetic.  The "strange" number you
found with a "zero" exponent and a "mantissa" (we prefer the word
significand) of "1.5" is a denormalized number.  The least exponent
for which the corresponding significand carries the implicit bit
corresponding to "1" is "1".  Zero exponents are reserved for numbers
that have underflowed.  Underflow is treated more humanely in IEEE 754
than you are probably used to.  Instead of abruptly wiping the
significand out (flushing it to zero) when the exponent becomes to
small to represent, the exponent is pegged at 0 and the significand is
right-shifted as necessary, thus pushing one bit at a time over the
precipice.  This procedure retains as much significance as the
circumstances warrant.  Subsequent operations on denormalized numbers
may trigger exceptions, depending on what flags, etc. have been set.
All of this is discussed in a paper in IEEE Computer (March, 1981),
and in a second paper in IEEE Micro, (August, 1984).  The latter
discusses a generalization of IEEE 754 that has been prepared by a
committee I chair.

With the 8087, you should be able to set the interrupt controls to
flush underflow to zero, in the old familiar way, if that is what you
want.  Then your "problem" will disappear.

------------------------------

Date: Mon, 18 Nov 85 08:08:16 PST
From: USER=DMG%UBC.MAILNET@MIT-MULTICS.ARPA
To: INFO-IBMPC@USC-ISIB.ARPA,
    steven@BRL-TBD.ARPA
Subject: Floating Point Error Control in MS Fortran

      Steven Segletes <steven@BRL-TBD.ARPA> reports problems with
small reals in MS FORTRAN.  The problem appears to be that the numbers
in question are in fact denormalised.  To quote from Richard Statz's
"8087 Applications and Programming for the IBM PC and other PCs"
(Brady, 1983):

      'Real numbers are usually stored in the normalized format... An
under- flow occurs when the result of an operation would require a
negative biased exponent.  Rather than merely set the result to zero,
the 8087 "stretches" the precision of the result by setting the
exponent field equal to zero and shifting the significand right the
appropriate number of places.  Thus denormal numbers can be
recognized, when stored in memory, by the zero exponent field together
with a non-zero significand field.  ...  Denormals are perfectly
acceptable as operands for arithmetic instructions. (With the critical
exception of transcendental operations which assume without checking
that operands are normals.)'

        Hope this is of assistance,
                                    Ivan D. Reid.

------------------------------

Date: Mon, 18 Nov 85 15:32:52 cst
From: cody@anl-mcs.ARPA (Jim Cody)
To: steven@brl.arpa
Subject: Underflow Interrupts Again
Cc: INFO-IBMPC@USC-ISIB.ARPA, cody@anl-mcs.ARPA

  Now that I have had a chance to look at the manual and
play a bit, I suspect that your problem is more subtle than
you thought.  I have Ver 3.20 of MS Fortran 77 running on an
XT with an 8087 chip.  According to Appendix G of the manual,
the default for underflow is to mask off the interrupt and
return denormalized or zero results, depending on how small
the true exponent is.  This is the friendliest response you
could want.

   The following test program compiled and ran with the
results given.

      DO 10 I = 74, 75
	 WRITE (*,*) '  '
	 J = -I
	 B = -1.*2.0**(J)
	 WRITE (9,*) ' B = ',B
	 C = B*B
	 WRITE (9,*) ' C = B*B = ',C
	 D = 1.0E10*C
	 WRITE (9,*) ' 1.0 * C = ',D
	 E = C/B
	 WRITE (9,*) ' C/B = ',E
	 E = C/C
	 WRITE (9,*) ' C/C = ',E
	 F = C+C
	 WRITE (9,*) ' C+C = ',F
   10 CONTINUE
      STOP
      END


  B =  -5.293956E-023
  C = B*B =   2.802597E-045
  1.0 * C =   2.802597E-035
  C/B =  -5.293956E-023
  C/C = 	 1.0000000


  C+C =   5.605194E-045

  B =  -2.646978E-023
  C = B*B =	      .0000000
  1.0 * C =	      .0000000
  C/B = 	  .0000000

? Error: REAL Indefinite (unitialized or previous error)
  Error Code 2136
P7 = 0D32: 009B; SS = 0E36, FP = F5C4, SP = F5BC

   Note that the Error 2136 was not generated until the
program tried to compute 0/0.  Replacing the operation C/B
with the operation B/C generated the expected division by zero
error, and specifically invoking 0/0 again generated Error 2136.
Thus, your problem appears to be associated with a 0/0 condition
which would persist regardless of how underflow were handled.

   If you are still interested in the references, I have
lots of reprints of the article from Computer, and a limited
supply of those from Micro.  I need a mail address, though.

Hope this helps.

                                 Jim

------------------------------

Date:     Mon, 18 Nov 85 21:10:24 EST
From:     Steven Segletes <steven@BRL-TBD.ARPA>
To:       Jim Cody <cody@ANL-MCS.ARPA>
cc:       steven@BRL-TBD.ARPA, info-ibmpc@USC-ISIB.ARPA
Subject:  Underflow Interrupts

My problem is indeed subtle, but I believe it is one of
multiplication, not zero by zero division.  In my programs which bomb
out, the bomb out always results from a multiplication.  I modified
your program to show my point.  In it, I multiply a very small (but
representable) number by zero, which results in the REAL Indefinite
number to be generated.  Such a number, if subsequently operated on,
bombs things out.  If I understood your first letter correctly, a
number like 2.8E-45 is considered denormalized by virtue of the fact
that the binary exponent field is zero.  It would thus seem that
numbers in the following ranges are considered as:

...      > x >  ~5.8E-39   is an OK number
~5.8E-39 > x >  ~1.4E-45   is *always* a denormalized number
~1.4E-45 > x >  ...        is an underflow (results in either zero or
                           denormalized result depending on status masks)

If this is so, then it would seem that I am destined to have
difficulties if ever an arithmetic result falls in the range 5.8E-39
to 1.4E-45.  I fear that this can not be avoided with MS Fortran V3.2.
If it is impossible to have a number in this mid-denormalized range be
flushed to zero, then this compiler (and others with similar
limitations) are next to useless for my application, where small
number round-offs probably happen thousands of times in any given run
of my program.

      DO 10 I = 74, 75
      WRITE (*,*) '  '
      J = -I
      B = -1.*2.0**(J)
      WRITE (0,*) ' B = ',B
      C = B*B
      WRITE (0,*) ' C = B*B = ',C
      d = 0. * c
      write (0,*) ' D = 0*C = ',d
   10 CONTINUE
      STOP
      END


 B =  -5.293956E-023
 C = B*B =   2.802597E-045
 D = 0*C =  *#IND*********

 B =  -2.646978E-023
 C = B*B =           .0000000
 D = 0*C =           .0000000
Stop - Program terminated.

-Steve



------------------------------

Date:     Mon, 18 Nov 85 10:23 CDT
From:     Jerry_Baskette <baskette%ti-eg.csnet@CSNET-RELAY.ARPA>
To:       info-ibmpc@usc-isib.arpa
cc:       french%ti-eg.csnet@CSNET-RELAY.ARPA
Subject:  Tool Evaluation

Folks:

I am involved in a tool evaluation for a Distributed Software Development
System. I am primarily interested in automated tools and tool sets that run 
either on a VAX/VMS system or an IBM PC compatible.

Tools categories of main concern are the following:

Data Base 
Project Management
1750A Architecture
Array Processor
Ada Compilers
Requirements Analysis
Design
Testing
Configuration Management


If you have any experiences with such tools, I would like to hear from you.
Please send me the tool name, system, distributor, and your opinion. 

Please respond directly to me at:   baskette%ti-eg@csnet-relay

Thank You,

Jerry Baskette

------------------------------

Date:    17 NOV 85 00:37-EST
From:  PHYGONS%SUNYABVA.BITNET@WISCVM.ARPA
To:  info-ibmpc@isib.ARPA
Subject: XENIX and Epson Printers

How does one get XENIX running on an IBM-PC-AT to drive an Epson FX-85
dot matrix printer.  I have been unable to get output from the Text
Formatting System to print on the Epson.  ASCII text prints OK, but
Escape sequences give garbage.  I am not on the IBM-PC mailing list,
so I would appreciate receiving any suggestions at
PHYGONS@SUNYABVA.BITNET.  Thanks!

------------------------------

Date:     Mon, 18 Nov 85 0:46:21 EST
From:     Dave Swindell <dswindel@BBN-LABS-B.ARPA>
To:       info-ibmpc@usc-isib.ARPA
Subject:  Graphics Editor

I am involved with the support of a large, mainframe-based, scientific
data management and analysis system called PROPHET.  Our software
supports a large number of terminals, including the Tektronix 4010 and
4100 series.  Although PROPHET supports a large number of graphical
applications which can be tailored by our users based on their needs,
several users have recently expressed interest in capturing PROPHET
graphics images on local PC's and performing additional editing using
PC-based software.

Many of our users have IBM PC's and are using programs such as PCPLOT
III to communicate with PROPHET as a 4010, and we ourselves have
looked at TGRAF-07 from Graphpoint which allows a PC to emulate a Tek
4107.  We have also developed tools which convert PROPHET graphical
displays into Hewlett-Packard 7475A compatible plot files which can be
downloaded and plotted locally.

My question is this: is anyone aware of graphics software for the IBM
PC which allows images to be captured or downloaded from a host system
and manipulated locally?  Examples of thee kinds of editing our users
are interested in include adding additional annotation to PROPHET
graphs and molecular displays as well as merging PROPHET displays into
documents generated on their PCs.  We already support tools which
allow  tabular data to be exchanged in DIF, SYLK, dBASE, and ASCII
format, and are aware of programs such as ChartMaster and BPS
Graphics.  What we are interested in are "MacPaint" style programs
which can use as input a captured screen image from a graphics terminal
emulator or a downloaded HP plot file.  Any references, thoughts,
observations, or condolences would be appreciated!

Thanks,

Dave Swindell
BBN Laboratories Incorporated
10 Moulton Street
Cambridge, MA  02238

ARPA: dswindell@bbn
Phone: (617)-497-3395

------------------------------

Date:           Mon, 18 Nov 85 18:32:29 PST
From:           Dave Flamm <flamm@AEROSPACE.ARPA>
To:             info-ibmpc@usc-isib
Subject:        Bernoulli Box Host Adapter Board

Has anyone deduced what the various ports on the B-Box host adapter
board do?  I have some manuals for the drives, but Iomega refuses to
give out technical information on the adapter bod.

Thanks in advance.
Dave Flamm

------------------------------

Date: Mon 18 Nov 85 07:45:47-PST
From: CRESWELL@SRI-AI.ARPA
Subject: WORDSTAR
To: INFO-IBMPC@USC-ISIB.ARPA
cc: Creswell@SRI-AI.ARPA

We are considering purchasing additional Wordstar software..anyone
have comments/opinions about Wordstar 3.3 vs Wordstar 2000????
-------

------------------------------

End of Info-IBMPC Digest
************************
-------