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

Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL (02/22/89)

Info-IBMPC Digest           Tue, 21 Feb 89       Volume 89 : Issue  27

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

Today's Topics:
                         80387 in windows 386
                      A Question about CGA, EGA
                          Enhanced keyboards
                         Re: Questions on BBS'
                Turbo Pascal 3.0 -> 4.0 absolute cseg
               Harddisk on Olivetti M24 / AT&T PC 6300
                        HyperText Availability
                    Internal format of .FWx files
       Memory parity interupt error on a Zenith AT (IBM clone)
                       millisecond timer for PC
                  Multi-tasking Software for IBM-XT
          Multitasking and modems under DesqView and Windows
                 New msdos files uploaded to Simtel20
               Non-standard formatting on IBM Diskettes
           Random numbers are more than flat distributions
                      scanners and OCR software
                      Memory Parity Interrupts

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

Date: 17 Feb 89 13:37:00 CST
From: zielke@physics.rice.edu
Subject: 80387 in windows 386

  I have recently been testing MS windows 386.  There seems to be a quirk
in the system that it does not save the 80387 registers during task
switch.  Is this a general problem with the system or have I forgotten to
set this up.  I know of several people running into this problem.  Thanks
in advance.

David Zielke
===============================================================================
ARPA==>		Zielke@Physics.Rice.Edu		*  
		Zielke@128.42.9.23		*  After Three Days
MaBell==>	713-527-8101 ext. 4018	work	*   Without Programming
		713-666-2982		home	*    Life Becomes
US Snail==>	David M. Zielke			*     Meaningless
		7490 Brompton #110		*
		Houston, Tx 77025		*	-The Tao of Programming
===============================================================================

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

Date: Sat, 18 Feb 89 21:08:46 EST
From: "Robert E. Zaret" <ZARET@MITVMA.MIT.EDU>
Subject: A Question about CGA, EGA

Steve Gibson gave a particularly clear discussion of the various graphics
standards in his InfoWorld columns in the 12 September to 24 October 1989
issues.

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

Date: Wednesday, 18 January 1989  13:31-MST
From: Rich Kennerly <LVL@CORNELLA.CIT.CORNELL.EDU>
Subject: Enhanced keyboards

   Here is a list of the extra keys on an enhanced keyboard:

Enhanced Keyboard key:                  BIOS value:
                                        base    shift   cntrl   alt
F11                                     8500    8700    8900    8b00
F12                                     8600    8800    8A00    8C00
kp-Enter                                E00D    E00D    E00D    A600
KP-/                                    E02F    E02F    9500    A400
KP-*                                    372A    372A    9600    3700

HOME                                    47E0    47E0    77E0    9700
UP ARROW                                48E0    48E0    8DE0    9800
PAGE UP                                 49E0    49E0    84E0    9900
LEFT ARROW                              4BE0    4BE0    73E0    9B00
RIGHT ARROW                             4DE0    4DE0    74E0    9D00
END                                     4FE0    4FE0    75E0    9F00
DOWN ARROW                              50E0    50E0    91E0    A000
PAGE DOWN                               51E0    51E0    76E0    A100
INSERT                                  52E0    52E0    92E0    A200
DELETE                                  53E0    53E0    93E0    A300

Note that you cannot get these values with the old BIOS interrupt, it will
remove the E0's to be compatible with the old keyboard.  See the following
code fragments that use the old and new BIOS calls.


getkey_     PROC   NEAR         ; get key code for standard keyboard
            mov    ah,01H
            int    16h
            jnz    GOTAKEY
            mov    ax,00H
            ret
GOTAKEY:
            mov    ah,00H
            int    16h
            ret
getkey_     ENDP

getxkey_    PROC   NEAR         ; get key code for enhanced keyboard
            mov    ah,11H
            int    16h
            jnz    GOTXKEY
            mov    ax,0
            ret
GOTXKEY:
            mov    ah,10H
            int    16h
            ret
getxkey_    ENDP

I have found that an AT with old keyboard and old BIOS (you need the new
BIOS to fully appreciate the enhanced keyboard) will get very upset if you
try to use the new BIOS function calls with it.  Here is a routine that
will look into the BIOS data area to see if BIOS found an enhanced
keyboard at INIT time.  Note that this approach is not ideal since IBM and
others can change the layout of BIOS at will; fortunately they never seem
to.  In any case there is no interrupt call that will tell you this (if
there is let me know please).

; gkybdtype returns 0 for standard 84 key kybd, 10H for enhanced keyboard

        KB_FLAG_3       equ 096H        ; address of keyboard flag byte
        KBX             equ 00010000B   ; enhanced keyboard flag bit

gkybdtype_      proc near
        push    es
        mov     ax,40H
        mov     es, ax
        mov     ax,es:[KB_FLAG_3]
        and     ax,KBX
        pop     es
        ret
