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

hicks@WALKER-EMH.ARPA (Gregory Hicks COMFLEACTS) (01/10/88)

Info-IBMPC Digest       Wed, January 6, 1988           Volume 7 : Issue 1

This Week's Editor: Gregory Hicks -- Chinhae Korea <hicks@walker-emh.arpa>

Today's Topics:
                     DOS 3.3 control-w function Patch
                                Machine ID
                           PC Clone term on Unix
                 Increasing DOS Memory to 704K with 386MAX
                    Microsoft C 4.0 under Windows 1.01
                      Copying Large Files to Floppies
                               BBS Software
                           Request for FORMAT83
               Ample Notice 1.07 now available from SIMTEL20
Today's Query's:
                         Paged '286 protected mode
                   PrtScr problem on PCDOS 3.3 (2 msgs)
                         Floppy Disk Drviver Query

      INFO-IBMPC BBS Phone Numbers: (213)827-2635 (213)827-2515

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

Date: 1 Jan 1988 13:54:59 EST
From: Jerry.Lotto@LHASA.HARVARD.EDU
Subject: DOS 3.3 control-w function

On further experimentation, I have decided that a better patch for ^W
under DOS 3.3 is:

I noticed that noone replied yet to the request for DOS 3.3
versions of the popular patches. The following seems to work:

Echo off by default in batch files:

C:\> debug COMMAND.COM
-e 1D68 01.00

Control-U and Control-W line editing:

C:\> debug ibmdos.com
-a 211b
####:211B jz 217b
####:211D

-a 211f
####:211F jz 2172               ; replaces 2 NOPS
####:2121

NOTE: These are not tried and true patches, I just worked them out using
the 3.2 patches as a template and tried each once.  Precautions should be
taken against bad side effects until these are a little older.  Also,
standard care about not relocating IBMDOS.COM on the disk, backing up the
original files, not blaming me if something goes wrong should be taken.

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

Date: Fri, 1 Jan 88 14:07:44 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: Machine ID

>From: Denis Haskin <dhaskin%lucy.wellesley.edu@RELAY.CS.NET>
>Subject: System ID on IBM and IBM Compatible machines

> ...  We are seeking a way to identify (within a batch file) what
>kind of PC compatible machine this is -- in particular, whether it is an
>IBM PC or an AT&T 6300.  Presumably there is some register or memory loca-
>tion in which one could find some indication of the underlying hardware.

>Denis Haskin, Network Manager
>Wellesley College
>DHaskin@Lucy.Wellesley.Edu

Paraphrased from Norton's Programmer's Guide (p58..61):

The ROM release date can be found in an 8-byte storage area from F0000:FFF5
to F0000:FFFC (two bytes before the machine ID byter).  It consists of AS-
CII characters in the common American date format (06/01/83 stands for June
1, 1983).  This release marker is a common feature of the IBM personal com-
puters, but is only present in a few IBM compatibles.  For example, the
Compaq computers do not have it, but the Panasonic Senior Partner does.

The only use of dates in the release marker is to identify the different
versions of ROM.

Release Marker          Machine
04/24/81                Original PC
10/19/81                Revised PC (some bugs fixed)
08/16/82                Original XT
10/27/82                Upgrade of PC to XT BIOS level
11/08/82                Original Portable PC
06/01/83                Original PCJr
01/10/84                Original AT

The machine ID is a byte located at F0000:FFFE.  Be aware that there were
some inconsistencies in the way machine IDs are assigned.  FE was the value
announced originally as the identifier for the XT and later for the Port-
able PC, yet many XTs actually have the PC signature FF.

   ID
Dec     Hex     Machine
255     FF      PC (the original IBM personal computer)
254     FE      XT and Portable PC
253     FD      PCjr
252     FC      AT
 45     2D      Compaq (PC equivalent)
154     9A      Compaq-Plus (XT-equivalent)

Sample code to locate the machine ID (BASIC)
10 DEF SEG = &HF000
20 IF PEEK(&HFFFE) = 253 THEN PRINT "I should be a junior"
30 IF PEEK(&HFFFE) = 254 THEN PRINT "I should be an XT or Portable"
40 IF PEEK(&HFFFE) = 255 THEN PRINT "I should be a PC"
50 IF PEEK(&HFFFE) = 252 THEN PRINT "I should be an AT"

David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Fri, 1 Jan 88 14:13:45 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: PC Clone term on Unix query

NetLandians,
SGT Guido has problems setting the correct terminal emulation when logging
onto a VAX Unix system.

Not to worry .. I'll help him directly.  (He's a user right here on my own
host system!)

David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Fri, 1-Jan-88 22:18:50 est
From: David Farber <farber@UDEL.EDU>
Subject: Increasing DOS Memory to 704K with 386MAX

    I tried a copy of the 386MAX software product.  When used it fills the
