[comp.sys.ibm.pc.digest] Info-IBMPC Digest V89 #67

Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL (07/08/89)

Info-IBMPC Digest           Sat,  8 Jul 89       Volume 89 : Issue  67

Today's Editor:
         Gregory Hicks - Chinhae Korea <COMFLEACT@Taegu-EMH1.army.mil>

Today's Topics:
                          Re: 80x86 comments
                     Computer road maps of EUROPE
                Getting disk hardware info in a program
           Re: Information requested on DOS 'Critical' Flag
                            Slave printer
                Imagewriter and Zenith PC connection.
                     Re: PrtSC redirecion to file
                           Re: PC-MOS/386
                    Request for info on Zydex Drive
                     Handheld scanner information
                             HP-PaintJet
                 Public Domain Postscript Interpreter
                           Re: CDROM Query
                      Kermit or termcap problem
                     Problems with HD formatting
          Problem with TurboPascal 5.0 & ATI EGA Wondercard
                          Psuedo FTP Scripts
                          Re: TDD and the PC
                          Turbo Pascal Bugs

Info-IBMPC Lending Library is available from: Bitnet via server at CCUC;
and from WSMR-Simtel20.army.mil (see file PD1:<msdos>files.idx for listing
of source files)

WSMR-Simtel20.army.mil can be accessed using LISTSERV commands from BITNET
via LISTSERV@RPIECS.BITNET and in Europe from EARN TRICKLE servers as
listed: (send commands to TRICKLE@<host-name> eg: TRICKLE@AWIWUW11)
AWIWUW11 (Austria), BANUFS11 (Belgium), DKTC11 (Denmark), DB0FUB11
(Germany), FINTUVM (Finland), IMIPOLI (Italy), EB0UB011 (Spain) 
and TREARN (Turkey).

Send Replies or notes for publication to: <Info-IBMPC@WSMR-Simtel20.Army.Mil>

Send requests of an administrative nature (addition to, deletion from the
distribution list, et al) to: <Info-IBMPC-Request@WSMR-Simtel20.Army.Mil>

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

Date: Mon, 26 Jun 89 16:45:11 PDT
From: Dana Myers <dana@bilbo.LOCUS>
Subject: 80x86 comments

From Info-IBMPC Digest V89 #59:

   The 8086/8088, the 80186/80188, the 80286, and the 80386 are all
different chips, with different CPUs and characteristics. I'll mention a
few details, but I don't want to get too involved in the whole issue.

    The 8086/8088 are essentially the same CPU, with the following
exceptions:

1. The instruction prefetch queue is shorter on the 8088 and uses a
different algorithm in deciding when to prefetch.

2. The data bus is smaller on the 8088.

  The 80186/80188 family is different from the 8086/8088 in several ways,
including:

1. The inclusion of a handful of peripherals.
2. The inclusion of several new instructions, such as PUSHA, POPA.
3. The improvement of several instruction execution times, such as MUL.
4. The addition of several new interrupt types, such as the invalid
   opcode exception.

  The 80286 is essentially an 80186 with an MMU and protection system
added, also some new protection oriented interrupts.

  The 80386 is a completely different CPU, with many features and
enhancements.  Several new instructions, several new addressing modes, a
barrel shifter to speed 'shl AX', etc., and a completely new memory
protection system.

The XT was designed to allow hard disks and large amounts of RAM in the
base configuration.

   Welll.... you can swap RAM on the 286, but a segment at a time only,
which is a pretty limited virtual memory environment.... The 286 allows
one to do multi-tasking, but it doesn't just do it for you. The 286 does
have a hardware context switch, but, from what I have seen, it is
expensive enough in the average case that most folks avoid it. Once in 286
protected mode, one can only get back by a physical chip reset.

As I mentioned above, the 386 is NOT an 8086 with some new stuff. It is a
very different CPU which expands on the base 8086 configuration. The
improvements to the memory management are quite extensive, but one
outstanding feature is the addition of paged virtual memory, which is
considerably easier to deal with than the segment based virtual memory of
the 80286. In fact, with the 386, one can create very large segments and
then rely on the protection built into the paging unit, thus providing
what looks like a linear address machine (so all the whiners about the
80x86 segments can relax now ;-). Also, the 386 cxan switch back into real
mode by resetting the Protected Mode bit.

   The Virtual 86 mode allows one to create multiple virtual 80x86
