[mod.computers.ibm-pc] Info-IBMPC Digest V6 #3

Info-IBMPC@C.ISI.EDU.UUCP (01/19/87)

Info-IBMPC Digest       Sunday, 18 January 1987      Volume 6 : Issue 3

This Week's Editor: Billy Brackenridge

Today's Topics:
		       MPREP Macro Preprocessor
			  Keytronics KB5151
			       RM COBOL
			 Kermit Backup to VAX
		 Tape Backup Better than Serial Lines
	   Comments on Microsoft C V4 Console I/O Functions
		 Resident Programs that Use the Disk
			Genealogical Software
		Cheap lex yacc from Austin Code Works
		 MS-DOS Kermit 2.29b Test Prerelease
		JET  from SubLogic Works with Hercules
		   Control Break from Turbo Pascal
			     Ada Compiler
		      Pascal Compilers in Pascal
			   Disk Duplication
				LEX.C
	     INTERCEPT.SYS allows 720KB on DSDD Floppies
	 Pascal Program to Move Around in Your Subdirectories
		      Using nansi.sys with MS C
		       XT286 Supports new BIOS
			  Connecting to H89
			  NetBios (2 Msgs.)
		    MS DOS chmod Source Executable
		  Micro Emacs on Hercules Now Works
Today's Queries:
			    Plus Hard-Card
		     Help Getting a copy of PKARC
	    AST Flash Pack and Fast 88 Evaluations Wanted
	       R/M Fortran-Callable Graphics Utilities
		       MS Windows Error Message
		    Anchor Automation Modem Query
	   Everex Edge Graphics card vs. Microsoft CodeView
		 Calendar Alarm Clock Program Wanted
		     Signal processing on the AT
		Window Communications Package from MTS
			 Token Ring Questions
			     lisp and vi
		    PD Graphics Terminal Emulators
		      Interactive Video Training
		   Arrow Keys and 2020 Spreadsheet
			360 Kb B-Drive on AT03
			      c-compiler
		    HP Vectra and Micropolis disk
		   Mouse Hercules and Turbo Pascal
			       V20 Chip
			  NUSQ & PC-FILE III
		     Token Ring and DDN Interface
			 8 Line Serial Device
		     Missing direct.h from grep.c
			 Printer Redirection

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

Date:     Mon, 29 Dec 86 10:49:49 EST
From:     Kenneth Van Camp -FSAC- <kvancamp@ARDEC.ARPA>
Subject:  MPREP Macro Preprocessor

	The enclosed program, MPREP.PAS, is a general-purpose macro
preprocessor and version control program which I am placing in the
public domain. C programmers who are forced to program in other
languages will especially appreciate MPREP, since it implements the
four C preprocessor commands, #define, #ifdef, #ifndef and #endif,
for use in any other language. I wrote MPREP in Turbo Pascal, but it
works equally well with source files written in Fortran, Lisp, Cobol, etc.,
as long as they're in standard ASCII files. Documentation is included
in comments at the beginning of the program.

		  --Ken Van Camp <kvancamp@ARDEC.ARPA>

[MPREP.PAS has been added to the Info-IBMPC library. -rag]

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

Date: Mon, 12 Jan 87 06:50:37 CST
From: Jess Anderson <anderson@unix.macc.wisc.edu>
Subject: Keytronics KB5151

Having seen a query about this keyboard for AT&T, and having now
used a Keytronics KB5151 on my office XT for a few weeks, I can give
one user's impressions and ask a couple questions myself.

I *hated* the original XT keyboard for its hard touch and the lingering
thought that the high incidence of typos with the left little finger
was not correctable through training myself. I had other typing problems
with the original KB too. Upon getting a Keytronics KB5151, I experienced
new frustrations. The touch is *much* harder. The separate cursor keypad
is nice, but the relocation of Ins and Del to the top is proving hard
for my hand to learn. I don't have the same problems with the left little
finger, I just have new problems.

By far the hardest feature to get adjusted to is the relocation of the
function keys to the top. I wasn't aware before of how often I needed
to strike Alt-F<n>, but I am now, because it has become a two-handed
operation. I always did it by touch before, but I don't think I'll
ever be able to do the new one by touch.

(By contrast, I have a Z-158 at home, and that KB seems to me to
have the better parts of both worlds, especially in touch characteristics.)

My question: It seems to me that function keys across the top is an
irretrievably bad idea. Is there any ergonomic research that addresses
this? Are there keyboards that have (a) adjustable touch, (b) separate
cursor pad, (d) Ins and Del below the cursor keys, (e) function keys
in the "traditional" left-end positions?

==ARPA:==============anderson@unix.macc.wisc.edu===Jess Anderson======
| UUCP: {harvard,seismo,topaz,    (avoid ihnp4!)   1210 W. Dayton    | 
|    akgua,allegra,usbvax}!uwvax!uwmacc!anderson   Madison, WI 53706 |
==BITNET:======================anderson@wiscmacc===608/263-6988=======

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


Date: Mon, 12 Jan 87 08:19:59 cst
From: mlw@ncsc.ARPA (Williams)
Subject: RM COBOL


Ryan-McFarland COBOL is available in at least three versions for the PC;
one XENIX and two MS-DOS.  The latter include RM/COBOL (list $950) and
RM/COBOL 8X (list $1250).  One source for these products is the Programmer's
Connection, 136 Sunnyside Street, Hartville, OH 44632.  Check Dr. Dobbs
Jnl. or another similar magazine for ads with latest prices and competitive
vendors.

Mark L. Williams
(mlw@ncsc.arpa)

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


Date:     Mon, 12 Jan 87 09:18 EST
From: "GLENN EVERHART, 609 486 6328" <EVERHART%ARISIA%rca.com@RELAY.CS.NET>
Subject: Kermit Backup to VAX

We have VAXen hardwired to PCs here via asynch lines which typically
are set to 19.2k baud. Backups are handled via Kermit which does a very
nice job. The host VAX needs to be told only SET FILE TYPE BINARY,
then SERVER, and then MS-kermit can happily chuck whole directories at
a time over. It runs nicely from short batch jobs on the PC as well.
If you want to have autodialer, xmodem, menus, and scripts, have a look
at the VTKERMIT package that came out on the DECUS RSX (and VMS) SIG tapes;
all sources, docs, and executables are there. VTKERMIT is a VERY
reasonable all purpose communications package and can be far friendlier
to novices than standard Kermit. Either works just fine on the VAX.
Similar methods should work on ibm mainframes BUT there are some caveats
having to do with invertibility of ASCII <--> EBCDIC translation tables.
Glenn Everhart
Everhart%Arisia@RCA.COM

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

To: jcmorris@mitre.arpa
Subject: Tape Backup Better than Serial Lines
Date: Thu, 15 Jan 87 17:51:21 -0500
From: <reintom@ROCKEFELLER.ARPA>

I was going to do what you described but later figured that it
was impractical.  I did learn, however, that there is a software
product that can be made to do it although backing up is not its
specific purpose.  It was written for a Unix system so I can't
help you with VM or VMS.  I will dig up info on it if you are
interested.

The reasons I decided not to use a host for backups are as
follows.

Our lease line runs at 4800 bps.  Figure:
- 10 Mbytes of data
- 1 start bit and one stop bit per byte = 10 bits per byte.
- At 4800 bits per second, characters are sent 480 per second.
- That's 28,800 chars per minute, or 1,728,000 per hour.
- Divide by two for a conservative error checking protocol overhead.
- Now you're moving data at 864,000 chars per hour.
- 10,000,000 / 864,000 = 11.57 HOURS TRANSFER TIME!

I think that 11.57 hours transfer time is not acceptable for
backup.  We have to pay for CPU time.  Maybe you don't.  Not that
our charges are unreasonable for what we get but 11.57 hours of
character transfer is not going to be cheap at any rate.  Now
what about reliability?  Could this really be better than a tape
drive?  All other things being equal, the amount of time adds
vulnerability to the system: there is more time for the host or
PC or anything else to crash etc.

We bought a tape drive that could be carried to the PCs and
connected.  I connect the drive as I leave for the night and
give the backup command.  This means that only one PC can be
backed up per night.  This is more than acceptable for us.  I
don't know if it will be for you.

We bought the Alloy tape drive because it was the cheapest 60
MByte drive and also because it can be connected to the 37-pin
connector on the back of PCs an XTs.  The drive was $1000, but
I have now seen it for $800.  For $175 you can buy an expansion
board for a computer, such as an AT, that does not have this
connector.  The software update I received recently now supports
the Novell network.  There is no explanation for this, possibly
because we don't use a PC network.  If you do, however, maybe you
should call Alloy for info.  This may allow you to connect the
Alloy tape drive to your Macs, Suns and Apollos.