infamous 512 gap on Intel 386 motherboards, remaps ROM into fast RAM and
does all sorts of neat speedup things.  The manual is a bit out of date and
thus a series of phone calls was necessary to get it up.  The folks at
Qualitas are real helpful.  I have a major problem with it that arose after
they went on New Years Vacation so it may be easy to fix.  When I use
microemacs (at least maybe other editors) and edit a file on a floppy the
file gets corrupted along with the floppy.  No such problem seems to occur
on the hard disk.

    I am not happy with such a problem and would recommend the product when
this problem is fixed.

Dave

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

Date: Sat Jan 02 20:15:04 1988
From: microsof!gaben%beaver.cs@beaver.cs.washington.edu
Subject: Microsoft C 4.0 under Windows 1.01

    With regards to the person having trouble running Microsoft C 4.0 under
Windows 1.01, have them try running it under Windows 2.0.

    It sounds like they don't have enough memory to exec the second pass of
the compiler and Windows 2.0 should give him an extra 180K or so, which
should be enough.

    Several of the developers in the Windows group run the compiler under
Windows 2.0, so if you continue to have problems, call product support and
they should be able to get you the right settings.

    The reason we don't ship a PIF file for the compiler is that it should
come with the compiler (all Microsoft products are supposed to be shipped
with PIF files, that way you don't have to worry about having an out of
date PIF file coming with Windows for C 4.0 when you have C 5.0).  If not,
then it is an oversight which we will correct.

        Gabe Newell
        Product Manager, Windows 2.0/386

[I can verify the presence of the .PIF files.  All the Microsoft products
that I have, or use at the office, came with .PIF files.  This includes MSC
4.0.  gph]

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

Date: Sun, 3 Jan 88 09:38:39 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: Copying Large Files to Floppies

L. Philip Miller described a problem (in Info-IBMPC #76) about needing to
copy extremely large files to floppies; how BACKUP and RESTORE gave
problems between different DOS versions, etc.  I'd suggest two
alternatives:

1 - Use a utility like SPLIT (I believe available at SIMTEL20 in the
PD1:<MSDOS.FILUTL> directory, C source) to split the target file in two
(renaming each portion, of course).  Then copy the segments to your heart's
delight.

2 - Use Buerg's (damn, that guy does good work!) FBR154.ARC (also available
in SIMTEL20's PD1:<MSDOS.FILUTL> directory).  It's a "Fast Backup and
Restore" utility that uses something like the old LU library method.  Will
put any or all selected files in a subdirectory into a single file on your
floppy.  If it runs out of floppy disk space (even if just backing up one
file), it'll prompt for a new floppy, and keep right on chugging.  Doesn't
do any compression or anything.  Three utilities (FB to backup, FR to re-
store, FS (I think) to peek at the backup file's library catalog).  Works
just fine, doesn't care what DOS wants, has nothing to do with DOS's BACKUP
and RESTORE.

Regards,
David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Sun, 3 Jan 88 09:43:56 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: BBS Software

    Bruce Harrison's request for information about available BBS's for PCs
and compatibles:

    I'd suggest MINIHOST .. a public domain (maybe Freeware, but cheap
license if so).  It's not the most POWERFUL BBS in the whole world, but
sure gets you off the ground in a hurry and gets you used to running and
using a BBS without tremendous overhead, hassles in setting up, etc.  It's
available (no source tho) in SIMTEL20's PD1:<MSDOS.BBS> directory as
MH08017B.ARC (the latest version, but may have been updated again .. the
author is constantly tweaking and improving it).  I have code for two BBSs
in Turbo Pascal 3.0 source, but am not sure of their public availability.
Bruce, if you're interested in them, get back to me directly via EMail (not
to bore the net).

David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Sun, 3 Jan 88 09:51:31 EST
From: David Kirschbaum <kirsch@braggvax.arpa>
Subject: Request for FORMAT83

(The editor asked about my uploading FORMAT83 source to the Info-IBMPC
library.)

    The source and executables for FORMAT83 (convert binary file back to
Intel-format hex file) is already available at SIMTEL20 in the directory
PD1:<MSDOS.FILUTL>FORMAT83.ARC.1

David Kirschbaum
Toad Hall
kirsch@braggvax.ARPA

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

Date: Sunday, 3 January 1988  10:11-MST
From: ecsvax!harris@MCNC.ORG (Mark Harris)
Subject:   Ample Notice 1.07 now available from SIMTEL20

Now available via standard anonymous FTP from SIMTEL20:

Filename                        Type     Bytes   CRC

Directory PD1:<MSDOS.DESKACCESS>
AN107.ARC                       BINARY   88470  9D93H

