Beta port of MGR for Unix-PC avialable by ftp

Bradley Bosch brad at i88.isc.com
Sat Feb 24 08:21:07 AEST 1990


This is to announce the availability of a beta version of MGR for the
Unix-PC (AT&T 7300, 3B1) computers.  The current version of this port
is available by ftp on max.sunysb.edu in ~ftp/pub/unixpc.  Thanks to
Lenny Tropiano for making this directory available to us.  Thanks
also to Lenny, Merlin, Brian, Bill, Gil and others who tested earlyer
versions of this software and reported problems they found.

The ftp directory currently contains:

-r--r--r--   1 nuucp        119 Feb 23 14:02 FTP.README
-r--r--r--   1 nuucp       8843 Feb 23 14:02 README.3B1
-r--r--r--   1 nuucp       1651 Feb 23 14:02 README.mgr
-r--r--r--   1 nuucp    1115405 Feb 23 14:03 mgr+f1.cpio.Z
-r--r--r--   1 nuucp      34475 Feb 23 14:03 mgrfix1.cpio.Z

The mgrfix1.cpio.Z file contains files changed since the version
available in this directory last week.

The mgr+f1.cpio.Z file contains the current complete beta
distribution including fix 1.

If you have linked zcat to uncompress, the following commands should
extract the distribution files:

cd dest_directory; zcat /where_ever/mgr_f1.cpio.Z | cpio -icd

Note that I don't use the "B" option when I create the cpio files.

Get the README files for more info on file names and future updates
I will announce major new releases in the unix-pc.general group.

Remember that Brian's Vidpal hardware mod is required to run the
current version of MGR on the 3B-1 (Thanks Brian!)

This beta version of MGR should only be installed by experienced
Unix-PC (3B-1, 7300) system administrators.  If you don't feel
comfortable with loading new device drivers by hand you should get
help or wait for a cleaner installing distribution.

I think MGR on the 3B1 is working pretty well now.  The main problem
remaining is the installation procedure and makefiles.  I have spent
so much time writing device driver code, fixing bugs, porting code and
generaly optimizing MGR for the 3B1, that I haven't had time to worry
about things like what it takes to install it from scratch.  Perhaps
someone who has installed a recent version can comment on how much
work it is to install now.

I have included a copy of the current README.3B1 file from the
distribution.  Read it for more comments on life with MGR.

I have spent a good deal of time on this and I hope that others will
contribute to this environment as well.  I do not intend to be THE
supporter and provider of this windowing system.  I intend to continue
to improve MGR by acting as a central point of integration for bug
fixes and new applications.  If you like MGR and want to contribute
send me your ideas and I will try to coordinate our efforts.

OK, lets see some new applications!

Please report any problems or bugs you find (with any suggested fixes)
to me.

--Brad Bosch
sun!laidbak!brad
(708) 505-9100 X307	(Voice mail)

2/23/90

----------------------------README.3B1------------------------------
This file contains release notes and installation notes for the
beta distribution of the 3B1 port of MGR.  See the doc/userman.out
file for a description of MGR and it's C language interface.

See the end of this file for info which may help you decide if you
want to run this software.  This BETA distribution is only recommended
for installation by experienced 3B1 system administrators.

Install Procedure: 

Having at least 2 meg of memory will help speed up the compiles.  You
will need about 3 meg of disk space for the source code plus 5 meg more
to compile all of MGR and 2 meg to install the binaries, fonts, icons,
and librarys.  Once compiled, you can archive or remove the source
code, leaving just the 2 megabytes of disk space for the installed
package.  The native C compiler (3.51) is known to work.  Gcc is known
to cause problems with the preprocessor and with the large functions in
mgr.

If you have Doug Gwyn's dirent library, you can compile the demo/msg
directory; Edit demo/Makefile to include msg in the SUBDIR list and
edit demo/msg/Makefile to locate the library.

To install and build mgr and the drivers required, edit and run the
BUILD.3B1 script.  Expect a "Cannot load ./INSTALL" error near the end.
Uninstall the existing pty and nkbd drivers if you have them.  Run the
Install script for the new pty and mouse drivers in the 3b-1 directory
as root (in that order).  Note that after installing the drivers you
should check that pty appears in /etc/lddrv/drivers before kbd.  You
will need the mouse driver which includes the nkbd driver even with
the new fix disk 2 (3.51m kernel), unfortunately.

If you wish to try the demo/msg demos, or if you want the tty[pqr]*
devices to be owned by the user, then make the mgr binary setuid root.

It is recommended that you use mgr without the native windowing system.
If you wish to use mgr without the native windowing system, you will
need to edit your .profile to avoid starting ua, and edit your
/etc/inittab and /etc/rc files to avoid use of the window driver.
Sample inittab and rc files can be found in the 3b1 directory here.
Don't forget to put the mgr bin directory in your path.