Tom Reingold;  The Rockefeller University; 1230 York Av; NY 10021

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


Date: Mon, 12 Jan 87 12:38:48 EST
From: jcm@ORNL-MSR.ARPA (James A. Mullens)
Subject: Comments on Microsoft C V4 Console I/O Functions


Here is a gotcha! report for Microsoft C V4.0 users and Microsoft.  I
just started using the console I/O functions (cscanf, getch, ungetch
in conio.h) for my menu-input module, and I have noticed some
undesirable behavior.

The following code shows that an ungetch'd character is not echoed
when it is re-read:

        #include <stdio.h>
        #include <conio.h>

        main()
        { int ch;
          char inline[80];

          /* TEST 1:  ungetch followed by cscanf */
          ch = getch();
          if (ch != ungetch(ch))
            cprintf("\n\r Error in ungetch, return = %d",ch);

          cscanf("%s",inline);
          cprintf("\n\r Received '%s'",inline);
        }

Even though cscanf does input the ungetch'd character, the character
is not echoed to the screen.

Here a some clues/notes from the C manuals:

"The cscanf function reads data directly from the console into the
locations given by the arguments, USING THE GETCHE FUNCTION TO READ
CHARACTERS."

[COMMENT: The getche function is the echoing version of getch.  The
above statement hints that cscanf would echo any characters it
reads.]

"The console I/O routines use the corresponding LOW-NUMBERED MS-DOS
SYSTEM CALLS to read and write characters.  These console routines
are not compatible with stream or low-level library routines."

