[comp.sys.ibm.pc.digest] Info-IBMPC Digest V7 #63

Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL (12/28/88)

Info-IBMPC Digest           Wed, 28 Dec 88       Volume: Issue  63

Today's Editor:
          Gregory Hicks - Ventura, Calif <COMFLEACT@Taegu-EMH1.Army.Mil>

Today's Topics:
              Automated news reading software for IBM-PC
               BITNET Archives for Info-IBMPC (Digest)
                            CD ROM Systems
                  CD substitute uploaded to Simtel20
                COMMAND.COM lost during Backup/restore
                    COMMAND.COM patch for DOS 3.3
                             EMS Ramdisk
          Expanding the IBM PC-XT motherboard memory to 896K
                Function Plotter uploaded to Simtel20
                     Grammar Checkers, the sequel
                    Machine readable star catalog
                              mode bw80
           Public Domain Extended Memory Manager available?
            Converting Gem Draw Plus Files to .eps Format
                    Writing to EGA Memory Problem
           Info Request for Lotus 1-2-3 .PIC file Structure

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

Date: Friday, 9 December 1988  21:46-MST
From: hoptoad!pozar@sun.com (Tim Pozar)
Subject: Automated news reading software for IBM-PC

In article <2005@van-bc.UUCP> skl@van-bc.UUCP (Samuel Lam) writes:
>In article <482@mccc.UUCP>, pjh@mccc.UUCP (Pete Holsberg) wrote:
>>It seems to me that what you would like is a program running on your PC
>>that will call into your news machine and download everything from
>>selected newsgroups.  I believe that you can do this with UUPC.
>
>Yes, UUPC will move the news articles into your machine, however,
>you still need a news-reader on the PC to read them.
>
>Now, my question is, does anyone have a functional news-reader for
>the PC yet?  If not, would some people like to get together and
>write/port one?

UFGATE is a package that just went into full 1.0 release about one
month ago.  It and a standard fido mailer (msg, msged, opus, fido,
rover, ect.) can turn your PC into a full UUCP/USENET leaf or host
site.

The cost of the software is:
   1] FREE to unsupported, non-commercial users.
   2] $35 for supported, non-commercial users.
   3] $195 for commercial users (includes support).

For more info, drop me a line, or give me a call M-F 10a-5p Pacific at
(415) 788-2022  ext. 330.

       Tim
--
 ...sun!hoptoad!\                                     Tim Pozar
                 >fidogate!pozar               Fido:  1:125/406
  ...lll-winken!/                            PaBell:  (415) 788-3904
       USNail:  KKSF / 77 Maiden Lane /  San Francisco CA 94108

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

Date: Tue, 13 Dec 88 15:14:16 CET
From: (Christoph H. Hochstaetter) HOCHSTAE%DMRHRZ11.BITNET@CUNYVM.CUNY.EDU
Subject: BITNET Archives for Info-IBMPC (Digest)

I tried to access the Archives via DATABASE@BITNIC.BITNET. The commands
which should supply the necessary information are: HELP and HELP ARPA. But
none of these commands described worked. The only message I received was:
NO ENTRIES FOUND. If anyone in BITNET has made positive experience with
DATABASE@BITNIC, I would like to get a short description, how to get any
information from the Archive.

Thanks in advance

Christoph.

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

Date: Mon, 12 Dec 88 10:22:59 PST
From: JAJZ801%CALSTATE.BITNET@CUNYVM.CUNY.EDU  (JEFFREY SICHERMAN)
Subject: CD ROM Systems

  I would very much like to hear from anybody with experience with CD ROM
on PC's. I am particularly interested in the tradeoffs (if any) between
internal and external drives (other than the obvious space considerations)
and the merits of SCSI interfaces versus custom ones. Any particular system
or vendor references/recommendations would be welcome.

  Jeff Sicherman
  JAJZ801@CALSTATE.BITNET

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

Date: Sunday, 4 December 1988  14:39-MST
From: James Shoffit <james@vaxb.acs.unt.edu>
Subject: CD substitute uploaded to Simtel20