machines, but these really aren't just multiple 8088s... these are
multiple real mode 80386 CPUs. The address and data over-ride prefixes in
the 80386 will operate in V/86 mode, and you'll find you have access to
the full 32 bit register set. The new 386 instructions and addressing mdes
also work. The primary restriction is that you are limited to 16 bit
default operation in the V/86 mode.

   PS/2s using the 386 include the Model 70 and the Model 80. There is
also a PS/2 which uses the 386SX (Model 55?). I've never heard the number
386 used as part of an official PS/2 name. People just seem to add it.

    The 386SX is cheaper probably coz Intel is trying to stimulate sales
of this chip. Intel did the same thing with the 8088 - it cost more to
make 8088s, but Intel sold them cheaper... I won't get off into that
tangent ;-)

   Though I haven't looked closely yet (my sample and data books are back
ordered), the 376 is a 386 without real mode or most of the MMU. Yes, it
is an embedded controller CPU.

>>From: david@wubios.WUstl.EDU (David J. Camp)
>Subject: Differences in the 80X86/88 Family

>The 8088 and 8086 share the same instruction set.  

   The instruction set is essentially the same. Just the way segments are
dealt with changes. In fact, I have written quite a bit of code using
Microsoft C and then run it under 286 protected mode.

>This mode (sometimes called 'protected' mode) is what is used by OS/2.
>When OS/2 wants to run an MS-Dos application, it must reset the processor,
>so that it reboots into 8088 mode.  When running MS-Dos on an 80286, you
>make no use of protected mode whatsoever.  

   A 286 is faster and uses a 16 bit data path. It also can easily deal
extended amounts of RAM. Though DOS is a real mode application, the
extended features of the 286 can be used to speed program execution.

  Ok -- 'nuff time on the soapbox for me ;-)

Dana H. Myers
Locus Computing Corp.
lcc.dana@seas.ucla.edu

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

Date: Mon, 26 Jun 89 17:36:30 MET
From: Ir. A. Verbraeck <WINFAVE%HDETUD1.BITNET@CUNYVM.CUNY.EDU>
Subject: Computer road maps of EUROPE

For some research on planning visits to factories in Europe, I am looking
for COMPUTER MAPS that contain COUTRY BORDERS and MAIN ROADS in EUROPE.  I
am not looking for commercial software: the budget for this project is not
high enough to pay for expensive computer maps.

Does anyone know of PD maps of European countries and roads to be used on
the IBM PC (or another computer)?

Thanks in advance.

Alexander Verbraeck                            e-mail:
Delft University of Technology                 winfave@hdetud1.bitnet
Department of Information Systems              winfave@dutrun.uucp
PO Box 356, 2600 AJ  The Netherlands

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

Date: Sat, 24 Jun 89 09:24:53 CDT
From: "Craig S. Cottingham" <UC528665%UMCVMB.bitnet@cunyvm.cuny.edu>
Subject: Getting disk hardware info in a program

Anyone know how an application can determine what kind of disks are
attached to a PC?  The AT and PS/2 have a ROM-BIOS interrupt (int 13H,
function 08H) for this.  Int 21H functions 1BH, 1CH, and 36H all will
provide info about a _disk_ in the drive, but I need to know what the
_drive_ is capable of.  FORMAT does it somehow (or does it?).  There's an
IOCTL function (Int 21H, function 44H, subfunction 04H) that will read
device driver-specific info, but of course the info depends upon the
driver and there's not a standard format.  Worse, block device drivers are
not required to support this function.  Any suggestions?

Thanks in advance!

_Craig S. Cottingham
uc528665@umcvmb

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

Date: Sat, 24 Jun 89 09:43:11 CDT
From: "Craig S. Cottingham" <UC528665%UMCVMB.bitnet@cunyvm.cuny.edu>
Subject: Re: Information requested on DOS 'Critical' Flag

(Disclaimer: I'm working from memory; have reference at home.  Will report
             back with confirmed information.)