gkybdtype_      endp

RICH KENNERLY - LVL@CORNELLA.CIT.CORNELL.EDU
CIT - Network Development
125 Caldwell Hall
607-255-7342

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

Date: 17 Feb 89 20:49 +0100
From: Dag Baardsen <daghb%sun.dhhalden.uninett@norunix>
Subject: Questions on BBS'

I am looking for some BBS-software (Public Domain) that runs on an
Ethernet (3Com) network.  Are there anybody who could help me with this
topic?

In case you do, is the source code included?

Yours...
Dag H. Baardsen
uninett, norway

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

Date:         17 FEB 89 21:22:15 CST
From:     John Stewart <JSTEWART@SFAUSTIN>
Subject:  Turbo Pascal 3.0 -> 4.0 absolute cseg
References: John Stewart    <jstewart@sfaustin.bitnet>

  I have recently come across several programs written in Turbo Pascal 3.1
that I am interested in using.  I have Turbo Pascal 4.0, and have found a
conversion problem that has gotten me puzzled.  In the 4.0 manual is
states:

  In version 3.0, you could use CSeg and DSEG in absolute statements:

    var
      Parameters: string[127] absolute CSeg: $80;

  In version 4.0, neither CSeg nor DSeg is allowed in absolute statements.

That is all they have to say about it.  Can someone show me how I can get
around this problem?  Why did they remove this capability?  I assume there
is a logical reason, but I have never used these two statements before and
am not familiar enough with the commands to find another way around it.
If anyone could possibly give me an example of how the above code could
accomplish the same task, and still compile under 4.0 I would be greatly
appreciative.  Send replies to <jstewart@sfaustin.bitnet> .  I will send a
reply back if/when I figure it out.

        Thanks,
                   John Stewart
                   Academic Support Programmer
                   Stephen F. Austin State University
                   Nacogdoches, Tx 75962
                   (409) 568-1020  voice
                   (409) 568-1334  BBS (data)

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

Date: Fri, 17 Feb 89 15:12 UT+1
From: "GERBEN POSTMA" <DDGMPOS%HDETUD51.BITNET@CUNYVM.CUNY.EDU>
Subject: Harddisk on Olivetti M24 / AT&T PC 6300

Does anyone know if it's possible to connect a HD controller or hardcard
directly to the motherboard bus (to which one otherwise should connect a
busconvertor)?

I've got an old Olivetti M24 / AT&T PC 6300 that is not equipped with a
busconvertor. Now I wonder if I can connect, using e.g. some flat cable
and appropriate connectors, a controller or hardcard directly to the
motherboard bus, rather than buying a quite expensive busconvertor giving
me 7 slots, of which I need only one...

Would my BIOS Rev 1.1 be OK?

Aloha & mahalo!

Gerben Postma
Delft University of Technology
Bitnet: DDGMPOS @ HDETUD51

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

Date: Sat, 18 Feb 89 21:16:22 EST
From: "Robert E. Zaret" <ZARET@MITVMA.MIT.EDU>
Subject: HyperText Availability

The 30 January issue of InfoWorld (page 8) has an article with the title
"IBM Ships Hypercard-Like Product for Multimedia". The product is called
Linkway.  It supports color.  The minimum environment has one 360K floppy,
384K of memory, and a mouse.  It is not a direct competitor for Hypercard.

Another product, called LINKER, is available from
   Pugh-Killeen Associates
   1 Bowdoin Street
   Newton Highlands, MA   02161

I don't know much about it, although I have a demo that fits on a single
360K floppy.

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

Date: Tue, 14 Feb 89 17:51:26 +0100
From: mcvax!crg.bull.fr!Stavros.Macrakis@UUNET.UU.NET
Subject: Internal format of .FWx files

Does anyone have a document or a program documenting the format of
Framework's FWx files?  I would like to recuperate text, formulae, and
data, as well as documents' tree structure.  

Thanks.  -s

Net:   Stavros.Macrakis@crg.bull.fr  or
           ...!mcvax!inria!bull!crg!Stavros.Macrakis

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

Date: Wed, 15 Feb 89 17:43:24 +0100
From: Andre' PIRARD <A-PIRARD%BLIULG11.BITNET@CUNYVM.CUNY.EDU>
Subject: Memory parity interupt error on a Zenith AT (IBM clone)

The IBM AT advanced diagnostics are very clever at detecting an
out-of-specs memory chip and tell you which when all other tests (even the
plain diagnostics) will just make you feel happy.

Assuming good memory and DMA chips, I'd check the device. While the DMA is
responsible to present the addresses, the device is to output the data and
may fail to do that correctly (unstable signals).

Andr.

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

Date: Thu, 16 Feb 89 14:21:13 +0100
From: Johan Van Rensbergen <FPAAS01%BLEKUL11.BITNET@CUNYVM.CUNY.EDU>
Subject: millisecond timer for PC

