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

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

Info-IBMPC Digest     Monday, February 2, 1987      Volume 6 : Issue 6

This Week's Editor:  Richard Gillmann

Today's Topics:

                        Protected Mode Advice
                               DOS 4.0?
                DOS Re-Entrancy & INDOS Flag (2 msgs)
              Signs Version 4.1 Banner Printing Programs
                         Scientific Software
                    TTPRINT.C added to the Library
                    GENRAND.BAS Program Generator
                           dBase Memo Field
                        8051 C Cross-Compiler
                          SIMCGA and HGCIBM
                         System Call in MS C
                          Genealogy Software
                        10 meg XT clone report
                    Unix Command Shareware for DOS
                    How to Format a Plus Hard-Card
             GETCLOCK Kludge Around DOS Date Rollover Bug
            Using a Conventional Color Monitor with a CGA
                             Re: Turbo Jr

Today's Queries:

                   EMS Memory Board Query (2 msgs)
                         Wordperfect (2 msgs)
                       Ruggedized PCs (2 msgs)
                 Linking Fortran with Overlays Query
                 Problem Saving Turbo Pascal Programs
                  Want to Run MS "C" From a Program
                        Binary Transfer Query
             Want BASIC Random Number Generator Algorithm
           IBM Mainframe Graphics Terminal Emulation Query
      Print Screen of 640x350 Graphics on IBM Proprinter Wanted
                       Problems with NANSI.SYS
                 Graphics Standards Documents Wanted
                     Public Domain PROLOG Wanted
                 Problem with SIMCGA on Hercules Plus
                           Format Problems
                   Legal accounting software Wanted
                        EVE-Like Editor Wanted

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

From: microsof!gordonl@beaver.cs.washington.edu
Subject: Protected Mode Advice
Date: Sun Jan 25 14:26:38 1987

I was in a book store recently and glanced at a magazine I hadn't seen
before - "IBM PC Programmer's Journal" (or some such title).  It had an
article in it talking about a forthcoming 286-DOS from Microsoft.
The author tried to piece together a bunch of info he got at a Windows
seminar, but unfortunately it came out pretty garbled.

I don't remember the details, since I just skimmed it standing at the
magazine rack, but I do recall the author repeating an MS warning against
using the 8086 segment registers as scratch registers.  He hypothesized
that Microsoft wanted to have the OS put special values in those
registers, or something equally strange.  Those familiar with the 286
architecture will figure out immediately what the real problem is with
using the segment registers for scratch - it blows up in protected
mode.  The DOS doesn't care what you put in any register, but if
you generate a GP fault then its termination city for you.

The bottom line is simple - if you write your programs in a fashion that's
compatible with protected mode (i.e., only put segment descriptors in
segment registers, and don't build such descriptors by segment arithmentic;
only use values that the OS gave you) then it will be much easier to
convert that program to also run in protected mode when a 286 DOS is
available.

>From an article by mlw@ncsc.arpa in re: the same magazine article:

     I would suggest that programmers who have
     a significant investment in providing MS-DOS products (internal or
     external, custom or mass-produced) look carefully at this kind of
     information as soon as it is available.

