[mod.computers.ibm-pc] Info-IBMPC Digest V5 #15

GILLMANN@USC-ISIB.ARPA (Richard Gillmann) (01/28/86)

Info-IBMPC Digest     Tuesday, 28 January 1986     Volume 5 : Issue 15

This Week's Editor: Richard Gillmann

Today's Topics:

                     A look at AIX and the RT PC
                 Expanding Environment Space (2 msgs)
                         PC Speedup (2 msgs)
                         AT Speedup (3 msgs)
                   Renaming Subdirectories (6 msgs)
                Expanded Memory for Compaq286 Deskpro
                          Re: Vfiler problem
                            Re: Multilink
                      Windows vs. DesqView vs...
                    Review of the Mix "C" Compiler
                           Re: BOOTCODE.ASM
                   Query: Turning off key rollover
                     Query: Queuing a Print File
                     Free plotting library wanted
                   Query: "Preview" for TEX output
                           "PROCOMM" Query
                         Disk Optimizer Query
                             WPS+PC Query
                       Some technical problems

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

Date: Sun, 26 Jan 86 05:13:30 est
From: "John R. Levine, P.O.Box 349, Cambridge MA 02238-0349 (617-494-1400)" <ima!johnl%cca-unix.arpa@cca-unix.arpa>
Subject: A look at AIX and the RT PC

First, let me explain how I know about the RT PC.  I used to work for
Interactive Systems until August 1984, and while I was there, I was the
software architect for the port of Unix to the RT PC.  I don't work for
Interactive any longer and can't predict what will happen to the RT PC in
the future, but I did have a lot do with the design of AIX.  The report
below is my own opinion and recollection, and not the formal position of
anyone including myself.  So much for disclaimers.

Hardware

The RT PC uses the IBM ROMP chip, a more or less reduced instruction set
chip that has been in the works for a long time.  It is a fully 32-bit
big-endian byte addressed machine.  It is not particularly RISC-y in that
its register architecture is just like the 360's (16 general purpose
registers) and there are no interlocks that the software has to take into
account like the MIPS chip has.  It does have branch-with-execute and the
only memory reference instructions are load and store and load-multiple
and store-multiple.  Halfword and fullword operands are forcibly aligned
on natural boundaries by ignoring the low bit or two of the address.
This is a major performance win.  Sorry, Vax and 80286 fans.

The address architecture is more interesting.  All virtual addresses are
32 bits.  The high order 4 bits of an address are a "segment register
number" and the low order 28 bits are the offset into the segment.  The
4-bit segment register number is immediately looked up and translated into
a 12-bit segment number (the current hardware only supports 12-bit segment
numbers, but there's room in the architecture for 15.)  The 12-bit segment
number plus 28-bit offset together determine a virtual address which is
translated by the segmentation hardware.  The page tables are inverse
mapped in the manner of the System/38 or an Apollo -- there is a page
frame for every page of real memory and the logical page and segment
tables exist only in software.  The page size is 2K and a segment can grow
either up or down.  Segment registers 14 and 15 are reserved by the
hardware for I/O stuff, but the other 14 registers are available to
software.  This scheme allows fast context switches because the real page
tables and TLB keep track of the 12-bit segment numbers; only the 16
segment registers need be changed for a context switch and no TLB flush is
needed.  Up to 4K segments can be simultaneously defined, which is enough
for all of the processes under a typical AIX.

Floating point support is provided by a coprocessor board with the
National Semi floating point chip.  If the coprocessor is not present,
floating point is simulated in software.  If you're writing in assembler
it's up to you to address the coprocessor board (special addresses in
segment 15) and to call simulation routines if it's not present; higher
level languages such as C handle it for you automatically.  Note that
unlike the 8087, the National chip supports only the most basic floating
point functions and NANs and gradual underflow are done in software in any
event.  The National chip does do what it does very fast, so that floating
arithmetic that doesn't generate a lot of exceptions should run fast.

Software architecture

The RT PC has a three-level software architecture somewhat like that of
VM/370.  At the lowest level is the Virtual Resource Manager, the VRM,
which provides a virtual machine with segmented virtual memory to the next
level.  The second level is the Unix kernel, and the third level is Unix
user processes.  The virtual machine provided by the VRM is somewhat
specialized to support the Unix kernel.  For example, it can create a
logical copy of a segment where the new and old segment share common pages
but whenever one or the other changes a page, it gets its own copy of that
page.  This primitive is very handy for efficient implementation of the
Unix fork() primitive.  The VRM also handles low-level disk I/O and error
recovery, and also provides most of the support for the screen windowing
(unless they changed it since I left, which they might have.)

