[comp.unix.xenix] Microp List #35

microp@b-tech.UUCP (Microport mailing list) (10/22/87)

Subject: Microp mailing list #35 (22-Oct-87)

This message is being mailed to you as part of a mailing list.

This list is targeted towards technical discussions of Microport's Sys 
V/AT Unix for the IBM PC-AT.  It not officially related to Microport 
Systems Inc.  

Any input you have should be sent to: 

 seismo!umix!b-tech!microp  
 microp%b-tech.uucp@umix.cc.umich.edu

To be added to this list, contact one of the following sites (not this
site please):

seismo!scubed!sdcsvax!amos.ling.LOCAL!sdeggo!dave (southern CA area)
tektronix!reed!percival!nerd
rutgers!umnd-cs!umn-cs!rosevax!herman!k0jfv!alan (Minneapolis/St. Paul area)
uunet!mcvax!trevan!trevor (UK)
nessus!info-uport
genrad!mrst!sdti!mjy 
ucbvax!sdcsvax!ucrmath!soft21!mplist
thos@cca.ucsf.edu | ucbvax!ucsfcgl!cca.ucsf!thos
wulfeck@nprdc.arpa 
kre@munnari.oz | siesmo!munnari!kre (australia) 
seismo!cmcl2!manhat!samperi
-----------------------------------------------------------------------------
From: umix!rutgers!slxsys.co.uk!jpp (John Pettitt)
To: umix!metavax!b-tech!microp
Subject: DMA bug . . . 


If this has already been noted please disregard (I only have the
last 6 or 7 news letters) .

There is a bug in the dmainit() routine in the 286 kernel (1.x & 2.x)
as follows.   When a device wants to use DMA for the first time it
calls dmainit() to set up the dmac (normally first floppy access).
dmainit() sets up ALL dma channels on both dma controllers and flips
a bool to say it has donw so.  What should happen is that subsequent
call to dmainit() detect that there is nothing to do an return.  The
test always causes the dmac to be reset.  This will cause no problems
if only one dma device is used at a time but it you try and use two
(tape and floppy for example) the system will probably double panic !


 John Pettitt (Tel +44 1 398 9422) jpp%slxsys.uucp@ukc.ac.uk
                  { stc!datlog     } 
  uunet!mcvax!ukc!{ pyrltd         }!slxsys!jpp 
                  { reading!riddle }

P.S. trevan!trevor is relaying the news letter to at least 3
uk sites - save's on transatlantic phone bills !

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

From: umix!rutgers!rochester!ur-valhalla!micropen!dave
Subject: mail list

Please subscribe me to your list.  
[ed: please contact one of the sites listed above].  

Also, as a lark I tried to run my 2.2 UNIX on my new '386 box.  Yes,
the '386 doing '286 emulation works fine.  Maybe next week my SVr3 for
'386 will arrive but for now I have a 2X speed up for my compiles etc.


David F. Carlson, Micropen, Inc.
...!{ames|harvard|rutgers|topaz|...}!rochester!ur-valhalla!micropen!dave

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

Subject: UUCP windows 7 fix
From: umix!rutgers!EDDIE.MIT.EDU!mit-caf!soft21!jantypas (John Antypas)


This little chunk of mail allows one to set WINDOWS = 7. This does actually
double the transfer rate at 1200 baud over PC Pursuit.  I didn't write it,
but I'm grateful for the author's work.

--- John Antypas
=========== Fix follows
Steve Nuchia	    | [...] but the machine would probably be allowed no mercy.
uunet!nuchat!steve  | In other words then, if a machine is expected to be
(713) 334 6720	    | infallible, it cannot be intelligent.  - Alan Turing, 1947


/* run as a.out < uucico */
#include <stdio.h>
main()
{
	long	i=0, p=0;
	int	ch;
static	int	sstr[] = { 0xC6, 0x44, 0x27, 0x03, 0xB0, 0x03 };

    while ( (ch = getchar()) != EOF )
    {
	ch &= 0xff;
	if ( ch == sstr[p] ) p++;
	else if ( ch == sstr[p = 0] ) p++;
	if ( p == 6 ) printf ( "%ld\n", i );
	i++;
    }
}

/* run as a.out << uucico */
char str[] = { 0xC6, 0x44, 0x27, 0x07, 0xB0, 0x07 };
main()
{
    /* the long const is the number reported above */
    lseek ( 1, 28470L - 5, 0 );
    write ( 1, str, 6 );
}

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

PATCHING UUCP TO USE WINDOWS=7 ON MICROPORT V2.2

Microport Unix SYSV's uucico comes set at the factory for WINDOWS = 3, as do
most. Below is a method of changing this for those of you who do not 
have a source license. 

First, a small comment:
	If you are using PC-Persuit or other packet-switched network for
	uucp access, you WANT this patch. Our throughput doubled after
	installing it, from about 550 baud effective transfer rate to a
	little over 1100 -- probably the best you can achieve on a 1200 baud
	line.

Disclaimer & Notes:
	This method worked here -- after a long night of trying to figure
	out where to patch the hard way! The article posted a few days
	previous about this patch on a VAX was incredibly helpful in
	locating the proper point to apply the patch at. Of course, as with
	any modification, your mileage may vary and you should test
	the results thoroughly before trusting valuable data to it.

You will need:

1) MSDOS
2) Norton's Utilities or other similar package that can search and
   patch disk files (this is explained later)
3) Microport Unix.
4) About 15 minutes of your time.

To change to Windows 7:

1) Make another copy of uucico in /usr/lib/uucp in case you mess up.

2) Copy uucico to a dos DISKETTE (DO NOT use 'doscp' to a hard disk
   partition, there is a bug which can DESTROY the Fat table. It works
   fine to floppy media) The command you want to use is: 'doscp -b uucico A:'
   (See documentation supplied for more on doscp and it's devices).

3) Boot MS-DOS.

4) Bring up your file-zapper, and search for the sequence:
	c6 44 27 03 b0 03 -- there is only one occurrance.

5) Change both of the '03's above to '07', and write the sector back to disk.

6) Reboot Microport, and replace your uucico in /usr/lib/uucp with the
patched version using the command 'doscp -b A:uucico /usr/lib/uucico'.

That's it! You now have windows 7.

We've been using this for several days now, and have had zero problems with
it. As mentioned before, our effective baud rate essentially doubled.

Question: Why use DOS at all, and not 'patch'? Well, although patch documents
that it can use a hard address, we've been unable to get it to accept this
form of the command. Since uucico (and everything else) is stripped, you
cannot use a symbolic address.... thus the need for this route.

Enjoy, and happy PC-Persuiting!

-- 

Karl Denninger				UUCP : ...ihnp4!ddsw1!karl
Macro Computer Solutions		Dial : +1 (312) 566-8909 (300-1200)
"Quality solutions at a fair price"	Voice: +1 (312) 566-8910 (24 hrs)

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


Subject: Yacc, Lex
From: b-tech!zeeff (Jon Zeeff)

Personal mail I've received indicates that yacc and lex are small model
programs.  Might be something to look out for if you are doing anything
serious with them.

I've seen problems with yacc and the getdate routine from news 2.11.  The
compiler won't compile what yacc produces.  Has anyone else had this problem?

--Jon

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