And here is statement, known to be true, which surprised me (and made
me wonder why I should bother to use the console I/O functions -- or,
at least, made me wonder why Microsoft named these functions "console
I/O"):

"Redirecting the standard input or standard output from the command
line causes the input or output of these functions to be redirected."

    jim mullens / oak ridge national lab / jcm@ornl-msr.arpa
    --------------------------------------------------------
    * "It's you and me against the world -- LET'S ATTACK!" *
    --------------------------------------------------------

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


Date: Mon, 12 Jan 87 09:32:11 PST
From: Tom Wadlow <spar!taw@decwrl.DEC.COM>
Subject: Resident Programs that Use the Disk

I am trying to write a little assembly language terminate and
stay resident program that lets me browse through directories
and files on disk.  Using the DOS disk functions from in
a resident program is quite tricky, and I was wondering if 
anybody out there had some example code I might look at.
Thanks in advance --Tom

[See the file INDOS.TXT in the <info-ibmpc> directory. -wab]


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


Date: 12 Jan 87 14:17 EST
From: harvey@nems.ARPA (Betty Harvey)
Subject: Genealogical Software
To: martyn@garfield.mun.cdn


Martyn:

	This response is probably late, but just in case it isn't
there is a shareware genealogical software package called FTETC
(Family Tree, Etc.).  The author asks for a $35 donation.

	I tried it and it is a pretty slick little program.  However,
found a flaw that I couldn't overcome.  It only allowed for one
marriage.  This problem could be overcome if only one current or ex-spouse
bore children.  The only other alternative was to enter the same
person twice from the parent.

           The graphics are pretty slick and some of the reports 
are nice.  If it did allow multiple marriages, then I could 
wholeheartedly recommend it.  Hope this helps, but if it doesn't 
just toss this message in the old circular file and/or bit bucket 
whichever is more productive.

				Betty Harvey (harvey@nems)

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


Subject: Cheap lex yacc from Austin Code Works
Date: Tue, 13 Jan 87 14:09:11 -0500
From: Mark Colan <mtc@ATHENA.MIT.EDU>

You can get (nearly) public domain lex and yacc programs from The
Austin Code Works, 11100 Leafwood Lane, Austin TX 78750-0785.

I believe these lex and yacc are DECUS/1977 versions, the original source
of which was in the public domain.  Since some work was involved in
porting to the IBM PC, they charge a small fee.

Interestingly, the code (at least for yacc) looks identical to that 
found on the BSD4.2 source tape - which implies that BSD yacc is 
actually the public domain DECUS version.  Anybody have more information
on the origins of this software?  Is that true for any other BSD code?

I bought Austin Codeworks' port of yacc and have used it with both
Lattice C 3.10 and MicroSoft C 4.00 cleanly; the generated code
compiles without any diagnostics (and works properly).

I have not used their lex, but assume it to be of the same quality.

Prices: 
	lex: $25  
	yacc & prep (prep is a attribute grammar preprocessor) $25
	Add $10 for large model version of yacc (recommended).

Can order by phone at 512-258-0785

I have no association with Austin Codeworks except as a satisfied user.

Mark Colan
MIT Project Athena

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

Date: Tue 13 Jan 87 18:04:46-EST
From: Christine M Gianone <SY.CHRISTINE@CU20B.COLUMBIA.EDU>
Subject: MS-DOS Kermit 2.29b Test Prerelease


        This most recent version of MS Kermit 2.29, identified as MS-Kermit
2.29b, has support for VT102 printer commands, long packets, and script
execution.  Additionally, it has corrections to most problems known at this
time.
        A new kind of MS Kermit, MSTCLO.BOO, is available for near-clones of
IBM PC's but whose serial port hardware is not similar.  Here is a description
from the originator, Glenn Everhart of RCA:

   This module is derived from MSXIBM.ASM and is intended for IBM PC
   near-clones that differ in their serial I/O but emulate the IBM
   BIOS. Such machines include Seequa Chameleon, DG/1, and others.
   The idea is to use the VT100 emulation (which will work) but
   use BIOS for all serial I/O. This is not interrupt driven and so
   will (unfortunately) not be able to keep up well at high baud
   rates. Nevertheless, it will be far better than the old Seequa
   version which didn't emulate anything.

        Note that this "semi-clone" version may also work on IBM equipment
in situations where the real IBM version will not, for instance when
communicating through a network communications server (e.g. on the token
ring) rather than a real asynchronous adapter (untested - guinea pigs?).

BUG FIXES AND INTERNAL IMPROVEMENTS:

        MS Kermit 2.29 of May '86 (no letter) had two serious bugs.  First
was an incompatibility with Hayes and similar internal modems: the modem
would hangup the phone when a file transfer completed or Connect mode
exited.  We have tested this version with a real Hayes 1200B modem with
satisfactory results (whew!, but let's keep our fingers crossed).

        Second was that extraneous null characters could be sent at the
start of a file transfer or when Connect mode was entered, causing certain
mainframes (e.g. IBM mainframes in linemode) and minis (e.g. HP-1000s) to
ignore packets (or worse), preventing file transfer from taking place.  The
nulls are no longer transmitted.

        In addition, there were numerous small problems throughout MS
Kermit, as might be expected, and those identified to date have been
addressed.  One important one was the serial port was left active if one
PUSHed to DOS while in Connect mode.

        Serious DOS errors are now trapped by Kermit to prevent Kermit from
being aborted with the serial port interrupt alive and with a couple of
other items redirected to Kermit itself.  The most common such error is
"Drive Not Ready."  Previously, these conditions would invoke the normal DOS
Critical Error proc which would request "Abort, Retry, Ignore?" and would
abort the program if Abort were chosen.  Now, Kermit exercises a fourth
option, Fail the Operation, when these errors occur.  Procedures spawning a
second copy of COMMAND.COM (DIR, etc) still can yield the A/R/I message but
it is harmless in this case.  However, if such a message arises while Kermit
is in Server mode a human must still type the answer locally.  The
implementation replaces the normal DOS Control-Break (^C) and Critical Error
handlers with Kermit's own handlers and restores the originals when Kermit
exits.

        Numerous small bugs concerning negotiated parameters (8 bit quoting,
Block check types, etc) have been fixed; these mainly concerned Server mode
operations. The terminal emulator no longer responds to the answer-back msg
request; there is no answer-back message in the emulator.  Screen handling
has been improved internally, but it still has a few glitches.

        While in Connect mode 8 bit received data will be passed through to
the terminal processor if the Parity type is None, and the character will be
displayed from the system's 8-bit character set.  If Debugging is ON then
characters with their high bit set will be displayed as a tilde and then a
code for the lower 7 bits; i.e., 10000001b is displayed as ~^A.  (Note to
mail readers: due to network quirks these characters may be mistranslated;
the tilde is the funny wiggle character above the accent mark and the
control symbol is a caret.)

ADDITION TO SET DISPLAY COMMAND:

        Set Display  Regular | Serial | Quiet | 7-bit | 8-bit

        The keywords 7-bit and 8-bit have been added to control display
of characters in connect mode.  7-bit is the default and 8-bit
becomes meaningless when parity is other than None.  The Set Display
command accepts two keywords in one command, processed left to right.

ADDITION TO SET PROMPT COMMAND:

        Special characters, such 8-bit Ascii or control characters like
escape, can be included in text of Kermit's prompt by specifying them as
octal numbers in the form \ooo where o is an octal digit.  Escape itself is
\33.  To return to Kermit's default prompt give the Set Prompt command
without text.  The replacement prompt can be up to 80 characters long.

VT102 PRINTER SUPPORT (IBM PC version only, for now):

	The MS Kermit VT-102 emulator now accepts ANSI printer control
sequences from the host, including Print Screen, Print Current Line,
Enable/Disable Auto Print, etc.

LONG PACKETS:

        MS Kermit can now use packets up to 1000 bytes in length.  The
transmitter selects the type of packet (Regular or Long) based upon the size
of the data to be sent in that particular packet; negotiations at the start
of a file transfer determine the maximum length.  The receiver is prepared
to accept Long packets at any time up to a maximum length set by the user.

        The commands Set Send Packet nnn and Set Receive Packet nnn the
maximum packet size; nnn can be as large as 1000.  Kermit uses 94-byte
packets as its default maximum size; longer packets will be employed only if
the user gives the Set Send/Receive Pack commands above.

        Long packets may be used in conjunction with any other Kermit
program that supports them.  Currently, these include IBM 370 VM/CMS Kermit
3.1, PDP-11 Kermit (for RSX, RT, RSTS, etc), and MS-Kermit itself.

EFFICIENCY:

        The IBM serial port interrupt routine, buffer handler for received
chars, and the packet assembly/disassembly routines Spack and Rpack have been
completely rewritten for efficiency, long packets, and high speed operations.
It is possible to operate at 38400 baud on a plain 4.77 MHz IBM PC provided
that the clock tick routine is not loaded with time consuming extras (Helpful
Utilities, print spoolers, screen savers, and the like).  Long packet and
high efficiency code are system independent; fancy high speed operation code
is for IBM PC's and clones and the DEC Rainbow.

SCRIPTS:

        A simple script and raw file upload facility has been written by Jim
Sturdevant and myself (Jim did the original version and we developed it from
there).  The syntax and operation conform to the description of login
scripts in the Kermit book, and in the DEC-20 section of the Kermit User
Guide.  This code is actually system independent.

        Joe Doupnik
        jrd@usu.bitnet

[Ed. - Many thanks, Joe!  The three versions that you sent have been
put in the Kermit distribution for testing as MSTIBM.BOO (IBM PC
family), MSTCLO.BOO ("semi-clones"), and MSTGEN.BOO (generic MS-DOS
version, should run - slowly - on any DOS machine).  Further details
about the printer control sequences and the script facility are in
MST29B.DOC.  This second post-2.29 pre-release of MS-Kermit comes
without sources because the source is still undergoing development
towards the forthcoming "real" release, and is being issued primarily
to relieve the many Kermit users who have been affected by the
internal-modem and interpacket-null problems.  If no serious flaws
are encountered, this release will replace 2.29 on our distribution
diskettes; therefore, IBM-PC Kermit users are strongly encouraged to
get this new version and try it out, and report any problems back to
Info-Kermit.  It has been tested on a PC/AT at Columbia against
VAX/Unix, DEC-20, and IBM VM/CMS (both linemode and full-screen)
Kermits, and seems to work as advertised.

The next true release of MS Kermit, to be called 2.30, will also
include a completely reworked key definition facility, which will
allow key definitions to work on any system covered by MS-Kermit, not
just a select few, and will allow Kermit "verbs" (like scroll back
one screen, send a BREAK, toggle mode line, etc) to be assigned to
arbitrary keys.  It will probably also include some other features,
like reporting of performance statistics.  Volunteers for testing the
new code on systems that Joe does not have access to are most
welcome; such systems include the Wang PC, Victor 9000, HP-110 and
150, Sanyo MBC, ACT Apricot, Heath/Zenith 100, Grid Compass, TI PC,
etc.  Please send mail to Info-Kermit@CU20B if you'd like to
volunteer.  The IBM version also needs rigorous testing under all the
many and varied conditions our network readers can subject it to:
with various window and desktop managers, in conjunction with
different terminate-and-stay-resident (TSR) utilities, with ANSI.SYS
and its many replacements, with keyboard utilities like ProKey, with
networks like PC Network and Token Ring, with every conceivable kind
of host at the other end of the connection.  This is one of the most
widely used pieces of software in the world and YOU are the quality
control!

Internet users may get the new files from host CU20B.COLUMBIA.EDU
using FTP, login ANONYMOUS, any password.  The files are KER:MST29B.*
(documentation), KER:MSTIBM.* (IBM version), KER:MSTCLO.* (semi-clone
version), and KER:MSTGEN.* (generic DOS version).  The .EXE files are
encoded as printable ".BOO" files, which may be decoded using any of
the KER:MSBPCT.* programs.  If you're unfamiliar with Kermit network
distribution at Columbia, first GET the file KER:AAAREAD.ME, read it,
and take it from there.  BITNET users may request the files from
KERMSRV at host CUVMA; to get started you TELL KERMSRV AT CUVMA HELP
(or SEND/REM, or whatever the syntax on your host is).  The files
should also show up at the Oklahoma State University (okstate) UUCP
Kermit server within a few days.] 

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


From: dgis!bms-at!stuart@seismo.CSS.GOV
Date: Wed Jan 14 00:31:31 1987
Subject: JET  from SubLogic Works with Hercules

The command

A> JET H

causes JET to work with a Hercules compatible adapter.

(At least on my version it does.)

SIMCGA is not needed.

Stuart D. Gathman	<..!seismo!dgis!bms-at!stuart>


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


Date: 13 January 87 10:57-CST
From:  AYAC071%UTA3081.BITNET@WISCVM.WISC.EDU
Subject: Control Break from Turbo Pascal


I would like to thank all who took the time to reply to my query about
catching Control-Break's from Turbo Pascal.  I apologize for the delay
in summarizing this information, but I have not received a copy
of the Info-IBMPC digest since I sent the request.  I was not even
sure the request was printed until I started receiving letters from
both the APRA-net & Bitnet.

Paul Palmer of Georgia Tech indicated that you can replace the
Turbo run-time error-handler routine w/ your own.  This is done by
storing the offset of your routine in the pre-defined variable
ERRORPTR.  Note that, using this routine, you cannot continue
program execution,  This method will only allow the program a graceful
way to die.

Eric Thomas pointed out that
      1) Turbo Pascal normally does all screen I/O using the BIOS calls,
not the DOS functions (at least for the IBM-specific version), and
      2) Trapping the Ctrl-Break will not prevent the break indicator,
the caret-C (^C) from printing on the screen.

Finally, Timothy Kay of Caltech sent me a copy of a working TP program
that does intercept the Control-Break signal & continue processing.
A copy of that code follows.  It would appear that, in order for the
interrupt handler to function, the Compiler must be told to switch
from the BIOS-level I/O routines to the DOS-level.  This is accom-
plished by placing the compiler directives {$Px) & {$Gx} at the start
of the program.  P & G represent the directives to allow re-direction
of standard input & output, respectively, while "x" represents the size
of the re-direction buffer.  By specifying the re-direction options, you
can force the compiler to use the higher-level DOS calls for I/O,
thereby enabling the trapping of ^-Break.

Thanks again to all who responded.

Bill Douglass
Office of the Attorney General of Texas
PO Box 12548
Austin, TX  78711-2548
AYAC071%UTA3081.BITNET@WISCVM.WISC.EDU


Sample program provide by Timothy Kay
==========  c u t    h e r e   ===========  c u t    h e r e  ===========



 {$P1}  {<==== $P DIRECTIVE, USED TO INVOKE DOS-LEVEL CALLS FOR I/O}
 {$I.INC.ITOHS.INC}
type
    reg=record
         ax,bx,cx,dx,bp,di,si,ds,es,flags: integer;
    end;
var
    rg: reg;
    i,j,k: integer;