In Info-IBMPC Digest Vol 89:Issue 19 G. Nassas asks about millisecond
timing on an IBM-PC.  I hope this small C-program helps.

More on this matter can be found in   Behavioral Research Methods,
Instruments & Computers, a magazine from the Psychonomic Society, which
probably is available in all psychology-libraries.

Johan Van Rensbergen
Lab. Experimental Psychology
University of Leuven, Belgium.
e-mail :  FPAAS01 at BLEKUL11.bitnet
Phone : +32-16-285960

/*
* timerprogram
*
* J. Van Rensbergen
* K.U.L., University of Leuven, Belgium
* Dept. of Psychology
*/
#include <dos.h>
#include <conio.h>
#define intvect 0x1c
#define port_c3 0x43
#define port_inp 0x40
int counter, i, kk;

void interrupt newint()
{ ++counter;  }

void fast()
{
 outportb(port_c3, 0x36);
 outportb(port_inp, 0xa9);
 outportb(port_inp, 0x04);
}

void slow()
{
 outportb(port_c3, 0x36);
 outportb(port_inp,0x00);
 outportb(port_inp,0x00);
}

main()
{
void interrupt (* oldint)();
clrscr();
oldint = getvect(intvect);
setvect(intvect, newint);
printf("begin\n");
fast();
counter = 0;
while(!kbhit()) {};
i = counter;
slow();
kk=getch();
setvect(intvect, oldint);
printf("counter = %i",i);
}

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

Date: Wed, 15 Feb 89 18:55:00 +0100
From: Andre' PIRARD <A-PIRARD%BLIULG11.BITNET@CUNYVM.CUNY.EDU>
Subject: Multi-tasking Software for IBM-XT

If your CPU is a 386 and you're not frightened by slightly technical details,
you may trust DESQview+QEMM386, especially for an application oriented
environment. 

Your (real) memory size will be the limit.  One has to *physically*
disconnect main memory and install EEMS with other processors.  Once
installed correctly, well behaved applications will run smoothly and the
only user concern will be to not open the same file twice. And even SHARE
is supposed to take care of that!  If you wish to move most of TSRs, you
may *in* applications, else it reduces virtual memory space.  Nut with a
386, these guys from Quarterdeck even throw prerequisite code (even device
drivers) up high above 640 Kb (where not all are happy to be, by the
way... unhappily. (Oops!).

Maybe a Windows *386* could be a challenger, but I guess it will *eat*
your memory just as much as the other Windows versions (DV is happy in 140
Kb).  I may finally sound fanatic, and I confess my AUTOEXEC.BAT ends with
DV and my DV.BAT with PARK, but I am a extremely delighted DV user first
of all.  And I prefer not spending my time sparing money for OS/2, even
though it looks like I've got plenty of time.

Andr.

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

Date: Wed, 15 Feb 89 18:06:28 +0100
From: Andre' PIRARD <A-PIRARD%BLIULG11.BITNET@CUNYVM.CUNY.EDU>
Subject: Multitasking and modems under DesqView and Windows

At 4.77 Mhz, DESQview will start to fail above 9600 bauds in the
foreground.  At higher CPU speeds, it's generally OK.

As I rarely use terminal mode in the background :-), I can only tell from
observing file transfer retry counts. You're probably fine for several
2400 bauds lines on an AT (especially if in the same application).

Your BBS should not write directly to the screen (if it's supposed to
write anything *there*), else you'll need to either modify it to play the
DESqview/Topview/Windows game or use a 386 and QEMM.

The real danger does not come from DESQview itself. It's from how well
your other applications (that includes DOS (generally safe) and your BIOS)
behave at not disabling interrupts and looping for fun.

I wouldn't bet a cent on Windows 1, nor on 2 despite I never really tried
it.

Andr.

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

Date: Sat, 18 Feb 1989  01:32 MST
From: Keith Petersen <w8sdz@WSMR-SIMTEL20.ARMY.MIL>
Subject: New msdos files uploaded to Simtel20

[--forwarded message--]
From: madler@Hamlet.Caltech.Edu (Mark Adler)

I have uploaded 10 .ARC file to Simtel20.

The files are:

pd1:<msdos.turbo-c>
TCRND.ARC	High speed, high quality random number generators
		for Turbo C.

pd1:<msdos.filutl>
ASCIFY13.ARC	Converts binary files to text and back for transfer
		over bitnet or other unfaithful channels.

pd1:<msdos.dirutl>
NEWCHDIR.ARC	A new change directory command (c.com) that accepts
		abbreviations.

pd1:<msdos.dirutl>
SZ14.ARC	A command that determines the number of bytes and
		amount of space used by files and directories.  Can
		also search for files, find unbacked up files, etc.