It's okay to reenter if DOS is in functions 1-12 (01H-0CH).  You can keep
tabs on DOS by replacing the int 21H vector with your own handler:

myInt21  proc  far
  cmp   ah,0ch
  jle   not_crit
crit:
  push  ax
  mov   al,CRIT_CODE     ; some value that indicates DOS is entering critical
                         ;  code
  mov   crit_flag,al     ; semaphore location
  pop   ax
not_crit:
  pushf                  ; the old handler will do an IRET, so fool it into
  call  oldint21         ;  thinking it was called with INT
  push  ax
  mov   al,END_CRIT_CODE ; indicates DOS is no longer in critical section
  mov   crit_flag,al
  pop   ax
  iret

Of course, you should check crit_flag before calling the original int 21H
handler.  (A good way to do this would be check crit_flag first thing in
your int 21H handler and return an error code if critical code is
executing.  Better yet, suspend the calling procedure until critical
section is exited.)

I'll double check my reference and get back with any corrections.

_Craig S. Cottingham
uc528665@umcvmb

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

Date:     Mon Jun 26 20:05    1989 local
From:     Jorge A Prado T <JPRADO%USACHVM1.bitnet@cunyvm.cuny.edu>
Subject:  Slave printer

hello everybody
I have the following problem: How  can  I set a terminal WYSE (in WY-75
personality) to transparently print  mode from a program (in c) and return
to the normal mode?  I want to build a module to manage a printer (connect
it to the serial port-rs232c) under Xenix.

                           thank in advance , Jorge Prado JPRADO@USACHVM1

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

Date: Mon, 26 Jun 89  02:37:06 EDT
From: RB%FSU.bitnet@cunyvm.cuny.edu
Subject: Imagewriter and Zenith PC connection.

    I own an Apple IIe with an ImageWriter printer. Let me emphasize that
this is the first Imagewriter not the Imagewriter II. I recently bought a
Zenith IBM-PC compatible computer. The Imagewriter is an excellent printer
and I would like to use it with my new Zenith PC.

    Has anyone made a successful connection of the two?  I  need to know
the cable as well as the device driver needed to use my Imagewriter
printer with the Zenith.

    My Imagewriter is a model 89M0303 with an Apple Super "Serial" card
hooked up to an Apple IIe. My Zenith IBM-PC compatible is a model 159 with
a memory card that includes a DB-25 "parallel" output connector for a
printer.  Ralph Axel Zuniga@RAI.CC.FSU.EDU

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

Date:  Mon, 26 Jun 89 12:20:12 +0300
From: "Yuval Tal" <NYYUVAL%WEIZMANN.bitnet@cunyvm.cuny.edu>
Subject: Re: PrtSC redirecion to file

This matter about redirecting files was discussed a week ago in RED-UG.
There is such program or redirecting printer to file available from
TRICKLE.  The file is <MSDOS.PCMAG>VOL6N22.ARC.

-Yuval Tal (NYYUVAL@WEIZMANN)

|NYYUVAL%WEIZMANN.BITNET@CUNYVM.CUNY.EDU                                |
|Yuval Tal                                                              |
|The Weizmann Institute Of Science                                      |
|Rehovot, Israel                     "Only fools are quoted" - Anonymous|

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

Date:  Mon, 26 Jun 89 07:38:17 EDT
From: "Richard J. Reiner (s9)" <S9RR999%MCGILLB.bitnet@cunyvm.cuny.edu>
Subject: PC-MOS/386

>  I would appreciate comments by actual users of PC-MOS 386. In particular
> the reliability, performance and adaptability with multi-user database
> managers. How many users can it efficiently support, maximum disk sizes,
> and terminals supported. (I am aware of the PC Magazine review of Feb 28,
> but am interested in actual, practical experience).

Version 3.0 (with the latest patches from the Software Link BBS) is quite
stable and reliable.  Previous versions were not.

I have a client running a custom Clipper application (using a 120 meg
database), SBT accounting, and WordPerfect 5.0 under MOS on a 386/25 with
two Intellicon-8 smart serial cards, Wyse 60 terminals, and a 300 meg ESDI
disk; sixteen concurrent active users all get reasonable service.