(** procedure to get control upon receipt of ^Break **)
procedure int23r(flags: integer);
  var
    rg: reg;
  begin
  .  perform a little magic  .
  inline($9c/         . pushf .
         $9c/         . pushf .
         $06/         . push   es .
         $1e/         . push   ds .
         $57/         . push   di .
         $56/         . push   si .
         $55/         . push   bp .
         $52/         . push   dx .
         $51/         . push   cx .
         $53/         . push   bx .
         $50/         . push   ax .
         $89/$e0/     . mov    ax,sp .
         $05/$16/$00/ . add    ax,0016 .
         $89/$c5);    . mov    bp,ax .

  mem.$b000:160*22. := 1;

  flags := rg.flags;
  inline($58/         . pop     ax .
         $5b/         . pop     bx .
         $59/         . pop     cx .
         $5a/         . pop     dx .
         $5d/         . pop     bp .
         $5e/         . pop     si .
         $5f/         . pop     di .
         $1f/         . pop     ds .
         $07/         . pop     es .
         $9d/         . popf .
         $44/         . inc     sp .
         $44/         . inc     sp .
         $cf)         . iret .
  end;

(** start of main routine **)
begin

rg.ax := $2523;          (** DOS Set Vector Function - Set Vector 23h *)
rg.ds := cseg;
rg.dx := ofs(int23r)+10; (** DS:DX -> new intr. handler. DX is offset *)
                         (** by 7 to bypass stack-setup code          *)
