Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!rutgers!ames!ucbcad!ucbvax!C.ISI.EDU!Info-IBMPC From: Info-IBMPC@C.ISI.EDU (Info-IBMPC Digest) Newsgroups: comp.sys.ibm.pc.digest Subject: Info-IBMPC Digest V6 #56 Message-ID: <8708150340.AA19171@ucbvax.Berkeley.EDU> Date: Fri, 14-Aug-87 18:39:41 EDT Article-I.D.: ucbvax.8708150340.AA19171 Posted: Fri Aug 14 18:39:41 1987 Date-Received: Sun, 16-Aug-87 07:04:14 EDT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: INFO-IBMPC@C.ISI.EDU Distribution: world Organization: The ARPA Internet Lines: 1347 Approved: info-ibmpc@b.isi.edu Info-IBMPC Digest Friday, 14 August 1987 Volume 6 : Issue 56 This Week's Editor: Billy Brackenridge Today's Topics: Microsoft C 4.0 Large Models AT Model 339 Speedup Updated XMODEM YMODEM ZMODEM Protocol Documentation GOSSIP is Government OSI Profile Signal Processing Routines Mathlab from Mathworks Mathematical Scratchpad for Functions Available from SIMTEL20 VT100 and Tek401x Emulation based on CMU PC/IP Pac PKARC Squashed ARCs Defined Turbo C Patches Real vs Protected Modes Autocad .DXF File from Fortran and Turbo-Pascal New Version of Freemacs DECnet-DOS problems (V6 #55) Re INFO-IBMPC Digest 30 Efficient Block Transfers PC Packages used in Europe Computers in Europe Foreign Information Today's Queries: DOS 3.3 bug Fontasy Fonts Wanted An accelerator Unix programs for IBMPC's - nroff/troff TSR/Palette-Setting Interrupt Conflict dBase III Data File Editor Needed VT220 Wang 2110 Emulator Z-151 & Z158 Memory Beyond 640K Timing problems.. Herc Compat board INT 3DH from Turbo How do you determine P.C. clock speed? Program Name in Turbo Pascal Calendaring/Scheduling Software 12 MHz Enhanced Expanded Memory (EEMS) Available? Yet Another Turbo C Bug Cross Reference Quick Directory Erase Epson Equity I Lotus 123 Clones INFO-IBMPC BBS Phone Numbers: (213)827-2635 (213)827-2515 ---------------------------------------------------------------------- Date: Wed 5 Aug 87 07:04:41-PDT From: darrylo@hpsrlc.HP.COM (Darryl Okahata) Subject: Microsoft C 4.0 Large Models Organization: Network Measurements Div - Santa Rosa, CA In comp.sys.ibm.pc, nwc@cucca.columbia.edu (Nicholas W. Christopher) writes: > I wrote a language and interpreter using Lex, YACC and curses on a vax > and am now attempting to get it to run under MSC 4.0 . The language > is window oriented and the PC-curses windows require 4K+. My code > bottoms out in 5 or 6 windows (I malloc space for other things as well) in > the small model. > > I tried compiling under a large model and the code ran for a while and then > froze. My question is, what are the things to worry about in large models? > Are there special considerations when passing arguments by address? Will > short integers behave? Where should I be looking (codeview just hangs so its > no help) ? > > Thanks, > /nwc > > P.S. I am really sick of seeing "Unknown Compiler Error, Contact Microsoft > Technical Support", I hope 5.0 does not loose as much as 4.0. > > ---------- The BIGGEST problem (in my opinion) of transporting code from UN*X to MSDOS is the usage of 0 (in UN*X) for NULL. In the small memory model, this is no problem, as the size of a pointer is the same size as an integer. However, in the large memory model, the size of a pointer (4 bytes) is TWICE the size of an integer (2 bytes). This becomes a problem when you try to pass a NULL pointer to a function. Let's say that you have a program fragment like: #include /* IMPORTANT!!!!! */ bomb(ptr) char *ptr; { if (ptr != NULL) *ptr = 'X'; } foo() { bomb(0); /* this blows up in the large memory model */ bomb(NULL); /* this works fine */ } Assuming the large memory model, when foo() calls bomb(0), two bytes (an integer) of zeros are pushed onto the stack. When bomb() checks the value of ptr, it is looking for a four-byte object (a pointer to char); the pointer offset will be zero (this is what was pushed onto the stack), but the pointer segment will be whatever is there on the stack and will, in all probability, be nonzero. The conditional expression in the if statement in bomb() will, as a result, be true (because the pointer segment is probably nonzero), and some random location in memory will be trampled. The result? Crash, boom, bang! Why does NULL work instead of a "0"? Well, when is included (this is included, isn't it?), NULL is either set to a "0" or "0L" ("0" for small memory models, and "0L" for large ones), which takes care of the problem quite nicely (and transportably, I might add). -- Darryl Okahata {hplabs!hpcea!, hpfcla!} hpsrla!darrylo CompuServe: 75206,3074 Disclaimer: the above is the author's personal opinion and is not the opinion or policy of his employer or of the little green men that have been following him all day. ------------------------------ Date: Wed, 5 Aug 87 18:13:52 EDT From: Photios_Ioannou@um.cc.umich.edu Subject: AT Model 339 Speedup The IBM AT Model 339 crystal-cripple revisited. Some time ago I requested information about eliminating the ROM trap that IBM has planted in the newer AT's and which does not allow them to run faster than 8.5MHz (by simply changing the crystal). I have implemented the following solution which fortunately works: (a) Download the contents of the ROM chip U27 in a file (b) Change the following two bytes in that file: Location Old Byte New Byte ======== ======== ======== CF F4 90 2DE 73 EB (c) Program a new EPROM with the modified ROM file. . The first patch makes a HLT (halt) instruction into a NOP (no operation) so that the POST (power on self-test) does not hang if it finds a checksum error in the ROM modules! . The second patch makes a conditional jump (JAE) into a forced jump (JMP) so that the machine always passes the speed test no matter how fast it runs. . This solution may not be too elegant (disabling the checksum test is not such a good idea) but it requires changing only one of the two ROM chips. Note: The addresses given are measured from 000 and not from 100 as debug does. If you use debug to change these bytes then increment the given addresses by 100. Also, downloading the ROM contents using debug or a similar utility will download both U27 and U47 (i.e. both ROM chips). The addresses given refer to the contents of U27 alone, so if one looks at the contents of the ROM chips as plugged into the machine (again using DEBUG) the addresses will be double the ones given (the offset, of course, is F000) i.e. at locations F000:019E you will find F4 and at location F000:05B.C. you will find 73. I hope this helps. ------------------------------ Date: Thu, 6 Aug 1987 00:58 MDT From: Keith Petersen Subject: Updated XMODEM YMODEM ZMODEM Protocol Documentation Chuck Forsberg's latest documentation files for XMODEM/YMODEM/ZMODEM protocols are now available from SIMTEL20... Filename Type Bytes CRC Directory PD: YMODEM5.DOC.1 ASCII 65477 858EH (includes XMODEM) ZMODEM5.DOC.1 ASCII 103675 9AAFH --Keith Petersen Arpa: W8SDZ@SIMTEL20.ARPA Uucp: {bellcore,decwrl,harvard,lll-crg,ucbvax,uw-beaver}!simtel20.arpa!w8sdz GEnie: W8SDZ RCP/M Royal Oak: 313-759-6569 - 300, 1200, 2400 (V.22bis) or 9600 (USR HST) ------------------------------ To: "ASD.ADI" Subject: GOSSIP is Government OSI Profile Date: Thu, 06 Aug 87 08:47:53 -0400 Jack - GOSIP is the "Government OSI Profile". It is an attempt by Federal Government to specify and implement computer protocols based on the ISO 7 layer model. The Asst. Sec. of Defense for C3I (Donald Latham) published a memo dated 2 July which tasks various DoD entities for handling conversion-related issues. Bottom line is that it is DoD's intent to move away from the DoD protocols (TCP/IP) and towards OSI. Limited operational capability is targeted for January, 1989. Jeff Edelheit (edelheit@gateway.mitre.org) The MITRE Corporation 7525 Colshire Drive McLean, VA 22102 (703) 883-7586 =-=- This note is in response to yours which follows -=-= I have been asked to find out about a program or protocol called GOSSIP (spelling ??) and so far have been unsuccessful in my search. Anyone out there heard any "GOSSIP"? Thank You Jack Capehart [There are other mailing lists devoted this subject. If I had known what GOSIP was I would have referred this message to those other lists. -wab] ------------------------------ To: Anthony_Whipple@um.cc.umich.edu, INFO-IBMPC@C.ISI.EDU Subject: Signal Processing Routines Mathlab from Mathworks Date: Thu, 06 Aug 87 09:20:28 PDT From: Daniel Abramovitch My suggestion is PC-Mathlab, from the Mathworks. All of the stuff that you mentioned is included in the basic package. The filtering and differentiating is readily done with the filter routine. There are also routines to produce and plot Bode plots, Nichols plots, etc. What is Mathlab, you ask? Mathlab was the original matrix manipulation package written by Cleve Moler at the University of New Mexico based on the LINPACK and EISPACK projects. The original Mathlab was public domain, and several companies have made control and signal processing packages based upon this original FORTRAN code, most notably CTRL-C (Systems Control Technology) and MATRIX-X (Integrated Systems Incorporated). These packages were originally coded to run on VAX class machines, and the basic underlying code has not changed. (Coded meaning: slow and expensive!) PC-Mathlab is a second generation package written by Cleve Moler and John Little (the latter having worked on CTRL-C). It is completely rewritten in C, and optimized for the PC. There is also an integrated set of graphics routines and the existing code is extensible by user written code. There are now 2 ways to extend Mathlab on the PC. The first of these is by using "m-files" (programs written in the Mathlab language). These can be "compiled" by Mathlab at the beginning of a run to speed execution. The second way is to link in C or FORTRAN subroutines. The advantage of the second method is that it allows you to use existing routines that may run much more quickly than m-files. Currently Microsoft C and FORTRAN are supported as well as (yeah!) Turbo-C. There are also Postscript drivers available for making the nice plots on your screen look like nice plots on paper. Mathlab has also been ported to several other machines: VAX/VMS and Sun Workstation; and ports are on the way to VAX/UNIX, Apollo, and Mac II (probably also for a Mac with the speed up board). University price is about 1/2 the standard price, and group orders of 10 or more are 1/2 the university price. The end result is that my PC copy cost me $256 about a year ago and I am about to get an upgrade to Version 3.1. Their address is: The MathWorks, Inc. Suite 250 20 North Main St. Sherborn, MA 01770 617-653-1415 Disclaimer: I am not connected with the MathWorks in any way. We do have so many people using and extending the product, though, that our lab has become a beta test for their products. I personally have been extremely satisfied with the product. Daniel Abramovitch Information Systems Lab Stanford University (415) 723-3024 ------------------------------ Date: Tuesday, 11 August 1987 10:26-MDT From: Bruce Buzbee Subject: Mathematical Scratchpad for Functions Available from SIMTEL20 I uploaded a new Shareware program for the SIMTEL20 MSDOS archives. It was written by a friend of mine who doesn't have access to ARPANET and he asked me if I could post it for him. There are 2 archive files: SPIA.ARC contains the program, documentation, etc. SPIADEMO.ARC contains a self running demo of SPIA. Filename Type Bytes CRC Directory PD: SPIA.ARC.1 BINARY 190832 D245H SPIADEMO.ARC.1 BINARY 145448 B885H DESCRIPTION ----------- SPIA is a mathematical scratchpad for functions. SPIA provides an interactive environment in which to study functions (like sin, cos, etc.) and signal processing techniques (like Fourier transform, convolution, etc.). The results of these functions are displayed graphically on the user's screen. SPIA is essentially an interpretive programming language, in which the variables are functions (vectors) and the operators are the basic mathematical operations with a few special ones thrown in. By taking the supplied functions and operators (and a little ingenuity) one can custom build an enormous array of functions upon which to experiment. The commands which invoke these functions and operations are entered in the command window at the bottom of the screen. Some of the functions provided: Fourier transform (forward and inverse), convolution, cross correlation, derivatives, integrals, square root, smoothing, sin, cos, exponential, delta, heavyside, lorentzian, pseudo random noise, gaussian, notch, rectangle, sign, sinc, triangle, ramp, absolute value, amplitude, complex conjugate, logs... ------------------------------ Date: 2 Aug 87 22:44:08 GMT From: Markku Savela Organization: City Lines Oy, Helsinki, Finland Subject: VT100 and Tek401x Emulation based on CMU PC/IP Pac Knobi der Rechnerschrat writes: >2.) If the answer to 1.) is no, ist there a PD VT-100 telnet program > available which is based on the CMU PC/IP package (I'm neither > willing to pay for a commercial package, nor do I like to have > communication programs without sources. >Martin Knoblauch A month or two ago I was in the same situation, looking for a good VT100 emulation in the TCP/IP world. I already had that CMU PC-IP package and I wasn't very satisfied with the H-19 Telnet. I also had my own VT100 emulation that was using INT14 interface (and relied on the RS232 driver to do the XON/XOFF handshake -- my machine is NOKIA ASC, quite close to IBM PC/AT). I took the CMU PC-IP TN-program, stripped it down to bare bones and interfaced it with INT14-interrupt service. When started, it just hooks to INT14, opens the TELNET connection and spawns the MS-DOS command interpreter. Then I just start my own terminal emulator. My version is just a hack to test the idea, but it worked. I'm just wondering, why hasn't this been done earlier? Is it, that INT14-interface is not usually used in terminal emulators? Just to give you a better idea about what is going on, I include my INT14-catcher (any comments Drew D. Perkins?). Markku Savela Tel.Int. +358 0 45571 Nokia Information Systems Telex 124486 P.O.BOX 780 SF-00101 HELSINKI Telefax +358 0 455 7373 FINLAND [I14TRAP.ASM has been added to the Info-IBMPC Lending library. -wab] ------------------------------ Date: Fri, 7 Aug 1987 13:20 MDT From: Keith Petersen Subject: PKARC Squashed ARCs Defined Here is Phil Katz's SQSQINFO.DOC which defines the format of squashed ARC file members. --cut-here--SQSHINFO.DOC--cut-here-- The purpose of this document is to detail the format of "squashed" files created by PKARC version 2.0 or later. This document assumes some basic knowledge of existing ARC formats and various compression techniques. For more information consult the references listed at the end of this document. The general format for an ARC file is: [[archive-mark + header_version + file header + file data]...] + archive-mark + end-of-arc-mark The archive-mark is 1 byte and is the value 1A hex. The file header can be defined by the following 'C' structure, and is 27 bytes in size. typedef struct archive_file_header { char name[13]; /* file name */ unsigned long size; /* size of compressed file */ unsigned short date; /* file date */ unsigned short time; /* file time */ unsigned short crc; /* cyclic redundancy check */ unsigned long length; /* true file length */ }; The name field is the null terminated file name. The size is the number of bytes in the file data area following the header. The date and time are stored in the same packed format as a DOS directory entry. The CRC is a 16-bit CRC on the file data area based on a CRC polynomial from the article by David Schwaderer in the April 1985 issue of PC Technical Journal. The length is the actual uncompressed size of the file. The header versions are defined as follows: Value Method Notes ----- -------- ----------------------------------------------------- 0 - This is used to indicate the end of the archive. 1 Stored (obsolete) (note 1) 2 Stored The file is stored (no compression) 3 Packed The file is packed with non-repeat packing. 4 Squeezed The file is squeezed with standard Huffman squeezing. 5 crunched The file was compressed with 12-bit static Ziv-Lempel- Welch compression without non-repeat packing. 6 crunched The file was compressed with 12-bit static Ziv-Lempel- Welch compression with non-repeat packing. 7 crunched (internal to SEA) same as above but with different hashing formula. 8 Crunched The file was compressed with Dynamic Ziv-Lempel-Welch compression with non-repeat packing. The initial ZLW code size is 9-bits with a maximum code size of 12-bits (note 2). An adaptive reset is used on the ZLW table when it becomes full. 9 Squashed The file was compressed with Dynamic Ziv-Lempel-Welch compression without non-repeat packing. The initial ZLW code size is 9-bits with a maximum code size of 13-bits (note 3). An adaptive reset is used on the ZLW table when it becomes full. Note 1: For type 1 stored files, the file header is only 23 bytes in size, with the length field not present. In this case, the file length is the same as the size field since the file is stored without compression. Note 2: The first byte of the data area following the header is used to indicate the maximum code size, however only a value of 12 (decimal) is currently used or accepted by existing ARC programs. Note 3: The algorithm used is identical to type 8 crunched files with the exception that the maximum code size is 13 bits - i.e. an 8K entry ZLW table. However, unlike type 8 files, the first byte following the file header is actual data, no maximum code size is stored. References ---------- Source code for ARC 5.0 by Tom Henderson of Software Enhancement Associates, usually found in a file called ARC50SRC.ARC. Source code for general Ziv-Lempel-Welch routines by Kent Williams, found in a file LZX.ARC. Kent Williams work is also referenced in the SEA documentation. Source code and documentation from the Unix COMPRESS utilities, where most of the ZLW algorithms used by SEA originated, found in a file called COMPRESS.ARC. Ziv, J. and Lempel, A. Compression of individual sequences via variable-rate coding. IEEE Trans. Inform. Theory IT-24, 5 (Sept. 1978), 530-536. The IBM DOS Technical Reference Manual, number 6024125. - Phil Katz, 12/27/86 ------------------------------ Date: Sat, 8 Aug 87 16:44:59 EDT From: Dave Goldblatt Subject: Turbo C Patches Regarding the set of patches on clutx.clarkson.edu: When you go about ftp'ing these files, make SURE you have binary mode set. The archive extracts fine here, tests ok here, etc. If you still can't get a good copy, I have a uuencoded file I can mail you if all else fails. The patches are in /pub/TurboC/tcpatch.arc on clutx.clarkson.edu, available with anonymous FTP. -dg- ------------------------------ Date: Mon, 10 Aug 1987 11:10 EDT From: SOLEY@XX.LCS.MIT.EDU Subject: Real vs Protected Modes [Yes DOS runs in "real" mode vs "protected" or "native" mode. I wish there were some sense to these names. OS/2 switches between real and protected modes. This is non trivial! -wab] Actually, the names make quite a bit of sense from the point of view of memory addressing. In "real", or 8086-emulation mode, the 80286 (or 80386) accesses memory without protection: 16*segment+offset is the REAL address of the memory location specified. In "protected" mode, these chips use a Multics-style segmentation scheme to calculate memory address, and furthermore PROTECT the user from (1) access to invalid locations, (2) writing a code segment, (3) executing a data segment, etc. The name "native" refers to the actual instruction set and addressing scheme of the chip, as opposed to the way the chip acts when emulating an 8086. OS/2 is a poor example of an operating system that switches between modes; if well written, it needn't ever switch, but simply use the VM/86 feature of both the 80286 and 80386 for MS-DOS emulation. Operating system EXTENDERS, which actually run on top of DOS, do need to switch to support complete DOS/driver/TSR compatibility; an example of this would be OS/386 and OS/286 from A. I. Architects, or DOS Extender from Phar Lap. Richard Mark Soley, CEO A. I. Architects, Inc. Soley@MC.LCS.MIT.EDU 617/577-8052 [I guess I am dating myself remembering the days when PDP-11s had memory PROTECTION but ran in REAL memory as opposed to VIRTUAL memory. All these words had meanings 15 years ago. Now they have new meanings. I can't agree with you that OS/2 is poorly written. It is not so trivial as you allege to be able to emulate a DOS environment in protected mode on an AT. How about some more technical description of your products OS/386 and OS/286. -wab] ------------------------------ Date: Wed, 12 Aug 87 10:40:45 SST From: Dieter Menne Subject: Autocad .DXF File from Fortran and Turbo-Pascal I include a Pascal and a Fortran procedure to produce graphics in AUTOCAD data exchange format. Only 'movea' and 'drawa' (TCS- style) are supported, feel free to add other gadgets, but I never needed more. To make drawings for publications, I produce a '.DXF'-file of the data in a 1x1 square without axis and lettering; then I insert the stretched and compressed BLOCKS with data into the nicely decorated coordinate system. Dieter Menne Department of Zoology National University of Singapore Singapore 0511 Bitnet ZOOMENNE@NUSVM [AUTOGRAF.PAS has been added to the info-ibmpc lending library. -wab] ------------------------------ Date: Wed, 12 Aug 87 13:43:08 EDT From: Russell Nelson Subject: New Version of Freemacs Freemacs is a freely copyable programmable text editor, or else it's a full screen programming language, I'm not sure which. Freemacs is much like Gnu Emacs, and runs on the IBM-PC and Zenith Z-100. It's written in assembly language, so it's fast :-) and non-portable :-(. However, it's probably a simple task to port it to other MS-DOS PC-incompatibles. Freemacs is always available from clutx.clarkson.edu via anonymous FTP in subdirectory pub/emacs14c.arc. However, because we are in the hinderlands of the Internet, you might have better luck getting a copy from Simtel20, PD:emacs???.arc. Actually, Freemacs is fairly interesting from a computer science point of view. MINT, the language that Freemacs uses, lets you do content- addressable memory, argument passing by [address, value, name], arguments may or may not be evaluated, recursion (there is no iteration operator, "just" recursion), and a few other things. ------------------------------ Date: 12-Aug-1987 2043 From: mitton%nac.DEC@decwrl.dec.com (Dave Mitton) Subject: DECnet-DOS problems (V6 #55) RE: From: MURRAY@wharton-10.arpa > We've just gotten DECnet-DOS V1.1 here ... That's too bad. V1.2 has been shipping since April. >- IBM AT, 640K, DOS 3.1, Micom Ethernet card, color monitor with EGA card, >connected to Ethernet through a DELNI. Installation of DECnet-DOS seems to >go ok, but the system hangs when we run the DLL (Data Link Layer) process >(although it does print some very pretty colored boxes all over the screen >first) I've never seen this simple configuration fail, so there must be something you've left out. Is the Micom board configured correctly? Does Micom's own diagnostics run on it? Did you install the correct DLL? (Hint: DLLMICOM.EXE on the distribution) >- HP Vectra (IBM AT clone), 640K, IBM DOS 3.1 (DECnet complained about HP >DOS 3.1), 3Com Ethernet card, color monitor with EGA card, connected to >HP's version of a DEMPR, which is connected to a DELNI, which is connected >to the Ethernet. This one hangs at various random spots during the reboot >after the DECnet-DOS installation ... If you read the SPD, DECnet-DOS is only supported on IBM PC systems. The HP Vectra is an example of why. As reported previously in this Digest, the HP BIOS uses interrupt vectors in the 6x hex region for video support. DECnet-DOS tries to use them too. Guess what happens? But luckly, HP has nicely written a software workaround for the problem. Phone up their Customer Support and ask for it. (I always have to look up the old Info-IBMPC-Digest with their announcement in it.) Dave Mitton, DECnet-DOS Software Engineering. (this mail composed on a VAXmate) ------------------------------ Date: Fri, 14 Aug 87 03:43:02 PDT From: Ya'akov_Miles%UBC.MAILNET@MIT-Multics.ARPA Subject: Re INFO-IBMPC Digest 30 Efficient Block Transfers Title Loop ;Demonstrate Block Transfer technique, sometimes called Transfer Vectoring COUNT =12345 ; Number of bytes to read BLOCK_SIZE =9 ; Bytes per data transfer block PORT =241h ; Clock. BCD seconds/100. (341h ?) ; BLOCK_SIZE =BLOCK_SIZE and 0FFFEh ; Force even # of bytes/xfer block ; Code Segment ; Declare Segment before "Assume" Assume ds:Code,ss:Code,cs:Code,es:Code ; Segment order avoids "problems"... ORG 0100h ; Start address for .COM binary file begin: mov di,offset DATA ; ES:[DI] --> data area mov cx,COUNT ; Get total bytes to transfer mov bx,BLOCK_SIZE ; Get data transfer block size, BYTES mov ax,cx ; Get lo order transfer byte count xor dx,dx ; ...zero hi order byte count div bx ; AX = blocks, DX = remainder push ax ; ...save block count mov cx,dx ; Get bytes in partial block mov dx,PORT ; ...load clock port jcxz exact ; Exact number of blocks in transfer ; fract: in al,dx ; Read BCD seconds/hundred. stosb ; ...ES:[DI] --> (next) saved result loop fract ; ...until done ; exact: pop cx ; Load number of blocks to transfer jcxz done ; ...less than one block in xfer ; block: Rept BLOCK_SIZE/2 ; Unroll DO loop this amount, bytes in al,dx ; Read BCD seconds/hundred xchg ah,al ; ...save temporary in register in al,dx ; Read BCD seconds/hundred xchg ah,al ; ...swap bytes to IBM order. Yuk stosw ; ...ES:[DI] --> (next) saved result Endm ; ...end of unrolled DO loop loop block ; ...love FORTRAN ; done: ret ; Back to BASIC programming data: ; ...data area after program Code ends ; End Begin ------------------------------ Date: 6 Aug 87 10:31:23 PDT (Thursday) Subject: PC Packages used in Europe From: "David_C._LaBerge.osbunorth"@Xerox.COM I need some information to help prepare for a workshop in London. I'm trying to find out what the popular PC packages that are running in Europe are. 1)Spreadsheets 2) Databases 3) Word Processors (by country) 4)Communication Software and hosts (What packages and what are they dialing into) 5)Miscellaneous (utilities, graphics, CAD etc.) Please respond to LaBerge.OSBU_NORTH@Xerox.com ------------------------------ Date: Thu, 6 Aug 87 13:17 EDT From: Subject: Computers in Europe My experience is with computer work in the Federal Republic of Germany ("West"). The people there that I know are all working with IBM PC compatibles. No one I know shells out the money for Big Blue. Toshiba laptops with 20 Mg drives, AT compatible, with 1 Mg Ram chips are the most common. Runs DBASE III and II like a charm. The Siemens PC is kind of a drag on the market. People weren't too enthused about it, and there were BIOS problems in some of the software. the DBASE stuff seemed to run OK on it, but compilers had a bit of a problem (like Clipper). Keep in mind that if you are going to take a machine there "A few precepts": The converters do in fact convert the current nicely. However, you can't plug your video screen into this directly and get away with it. What you need to do is plug your monitor into the power source in the back of your machine (which does output the appropriate hertz for your monitor to scan) and you'll be fine. I knew someone at the Pentagon who had a converter which converted the hertz as well as the voltz, but since the above is a cheap solution (about 8 bucks for a plug which is compatible with the back of your IBM PC, why bother?). You will have to fill out a shippers export declaration statement if you are taking your PC out of the country. This makes it easy for you to bring your PC back into the country if and when you come back. In addition to this, have your appointment papers handy if applicable, so that the people there can verify that you need the PC in your work. (Have your employer put this in writing somehow). Just doing these simple things makes life clear sailing. I had no problems at all. Phil Wood Human Development Pennsylvania State University PQW@PSUVM ------------------------------ Date: Sat, 8 Aug 87 13:23 EDT From: Subject: Foreign Information If the user going to Europe is thinking of developing bookkeeping information for that market, he/she should be aware that the terminology and style of keeping books for a small business (at least in Germany, Austria, and Switzerland) involves keeping track of transactions in a much different way than we are used to. Really research this before trying to market a PC product for this audience. W.r.t word processing, there was a product in Germany called Text-Ace which was getting good reviews for being compatible with the intricacies of doing foreign characters within a word processing environment. Microsoft Word was doing a good job of changing the program over to accommodate a particular language. In addition, at least in Berlin, the IBM stores were also marketing a keyboard with a few of the keys changed on the keyboard, but with the same basic keyboard layout. Be sure to familiarize yourself with such things before merrily programming and assigning functions to keys assuming that putting them a certain place will make the program more "user friendly." You may be making it user hostile instead... ------------------------------ Date: Thu, 6 Aug 1987 13:43 EST From: Rich Stillman <26-324@HARVBUS1> Subject: DOS 3.3 bug I ran across this bug as soon as I put DOS 3.3 up on my system. I have an IBM AT 319 with a 2M Rampage EGA from AST, 128K of which is used to fill low memory to 640K. The system also has 512K of IBM extended memory, set up as a ramdisk. When I ran Lotus 1-2-3 with large spreadsheets that had worked for me before, I started getting the message "Formula computation error" and instructions on how to call Lotus customer support. This happened even with simple spreadsheets, like a multiplication table I built as a test, if the spreadsheet was large. Continuing to work on the spreadsheet after that was a recipe for disaster. I once had to power off to stop 1-2-3 from writing to my hard disk for a couple of minutes of straight disk I/O. Fortunately, no harm was done. The only thing different about my setup was DOS 3.3. I rebooted the system from floppy with DOS 3.2 and my hard disk CONFIG.SYS and ran Lotus. Everything worked fine. I rebooted DOS 3.3 with the EEMS driver removed from CONFIG.SYS. Once again, everything was fine. The only combination that causes the problem seems to be DOS 3.3 and the EEMS memory, implemented through REMM.SYS. Has anyone else seen this problem? I have not tried to reproduce it with other brands of EEMS, or EMS. I have been running DESQview 2.0 for the last two weeks with no trouble at all, using the EEMS heavily. In fact, if I tell DESQview not to let Lotus use any expanded memory, it will work under 3.3. This must be the equivalent of removing the driver from CONFIG. Is there any comment from Lotus or IBM? If this is a general problem, it seems that disaster looms on the horizon for users of large Lotus spreadsheets. Rich Stillman Bitnet: 26-324 at HARVBUS1 Arpa/Edunet: 26-324%harvbus1 at wiscvm.wisc.edu ------------------------------ Date: Thu, 6 Aug 87 14:09 EDT From: Subject: Fontasy Fonts Wanted Hello, I am sending this request to see if anyone knows of any "Public Domain" FONTASY fonts. I am looking for any that you might know of, on another system, on a BBS (I will need the number), etc. Thank you, Alan cscon102@uoft02 (BITnet) ------------------------------ Date: Thu, 06 Aug 87 14:37:09 EST From: John Subject: An accelerator Hello, I'd like to tap some experience if I may. I'm thinking of buying an accelerator for my XT and am curious as to what problem I may encounter. i.e: what functions of DOS will be affected due to the decreased amount of time spent in "timing" loops and the like? If anyone has one or knows anything about them, the board is a PC-Bandit, and ALL it does is increase my clock rate... Thanks, John Any comments on other boards are welcome. You may want to reply directly to me so we can keep the volume of mail down... :-) ------------------------------ Date: Thu, 6 Aug 87 13:46:38 pdt From: wcwells%opal.Berkeley.EDU@jade.berkeley.edu (William C. Wells) Subject: Unix programs for IBMPC's - nroff/troff Does anyone know of a nroff/troff clone that will run under MSDOS? Bill Wells wcwells@ucbvax.berkeley.edu ------------------------------ Date: 6 Aug 87 22:00:29 GMT From: carsontr@utcsri.UUCP (Carson T. Schutze) Subject: TSR/Palette-Setting Interrupt Conflict Organization: CSRI, University of Toronto Hi. I need some help with memory-resident utilities and interrupts. I have four TSR programs I want to have loaded all the time. One of them, an EGA palette setting program, allows me to specify which interrupt I want it to use [that's all I know about it, BTW; no source or detailed doc]. Its default interrupt, 09, does not work properly -- palette settings only take effect when I hit the Ctrl key, and they do not survive screen mode resets. Fortunately, the only other 'recommended' interrupt for this program, 1C(Timer) works perfectly -- color settings are immediate, and survive any program which tries to change them. Unfortunately, when this mode is loaded, and I then try talking to another machine via modem on my serial port, characters sent from the remote host are randomly lost (at least one every line, which is too much!). Using the recently-posted interrupt listings, I tried other interrupts for the palette program (paletcon.com), but with no success. Either they don't work at all, or they get messed up by my other TSR's. HELP! How can I get this set-up to work? My work-around has been to use TSR-utility's MARK.COM and RELEASE.COM to remove the palette program when running Qmodem, and put it back after. Not very satisfying, though. My Hardware: IBM PC-AT, ATI EGAWONDER card (could be different from genuine IBM card) My Software, and its interrupts, listed as 'hooked vectors' by MAPMEM.COM: NEWFONT: 10, 7E WAITASEC: 09, 10, EF, FD, FF DOSEDIT: 21 PALETCON: whatever I want, default 09 Any hints would really be appreciated. Carson T. Schutze Dynamic Graphics Project Computer Systems Research Institute (416) 978-6619 University of Toronto Toronto, Ontario, Canada M5S 1A4 carsontr@toronto.CSNET carsontr@csri.toronto.edu {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!carsontr ------------------------------ Date: 6 Aug 87 12:55:44 EDT (Thu) From: zeeff%b-tech.UUCP@umix.cc.umich.edu (Jon Zeeff) Subject: dBase III Data File Editor Needed Organization: Branch Technology Ann Arbor, MI I'm looking for a dBase III data file editor. Something like the browse command, but with things like insert record and search functions. Has anyone heard of one? Jon Zeeff Branch Technology, uunet!umix!b-tech!zeeff zeeff%b-tech.uucp@umix.cc.umich.edu ------------------------------ Date: Thursday, 6 August 1987 08:12-MDT From: sundc!hqda-ai!cos!howard@SEISMO.CSS.GOV (Howard C. Berkowitz) Subject: VT220 Wang 2110 Emulator Source code is needed for a simple VT220 (or, ideally, Wang 2110) emulation package which can be/is already modified to support 32 function keys. This emulator will run under MS-DOS, and ideally would be written in BASIC or C. Most available VT200 emulators only support 10 function keys. We need to extend the package to support additional function keys through shifts, etc., and have this keyboard-to-code mapping available to the terminal user (for redefinition). howard(Howard C. Berkowitz) @cos.com {seismo!sundc, hadron, hqda-ai}!cos!howard (703) 883-2812 [ofc] (703) 998-5017 [home] DISCLAIMER: I explicitly identify COS official positions. ------------------------------ Date: 08/07/87 08:27:25 EST From: MARIA%SERVAX.BITNET@wiscvm.wisc.edu (MARIA=DRAKE) Subject: Z-151 & Z158 Memory Beyond 640K Several of our Zenith Z-151 and Z-158 systems have 768K memory. Do you know of anyway that we may use the memory beyond 640K? We would like to use that memory for a print spooler or a RAM disk, but we don't know how to access it. Thanks Maria Drake Florida International University BITNET: MARIA@SERVAX or MARIA%SERVAX.BITNET@WISCVM.WISCVM.WISC.EDU ------------------------------ Date: Sat, 08 Aug 87 22:19:45 EST From: John Subject: Timing problems.. Hello, A question related to my last posting that I'd like to ask is: If I put an accelerator in my PC that does nothing but increase the clock rate, will I have problems reading and writing to floppies and my hard disks? If so, does anyone know approximately where I should look to change these values in the ROM? ( Thanks to the people who gave suggestions on how to reburn the ROM on my HD controller so my second HD would work.. Simple once you know what your doing. :-) ). If I can figure out all the places that need changing, and what to change the values to, I'd consider reburning the ROM.. I'm assuming that there wouldn't be any other timing problems.. Also, does anyone know what clock rates correspond to what access times for memory chips, and are there any other chips (ROM?) that would need to be replaced do to the increased clock rate? Well... Thanks for listening.. and any pointers anyone may have.. If responses are posted directly to me, I'll summarize them and post them in case anyone else is curious.... John W. DeBoskey John@ncsuvm.bitnet "I don't play moria... IT plays ME!" ------------------------------ Date: Mon, 10 Aug 87 00:16 CDT From: Subject: Herc Compat board I recently purchased a herc compat board. The only documentation that came with it stated the 'formulae' for address a pixel on the screen and the address of the ports on the card. I've seen the sample pascal code recently submitted for putting the board text or graphic mode. What I would like is some routines or pointer to documentation for writing routines to plot 'characters' and to do other sort of graphics (draw line, polygon fill and so fourth). I realize that there are basic routines for doing the lines and polygon using a set pixel routine, but I was hoping for routines which were optimized for the herc board. ALso, with respect to plotting characters, the idea is to display text of variable size (such as in a tektronix emulator) on the screen so these routines would have to be very efficient. The only access I have to the net is via bitnet, so if there is pd software which can be ftp, could you include a US mail address for sending a floppy to get such software. Thank you, Alan Krantz Ps, please CC all replies to me since we sometime miss issues of INFO-IBM. Also, this is a plain monochrome herc compatible board - no ram font or color.... [The library is full of examples of such programs and is accessible from bitnet. -wab] ------------------------------ Subject: INT 3DH from Turbo Date: Mon, 10 Aug 87 09:15:52 -0800 From: davef@portia.Stanford.EDU I'm writing an application that is going to run on a 3com network. The program logs information about each workstation in a central log file. As such, I need to open the file in a mode that denies write access to subsequent opens. So I'm trying to open the file with the DOS function 3DH. If the open is successful, I write my information; if not, I delay for a while and try again. I set up the DOS registers and call 3DH, and then I call 59H to determine if there was an error. And I always get back error ID #8, insufficient memory. Here is the code that I'm using: type regpack = record ax,bx,cx,dx,bp,si,di,ds,es,flags : integer; end; asciiz = array[1..namelen] of char; procedure openfile (var hand : integer); var reggie, reggie2 : regpack; dastr : asciiz; closed,count : integer; begin for count := 1 to fnamelen do dastr[count] := logfile[count]; (* note: logfile contains the name of the central logfile *) dastr[namelen] := chr(00); (* null byte at end of asciiz string *) repeat with reggie do begin ax := $3D12; ds := seg(dastr); dx := ofs(dastr); end; msdos(reggie); hand := reggie.ax; (* handle to file, if there's no error *) with reggie2 do begin ax := $5900; bx := $0000; end; msdos(reggie2); closed := reggie.ax; (* closed -> no error; code = 0 *) if not (closed = 0) then wait; until closed = 0; end; I'm fairly new to IBM PC programming, so it's possible that I'm doing something horribly wrong. If I am, could someone please show me the error of my ways? Does anyone out there have any idea why I consistently get an error id of 8? (Above, closed = 8.) Does anyone have any sample code that accomplishes what I'm trying to do? Since I might be completely wrong about my error checking as well as/instead of my open function, could I get samples of the correct error checking procedure as well? Thanks very much for any help you can give me; I've already exhausted the pool of local knowledge in search of an answer. Replies to davef@portia.stanford.edu. David Finkelstein AIR Systems Development Stanford University davef@portia.stanford.edu (415) 723 1055 [DOS allocates all available memory to a task in order to be compatible with DOS 1.0. Subsequent calls to DOS memory allocation routines always result in "insufficient memory" unless you de allocate some memory. In assembly language programming this is quite simple. I don't know how Turbo Pascal handles this problem as there is probably some conflict between Turbo Pascal dynamic memory allocation and DOS. -wab] ------------------------------ From: psivax!polyslo!abell@seismo.CSS.GOV (Alan Bell) Subject: How do you determine P.C. clock speed? Date: 10 Aug 87 18:25:52 GMT Organization: Cal Poly State Univ,CSC Dept,San Luis Obispo,CA 93407 Is there a way, under program control, to determine the clock speed of an IBM P.C. or compatible? The only method which I could come up with would be to make a system call to get the system time, execute a loop a fixed number of times (say a million), then call for the system time again. Then, knowing how long it takes on another P.C. and its processor speed, you can figure the approximate speed of the machine being tested. The problem with this approach, is that I want to run this program at the start of an application, and of course it will take time to run it. What I am looking for is a method which is instantaneous, or better yet, the source code. Thanks in advance for your help. If there is enough interest, I shall post the result. Alan Bell Cal Poly State University San Luis Obispo, CA 93407 ...ihnp4!csun!polyslo!abell [A not very good solution would be to use an environment variable and ask the user to set the speed of the CPU. -wab] ------------------------------ Date: Tue, 11 Aug 87 15:10:56 MEZ From: Erich Neuwirth Subject: Program Name in Turbo Pascal I have a question: Is there an easy way for a program written in Turbo Pascal to find out under what name it has been invoked. The command line parameters only contain everything after the program name. I think my UNIX friends told me in UNIX normally the first accessible parameter is the programs name itself. In MS-DOS the PSP does not contain the programs name. Erich Neuwirth ------------------------------ Date: 11 Aug 87 12:53:00 EDT From: "DAVID_CHAPMAN" Subject: Calendaring/Scheduling Software Does anyone out there know of any good(!) local area network packages that do calendaring and scheduling? We already have an electronic mail program we are more than happy with, so a program like Higgins would be a bit of an overkill. What I would like to do is have a LAN-wide personal scheduling system that would allow for organization-wide coordination of meetings. It'd be nice if it was TSR type of program, too! Also, the ability to handle departmental file servers would be a plus. Not asking for much, eh? The target LAN would be a Novell's Advanced Netware/286 based IBM Token Ring (with later additions to a bridged 3Com). If I get sufficient responses, I will summarize and post. David Chapman NARDAC Norfolk (804) 444-1190 "I'm not asking for the world; Mars will suffice." ------------------------------ Date: Tue, 11 Aug 87 18:08 PDT From: Subject: 12 MHz Enhanced Expanded Memory (EEMS) Available? Is there an add-in card for PC ATs that will run Enhanced Expanded Memory (EEMS) on a 12 Mhz AT clone (no wait states)? I called AST today about the speed on their AST RAMpage EEMS card. Their customer support says that this card runs at 8 MHz with one wait state. They say that the bus on the AT will slow down to the 8 MHz rate for all memory calls. Is that the last word? Thanks in advance to you speed demons out there. ------------------------------ Date: Wed, 12 Aug 87 17:46 CDT From: (Michael Coleman) Subject: Yet Another Turbo C Bug I've been following the discussions about Turbo C bugs and was wondering if anyone else has had this problem. When using the interactive environment and trying to do a MAKE with a project file, compilation is aborted because .C files cannot be opened, even though the files are where they are supposed to be (all of the directories are set correctly and CONFIG.SYS is ok). So I tried loading the offending file into the editor (which was no problem), and compiling that way. Apparently the compiler came down with an extreme case of cognitive dissonance, because it bombed completely out (i.e., "Please contact Borland, exit error = 555, winerror = 0"). Any ideas anyone? Mike Coleman COLEMANM@UMKCVAX1 P.S. Has anyone considered writing PC-specific graphics libraries? ------------------------------ Date: Thu, 13 Aug 87 9:55:28 MDT From: John Shaver Modernization Office Subject: Cross Reference Does anyone have a program which will make a list of all the words in an ASCII file? I'd like to find one. It does not have to generate the numbers of times which the word was used. Thanks John [Try C or Pascal Tools by Kernighan & Plauger a cross reference program is one of the program exercises for the student. -wab] ------------------------------ Date: Thu, 13 Aug 1987 13:59 CDT From: Fred Seaton Subject: Quick Directory Erase We have an application that creates a subdirectory and then adds about 1000+ files (each containing about 1000 bytes) until the application has finished. At the start of the next day, this directory must be erased, removed, and re-created. The problem is that the erasing process takes upwards of 25 minutes. Does anyone know of a method for speeding up this process? One idea I had was to partition our hard drive into two smaller drives and then use one half of the drive for these "data" files (and maybe have the root directory FAT increased to 1500 or 2000 file entries so all entries could be in the root as opposed to a slower sub-directory) and then just reformat that half of the drive when we need to erase all the data files. Does this sounds like a good idea? Does anyone have a better suggestion? Thanks in advance... Fred Seaton ------------------------------ Date: Fri, 14 Aug 87 15:47:47 EDT From: David Kirschbaum Subject: Epson Equity I NetLandians, If anyone has any experience in upgrading or working with the MS-DOS Epson Equity I, I'd appreciate your messaging me. (Not the net, please .. probably limited interest in this old slug.) Questions concern: Upgrading (memory, power supply) Adding hard drive PC and PC-DOS compatibility Reliability Thanks in advance, David Kirschbaum kirsch@braggvax.ARPA ------------------------------ Date: Fri, 14 Aug 87 15:57:41 EDT From: David Kirschbaum Subject: Lotus 123 Clones NetLandians, Would appreciate any feedback on highly-compatible 123 clones (low price, PC-compatible, preferably with macro enhancements and efficient memory management, preferably v2.0 compatibility). Thanks in advance, David Kirschbaum kirsch@braggvax.ARPA ------------------------------ End of Info-IBMPC Digest ************************ -------