pd1:<msdos.dirutl>
CA12.ARC	A change attribute command---works over entire
		subdirectories if needed.

pd1:<msdos.dirutl>
MA_RM13.ARC	A powerful delete command that can remove entire
		subdirectories.  It will delete without prompting
		for use in batch files, or can prompt on a file by
		file basis.

pd1:<msdos.ega>
EGACOLRS.ARC	Displays all 64 colors at once on an EGA to aid in
		palette selection.

<pd1:<msdos.ega>
FIX43.ARC	TSR to fix the cursor in EGA 43 line mode.

pd1:<msdos.ega>
ZAPSCRN.ARC	TSR's to blank the screen after a period of inactivity
		for the EGA (egazap.com) or VGA (vgazap.com).

pd1:<msdos.keyboard>
KBUF11.ARC	TSR to extend the size of the keyboard buffer.

All of these .arc files contain documentation, source, and executable
files (or .obj files in the case of tcrnd).

				Mark Adler
			bitnet: madler@hamlet
			arpa:	madler@hamlet.caltech.edu

Mark: thanks for a very nice collection of original programs.  You
certainly have been active!

--Keith

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

Date: Fri, 17 Feb 1989 19:57:22 PST
From: Billy Brackenridge <billy@venera.isi.edu>
Subject: Non-standard formatting on IBM Diskettes

See Volume #1 issue #1 of INFO-IBMPC back in August 1982 for a discussion
of this subject.

Back in the DOS 1.1 days when hard disks cost about $5K we had to make the
best we could from floppy disks. Tall Tree systems made a package called
JFORMAT that would format 360K disks (properly 440K disks) in ten sectors.
They also supported Quad density disks in 880K format.

Please don't call them they dropped this line of software when DOS 3.0 was
announced and I think only John Henderson, the company president remembers
this episode in the history of MS-DOS.

Yes, it can be done but it shouldn't. IBM is overly conservative with 8
sectors, but from experience in this area I can tell you 10 sectors is
pushing the technology (or at least was when a floppy disk cost $400).

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

Date: 17 Feb 89 10:24
From: dantowitz%eagle1.DEC@decwrl.dec.com (This space intentionally filled in)
Subject: Random numbers are more than flat distributions

    Note that a "random" generator that generated the following sequence:
1, 2, 3, 4, 1, 2, 3, 4, ... would have a uniform distribution but would be
far from random.  A true random number generator must generate all pairs,
triplets, quads, etc. with the same frequency.

    In other words the sequence 1, 2, 3 must be presented as often as 1,
3, 2, and all the other permutations.  This is very important when
simulating a series of events based on multiple calls to a random number
generator.

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

Date: 17 Feb 89 10:19:44 EDT
From: JBAUER@BAT.Bates.EDU
Subject: scanners and OCR software

I'm interested in anyone having good information about desktop scanners.
We're looking for a flatbed unit with good gray scale capabilities as well
as saftware for OCR. Especially typeset text. ( the problem )  We're using
Word Perfect (5.0) as well as Ventura and Publishers Paintbrush.  Any info
would be greatly appreciated.

Jim
JBauer@Bat.Bates.EDU

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

Date: Fri, 17 Feb 89 09:54:35 PST
From: swillett@plutonium.cchem.Berkeley.EDU (Steve Willett)
Subject: Memory Parity Interrupts

This is in response to a query which appeared in a recent issue of
Info-IBMPC Digest.  I have mailed the response to the person who
posted the query so if it is not of general interest please redirect 
to /dev/nul.

I saw your note in Info-IBMPC Digest concerning memory parity interrupts.
We have had considerable problems with the combination of Data Translation
A/D/A boards (DT2801) and Ungermann-Bass network boards in the "true blue"
IBM AT's we are using in an undergraduate process control lab.  There is
apparently some kind of intermittent, subtle timing problem between these
two boards which has caused various symptoms on different machines at
different times with some boards (vague enough for you?).  Most of these
problems have been eliminated by replacing the U-B board with an
apparently identical board.  The replaced board is then used elsewhere in
the Colege of Chemistry with no problem - so it seems to be the
combination of Data Translation and Ungermann-Bass.

This may be of interest to you.  Are you using any other boards in your
clone which use DMA?  A network board?  One of the errors we got on
another machine was undetected errors in the digital signal stored from
the A/D/A board in main memory.  This showed up as "sticky bits", i.e.,
the digital data had some bit pattern which would not change as the data
changed.  If we accessed the A/D/A board directly (no DMA) the data was
fine.  If we changed the A/D/A board the error persisted.  The only way we
were able to make this one go away was to remove the network board
entirely - whether or not we started up the network connection had no
effect.

I don't know if this is any help, but good luck!
Steve Willett
swillett@plutonium.cchem.berkeley.edu

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

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