New Upload to Simtel20: PD1:<MSDOS.DIRUTL>JSDOWN2.ARC

I called the arc-file JSDOWN2.ARC so that it won't be confused with
the DOWN that is alread up there.  The files inside are just called
DOWN2.*

DOWN is a substitute for CD, which allows a great deal of flexibility
and ease of use.  The two major enhancements over the DOS CD command
are abbreviations and the ability to use VMS and UNIX directory
specifiers.

An example of the abbreviations would be if I wanted to go to my
\COMM\DOWNLD directory, I could merely type DOWN \CO\DO.  Basically,
it searches first for CO* and finds the \COMM directory and then
further searches for \COMM\DO* and finds \COMM\DOWNLD and then changes
directory to it.

You could also say DOWN [CO.DO] (VMS style; you can even leave off the
trailing bracket) or DOWN /CO/DO (Unix style).

This program is very much public domain.

==========================================================================
James Shoffit                  BitNet: JAMES@UNTVAX  (POSTMAST@UNTVAX)
Vax Programmer/Operator        THENET: NTVAXB::JAMES  (NTVAXB::POSTMASTER)
Postmaster for UNTVAX.BITNET   Inter : james@vaxb.acs.unt.edu
University of North Texas      SPAN  : UTSPAN::UTADNX::NTVAXB::JAMES
Denton, Texas  76203           AT&T  : 1 (817) 565-4161
==========================================================================

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

Date: Mon Dec 12 07:42:42 1988
From: "Gregory Hicks" <COMFLEACT@Taegu-emh1.army.mil>
Subject: COMMAND.COM lost during Backup/restore

In reply to the Info-IBMPC Digest question:

> Info-IBMPC Digest           Sun, 11 Dec 88       Volume: Issue  60
...
> Date: Mon,  05 Dec 88 01:49:20 +0200
> From: <MASCHLA%HBUNOS.BITNET@CUNYVM.CUNY.EDU>
> Subject: COMMAND.COM lost during Backup/restore
>
>
> Sincerely,
> Michael Maschler
> e-mail: MASCHLA@HBUNOS.Bitnet

Half of what is going on to your system is not a virus, just little
known functionality of the DOS BACKUP and RESTORE utilities. They
don't save the DOS system files COMMAND.COM, IO.SYS, IBMBIO.COM, and
IBMDOS.COM from the boot drive. The BACKUP program doesn't back them
up, and the RESTORE program doesn't restore them. This'd explain the
problem you're having. You should FORMAT and/or SYS your boot drive
to get these files back, then RESTORE the rest of your system.

The normal situation is to backup the system with BACKUP. If the
system is reformatted, the DOS system files (i.e., the ones that
BACKUP does not backup) are placed on the system. Then, when you
restore the system with RESTORE, the rest of your files are restored.
There is no modification of the files. [BACKUP *does* save files in a
different format, with header information and such, but this is used
by RESTORE only, and when RESTORE restores the files, they are
returned to their original byte-comparable selves.]

As to what VFeature is doing to the files, I have no idea. These
days, there are a lot of anti-virus programs out there, and they do
strange things to systems, all in the cause of trying to keep systems
normal. I don't know what VFeature does. Were I you, I'd probably try
to get your original DOS disk, try a test procedure like:

    FORMAT/S disk
    install DOS on it
    BACKUP disk
    reFORMAT/S disk
    RESTORE disk
    check to see if the DOS system files are ok

The end result is to remember that BACKUP will not backup these
system files, and RESTORE will not conversely restore them. (Thus,
since BACKUP won't put them on the backup disk, it's somewhat
redundant that RESTORE should worry about not restoring them.]

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

Date: Mon, 12 Dec 88 14:19:06 EST
From: "Larry Bradley" <LARRY%VM.NRC.CA@CORNELLC.ccs.cornell.edu>
Subject: COMMAND.COM patch for DOS 3.3