writeln(itohs(memw.0:$23*4+2.),':',itohs(memw.0:$23*4.));
intr($21,rg);
writeln(itohs(memw.0:$23*4+2.),':',itohs(memw.0:$23*4.));
for i := 1 to 1000 do
  write('hello, world',#13)
end.
=====================  e n d   o f   c o d e  ======================


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


Date: 14 Jan 1987 15:43:53 PST
Subject: Ada Compiler
From: Richard Gillmann <GILLMANN@C.ISI.EDU>


I got a call a while ago from Meridian Systems, who are developing
an Ada compiler for the PC.  The compiler is priced at $129.95.
It generates normal PC OBJ and EXE files, it sounds quite complete,
including such toughies as tasking and generics.  Of course, it won't
do you much good until it's validated, which they are planning for
March.  Meridian is at 800-221-2522 in Laguna Hills.


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


Date: Thu, 15 Jan 87 13:44:01 MEZ
From:  A4422DAB%AWIUNI11.BITNET@WISCVM.WISC.EDU
Subject: Pascal Compilers in Pascal

Answering the question about Pascal compilers in Pascal
I know of two such compilers:

Facilis and

Visible Pascal

Both can be obtained from PCSIG, 103D East Duane Av., Sunnyvale CA 94086
(Facilis is disk#424, Visible is #510)
Facilis also from Turbo Six, POB 8373, Waco TX 76710
Both are public domain.
Disclaimer: I have not used them, I only know they exist.

happy hacking
Erich Neuwirth

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

To: "Andre Pirard" <A-PIRARD%BLIULG12.BITNET@WISCVM.WISC.EDU>
From: "Roger Fajman"  <RAF%NIHCU.BITNET@WISCVM.WISC.EDU>
Date:     Thu, 15 Jan 87  16:36:08 EST
Subject: Disk Duplication

There is a fast disk copy program available that will read the disk
once and alternate writing to the A and B drives.  It was developed
for the Capital PC User Group Software Library and can be ordered
from

      Capital PC Software Library
      P.O. Box 6128
      Silver Spring, MD 20906
      USA

Ask for the fast disk copy program on disk M1.  The cost is
$8 in North America and $10 elsewhere.

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

To: bilbo.rp@LOCUS.UCLA.EDU
Cc: info-ibmpc@c.isi.edu
Subject: LEX.C
Date: Thu, 15 Jan 87 22:25:12 EST
From: James R. Van Zandt <jrv@mitre-bedford.ARPA>

Rich Patterson asked about the odd C code in the LEX in the info-ibmpc
library.  I got LEX from the C Users' Group.  My copy of INTEG.C looks
like this...

/*
  HEADER: CUG	 nnn.nn;
  TITLE:	 LEX - A Lexical Analyzer Generator
  VERSION:	 1.0 for IBM-PC
  DATE: 	 Jan 30, 1985
  DESCRIPTION:	 A Lexical Analyzer Generator. From UNIX
  KEYWORDS:	 Lexical Analyzer Generator YACC C PREP
  SYSTEM:	 IBM-PC and compatibles
  FILENAME:      INTEG.C
  WARNINGS:	 This program is not for the casual user. It will
		 be useful primarily to expert developers.
  CRC:		 N/A
  SEE-ALSO:	 YACC and PREP
  AUTHORS:	 Scott Guthery 11100 leafwood lane Austin, TX 78750
  COMPILERS:	 DESMET-C
  REFERENCES:	 UNIX Systems Manuals
*/
/*
 * integ -- ascii to long (various bases)
 */
long
integ(cp, base)
char *cp;
register base;
{
        register c;
        long n;

        n = 0;
        while (c = *cp++) {
                if (c>='A' && c<='Z')
                        c += 'a'-'A';
                if (c>='a' && c<='z')
                        c = (c-'a')+10+'0';
                if (c < '0' || c > base+'0')
                        break;
                n = n*base + c-'0';
        }
        return(n);
}

...which is to say, perfectly normal C.  Could someone have uploaded
LEX to info-IBMPC via an IBM mainframe? (Note that EBCDIC has no
braces.) I successfully recompiled LEX with the DeSmet compiler.  (I
modified it to return a nonzero status if and only if it finds an
error.) 

This is NOT the same LEX as on UNIX.  The syntax is considerably
different.  I found that this LEX created incorrect scanners when the
number of internal states got close to 256.  I was **barely** able to
generate a scanner for C.  It also failed to handle complex regular
expressions, although the same patterns could be recognized by
predefining subexpressions.  It's still a powerful tool.

                           - Jim Van Zandt (jrv@mitre-bedford)

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


Date:     Fri, 16 Jan 87 01:05 CST
From: EDWARDCA%VUENGVAX.BITNET@WISCVM.WISC.EDU
Subject: INTERCEPT.SYS allows 720KB on DSDD Floppies


There is a public domain program called INTERCEPT.SYS that allows a 1.2Meg
AT-class drive to read/write 720K on standard DSDD floppies.  However, the
source is not available.  Furthermore, I am at a loss to discover how to send
a reply to Zhahai Stewart (I am new to gMAIL and VMS in general).

        Regards,
        Mike Weekley

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

Date:    16 Jan 87   10:42  GMT
To:  INFO-IBMPC@C.ISI.EDU  (Informationssystem zum IBMPC)
From: M70B%CBEBDA3T.BITNET@WISCVM.WISC.EDU (F.Buetikofer, Help desk UNI Bern)
Subject: Pascal Program to Move Around in Your Subdirectories


Hello netlandians and pc freaks,

   Some years ago I worked on a VAX/780. On this machine we had some
nice programs to move around in the subdirectories: UP and CHANGE.
So when I began to work with an IBMPC with a hard disk, I thought that
the CD command was not so user friendly at all. So I decided to write
my own CHANGE program for the IBMPC, using Turbo-Pascal.

So I append that program to this mail, and hope that you enjoy it.

Fritz Buetikofer
Senior Consultant
Uni Berne (Switzerland)

===================cut here=============================================
PROGRAM Change_Directory;

TYPE
  regpack    = RECORD
                 CASE BOOLEAN OF
                 TRUE:  (ax, bx, cx, dx, bp, si, di, ds, es, flags: INTEGER);
                 FALSE: (al, ah, bl, bh, cl, ch, dl, dh: BYTE);
               END;
  String8    = String [8];
  String13   = String [13];
  String255  = String [255];
  ASCIIZ     = ARRAY [1..255] OF CHAR;


VAR
  Ch           : CHAR;
  Regs         : regpack;
  Entry, Loc,
  Old_Loc      : INTEGER;
  Current_Disk : BYTE;
  Possible_Dir : ARRAY [1..80] OF String13;
  Current_Path : String255;


FUNCTION TestBit (B : BYTE; BitNo : INTEGER) : BOOLEAN;
BEGIN
  TestBit := FALSE;
  CASE BitNo OF
    0: IF B AND   1 > 0 THEN TestBit := TRUE;
    1: IF B AND   2 > 0 THEN TestBit := TRUE;
    2: IF B AND   4 > 0 THEN TestBit := TRUE;
    3: IF B AND   8 > 0 THEN TestBit := TRUE;
    4: IF B AND  16 > 0 THEN TestBit := TRUE;
    5: IF B AND  32 > 0 THEN TestBit := TRUE;
    6: IF B AND  64 > 0 THEN TestBit := TRUE;
    7: IF B AND 128 > 0 THEN TestBit := TRUE;
    ELSE;
    END
END;

PROCEDURE XDir (Drive : BYTE);

CONST
  Offset = 5;

VAR
  Regs      : regpack;
  DTA       : ARRAY [1..44] OF BYTE;
  Search    : ARRAY [1..7] OF BYTE;
  LongName  : String13;
  FileName  : String8;
  FileExt   : String8;
  Attribute : String8;
  i, j      : INTEGER;

BEGIN
  FillChar (DTA, 44, 0);
  WITH Regs DO BEGIN
    AX := $1A00;
    DS := Seg (DTA);
    DX := Ofs (DTA)
  END;
  MsDos (Regs);

  Search [1] := Drive + 64;
  Search [2] := ORD (':');
  Search [3] := ORD ('*');
  Search [4] := ORD ('.');
  Search [5] := ORD ('*');
  Search [6] := 0;

  WITH Regs DO BEGIN
    AX := $4E00;
    DS := Seg (Search);
    DX := Ofs (Search);
    CX := $16
  END;
  MsDos (Regs);

  WHILE Regs.AL = 0 DO BEGIN
    LongName [0] := CHR (13);
    MOVE (DTA[31], LongName [1], 13);
    FileName := ''; i := 1;
    WHILE (i <= 8) AND (LongName[i] <> CHR (0)) AND (LongName[i] <> '.') DO
    BEGIN
      FileName := FileName + LongName[i];
      i := i + 1
    END;
    FileExt := '';
    IF LongName[i] = '.' THEN BEGIN
      j := i;
      i := 1;
      WHILE (i <= 3) DO BEGIN
        FileExt := FileExt + LongName [i+j];
        i := i + 1
      END
    END;
    IF TestBit (DTA [22],4) THEN BEGIN
       (* This is a directory entry *)
       IF FileName <> '.' THEN BEGIN
          IF FileName = '..' THEN FileName := '.. (upper dir)';
          IF FileExt = '' THEN Possible_Dir [Entry] := FileName
               ELSE Possible_Dir [Entry] := FileName + '.' + FileExt;
          Entry := Entry + 1
       END
    END;

    FOR i := 31 TO 43 DO DTA [i] := 32;
    Regs.AX := $4F00;
    MsDos (Regs)
  END
END;


PROCEDURE Get_Current_Path (Drive : BYTE; VAR Act_Path : String255);

VAR
  Regs  : regpack;
  Temp  : ASCIIZ;
  i     : INTEGER;

BEGIN
  Regs.DX := Drive;
  Regs.DS := Seg (Temp);
  Regs.SI := Ofs (Temp);
  Regs.AX := $4700;
  MsDos (Regs);

  Act_Path := '\';
  i := 1;
  WHILE (Temp [i] <> CHR (0)) AND  (i <= 255) DO BEGIN
      Act_Path := Act_Path + Temp [i];
      i := i + 1
  END
END (* Get_Current_Path *);


PROCEDURE WriteSubDirs (Num : INTEGER);
VAR i,j : INTEGER;
BEGIN
  ClrScr;
  i := Current_Disk + 64;
  WRITELN (' Current directory&path ', CHR (i), ':', Current_Path);
  WRITELN ('');
  WRITELN (' Select in the following list of subdirectories by moving around');
  WRITELN (' with the cursor keys, and changing to a highlighted item by');
  WRITELN (' pressing the <ENTER> key. The <Esc> key stops the program.');

  FOR i := 1 TO Num DO BEGIN
    GotoXY (5 + 18*((i-1) MOD 4), 7+((i-1) DIV 4));
    WRITE  (Possible_Dir [i])
  END;
  GotoXY (5, 7);
  TextBackground (White); TextColor (Black);
  WRITE  (Possible_Dir [1]);
  TextBackground (Black); TextColor (White);

END {WriteSubDirs};


PROCEDURE Update_Cursor;
BEGIN
  GotoXY (5 + 18*((Old_Loc-1) MOD 4), 7+((Old_Loc-1) DIV 4));
  TextBackground (Black); TextColor (White);
  WRITE  (Possible_Dir [Old_Loc]);

  GotoXY (5 + 18*((Loc-1) MOD 4), 7+((Loc-1) DIV 4));
  TextBackground (White); TextColor (Black);
  WRITE  (Possible_Dir [Loc]);
  TextBackground (Black); TextColor (White);
END;

BEGIN
  WITH Regs DO BEGIN
    ax := $1900;
    MsDos (Regs);
    Current_Disk := SUCC (ax AND $FF)
  END;

  Get_Current_Path (Current_Disk, Current_Path);

  Entry := 1;
  XDir (Current_Disk);

  TextMode (C80);
  WriteSubDirs (Entry-1);
  Loc := 1;

  repeat
    repeat read(Kbd,Ch) until Ch in [#27,#13];
    case Upcase(Ch) of
      #13: (* Just do nothing *);
      #27: begin
             read(Kbd,Ch);
             Old_Loc := Loc;
             case Ch of
               'H': begin  (* Up Arrow *)
                      IF Loc > 4 THEN Loc := Loc - 4
                    end;
               'K': begin  (* Left Arrow *)
                      IF Loc > 1 THEN Loc := Loc - 1
                    end;
               'M': begin  (* Right Arrow *)
                      IF Loc < (Entry-1) THEN Loc := Loc + 1
                    end;
               'P': begin  (* Down Arrow *)
                      IF Loc <= (Entry-5) THEN Loc := Loc + 4
                    end;
             end;
             Update_Cursor;
       end
    end;
  UNTIL Ch IN [#27, #13];
  {$I-} IF Ch = #13 THEN ChDir (Possible_Dir [Loc]); {$I+}
  ClrScr

END.
===================cut here=============================================

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


Date: Fri 16 Jan 87 18:58:21-EST
From: Yuichi Shoda <G.SHODA@CS.COLUMBIA.EDU>
Subject: Using nansi.sys with MS C 


About a month and a half ago, I posted a query about using Dan Kegel's
enhanced console driver, "nansi.sys", from Microsoft C (version 3 and 4).
The gist of my query was that I was unable to get the kind of massive
speedup I was able to get using Lattice C and nansi.sys when I moved
to MSC (and Dan's set_raw() and restoe_raw() routines for MSC).

Since then, I found two solutions, one I found by chance, and the other
suggested by two people one of whom is the author Dan himself. The one
I stumbled upon relies on this curious behavior of MSC: as long as I
use only printf() for console output, I get a massive speedup just by calling
set_raw() before printf(). But once putchar() is used anywhere in the
program, speedup stops for the subsequent set_row() printf() combinations.
It's as if it starts out having a buffer for stdout but the moment I use
putchar(), it assumes that stdout is unbufferred. The MSC manual says that
stdout is "line buffered", which I interpreted as meaning that the buffer
is flushed as soon as an end-of-line is reached. But it's a buffer 
nonetheless, no?  Anyway, since I found this solution right after I posted
the query, I substituted all occurances of putchar(x)'s in my program with
printf("%c",x), and had a satistory, tough a bit puzzling, results.

The more fundamental solution was suggested by two people including Dan.
This solution explicitly attaches a buffer to stdout by:

#include <stdio.h>
static char stdoutbuf[BUFSIZ];
  .
  .
main()
{
  setbuf(stdout,stdoutbuf);
  .
  .
}

The only (minor) problem with this is that one must use fflush(stdout)
to guarantee output before prompting the user for input.

Anyway, I'd like to thank all the people who responded to my initial query.
I'm posting a short program in MSC (tested in version 4.0) that demonstrates
the solutions and the curious behavior I mentioned above in a separate
message.

Yuichi Shoda
G.shoda@cs.columbia.edu

#include <stdio.h>

char	response[128];
static char stdoutbuf[BUFSIZ];

writeit(blurb)
char blurb[];
{
  int i;	
  printf("\n");
  for (i=0; i<20; i++)
  {
    printf("This is %s mode!  Is it fast, or is it slow?\n", blurb);
  }
  fflush(stdout);
}

main()
{
  int  i;

  printf("\033[2J");
  printf("Cooked mode test (hit return):");   gets(response);
  writeit("cooked mode");
  printf("\033[%d;1Hhit return",24);  gets(response);  printf("\033[2J");
	
  printf("Raw mode test #1 (hit return):");   gets(response);
  set_raw();	
  writeit("r a w  mode");
  restore_raw();	
  printf("\033[%d;1Hhit return",24);  gets(response);  printf("\033[2J");
	
  printf("Raw mode test #2 (hit return)"); putchar(':'); gets(response);
  set_raw();	
  writeit("r a w  mode");
  restore_raw();	
  printf("\033[%d;1Hhit return",24);  gets(response);  printf("\033[2J");
  
  printf("Raw mode test #3 (hit return)"); putchar(':'); gets(response);
  setbuf(stdout,stdoutbuf);
  set_raw();	
  writeit("r a w  mode");
  restore_raw();	
  printf("\033[%d;1Hhit return",24);  gets(response);  printf("\033[2J");

  printf("Raw mode test #4 (hit return)"); putchar(':'); 
  fflush(stdout); gets(response);
  set_raw();	
  writeit("r a w  mode");
  restore_raw();	
}

[Thanks to all those who sent us copies of NANSI.CAT. Our corrupted copy
has been replaced with a new error free copy. -wab]

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


Date: Fri 16 Jan 87 19:04:07-PST
From: Daniel Davison  <DAVISON@SUMEX-AIM.STANFORD.EDU>
Subject: XT286 Supports new BIOS


I posted a note some time ago asking about the IBM PC XT 286 and its BIOS.
Yes, indeed it does have a new BIOS; in fact there are all sorts of goodies 
in there-mostly support for multitasking.  It looks to me like Dvorak's
column (kindly posted by DMGee@HIS-PHOENIX-MULTICS.ARPA in Vol.6 No. 2)
is on track.  

Documentation IS available now- I received my copy of the Technical Reference
Personal Computer XT Model 286 from IBM last night.  The part number is
68X2210 on the spine, but 68X2537 on the title page.  I ordered the manual
from IBM's Tech line, 1-800-426-7282.

The BIOS makes great reading.  There is a chapter, meager but useful, titled
IBM PERSONAL COMPUTER COMPATIBILITY with important info for assembly language
programmers.

dan davison BITNET: BCHS6@UHUPVM1  ARPA: DAVISON@SUMEX-AIM UUCP: uhnix2!bchso


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


Date: Sat, 17 Jan 87 03:01 EST
From: Bruce H. McIntosh  <Z8BHM%SCFVM.BITNET@WISCVM.WISC.EDU>
Subject: Connecting to H89

Hello!  I've been trying to connect my H89 to my pc clone (generic with
an AST I/O Plus2 copy) via serial ports.  I've been largely successful;
I can communicate between the two machines with no problems.  The only
snag is this:  when the H89 is plugged into the PC AND powered up, the
PC won't power up!  I've about driven myself nuts moving jumpers and
rearranging cables, but the only time I've managed to get the PC to come
on with the H89 powered on and plugged to it, I also managed to disable
the serial ports!!  Could some kind soul out there please give me some
kind of suggestion, perhaps a preferred cable configuration?  Thank you
in advance for any help!!!

ps- just goes to show, the RS232 standard isn't!  :-)

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


Date: Sat, 17 Jan 87 08:59:43 EST
From: LAMB@Lids.mit.edu   (RHL)
To: info-ibmpc@c.isi.edu
Subject: NetBios

Does Anyone know where I could find the specifications for the NetBios
interface i.e. the INT 5CH calls. Or a sample NetBios listing.

			Thank You
			Rick Lamb lamb@lids.mit.edu,@mit-multics,
				  ihnp4!mit-eddie!lids!lamb

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


Date: 18 Jan 1987 13:23:21 PST
Subject: NetBios
From: Billy <BRACKENRIDGE@C.ISI.EDU>
To: LAMB@LIDS.MIT.EDU (RHL)

Netbios is described in "Technical Reference PC Network" IBM document
6322916. You might get more information from the group discussing netbios
on top of TCP/UDP/IP. That mailing list is netbios@mitre-bedford.arpa

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


Date: Wednesday, 14 January 1987  00:46-MST
From: Gene Cohler <cohler@LNSSUN3.TN.CORNELL.EDU>
Subject: MS DOS chmod Source Executable

Now available from SIMTEL20...

Filename			Type	 Bytes	 CRC

Directory PD:<MSDOS.DIR-UTIL>
CHMOD.ARC.1			BINARY	 11773  9D6BH

1) The top of the doc follows :-

   CHMOD(1)                    MS DOS USER COMMANDS                  CHMOD(1)

   NAME 
           chmod

   SYNOPSIS 
           chmod [=+-][r][h][s][a] file ...

   DESCRIPTION 
    
            Changes the attributes of 'file'. The file attributes can either 
       be set (=),  or attributes can  be added (+)  or removed (-) from the current attribute. If no attributes  are specified, then the file
       is marked 'normal' i.e. no attributes set except the archive bit.

2) CHMOD.ARC contains 
     a) chmod.doc 
     b) chmod.exe
     c) chmod.c (source code for Microsoft C) 

