Info-IBMPC@C.ISI.EDU (Info-IBMPC Digest) (08/06/87)
Info-IBMPC Digest Wednesday, 5 August 1987 Volume 6 : Issue 54 This Week's Editor: Billy Brackenridge Today's Topics: Update to MOUSE.E DESQVIEW Procomm 2.4.2 Old Patch is Best Patch ARC PKARC The REAL Story TERM.CAT and PRAXIS.CAT STARLAN SIZE LIMIT PCs as LAN Servers Prt-Screen problem with PCDOS & NEC 8023A printer PKARC/PKXARC 3.5 Available from SIMTEL20 Microemacs Sources on BITNET List of UNIX(R) Tools for MS-DOS IBMCACHE Drive Tables IOCTL 44H Using 2 Printers with Turbo Pascal Memory Resident Program Extractor MARK&REL Turbo C Hebrew Fonts for HP Laser Printer from SoftFonts MicroEmacs 3.8L now available from SIMTEL20 Turbo C Patches Available INFO-IBMPC BBS Phone Numbers: (213)827-2635 (213)827-2515 ---------------------------------------------------------------------- Date: Thu, 23 Jul 1987 18:36 EDT From: LENOIL@XX.LCS.MIT.EDU Subject: Update to MOUSE.E Dear Editor: ... be sent to the readership in its entirety. Specifically, my statement that, "If you don't feel like editing the file, send me a note and I'll mail you the entire file" was directed to you, the librarian, not the world at large. My intention was that you update the MOUSE.E on C.ISI.EDU and broadcast the change and the fact that the lending library's sources had been updated. I did not mean to solicit requests from the net for copies by mail of the full program; that's what the lending library is there for. I would appreciate if you'd post this clarification to the bulletin board. Thank you, Robert Lenoil [Sorry about that. <INFO-IBMPC.EEL>MOUSE.E has been updated in our lending library. -wab] ------------------------------ Date: Fri, 24 Jul 87 09:31:41 PDT From: Jim Celoni <celoni@shasta.stanford.edu> Subject: DESQVIEW DV 2.0 does 9600 baud comm in background with no problems. I successfully used 1.21 and 1.30 for concurrent editing/DOS/comm too. +j ------------------------------ From: Gordon W. Ross <gwr%linus@mitre-bedford.ARPA> Date: 24 Jul 87 19:37:40 GMT Subject: Procomm 2.4.2 Old Patch is Best Patch Please restore the old <msdos.modem-utils>prcm242.pat which I recently updated. David Escalante just informed me that my "improved" patch breaks the kermit transfer facilities in procomm. I guess I owe an apology to all those who modified their copies of procomm with the faulty patch. Sorry. I did use the faulty patch for more than a year, but I guess I didn't use kermit on that machine. Therefore, to fix your copy of procomm (v. 2.4.2), even if you have applied the recent, faulty patch, do the following: (Removes recent patch and applies old one.) RENAME PROCOMM.EXE PROCOMM.BIN DEBUG PROCOMM.BIN E 083D E8 3A 7E E 8686 0 W Q RENAME PROCOMM.BIN PROCOMM.EXE If I find a better way to patch the program I'll post it, otherwise just stick with the old patch (E 8686 0). Gordon W. Ross Phone: (617) 271-3205 The MITRE Corporation ARPA: linus!gwr@MITRE-BEDFORD Bedford, MA 01730 UUCP: decvax!linus!gwr ------------------------------ Date: 22 Jul 87 03:50:22 GMT From: Phil Katz <katz@UWM-CS.MILW.WISC.EDU> Subject: ARC PKARC The REAL Story What is this article? It's an response from me, Phil Katz, author of PKARC and PKXARC, in an attempt to answer common questions, misconceptions, and downright ugly rumors propagated by the misinformed in regards to PKARC and PKXARC. The specs for Squashing were never released. FALSE! In early January 1987, shortly after PKARC 2.0 with Squashing was released, the file SQSHINFO.DOC was released detailing the format of Squashed files. This file can be found on many BBS's across the country. Why wasn't a different extension used for archives with Squashed files? Mainly, because using a different extension would cause many more problems than it would solve. By the time PKARC 2.0 was being developed, there were many programs with .ARC specific code in them, such as disk cataloguers, directory programs, communications software, BBS software, and others that treated .ARC files special from ordinary files. The vast majority of these programs never extracted files, and couldn't care less if files were "Squashed", "Stomped", or "Mashed". Changing the extension of archives created by PKARC would mean that all these programs would have to be kludged for the new extension. Earlier versions of PKARC could handle archives with Squashed members with no problems whatsoever. Earlier versions of PKXARC would simply skip over any Squashed files, and issue a warning that the file was compressed in an unknown way. Only SEA's ARC program and Buerg's programs would bomb out completely on these files. Since PKARC and PKXARC could read *ALL* archives made by *ANY* archive program back to SEA's ARC 1.00, keeping the extension of .ARC creates much less confusion than creating an entirely new extension for everyone to have to deal with. Why was type 9 used for Squashed files, rather than type 8 with a 13-bit identifier? Type 8 "crunched" files are non-repeat packed (DLE encoded) before the file is crunched, and similarity are non-repeat unpacked after the file is uncrunched. When developing Squashing, I found that on the vast majority of files, that slightly higher compression ratios could be achieved by *NOT* performing the non-repeat packing/unpacking. Also, a significant amount of execution time could be saved if it wasn't necessary to do the packing and unpacking. If Squashed files, which were NOT packed, were stored as type 8 in the archive header with a 13 bit identifier, it would be inconsistent with the type 8 12-bit files, which were packed. Therefore, it was necessary to give Squashed files a unique file type number. PKARC has problems with memory allocation. Well, PKARC 2.0 had problems when a large DOS environment was present. It would abort with the message "Insufficient memory". The Lattice C startup module copies the environment strings into the static 64K data segment before calling _main(). Since PKARC 2.0 had already used up nearly all of the static data segment with tables and buffers etc., the startup module would abort if it couldn't allocate enough heap space in the data segment to hold a copy of the environment. Note that all error messages displayed by PKARC start with the phrase "PKARC: " whereas this one didn't, and was generated by the Lattice library routines. In addition, there is not *ANY* documentation in the Lattice C manuals that the startup module copied the environment strings into the data segment when using the small memory model. I found this out by tracing the execution of the startup module. This problem has been resolved in PKARC version 3.5. PKXARC crashes on damaged archives. Not anymore. Admittedly, earlier versions of PKXARC would lock up, crash, burn, cause floods and other major natural disasters when a damaged or corrupted archive was encountered. However, PKXARC 3.5 is *UNCRASHABLE*! PKXARC 3.5 has loop checks and other fault tolerant reliability mechanisms built in to it. To date, there have been *NO* verifiable reports of PKXARC 3.5 ever crashing. If anyone can make PKXARC 3.5 crash, please inform me ASAP. PKARC and PKXARC have trouble with RAMdisks, EMS memory etc. NO! PKARC and PKXARC are completely MS-DOS generic programs. They will run on TI Pro's, DEC Rainbows and all MS-DOS machines. All I/O is done through standard MS-DOS file handle calls. All memory allocation is done through standard MS-DOS memory allocation calls. Neither PKARC nor PKXARC make any BIOS calls, or directly manipulate any hardware. If there are any incompatibilities with memory or device drivers, it is because they fail to execute legal MS-DOS calls, or otherwise affect the normal operation of MS-DOS. To date, I have not received any verifiable reports of any problems with RAMdisks or EMS memory. The -g option of PKARC is not compatible with SEA's -g option. FALSE! The encrypt/decrypt functions added to PKARC and PKXARC version 3.5 were designed to be totally compatible with SEA's (rather primitive) encryption algorithm. Any instances where PKARC creates a non-degarbleable file with SEA's ARC should be considered to be either a bug in PKARC or ARC. Again, if anyone knows of any instances where the -g option of PKARC and ARC work differently, please let me know ASAP. What ARE the known problems with PKARC and/or PKXARC version 3.5? There are two known bugs in PKARC version 3.5 dealing with temporary files. Under DOS 2.x, PKARC by default will try to create a file called "./$PKARC.CRN". This works in every subdirectory, except the root directory in DOS 2.xx. If you try to open this file in root directory under DOS 3.xx however, it works just fine. When archiving a large file or using the archive comment feature of PKARC while in the root directory in DOS 2.xx, PKARC will abort with the message "PKARC: Can't create ./$PKARC.CRN". This problem can be solved by using the PKARCTMP environment variable to tell PKARC what drive/directory to use for temporary files, such as SET PKARCTMP=/ for example. Alternatively, PKARC can be patched to eliminate the bug as follows: debug pkarc.com e 4aa8 2f 0 w q Under DOS 3.xx, after archiving many large files, PKARC may abort with a "Can't create" error, and the file name given will be different each time. This is due to an error in the Lattice C ver 3.1 manual for the dunique() function. In the Lattice C ver 3.1 manual on page F-65 it says: "Note that dunique does not actually open the file, so the return value on success is not a file handle." WRONG! dunique() calls MS-DOS function 0x5A, which sure as anything opens the file for read/write access and returns a file handle! The result is that PKARC first calls dunique() and then calls dcreat() to open the file (because dunique() doesn't according to the manual . . .) which would cause two file handles to be consumed each time a temp file is created, and only one handle is returned via dclose(). Depending on the FILES=xx value in the CONFIG.SYS file, PKARC can eventually run out of handles. (As an aside, Lattice C will probably be abandoned in all future MS-DOS releases of PKARC/PKXARC). This problem can fixed by the following patch: debug pkarc.com e a62 eb 14 e 105a a3 46 ea eb 20 w q There are *NO* known bugs in PKXARC version 3.5. When will we see a UNIX version of PKARC and PKXARC? Hopefully rather soon. Since the original MS-DOS versions of PKARC and PKXARC used a significant amount of assembly code, it wasn't easy to convert these to portable C. Nevertheless, a portable C version of PKXARC now exists which works under MS-DOS, Amiga, and VAX/VMS. An Amiga version of PKXARC is slated for release this August. VAX/VMS and Unix versions of the software are currently under development. >Phil Katz> Exec-PC BBS, Shorewood WI ......... 414-964-5160, 24 hours, 1200/2400 baud Fargo BBS, Fargo ND ............... 701-293-5973, 24 hours, 1200/2400 baud Sound of Music BBS, Oceanside NY .. 516-536-8723, 24 hours, 1200/2400 baud USENET ............................ uwvax!uwmcsd1!uwm-cs.milw.wisc.EDU!katz BIX ............................... Username: philkatz U.S. Mail ......................... 7032 N. Ardara Ave., Glendale, WI 53209 ------------------------------ Date: Mon, 27 Jul 87 13:47:03 edt From: karl@hipl (Karl Gegenfurtner) To: cmcl2!info-ibmpc-request@usc-isib.arpa Subject: TERM.CAT and PRAXIS.CAT I am sending two programs, which I have also sent to simtel, together with the executable versions. Term is a memory resident communications program. It has no file transfer capabilities, but emulates a z-19 terminal. Term is ideal, if you do work on a mainframe and use your PC as a terminal. With one press of the hotkey, term switches from PC to mainframe or the other way around. A built in alarm feature will notify you of mail or of talk requests, if you are running a Unix system. The accompanying installation program sets baud rate, com-port, hotkey and other comm-parameters. Praxis is a subroutine for the minimization of a function in several variables. Versions in C, Turbo-Pascal and Unix pascal are included, together with a small demo program. Term was written by Hans Irtel of Regensburg, West Germany, and me. The implementation of Praxis is based on a routine by R.P. Brent in a book on minimization. Both of these programs are free and can be used by anyone for any purpose. Because both programs consist of several modules, I concatenated them, using an old program called 'archc'. It's easy to split the files, the archive is pure ascii, and header lines begin with '-h-'. I also have a version of Jove for MSDOS, which I'm planning to send to the simtel-archives very soon now. It has several advantages over previous MSDOS versions: - It was ported directly from the latest (4.6.1.4) Unix version, which has some new features over the older Version 2.0. Also the code in version 4.6 is much cleaner (integers and pointers) than in the previous one, which gave lots of warnings on compilation. Some of the new features are backups on write, comment formatting and filename-completion. Also I implemented commands like filter-region, which were previously not available under DOS-JOVE. - The screen interface uses Bios calls only and does not write into screen memory directly, as the previous version did. Thus there is no flicker on color monitors. - The full 8-bit character set is supported, as are all the function keys on the PC-keyboard. - Versions are available for IBMPC, generic MSDOS and DEC Rainbows. The main advantage of JOVE over Micro-Emacs is, that it's much faster. I am willing to send the files per email to anyone, who does not have access to the info-ibmpc library or the simtel archives. Karl Gegenfurtner arpa: karl@hipl.psych.nyu.edu uucp: ...{seismo|ihnp4|allegra}!cmcl2!xp!hipl!karl usps: Department of Psychology, NYU 6 Washington Place, 8th fl. New York, NY 10003 [TERM.CAT and PRAXIS.CAT have been added to the info-ibmpc lending library. -wab] ------------------------------ Date: 27 JUL 87 11:35 EDT From: V2002A%TEMPLEVM.BITNET@wiscvm.wisc.edu Subject: STARLAN SIZE LIMIT Doug Gee (DMGee@his-phoenix-multics-arpa) inquired about LAN size: The question of LAN size is as much a function of configuration of the hardware as of the hardware itself. STARLAN has a limit of 10 machines per "network". However, when several "networks" are linked via a master Network Expansion Unit, the number goes up to 200. There is a lot of literature available from ATT about STARLAN. They (still?) offer seminars on STARLAN which I thought were quite good. Andy Wing <V2002A@TEMPLEVM.BITNET> ------------------------------ Subject: PCs as LAN Servers Date: 28 Jul 87 01:53:39 EDT (Tue) From: campbell@maynard.BSW.COM <> ...I am curious to know what the maximum usable number of active nodes in <>a good LAN (say Novell) is. <> <> The most I have heard of is several dozen; certainly less than 100. A <>salesman is proposing a 300 node LAN as a feasible solution to a potential <>customer. Surely the man is dreaming. Surely you are suffering from PC tunnel vision. Yes, if you're using mere PCs for servers, a 300-node network is dreaming. But if you're talking real machines on a real net (for instance, VAXes on an Ethernet, or Apollo work stations on a ring) then a LAN of thousands of nodes is quite feasible. There are a number of factors that can conspire to limit the size of a LAN -- probably more factors than have occurred to you. They include: 1. CPU power of the server(s) 2. disk throughput of the server(s) (here is where PCs fall flat) 3. intelligence of the LAN interface board (does it filter out multicast messages, for example, or must the CPU do that) 4. raw bit rate on the LAN wire (less important than you might think, usually less important than 1-3) 5. LAN software cleverness or stupidity (MS-NET, for instance, is quite suboptimal where performance is concerned) In any event, a 300-node LAN is quite reasonable, *if* you have decent interface boards, 10 MB or better raw bit rate, good software, and something better than PCs for servers. (By "PC" I mean almost any Intel-based box, or anything with ST506 or SCSI disks...) -- Larry Campbell The Boston Software Works, Inc. Internet: campbell@BSW.COM 120 Fulton Street, Boston MA 02109 uucp: {husc6,mirror,think}!maynard!campbell +1 617 367 6846 [Clearly the blocking disk I/O of IBM BIOS and DOS is the major limiting factor of disk or file servers. I don't think much of 3Comm's software, but I think even they must bypass BIOS to achieve any throughput. US Designs has an interesting approach to this problem. They make a disk that contains lots of memory and a 68000 that does head optimization. This makes even IBM BIOS's dumb busy wait I/O very fast. Another solution is lots of RAM disk or RAM for disk caching. One can tolerate a pretty slow server with lots of local RAM to cache frequently used files. -wab] ------------------------------ Date: Mon, 27 Jul 87 14:34:34 EDT From: Michael Friendly <FRIENDLY%YORKVM1.BITNET@wiscvm.wisc.edu> Subject: Prt-Screen problem with PCDOS & NEC 8023A printer cc: Keith Petersen <W8SDZ@SIMTEL20.ARPA> >I am having a strange problem with "Prt Sc" on an IBM-PC/XT running >PCDOS 3.3. My printer is a NEC PC-8023A. When I copy files to PRN or >use control-P it works fine. When I use Prt Sc to dump the screen to >the printer, everything prints on one line. It's as if the DOS Prt Sc >function is stripping all line feeds or simply not adding them. Has >anyone else had this problem? I don't want to turn on the printer's >auto line feed on receipt of carriage return because that would result I have the same printer and encountered the same problems. GRAPHICS.COM simply doesn't support non-IBM/EPSON printers. I have found several software packages which provide solution to this problem: PRNT-SC PRNT-SET PRNT-CHR Specifically geared to the NEC8023A. PRNT-SC is memory resident, intercepts interrupt 05, produces screen dumps (graphics or text) with equal facility, is fairly fast, provides support for italics, integrates well with most wordprocessors, comes with an extensive manual. PRNT-CHR gives IBM graphics character support flawlessly. It is fairly slow when you print e.g., text with graphics character boxes, but never fails. PRNT-SET is a menu-driven non-resident utility to turn on bold-face or set 17cpi etc. Available from: Soft & Friendly <<NO relation>> Soft & Friendly Address: (Attn: Michael Hoyt) R2 Box 65 Solsbery IN 47459 Phone: 812-825-7384 Shareware: $45.00 I think. Well worth it. PROEPSIM PROSCRN (sp?) etc. A disk full of utilities for the C-Itoh Prowriter, the same printer mechanism as the NEC8023A. PROEPSIM is memory resident, simulates an Epson FX (I think), does a reasonably fast and reliable job of print screen and graphics characters on the NEC. It seems to take over the printer until you reboot, however, unless I missed in the manual how to disable the critter. Available from: C-ITOH directly. Supposed to be for C-Itoh dealers. (``Can it emulate an Epson?'' ``Sure!'') As far as I know, it is not available commercially. GRAFPLUS Advertised in the Buyer's Mart in BYTE as supporting ANY printer and many graphics cards. It has worked on all the ones I've tried, including LaserJet. Allows you to Prt-Sc in portrait or landscape orientation, small or large size [selectable when you install it] Graphics dumps are slower than PRNT_SC, graphics characters not as good, but acceptable. Available from: Jewell Technologies 4740 44th Av. SW ($49.95) Seattle WA 98116 Hope this helps -- Snail Mail -- ** E-mail ** Michael Friendly BITNET: FRIENDLY@YORKVM1 Psychology Department Othernet: FRIENDLY@YORKVM1.BITNET York University or FRIENDLY%YORKVM1.BITNET@WISCVM.WISC.EDU Toronto ONT CompuServe: 72777,253 CANADA M3J 1P3 Voice: (416) 736-5118 x6249 ------------------------------ Date: Mon, 27 Jul 1987 22:24 MDT From: Keith Petersen <W8SDZ@SIMTEL20.ARPA> Subject: PKARC/PKXARC 3.5 Available from SIMTEL20 PKARC/PKXARC version 3.5 is available from SIMTEL20... Filename Type Bytes CRC Directory PD:<MSDOS.ARC-LBR> PKARC35P.ARC.1 BINARY 1792 0F6FH PKX35A35.EXE.1 BINARY 71680 3DDFH The ARC is a patch file for those who wish to make no squash the default. The EXE is the entire PKARC/PKXARC package, self extracting. --Keith ------------------------------ Date: Tue, 28 Jul 87 18:13:12 CET From: Eberhard W. Lisse <LISSE%DACTH51.BITNET@wiscvm.wisc.edu> Subject: Microemacs Sources on BITNET Regarding the note by larry@jpl-VLSI.ARPA on where to get microemacs sources from, I might add, that I have recently received 3.8i and will get 3.9 once it will be ready to be shipped. (That one will support Turbo-C) I am willing to send it to anybody on the BITNET (or its clones EARN and NETNORTH) regards, el ------------------------------ From: psc@lznv.att.com (Paul S. R. Chisholm) Subject: List of UNIX(R) Tools for MS-DOS Date: 29 Jul 87 03:57:57 GMT < "I'm *not* expendable, I'm *not* stupid, and I'm *NOT* going!" > I've collected a list of UNIX(R)-like tools that run under MS-DOS(TM). A lot of this information is from Harry Avant's article, "UNIX Shells and Utilities for DOS PCs" in the June 1987 issue of UNIX/World; the rest is from various advertisements. I'd be interested in others that any of you know, or experience you've had with them. A collection of UNIX-like public domain and shareware tools was just posted to comp.binaries.ibm.pc, but I haven't had a chance to look at it yet. I'm primarily interested in supported commercial tools. Please send mail to Internet psc@lznv.att.com, AT&T Mail !psrchisholm, or Usenet lznv!psc via mtune, allegra, cbosgd, ihnp4, or any other Action Central site. -Paul S. R. Chisholm MKS Toolkit, $140US: Mortice Kern Systems, 43 Bridgeport Road East, Waterloo, Ontario, Canada N2J 2J4, 519-884-2251. Includes awk, banner, basename, c, cal, cat, cd, chmod, cmp, comm, cp, cpio, crypt, ctags, cut, date, dd, deroff, dev, df, diff, dirname, du, echo, ed, egrep, env, expand, expr, fg, fgrep, file, find, fmt, fold, getopt, grep, head, help, init, join, kill, lc, line, login, ls, mkdir, more, mv, nm, od, pack, passwd, paste, pcat, pr, prof, ps, pwd, rev, rm, rmdir, sed, sh (really ksh), size, sleep, sort, split, strings, strip, sum, switch, tail, tee, test, time, touch, tr, uname, unexpand, uniq, unpack, unstrip, vi (included, but also available separately), wc, which, who. MasterCard and Visa accepted. Comments: A friend of mine just ordered from them. He said they sounded like stereotypical, "Great White North" Canadians. He also said version 2.2 was shipping (registered users can upgrade for $45US; new disks, all new manuals.). They have site licenses available (and some AT&T sites have them). I've heard *very* good things about these people. MKS vi still supports, but no longer requires, an ANSI device driver. They're on Usenet somewhere, and provide support via phone, paper mail, and email! Final note: how come we Americans can't sell those nasty furriners *any* encryption software, but these Canadians can sell us crypt(1)? (Flames to /dev/null, *please*!) PC/VI, $149; PC/TOOLS, $49; PC/SPELL, $49: Custom Software Systems, PO Box 678, Natick, MA 01760, 617-653-2555. Includes banner, bfs, cal, chmod, cut, diff, diffh, diff3, grep, head, make, od, paste, pr, rm, sed, see, sort, spell (separate package), split, strings, tail, touch, tr, vi (separate package), wc. American Express, MasterCard, and Visa accepted. Comments: They had the first good PC implementation of vi; I've heard good things about it. Don't know anything about PC/TOOLS. PC/SPELL does prefix and suffix stripping, but from the ad, it looks like just a spelling *checker*, not a spelling *corrector*. PCNX, $49: Wendin, PO Box 3888, Spokane, WA 99220-3888, 509-624-8088. Includes at, cat, cmp, cp, cron, date, df, echo, false, file, find, finger, getty, grep, group, grppswd, head, kill, line, logname, lpd, lpr, ls, mail, mkdir, mkgroup, mkuser, more, mv, news, nice, nohup, od, passwd, pr, ps, rev, rm, rmdir, rmgroup, rmuser, sh, sleep, strings, stty, tail, tee, test, time, touch, true, tty, uniq, wc, who, whodo, write. American Express, MasterCard, Visa accepted. Comments: PCNX is a UNIX-like environment; not just UNIX-like tools, but multi-processing under MS-DOS. I don't know if you can use these utilities from vanilla MS-DOS, or only while running PCNX. Wendin is now pushing "Wendin-DOS", a $99 "multitasking, multiuser MS-DOS replacement". Anyone know what's up in Spokane these days? PercentShell, $95: Thompson Automation, PO Box 5163, Beaverton OR 97006, 503-645-9434. Includes cat, chmod, cmp, cp, cu, cut, df, diff, du, egrep, fgrep, grep, head, login, ls, mf, mkdir, more, mv, paste, pr, printenv, pwd, rm, rmdir, sed, sh (some csh/ksh functions), split, tail, tee, touch, tr, uudecode, uuencode, wc, whereis. Micro C-Shell, $50; Micro C-Tools, $25; Micro Make, $25; Beckemeyer Development Tools, 478 Santa Clara Ave., Suite 300, Oakland CA 94610, 415-452-1129. Includes banner, cal, chmod, cmp, csh (separately), date, dc, detab, diff, entab, fgrep, file, find, head, lpr, make, num, od, pick, pr, rpl, sed, show, sort, split, strings, tail, tee, touch, uniq, wc. Comments: also available for Atari ST. Utility Pack, $75: Peak InfoSystems, 727 Manitou Ave., Manitou Springs, CO 80829, 303-685-1137. Includes calendar, calpath, cat, cb, chgvol, chmod, cl, col, crypt, d, df, e, ed, extract, grep, latest, list, pg, prep, ptx1, ptx2, ptxpath, red, renum, sort, split, table, tail, tee, tolower, touch, tr, uniq, update, uptime. Comments: cat (at least) knows about WordStar files (eighth bit on). Also includes disk twiddler, Epson printer utilities, and a loan amortization program (oh, gee!) DOS Helper, $50: MetaWare, 903 Pacific Ave., Suite 201, Santa Cruz CA 95060-4429, 408-429-6382. Includes cat, find, fgrep, ls, mv, tail, uniq, wc. Comments: find knows how to create (UNIX-compatible??) "tar" archives. Aztek C86-d Developer System, $299: Manx Software Systems, 1 Industrial Way, Eatontown NJ 07724, 800-221-0440, 205-542-2121. American Express, MasterCard, Visa accepted. Includes cc, diff, grep, make, vi. Comments: This is really a C compiler with some UNIX-like utilities. Anyone know if the utilities are available separately? Also available for Apple II, TRS-80, CP/M-80, Macintosh, Amiga. Text Management Utilities, $120: Lattice, PO Box 3072, Glen Ellyn IL 60138, 312-858-7950. Includes diff, ed, grep, wc, and non-UNIX utilities (build, extract, files, splat). Personal PVCS, $149; PVCS, $395: Polytron, 1815 NW 169th Pl., Beaverton OR 97006, 800-547-4000, 503-684-3000. Comments: A "Version Control System". They also sell a $150 make. UNIX is a registered trademark of AT&T. MS-DOS is a trademark of Microsoft. I'm not speaking for my employer, I'm just speaking my mind. ------------------------------ Date: Wed, 29 Jul 1987 11:11 EDT From: Villy G Madsen <VMADSEN%UALTAVM.BITNET@WISCVM.WISC.EDU> Subject: IBMCACHE The speedup noticeable with this product when first starting a program is due to its look ahead capability. It can read more sectors than you have asked for, and seems to do its caching on a page basis. A page can be set to 1, 2, 4 or 8 sectors, and if you ask for any sector in a page then the entire page is read in. This accounts for a lot of the speed up claimed for the model 50 drives. It works best with the PS/2 drives that are formatted with no skew at all, i.e. sector 2 follows sector 1 etc. For the other systems out there with skews of 2 or 3 some improvement may be noticed. For those with 6, I doubt if any improvement would be noticed on startup, with the larger page sizes. ------------------------------ Date: Wed, 29 Jul 1987 11:47 EDT From: Villy G Madsen <VMADSEN%UALTAVM.BITNET@WISCVM.WISC.EDU> Subject: Drive Tables IOCTL 44H A while back, I sent a note discussing the fact that the DRIVPARMS entry in CONFIG.SYS no longer works. After some research, I have found that PC/DOS 3.2 and 3.3 support a new IOCTL (FUNCTION 44H) call. Function 44H with Al=0DH, and CH = 08H provide a number of subfunctions viz: CL = 40H Set device parameters = 60H Get device parameters and a bunch more. It is explained as well as can be expected in the applicable Technical References. I have included a short MASM program that can be used to set the characteristics of the B floppy so that it can be formatted with only 10 cylinders. The following program segment sets the default parameters which are really only used by FORMAT. If you read a disk, then the actual BPB is read from the boot block and used for all I/O operations to that disk (other than a FORMAT). PAGE ,132 CSEG SEGMENT PARA PUBLIC 'CODE' ASSUME CS:CSEG,DS:CSEG SetDT PROC JMP StartOfCode A_DeviceParameters: SpecialFunctions: db 04h ; this is the new default BPB ; all sectors are the same size DeviceType: db 00h ; 320/360kb 5.25" floppy DeviceAttributes: dw 00h ; no change line support ; media is removable NumberOfCylinders: dw 5 MediaType: db 01h ; media type is dd ds 5.25" DeviceBpB: BytesPerSector dw 512 SectorsPerCluster db 2 ReservedSectors dw 1 NumberOfFats db 2 RootEntries dw 32 TotalSectors dw 90 MediaDescriptor db 0F0H SectorsPerFat dw 1 SectorsPerTrack dw 9 Heads dw 2 HiddenSectors dd 0 Reserved_1 dd ? Reserved_2 db 6 dup(0) TrackLayout: SectorCount: dw 9h SectorNumber: dw 1h SectorSize: dw 200h etc: dw 2h dw 200h dw 3h dw 200h dw 4h dw 200h dw 5h dw 200h dw 6h dw 200h dw 7h dw 200h dw 8h dw 200h dw 9h dw 200h StartOfCode: MOV AH,44H MOV AL,0DH MOV BL,2 MOV CH,08H MOV CL,40H PUSH CS POP DS MOV DX,Offset A_DeviceParameters INT 21H mov ah,4ch int 21h SetDT ENDP CSEG ENDS END ------------------------------ Date: Wed, 29 Jul 87 22:34:51 CDT From: "Curtis Bohl" <C386104%UMCVMB.BITNET@wiscvm.wisc.edu> Subject: Using 2 Printers with Turbo Pascal >I have just started using Turbo-Pascal in a Radio-Shack Tandy PC-AT. >I would like to know how I can access two printers (connected to S-8 and >S-10 )? I tried the "writeprinter" routine given in Turbo-Pascal >book...it does seem to print, but the characters are sometime printed twice >and it is extremely slow... You might want to try assigning a Pascal file to the LPT1: or LPT2: device. Example: var LPTR_FILE: test; begin Assign(LPTR_FILE,'LPT1');(* or LPT2 as the case may be *) Rewrite (LPTR_FILE); Writeln (LPTR_FILE,'This is a printer test'); Close (LPTR_FILE) end. The MS-DOS printer name can be in a string that can be changed to whichever printer is needed. Curtis Bohl <C386104%UMCVMB@WISCVM.ARPA> ------------------------------ Date: Thu, 30 Jul 87 20:29:36 EDT From: David Kirschbaum <kirsch@braggvax.arpa> Subject: Memory Resident Program Extractor MARK&REL To permit easy "unloading" of memory resident (TSR) programs, I'd suggest the package MARK&REL (usually MARK&REL.ARC on most BBS's), composed of two utilities, MARK.COM and RELEASE.COM. (Public domain or freeware or something, not commercial programs.) You run MARK with a unique name or identifier, e.g., MARK FOOB MARK remembers the current state of Page 0. You then install the TSR just like normal. (All this can work from a batch file, of course.) Any time you wish to "unload" the TSR, or ANYTHING for that matter that was loaded after that MARK, just enter: RELEASE FOOB RELEASE looks through memory for the appropriate MARK, restores Page 0 per the data MARK saved, and terminates. All is as before. This does NOT give any indication as to how much memory your TSR used, but a utility like MEMSIZ, run before and after you install your TSR, can tell you that quickly and simply. Nicest and simplest way I've found to install and uninstall TSRs, rather than reboot. Buddy of mine includes these routines in a batch-file menu, so MARKs and RELEASEs happen automatically and invisibly. David Kirschbaum Toad Hall kirsch@braggvax.ARPA ------------------------------ Date: 1987 Jul 30 22:03 EDT From: (Bob Babcock) PEPRBV@CFAAMP.BITNET To: bonak@cs.uiowa.edu Subject: Turbo C I don't have Turbo C to experiment with, but I think that your problem may have to do with a difference between K&R C and ANSI C. According to K&R, all floats are promoted to doubles before being passed as function arguments, but I believe that ANSI C can leave the numbers as floats if there is a function prototype in scope. In your example, there is no prototype for operate(a,b), so a and b are presumably promoted to double. But in operate, a and b are declared as float. So try either changing a and b to double in operate, or declare void operate(float, float); in main and see if that helps. ------------------------------ Date: 1987 Jul 30 22:14 EDT From: (Bob Babcock) PEPRBV@CFAAMP.BITNET To: (Info-IBMPC Digest) Info-IBMPC@C.ISI.EDU Subject: Turbo C I don't have Turbo C, but according to my Computer Innovations C manual, the format %g is for floats, and doubles require %lg or %G. Since scanf is only passed a pointer, it must use the format specifier to get the type of the variable to be stored. Since doubles and floats use different numbers of bits for the exponent, you get garbage numbers, not just undefined values in the least significant bits. ------------------------------ Date: Wed, 29 Jul 87 14:06 EDT From: DON%atc.bendix.com@RELAY.CS.NET Subject: Hebrew Fonts for HP Laser Printer from SoftFonts To: 5103%lsn.mfenet@NMFECC.ARPA SoftFonts appears to have Hebrew characters available in several different type faces for the HP laser printers. I've used their other fonts and their font editor. They are very good, especially if you use MS Word. Their phone number: (800)351-0500 Don Mitchell Don@atc.bendix.com Bendix Aero. Tech. Ctr. Don%atc.bendix.com@relay.cs.net 9140 Old Annapolis Rd. (301)964-4156 Columbia, MD 21045 ------------------------------ Date: Thu, 30 Jul 1987 23:18 MDT From: Keith Petersen <W8SDZ@SIMTEL20.ARPA> Subject: MicroEmacs 3.8L now available from SIMTEL20 MicroEmacs version 3.8L is now available via standard anonymous FTP from SIMTEL20: Filename Type Bytes CRC Directory PD:<MSDOS.MEMACS> EM38LBIN.ARC.1 BINARY 222208 0BCBH EM38LDOC.ARC.1 BINARY 93312 C2B2H EM38LSRC.ARC.1 BINARY 237425 3CECH The DOC and SRC files are also available individually in directory PD:<MISC.MICROEMACS>. Here is the author's README file: MicroEMACS 3.8i Release Notes April 26, 1987 [amended for version 3.8l June 5th 1987] ********************************************************************** (C)opyright 1987 by Daniel M. Lawrence MicroEMACS 3.8 can be copied and distributed freely for any non-commercial purposes. MicroEMACS 3.8 can only be incorporated into commercial software with the permission of the current author. ********************************************************************** MicroEMACS 3.8i is available in a couple of different ways. First, it is available via my bulletin board system..... The Programmer's Room FIDO 201/2 (317) 742-5533 24 hours 300/1200 baud Also it should be online on the following BBS's: The Starship Trooper Fido 201/1 (317) 423-2281 2400 Duncan Communications (317) 567-2143 2400 There it is arranged as three MSDOS .ARC files, EMACSDOC.ARC which contains the documentation and command files, EMACSSRC.ARC which contains the sources and the UNIX Makefile, and EMACSEXE.EXE which contains the MSDOS executables. Also all the various executables are available individually. (On Duncan Communications, only the sources and documents are present as shar files). EMACSDOC.ARC includes the files: README This file EMACS.RC Standard startup file ME110.RC HP110 startup file ME150.RC HP150 startup file AMIGA.RC AMIGA ".emacsrc" startup file EMACS.HLP Online help file EMACS.TUT Online tutorial EMACS.MSS MicroSCRIBE format of EMACS.TXT EMACS.TXT NEW EMACS BEGINNER'S/REFERENCE MANUAL (missing the formatted version right now....) AZMAP.CMD Translate .SYM files to .MAP BDATA.CMD BASIS Data statement builder MENU.CMD Sample Menu system MENU1 datafile for menu system TRAND.CMD Generate random numbers and do statistics on them EMACSSRC.ARC includes the files: ANSI.C ANSI screen driver BASIC.C basic cursor movement BIND.C key binding commands BUFFER.C buffer manipulation commands CRYPT.C encryption functions DG10.C Data General 10 screen driver DISPLAY.C main display driver EBIND.H binding list EDEF.H global variable declarations EFUNC.H function name list EPATH.H default path settings ESTRUCT.H configuration and structure definitions EVAL.C expression evaluator EVAR.H EMACS macro variable declarations EXEC.C macro execution functions FILE.C user file functions FILEIO.C low level file I/O driver HP110.C HP110 screen driver HP150.C HP150(A or C) screen driver IBMPC.C IBM-PC CGA and MONOCHROME driver INPUT.C low level user input driver ISEARCH.C incremental search functions LINE.C text line manipulation functions LOCK.C file locking functions MAIN.C argument parsing and command loop RANDOM.C other random user functions REGION.C region cut & paste functions SEARCH.C search and replace functions SPAWN.C OS interface driver ST520.C ATARI ST1040 screen driver [not verified] TCAP.C Termcap screen driver TERMIO.C low level I/O driver TIPC.C TI-PC screen driver VMSVT.C VMS screen driver VT52.C VT52 screen driver WINDOW.C window manipulation functions WORD.C word manipulation functions Z309.C Zenith 100 PC series terminal driver EMACSEXE.ARC includes the files: MEIBM.EXE IBM-PC CGA/MONO/EGA version MEANSI.EXE MSDOS ANSI graphics version ME110.EXE HP110 portable version ME150.EXE HP150 version ME309.EXE Zenith 100 PC series version ME520.PRG Atari 520/1040ST version MEAMIGA. Amiga 1000 version (missing at this moment...) MicroSCRIBE 1.0, which I had hoped to have ready by now, is only about half written. MicroEMACS took up more of my time in updates (and mailings) then I had expected, however having this fairly advanced, and hopefully fairly stable version, I can get back to getting MicroSCRIBE written. Also in the works for a later release is a spell checker (called MicroSPELL rather predictably) and sometime next year, a integrated thesaurus program. [MicroSPELL beta version 1.0 will be out within the month]. A more customized MicroEMACS for the Macintosh will probably become available in the next couple of months. Support for the mouse, standard file boxes, pull down menus and different resolutions will be included. If you can be of help in getting this ready, please contact me. As before, I will continue to support these programs, and encourage everyone to spread them around as much as they can. If you make what you think are changes that are useful to many, send me the updates, and as time permits, I will incorporate the ones I understand, and agree with into the master sources. Being over swamped with mailers, I have discontinued my mailing offer, but if you have a special problem getting hold of MicroEMACS, contact me and we can work something out for you. USmail: Daniel Lawrence 617 New York St Lafayette, IN 47901 UUCP: ihnp4!pur-ee!pur-phy!duncan!lawrence or ihnp4!itivax!duncan!lawrence ARPA: nwd@j.cc.purdue.edu FIDO: The Programmer's Room 201/2 (317) 742-5533 ATT: (317) 742-5153 New Features ============ *** IBMPC drivers combined with the EGA driver as well... The IBM-PC CGA/MONOCHROME and EGA drivers have been combined into one driver which will look up the graphics adapter type at startup and adjust accordingly. *** Atari 520/1040ST Support added The Atari 520/1040ST is now supported in both monochrome and color modes. Both low and medium resolution can be used with the color monitor. DENSE mode (40 line) is not ready for the monochrome monitor at the time of this version. Also shelling out for commands is not ready. *** Zenith 100 PC series Support added Someone sent me this driver. I was able to generate an executable from it but I do NOT have access to one of these machines. Could someone please test this one out and get back to me? Thanx. Also the driver's author's cover letter got ate by the mailer....could someone send some mail and take credit for this one? *** TOTALLY NEW MANUAL EMACS.TXT is the first draft of a totally new comprehensive manual written by Brian Straight and myself. It covers both beginning to use MicroEMACS and a reference to all the current commands. Appendixes cover machine dependant versions and the progress on such. The version here is ready for a printer. A scribe-able version is the source for this, and is also included. *** Autosave mode This mode, when enabled, will cause your file to be saved to disk every 256 characters inputed. The count till the next save is held in $ACOUNT, and the character interval between saves is in $ASAVE. Add-mode ASAVE to enable this mode. *** More new functions... &LEN <str> take the length of a string &LOWer <str> Lowercase a string &UPPer <str> Upercase a string &RND <num> generate a random integer between 1 and <num> *** New environment variables $lastkey last keystroke struck... $curchar character under cursor (can be changed) $version returns the current program version number $progname always returns "MicroEMACS" for an unmodified emacs $discmd when TRUE, disables echoing of output strings on the command line $seed integer seed of random number generator *** Advanced text processing functions trim-line (^X^T) trims white space off the end of lines entab-line (^X^E) changes spaces to tabs where possible detab-line (^X^D) changes tabs to multiple spaces *** fixed buffer variable bugs Buffer variables can now reference any on screen or off screen buffer with no restrictions. *** 8 bit chars fixed in the MSDOS/AZTEC C version. Aztec was kindly stripping the 8th bit off of chars when read from a file. I worked around it by putting a layer under agetc to fix it. *** list-buffer expanded The list-buffer (^X-^B) command, if it has any argument, now will also list the normally invisible buffers. *** named procedures which are really just named macros can now be defined... store-procedure onered delete-other-windows add-mode "red" !endm invoked as: execute-procedure onered or: run onered *** magic searches improved searches for strings in magic mode using the query-replace-string function can now also use the (u)ndo option reasonable. *** fixed exec language bugs Fixed a number of different bugs in the execution language *** changed $curcol so the first column is now 1 instead of zero. [These changes are for version 3.8l....] *** NOP (M-FNC) This command does nothing......sound boring? it isboundto the illegal keystroke M-FNC. This keystroke is executed previous to any time the user is to type a command. Other things can be bound here. *** Yet more environment variables $wline returns and sets # lines in current window $cwline returns and set current line within window $target returns/sets target for line moves $search returns/sets default search string $replace returns/sets default replace string $match returns last matched string in magic search *** Changed delete-next-word Rewrote delete-next-word to not kill trailing non-white space after the last word. Also a zero argument will cause it to just delete the word and nothing else. *** Forced more out Clear-message-line, write-message, echo of $debug lines, and interactive variables now all override the $discmd setting. *** Startup sequence re-written Things work right now.....i.e startup macros execute and can even exit properly. (like the spell check scan macro...) ------------------------------ Date: Tue, 4 Aug 87 14:43:58 EDT From: Dave Goldblatt <bh0u@clutx.clarkson.edu> To: info-hz100@radc-tops20.arpa, info-ibmpc@c.isi.edu Subject: Turbo C patches available The complete set of patches for Borland's Turbo C compiler, along with a program to automagically apply these patches, is now available for FTP from clutx.clarkson.edu. They are located in /pub/TurboC/tcpatch.arc. These patches are current as of 7/16/87. Although Borland provided me with these patches, they bear no responsibility for them, nor do they necessarily condone this activity. Legal stuff aside, I plan on keeping the latest patches, and possibly some other goodies, in this directory. The patches are in the public domain, so please spread 'em around as wide as possible! -dg- BITNET: bh0u@clutx Internet: bh0u@clutx.clarkson.edu uucp: {rpics, gould}!clutx!bh0u Following is the DESCRIBE file from the archive. --------------------------------------------------------------------------- [76701,46] P1TC.DIF/binary 29-Jun-87 384 Keywords: PATCH DIF FLOAT DIVIDE CONSTANT floating constant evaluation patch allows version 1.0 to evaluate constant division. Integrated Environment (TC.EXE) Turbo C version 1.00. [76701,46] P1TCC.DIF/binary 29-Jun-87 384 Keywords: PATCH DIF FLOAT DIVIDE CONSTANT floating constant evaluation patch allows version 1.0 to evaluate constant division. Command Line (TCC.EXE) Turbo C version 1.00. [76701,46] P2TC.DIF/binary 29-Jun-87 512 Keywords: PATCH DIF FLOAT STRUCTURE floating point structure push patch Allows Turbo C to pass structures with floating point members. Integrated Environment (TC.EXE) Turbo C version 1.00. [76701,46] P2TCC.DIF/binary 29-Jun-87 512 Keywords: PATCH DIF FLOAT STRUCTURE floating point structure push patch Allows Turbo C to pass structures with floating point members. Command Line (TCC.EXE) Turbo C version 1.00. [76701,46] P3TC.DIF/binary 29-Jun-87 384 Keywords: PATCH DIF GENERATE FOR SPEED SWITCH -G generate for speed switch patch Allows the use of the Generate for speed switch with large switch statements. Integrated Environment (TC.EXE) Turbo C version 1.00 [76701,46] P3TCC.DIF/binary 29-Jun-87 384 Keywords: PATCH COMMAND LINE DASH G GENERATE FOR SPEED LARGE CASE STATEMENTS This file enables Turbo C to use the Generate for speed option (-G) with large case statements. This file should be input to PATCH.COM to patch TCC.EXE for Turbo C v1.0. To get a copy of PATCH.COM, download a copy of PATCH.ARC. [76701,46] P5TC.DIF/binary 29-Jun-87 512 Keywords: PATCH DIF BUILDALL BUILD ALL This file allows BUILD ALL to operate as expected. [76701,46] P6TC-2.DIF 02-Jul-87 516 Keywords: PATCH INTEGRATED ENVIRONMENT TC.EXE EDITOR TAB WIDTH 2 This patch will change the Turbo C Integrated Environment editor's tab width from 8 to 2. This file is input to PATCH.COM. To get a copy of PATCH.COM, download PATCH.ARC [76701,46] P6TC-4.DIF 02-Jul-87 514 Keywords: PATCH INTEGRATED ENVIRONMENT TC.EXE EDITOR TAB WIDTH 4 This patch will change the Turbo C Integrated Environment editor's tab width from 8 to 4. This file is input to PATCH.COM. To get a copy of PATCH.COM, download PATCH.ARC [76701,46] P7TC.DIF/binary 29-Jun-87 256 Keywords: PATCH DIF CONTROL BREAK This file stops Turbo C from exiting when ^C or ^Break are pressed during compilation. Integrated Environment (TC.EXE) Turbo C version 1.0 [76701,46] P8TC.DIF 30-Jun-87 384 Keywords: PATCH INTEGRATED ENVIRONMENT DELETE TEMPORARY FILE DMMWPGBJ.$$$ This fixes a problem in the integrated environment where in certain circumstances, the temporary file DMMWPGBJ.$$$ is not deleted. [76701,46] P9TC.DIF 30-Jun-87 432 Keywords: PATCH INTEGRATED ENVIRONMENT IBM PC JR This file allows the Integrated Environment version of Turbo C to work on the IBM PC Jr. No similar patch for TCC.EXE is needed as that program works on the Jr without modification. This is an input file for PATCH.COM. To get a copy of PATCH.COM, download PATCH.ARC. [76701,46] PATCH.ARC/binary 29-Jun-87 10496 Keywords: PATCH DIF BORLAND This file contains PATCH.COM and PATCH.DOC. PATCH.COM uses the .DIF files found in this DL to effect changes to the Turbo C compilers. Download and extract the files with an ARC51 compatible dearchiving utility. ------------------------------ End of Info-IBMPC Digest ************************ -------