The AIX system is a port of AT&T System V with a lot of upwards compatible 
extensions.  Where it made sense, we borrowed stuff from 4.2, for example 
the improved signal handling calls.  Where there were de-facto standards 
that made sense we followed them, such as the /usr/group file locking 
primitives.  Other stuff we had to invent ourselves, most notably 
primitives which map files into segments, useful for code sharing and for 
data base stuff.  The C compiler is a straightforward port of PCC, much of 
which I did.  It produces code that is about as good as any other PCC 
compiler's, although it must be admitted that PCC does not take very good 
advantage of large numbers of registers.  None the less, I believe you'll 
find that if you compare C programs on a Vax 780 under 4.2 or SystemV and 
on a RT PC under AIX, you'll find the RT PC to be somewhat faster.  Friends
have run dhrystones but I'll let them report their own results.

Adding your own hardware devices

Go right ahead.  It can be a little more complicated than on other Unix
systems since you need both a VRM driver and a Unix driver unless it's
something like a disk where your VRM driver can present an interface that
the Unix kernel already understands.  Facilities are provided to add new
drivers to both the VRM and Unix in binary-only systems.

The external I/O bus is a PC/AT bus and most of the peripherals, other
than the new screens, are PC AT peripherals.  I don't know how IBM feels
about attaching stuff to the internal 32-bit bus, but unless your device
is extremely fast, I don't know why you'd need to.

Interactive Systems DOS

There are two entirely separate DOS environments on the RT PC.  One is the
PC AT coprocessor board which not surprisingly acts very much like a PC
AT.  The other is a DOS compatibility package which runs under AIX.  It
consists of a library of routines which faithfully simulate the various
documented DOS calls along with reimplementations of most of the commonly
used DOS commands and the DOS command processor.  This means that if you
have a DOS program written in something other than 8088 assembler, in
principal you recompile it under IS-DOS and it should work.  Of course in
practice the fact the the ROMP has 32-bit big-endian linear addressing
rather than 16+16=20 little-endian segmented addressing will cause
trouble, as will the fact that practically every useful DOS program
diddles the interrupts and directly addresses the screen and other
hardware.  Even so, I gather that the IS-DOS environment feels comfortable
and familar to DOS users and that porting from PC-DOS to IS-DOS is notably
easier than going all the way to native AIX and besides, most of your
familiar batch scripts and function keys still work.  Unix programs can
call DOS programs and vice-versa, since it's still Unix underneath, so
that mixed environments are workable.  IS-DOS can read and write PC-DOS
floppies directly and if you open A:FOO.BAR from your IS-DOS program, by
golly it'll read your PC-DOS floppy, unless of course you logically
redirected A: somewhere else.

Networking

Beats me.  AIX supports what you get with System V, i.e.  uucp.  We 
physically plugged in 3Com Ethernet cards and got them to work under AIX in 
a primitive way that was adequate for transferring files from our Vax and a 
lot faster than floppies.  IBM is not dumb and I expect they'll have some 
sort of network out eventually, but I do not know what kind or what 
functions it will support.  As noted elsewhere, the ACIS port of 4.2BSD 
(which was an almost entirely separate effort from AIX) gives you the 
TCP/IP support that 4.2 provides.  

John Levine, Javelin Software, Cambridge MA 617-494-1400
{ decvax | harvard | think | ihnp4 | cbosgd }!ima!johnl, Levine@YALE.ARPA

The opinions above are solely those of a 12 year old hacker who has broken
into my account, and not those of my employer or any other organization.

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

Date: 23 Jan 1986 19:19-EST 
From: Tom.Wood@FAS.RI.CMU.EDU
Subject: Two AT Problems: environment space & ctrl-break

We've run into two significant problems--any suggestions would be
appreciated:

According to the DOS documentation, once a device driver is loaded,
environment space can no longer be expanded.  Unfortunately, because
of our application (a PGB driven from VDI), we need both to load
drivers from CONFIG.SYS and to expand our environment space.  I have
tried the undocumented switch "/E:n" as described in the last issue of
INFO-IBMPC--it causes our system to hang up.  Is there any reasonable
solution to this problem?

AND, we have an AT that will completely lock up 4 out 5 times that
CTRL-BREAK is invoked.  Power cycling is the only way to recover.  The
machine passes all the diagnostics.  We are perplexed and annoyed(!).
Could this be a hardware problem anyway?

Oh--we are running DOS 3.1.  Thanks for any ideas.

Tom Wood
taw@fas.ri.cmu.edu

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

Date: Thu, 23 Jan 86 13:25:17 est
From: malpass@ll-sst (Don Malpass)
To: INFO-HZ100@RADC-TOPS20, info-ibmpc@usc-isib
Subject: environment space - some replies

Here are some responses dealing with the environment space problem.
My original thought was to wait till I had tried Don Nash's
suggested patch, but decided insetad to forward the whole
pile in case any of you got some hack-time before I did.
It appears to be a general enough problem that copies
of future msgs should probably be sent to info-hz100 and/or info-ibmpc
until we lick the problem.
	DON	[MALPASS@LL-SST]

FORWARDED [EDITED] MESSAGES:

FROM: Tim Gonsalves <Fat.Tag@SU-SIERRA.ARPA>

