Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL (11/21/88)
Info-IBMPC Digest Sun, 20 Nov 88 Volume 7 : Issue 53 Today's Topics: 10(19) sector/track floppy disk beta test prog avail. from Germany Expanded vs. Extended memory (2 msgs) Extended Memory Usage Enlarging the DOS Environment Today's Queries: DMA Programming Educational software needed Fast Hard Drives and AT Clones Grammar Checking Software Relation grapher SWEEP-like utility New Programs Available: Directory Control, ver 1.05B New Kermit Available Multiple Windows in Turbo Pascal New PibCat 1.5 disk catalog program ---------------------------------------------------------------------- Date: Thu, 17 Nov 88 20:11 PST From: <MULTI%TRIUMFCL.BITNET@CORNELLC.ccs.cornell.edu> Subject: 10(19) sector/track floppy disk beta test prog avail. from Germany I am well aware of the problem that requires HDREAD.COM Specifically, MS-DOS pokes the Disk Parameter Table (Pointed to by Int 1Eh) frequently so that modifying the number of sectors/track (offset 4) has no effect. Like you, I have written a program so that every READ/WRITE/VERIFY call (via INT 13h) causes offset 4 (Sectors/Track) of the Disk Parameter Table to be overwritten by the value 10 (you use 19, I presume you can fit more sectors on an AT floppy too...) Please note that the BIOS is NOT responsible for the value of 9 sectors per track, in fact you will find that the BIOS has hardwired 8 sectors/track. It is MS-DOS that overlays the Disk Parameter Table, and this is the reason that I am crying at Microsoft and not at the author of my XT bios. Thanks for the programs - they work excellently and I can fit 10 sectors/track, and you DO use a FORMAT gap of 40h (as recommended by QUAID). Now if only IBM and MICROSOFT would get their act together and give us 400K/800K on floppy disk as a supported standard... <multi@triumfcl.bitnet> ps: HDFORMAT.EXE works excellently. If MICROSOFT supported it then we could have standard, bootable 400K/800K floppy disks. I noticed that you actually wrote a BPB (Bios Parameter Block) so a special floppy disk driver is not required... ------------------------------ Date: Thu, 17 Nov 88 18:16:01 EST From: ejs@goldhill.com (Eric Swenson) Subject: Expanded vs. Extended memory One important fact that so far everyone has failed to point out is that in order to use Extended memory, the 286 or 386 processor must be running in its native "protected" mode. (The 386 can also be running in "virtual 8086 mode." Under DOS, this means that either you have to have custom software switch the processor from "real" mode (the normal operating mode under DOS) to protected mode, or you can use some of the available DOS extenders like A. I. Architects' OS/286 or OS/386 to provide a protected mode operating environment. Under OS/2, of course, the default mode is protected-mode and access to extended memory is transparent. Various software products like Alsys' ADA compiler and Gold Hill's GCLISP/GoldWorks environment run their software in protected mode under DOS. ------------------------------ Date: Fri, 18 Nov 88 08:49:57 +0100 From: Andre' PIRARD <A-PIRARD%BLIULG11.BITNET@CUNYVM.CUNY.EDU> Subject: Expanded vs Extended memory The worst confusion exists for these terms. As correctly stated, extended memory is simply memory of a 80286 or 80386 processor that is mapped above the 1 Mb limit. Thus, it's no special kind of memory, except that it is not accessible unless special "tricks" when those processors are working in 8086/8088 compatibility mode and that it is not available to these processors at all. How to allocate extended memory in 8086/8088 compatibility mode is not explicitly stated. The best is to use the technique that VDISK uses to avoid overlapping storage allocated to multiple virtual disks. If any program fails to implement this de facto convention, it will raise compatibility problems and fail the system when not used alone. Expanded memory is additional memory available to *any* processor and maps within the 1Mb address range. It is implemented by a bank switching tech- nique that, through the control of I/O ports, makes selected pieces of that memory appear at selected addresses in that range. Because of the limit of that range, only a part of the expanded memory is accessible at a time. To provide a standard programming interface, an expanded memory manager, EMM (or EEMM, see below), must be used. This is a device driver that implements the LIM (Lotus Intel Microsoft) standard. To be able to map Expanded memory somewhere, no conventional memory may exist at that location. Two variations of expanded memory exist. EMS maps in a (free) 64 Kb range by 16 Kb chunks and is supported by a LIM 3.2 EMM. EEMS was designed later and maps *any* number of 16 Kb chunks *anywhere*. An EEMM driver is upward compatible with an EMM driver. Consequently, EEMS is by far superior to EMS. It can in fact provide bank- ing below the 640 Kb limit and allow a multitasking software to run multiple *standard* programs concurrently (your C really compiles while your text processor prints) as long as they do not write directly to the screen memory or if they have been modified or fooled to write to a copy of it instead (a technique common to DESQview, Topview and MS-Windows). EMS only allows an EMS aware program to store more data (but EEMS does that too). But to install EEMS efficiently, one has to disable (and that's not just unplugging!) the most of standard memory. Main boards vary as to the mini- mum that cannot be disabled. The part of that minimum which is above DOS and the multitasking software will only be usable by one program at a time and will limit the size of the other programs that can run concurrently (in the banked part only). So, check your hardware first! But the situation is further complicated by a new LIM 4.0 EMM standard that can support memory of the EEMS type too. So, what can be sold now with EMS label (a card and a driver) can be of the restricted EMS type or of the extended EEMS one. It all depends on the hardware capabilities, not only the software level. Last (but not least), if you are lucky enough to own a 80386 machine, there is no need to buy special hardware at all. The marvellous design of that chip allows fooling the 8086/8088 mode by remapping any storage anywhere through processor control. Consequently, an (E)EMS driver can be designed to simulate the bank switching by this method. Furthermore, it can also dynamically remap the screen memory where programs think they are writing, a way to dodge this problem without any software change. I have been using DESQview for some time now (and made a clear mind about much of this from its excellent documentation). While it does not provide the security a promising OS/2 builds upon hardware (it's not its fault, it cannot prevent programs to misbehave), its a real gem of a software. As opposed to OS/2, it requires some technical understanding. But as opposed to OS/2, it provides a cheap alternative and can run a host of these programs you run just now in a much better way. And it offers very powerful cut-and-paste and macro capabilities to solve many practical problems. I sure would recommend anyone with a minimum of technical insight a try to discover what running programs concurrently can add to ease of use and productivity. I think MS-Windows 2 is designed to use LIM 4.0 the EEMS way too and could be an alternative solution to those tempted by icons and the graphic API. But it's far more bulky, and I have been very deceived by the way 1.03 implements (nonprehentive) multitasking and by many related inconveniences. Is it a sign? I've run Windows under DESQview (8 of them before a 386 would give up), but I did not manage the other way round to be practical! Andr). ------------------------------ Date: Thu, 17 Nov 88 16:28:52 CST From: david@wubios.WUstl.EDU (David J. Camp) Subject: Extended Memory Usage A footnote on the Ex[pt][ae]nded memory issue: Extended memory cannot be used by a 80286 unless it switches to real 80286 mode. In its default 8086 mode, I think it is unable to use Extended memory. This explains why Windows can use Expanded memory, but not Extended memory. -David- ------------------------------ Date: Fri, 18 Nov 1988 14:09:02 CET From: A0045%DK0RRZK0.BITNET@CUNYVM.CUNY.EDU Subject: Enlarging the DOS Environment Some weeks ago I posted a question to INFO-IBMPC how to enlarge the default space that DOS reserves for the environment. I got some answers to that question, but they all did not spot exactly the problem I was referring to. Meanwhile I found the patch myself, that I was looking for and learned several more things about the problem which I would like to summarize to the list. When the first copy of COMMAND.COM starts, it allocates space for its environment, the size of which is either 160 bytes by default or can be set by the E:nnnn parameter on newer DOS versions (SHELL-Statement in CONFIG.SYS). This space is available in its entirety for SET-variables, which are defined by the intrinsic DOS command SET. There are also numerous utilities which help you to change entries in the environment. Many of them try more or less successfull to access DOS's master-copy of the environment. This is a bit tricky, because it is not documented where this master-copy is actually situated in memory. The place seems to wander around in the various DOS versions, especially the latest DOS 3.3 has it different from previous versions. When COMMAND.COM now loads another program it passes a copy of the environment to this program, but the length is shortened to the actually used part| If such a program calls again another programm it usually passes the inherited environment further to its child process. Now when somewhere in this chain COMMAND.COM is called a second time it constructs a new environment space from the inherited environment and its parameters (E:xxx or the default 160 bytes), taking the greater of both sources. That means: If you are able to specify the E-parameter on the call to COMMAND.COM, you can adjust the environment length to your wishes even in this case. If not, you are stuck to the 160 bytes default or an already filled up space. In both cases you have not many chances to add additional variables. This latter case usually comes up, if you push to DOS from some application program or call programs from a File Commander (Norton, Xtree or the like) or a Menu system, where you have no influence on the way these programs call COMMAND.COM. I have found a program in the PD-archives (<MSDOS.SYSUTL>ENV.ARC) which adresses exactly this problem, where the author comes to the conclusion: "... the only way to carry upwards an environment of the size set in CONFIG.SYS ... seems to be to stuff it full|" His program now fills and unfills the environment with dummy variables and it could be used to solve my problem, ... if it would run under DOS 3.3 (see my remarks above about locating the master-environment). Well, at last I was back at my original idea that a patch to change the default allocation in COMMAND.COM could be the solution and this worked indeed successfully. After a little 'Code-Viewing' I found the place. I can not give an exact location to change, because this will be different in every DOS version, but in every COMMAND.COM I looked there was an easy to find instruction in the initialization code of the form MOV some memory location!,000A where the 000A is the default length in paragraphs (10*16 = 160 Bytes). After changing this number to the desired length the changed value was honoured in every call to COMMAND.COM. Jochen Roderburg Regional Computing Center University of Cologne Robert-Koch-Str. 10 Tel. : 49-221/470-4564 D-5000 Koeln 41 Email: A0045 @ DK0RRZK0.BITNET West Germany ------------------------------ Date: Wed, 16 Nov 88 08:30 CST From: <SILBER%TAMCHEM.BITNET@CUNYVM.CUNY.EDU> Subject: DMA Programming Does anyone 'out there' have, or know where to obtain, information on how to program the Intel 8237A-5 DMA controller chip used in the AT? I have a streaming mag tape drive that uses DMA, and need to program it at the block I/O level in order to read tapes written by a different machine on the same type of media. The IBM Technical Reference Manual barely acknowleges the existance of DMA, and the tape manual cryptically tell me to "set up the DMA registers and access location BASE+2" in order to initiate the DMA transfer. advTHANKSance, Steve Silber Texas A&M University Department of Chemistry Reply to either SILBER@TAMCHEM or SILBER@CHEMVX.TAMU.EDU ------------------------------ Date: Fri, 18 Nov 88 19:05 CST From: <RAYMOND%AUDUCVAX.BITNET@CUNYVM.CUNY.EDU> Subject: Educational software needed Hi, Anybody out there have access to public domain software for the IBM PC... I am mostly interested in educational programs, such as: 1) A chemistry tutorial - preferably highschool and up. 2) A physics tutorial - highischool and up. 3) An electronics tutroial - Highschool and up. 4) Math tutorials: a) Trig. b) Calc. C) Alg. I have access to several configurations AT's and XT's with CGA, EGA, and Herculies graphics. Thank you, Raymond M. A. Erdey RAYMOND@AUDUCVAX ------------------------------ Date: Thu, 17 Nov 88 9:18:34 EST From: Dave Swindell <dswindel@cic.cs.net> Subject: Fast Hard Drives and AT Clones I have a question about fast hard disks. I'm in the market for a fast (12 MHz or better) and inexpensive AT clone. I want to get a fast hard drive, where "fast" is defined as having optimal throughput. Initially, I had assumed I should purchase a Seagate 251-1 40MB drive with a rated time of 28ms. However, I have also heard that an RLL controller with an interleave factor of 1:1 matched with a 40ms RLL disk can provide better throughput than a 28ms MFM controller. Looking at a review of 40MB hard disks in the July 88 issue of Byte, they rated a RLL-controlled 40ms access time drive as the best per- former. So, my question is, what is the better option, a disk with fast access time, or a RLL disk with a fast controller? I would also be interested in anyone's experience with the Zeos international AT clones; their price looks rather attractive. Thanks, -- Dave Swindell BBN Systems and Technologies Internet: dswindell@bbn.com ------------------------------ Date: Thu, 17 Nov 88 18:37:59 EDT From: Donalee Flaningam <3RLRB2U%CMUVM.BITNET@CUNYVM.CUNY.EDU> Subject: Grammar Checking Software I think I am interested in getting a grammar checking package. I know of two that are available: Right Writer and Grammatica 3. Has anyone used these packages? In particular, I am interested in how effective they are and how easy they are to use. I would be using it in conjunction with WordPerfect 5.0. Is there some other package that would be a better choice? ====================================================================== 3RLRB2U@CMUVM.BITNET WHEN *IT* IS FRUSTRATING YOU, REMEMBER: DONALEE FLANINGAM THE ATTENTION SPAN OF A COMPUTER COMPUTER SCIENCE DEPARTMENT IS ONLY AS LONG AS ITS ELECTRICAL CENTRAL MICHIGAN UNIVERSITY CORD. ====================================================================== ------------------------------ Date: Thu, 17 Nov 88 18:25:58 EST From: Mitch%UMASS.BITNET@MITVMA.MIT.EDU Subject: Relation grapher I've been looking for a CGA plotting program which can graph relations, that is, F(X,Y)=0. Therefore, if you give it 'X^2-Y^2-1', it will plot a circle. Can anyone help me find this program? Mitchell Dickerman ------------------------------ Date: Thu, 17 Nov 88 11:39:08 EST From: rpk@goldhill.com (Robert Krajewski) Subject: SWEEP-like utility Is there something out there that works like SWEEP (i.e., executes a com- mand in the current directory and all its subdirectories, recursively), but allows the command to refer to the current directory ? In particular, I'd like to refer to the directory RELATIVE to the directory in which I executed the command. Suppose I want to make an archive using the same directory structure as the unarchived files. It would be very con- venient to say something like: cd \sources sweep arc a d:\archive\=r\arc.arc *.* where the relative directory names would be substituted for =r. For ex- ample, if \sources had subdirectories A, B, and C, and B had subdirectories OLD and NEW, the following strings would be substituted for =r: "" (empty, the directory in which SWEEP started running) A B B\OLD B\NEW C ------------------------------ Date: Fri, 18 Nov 1988 21:41 MST From: Keith Petersen <W8SDZ@WSMR-SIMTEL20.ARMY.MIL> Subject: Directory Control, ver 1.05B now available from SIMTEL20] From: Peter Echerick <esheric at sandia-2.arpa> Now available via standard anonymous FTP from SIMTEL20: Filename Type Bytes CRC Directory PD1:<MSDOS.DIRUTL> DC105B.ARC BINARY 14165 0889H -------- DC - Directory Control Version 1.05 by Peter Esherick <ESHERIC@SANDIA-2.ARPA> Purpose: To allow selective copying, moving, deleting and browsing of files displayed in a directory listing. Remarks: This program is closely based on the CO and DR programs, both written by Michael J. Mefford and published in PC Magazine, vol.6, #17 and #21, 1987. I have combined features from these two programs and also added a number of new features of my own. DC let's you view a directory, mark files for copying, moving, renaming or deleting. You can also view a file (like LIST) or view a different dir by typing enter with the file highlighted. There are a lot of subtle improvements over the original CO program that may not be immediately obvious like how many times does the computer switch between drives in copying a file from a: to b:. ------------------------------ Date: Thu, 17 Nov 1988 10:16:21 EST From: Christine M Gianone <cmg@cunixc.cc.columbia.edu> Subject: New Kermit Available Kermit Versions, Listed by system, as of: Tue Nov 1 15:46:01 EST 1988 Prefix, Operating Program Program Released Tape Machine System Language Version yy/mm/dd Contributor CKO B IBM PC/AT & PS/2 OS/2 C 1.0b 88/10/10 C.Adie, UK Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host CUNIXC, CUNIXC.CC.COLUMBIA.EDU, a VAX 8700 running UNIX (Ultrix). The IP host number is 128.59.40.130. You should be able to to FTP to CUNIXC, login as user ANONYMOUS (any password) and GET the desired files. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. You can also get Kermit files over BITNET/EARN; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file k1/aanetw.hlp (AANETW HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribu- tion, Columbia University Center for Computing Activities, 612 West 115th Street, New York, NY 10025 USA. First GET the file ckaaaa.hlp ------------------------------ Date: Sat, 19 Nov 1988 22:09 MST From: Keith Petersen <W8SDZ@WSMR-SIMTEL20.ARMY.MIL> Subject: Multiple Windows in Turbo Pascal Filename Type Bytes CRC Directory PD1:<MSDOS.TURBOPAS> WNDW_MSJ.ARC BINARY 6662 3522H WNDW_MSJ.ARC - Turbo Pascal multiple windows From Micro/Systems Journal, Nov & Dec 88. Two source code files demonstrating multiple windows (simple and multiple-tasking). Runs nicely when compiled with TP3.0, should be ok in 4.0, 5.0. David Kirschbaum Toad Hall kirsch@braggvax.ARPA Thanks, Dave! --Keith ------------------------------ Date: Thursday, 17 November 1988 21:48-MST From: Phil Burns <PIB@nuacc.acns.nwu.edu> Subject: New PibCat 1.5 disk catalog program I uploaded a revised version of my PibCat program to SIMTEL20. Filename Type Bytes CRC Directory PD1:<MSDOS.CATALOG> PIBCAT15.ARC BINARY 86955 BBCAH PibCat is a disk cataloguer that can also catalog the contents of .ARC, .DWC, .LBR, .MD, and .ZOO files. The program and code are public domain. The code is intended to be compiled with Turbo Pascal v5.0. I added a disclaimer to this version, such that I would take no responsibility for anyone using the .ARC processing code in PibCat in a commercial program. -- Phil "Pib" Burns Northwestern University Evanston, IL PIB@NUACC.BITNET (BITNET) PIB@NUACC.ACNS.NWU.EDU (ARPANET) ------------------------------ ************************ End of Info-IBMPC Digest -------