Gene Cohler      		ARPA:	cohler@lnssun3.tn.cornell.edu
Lab. of Nuclear Studies		Usenet:	cornell!batcomputer!cohler
Cornell University		Bitnet: jbvy@cornella.bitnet 

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


Date:     Sat,  17 Jan 87 13:26:02 CET
From: Eberhard W. Lisse  <LISSE%DACTH51.BITNET@WISCVM.WISC.EDU>
Subject: Micro Emacs on Hercules Now Works

Only today I received issue 106  in which the cure to my problems
of getting it to compile under MS-C 3.0 and a Hercules board was
mentioned. One needs MS-C 4.0 to get large files sizes.
Indeed, one sets IBMMONO to 1 and compiles with the switch -Asld
or -Alhd. One doesn't have to worry about the graphics. It behaves
as the monochrome board.
Then one links it with a large stack size (I use 21000).

I link it with LSETARGV.OBJ and thus get wildcard expansion like
emacs *.c. (One needs to add a line of code into file.c to check
for upper case extensions .C and .H to put those buffers into
CMODE too as SETARGV returns upper case file names.
This is nice as one can use the next-buffer command ^XX to edit all
the files)

thanks, el



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


Date: Sun, 11 Jan 87 18:00:57 EST
From: "Robert J. Welsh" <rjwelsh@cct.bbn.com>
Subject: PLUS HARD-CARD


Does anyone out there know about the Plus Development Corp. Plus Hard-Card
(20meg) for the IBM PC/XT ?  I recently purchased a used one for my IBM PC.
However, all I got was the card and a "hardcard field diagnostics" disk.
When trying to install the hardcard (under DOS 2.0) I get a error while
formatting -- track 0 bad, disk unusable.  When I run Plus' diagnostics
(version 1.00), I get the following:

		BAD HARDCARD
		Diagnostic Code 9B00E2230210
		Error Code 6-6

I have tried moving the DOS partition starting cylinders to cylinders 1 and 2
to try to see if physical cylinder 0 is bad.  I get the same results.  Also,
when I do a "chkdsk c:" both fat1 and fat2 are bad.


Questions:
===========

1) Does the PLUS hardcard require its own partitioning and format software ?
2) Can anyone tell me what the error codes mean ?
3) Suggestions ?


I did get a written money-back guarantee, but I'd like to get this thing
working.

Please E-mail replys directly to me: "rjwelsh at cct.bbn.com".

Thanks,
Rob
<*>

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


Date: Mon, 12 Jan 87 14:23:11 EST
From: Jim Ennis  <JIM%UCF1VM.BITNET@WISCVM.WISC.EDU>
Subject: Help Getting a copy of PKARC
To: Info-IBMPC <INFO-IBMPC@C.ISI.EDU>

Hello net,

  We would like to get a copy of PKARC for our University. We are a
BITNET site so we cannot ftp from SIMTEL20 and we have state phones
so we have had no luck getting through to a BBS which may have the
program. We would like to mail a floppy (disk(s)) via quick mail and
get a copy from a site that way. If you could help us out I would
really appreciate it.

Jim Ennis
University of Central Florida
(305) 275-2931
JIM%UCF1VM.BITNET@WISCVM.ARPA

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


Date: Mon 12 Jan 87 19:23:40-CST
From: Michael Sheridan <SHERIDAN@STL-HOST1.ARPA>
Subject: AST Flash Pack and Fast 88 Evaluations Wanted

I am writing in behalf of an application developer who has decided that
the standard clock rate of his ibm xt is just too darned slow.  He
has proposed the installation of an AST Flash Pack or a Fast 88
board to speed things up.  His current configuration is as follows:

IBM PC/XT W/ 20MB HARD DISK 
GENOA SPECTRUM GRAPHICS CARD
AST RAMPAGE CARD FULLY POPULATED 

He is an avid fan of Desqview and will not easily be persuaded to do
without it.  He is using RBASE 5000 to develop the applications that
started all of this.