Sorry, Greg, you missed the point ... that works ONLY for the PRIMARY
COMMAND.COM, the one that gets invoked at boot. time. When you invoke the
EXEC command processor (from within a program), it appears that he (it?)
does NOT respect the size set up in SHELL (I use SHELL all the time), but
only passes on the larger of the hardcoded size or the currently used
size of the parent environment. Patching DOS is a kludge, and I had hoped
that the SHELL stuff would make it unnecesssary, but it still is a problem.

There was something a couple of weeks ago on this in (I think) your list
but I guess I didn't keep it.

Thanks anyhow. Hope it is warmer in Korea than here ... -23 Celsius this
AM!

*------------------------------------+--------------------*
|Larry Bradley                       |  LARRY@VM.NRC.CA   |
|Communications Manager              |        or          |
|National Research Council of Canada |   LARRY@NRCVM01    |
|Networks Branch                     |                    |
|M60, Montreal Road                  | (613)993-0240      |
|Ottawa, Canada  K1A 0R6             | FAX:(613) 954-2561 |
*------------------------------------+--------------------*

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

Date: Mon, 12 Dec 88 16:04:09 CST
From: "Henry Mitchel" <AGRIPM%UMCVMB.BITNET@CUNYVM.CUNY.EDU>
Subject: EMS Ramdisk

Any suggestions or pointers to code that implements a ramdisk using
expanded EMS 3.2 memory?   Public, shareware or commercial all OK.
I just haven't seen any advertisements for something like this.

Many thanks.
Henry Mitchel.

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

Date: Mon, 12 Dec 1988  12:55 MST
From: Keith Petersen <W8SDZ@WSMR-SIMTEL20.ARMY.MIL>
Subject: Expanding the IBM PC-XT motherboard memory to 896K

Now available via standard anonymous FTP from Simtel20:

Filename            Type  Bytes     CRC

Directory PD1:<MSDOS.SYSUTL>
896K-MEM.MOD             ASCII       9654  6191H

Here are some excerpts:

[there was a recent discussion as to] how storage addresses are
decoded on the IBM PC XT motherboard.  The idea was advanced that it
should be possible to replace all four banks of 64K chips with 256K
chips, plug in a "custom" prom at U44, and depending on the system's
hardware configuration, have up to 256K of additional HIGH MEMORY
available for ramdisk, print spooler, DOS extensions, or whatever.

Well, it's been done.  It works!  It's easy!  It involves no soldering
or modifications to the motherboard except replacing socketed chips --
and it's cheap!  At current San Jose prices, the cost of taking an
XT from 640K to 896K is under $50.  It would cost less than $95 to go
all the way from 256K to 896K.

On [the author's] PPC, [he] runs a 360k ramdisk, a 96k ramdisk, a 30K
print spooler, and still have 410K left for DOS and applications.  A
friend [of the author] runs 192K of ramdisk, print spoolers, and DOS
extensions, and still has a 704K DOS address space.

---end excerpt---

There are certain limitations depending on display adaptor and disk
controller addresses, etc., which are discussed in this file.  Please
read this document before posting comments to this digest.

--Keith Petersen
Maintainer of the CP/M & MSDOS archives wsmr-simtel20.army.mil [26.0.0.74]
DDN: w8sdz@wsmr-simtel20.army.mil
Uucp: {ames,decwrl,harvard,rutgers,ucbvax,uunet}!wsmr-
simtel20.army.mil!w8sdz

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

Date: Tue, 13 Dec 1988  23:45 MST
From: Keith Petersen <W8SDZ@WSMR-SIMTEL20.ARMY.MIL>
Subject: Function Plotter uploaded to Simtel20

Now available via standard anonymous FTP from Simtel20:

Filename            Type  Bytes     CRC

Directory PD1:<MSDOS.PLOT>
FCNPLT40.ARC             BINARY    125508  3453H

This is Function Plotter version 4.00.  This program is shareware.
There have been many improvements over version 3.01 including EGA
color support, windowing data, log plots, custom configuration of
startup, unlimited number of plotting points and much more.

Function plotter is useful for the following:

1) Quickly reviewing data in a linear or log format.  Data are in
   column format and can have up to 9 columns.  You can plot any column
   vs. any other column.