Re: environment space - I've seen messages in info-ibmpc on the subject and
suspect that [isi-b]<info-ibmpc> contains a program to increase it.  This
should work directly or with modifications in a -100.  

Re: "Bad command.com ..." message - I've had the same problem.  Unresolved
so far.  Please let me know I you find any answers.

Re: Finding environment reduced to PATH and COMSPEC - you could be stuck in
a higher level command.com.  Try typing 1 or more "exit" to get back to the
lowest level.  This has happened to me.

					Tim 

FROM: dlnash@ngp.UTEXAS.EDU (Donald L. Nash)

Here is a patch to COMMAND.COM to increase environment space to 128
paragraphs of 16 bytes each:

debug a:\command.com
-u cs:ece                 ;should be XXXX:0ECE BB0A00    MOV BX,000A
                          ;          XXXX:0ED1 B448      MOV AH,48
                          ;          XXXX:0ED3 CD21      INT 21
-aece                     ;address to asemble new code into
XXXX:0ECE mov bx,0080     ;system prompts you with XXXX:0ECE,
                          ; you enter "mov bx,0080" followed by <cr>.
XXXX:0ed1                 ;system prompts you with XXXX:0ED1,
                          ; just type a <cr>.
-u cs:ece                 ;should be XXXX:0ECE BB8000    MOV BX,0080
                          ;          XXXX:0ED1 B448      MOV AH,48
                          ;          XXXX:0ED3 CD21      INT 21
-w                        ;write change
YYYY                      ;message telling how many bytes were written
-q                        ;quit

I got this patch from:

	Max S. Robin
	AT&T Bell Laboratories
	Rm. 3E-318A
	Whippany, NJ 07981
	201-386-6865

	email:whuxg!2212msr

so ask him for more info.  If you unassemble at that location and don't
get what is above, don't try anything, the address for the patch for
your version of COMMAND.COM is different.  I've done this myself for an
IBM PC with PC-DOS 2.0 and it works fine.

FROM: F._Andy_Seidl%UMich-MTS.Mailnet@MIT-MULTICS.ARPA

MS defines the environment as occupying "up to 32K bytes" and that it
can move around (meaning that if you get its address via a system call,
you cant be guaranteed that it will be in the same place if it is
modified or if you start a new process.)

This shortage of env space has been a real headache for me as I have
several products which use the environment and it is usually not possible
to have everything SET that I would like.

I have tried tracking down the problem for several months but have not
found satisfactory solutions anywhere, including Microsoft, IBM and
Zenith tech support, user groups, every competent MS-DOS hacker I know
(which is not a small number) and several conferences.  I was hoping
MS-DOS 3.10 would solve the problem but no such luck.

END FORWARDED MSGS

More to follow, I hope.
	don	[malpass@LL-sst]

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

Date: Sat, 25-Jan-86 18:44:29 EDT
From: Manny Farber <manny%pcpond.pc.udel.edu@Louie.UDEL.EDU>
Subject: Boosting PC (not AT) clock rate

I just replaced my PC's 8088 with a NEC V-20, (the Norton Utilities
and the V20TIMER program both say that the performance is equivalent
to that of a hypothetical 11.92 MHz 8088.  When running programs with
normal memory access, it seems to be much closer to 8 MHz, perhaps
less; it's a welcome boost nonetheless) and would like to try to boost
the clock rate, using the higher-speed V-20.  I would appreciate any
pointers from anyone who has tried boosting his clock rate.

Thanks in advance

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

Date: Mon, 27 Jan 86 22:20:59 pst
From: Paul Stephen <stephen%uofm-uts.cdn%ubc.csnet@CSNET-RELAY.ARPA>
To: Info-IBMPC Digest <Info-IBMPC@usc-isib.ARPA>
Subject: Query: Overthruster PC Speedup

Anyone out there know anything about the "Overthruster"?  It's
supposed to be a system in which you replace the 8088 with the 8088-2
processor and you remove the clock chip and put in a circuit board
which gives you 2 switches -- one for a machine reset and the other to
switch between regular and higher clock speed.  Firm is located in
Culver City CA.  Firm's name is Nucleus.

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

From: connery%bnrmtv.UUCP@BRL.ARPA
Subject: Avoiding diskette timeouts on 18MHz ATs
Date: Thu, 23-Jan-86 09:16:18 PST

A patch for avoiding the floppy diskette timeout problems on ATs
running xtals >15MHz...

;
; Change Diskette Parameter Table's motor startup delay
; by Glenn Connery, BNR, January 1986.
;
; The Diskette Parameter Table is pointed to by interrupt vector 1E at
; address 78H.  The table consists of 11 bytes (0..A) the last of which
; is the motor start up time, in 1/8ths of a second (normal clock).  By
; modifying this value you can correct for the faster crystal installed
; in your PC-AT.
;
; The normal value is 8 (is 1 second).  Running a 9MHz machine instead of
; a 6MHz machine means that 0C (or 1.5 seconds normal time) should be used.
;
; No warranty is made of the suitability of this program for any purpose
; nor any guarantee that it will function as specified.  Use it at your
; own risk.
;
code          segment   public
	      assume    cs:code,ds:nothing
	      org       100h