The list of supported terminals is long, but with anything other than
PC-TERM types you have to use awkward sequences to map the PC's keyboard
(ESC 1 0 for F10, etc).

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

Date:  Mon, 26 Jun 89 15:44:15 CST
From:  Gloria Brown <MERPJ%UMSVM.bitnet@cunyvm.cuny.edu>
Subject: Request for info on Zydex Drive

I have a friend backhome in India who has a Zydex drive or is in the
process of salvaging one from some junk-yard. He says that it looks just
like a floppy drive, but the removable media on it can store upto 10 meg.
I did a search on Info-tracks and SIC codes.  All in vein and the nearest
thing I found was a company by name xidex Corp which makes floppy disks,
microfilm etc. If any of you out there know anything of this product
please do drop a mail to me or to this list. I also need a pointer to
information about any public domain source in c for a device driver to
support a tektronix terminal on silicon graphics 910 workstation. Pointers
would be appreciated.

Regards,
../Gloria
Acknowledge-To: <MERPJ@UMSVM>

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

Date: 25 Jun 89  14:18:50 bst
From: Murff%edinburgh.ac.uk@NSFnet-Relay.AC.UK
Subject: Handheld scanner information

Hello,
I'm considering buying a handheld scanner, and 2 have caught my eye - the
Mitsubishi 130AG A5 scanner (which can apparently handle up to 400dpi) and
the Logitech ScanMan. Both come with software and interface according to
the catalog.  Does anyone have any experience of either of these products?
I need the scanner for input to Ventura, so the software would have to be
Pc-Paintbrush or DrHalo - is this the case ?

JANET: djm@uk.ac.ed.etive      Internet: djm%ed.etive@nsfnet-relay.ac.uk   
       Murff@uk.ac.ed.emas-a             Murff%ed.emas-a@nsfnet-relay.ac.uk
       trinity@uk.ac.ed.cs.tardis        trinity%ed.cs.tardis@nsfnet-relay.ac.uk

D.J. Murphy
Chemistry Dept.
Univ. of Edinburgh

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

Date: Mon, 26 Jun 89 15:46:41 MSZ
From: "M.J.Hepperle" <PACP%DS0RUS1I.BITNET@CUNYVM.CUNY.EDU>
Subject: HP-PaintJet

I am going to receive a HP-PaintJet this week. I want to use this printer
mainly with Microsoft Windows to print pictures of a surface modelling/
scientific graphing program.

I also intend to prepare some hardcopies from EGA screens (hoping that
some driver is included with the printer).  I would be interested in
source code and/or technical data about the printer to adapt a
hardcopy-routine I wrote for programs which deactivate the Shift Print-key
combination (written in Microsoft C 5.1) So I want to take snapshots of
some Sierra game screens etc.

If someone has informations on that Printer:

Send mail to Martin (PACP at DS0RUS1I)

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

Date: Mon,26 Jun 89 15:49:27 BST
From: I.M.SUTHERLAND%hull.ac.uk@NSFnet-Relay.AC.UK
Subject: Public Domain Postscript Interpreter

Hi,
   I am looking for a public domain or shareware program which will act as
a PostScript interpreter, and allow me to print out PostScript files on my
lowly dot-matrix printer.
 
Cheers in advance,
 
                  I.M.Sutherland, University of Hull, UK.

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

Date: Sun Jun 25 16:07:46 1989
From: microsoft!leefi@uunet.UU.NET
Subject: Re: CDROM Query

> From: Paul Mockapetris <pvm@venera.isi.edu>
> 
> What with all of the CDROM players for PCs I see at the local swapmeets, 
> I got to wondering how much it would cost to put my favorite database on a
> CDROM. 

A reply to a recent query on CD-ROM authoring sites, costs, etc. This kind
of information is in many of the available CD-ROM books on the market,
such as these from my bookshelf:

  Microsoft CD-ROM Yearbook 1989-1990
  Sally Oberlin and Joyce Cox, ed.
  Microsoft Press, 1989
  ISBN 1-55615-179-9

  CD-ROM: The New Papyrus
  Steve Lambert and Susanne Ropiequet, ed.
  Microsoft Press, 1986
  ISBN 0-914845-74-8

  CD-ROM Volume Two: Optical Publishing
  Susanne Ropiequet, ed.
  Microsoft Press, 1987
  ISBN 1-55615-000-8

  The Brady Guide to CD-ROM
  Laura Buddine and Elizabeth Young
  Brady Books, 1987
  ISBN 0-13-080631-5

