hicks@WALKER-EMH.ARPA (Gregory Hicks COMFLEACTS) (05/11/88)
Info-IBMPC Digest Tue, 10 May 88 Volume 7 : Issue 24 This Week's Editor: Gregory Hicks -- Chinhae Korea <hicks@walker-emh.arpa> Today's Topics: DHAMPSTONE Benchmark Caution for those considering MSC 5.0 Correction to NumLock code for enhanced keyboard eel mouse handler Expressware and File Express (2 msgs) File I/O and Slow Windows LISPs for the IBM PC NROFF-like DOS formatter Pascal --> C question PICNIX Author Found TSR programs in MSC 5.0/QuickC Turbo C Command-line Argument Expander(s) (2 msgs) Today's Queries: NUM_OFF.ASM Day Length Program requested Problems with Modula-2 Programs Help on Turbo Pascal "equivalencing" Microsoft C (Ver 5.0) question Memory resident Kermit server Use of 256K RAM Ships in COMPAQ Portable I Info-IBMPC Lending Library is available from: Bitnet via server at CCUC; and from SIMTEL20.ARPA (see file PD1:<msdos>files.idx for listing of source files) SIMTEL20.ARPA can now be accessed access from BITNET is via LISTSERV@RPICICGE.BITNET using LISTSERV Commands INFO-IBMPC BBS Phone Numbers: (213) 827-2635 and (213) 827-2515 ---------------------------------------------------------------------- Date: 5 Mar 88 01:26:02 GMT From: "The News System <news>" <news@BRL-ADM.arpa> Subject: DHAMPSTONE Benchmark This is in response to a message from <kruger@16bits.dec.COM>. -David- >Date: Wed, 02 Mar 88 17:30:28 CST >From: David Camp <C04661DC@WUVMD> >Subject: Re: Dhrystones, anyone? >I am interested in the Dhrystone, Whetstone, and other popular benchmarks. >Please mail to me. If you want the collection, I will collect them and >forward. >Thanks! >dov I typed this in from a magazine. I think it was "Computer Language", but I am not certain. I would appreciate your forwarding the collection. -David- *----------------------------------------------------------------------* | (314) 362-3635 Mr. David J. Camp | | ^ Division of Biostatistics, Box 8067 | | Room 1108D < * > Washington University Medical School | | 706 South Euclid v 660 South Euclid | | Saint Louis, MO 63110 | | Bitnet: C04661DC@WUVMD.BITNET | | Internet: C04661DC%WUVMD.BITNET@CUNYVM.CUNY.EDU | *----------------------------------------------------------------------* --------------------- FILE dhamp c --------------------- /* The dhampstone benchmark. Written by Jack purdum. */ /* version 1.0, August 1,1985 */ [DHAMP.C has been added to the Info-IBMPC Lending Library in file PD1:<msdos.system>dhamp.c.] ------------------------------ Date: Mon, 7 Mar 88 12:43:06 EST From: Bruce_Kahn@MAYTAG.CEO.DG.COM Subject: Caution for those considering MSC 5.0 In V7 I20, Henry Spencer brought up the subject of correct and incorrect C implementations. According the the K&R book, p198 middle of the page, "Static and extern vars which are not initialized ARE guaranteed to start off as 0; automatic and register vars which are not initialized are guaranteed to start off as garbage." If your C compiler does not follow this then they need to change their compiler, or else note this in their documentation. I would suggest that you ALWAYS init; never assume anything, just to be safe. ------------------------------ Date: Mon, 07 Mar 1988 22:40 EST From: sidney%acorn@oak.lcs.mit.edu (sidney@gold-hill.com after 1-April-88) Subject: Correction to NumLock code for enhanced keyboard There was a query from David Gardner <HQDG@PSUORVM> about an error in some code that was submitted to turn off the NumLock indicator. The problem was some missing brackets. Here is the correct debug script: The following script will use debug to create a file called numoff.com which can be called from your autoexec.bat file to turn off NumLock on the enhanced keyboard. I have added comments for the edification of those unfamiliar with this stuff, yet interested. The first line will give you an error message if the file numoff.com does not already exist. That's ok, that's what you want. debug numoff.com a <-- this switches to assembler language mode xor ax,ax <-- these two instructions put a 0 in the data mov ds,ax <-- segment register, so the next instruction and byte [417],df <-- clears a bit at absolute address 0:417 ret <-- return to caller (i.e., DOS) <-- this is a blank line (the Enter key) rcx <-- set length of file to save to... a <-- x'0a' (ten) bytes w <-- write out the file (numoff.com) q <-- quit debug What this does is turn off the x'20' bit at location 0:417, which is apparently the NumLock flag. Disclaimer: I only figured out what needed to be changed in the submitted code to turn off the indicator light. I don't know anything about how it fits in to the bios code or keyboard hardware. But I have put it in the autoexec of one of our machines and it is nice to boot up without that damn numlock light on. Sidney Markowitz Gold Hill Computers <sidney%acorn@oak.lcs.mit.edu> until 1-April-88, then <sidney@gold-hill.com> ------------------------------ Date: Tue, 8 Mar 88 11:16:31 PST From: Jim Anderson <bilbo.jta@SEAS.UCLA.EDU> Subject: eel mouse handler I think this is the unmodified source for mouse.e. I don't use it, and was unable to get it to work, so I cannot vouch for it. ------------------------------ mouse.e -------------------------------- /* Epsilon mouse extensions */ /* The following copyright and trademark notice applies to some of the code * herein; all other material is Copyright (c) 1987 by Robert Lenoil, with * free copying allowed for any purpose, provided that this copyright notice * is included. */ /************************************************************************ * "Epsilon", "EEL" and "Lugaru" are trademarks of Lugaru Software, Ltd. * * * * Copyright (C) 1985 Lugaru Software Ltd. All rights reserved. * * * * Limited permission is hereby granted to reproduce and modify this * * copyrighted material provided that the resulting code is used only in * * conjunction with Lugaru products and that this notice is retained in * * any such reproduction or modification. * ************************************************************************* [MOUSE.E has been added to the Info-IBMPC Lending Library in file PD1:<msdos.eel>mouse.e.] ------------------------------ Date: Mon, 07 Mar 88 16:35:03 CST From: Terry Woodhouse <tjw@mitre-omaha.ARPA> Subject: Expressware and File Express One of my very favorite programs. The latest version is much improved from previous versions. The information you require is as follows: Expressware, P.O.Box 230, Redmond, WA 98073 (206) 481-3040 Hope this helps... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-> Regards, ARPA: tjw@mitre-omaha.arpa > or tjw@mitre-bedford.arpa> Terry Woodhouse Phone: (402) 292-5889 > Snail mail: The MITRE Corp. 1510 Wall Street Bellevue, NE 68005 ------------------------ ------------------------------ Date: Fri, 4 Mar 88 22:39:59 PST From: swillett%plutonium.CChem.Berkeley.EDU@jade.berkeley.edu (Steve Willett) Subject: File Express Address EXPRESSWARE, distributor of File Express, can be reached at: EXPRESSWARE P.O. Box 230 Redmond, WA 98073 File Express is a shareware product - the registered version costs $69.95, Diskettes only cost $15. EXPRESSWARE also sells a spreadsheet program, ExpressCalc ($49/$15), and a graphing program, ExpressGraph ($49/$10). All orders S & H, $2; COD $3; Rush $5; Foreign $10. EXPRESSWARE can be reached by phone (phone orders - COD or MC/VISA) at: (206) 481-3040 The usual disclaimer applies - I am just a satisfied customer. ------------------------------ Date: Sun, 1988 Mar 6 16:37 EST From: Bob Babcock <PEPRBV%CFAAMP.BITNET@husc6.harvard.EDU> Subject: FILE I/O & SLOW WINDOWS >Be forewarned that the BIOS call to return the current display mode >(mono or color) is broken in the early BIOS versions of many PC >compatibles. This once gave me quite a headache on my Leading Edge >Model M, until I tracked down what exactly was wrong. The more >reliable way to obtain the video mode is to read the value in the >BIOS low memory data table yourself. The exact memory address is >commonly obtainable; send me mail if you can't find it and want it. Not on my machine. The BIOS call works fine, but there is not the same parameter table as is found in the IBM PC. ------------------------------ Date: Mon, 07 Mar 1988 11:12 EST From: ejs%acorn@oak.lcs.mit.edu Subject: LISPs for the IBM PC > From: Brian Leverich <leverich@rand-unix.ARPA> > > Can anyone with hands-on experience provide me with some comments on LISPs > that run on PCs under MSDOS? The slick vendors' literature has a Shannon > measure just about epsilon away from zero. :-( > > I'm particularly interested in how large the data spaces of the LISP are > (how many atoms, DTPRs, etc., can be crammed into memory) and speed of the > compiled code, especially at handling real number arithmetic. Tnx. Gold Hill markets a LISP on the PC. Actually, the full blown implementation of Common Lisp requires an AT with extended memory. I don't know the kinds of figures you're interested off the top of my head, however, I have a LISP loaded on my Compaq 386 (with 9 Meg Extended Memory) right now, and with the EMACS-like editor and compiler loaded (as well as some development tools and the development environment), the Lisp occupies about 3.2 Meg of which about 2.3 Meg is atom space and .9 Meg is cons space. ------------------------------ Date: 6 Mar 88 01:48:27 GMT From: Brad Banko <btb@ncoast.uucp> Subject: NROFF-like DOS formatter I recently was looking for the same kind of thing, and I got some info about some good looking stuff from Elan Computer Group, Inc.: 410 Cambridge AVE; suite a Palo Alto, CA 94306 415-322-2450 they make an nroff/pc with tbl, neqn, mm, man for msdos for $99! they also make an eroff system which costs $700. I haven't tried their stuff, but the samples they sent with an info packet look very good. Brad Banko Columbus, Ohio (formerly ...!decvax!cwruecmp!ncoast!btb) btb%ncoast@mandrill.cwru.edu "The only thing we have to fear on this planet is man." -- Carl Jung, 1875-1961 ------------------------------ Date: 7 Mar 88 06:36:44 GMT From: Dave Jones <djones@megatest.uucp> Subject: Pascal --> C question Regarding the message from tedj@hpcilzb.HP.COM (Ted Johnson): > I am contemplating translating a Pascal program to C, > but am not sure if it can be done very easily.... > > Is there a C equivalent for the Pascal declaration: > > SinWave: packed array[0..255] of char; What do you mean by 'C equivalent'? If you intend to link your translated program with object modules compiled for Pascal linkage, then you have to know how the implementers of your C and your Pascal made some arbitrary choices, among them how to represent arrays of characters. (C implementations, almost always, conventionally terminate strings with null characters. Pascal strings have a compile-time-defined fixed length. Sometimes the implementations prefix the Pascal string with the integer value of the length of the string.) I would not recommend that such a project be undertaken by a non-guru. There might also be some problem with reading files of records generated by a program written in another language, but probably not. If you only want to translate a stand-alone Pascal program into C, switching from the Pascal runtime library to the C runtime library (if they are different on your machine), then you are free to define your own mapping, and it should be pretty smooth sailing. In that case, the mapping of the Pascal packed array into the C char-array is perfectly reasonable. The only tricky problem you may come across is in translating Pascal procedures which have "nested scope". If you have none of these, congratulate yourself for having avoided a dubious feature. If you have used such nestings, I would recommend that you remove them. If you don't want to do that, you will need to implement a 'display', and resolve references to vars in the parent's scopes occordingly. Any good book on languages or compiler construction will have a section on displays. By the way, do you know about C++? If you are going to undertake a translation from Pascal, I would suggest that your target be C++ rather than C. Good luck, Dave J. ------------------------------ Date: Sun Mar 06 22:28:45 1988 From: Dick Flanagan <slvblc!dick@ucscc.UCSC.EDU> Subject: PICNIX Author Found This past week I finally connected with Peter Stephen Heitman, the author of the PICNIX collection of unix-like utilities for the PC. I told him there had been a resurgence of interest in PICNIX on the net over the past couple of months and that several people had had their registration checks returned by the Postal Service. A portion of his response follows: I would really appreciate your letting people on the net know where I am. I have not had access to the net since I left HP in Colorado over 1.5 years ago, [...] If you could post my current address, I would be thankful. PiCnix Utilities Peter Stephen Heitman 23 Burwell Road West Roxbury, MA 02132 [...] I have produced an update to PiCnix, Ver 3.x (now up to 3.2) that fixes a few bugs, makes a few semantic changes (i.e., I don't force accesses to other disks to be starting from the / directory - I allow the current directory on the drive to be used, I removed support for processing the accent grave ` since it took so much code in each utility, I added support for the environment variables PICNIX_FNCASE and PICNIX_SWITCHAR to allow control of the case filenames are printed as and the switchar used by picnix. Now you don't have to use switchar.exe which would conflict with some programs. Peter Heitman So all of us who have tried to register our copies of PICNIX finally have a current address. I have a copy of Ver 3.2 on its way to me, and I will send it to the SIMTEL20 lending library as soon as it arrives. Dick -- Dick Flanagan, W6OLD GEnie: FLANAGAN UUCP: ...!ucbvax!ucscc!slvblc!dick Voice: +1 408 336 3481 Internet: slvblc!dick@ucscc.UCSC.EDU LORAN: N037 04.7 W122 04.6 USPO: PO Box 155, Ben Lomond, CA 95005 ------------------------------ Date: 8 Mar 88 02:50:48 GMT From: Patrick McCarthy <mccarthy@well.uucp> Subject: DHAMPSTONE Benchmark Caution for those considering MSC 5.0 Correction to NumLock code for enhanced keyboard eel mouse handler Expressware and File Express File Express Address FILE I/O & SLOW WINDOWS LISPs for the IBM PC NROFF-like DOS formatter Pascal --> C question PICNIX Author Found TSR programs in MSC 5.0/QuickC PNU@PSUVM.BITNET (Jon Peters) requests information on writing TSR programs in MSC 5.0 or MS QuickC: > Does anyone have any experience in writing TSR (Terminate & Stay Ready) > programs in either Microsoft C 5.0 or MS QuickC? Specifically, has > anyone made use of the _chain_intr, _dos_getvect, _dos_setvect and/or > _dos_keep functions? > I hate to tell you this, but using these library routines can be a royal *PAIN* for someone new to C and/or the IBM PC (and even for those who aren't), primarily because of DOS reentrancy problems (i.e., a TSR can't use DOS if the foreground process is already using it). I don't want to sound like a living advertisement, but Blaise Computing offers a package called C TOOLS PLUS/5.0, which provides a number of routines to help support writing TSRs which go way beyond the MSC library routines, as well as text windows, menus, screen access, and a whole bunch of other stuff. It costs about $175, but it may save you ten times that much in headaches. It also comes with lots of example programs written in C, documentation, and source (mostly C). This package is functionally almost identical to our product Turbo C TOOLS (for Turbo C), which has a write-up in this month's Turbo Technix magazine. Blaise Computing 2560 Ninth Street, Suite 316 Berkeley, CA 94710 (415) 540-5441 <- Technical support/technical questions (800) 333-8087 <- Orders only Pat McCarthy mccarthy@well.uucp well!mccarthy@lll-crg.arpa P.S.: Actually, TSR stands for Terminate and Stay Resident. ------------------------------ Date: 5 Mar 88 20:03:02 GMT From: "George V. Wilder" <gvw1@ihlpf.ATT.COM> Subject: Turbo C Command-line Argument Expander(s) I just tried the following one out for TC 1.5, and it doesn't seem to work: John Maline had developed a TC command-line expander that didn't require any changes to the source file (he provided a replacement library for the startup code--or something like that.). It works fine for TC 1.0. But it doesn't seem to work for TC 1.5. I know that John can be reached on BIX (id: jwmaline), but I cannot access BIX. So, does someone have a newer version (later than 10/17/87) that works with TC 1.5, and/or can reach John on BIX to see if he has updated it to do so (he indicated in the doc. file that he would try to fix bugs and keep it up-to-date). Thanks George V. Wilder ihnp4!ihlpf!gvw1 ------------------------------ Date: 6 Mar 88 21:29:53 GMT From: Russ Nelson <nelson@sun.soe.clarkson.EDU> Subject: Turbo C Command-line Argument Expander(s) This is a repost, as requested by several people. I have applied the patch by Kevin Sweet that lets it work with switchar='-'. Also, this is only for TC 1.5. I think that TC 1.0 just needs to have __argc and __argv made public, but then again, who wants to use TC 1.0? :-) --russ AT&T: (315)268-6591 BITNET: NELSON@CLUTX Internet: nelson@clutx.clarkson.edu GEnie: BH01 Compu$erve: 70441,205 /* setargv -- setup argv with wild card expansion */ /* copyright 1987 Michael M Rubenstein */ /* This program may be freely distributed provided no fee is assessed. */ /* This file implements wild card expansion in argv for Turbo C 1.5. */ /* Strings of characters in either quotes (") or appostrophes (') on the */ /* command line are considered a single argument. However, backslash */ /* escapes are not implemented. A quote may be included in an argument */ /* which is enclosed in appostrophes and an appostrophe may be included */ /* in an argument enclosed in quotes. Either may be included as an */ /* in an argument starting with any other character. */ /* Any argument which is not enclosed in quotes or appostrophes, does not */ /* begin with a hyphen (-), and which contains an asterisk (*) or question */ /* mark (?) will be expanded. It is NOT an error for an argument to have a */ /* null expansion (no matching files). Only ordinary files (not */ /* directories or hidden or system files) will be included in the */ /* expansion. */ [SETARGV.C has been added to the Info-IBMPC Lending Library in file PD1:<msdos.c>setargv.c ...] ------------------------------ Date: 8 March 1988 15:00:23 CST From: Mark S. Zinzow <MARKZ%UIUCVMD.BITNET@CUNYVM.CUNY.EDU> Subject: NUM_OFF.ASM What happened to F11F12.ASM that was advertised several digests ago? I just checked SIMTEL20 again today and it's not there. [I believe it was lost in the 'crash' I mentioned in V7 #23. Regrets. can someone re-forward it? Thanks.] In reply to the request for Num Lock off in Autoexec.bat, here is what I have. This probably came from simtel20 or some local bbs, I don't remember. I've used this on IBM AT's and PS/2's with no problem. NUM_OFF.DOC: The file NUM_OFF.COM may be used from your AUTOEXEC.BAT file to turn the NUM LOCK key off on your PC-AT. Also included is the source code written using Speedwares Turbo EDITASM assembler, but the A86 assembler can also assemble the .COM file. I have only tested this program on one PC-AT model 339. NUM_OFF is invoked right after the path and set commands but before SIDEKICK and 1DIR are loaded. If you have problems, I would like to hear about them but I'm not much of an assembler man so I may not be able to help you. Homer Arment 649 Millwood Dr. St. Charles, Mo. 63303 (314)-928-5792 Between 6 and 10PM CST I couldn't find Homer's ASM file, but here is a debug unassemble which should do the job to show the code. (Debug numbers are hex!) ------------------------------ Date: 3 Mar 88 21:14:19 GMT From: Edward W Burkett <burkett@csd4.milw.wisc.EDU> Subject: Day Length Program requested I am conducting research in which I need to know the length of day for every day in 1984-1986. I recently saw a program posted which gave the time of sunrise and sunset for the current day but with my limited programming skills could not modify it to give the dates I required. I need this information specifically for longitude 88.01.00 latitude 40.23.00 and would like to be able to select the dates of interest. I am working on a Unisys 7000/40 using the Unix 4.3bsd+ operating system. We have Berkley Pascal and C for this operating system. If anyone knows of a program that does this or can modify an existing program I would greatly appreciate the help. Please respond with email if possible. Edward W Burkett burkett@csd4.milw.wisc.edu ------------------------------ Date: Sat, 5 Mar 88 10:34 EST From: The Priest <V079GUVN@ubvmsc.cc.buffalo.edu> Subject: Problems with Modula 2 Programs Greetings. I am using Fitted Software Tools Modula-2 Version 1.1. I have encountered a problem with the M2O files. It seems that some of the object files are in HUGE memory model and others are in LARGE. Due to this, I cannot link a majority of my programs. HELP!! - The Priest - V079GUVN@UBVMSC - V079GUVN@UBVMSC.CC.BUFFALO.EDU ------------------------------ Date: Tue, 8 Mar 88 16:47 AST From: JULIET%DALAC.BITNET@CUNYVM.CUNY.EDU Subject: Help on Turbo Pascal "equivalencing" (* I am trying to get Turbo Pascal version 4.0 (or possibly 3.0) to equivalence a number of seperate variables into an array. I tried the following code segment: *) var (* Original array *) table : array [ 0..10 ] of byte; (* Equivalenced entries into array *) (* Comment out from here ... *) A : byte absolute table [ 0 ]; B : byte absolute table [ 2 ]; C : byte absolute table [ 5 ]; (* ... to here to create a compilable file. *) (* The compiler aborts with a " ';' expected " immediately after the "table" in the first absolute referance. One solution is to reverse the sequence by placing the non-array variables first and equivalencing the array. This is means that every entry in the array MUST be accounted for in the single variable declaration, ie: *) (* Original no-array variables *) (* Desired entries into array are X, Y, and Z *) X, dum1, (* dummy to fill in space for correct array alignment *) Y, dum2, dum3, Z, dum4, dum5, dum6, dum7, dum8 : byte; (* Array for the equivalencing *) (* NOTE: The array is indexed to the absolute address of the first desired variable, ie: X *) table2 : array [0..10] of byte absolute X; (* This is a compilable file. It will generate the error I am refering to. Comment out the first set of declarations and recompile. This will yield a file that will run. What I really want is a better solution that does not require me to declare each and every element of the array singly as the second set does. While it works for this small demo, large arrays will start to become VERY tiresome!! *) i : integer; begin for i := 0 to 10 do table2 [ i ] := 1; X := 2; Y := 4; Z := 8; for i := 0 to 10 do writeln ( ' TABLE2 [',i,'] = ',table2 [ i ] ) end. ------------------------------ Date: Tue, 8 Mar 88 17:48 PST From: CARL FUSSELL <CARL%SCU.BITNET@jade.berkeley.edu> Subject: Microsoft C (Ver 5.0) question I just received my update on MS C (V5.0). It installed relatively easily. When done, I tho't I would test it out by compiling one of the sample programs... LIFE.C. It compiled ok but when linking came up with undefined "Unresolved externals" _edit , _get_cursor, _get_key, _refresh, & _clear_mat I tried also linking with the graphics library -- no luck. I have "search" (searched) every .c and .h file I could find to no avail. Am I missing something? Or doesn't Microsoft ship all the sources necessary to compile their sample programs? I am hoping that I have just overlooked something. Has anyone on the list using MS C 5.0 tried this? Thanx in advance for any suggestions. Carl Fussell Santa Clara Univ. CARL@SCU.BITNET ------------------------------ Date: Fri, 04 Mar 88 10:47:31 CST From: Arlene Slocum <ARLENE%UKANVM.BITNET@CUNYVM.CUNY.EDU> Subject: Memory resident Kermit server What we want is the part of Kermit that does server mode to be memory resident. This program would check the serial port for any file transfer requests. File transfers would hopefully go on in the background while the user can do pc work We want to run this on PC/XT compatibles with 640k memory. An entire Kermit memory resident takes up too much memory- all we really want is the server mode function. Does such a program exist? We are somewhat committed to Kermit (we have just converted to Columbia version 2.30) so we would need this memory resident server to accept the kermit protocols. Any suggestions are welcome. PS. Our micros are networked with an X.25 packet switched network running through the serial ports.We run at speeds up to 9600 baud for file transfer. Arlene Slocum Programmer/Analyst Institute for Public Policy and Business Research University of Kansas 607 Blake Lawrence, Kansas 66045 913-864-3701 send replies to my Bitnet address: ARLENE@UKANVM ------------------------------ Date: 7 Mar 88 07:18 EST FROM: Philbrook @ DDN1.arpa SUBJECT: USE OF 256K RAM CHIPS IN COMPAQ PORTABLE I I HAVE A COMPAQ PORTABLE I WITH 256K OF RAM ON THE SYSTEM BOARD. 128K OF RAM IS MADE UP OF SOLDERED SYSTEM BOARD 64K CHIPS. 128K IS MADE UP OF REMOVABLE 64K CHIPS. IF 256K CHIPS COULD BE SUBSTITUTED FOR THE REMOVABLE 64K CHIPS I COULD HAVE 640K ON THE SYSTEM BOARD. I WOULD APPRECIATE HEARING FROM ANYONE WHO HAS SUCCESSFULLY ADDED 512K OF 256K RAM CHIPS TO A COMPAQ PORTABLE I SYSTEM BOARD AND OBTAIN INFORMATION ON HOW TO DO IT. REGARDS, BOB PHILBROOK ------------------------------ End of Info-IBMPC Digest ******************************