;
:
start:        mov       ax,0
	      mov       ds,ax
;
	      mov       bx,ds:[78h]     ;offset
	      mov       es,ds:[7Ah]     ;segment
;
; and finally, stuff the new delay period into the appropriate place in the
; table... this is the byte to change for different crystal speeds
;
	      mov       byte ptr es:[bx+0Ah],0CH
;
exit:         mov       al,0
	      mov       ah,4ch
	      int       21h
;
code          ends
	      end       start

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

From: Stephen Sisler
Subject: How to make a faster AT
Date: Wed, 22-Jan-86 13:58:30 PST

Courtesy of Stephen Sisler, here is some interesting information about
products that will speed up the PC AT. This is from messages in the
IBM PC AT forum (PCS-131, subtopic 4) of CompuServe.  Stephen's
account there is 72366,3724.

 80286s: 10mhz are going for $250-$300. 12mhz for $350-$400 retail. 14mhz
 are supposedly available for $$$$. Some ATs will run at 16mhz. Reportedly
 these are the new C6 or E2 versions that fix the protected mode bug
 that plagued DRI.

 80287s: Even when you're running your 80286 at 9 or 10mhz, your 80287 is
 still running slow, because while the 80286 is driven at 1/2 the xtal
 speed, the 80287 runs @ something like 1/3 (?), so boards are available
 that plug into the 80287 socket and drive the 80287 at 8mhz (twice the
 normal speed) using 8mhz 80287s.

 100ns RAMs: 128k @ circa $7 each;  256k @ $5.15 each

 Software: A patch is available for $24.95 that inserts a floppy drive
 timing delay to stop those Drive Not Ready episodes when operating at
 > 9mhz. A patch to defeat that rotten timing loop in the new 30MB AT ROM
 is also available (isn't life wonderful).

 Speed Switches: Several companies are selling switches that let you switch
 between 2 to 5 different speeds. (I made my own for < $10). The 2 most
 interesting are sold by AMS: The AT-1 lets you switch manually between 3
 different speeds for $74.95. The AT-2 @ $124.95, lets you switch between 3
 different speeds using the *KEYBOARD*. One or both also contain hardware
 and/or software to defeat the timing loop in the new AT ROM. Both come with
 a reboot button and *OCCUPY AN EXPANSION SLOT*. (NOTE: Paged memory boards
 won't yet run at faster speeds). I'm saving my shekels for the 80386
 upgrades/add-ons coming out this year.

Stephen offered the following sources for the above mentioned
products. These are not necessarily the only sources, but Stephen
cites them as ones that solicit retail business.

 Fast crystals, 80286s, software patches, 80386 product in near future:
 ARIEL, (201-788-2788).

 100ns RAMs, 80286s, 80386 Motherboard, RAM boards, software patches.
 Will modify your AT motherboard if needed to make it run faster.
 BGI, (215-538-3900).

 Fast crystals, AT-1 & AT-2 Speed Switches, software patches.
 AMS: (818-810-8443).

 Speed Switches, Crystals, 8mhz 80287 board, software patches.
 Megahertz Corp: (801-355-8857)   .

 8mhz 80287 board, 8mhz 80287s, Established reliable company. MicroWay:
 (617-746-7341).

 100ns 256K RAMs. Microprocessors Unlimited: (918-267-4961).

 Very cheap crystals with thin wire leads for making your own speed
 switch, etc. B.G. Micro: (214-271-5546).

Some companies advertising high-speed crystals are charging $8 to $16.
Fry's Electronics in Sunnyvale is selling them for $1.99.

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

Date:     Tue, 28 Jan 86 08:46:52 PST
From:     walton%Deimos@Hamlet.Caltech.Edu
Subject:  Re: IBM Boobytrap for AT Speedup
To:       Qualcomm@USC-ISID.ARPA, info-ibmpc%Deimos@Hamlet.Caltech.Edu

Franklin, you are correct in your assumption, as PC Magazine confirms.	With
the new AT's with the IBM-produced 30 Mb hard disk, IBM has indeed
added a timing loop to the BIOS which prevents system bootup if a
faster crystal has been installed.  Talk about planned obsolescence!
Buy someone else's AT clone--this combined with the wait states should
dissuade anyone from buying an IBM AT.  As far as I know, the only way
around this is to replace the ROM BIOS in your new IBM AT with a copy
of the one in someone's older machine, which is NOT RECOMMENDED.

Steve Walton
Caltech Solar Astronomy
walton%deimos@hamlet.caltech.edu
swalton@caltech.bitnet

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

Date: 26 Jan 1986 00:01-EST
Subject: Re: Renaming Subdirectories
From: ABN.ISCAMS@USC-ISID.ARPA

This is in response to Elias Saab's query about how to rename a
subdirectory without deleting all the files, etc.  I have a public
domain program named "DIRENAME.COM" that came without source code or
documentation, and I don't even recall where I snarfed it from!  But
it does work quite well.  It prompts for old directory name, renames
it to new, with no problems whatsoever.  Never had any problems on my
system (PC clone, PC-DOS 3.1, 10 Megger).

Dunno how I can respond directly to Elias (some weird BitNet address I
never have much luck reaching), but will dig around the nets and try
to find where I found it.

Regards,
David Kirschbaum
Toad Hall
ABN.ISCAMS@USC-ISID.ARPA

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

Date: Sun, 26 Jan 1986  06:01 EST
From: LENOIL@XX.LCS.MIT.EDU
Subject: Re: Renaming Subdirectories

The restriction that you can't rename a directory is artificial, i.e.
command.com prohibits you from doing it, not the DOS.  Therefore,
write a small program to call DOS function 56h.  Or, do it using
DEBUG, like this:

CD to the parent of the directory you wish to rename.  Let's assume
you wish to rename C:\FOO to C:\BAR.  Do the following:

C>CD \
C>DEBUG
-A
xxxx:0100 INT 21
xxxx:0102 [press RETURN]
-E 200 "FOO",0
-E 300 "BAR",0
-R AX
ax xxxx
:5600
-R DX
dx xxxx
:200
-R DI
di xxxx
:300
-T 1
-Q

If you follow this procedure, substituting the appropriate filenames,
your directory should be renamed.

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

Date:     Mon, 27 Jan 86 15:56:04 EST
From:     Kenneth E. Van_Camp (LCWSL)  <kvancamp@ARDC>
Subject:  Re:  Renaming Subdirectories

The batch file below uses the public domain MV.EXE program (on the USC-ISIB
archives) to move an entire directory. Create the following file and call it
MVDIR.BAT

--------------------------- Cut Here --------------------------------------
ECHO OFF
CD > \TMP\PWD.MKB
CD\
TYPE \TMP\CD.MKB   > CMMDS.BAT
TYPE \TMP\PWD.MKB >> CMMDS.BAT
MKDIR %1
COMMAND /C CMMDS
MV *.* %1
CD\
TYPE \TMP\RMDIR.MKB > CMMDS.BAT
TYPE \TMP\PWD.MKB  >> CMMDS.BAT
COMMAND /C CMMDS
DEL \CMMDS.BAT
CD %1
--------------------------- Cut Here --------------------------------------

The syntax of the command is:
	MVDIR \dest
where the full path name of the destination directory must be specified 
(including the initial \).  It is assumed that the current directory is the 
one you want moved.  Not quite as flexible as the Unix mv command, but it's 
the best I could do.  
	Note that there are two supporting files, as well: \TMP\CD.MKB and
\TMP\RMDIR.MKB. These can be easily created as follows:

COPY CON CD.MKB
CD ^Z

and

COPY CON RMDIR.MKB
RMDIR ^Z

Notice that only a space separates the command from the ^Z (Control-Z).
After the ^Z, of course, you should type a carriage return.
\tmp\cd.mkb:
cd 

\tmp\rmdir.mkb:
rmdir

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

Date: 27 Jan 1986 17:35:29 PST
Subject: Re: Renaming directories
From: Richard Gillmann <GILLMANN@USC-ISIB.ARPA>
To: info-IBMPC@USC-ISIB.ARPA

The program RENAME.PAS, in the Info-IBMPC library, can rename
both directories and files.

Dick Gillmann

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

Date: Tue, 28 Jan 86 06:10:34 MST
From: halff@utah-cs.arpa (Henry M. Halff)
To: info-IBMPC@usc-isib.arpa
Subject: Renaming Subdirectories

Elias Saab asks:
Does any one know how to rename a subdirectory without erasing it and
creating it with a different name.

There is a utility called DIRENAME in CompuServe's IBM-PC SIG's library
that will do this job.  I believe that it can be found in DL1.

hh

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

Date: Tue 28 Jan 86 09:00:28-CST
From: Pete Galvin <CC.GALVIN@R20.UTEXAS.EDU>
Subject: Re: Renaming Subdirectories
To: MATHES%UMCVMB.BITNET@WISCVM.WISC.EDU
cc: info-IBMPC@USC-ISIB.ARPA

I believe DOS call 51 (hex) will allow you to rename a directory without
deleting it and rebuilding it.  See the DOS technical manuals.

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

Date: 26 Jan 1986 12:44-EST
From: SCHNUR@USC-ISI.ARPA
Subject: Expanded Memory for Compaq286 Deskpro

I have a Compaq286 with 1.6 megabytes obtained by replacing the memory
with 256k chips.  Does any one know how do make this accept the
various expanded protocols now being written eg. for lotus
123.version2, etc.

Can I add a board such as the ast advantage the system as it now
exists?  Will that work for the Lotus system?  All I can do now with
the memory is use it for a very nice and large RAM disk.

Joel Schnur (Schnur@ISI)

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

Date: Mon 27 Jan 86 11:58:39-PST
From: Ted Shapin <BEC.SHAPIN@USC-ECL.ARPA>
Subject: Re: Vfiler problem

I have experienced the same problems with vfiler 2.28.  It has no
protection against copying a file to the same directory which results in
files being truncated to the first block (4K or whatever). I don't use
SIDEKICK.

Maybe someone with a Compuserve? account could try and contact the
author Mike Nice [73565,565] and see if he is willing to fix it or to
make the source code available.  I use it, although I have been burned
by it and some of our other users have banned it entirely.

Ted.

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

Date: 27 Jan 86 10:57 GMT
From: meaders @ KOREA-EMH
Subject: Re: Multilink
To: bakin @ mit-multics.arpa
CC: info-ibmpc @ usc-isib.arpa

Ref your question on MultiLink:

ML allows (or turns) a PC, XT or compatible to perform apparent
multitasking and multiuser functions.  It turns your system into a
PC-DOS/MS-DOS time sharing system.  I have been using ML in its
bulletin board mode and simulataneously using WordStar.  I have also
used several other programs successfully; HOWEVER, programs that do
fun things to the video data do not work without serious modification.

The company is The Software Link, Inc.  Sorry I don't seem to have the
address or phone number.

Mark Meaders

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

Date:     Tue, 28 Jan 86 08:45:56 PST
From:     walton%Deimos@Hamlet.Caltech.Edu
Subject:  Windows vs. DesqView vs...
To:       info-ibmpc%Deimos@Hamlet.Caltech.Edu

I am the author of a favorable mini-review of Windows in INFO-IBMPC a
few weeks back.  Two (at least) unfavorable ones have appeared since.
I have a bit more to contribute.

The worst flaw in MS-Windows, and it is very serious, is that it uses
the start of a DOS function call as its trigger to pause one task and
take up another one.  This means that a CPU-intensive task, which
includes such things as a compile-link sequence, takes over the
machine. All of the other multitasking programs for DOS use some form
of time-slicing, which gives each program a piece of the CPU for a
fixed fraction of the time available.

As for the windows-vs.-tiles arguments: The response from Microsoft
that MS-Windows doesn't preclude overlapped windows is true, but
misleading, since it is the MS-DOS Executive, the top-level Windows
program provided by Microsoft, which does the tiling and automatic
resizing of windows which George Eldridge complained about.  Microsoft
would have to modify this program in order to allow overlapped
windows--you can't do it yourself even if you write your own Windows
Applications.

Finally, though, I still think Windows is a very nice package, though
as I stated originally, it is probably best thought of as a graphics
interface rather than a multitasker at present.	Anyone who wants a
fair and detailed overview of 8 (!) multitaskers for the PC is
referred to the review in the December '85 issue of PC Tech Journal.

Steve Walton
Caltech Solar Astronomy
walton%deimos@hamlet.caltech.edu
swalton@caltech.bitnet

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

Date: Tue 28 Jan 86 09:10:11-PST
From: Jackie <Burhans%ECLD@USC-ECL.ARPA>
Subject: Review of the Mix "C" Compiler
To: info-ibmpc@USC-ISIB.ARPA
cc: howald%ECLD@USC-ECL.ARPA

My friend, Vince Alfieri, who is not on the net, recently purchased
the MIX C compiler.  Here's his report:

I decided to take the plunge and buy the MIX C compiler, because I
wanted to learn C without spending too much money, and it looked like
a good deal at $39.95.  After mailing in my order, I received the
software promptly.  I am an experienced dBASE programmer with a
smattering of Pascal, but this was my first exposure to C.  So keep in
mind that my comments are those of an "educated beginner."

In general, I am VERY happy with the program.  It seems to be a fairly
"standard" version of the K & R language, is easy to use, compiles
programs quickly, and works for the most part without problems.  There
are also a host of "non-standard" functions, including ones for the
MS-DOS and CP/M environments.

The manual, although not type set, is quite well done.  It is divided
into sections: a "getting started" section, a tutorial, a reference
section, a discussion of standard and non-standard functions, and a
"tools" section, which includes how to use the compiler and other
special files.  The tutorial was good, but not great; their ad claims
it to be the "best tutorial."  However, it certainly covers the
essentials of the language for the novice, and gives full program
examples for all important concepts.  Thankfully, most of the programs
in the tutorial run without a hitch.  One complaint: each section has
its own index, which makes finding information rather difficult.

The compiler does a relatively fast, one-pass run, showing you your
program code on the screen, together with line numbers, as it goes
along.  It is definitely not as fast as Turbo Pascal by any means, but
not terribly slow either.  The code for #include files are also shown
on the screen at the point of inclusion.  MIX uses the "stdio" file,
but no "math.h" file (the math functions are built in).

Errors are flagged with an "^" and error code number directly beneath
the offending spot, and a list of error codes and their meanings
follows the compilation.  After a while, you get to know what the
error codes mean, so you can stop the compilation (I use a batch file
from which I can Ctrl-Break at any time) and make your corrections.

The compiler does not produce standard DOS .OBJ files.  Rather, it
creates .MIX files that are then used by the MIX linker.  If you want
to include DOS .OBJ files in your programs, there's a utility to
convert them first to the .MIX format.

The linker shows you the various function calls on the screen as it
works, all of which is gibberish to me, but you can side-step this by
redirecting the screen display to the DOS NUL device.  When
successful, the linker creates a DOS .COM file, not an .EXE file.
When not successful, the linker shows you its own commands, which
allow you to move around in the file, find references, etc.  (I
haven't investigated these linker features yet.)

I have used program examples from several introductory textbooks, most
of which compile and run correctly.  However, at my novice stage I
haven't delved too deeply into C or written any extensive programs, so
I don't know how this software would handle a large project or larger
than 64K programs (there is an overlay feature in the linker).

One thing that the compiler doesn't seem to understand is the macro
substitution of functions during the compilation stage.  I haven't
inquired from MIX whether this is available and I'm just doing it
wrong, or whether the compiler doesn't support this feature.  No
mention of macros occurs in the manual.

I also purchased the MIX editor as part of the package deal (for $15
more than the compiler itself).  The editor is also excellent and
complements the compiler quite nicely.  Like the Turbo Pascal editor,
the MIX editor uses many of the standard WordStar control-key
sequences, so I felt right at home.  But the editor also allows you to
configure commands in any way you'd like by changing key assignments
and creating macros.  These are kept in a setup file.

If you don't like to remember control-key commands, you can hit the
<Esc> key or ^J and type the command abbreviation (such as "ED" for
"EDIT") on the command line.  The editor also lets you split a screen
horizontally or vertically and to show line numbers if you wish.

Although not a total "programming environment" like Turbo Pascal, the
MIX compiler/editor comes close.  You can use the RUN command from
within the editor to compile, link and run programs, thus effectively
never having to leave the editor.  If you set up the process in a
batch file, use the DOS command to run the batch file from the editor.
This is ALMOST as good as Turbo!

The package comes with several "readme" files that supply updated
information, including ways to patch the compiler, linker and editor
for various changes.  One patch that I would have liked is to disable
the automatic request for backup files (the editor always asks if you
want to save a backup file when you exit, which is rather annoying, so
I have a Superkey macro to get around this).

In sum, from the novice's standpoint, I think that the MIX C compiler
and editor are an excellent and inexpensive package that are a good
start on the path to learning and using C.  Even if I eventually need
a more expensive compiler, I still won't feel that the money spent on
MIX was wasted.

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

To: INFO-IBMPC@usc-isib.ARPA
Subject: Re: BOOTCODE.ASM
Date: Tue, 28 Jan 86 14:38:52 -0500
From: Dan Grim <grim@huey.udel.EDU>

I have discovered through my own sad experience that BOOTCODE.ASM is
not able to deal with newer DOS partitions that use the 16-bit FAT
format.  BOOTCODE.ASM understands DOS with 12-bit FAT's (ID byte = 1)
and Xenix (ID byte = 2).  DOS with 16-bit FAT's has an ID byte = 4
which BOOTCODE doesn't recognize.  The fix is trivial: simply change
the line following the label 'lddos' from

	mov	al,1			;id for dos

to

	mov	al,4			;id for dos with 16-bit FAT's

Of course, once you do that BOOTCODE won't handle 12-bit FAT DOS any
longer.

					Dan

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

Subject: Query: Turning off key rollover
Date: 25 Jan 86 13:57:02 PST (Sat)
From: Randy Day <randy@uw-bluechip.arpa>

Does anyone have a driver that turns off the PC's keyboard's
auto-repeat function?

Randy Day.
UUCP: {decvax|ihnp4}!uw-beaver!uw-june!randy
ARPA: randy@washington
CSNET: randy%washington@csnet-relay

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

Date: Sunday, 26 Jan 1986 09:29:43-PST
From: tinius%ekbv00.DEC@decwrl.DEC.COM  (Stephen Tinius - Kaufbeuren Manufacturing - KBO)
Subject: Query: Queuing a Print File

I am trying to submit a file to the (PCDOS 3.0/3.1) print queue using
int 2F. From the Disk Operating System Version 3.0 Technical Reference
(6322677) page 5-18:

"On entry AL=1, and DS:DX points to the submit packet. A submit packet
contains the level (BYTE) and a pointer to the ASCIIZ string (DWORD).
The ASCIIZ string must contain the drive, path, and filename of the
file you want to print."

Can anyone tell me what a "submit packet" is, and what "level" means?

Stephen Tinius
Kaufbeuren, Germany

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

Date:     Mon, 27 Jan 86 12:24:52 EST
From:     Steven Segletes <steven@BRL-TBD.ARPA>
Subject:  Free plotting library wanted

Not being an assembly language programmer (but still wanting to have
all the benefits associated therewith), I was wondering if the
Info-IBMPC library program PLOT.ASM follows Microsoft calling
conventions, for instance, so that I might call it from a high level
language.  If not, are there any freebie routines out there that do
such a task (draw a line on the screen) and are callable from a high
level routine?  Unfortunately, I don't have access to a C compiler
(yet??).

Steve Segletes
<steven@brl.arpa>

U.S. Army Ballistic Research Laboratory
Aberdeen Proving Ground, MD 21005-5066

[Sorry, but PLOT.ASM uses assembly language linkages only.  -ed.]

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

Date:        19 Jan 86 21:45 CDT
From:        Sean_Donelan_%VANDERBILT.MAILNET@MIT-MULTICS.ARPA
Subject:     Query: "Preview" for TEX output

Has anyone had experience with the Preview program from Personal TEX,
Inc?  This program supposedly allows one to see what the document will
look like without having to send it to a printer.  It uses a Hercules
(or EGA) graphics card, and displays the document on the screen.

Is this the answer to our wish to avoid sending rough drafts to our
central facilities laser printer just to check spacing and page
breaks.  Are there any known problems.  Will summarize any responses I
receive.

Sean Donelan
Vanderbilt University

Sean_Donelan%Vanderbilt.MAILNET@MIT-MULTICS.ARPA

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

Date: 28 JAN 86 13:20-N
From:  INNO%HWALHW5.BITNET@WISCVM.WISC.EDU
To:  INFO-IBMPC-REQUEST@USC-ISIB.ARPA
Subject: "PROCOMM" Query

Could someone help me find a software package called PROCOMM?  It's an
emulator, doing up to 6 different emulations.  Also VT100, and we need
that very much.  Most important is the fact that it is free.  Only, I
don't know how to get it.  Hope someone can help.

I first got the information on the existance in DEC USER of January
86, page 44/45.  The article was written by Dr Alan Solomon

IBM Communications Offer
S & S Enterprises
31, Holloway Lane
Amersham,Bucks,HP66DJ

In the article it is said that you can get it via the user groups,
maybe someone has connections with them.  Phone: (04867) 88710 or
01-6301199.

I think this product also shouldn't miss in the Info-IBMPC library.

Inno Frencken
Computing Centre
Agricultural University
Hollandseweg 1
6706 KN  Wageningen
The Netherlands
phone: 08370-83875
EARN-id: INNO
EARN-node: HWALHW5

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

Date: 28 Jan 1986 05:19-PST
Subject: Disk Optimizer Query
From: BSCHAAR@USC-ISIF.ARPA
To: info-ibmpc@USC-ISIB.ARPA

I have seen some recent articles on software that improves disk
performance.  Does anyone have any comments on the following:

1. Disk Optimizer from Soft Logic Solutions $49.95

2. Flash from Software Masters $49.95

3. Lightning from Personal Computer Support Group $49.95

Most of the advertisements are quoting a 2-4-8 times improvement.
Any ideas on how these products work would be appreciated.

Brian Schaar
ARPA: bschaar@usc-isif

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

Date: Tue 28 Jan 86 08:09:27-PST
From: CRESWELL@SRI-AI.ARPA
Subject: WPS+PC Query
To: INFO-IBMPC@USC-ISIB.ARPA

Anyone have experience with WPS+PC software by DEC?  Claim is that it
fully emulates the Decmate 2 word processor on IBM-PCs. We now have
the Decmate and are considering transferring to PCs.

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

Date: Tue, 28 Jan 1986 18:04 O
From: Ram Kolins  <NYRAM%WEIZMANN.BITNET@WISCVM.WISC.EDU>
Subject: Some technical problems
To:  <info-ibmpc@usc-isib.arpa>

Me and two of my friends are currently working on a few projects with
the pc. We are having a few technical problems and would appreciate
some help.

The first problem involves memory resident programs: We are writing a
memory resident programs using Turbo pascal; any time the memory
resident program open or reads a file it halts the computer when it
tries to return to the background task. I think that the problem is
because of the fact that the bios routines are not reentrant but if so
then how does Sidekick manage to open files ?

The second problem is a technical problem: I'm developing a special
kind of keyboard that should replace the pc keyboard.  The Technical
manual mention that the keyboard interface is a bidirectional serial
port but he does not mention what kind of information does the
computer sends to the keyboard serially?

Another problem is with the Ciracia Circuit Cellar voice recognition
project using the SP-1000. Is there anyone up there how have built the
project and ready to give us some help with the software? Is there
any replacement to the ADC-0831 that works properly?

The last problem is with the Tandy 1000 : What is the exact reason
that some hardisks does not work with computer?  I also know that
Tandy is about to produce a new version of the computer : 1000A and
that the difference is in the motherboard, Is there anyone on the net
who knows more details?

If anyone can assist me with these problems I would highly appreciate it.
Please answer by mail.

Thanks
RAM KOLINS

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

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