2) Entering function strings and converting to data.  These data can
   then be plotted or read out to a data file.

3) Use it as an educational tool.  Examine Taylor series, Fourier
   series and Chebyshev series approximations.  Look for roots of
   polynomials.  Look at functional behavior as you vary parameters.

4) Reading very dense data files and then examining detail using
   "exploded" views.

5) Use in the calculator mode as an intelligent formula calculator.

--Keith Petersen
Maintainer of the CP/M & MSDOS archives wsmr-simtel20.army.mil [26.0.0.74]
DDN: w8sdz@wsmr-simtel20.army.mil
Uucp: {ames,decwrl,harvard,rutgers,ucbvax,uunet}!wsmr-
simtel20.army.mil!w8sdz

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

Date: Tue, 13 Dec 88 19:55:56 PST
From: JAJZ801%CALSTATE.BITNET@CUNYVM.CUNY.EDU  (JEFFREY SICHERMAN)
Subject: Grammar Checkers, the sequel

  I noticed the comments on grammar checkers (or style checkers) in the
recent issue (Vol 7 Number 56). We use Rightwriter but are not always
happy with it's rigidity. We received an announcement of a new version
that proports to be configurable with regard to warning levels for
various constructs and problems. Has anybody had any experience with
this new version ? We are trying to decide whether to upgrade or switch
(probably to Grammatik III). We have also received some promotional
literature on a new, similar product called READABILITY. It's touted
by Jerry Pournelle - which makes it automatically suspect but that's
a subject for a different letter. Does anybody have any experience with
this one ??

  Jeff Sicherman
  JAJZ801@CALSTATE.BITNET

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

Date: Mon, 12 Dec 88 16:03:51 MET
From: Jos Wennmacker <U001222%HNYKUN11.BITNET@CUNYVM.CUNY.EDU>
Subject: Machine readable star catalog

I'm looking for a public domain machine readable star catalog.
Does anyone know where I can find it?

Thanks,
Jos Wennmacker

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

Date: Sun, 11 Dec 88 21:23:28 PLT
From: Wim Bonner <27313853%WSUVM1.BITNET@CUNYVM.CUNY.EDU>
Subject: mode bw80

I was wondering if anyone could tell me exactly what happens when you
tell the dos mode command BW80 ??  If a register or bit is set which
makes sure that the color burst is set to off for composit monitors, I
would like to know the location of this bit, and how to set it.

Would it be possible to reset this bit without fully reseting the screen?

I use an IBM PC Portable, and the internal screen is an amber screen
connected to the internal composite video port of a CGA.   The main reason
I want a program to do this is that I use Yterm, and it always resets the
screen to a color mode that is unreadable on my b/w screen. (when Yterm
exits)  The text from before the yterm session is left on the screen
though.  I would like to be able to avoid running mode, and clearing the
screen, after every yterm session.

Wim Bonner  Bitnet:27313853@WSUVM1  Compuserve:72561,3135  (King-Rat)
The Loft - (509)335-7407 - 300/1200/2400 - 24hrs/day - PCboard 12.1/d
Acknowledge-To: <27313853@WSUVM1>

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

Date: Mon, 12 Dec 88 14:43 N
From: <SURF050%HTIKUB5.BITNET@CUNYVM.CUNY.EDU>
Subject: Public Domain Extended Memory Manager available?

Looking for an answer, I dwell through strange environments....

Hello, fellow networkers,

I'm a Mac-freak myself, so I'm really on strange territory this time. But
I'm looking for information for a collegue.

He has got a 80286 clone with a 3 Mb internal memory.  He is using Lotus
123 to do his calculations. Now he heard about the existance of a public
domain tool which would make it possible to let Lotus use the extended
memory he has available (extended memory not expanded!!)