Do any of you have similar configurations with either of the two previously
mentioned boards installed?  Do any of you have experience with these two
boards in other configurations?  Is my friend heading for trouble?
I seem to remember reading that, in particular, the Genoa board could
not handle the higher clock rate.  

All information will be appreciated.

MICHAEL SHERIDAN


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



Date: Mon, 12 Jan 87 16:18:25 PST
From: ames!scubed!s3sun!jalex@cad.Berkeley.EDU (Jim Alexander)
Subject: R/M Fortran-Callable Graphics Utilities

An item for Info-IBMPC:

A client of mine has a set of Fortran77 programs that he uses
for thermochemical modelling. He has a stand-alone PC version that
writes its output on disk, and currently he uses a BASICA postprocessor
to plot his results. He finds his current setup cumbersome and has given
me the task of installing a graphics option as an integral part of
his stand-alone PC system. To do this job, I need a set of R/M
Fortran-callable graphics utilities that will allow me to put lines,
curves, dots, text, etc., on the screen of a PC via CGA, EGA, or Hercules
monochrome adapter and also, he wants the ability to dump the screen to 
any of the more popular dot-matrix hardcopy devices. I do not need routines
for scaling, drawing axes, etc., since we already have a library of portable
routines for operations of this general level. 

I have indentified four packages which appear to meet my requirments:
1.) GEOGRAPH, from Geocomp Corp.
2.) CGI, from GSS
3.) HALO, from Media Cybernetics, Inc.
4.) GRAPHMATIC, from Microcompatibles, Inc.

Does anyone know of some reason why I should choose (or should avoid)
any particular one of these products? Or perhaps there are other
packages that are even better than any of these?
					
					Jim Alexander
					jalex@scubed

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


Date: Mon 12 Jan 87 18:26:13-PST
From: Steve Dennett <DENNETT@SRI-NIC.ARPA>
Subject: MS Windows Error Message


I'm trying to run MS windows on my generic PC AT clone.  When I start
windows, I get the title screen, then the desktop starts to appear,
then it vanishes and I get the error message:

	Parity error
	94D6 (Segment)
	069C (Offset)
	But pattern not found.

The "parity error" part made me suspect a bad chip, but so far diagnostics
haven't found it (and I'm not about to try pulling and replacing 1024k of
chips without a very good reason).

Setup: 1 meg memory, 2 serial/1 printer port, EGA card & monitor

This is the first software that hasn't run correctly on this machine.

So, my questions are:

    1) What is causing this message?  A bad chip that I haven't found?

    2) Could it be caused by a less-than-perfect BIOS?  If so, where could
       I get a Phoenix (or other "name") BIOS chip?

Thanks for your help with this perplexing problem.

Steve Dennett
dennett@sri-nic.arpa


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

Date: Tuesday, 13 Jan 1987 14:16:51-PST
From: shapiro%kim.DEC@decwrl.DEC.COM
Subject: Anchor Automation Modem Query