If you wish to use mgr with UA and wind.o, you may wish to disable the
working icon and cursor blinking using the programs and Makefile in the
3b1/noblink directory.  A simple alternative to the noblink wind.o
modification would be to disable the cursor for the duration of mgr by
starting mgr with an alias something like "echo '\033[=1C\c'; mgr; echo
'\033[=0C\c'" (Thanks Bill).  You will still want to use the noworking
adb script to disable the working icon.  You can also define UA in the
Makefile in the src/port directory to cause mgr not to use the area of
the screen used by smgr and ph.  Alternatives to the use of ph and the
error logging part of smgr are also found in the 3b1 directory.  These
alternative do not use the first line of the screen, so the entire
screen can be made available to mgr.  If you load wind.o, you will be
able to run ua from an mgr window as if it were a remote terminal (mgr
mouse doesn't work for ua).  Note that while wind.o is loaded, the mgr
lock program is not secure since the suspend key can be used to switch
to any other native windows you might have.

If you wish to have mgr or UA started conditionally when you login, you
can put something like 'if [ "$L0" = mgr ]; then exec mgr; fi' at the
end of your .profile file.  The standard login will place any arguments
which you type after your name when you login in the L0, L1, etc.
environment variables.  Just add " mgr" to your login name and the
above code will be activated.  (Thanks for the hint Merlin.)

You will also want to install the mgr termcap and mgr terminfo entries
in the usual places.  The termcap and terminfo entries are found in
misc/termcap and misc/mgr.ti respectively.  Use your favorite editor
or shell construct to add the termcap entry to /etc/termcap.  Entries
near the top of /etc/termcap start up faster.  Run tic on mgr.ti as root
to install the terminfo entry in the /usr/lib/terminfo directory tree.


Changes to MGR Functionality:

See the sample .mgrc file in the 3b1 directory for examples of how to
lock the screen.  This feature is available from the "quit" menu of mgr
and as the alt-k keyboard sequence (left-cntl)-k.

iconmail, mgrmail, and omgrmail will turn on the user accessible led
when new mail arrives so that you don't have to unlock the screen to
see if you have mail.  Note that since mgr does the bell sound on the
3B1 with an ioctl, processes can't ring the bell while mgr is waiting
on its child (the lock process) to complete.

The 3B1 Screen is just too small.  A REALLY small font (smaller than
font 1) has been added (tiny4x7r.fnt).  This font allows for 4 nearly
non-overlaping 80x24 windows.  Try it, but don't send me any eye care
bills.


Remaining Porting Issues and Bugs:

There are some applications which I have not ported.  Most of the
remaining work is either trivial or doesn't make sense in the 3B1
environment.  Applications which are thought to be WORKING include:
bounce, browse, bury, client, clock, clock2, close, cursor, cut, cycle,
dmgr, do, font, grav, grid, half, hilbert, hp_raster, hpmgr, iconmail,
loadfont, lock, more, mclock, menu, menus, mgrmail, mgrmode, mgrplot,
oclose, omgrmail, rotate, set_emacs, set_termcap, shape, show,
showfont, snap, square, startup, stringart, tjfilter, vi, walk,
window_print, and zoom.  Other applications may be working, but I don't
remember testing them.

I haven't tested the documentation building code and Makefile on the
3B1.  You should receive an ascii text of the application library
document with the beta distribution.  The man pages should work OK
with nroff -man.

The startup screen should be inverted with respect to black and white;
so should the rest of mgr, but most of us are used to light on dark
anyway.

An install disk set should be created and the install scripts for the
drivers may still need some work.

The code which adds and deletes entries to the /etc/utmp file is not
ported yet and is not turned on by the Makefile's "-D" flags (WHO).
This causes the mgr windows not to show up in a who command.  If
anyone can think of a reason why one would want all those ttyp* entrys
in /etc/utmp, let me know and I'll work on it.


Life on the 3B1 with MGR:

I have found that mgr works well with the UNIX-PC.  It is about 2/3
the speed of the native windowing system for scrolling in similar
size windows and fonts.  Since I never liked UA (I mostly used it to
get several shell windows to do development work) I don't miss it
much.  You can run UA from an mgr window to do things
with the install login etc if you are willing to accept the extra
overhead of wind.o.  I like the extra screen space mgr gives me by
avoiding the waste of the top line and the bottom two lines of the
display and the window border features which I never used anyway.
The cut and paste features are very handy.

I expect someone may wish to rewrite the bitblit code to get that
last 1/3 performance improvement.  It would most likely have to be
done in assembler.  The current C version is tuned to the native C
compiler about as well as I can make it and the bitblit function is
too large for the gcc compiler and 2.5 meg address space.

Freeing up the kernel space used by the native window driver has
several advantages.  It allows other large drivers to be written to
fit in the limited kernel address space.  Some people also have
reported problems with interupt latency while scrolling text to a
window with the native windowing.  This problem should go away with
mgr since scrolling is done at the user level.

There are some useful applications included with MGR as demos.  The hp
2621 emulator (hpmgr) can help when logging in to another system.
There is more than enough demo code to make it easy to write simple
applications.  We intend to write a windowing communications program
using the uw or xt (layers) protocol.  Since all of MGR's windowing
and graphics can be accessed with stdio, all of the remote windows
would be full fledge MGR windows capable of running any mgr
application.  I hope other people will write applications which take
advantage of MGR's strengths.

The nature of MGR is that any (8 bit) communications link can be used
like the network facilities are used in X or NeWS.  This makes this
windowing system more portable and easier to use (I think) than X11 or
NeWS while still maintaining network extensibility.  It is also
considerably smaller the most other full featured windowing systems.
In general, I think it manages to follow the unix philosophy more
faithfully than any other windowing system I have seen.



2/7/90		--Brad Bosch

(708) 505-9100 x307     (voice mail)

brad at i88.isc.com        -or-    sun!laidbak!brad



More information about the Comp.sys.att mailing list