Most discuss the factors involved in writing CD-ROM based apps and getting
CD-ROM discs published are covered in books like these. IMHO, a major
portion of these books are articles which discuss how great the world will
be when everyone had a CD-ROM drive etc.; but there is a lot of useful
information chapters in all of these books, especially for newcomers to
CD-ROM media. One useful thing that these books have done is collected
lists of contact points for the various CD-ROM ventures.

While I'm at it, if you're interested in some general and some technical
information on the Microsoft MS-DOS CD-ROM Extensions, you can call
Microsoft Product Support Services at (206)454-2030, connect with the
operating systems group, and request the "CD-ROM Information Kit".

Lee Fisher, leefi@microsoft.{wa.us,com,uucp,beaver.washington.edu}
{uw-beaver,decvax,decwrl,intelca,sun,tikal,uunet}!microsoft!leefi
disclaimer: I use my CD-ROM peripheral mostly for playing music...

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

Date: Mon, 26 Jun 89 20:57:47 -0400
From: abrams%smiley@gateway.mitre.org
Subject: Kermit or termcap problem

I have Kermit (version 2.31) displaying a bright foreground color and
black as the background.  My host is running Sun OS 4; I use the termcap
for a VT100.

When inverse video is displayed and then switched back to non-inverse, the
bright attribute gets turned off.  I would like to prevent this.  Any
suggestions?

I suspect that the Sun is sending a sequence that turns off the bright
attribute, but can't prove it.  I haven't used enough other hosts to
compare.

Thanks for your help.

Sincerely,
 
- Marshall D. Abrams, phone: (703) 883-6938
   The MITRE Corporation, 7525 Colshire Drive
   Mail Stop Z506, Mc Lean, VA   22102
   best e-mail address: abrams%smiley@gateway.mitre.org

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

Date: Mon, 26 Jun 89 09:54 N
From: <TGTEJH%HEITUE5.BITNET@CUNYVM.CUNY.EDU>
Subject: Problems with HD formatting

I bought a WD1003-RA2 RLL controller for my AT and I had some problems
with formatting my harddisk. Low level formatting was no problem, but
after I made a bootable DOS partition and used DOS format than there were
some strange things.

With PCDOS 3.20 all works fine. But when I used PCDOS 3.30 and I tried to
boot from drive C: I got a message "Missing Operating System". After
rebooting from floppy there were a few tracks allocated in the FAT bun no
files appeared in the directory. The system files IBMBIOS.COM and
IBMDOS.COM were present in the directory and the file COMMAND.COM too.
Comparing the code in IBMBIOS and IBMDOS there appeared to be differences.

Is there anyone who has an explanation or a solution for this problem,
because I want to use DOS 3.30 on my system.

Jan Hofman
Eindhoven University of Technology
The Netherlands

TGTEJH@HEITUE5.BITNET

P.S.
 All worked fine with my old controller.

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

Date: Sat, 24 Jun 89 12:46:00 EDT
From: DAVID KLEIN <DAVID@YUOrion.bitnet>
Subject: Problem with TurboPascal 5.0 & ATI EGA Wondercard

    I'm having a problem with my new version of Turbo Pascal 5.0.  It does
not seem to want to leave my monitor in a readable colour, that is, the
screen is put at a solid amber colour. As a result, the commands are just
not visible on the screen and when exiting from TP the monitor is still
solid amber.

     Has anyone had this problem?  I'm sure it's fairly simple, but I'm
darned if I can find it in the reference manual (legitimate).  My
configuration is a standard XT clone with an ATI EGA Wondercard.

Thanks in advance,
Dave Klein
Bitnet: (DAVID @ YUORION)

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

Date: Sat, 24 Jun 89 07:21:21 PDT
From: Alan Ariel <1052P%NAVPGS.BITNET@CUNYVM.CUNY.EDU>
Subject: Psuedo FTP Scripts

   For those of you that are using IBM's FTP and wish you had a script