I own an Anchor Automation Signalman Mark XII modem.  I managed to
lose my AC to DC converter (don't ask how) and need to
replace it.  Are these converters generic enough that I can just
swap in another converter of any kind, for example for
an old answering machine which I no longer user (provided the
connector and dc volatage is compatible)?  I'm worried about current limiting
overvoltage protection and the like.  If possible, I'd like to avoid
the hassle of contacting Anchor for a replacement, assuming even
they'll sell me one.

/Avi

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



Date: Wed, 14 Jan 87 03:34 CST
From: <EDWARDCA%VUENGVAX.BITNET@WISCVM.WISC.EDU>
Subject:  Everex Edge Graphics card vs. Microsoft CodeView


I have an Everex Edge monochrome graphics card in my IBM AT (running at
8 Mghz).  For those not familiar with this card, it provides standard
monochrome text, Hercules graphics, and monochrome CGA emulation.  However,
I have found I cannot run Codeview v1.0 (with a mouse) with this board... the
program will not display any text (though you can see/move the block mouse
cursor).  I must switch into color emulation mode to make things work.
Unfortunately, the program to switch modes is not on good terms with many
memory-resident programs.  Thus, I cannot have Codeview and Sidekick at the
same time (for example).  Furthermore, Codeview will occasionally "go to
Smyrna" (crash) when using my setup.  I am also using FANSI console v1.15
(same results with or without FANSI, although FANSI 2.0 and Codeview DO NOT
work together at all).  Has anyone else had any problems like this or at least
similar to mine, and how did you solve it (if at all)?  Please send responses
to me and I will summarize for the net.  Thanks in advance!


          -- mlw

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


Date:     Wed, 14 Jan 87 16:28 N
From:        <FYSKO%HWALHW5.BITNET@WISCVM.WISC.EDU>
Subject: Calendar Alarm Clock Program Wanted



Hi,
I'm looking for a DAILY utility like the one on the old DEC-10's
for our PC's. With DAILY you read a little data-base where a number
of messages are placed connected with a date. Messages are displayed
on the console when the date criterium is satisfied. i.e.

02-02-87/warning=3
Next Monday lecture of Dr. Cosgrove from Bristol University.
Be there all!

The message will be displayed from 3 days before the actual date.
Before I write such a program myself I wonder maybe someone else
has already done this.

Peter Barneveld
Agricultural University Wageningen, The Netherlands.
FYSKO@HWALHW5.bitnet

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


Date: Wednesday, 14 January 1987 15:06:20 EST
From: Ed.Skwarecki@g.cs.cmu.edu
To: info-ibmpc@c.isi.edu
Subject: Signal processing on the AT
Message-ID: <1987.1.14.20.3.7.Ed.Skwarecki@g.cs.cmu.edu>

Someone I know is trying to configure his IBM PC/AT to do signal processing.
Does anyone have experience using the ILS (Interactive Laboratory Systems)
signal processing software for the IBM PC/AT?  How does this implementation
compare to the PDP-11 ILS implementation?  Any suggestions about other good
commercially available signal processing software and A/D boards for the AT
would also be appreciated.

Replies to ejs@g.cs.cmu.edu

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


Date: Tue, 13 Jan 87 13:32:30 EST
From: Lon_Edward_Hayes@ub.cc.umich.edu
Subject: Window Communications Package from MTS

    I am looking for some documintation on "WINDOW" the communications
package put out by "MTS".  I would like to know whether there is a way
to use the data concentrators to transfer files, in the hopes that the
process would be less CPU intensive, thereby reducing the overall cost
of transmition.  If anyone out there can relay any information on this
subject please send it to: Lon_Edward_Hayes@UB.CC.UMich.EDU
 
                          Thanks in advance.

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


Date: 14 Jan 87 15:13:00 EST
From: <zn0chapman@nardacva.ARPA>
Subject: Token Ring Questions 
cc: pc-token-ring@ucla-ccn



Greetings!

Two token ring related questions:

1.  Does anyone out there in NetLand have a copy (source code) of
the "IBM Token Ring Network Record Keeping" program (on pages C-3
to C-18 of the Token Ring Network Introduction and Planning
Guide)?  It's kind of silly for IBM to make everyone key in
15+ pages of BASIC code.

2.  Has anyone heard of ANY performance monitoring hardware or
technical control hardware/software for the Token Ring?  Ethernet
sure has a lot of tools, but we have not seen anything for the
Ring.  Please exclude the Token Ring Manager program or NetView.

Any help would be appreciated... we are implementing a small (65
user network) soon, but it will grow (as things do) and we want
to have some tools available to assist us in problem and traffic
determination.

If I get sufficient responses, I will summarize for the Net.

Thanks!

David Chapman

zn0chapman "at" nardacva.arpa
NARDAC Norfolk
Code 542
804-444-1190


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


Date: Wed, 14 Jan 87 09:14:23 EST
From: Beth Adelson <adelson%tufts.csnet@RELAY.CS.NET>
Subject: lisp and vi

Does anybody know where I can get Lisp and/or VI (the unix editor) for a
PC?
Thanks,
Beth Adelson


Please mail responses directly to:

adelson%tufts@csnet-relay
(I don't get interest group info)

[Both have been discussed extensively on this list. Perhaps you should
subscribe. -wab]

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


Date:     Tue, 13 Jan 87 14:45 CDT
From:     Keith Teague <TEAGUE%rvax.ecen.okstate.edu@RELAY.CS.NET>
Subject: PD Graphics Terminal Emulators


Does anyone know of any good public domain communication software
with VT-220 emulation as well as 4010 graphic emulation (or Regis).
I am running a Panasonic Sr. Business Partner with 640K and a Vega
Deluxe video card (Hercules compatible). Thanks for the help.

Keith Teague

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


Date: 15 Jan 1987 10:46-EST
Subject: Interactive Video Training
From: HARDY@A.ISI.EDU


I am seeking information regarding the components of an interactive video
training system which combines computer-based training (i.e., interactive
text, video (possibly animation), and sound) and laser-disk technology.
The external PC should control the videodisc player so that frames containing
video images and sound can be located and played back in response to on-screen
answers made by students.

Information is needed on the following:

1. Authoring system or courseware;

2. Production of tape of the training concept (i.e., course);

3. Technique of mastering the laser-disc from the video tape;

4. Overlay board which permits the text and graphics to be laid over the video
   picture;

5. Image-capturing hardware; and

6. Paint program for modifying captured images.

Thanks in advance
      Richard R. Hardy

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


Date: Thu, 15 Jan 87 11:14:16 EST
From: Robin C DeFranks  STEAP-IMS 5757 <rdefran@apg-1.ARPA>
Subject: Arrow Keys and 2020 Spreadsheet

I have an ibmpc and am using the 2020 Spreadsheet but have experienced
problems in using the arrow keys.  Does anyone have an alternative or
suggestion to my problem.  Would appreciate any help.

   Jim Whallon <jwhallo@apg-5>

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


Date:    15-JAN-87   16:52  MET
From: U30Q%CBEBDA3T.BITNET@WISCVM.WISC.EDU  (Konrad Haedener)
Subject: 360 Kb B-Drive on AT03 

I have installed a spare 360 kB floppy drive (Olivetti XM 4311/3) on
an IBM AT03 as drive B and changed the NVR contents accordingly using
SETUP.  The drive is now accessed correctly but there seems to be a
timing problem ('Drive not ready' message).  I changed the disk
parameter table to the values used by the Olivetti M24 (AT&T 6300),
but that doesn't solve the problem.

I'm grateful for any suggestions.

  Konrad Haedener                             Phone: (031) 65 42 69
  Institute for Inorganic Chemistry           University of Bern
  Freiestrasse 3
  CH-3000 Bern 9                                    MAIL form:
  Switzerland                                 BEDAG at Bern via EARN


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


Date: Thu 15 Jan 87 11:45:27-EST
From: Donna Lynch <ADMIN@RADC-TOPS20.ARPA>
Subject: c-compiler

I tried to use the c compiler in PD:<MSDOS-C-LANGUAGE>. It includes
the following files:

ccompile.arc
csr.arc
scale.cq
xrf.lbr

I unarc'd ccompile.arc & csr.arc successfully.  I then created a simple
3 line program with a "for" statement.  It failed with a "missing bracket".
A "while" loop worked, however.  The c programs included in the distribution
fail with "open failure on include file". I am obviously missing something.

Please help,
Donna


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


Date: Thu 15 Jan 1987 11:42:18 EST
From: <PLEZ@LL.ARPA>
Subject: HP Vectra and Micropolis disk

    
I have recently installed a Micropolis MC-1335 hard disk (85 Mbytes
unformatted, 71 Mbytes formatted) into a Hewlett-Packard Vectra computer,
and of course the software supplied with the computer is too dumb
to realize that the disk is that large.  Hewlett-Packard only supports
a 40 Mbyte disk, and as a result my 71 Mbyte disk, after initialization,
thinks it is a 40 Mbyte disk.  What is the favored solution to this
problem?  Is there a good public domain program to correctly 
initialize my disk, or do I have to spend money to get it to work?
   
My apologies if this a a redundant request.  I know this problem has
come up before, but I don't know what the answer was.  Thanks in
advance.
    
                                     Dan Pleasant
                                     PLEZ@LL.ARPA
 


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



Date: Thu,  15 Jan 87 21:12:41 CET
From: Eberhard W. Lisse  <LISSE%DACTH51.BITNET@WISCVM.WISC.EDU>
Subject: Mouse Hercules and Turbo Pascal

Hi,
I have hacked this program from a german magazine into my AT to
access mouse functions from within turbo.
It only works under the CGA adapter which I simulate with the
SIMCGA program (great !!!)
I have some Hercules routines too but the cursor shape
seems to be different under Hercules. (There is a mention of it
for the EGA in the documentation but none for Hercules)
The functions seem to work but just the cursor (stored in an array
beginning at the ABSOLUTE address of the first element) won't display.

Has anybody written a program to access the mouse functions under a
Hercules Card ?
thanks,
el

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



Date:    Tue, 13 Jan 87 13:46:16 PST
From:     aiz@Jpl-VLSI.ARPA
Subject: V20 Chip


This may be an old subject, but I recently helped a friend install a V20
in his Compaq.  The speed up was impressive.  I'm thinking about doing it
in my 8MHz XT Clone.  Has anyone got any experience with the V20?  Is there
some reason I shouldn't install it (software incompatibility, etc.)?

I would appreciate any thoughts.

Art Zygielbaum

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

Date:     Fri, 16 Jan 87 9:39:14 EST
From:     Kenneth Van Camp -FSAC- <kvancamp@ARDEC.ARPA>
Subject:  NUSQ & PC-FILE III

I just downloaded PC-FILE III from Simtel20 (from PC-BLUE VOL046), and found 
the documentation file, PC-FILE.DQC.  It's unreadable, and my experience in 
the past has been that a file with a Q in the middle of the extension is a 
squeezed file and can be unsqueezed with the utility NUSQ.  NUSQ, however, 
returns the error message that PC-FILE.DQC is not a squeezed file.  Anybody 
know what it is, then?  Possibly I just have a version of NUSQ that is not 
up-to-date (I have version 1.10); is there a later version?  Thanks in
advance for any help. I will attempt to answer any replies, but my mailer is
easily confused by other network addresses (even from some people who have
ARPAnet addresses), so please don't get insulted if I can't reply directly.

		  --Ken Van Camp <kvancamp@ARDEC.ARPA>

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


Date: 16 Jan 87 15:02:00 EST
From: <zn0chapman@nardacva.ARPA>
Subject: Token Ring and DDN Interface
To: "pc-token-ring" <pc-token-ring@ucla-ccn.arpa>


Does any one out there know of any approved (or, god forbid,
unapproved) DDN interfaces for the IBM Token Ring network?

Hopefully, this isn't a pipe dream, but we would like to get our
system (IBM Token Ring w/ Novell Advanced Netware) "on" DDN.
And... when I say "on", I mean ON (FTP, Email, Telnet standard
X.25 and TCP/IP).  We'd like to be able to travel and get in
(from remote sites via remote TACs) and TELNET to and from our
VAX host.  Dedicated micros for a "black box" or for gateways are
no problem.

In the event the answer is "No not yet!" or "Maybe(!?!)", we
would be willing to be a test site for any institution or
organization (we would coordinate for available node, etc.).


David Chapman
zn0chapman @ nardacva
NARDAC Norfolk Code 542
804-444-1190

Is this like "Nightmare on Elm Street"?


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


Date: Fri, 16 Jan 87 17:37:22 CST
From: Scott Royall  <HSS0%UHUPVM1.BITNET@WISCVM.WISC.EDU>
Subject: 8 Line Serial Device


A while back, someone mentioned that they were using a device which added 8
serial ports to a PC. Does anyone remember the name of the device, or know
how to contact the manufacturer? Thanks in advance, I need this info for a
project.


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


Date: Sat, 17 Jan 87 13:02:18 EST
From: Harold C Pritchett  <HAROLD%UGA.BITNET@WISCVM.WISC.EDU>
Subject: Missing direct.h from grep.c


I downloaded the GREP.C file from the UMCVMB file server.  It has a
#include in it for a file DIRECT.H which is not on the server, and is
as near as I can tell, not a part of the standard librarys of my
DeSmet C88 compiler.

I am unable to FTP files from BITNET, so if you have a copy, could you
send it to me directly.

Thanks

Harold

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


Date: 16 January 87 16:52-GMT
From:  K662717%CZHRZU1A.BITNET@WISCVM.WISC.EDU
Subject: Printer Redirection 

Who can help me please!
Problem : Two printers (LPT1 , LPT2 on intel above board)
          I want use both printers from Turbo-Pascal with the
          write(LST,'...')  statement. How can I tell the MS-Dos
          (before loading the Turbo) that I want to use printer-X
          or the other ??
1) Is it possible to change the interrupt-vector ?
2) Has somebody a program? Please mail it to me.
          thanks for help
                 Urs

[LPTX.ASM in the lending library is a start at such a program. It 
redirects printer output to a file, but could be modified to do what
you want. I also suspect the DOS MODE command will do what you need. -wab]

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

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