AN107 is Ample Notice, version 1.07, an appointments calendar/alarm clock
that allows an unusual degree of flexibility.  A single entry can describe
(e.g.) an appointment for the third Thursday of each month, five days in a
row beginning 2/3/88, every other Wednesday for three repetitions, etc.  A
variety of print styles let you take your calendar with you.  Also included
is a sideways envelope addresser program.

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

Date: Sat, 2 Jan 88 23:07:12 PST
From: imagen!geof@decwrl.dec.com (Geoffrey Cooper)
Subject: Paged '286 protected mode

    I have a very large application that currently runs on 68000 class
machines.  I'd like to port it to the PC/AT.  I know that it would be
easier to port it to the '386 machines instead, but I want the AT.  I would
estimate the program at 1 MB program, 2 MB data.  Overlays are not accept-
able because of the nature of the program.

    I'd like to use protected mode.  In protected mode the virtual address
space is linear; you can treat it as a 24-bit linear address space if you
fill the segment descriptors contiguously.  I think that I can get a com-
piler that will do 32-bit pointer arithmetic.

    My '286 manual indicates that when you load a segment descriptor on the
'286, you get a restartable fault if the segment isn't there.  Since the
fault is restartable, I believe that I can pretend that I have a 24+ bit
linear, paged address space, with the page size being 64KB.

Question #1: is there anything I've missed?

Question #2: Has anyone out there done something like this?  I'd like to
buy a package that does as much of the bookkeeping of what I've described
for me.  I'll pay for it, and I'd pay someone who knows how to create it
for me if there isn't a product out there.  Has anyone heard of such a
thing?

(Things I already know: AI architects doesn't do paging and won't sell
sources.  Xenix and Microport unices don't page on the '286 (not that UNIX
was what I was looking for))

- Geof Cooper

  IMAGEN

  imagen!geof@decwrl.dec.com
  {decwrl,sun}!imagen!geof

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

Date: Sun, 3 Jan 1988  11:25 MST
From: Keith Petersen <W8SDZ@SIMTEL20.ARPA>
Subject: PrtScr problem on PCDOS 3.3

    Some time ago I posted a message describing a problem I'm having with
my printer and IBM PCDOS 3.3.  My printer is connected to the parallel port
(LPT1:).  No TSR's are present and no MODE command has been done.

    To recap, if I do COPY filename PRN: the printer will print the file
correctly.  If I do control-P at the DOS command prompt and TYPE filename
it also prints correctly.  If I do PrtScr to print the current screen to
the printer it all prints on the same line.

I recently obtained a PD program called LPT2DISK which redirects the
"LPT1:" output to a disk file.  This tool allowed me to finally determine
what the problem is.  The PCDOS 3.3 PrtScr routine is sending LF CR instead
of CR LF to the printer!  It seems hard to believe that they would make
such an error in writing this part of the operating system.

Rather than changing the option switches on my printer (which is also used
with other computers) to deal with this *non-standard* end-of-line output,
I would rather patch the PrtScr routine to swap the LF and CR.  This seems
like it should be a simple patch.  Does anyone know where this routine is
located?

--Keith Petersen
Arpa: W8SDZ@SIMTEL20.ARPA
Uucp:{bellcore,decwrl,harvard,lll-crg,ucbvax,uw-beaver}!simtel20.arpa!w8sdz
GEnie: W8SDZ

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

Date: Sun, 3 Jan 88 22:12:42 GMT
From: Gregory Hicks COMFLEACTS <hicks@walker-emh.arpa>
Subject: PrtScr problem on PCDOS 3.3

    Isn't the PrtScr routine a ROM BIOS Function?  If so, listing is avail-
able in the Technical Reference Manual...  (I don't have 3.3 so don't know
for sure, but...)

    I know that for my plain vanilla XT, the PrtScr is in the BIOS ROM...

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

Date:  Mon 4 Jan 88 00:08:46-PST
From: Lawrence I. Press <LPRESS@venera.isi.edu>
Subject:  Floppy Disk Driver Query

    I have been using a Teac 1/2 ht. floppy drive with an original IBM
floppy controller, and it intermittently writes things in the wrong place
-- like in the middle of a directory.  I have the hypothesis that the
problem is caused by the seek or head-settle time for the Teac drive being
slower than the old Tandon drives for which the IBM controller was
designed.  My question is: can someone tell me how to tweak the floppy
driver to lengthen seek time, head-settle time, etc.?  Are these values
loaded from disk or ROM?  Where are they in memory after the system (DOS
3.3) boots?

Thanks,
Larry

[Believe they are in a table in ROM that is moved to the BIOS constant area
in low memory when the system completes it's Power on Systems Test (POST).
HOWEVER, I also had the same problem with my drives.  Finally ended up
replacing the drives when the problem was no longer 'intermittent'.  gph]

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

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