Great advice... but as per my point above, folks don't have to be
knowledgable or correct to write an article and to appear to be an
expert.  Don't take the stuff you read in the flurry of PC computer
rags as gospel - and don't assume that because someone got their
article published that they must know of which they speak.
(For example, even *I've* had articles published)

    I got the feeling from
    skimming the article that the protected-mode OS may give Microsoft
    the club they may have been seeking to keep outsiders from tweaking
    their environments too much.  I wouldn't say that MS is actively
    searching for such a thing -- it's probably just a side effect of the
    OS requirements.

Its both... running multiple programs by different vendors together can
create an incredible bag of worms when/if those programs interact with each
other.  This is a big problem today among the various terminate-and-stay-
resident programs.  Things will get much worse when real multitasking comes
along.  The protected environment gives us the tools we need to solve this
problem, cause we can setup rules and *enforce* them (a sinister chuckle as
I run my thumb over the edge of my headsman's axe...)

This great feature is also a great problem - because programs can only
interface to the hardware/software in ways that the DOS allows, the DOS has
to make damn sure that it's providing sufficient ways to satisfy everybody
- yes, its the old "all things to all people" design goal.  I can't say
much about how we think that we've achieved this, but when design info
becomes available there will also be text which discusses this critical
issue.

Our goal is simple - we want everybody in the world to buy the DOS and
to be happy that they did.  This means that the DOS has to support
all possible applications, and support them well.  And *that* means
two things - apps have to have the freedom to do their work, but their
freedom must be constrained so that there aren't surprise side effects
and interactions based upon program mix.

	Gordon Letwin
	Microsoft

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

Date: 26 Jan 1987 15:50:12 PST
Subject: DOS 4.0
From: Billy <BRACKENRIDGE@C.ISI.EDU>
To: info-ibmpc@C.ISI.EDU

Has anyone seen DOS 4.0? The press has reported that it has been released
to OEMs for some time now.  I gather IBM is not among the OEMs. DOS 4.0
is reported to have the ability to run background processes.

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

Date: Mon, 26 Jan 87 12:38:18 PST
From: Dana Myers <bilbo.dana@LOCUS.UCLA.EDU>
Subject: DOS Re-Entrancy

  In volume 6, issue 5 of the Digest, Larry Backman wrote about (among other
things) DOS re-entrancy, function 0x4B, INT 28 and DOS source code.

 1. DOS re-entrancy.
  In my experience, DOS is basically not re-entrant except in the case of
critical errors and the ability to run a background printing utility. The
background printing utility may at first galnce be confusing, but entry to
the printing utility is very controlled, and does not represent a true
path to re-entrancy.

2. Function 0x4B.
  On the IBM implementation of MS-DOS known as PC-DOS, the EXEC (0x4B) function
resides in COMMAND.COM. On MS-DOS proper, EXEC is in the "kernel". DOS invokes
itself internally, but not the same way that user programs invoke it.
 To issue INT 21s while inside would be wasteful, since DOS is already in
the DOS context, rather than the user context. INT instructions and the
context switches that come with them can be very expensive.
 For reasons not public, IBM chose to have Microsoft put EXEC into COMMAND.COM.
The obvious reason is that the MS-DOS kernel is smaller, though it cannot
load .EXE programs. For certain types of "turn-key" applications, this reduces
the amount of memory used by DOS.

2. INT 28.
  In my experience, it appears that DOS spurts out INT 28s while waiting
for characters at the keyboard. This is probably so that the print spooler
can run once in a while. I don't think INT 28 is intended as a general
scheduler tick.

3. DOS source code.

 Asking that anyone who has seen DOS source to disclose details of MS-DOS
is in poor etiquette. MS-DOS is protected by Microsoft in many ways; one
of them is to protect the source from unauthorized access and disclosure.
ANYONE who has the source to MS-DOS has it under a non-disclosure
agreement with Microsoft or has had unauthorized access to the source. Nearly
four years ago I performed a port of MS-DOS 2.0; source was not provided, and
if it had been, I could not dislose any details.

4. Gordon Letwin and his warnings

  Heed them. People like Ray Duncan who insists on documenting "features"
of MS-DOS and them encouraging people to use them (for example, the INT 2Eh
function in Doctor Dobb's Journal last month) are doing no one any favors.
In the case of the INT 02Eh feature, Duncan seems to have done little with
INT 02Eh as it does not work under many circumstances.

 By the way, speaking of the 16-bit Software Toolbox, has anyone noticed
that Duncan's ill-advised tirades against Microsoft ceased when his book
was purchased by the Microsoft Press? Also, his book (Advanced MS-DOS) is
very good, but has none of the undocumented features he reports in his
column?

  Dana H. Myers
  Locus Computing Corporation, Santa Monica, CA

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

Date: Wed, 28 Jan 87 11:58:29 EST
From: jcm@ORNL-MSR.ARPA (James A. Mullens)
To: info-ibmpc@isib
Subject: TSRs, INDOS flag, and Microsoft

The Dec 86 Microsoft Systems Journal has a long article on
terminate-and-stay-resident (TSR) program issues.  The article says
that several industry leaders and Microsoft have been getting
together to develop guidelines for TSRs.

Adrian King from Microsoft has promised: "A revised set of rules for
interaction with DOS.  Currently TSRs depend on several undocumented
features such as the IN_DOS flag, the critical error flag, and some
undocumented system calls."  [Lordy, Lordy, what's DOS call 40?]

The article also shows the IN_DOS call:

	IN_DOS_FLAG	DD	?	;address of IN_DOS flag

;	Get IN_DOS flag location (need to do this just once!)

	MOV	AH,34H			;get pointer to IN_DOS flag
	INT	21H
	MOV	WORD PTR IN_DOS_FLAG,BX
	MOV	WORD PTR IN_DOS_FLAG[2],ES

;	Check the IN_DOS flag (do this everytime you want to run)

	PUSH	BX			;save old DS and BX
	PUSH	DS			;  (because this is background job)
	LDS	BX,IN_DOS_FLAG		;set DS:BX to point to IN_DOS flag
	CMP	BYTE PTR [BX],0		;are we inside DOS?
	POP	DS
	POP	BX
	JNZ	DO_NOT_RUN_NOW		;jump if in DOS and should not run

This method has been known unofficially for a couple of years now.  I
think this might be first time it has been officially documented?

The article notes that the above IN_DOS check method would never
allow a background (TSR) program to run while the foreground is at
the DOS prompt, and promises that "information to make it useable in
all situations will be provided with the revised guidelines on the
Compuserve Microsoft SIG)."  This was known a long time ago.  The
article says the guidelines are expected in early November -- I can't
tell whether they mean November 1987 (surely not!) or November 1986
(they are only a little behind schedule).

There is more general discussion concerning additional data
structures TSRs should maintain so that DOS can manage their access
to the keyboard interrupt (and other interrupts), and track nasty TSR
side effects such as changing display modes.

The article never explicitly says that the DOS internals information
will be available for DOS 3.x -- is it possible that DOS 5.x will be
the first DOS to be so open  --  however, the industry committee had
intended to issue guidelines already, so it seems that DOS 3 will be
covered.

By the way, Microsoft wants $50 per year for this bi-monthly glossy
company newsletter (charter subscription $34.95).  If you are
interested I suppose you could write to:

  Microsoft Systems Journal
  Box 3587
  New York, NY  10163

I got a free issue and subscription offer because I am a Microsoft
customer, but I bet you could convince them to give you a
subscription!

[I have no relation to Microsoft except as a customer]

jim mullens / jcm@ornl-msr.arpa

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

From: Robert Bloom AMSTE-TEI 3775 <rbloom@APG-1.ARPA>
Subject: Signs Version 4.1 Banner Printing Programs
ReSent-From: KPETERSEN@SIMTEL20.ARPA

SIGNS version 4.1 and MakeFont version 2.3 are now available from SIMTEL20.


Directory PD:<MSDOS.PRINTER-UTIL>

Filename			Type	 Bytes	 CRC
ISIGNS41.ARC.1			BINARY	219776  E6A8H
SIGNS.DQC.1			BINARY	 22722  8027H
SIGNS.MQG.1			BINARY	  3968  69D1H

SIGNS is a program to make banners (down page) and signs (across
page).  Written in TurboPascal, SIGNS allows lots of options: input
from keyboard or file, output to screen, printer or file, change
height and width of output, and printer control, all in an screen
oriented format.  Generic versions are a bit less capabile and don't
have fancy screen displays.

A separate program, MakeFont, is used to generate the random access
fontfile used by SIGNS.  Three fontfiles are included, one of which
will work only on the MS-DOS version (it's *BIG*).

MS-DOS people have it a bit easier, ISIGNS contains both sources and
executables.

The separate documentation file, SIGNS.DQC, contains lots more info.
SIGNS.DOC is formatted to print pretty with WordStar - if control
characters and print commands are not acceptable to your system run
the file though a filter.  (FILT from Irv Hoff is recommended.)

Bob Bloom
46 Broadleaf Drive
Newark, DE 19702

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

Date: 26 Jan 1987 11:11:18-EST
From: mlsmith@NADC
To: ssmith@sierra
Subject: Re: Scientific Software Search
Cc: info-ibmpc@usc-isib

	Check into Meshmaker, it also has electrostatic and magnetostatic
programs that complement it. It is not cheap, but maybe they will give you a
University discount. The makers are:

	Answers Unlimited
	University Technology Development Center
	4516 Henry Street
	Pittsburg, PA 15213
	(412)683-4846

DISCLAIMER: I have no financial arrangement with this company other than as a
	    user of this software

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

Date: Mon, 26 Jan 87 18:36:54 PST
From: mccluskey@Jpl-VLSI.ARPA
Subject: TTPRINT.C added to the Library

  Please find enclosed TTPRINT.C for the software library.
TTPRINT (Toshiba Tiny Print) is a filter program for Toshiba 24 pin
printers that prints ASCII text in very very small letters using the
180 dpi plot mode on the 1351/1341/351/341 series printers.  Using this,
one can print up to 396 characters wide, by 242 lines per page.  You
will also go blind trying to read the output.

                                  John McCluskey @ JPL-VLSI.ARPA


[TTPRINT.C has been added to the info-ibmpc library -wab]

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

Date:     Mon, 26 Jan 87 18:44:28 EST
From:     Brent W Baccala <baccala@USNA.ARPA>
Subject:  GENRAND.BAS Program Generator

Somebody asked about program generators a while back.  Well, here's
my two cents' worth.  "genrand" is a program I wrote several years
ago when I was developing an accounting system.  It creates
random-file-access routines in a "nice" fashion, by taking a
simple data file and producing a set of ASCII basic files.
Thus, by changing the simple data file you can make major revisions
to the (less-then-simple) subroutines with ease.  Brief documentation
is included.  Genrand is a basic program.

I'm not (of course) supporting this program in a commerical sense,
but am willing to answer questions and act as a clearing house for
bugs and revisions.

			- BRENT W. BACCALA -
			Aerospace Engineering Department
			U.S. Naval Academy
			Annapolis, MD

			<decvax!brl-smoke!usna!baccala>
			<seismo!usna!baccala>
			<baccala@usna.arpa>

[GENRAND.BAS has been added to the Info-IBMPC Library. -rag]

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

Date: Mon, 26 Jan 87 14:09:09 pst
From: ames!lll-lcc!csustan!dbase!awd@cad.Berkeley.EDU (Alastair Dallas)
Subject: dBase Memo Field

In a recent Info-IBMPC, Ruben Quiles inquired about a program to convert
dBASE memo fields to ASCII text.  His address was 'QUILES@USC-ECLB.ARPA'.
I will be glad to furnish information about the memo field file format
to anyone interested in writing such a program.

Alastair Dallas
Ashton-Tate Glendale

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

Date: Tue, 27 Jan 87 09:14:11 PST
From: decwrl!battan@tc.fluke.com (Jim Battan)
To: info-ibmpc@c.isi.edu
Subject: 8051 C Cross-Compiler

Someone asked for a cross-compiler for the 8051 available on the IBM PC.
8051 as well as 6801 and 6301 Cross Compilers are available from SSC, Inc.

Write or phone for information:

	Specialized Systems Consultants, Inc.
	P.O. Box 55549
	Seattle, WA 98155
	206-367-8649 (206-FOR-UNIX)

Jim Battan; John Fluke Mfg. Co MS 223B; PO Box C9090 Everett WA 98206
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!battan
                             (206) 356-6469

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

Date: 27 Jan 87 10:05:00 EST
From: "STEVE ZURO" <zuro@nrl>
Subject: SIMCGA and HGCIBM
To: "info-ibmpc" <info-ibmpc@c.isi.edu>

   I just read your message requesting SIMCGA.  If you wish, I can send you
a copy of both SIMCGA and HGCIBM (another simulation of the CGA with a
Hercules Monochrome Card).  I have found that some routines/graphics work
with SIMCGA and others with HGCIBM and still others with both.  If you wish
a copy on a diskette, send me a message or write to:
       Steve A. Zuro
       Code 5316
       Radar Division
       Naval Research Lab
       Washington, D.C. 20375-5000  or    call 202-767-1047

  Keith and Joe
   
   I can not email the files to you from my AT at work.  My IBMPC-AT is a
TEMPEST unit and can not be connected to the network.  I can try
from home with my IBMPC.  However, since I am not familiar with the internet
anonymous FTP or netmail using the archive server, I prefer at this time to
send a disk.  I use the QMODEM communications program or the PC-VT 
communications program with KERMIT file transfer protocol.  When I talk to
my VAXs at work, I file transfer (to and from) using KERMIT.  Keith, I would
need FTP insstructions for uploading if I could us either of the above programs
(QMODEM does not have KERMIT).  I also use PROCOMM (this has KERMIT) and 
PIBTERM communications programs.  Would these work?
   Joe, I can send you a diskette with the software.  I need an address.
 
                                                          Steve

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

Date: Tue, 27 Jan 87 14:56:58 cst
From: mlw@ncsc.ARPA (Williams)
To: info-ibmpc@c.isi.edu
Subject: System Call in MS C

My MS C v4.0 Runtime Library Reference Manual does indeed document
"system".  Page 397, in fact.  Its contents are (extremely copyrighted)
...

Summary

#include <process.h>
#include <stdlib.h>

int system(string);
char *string;

Description

The system function passes the given string to the command interpreter
and executes the string as an MS-DOS command.  The system function refers
to the COMSPEC and PATH environment variables to locate the MS-DOS file
COMMAND.COM, which is used to execute the string command.

Return Value

The system function returns the value 0 if string is successfully executed.
A return value of -1 indicates an error, and errno is set to one of the 
following values:

(error details...)
...

However, this won't do a thing about resolving externals.  It sounds as
if either (1) you're not linking in the right library or (2) your package
can't find the system module. (!?)  Anyway, if you want more info, let me
know.  I haven't tried to execute a program with a "system" in it, so I
can't say for sure that it works.  I only know that I found it in the book.

Mark L. Williams
(mlw@ncsc.arpa)

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

Date: 27 Jan 87 19:49 +0330
From: Martyn Quigley <martyn%garfield.mun.cdn%ubc.csnet@RELAY.CS.NET>
To: info-ibmpc@C.ISI.EDU
Subject: Genealogy Software

Thanks to all who responded to my question about the availability of
genealogical software. Most of the 30+ respondents recommended the
Personal Ancestral File stuff. Second in popularity was FT-Etc which
is in the public domain. I have acquired this but have not yet used it.

Other products mentioned (also in PD and which I have acquired) were 
Family History System, FT-Etc and Genealogy on Display.

I was asking on behalf of a friend, but she is still RTFMs and has 
not yet tried out the stuff in any depth, although it all seems to 
load and run as claimed.

TVM

Martyn

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

Date: 28 Jan 87  8:17 -0800
From: "Ya`akov N. Miles" <bd%dac.triumf.cdn%ubc.csnet@RELAY.CS.NET>
To: info-ibmpc@C.ISI.EDU
Subject: 10 meg XT clone report

I have just purchased a 10 (ten) meg Turbo-XT motherboard which was a
simple drop-in replacement for the standard IBM-XT type motherboard
found in many clones.  This motherboard featured four-layer
construction.  The speed difference is really noticeable, and the
motherboard runs OK with 150 nanosecond DRAMS and 200 nanosecond
EPROMS.  All my peripherals (CGA, Multifunction, H-disk) work OK with
this motherboard, which may insert automatic "wait" states.  Since the
cost differential between a 10 meg XT and an 8 meg XT is minimal, I
strongly recommend going for the faster speed....

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

Date:     Wed, 28 Jan 87 11:47 EDT
From:     Peter Heitman <HEITMAN%cs.umass.edu@RELAY.CS.NET>
To:       info-ibmpc@C.ISI.EDU
Subject:  Unix Command Shareware for DOS

The recent discussion about Minix is interesting, but not all of us
want to give up our investment in DOS - most of the programs that we
take for granted under DOS don't exist yet under Unix of any form.

For those of us who use DOS but who like Unix commands or who want to
have Unix-style argument processing, I have written a shareware
implementation of many Unix commands for DOS users.  The package is
called the PiCnix Utilities and includes the following commands:

   cat cd chlabel chmod cp cpdir date diff df du echo fgrep grep ls more
   mv mvdir pwd rm set show strings switchar time tee touch unset wc

All of the options that make sense under DOS are supported for each
command.  'more' supports regular-expression searches, 'ls' and 'rm' support
recursive-descent, 'cd' supports CDPATH, etc.  Each of the commands in the
package support Unix-style argument processing.

Contact me for more info.

    Peter Heitman
    P.O. Box 658
    Hadley, MA 01035

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

Date: Thu 29 Jan 87 07:08:23-PST
From: James E. Hopper <HOPPER%BIONET@SUMEX-AIM.Stanford.EDU>
Subject: How to Format a Plus Hard-Card
To: info-ibm-pc%BIONET@SUMEX-AIM.Stanford.EDU

This is a response to R.J.Welsh's problem about the plus hard-card.
You should format the hard card using HFORMAT supplied with the card.
DOS format command will give different error mesages because IBM DOS
2.0 and 2.1 can not support more than 10MB disk. This part comes from
the hard card manual "To see if your IBM PC has new system BIOS ROM
(which recognizes a hard card) you may use the following method check
for a date 10/27/82 or later:

TYPE BASIC and press RETURN
10 DEF SEG=&HF000
20 FOR X=&HFFF5 TO &HFFFC
30 PRINT CHR$(PEEK(X));
40 NEXT

type RUN and press RETURN.
Good luck.

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

Date: 29 January 1987 1121 CST
From: Mark S. Zinzow <MARKZ@UIUCVMD>
To:   IBM PC discussions <INFO-IBMPC@C.ISI.EDU>
Subject: GETCLOCK Kludge Around DOS Date Rollover Bug

There has been quite a bit of discussion on the net regarding the bug in
DOS (2.x & 3.x) where the date is not always incremented at midnight.
I posted a question to IBM's ASKINFO and this was my answer:
 
A:  I believe that you will find that the real time clock will
    keep the correct time and date even if the system clock
    is wrong.  Please respond if this is not the case.  What
    you should do is access the real time clock.  It can be
    accessed through I/O ports 70h and 71h.  Detailed information
    about the real time clock can be located in the Technical
    Reference PCAT section on system board.
 
I'd much rather see a patch for the CLOCK$ device driver, but I'm not
up to tackling such a disassembly myself.  There is a patch for DOS 2.0
on PC-SIG disk 376 by Larry Rosen, an excerpt from FILES376.TXT (1 of 91)
describes his files:
 
 Disk No 376   Patches                                           V1 DS

 The programs on this disk allow you to place the indicated programs on your
 hard disk or to make backup copies.
 
 CLOCKFIX DOC  Info on PC DOS 2.0 CLOCK$ that doesn't change date at midnight
 CLOCKFIX SYS  Installable driver to replace PC DOS2.0 CLOCK$
 
 PC Software Interest Group (PC-SIG)
 1030 E Duane, Suite J
 Sunnyvale, CA 94086
 (408) 730-9291
 
I have tried his clock driver with IBM DOS 3.2 on an IBM AT, but it didn't
solve the problem.  It did set the date to 1/1/80 rather than read the real
clock when I rebooted.
 
I usually leave my system on at night to keep my ram disk up and park my
heads with Simcha Lerner's diskpark-AT in case a custodian should disturb
my AT while cleaning.  When I get in the next morning the date has almost
always failed to advance.  I thought I could just write a little program to
call the BIOS read clock routine and set the DOS date, but after looking up
the interupts I found that I'd also have to convert from BCD to binary.  The
same day that I decided to sit down and write out the code, I found most of
what I needed in PC Magazine.
 
In the User to User column Arthur Rothstein wrote about his need to set the
real time clock when his battery was low so that DOS would get the right time
if he had to give his machine the old three fingered salute.  He had
submitted a program called SETCLOCK that read the date and time from DOS and
set the real time clock to match.  Of course, it was a simple matter to
rewrite things to go in the other direction.  The result follows, I hope it
will be of use to others:
 
; GETCLOCK.ASM    A program to read the date and time from the AT real time
;        clock and set the DOS date to the real date.  This is
;        most useful in BAT files to compensate for DOS's failure
;        to advance the date before running applications that
;        require the correct date.
;
; Written by Mark S. Zinzow on January 17, 1987.
; Based on SETCLOCK.ASM by Arthur Rothstein as published in
; PC MAGAZINE, February 10, 1987, Vol. 6, #3, pp. 347-348
 
.286c            ;allow 80286 nonprotected instructions (for shift,4)
286c            ;allow 80286 nonprotected instructions (for shift,4)
 
CONVERT MACRO    ARG1
    XCHG    ARG1,AX ;;stage the register
    CALL    BCDCNV    ;;Call BCD to binary routine to do the work
    XCHG    ARG1,AX ;;store the result
    ENDM
 
CSEG    SEGMENT PARA PUBLIC 'CODE'
    ASSUME CS:CSEG
    ORG    100H
START    PROC FAR
    MOV    AX,0FFFFH    ;check the CPU model
    MOV    DS,AX        ; point DS for machine id byte at F000:FFFE
    CMP    BYTE PTR [DS:0EH],0FCH    ;is this an AT           or FFFF:000E
    JNE    ERROR        ; FC is AT, FF-PC, FE-XT or portable, FD-PCjr
 
    MOV    AH,04        ;BIOS get real date function
    INT    1AH        ;call BIOS
    CONVERT CX        ;convert BCD century & year to binary bytes
    MOV    AL,CH        ;binary century to AL
    MOV    BL,100        ;multiplier
    MUL    BL        ;century * 100 to add to year for full year
    XOR    CH,CH        ;clear century leaving only year in CL to add
    ADD    CX,AX        ;add century to year for complete binary year
    CONVERT DX        ;convert BCD month (DH) and day (DL) to binary
    MOV    AH,2BH        ;DOS set date function
    INT    21H        ;call DOS
    MOV    BL,AL        ;store DOS return status code (0 means ok)
 
    MOV    AH,02        ;BIOS read real time clock function
    INT    1AH        ;call BIOS
    CONVERT CX        ;convert hour (CH) and minute (CL) to binary
    CONVERT DX        ;convert seconds (DH) to binary (ignore DL)
    MOV    AH,2DH        ;DOS set time function
    INT    21H        ;call DOS
 
; return code in AL from DOS, should be 0 if battery is ok and maybe if not
    OR    AL,BL        ;combine return codes to show error in either
 
EXIT:
    MOV    AH,4CH        ; return to DOS with result code
    INT    21H        ; call DOS, do not return
 
ERROR:
    MOV    DX,OFFSET MSG    ;get offset of message
    MOV    AH,9        ;print message
    INT    21h        ;call DOS
    MOV    AL,1        ;set error return code
    JMP    EXIT        ;go to centralized exit
START    ENDP
 
;  Routine BCDCNV:  Convert a binary coded decimal number to binary
;  Entry:  Two BCD bytes, one in AH, the other in AL
;  Exit:   AH and AL are each converted to binary.
;  Registers used:  BL
 
BCDCNV    PROC    NEAR
    MOV    BL,AH    ;save the high order argument
    XOR    AH,AH    ;clear the high byte
    SHL    AX,4    ;move the high nibble into the high byte
    SHR    AL,4    ;restore the low nibble from the last shift
    AAD        ;convert nibbles to binary ( AH * 10 + AL --> AL )
    XCHG    AL,BL    ;exchange low order result with high order argument
    XOR    AH,AH    ;clear the high byte
    SHL    AX,4    ;move the high nibble into the high byte
    SHR    AL,4    ;restore the low nibble from the last shift
    AAD        ;convert nibbles to binary ( AH * 10 + AL --> AL )
    MOV    AH,AL    ;store high order result in high byte (OR AH,AL ok too)
    MOV    AL,BL    ;retrieve low order result
    RET        ;return to caller
BCDCNV    ENDP
 
MSG    DB    'CPU is not an AT$'
 
CSEG    ENDS
    END    START
 
ARPA: zinzow%uiucuxe@a.cs.uiuc.edu   Mark S. Zinzow, Research Programmer
BITNET: MARKZ@UIUCVMD.BITNET         Computing Services Office
To BITNET from ARPA or UUCP:         University of Illinois at Urbana-Champaign
MARKZ%UIUCVMD.BITNET@wiscvm.wisc.edu 150 Digital Computer Laboratory
CSNET: zinzow%uiucuxe@uiuc.csnet   1304 West Springfield Ave., Urbana, IL 61801
USENET/UUCP: {convex,pur-ee,cmcl2,seismo}!uiucdcs!uiucuxc!uiucuxe!zinzow
 Phone: (217) 244-1289  Office: CSOB 109    ihnp4/

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

Date: Thu, 29 Jan 87 18:03:28 est
From: movshon@nyu-acf8.arpa (Tony Movshon)
To: info-ibmpc@c.isi.edu
Subject: Using a Conventional Color Monitor with a CGA

Does anyone know (or is there a product available) that will allow you to
use a conventional RGB color monitor (i.e. the kind with separate R, G, B
and sync connectors) with an IBM CGA-type graphics card? I have hacked
together a hookup that lets me put the color output from the CGA on my
(byecch) IBM PC Portable on my (mmmm) DEC VR-241 color monitor, but there
are three problems:

o First, the "intensity" signal output from the CGA is separate from the R,
  G and B modulation signals, so I lose intensity effects like boldface type
  and high-intensity colors.

o Second, the CGA obviously expects the VR-241 to be DC-coupled somewhere
  where it is in fact AC-coupled. So modulated images (i.e. most interesting
  ones) look fine, but DC images like uniform colored fields are not visible.
  Extended regions of one color (like large fields on graphic displays)
  fade exponentially up the screen.

o Finally, the VR-241 expects to see a composite H and V sync pulse, either
  on the G signal or on a separate line. The CGA puts out separate H and V
  pulses.  What I did was to use the color composite output (the one that's
  on a separate RCA connector) as a sync signal. It works OK, but that
  solution is inelegant (at best).

In summary, what I'd like is either a circuit for or a pointer to a device
that would adapt the signals from the CGA correctly for a standard RGB
monitor. I'll post a summary of responses if there's interest.

					Tony Movshon

arpa:	movshon@nyu.arpa (to become nyu.nyu.edu)
uucp:	...{seismo|ihnp4|allegra}!cmcl2!xp!tony
usps:	Department of Psychology, NYU
	6 Washington Place, room 1083
	New York, NY 10003
at&t:	(212) 598-2818

[AMDEK used to make an adaptor in the early days when the PC had just
come out.  Now of course they make RGBI monitors, but adaptors may
still be available. -rag]

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

From: ulysses!ihnp4!drutx!chuck@ucbvax.Berkeley.EDU
Date: Thu, 29 Jan 87 13:50:38 est
Subject: Re: Turbo Jr

    TOMASCHKE#GREG%C.MFENET@nmfecc.arpa writes:
> There are a variety of "no-slot" turbo boards available, which involve 
> replacing the 8088 cpu with a higher speed 8088-2 or V20, and replacing 
> the 8284A with a small circuit board which plugs into the 8284A socket.  
> The circuit board provides a faster clock speed for the cpu while 
> retaining the normal 4.77 Mhz signal for the rest of the system.  These 
> boards are advertised as working with the IBM PC, PC-XT and compatibles.  
> My question is, has anyone tried this with a PCjr?  From what information 
> I can gather, it seems as though these boards should work just fine in the 
> jr.  If anyone has actually tried this, or if anyone knows why this won`t 
> work, please tell me.

I have a jr and was interested in turboing it.
I don't think the jr has a 8284 chip in it.

chuck miller (DR x8-4741) DR31-F25 ...drutx!chuck

AT&T Information Systems Laboratory
11900 N. Pecos St., DR-31-F-25
Denver,  Colorado
voice: (303)-538-4741
e-mail: ....!{ihnp4}!drutx!chuck

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

Date: 28 Jan 87 11:06 EST
From: NVDAFNPT @ DDN2
Subject: EMS Memory Board Query
To: info-ibmpc @ c.isi.edu

IS ANYBODY FAMILIAR WITH THE EMS MEMORY BOARD? I AM INQUIRING FOR AN
ACCOUNTANT WHO HAS A LEADING EDGE PC CLONE. HE WOULD LIKE TO KNOW HOW
IT WORKS? WHICH ONE TO CONSIDER FOR THE BEST PRICE? HOW TO INSTALL?
AND ARE THERE ANY QUERKS HE SHOULD KNOW ABOUT?  ARE THERE ANY
ALTERNATIVES THAT WILL ACCOMPLISHE THE SAME THING?

ANY REPLYS WILL BE GREATLY APPRECIATED.

DENNIS MCGILLICUDDY.....

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

Date:     Wed, 28 Jan 1987 09:15:10 LCL
From:  NESCC%NERVM.BITNET@WISCVM.WISC.EDU  (Scott C Crumpton)
To:  INFO-IBMPC@C.ISI.EDU.ARPA
Subject:  Inexpensive EMS boards Wanted

Does anyone have experience with inexpensive EMS or EEMS boards?
I'm looking for somthing that will cost about $100 with 0K.
What about the PMI Fastcard that I see advertised in PC Week for
$295 with 2M, is it any good?

Thanks - Scott.

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

Date: Mon 26 Jan 87 16:00:06-EST
From:  MCD.J-SPRATTA%KLA.WESLYN%Wesleyan.Bitnet@WISCVM.WISC.EDU
Subject: Post Script & Wordperfect Query
To:  INFO-IBMPC@C.ISI.EDU

I recall awhile back reading something about possible difficulties using
WordPefrect's POST SCRIPT printer driver.  Does anyone know remember what
problems or potential's exist when using the POST SCRIPT definition.

Any other information on WordPerfect's POST SCRIPT driver is welcome.

John N. Spratta Wesleyan University

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

Date:     Thu, 29 Jan 87 09:16 N
From:        <BMSKRIJG%HLERUL52.BITNET@WISCVM.WISC.EDU>
Subject:  Reference Guide Wanted on Wordperfect
To:  info-ibmpc@c.isi.edu

This is a cry for help to debug my Wordperfect
Is there someone outside there, wich can tell me if there is
a book or a public domain in wich I can find all the ref codes
to debug wordperfect.I know there is such a book for Wordstar.
The so called Wordstar-bible.

Please let me know, thank you in advance
Peter c.j. krijgsman (bmskrijgs@hlerul52)

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

Date: Sat, 24 Jan 87 20:12:04 PST
From: Jim_Firstbrook%SFU.Mailnet%UBC.MAILNET@MIT-MULTICS.ARPA
Subject: Dustproof PC Wanted

I have a ATT PC 6300 and it is wearing out hard disks at a scary rate.
The repair techs say it is because there is too much dust in the air,
the cooling fan is sucking it in and the electronics act like
wonderful dust precipitators It is in a very dusty room but there is
no where else to put it.  Does anyone out there have any experience
with protecting PCs from dust while they are running. (could we put a
filter over the cooling fan?)

if you want to reply directly to me try:
Jim_Firstbrook@sfu.mailnet
I'm not sure of any other routing info
Thanks

[IBM markets an industrial PC designed with dust filters. This may be 
a more expensive solution than you are looking for. -wab]

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

From: uw-apl!cel@beaver.cs.washington.edu (Curtis Lacy)
Date: 27 Jan 87 17:07:30 GMT
Subject: Is there a ruggedized AT?

I need to find a ruggedized or "industrial-strength" AT for use in a
harsh environment, viz., on board a sea-going ship.  The environmental
factors include vibration (ship's engines), heat(the air conditioning
fails regularly), and salt air.  Extra cost (anywhere within shouting
distance of half-way reasonable) is not a problem.  I am under a fairly
stringent time constraint, so if you have a suggestion, please respond
promptly if you can.

Curtis Lacy, Applied Physics Laboratory
University of Washington, Seattle, WA
{allegra,microvax,decvax,ucbvax!lbl-csam}!uw-beaver!uw-apl!cel

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

Date:     Sun,  25 Jan 87 7:55 +0200
From:       Reuven Weiss  <REUVEN%TAUENG.BITNET@WISCVM.WISC.EDU>
To:  info-ibmpc@c.isi.edu
Subject:  Linking Fortran with Overlays Query

I wish to compile and link a large source, written in FORTRAN77. I must
use overlays for the PC. Now I compile with IBM Professional Fortran, but
the MICROSOFT Overlay Linker (V3.52) does not recognize the object modules.
The IBM LINK does not recognize the overlay instructions. I seek recommendation
on other F77 compilers or overlay linkers, that work together.
Thanks!

Reuven Weiss, Tel-Aviv University

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

Date: 26 January 1987 12:05:17 CST
From:    <C90630JG%WUVMD.BITNET@WISCVM.WISC.EDU>
To:  <INFO-IBMPC@C.ISI.EDU>
Subject: Problem Saving Turbo Pascal Programs

We have some fairly long (about 2500+ lines) Turbo Pascal programs
that do genetic linkage analysis. They work fine if they are compiled
and run from the Turbo editor, but produce inconsistant behavior
if saved and re-run.  Since we would like to run these programs
on machines that don't have the compiler installed, this is an irritating
situation.  I have heard an unspecific rumour that this is fairly common
Turbo behavior (we have version 3.0).  Does anyone know what causes it,
and/or a workaround?  Thanks in advance.

Jonathan Goldberg

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

Date: 26 Jan 1987 2339-EST
From: Bruce Krulwich <KRULWICH@C.CS.CMU.EDU>
Subject: Want to Run MS "C" From a Program

 I am interested in having a program written in microsoft c 4.0 generate
functions on the fly (not by coincidence -- similar to LISP's compiling
a LAMBDA list) the only way i have come up with is to manually decompose
each function into primatives and interpret each decomposition whenever
the function is executed.  is there any way to do this for real??  i
suppose it would involve compiling text from a stream and linking to the
current environment.  is there a way to do this??

Bruce Krulwich                                The universe is a linear system,
Carnegie Mellon University                    and quantum mechanics is simply
                                              the round off error.
arpa:   krulwich@c.cs.cmu.edu
btinet: bk0a%tc@cmuccvma                      Any former B-CC'ers out there??
uucp:   ... !seismo!krulwich@c.cs.cmu.edu

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

Date: Mon, 26 Jan 87 16:05:51 PST
From: netinfo%web.Berkeley.EDU@BERKELEY.EDU (Postmaster & BITINFO)
To: INFO-IBMPC@c.isi.edu
Subject: Binary Transfer Query

One of the problems we have is the sending of binary files from
IBM-PC to IBM-PC through communication links that do character
translation or that cannot handle binary files.

Are there MSDOS tools to convert binary files to non-binary (eg. HEX,
UUENCODE, etc) and back again?

Bill Wells
Network Consultant

postmaster%jade@Berkeley.EDU
bitinfo@ucbjade.bitnet

[The type of programs you mention are widely available on BBSes.  Have
you tried Kermit?  It has a 7-bit mode that gets around a lot of the
problems you mention.  -rag]

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

From: ames!seismo!mcvax!eurifb!benno@cad.Berkeley.EDU
Date: Mon, 26 Jan 87 12:25:37 +0100
Subject: Want BASIC Random Number Generator Algorithm

  Does anyone know what algorithm is used in GW-BASIC and/or BASICA
  to generate "random" numbers? Algorithm also includes the coefficients,
  if you know them......

Thanks in advance

uucp:	mcvax!eurifb!benno	| Ben J. Noordzij
earn:	benno@hroeur1		| EUR/bedrijfskunde, Burg.Oudlaan 50,
phone:	+31 10 4081931		|	3062 PA  Rotterdam, Netherlands

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

Date:     Mon, 26 Jan 87 22:31:16 +0100 (Central European Time)
From:  XBR1Y028%DDATHD21.BITNET@WISCVM.WISC.EDU  (W. Reichenbaecher, HRZ)
Subject:  IBM Mainframe Graphics Terminal Emulation Query
To:  info-ibmpc@c.isi.edu

Our university runs (aside some VAXen) an IBM mainframe under MVS/XA+TSO.
We like to connect IBM-PC's (IBM PC/AT's an Olivetti M24's) to that host,
to be used as graphics terminals.
We have just bought an IBM7171 protocol converter and are investigating
to connect the PC's thru that hardware. What we like to have is the
possibility to store graphics output on the PC (disk/diskette) , for further
viewing or plotting on some hardcopy device.
Our graphics software on the IBM mainframe currently is DISSPLA, CUECHART
 TELL-A-GRAF and GKS. The IBM product GDDM was installed just recently.

My question to this list (I will also send it to the IBM7171 list) is:
   are there already some installations who do what we intend to do?
Any help or hints are very welcome.

Walter Reichenbaecher
Technical University Darmstadt, West Germany
University Computing Center

Bitnet:  XBR1Y028@DDATHD21
ARAPnet: XBR1Y028%DDATHD21.BITNET@WISCVM.WISC.EDU

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

Date: Mon, 26 Jan 87 14:24:25 MEZ
From:  C0034001%DBSTU1.BITNET@WISCVM.WISC.EDU
Subject: Print Screen of 640x350 Graphics on IBM Proprinter Wanted

As far as I know IBM does not offer a solution for the following task:
Hardcopy (Print Screen) of graphics (monochrome) with 640x350 resolution
on IBM Proprinter (Graphics Printer II) under PC DOS 3.2.
Any suggestions or solutions?

Kurt Kaempen

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

Date: Tue, 27 Jan 87 13:41:20 MEZ
From:  UNI217%DBNRHRZ1.BITNET@WISCVM.WISC.EDU
Subject: Problems with NANSI.SYS

Recently I downloaded a new ANSI Terminal driver, called NANSI, from
ARCHIVE-REQUEST @ SIMTEL20.ARPA. I appreciate the speed of normal output
with this driver, but after redefining some keys by escape sequences
given in the DOS manual and the NANSI documentation (e.g. F1 becomes
'DIR A:' etc.) my system crashes and I have to turn it off. Does
anyone out there know how to fix this ? Is it a bug in NANSI (the version
I have is approx. 2-86) ? My computer is a Zenith Z-158 with harddisk and
DOS 3.1.
    Thank you, Rainer.

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

Date: Tue, 27 Jan 87 08:46:09 PST
From: Harvey A. Iwamoto <iwamoto%cod@nosc.ARPA>
To: info-ibmpc-request@c.isi.edu
Subject: Graphics Standards Documents Wanted

Is there a source where the descriptions of PC graphics standards can be
obtained?  I specifically need the description of file formats for the
Computer Graphics Interface (CGI) which includes (or is similar to) Virtual 
Device Interface (VDI).  Since VDI is considered a 'standard' that
description should be available from somewhere.
Thanks in advance.
Harvey Iwamoto

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

Date: Tue 27 Jan 87 13:13:19-EST
From: C. P. Yeske <CY13@TE.CC.CMU.EDU>
Subject: Public Domain PROLOG Wanted
To: info-ibmpc@C.ISI.EDU

	Is there a public domain PROLOG for the IBM PC?  It would not need
to be very complete or exciting, just enough for a feel for the language.

Curt Yeske
Carnegie Mellon
Computation Center

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

Date: Tue, 27 Jan 87 15:30:21 cst
From: goer%sphinx.UChicago.BITNET@BERKELEY.EDU(Richard L. Goerwitz III)
Subject: Problem with SIMCGA on Hercules Plus

Has anyone else experienced problems running SIMCGA on the new Hercules Plus
video card?  It's a wonderful device, allowing twelve different fonts in text
mode (fast).  Included are drivers for some of the more popular PC/XT/AT pro-
grams, such as Microsoft Word (which resorts to bit-mapped (slow) dis-
play so as to do, say, italics).  Trouble is that as soon as I ran SIMCGA
on it, it crashed.  In other words, my old Hercules-compatible graphics card
used to run SIMCGA.  Now my supposedly downward-compatible H Plus won't run
it....  Now before I go to great lengths determining just what is wrong, I'd
like to see if I can get some input from others who have Hercules Pluses.
It might be malfunctioning hardware.  More probably, however, SIMCGA is going
to have to be modified.  But in either case, I'd like to know first whether
others are experiencing the same problem.

TIA (Thanks in advance),

Richard L. Goerwitz

P.S. I prefer replies via (goer@sphinx.uchicago) but
!ihp4!gargoyle!sphinx!goer is okay....

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

Date: Wed, 28 Jan 87 10:50:42 ULG
From: Andre PIRARD <A-PIRARD%BLIULG12.BITNET@WISCVM.WISC.EDU>
Subject: Format Problems
To: Info-IBMPC Digest <INFO-IBMPC@C.ISI.EDU>

I am currently writing a program to read/write/format MSDOS diskettes
on a Commodore 128 with single 1571 drive.
In trying to be general regarding format types, I decided to use the boot
record parameters table and use the FAT ID when incoherent.
So I ran a FORMAT A: /8 and /8 /1 on IBM XT dos 3.2 and peeped at the table.
What I found there was ... hard disk parameters !!! (The FAT ID is correct).
I curiously ran CHKDSK against that beast. It "critically" failed.
At least, I know for sure DOS 3.2 no longer uses the FAT ID, but the parameters
and that was probably its pitfall.
DOS 3.10 formats correctly, but without parameter table.

I welcome information whether "foreign" MSDOS systems use nonstandard diskette
formats. If yes, do they have a correct parameter table (can they be read on
PC DOS 3.2) and what is the FAT ID in this case?

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

Date:     Wed, 28 Jan 1987 09:34:06 LCL
From:  NESCC%NERVM.BITNET@WISCVM.WISC.EDU  (Scott C Crumpton)
To:  INFO-IBMPC@C.ISI.EDU.ARPA
Subject:  Legal accounting software Wanted

I'm setting up a system for a relative who is a lawyer in private
parctice.  Can anyone point me in the direction of some inexpensive
legal accounting software?  The commercial packages that I seen so
far are way to expensive.  The package needs to be able to handle
time and materials billing along with escrow and trust accounting.

Thanks - Scott.

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

Date:     Thu, 29 Jan 87 15:00 CDT
From:     <EDWIN@TAMODP.BITNET>
Subject:  EVE-Like Editor Wanted
To:       INFO-IBMPC@C.ISI.EDU

Does anyone out there know of a text editor for the PC similar to
the Vax EVE editor (edit/tpu - NOT edt)? I have seen VI and XEDIT,
but not EVE, and I feel that the EVE editor is far superior to
those others in flexibility and ease of use. Is there an EVE - like
editor for the PC ?
 
      Edwin Garrett
      EDWIN@TAMODP.BITNET

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

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