Anyone availble out there who has heard of this precious piece of software?

If so, could you please let me know?  I'll return a compilation of the
reactions for other users.

Answer please to: SURF050@HTIKUB5

thanks for the coorporation.

Ir. Koos Jorritsma
Noordelijke Hogeschool Leeuwarden
(NL)

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

Date: 13 Dec 88 05:23:47 GMT
From: Robert Cole <cole%silver@iuvax.cs.indiana.edu>
Subject: Converting Gem Draw Plus Files to .eps Format

Does anyone have information on how to convert a Gem Draw Plus .gem file to
another format?  Specifically, I need to change to encapsulated postscript

Any ideas would be helpful. Thanks.

Bob Cole

cole@gold.bacs.indiana.edu

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

Date: Mon, 12 Dec 88 08:51:50 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: Writing to EGA Memory Problem

> From: Aaron Eisenfeld <aeisenfe@bbn.com>

Hi,

I am working on an application that writes directly to video memory. The
way that this is accomplished is shown below:


#define SCREEN_MEMORY        0xB0000000L         /* screen memory map ad-
dress */
#define SCREEN_COLUMNS       80             /* 80 columns */
#define SCREEN_ADDRESS (line, column)   (char *)(SCREEN_MEMORY + \
                           ((line - 1) * SCREEN_COLUMNS + \
                            column - 1) * 2)

Recently it was decided to upgrade this program to run on an EGA equipped
machine. This changed the code to:


#define SCREEN_MONO_MEMORY  0xB0000000L      /* screen memory map address
                              for mono display  */
#define SCREEN_COLOR_MEMORY 0xB8000000L      /* screen memory map address
                              for color display */

#define SCREEN_COLUMNS       80              /* 80 columns */
#define SCREEN_ADDRESS (line, column)    (char *)(SCREEN_MEMORY + \
                            ((line - 1) * SCREEN_COLUMNS + \
                             column - 1) * 2)

SCREEN_MEMORY was changed from a constant to a variable set to the ap-
propriate memory address.

Everything works great while I am in the program, but when I exit from it,
(while on my EGA equipped machine) any routine that does anything sig-
nificant to the screen (editor, screen color changer) causes the machine to
lock-up and I must re-boot. (Warm boot works ok). On the mono eqipped
machine the program works fine and when I exit everything is ok.

There must be something I need to reset or save in the program but I don't
know what it is. Can someone shed some light on this for me?

Thanks for your assistance,

Aaron Eisenfeld                    aeisenfe@bbn.com

-------