capability, I have a partial solution.  I can't claim the original idea in
that I got it from a message on the TCPIP list.  The idea is to stack all
of the commands you want to use for SIMTEL with an EXEC then call FTP.
(I'll finish off this message with an example.)  There are a few cautions:

1.  Stacking the commands gives no error checking or branching capability.
If you don't get a connect, you get to sit through a few error messages
from FTP.  This approach is probably not a good one for unattended
transfers.  It is good for hands-off transfers.

2.  This will cause problems to a package like VMSCHEDULE because it uses
the stack.  But as I stated above, this approach is meant for hands-off
use.

Here's a REXX example:

/* REXX EXEC to get files.idx from SIMTEL20 */
CLRSCRN
PUSH 'quit'
PUSH 'get pd1:<msdos>files.idx files.idx'
PUSH 'anonymous guest'
'FTP 26.2.0.74'
EXIT

Remember, this is a stack so commands have to be PUSHed in reverse order.

Alan D. Ariel                               BITNET: 1052P@NAVPGS
LT        USN                               DDN:    1052P@CC.NPS.NAVY.MIL
SMC 1624                                    (or)    LEEKW@A.ISI.EDU
Naval Postgraduate School                   Tel:    (408) 646-2786
Monterey, CA 93943                          AV:     878-2786
Acknowledge-To: <1052P@NAVPGS>

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

Date: Mon, 26 Jun 89 16:58:32 EDT
From: crompton@NADC.ARPA (D. Crompton)
Subject: Re: TDD and the PC

Rich,
     The TDD code as I am sure you know is standard 45 baud baudot.  In my
CPM days, I wrote software to receive and transmit RTTY on Amateur radio.
It used an 8251 UART and an 8254 timer (baudrate generator). The 8250 (as
used in PC's) has a built in baudrate generator and it can be programmed
for the 5 bit word needed for baudot.

The only problem is the conversion from baudot to ASCII. This can be done
with a lookup table. It would be a rather simple task to write a minimal
TDD package using an existing COMM port on the PC. Given the source for a
COMM program (kermit would be an example) you could convert it for TDD.

Back when I was running the RTTY Amateur stuff on CPM, I modified an old
RTTY Modem for the 1400/1800 tones and added a squelch circuit, as it is
half duplex (both ends use 1400/1800!). We have a number of Hearing
impaired employees here at the base.

Maybe one of these days I will get it going again on the PC. I would be
glad to pass on the (Z80) code that I wrote. I also have a bbs that I
wrote in 'C' on the PC. I carried it over from my CPM system. Because I
trap all IO and handle it in my own routines I could easily add TDD
support and have a TDD BBS.

Doug

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

Date: Sun, 25 Jun 89 14:00 EST
From: "C'est ma vie." <JSHIN%HAMPVMS.BITNET@CUNYVM.CUNY.EDU>
Subject: Turbo Pascal Bugs

Here are some of my favorite bugs.

(NOTE:  these were in version 3.0.  I don't know if they happen in v.4
or v.5.)

1)  If you use EOF(file_variable) boolean function without an argument,
e.g.: "If EOF then begin ... end;" the program simply freezes.  The
compiler lets this by without generating a "syntax error" message (File
Variable expected, or something like that).  I once had to delete a very,
very long program, line by line, to locate this (and, yes, it was
modularized - I still had to do it, due to the simplicity of its nature).

2)  When an arithmetic operation on Integer variable "overflows," it is
simply "wrapped-around" during runtime.  No carry, no overflow, no error,
no crashing.  Imagine what a surprise it can be to have a negative number
appear in an operation of all positive numbers!

    var a,b: integer;

    begin
       a:=30000;    {very close to the limit, 32767}
       b:=a * 2;
       writeln(b);  {you get -5536}

       b:=a * 2 / 2
       writeln(b);  {you get -2768, or something like that}

      b:= trunc (a / 2 * 2)
      writeln(b);   {now you get 30000, like you should}
                    {it isn't the TRUNC that does it; it is the order of the
                     expression.  in the second example,
                         b:= a / real * 2 would have generated a type
                     mismatch.  Maybe the example above also requires a TRUNC,
                     but the result is the same}
   end;

John Shin

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

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