Toad Hall Response:  (Disclaimer:  I am NOT a strong C programmer,
and don't even OWN a CGA or EGA card, or the Microsoft C compiler.)

[Some comments about addressing (from "MicroSoft C Programming for the
IBM", by Robert Lafore, published by Howard W. Sams & Co, The Waite Group),
pp 351 or so, on).]

USING SEGMENT-OFFSET ADDRESSES IN C
In C, an address that is outside of the program's normal data segment also
makes use of this segment-plus-offset combination.  However, the address is
represented slightly differently.  Instead of using the absolute address,
C requires a 32-bit (four-byte, 8-hex digits) representation consisting of
the four digits of the segment address followed by the four digits of the
offset address.  Thus, in C, the absolute addres B07D0 is rendered as
0xB00007D0 (B0000 followed by 07D0).

     Since a normal pointer can't hold these 32-bit addresses, how do we
make use of them?  There are several approaches.  One is to use the large
memory model.  This approach, which is intended to accomodate programs that
use more memory than can fit into a single segment, automatically makes all
data references using the segment-offset combination.  In this model all
pointers become four-byte quantities, rather than two-byte.  The disad-
vantage of the large memory model is that references to ALL data now will
be made with four-byte pointers.  This is inefficient, since it takes the
computer longer to access memory using a four-byte pointer.

     A better approach is to use the small memory model but to declare a
FAR pointer specifically in those cases when we need to point outside the
normal data segment.  A FAR pointer is one that holds a four-byte address,
rather than the usual two-byte address.  Thus it can hold the segment-
offset combination.  We declare a FAR pointer by inserting the FAR keyword
just before the variable name.  Our skeleton program can thus be rewritten
like this:

     int far *ptr;       /* declares far pointer */
     - - - -
     ptr = 0xB0000000;   /* segment B0000 plus offset 0000 */
     - - - -
     *(ptr) = ch;        /* now this will work */

COMPILER OPTION:  THE FAR KEYWORD
If you're using version 4.0 of the Microsoft compiler you can skip this.
However, if you're using version 3.0, you'll need to give special instruc-
tions to the compiler so it will recognize the FAR keyword used in the dec-
laration above.  For the compiler to recognize FAR, an "option" must be
used in the command line typed to invoke the compiler.  The capability to
recognize the FAR keyword (and several other keywords as well) is invoked
with the characters "/Ze".

[Later, a short example of code to fill the screen with a character:]

/* dfill.c */
/* uses direct memory access to fill screen */
#define LENGTH 2000
main()
{
     int far *farptr;
     int addr;
     char ch
     printf("Type character to start, type again to change");
     farptr = (int far *) 0xB0000000;
     while( (ch=getche()) != 'X' )
          for(addr=0; addr<LENGTH; addr++)
          *(farptr + addr) = ch | 0x0700;
}

     Remember that if you are using a color monitor (either EGA or CGA) for
text display, you should use the constant 0xB80000000 instead of
0xB0000000 in dfill.c, since the text memory of the color display occupies
a different space in memory.

[From a later chapter on CGA and EGA Color Graphics]

STARTING ADDRESS
As with other parts of RAM, a memory location in a graphics adaptor card is
identified by its address.  We've already learned that the monochrome
memory starts at absolute address B0000.  The memory in the color adaptors
starts at B8000, and in the EGA-only modes (13 to 16) it starts at A0000.


[End of excerpt]

Summary of screen modes:
     7         normal monochrome memory
     0,2,5     color suppressed modes.
     1,3       normal text modes for color monitors
     13..16    added with EGA, provide increased resolution, additional
               colors, or both.
  Normal default boot-up mode for CGA or EGA is mode 3.

In graphics mode, the memory layout is COMPLETELY different, with even
rows of pixels going to one part of memory, while odd rows go in another.
I hope we're not gonna discuss graphics modes, right?  Your program does
NOT change video mode, does it?

   And with the EGA-specific modes (13..16), we get into "bit planes"
(starting at A0000), and that's again COMPLETELY different; gotta get into
poking registers, etc.  None of that, right?

So .. bottom line:

If your program actually works (displaying text characters in the text
mode), obviously you're addressing memory correctly, and not accidently
blasting resident portions of the BIOS or DOS away.  Are you ABSOLUTELY
sure you aren't overrunning the screen array (which shouldn't hurt the OS
if you're still in a video memory segment)?  Are you ABSOLUTELY sure you
didn't, at one point or another, NOT set the video segment part of that
pointer?  Or somehow blow away the segment register with some other in-
struction?

If you aren't doing any fancy register poking, you shouldn't be leaving the
EGA video registers in some strange state.  In ANY case, that shouldn't
lock up your computer .. worst case, you'd probably be seeing garbage on
the screen, lose video control, etc.

So I donno WHAT you've done to break the operating system!

Sorry I couldn't have been of more help.

David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Mon, 12 Dec 88 18:46:08 -0900
From: <FSAPM%ALASKA.BITNET@CUNYVM.CUNY.EDU>
Subject: Info Request for Lotus 1-2-3 .PIC file Structure

I am programming an application that needs to be able to read
Lotus 1-2-3 graphs. I am searching for information on the .pic
format. Any help would be greatly appreciated!

Thanx in advance!
Please send mail directly to me, as I am not on this list.

Aaron Morse
FSAPM@ALASKA

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

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