Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!decvax!decwrl!ucbvax!info-ibmpc From: GILLMANN@USC-ISIB.ARPA (Richard Gillmann) Newsgroups: mod.computers.ibm-pc Subject: Info-IBMPC Digest V5 #15 Message-ID: <8601282320.AA07277@ucbvax.berkeley.edu> Date: Tue, 28-Jan-86 15:50:55 EST Article-I.D.: ucbvax.8601282320.AA07277 Posted: Tue Jan 28 15:50:55 1986 Date-Received: Wed, 29-Jan-86 06:30:37 EST Sender: usenet@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 1021 Approved: info-ibmpc@usc-isib.arpa Info-IBMPC Digest Tuesday, 28 January 1986 Volume 5 : Issue 15 This Week's Editor: Richard Gillmann Today's Topics: A look at AIX and the RT PC Expanding Environment Space (2 msgs) PC Speedup (2 msgs) AT Speedup (3 msgs) Renaming Subdirectories (6 msgs) Expanded Memory for Compaq286 Deskpro Re: Vfiler problem Re: Multilink Windows vs. DesqView vs... Review of the Mix "C" Compiler Re: BOOTCODE.ASM Query: Turning off key rollover Query: Queuing a Print File Free plotting library wanted Query: "Preview" for TEX output "PROCOMM" Query Disk Optimizer Query WPS+PC Query Some technical problems ---------------------------------------------------------------------- Date: Sun, 26 Jan 86 05:13:30 est From: "John R. Levine, P.O.Box 349, Cambridge MA 02238-0349 (617-494-1400)" Subject: A look at AIX and the RT PC First, let me explain how I know about the RT PC. I used to work for Interactive Systems until August 1984, and while I was there, I was the software architect for the port of Unix to the RT PC. I don't work for Interactive any longer and can't predict what will happen to the RT PC in the future, but I did have a lot do with the design of AIX. The report below is my own opinion and recollection, and not the formal position of anyone including myself. So much for disclaimers. Hardware The RT PC uses the IBM ROMP chip, a more or less reduced instruction set chip that has been in the works for a long time. It is a fully 32-bit big-endian byte addressed machine. It is not particularly RISC-y in that its register architecture is just like the 360's (16 general purpose registers) and there are no interlocks that the software has to take into account like the MIPS chip has. It does have branch-with-execute and the only memory reference instructions are load and store and load-multiple and store-multiple. Halfword and fullword operands are forcibly aligned on natural boundaries by ignoring the low bit or two of the address. This is a major performance win. Sorry, Vax and 80286 fans. The address architecture is more interesting. All virtual addresses are 32 bits. The high order 4 bits of an address are a "segment register number" and the low order 28 bits are the offset into the segment. The 4-bit segment register number is immediately looked up and translated into a 12-bit segment number (the current hardware only supports 12-bit segment numbers, but there's room in the architecture for 15.) The 12-bit segment number plus 28-bit offset together determine a virtual address which is translated by the segmentation hardware. The page tables are inverse mapped in the manner of the System/38 or an Apollo -- there is a page frame for every page of real memory and the logical page and segment tables exist only in software. The page size is 2K and a segment can grow either up or down. Segment registers 14 and 15 are reserved by the hardware for I/O stuff, but the other 14 registers are available to software. This scheme allows fast context switches because the real page tables and TLB keep track of the 12-bit segment numbers; only the 16 segment registers need be changed for a context switch and no TLB flush is needed. Up to 4K segments can be simultaneously defined, which is enough for all of the processes under a typical AIX. Floating point support is provided by a coprocessor board with the National Semi floating point chip. If the coprocessor is not present, floating point is simulated in software. If you're writing in assembler it's up to you to address the coprocessor board (special addresses in segment 15) and to call simulation routines if it's not present; higher level languages such as C handle it for you automatically. Note that unlike the 8087, the National chip supports only the most basic floating point functions and NANs and gradual underflow are done in software in any event. The National chip does do what it does very fast, so that floating arithmetic that doesn't generate a lot of exceptions should run fast. Software architecture The RT PC has a three-level software architecture somewhat like that of VM/370. At the lowest level is the Virtual Resource Manager, the VRM, which provides a virtual machine with segmented virtual memory to the next level. The second level is the Unix kernel, and the third level is Unix user processes. The virtual machine provided by the VRM is somewhat specialized to support the Unix kernel. For example, it can create a logical copy of a segment where the new and old segment share common pages but whenever one or the other changes a page, it gets its own copy of that page. This primitive is very handy for efficient implementation of the Unix fork() primitive. The VRM also handles low-level disk I/O and error recovery, and also provides most of the support for the screen windowing (unless they changed it since I left, which they might have.) The AIX system is a port of AT&T System V with a lot of upwards compatible extensions. Where it made sense, we borrowed stuff from 4.2, for example the improved signal handling calls. Where there were de-facto standards that made sense we followed them, such as the /usr/group file locking primitives. Other stuff we had to invent ourselves, most notably primitives which map files into segments, useful for code sharing and for data base stuff. The C compiler is a straightforward port of PCC, much of which I did. It produces code that is about as good as any other PCC compiler's, although it must be admitted that PCC does not take very good advantage of large numbers of registers. None the less, I believe you'll find that if you compare C programs on a Vax 780 under 4.2 or SystemV and on a RT PC under AIX, you'll find the RT PC to be somewhat faster. Friends have run dhrystones but I'll let them report their own results. Adding your own hardware devices Go right ahead. It can be a little more complicated than on other Unix systems since you need both a VRM driver and a Unix driver unless it's something like a disk where your VRM driver can present an interface that the Unix kernel already understands. Facilities are provided to add new drivers to both the VRM and Unix in binary-only systems. The external I/O bus is a PC/AT bus and most of the peripherals, other than the new screens, are PC AT peripherals. I don't know how IBM feels about attaching stuff to the internal 32-bit bus, but unless your device is extremely fast, I don't know why you'd need to. Interactive Systems DOS There are two entirely separate DOS environments on the RT PC. One is the PC AT coprocessor board which not surprisingly acts very much like a PC AT. The other is a DOS compatibility package which runs under AIX. It consists of a library of routines which faithfully simulate the various documented DOS calls along with reimplementations of most of the commonly used DOS commands and the DOS command processor. This means that if you have a DOS program written in something other than 8088 assembler, in principal you recompile it under IS-DOS and it should work. Of course in practice the fact the the ROMP has 32-bit big-endian linear addressing rather than 16+16=20 little-endian segmented addressing will cause trouble, as will the fact that practically every useful DOS program diddles the interrupts and directly addresses the screen and other hardware. Even so, I gather that the IS-DOS environment feels comfortable and familar to DOS users and that porting from PC-DOS to IS-DOS is notably easier than going all the way to native AIX and besides, most of your familiar batch scripts and function keys still work. Unix programs can call DOS programs and vice-versa, since it's still Unix underneath, so that mixed environments are workable. IS-DOS can read and write PC-DOS floppies directly and if you open A:FOO.BAR from your IS-DOS program, by golly it'll read your PC-DOS floppy, unless of course you logically redirected A: somewhere else. Networking Beats me. AIX supports what you get with System V, i.e. uucp. We physically plugged in 3Com Ethernet cards and got them to work under AIX in a primitive way that was adequate for transferring files from our Vax and a lot faster than floppies. IBM is not dumb and I expect they'll have some sort of network out eventually, but I do not know what kind or what functions it will support. As noted elsewhere, the ACIS port of 4.2BSD (which was an almost entirely separate effort from AIX) gives you the TCP/IP support that 4.2 provides. John Levine, Javelin Software, Cambridge MA 617-494-1400 { decvax | harvard | think | ihnp4 | cbosgd }!ima!johnl, Levine@YALE.ARPA The opinions above are solely those of a 12 year old hacker who has broken into my account, and not those of my employer or any other organization. ------------------------------ Date: 23 Jan 1986 19:19-EST From: Tom.Wood@FAS.RI.CMU.EDU Subject: Two AT Problems: environment space & ctrl-break We've run into two significant problems--any suggestions would be appreciated: According to the DOS documentation, once a device driver is loaded, environment space can no longer be expanded. Unfortunately, because of our application (a PGB driven from VDI), we need both to load drivers from CONFIG.SYS and to expand our environment space. I have tried the undocumented switch "/E:n" as described in the last issue of INFO-IBMPC--it causes our system to hang up. Is there any reasonable solution to this problem? AND, we have an AT that will completely lock up 4 out 5 times that CTRL-BREAK is invoked. Power cycling is the only way to recover. The machine passes all the diagnostics. We are perplexed and annoyed(!). Could this be a hardware problem anyway? Oh--we are running DOS 3.1. Thanks for any ideas. Tom Wood taw@fas.ri.cmu.edu ------------------------------ Date: Thu, 23 Jan 86 13:25:17 est From: malpass@ll-sst (Don Malpass) To: INFO-HZ100@RADC-TOPS20, info-ibmpc@usc-isib Subject: environment space - some replies Here are some responses dealing with the environment space problem. My original thought was to wait till I had tried Don Nash's suggested patch, but decided insetad to forward the whole pile in case any of you got some hack-time before I did. It appears to be a general enough problem that copies of future msgs should probably be sent to info-hz100 and/or info-ibmpc until we lick the problem. DON [MALPASS@LL-SST] FORWARDED [EDITED] MESSAGES: FROM: Tim Gonsalves Re: environment space - I've seen messages in info-ibmpc on the subject and suspect that [isi-b] contains a program to increase it. This should work directly or with modifications in a -100. Re: "Bad command.com ..." message - I've had the same problem. Unresolved so far. Please let me know I you find any answers. Re: Finding environment reduced to PATH and COMSPEC - you could be stuck in a higher level command.com. Try typing 1 or more "exit" to get back to the lowest level. This has happened to me. Tim FROM: dlnash@ngp.UTEXAS.EDU (Donald L. Nash) Here is a patch to COMMAND.COM to increase environment space to 128 paragraphs of 16 bytes each: debug a:\command.com -u cs:ece ;should be XXXX:0ECE BB0A00 MOV BX,000A ; XXXX:0ED1 B448 MOV AH,48 ; XXXX:0ED3 CD21 INT 21 -aece ;address to asemble new code into XXXX:0ECE mov bx,0080 ;system prompts you with XXXX:0ECE, ; you enter "mov bx,0080" followed by . XXXX:0ed1 ;system prompts you with XXXX:0ED1, ; just type a . -u cs:ece ;should be XXXX:0ECE BB8000 MOV BX,0080 ; XXXX:0ED1 B448 MOV AH,48 ; XXXX:0ED3 CD21 INT 21 -w ;write change YYYY ;message telling how many bytes were written -q ;quit I got this patch from: Max S. Robin AT&T Bell Laboratories Rm. 3E-318A Whippany, NJ 07981 201-386-6865 email:whuxg!2212msr so ask him for more info. If you unassemble at that location and don't get what is above, don't try anything, the address for the patch for your version of COMMAND.COM is different. I've done this myself for an IBM PC with PC-DOS 2.0 and it works fine. FROM: F._Andy_Seidl%UMich-MTS.Mailnet@MIT-MULTICS.ARPA MS defines the environment as occupying "up to 32K bytes" and that it can move around (meaning that if you get its address via a system call, you cant be guaranteed that it will be in the same place if it is modified or if you start a new process.) This shortage of env space has been a real headache for me as I have several products which use the environment and it is usually not possible to have everything SET that I would like. I have tried tracking down the problem for several months but have not found satisfactory solutions anywhere, including Microsoft, IBM and Zenith tech support, user groups, every competent MS-DOS hacker I know (which is not a small number) and several conferences. I was hoping MS-DOS 3.10 would solve the problem but no such luck. END FORWARDED MSGS More to follow, I hope. don [malpass@LL-sst] ------------------------------ Date: Sat, 25-Jan-86 18:44:29 EDT From: Manny Farber Subject: Boosting PC (not AT) clock rate I just replaced my PC's 8088 with a NEC V-20, (the Norton Utilities and the V20TIMER program both say that the performance is equivalent to that of a hypothetical 11.92 MHz 8088. When running programs with normal memory access, it seems to be much closer to 8 MHz, perhaps less; it's a welcome boost nonetheless) and would like to try to boost the clock rate, using the higher-speed V-20. I would appreciate any pointers from anyone who has tried boosting his clock rate. Thanks in advance ------------------------------ Date: Mon, 27 Jan 86 22:20:59 pst From: Paul Stephen To: Info-IBMPC Digest Subject: Query: Overthruster PC Speedup Anyone out there know anything about the "Overthruster"? It's supposed to be a system in which you replace the 8088 with the 8088-2 processor and you remove the clock chip and put in a circuit board which gives you 2 switches -- one for a machine reset and the other to switch between regular and higher clock speed. Firm is located in Culver City CA. Firm's name is Nucleus. ------------------------------ From: connery%bnrmtv.UUCP@BRL.ARPA Subject: Avoiding diskette timeouts on 18MHz ATs Date: Thu, 23-Jan-86 09:16:18 PST A patch for avoiding the floppy diskette timeout problems on ATs running xtals >15MHz... ; ; Change Diskette Parameter Table's motor startup delay ; by Glenn Connery, BNR, January 1986. ; ; The Diskette Parameter Table is pointed to by interrupt vector 1E at ; address 78H. The table consists of 11 bytes (0..A) the last of which ; is the motor start up time, in 1/8ths of a second (normal clock). By ; modifying this value you can correct for the faster crystal installed ; in your PC-AT. ; ; The normal value is 8 (is 1 second). Running a 9MHz machine instead of ; a 6MHz machine means that 0C (or 1.5 seconds normal time) should be used. ; ; No warranty is made of the suitability of this program for any purpose ; nor any guarantee that it will function as specified. Use it at your ; own risk. ; code segment public assume cs:code,ds:nothing org 100h ; : start: mov ax,0 mov ds,ax ; mov bx,ds:[78h] ;offset mov es,ds:[7Ah] ;segment ; ; and finally, stuff the new delay period into the appropriate place in the ; table... this is the byte to change for different crystal speeds ; mov byte ptr es:[bx+0Ah],0CH ; exit: mov al,0 mov ah,4ch int 21h ; code ends end start ------------------------------ From: Stephen Sisler Subject: How to make a faster AT Date: Wed, 22-Jan-86 13:58:30 PST Courtesy of Stephen Sisler, here is some interesting information about products that will speed up the PC AT. This is from messages in the IBM PC AT forum (PCS-131, subtopic 4) of CompuServe. Stephen's account there is 72366,3724. 80286s: 10mhz are going for $250-$300. 12mhz for $350-$400 retail. 14mhz are supposedly available for $$$$. Some ATs will run at 16mhz. Reportedly these are the new C6 or E2 versions that fix the protected mode bug that plagued DRI. 80287s: Even when you're running your 80286 at 9 or 10mhz, your 80287 is still running slow, because while the 80286 is driven at 1/2 the xtal speed, the 80287 runs @ something like 1/3 (?), so boards are available that plug into the 80287 socket and drive the 80287 at 8mhz (twice the normal speed) using 8mhz 80287s. 100ns RAMs: 128k @ circa $7 each; 256k @ $5.15 each Software: A patch is available for $24.95 that inserts a floppy drive timing delay to stop those Drive Not Ready episodes when operating at > 9mhz. A patch to defeat that rotten timing loop in the new 30MB AT ROM is also available (isn't life wonderful). Speed Switches: Several companies are selling switches that let you switch between 2 to 5 different speeds. (I made my own for < $10). The 2 most interesting are sold by AMS: The AT-1 lets you switch manually between 3 different speeds for $74.95. The AT-2 @ $124.95, lets you switch between 3 different speeds using the *KEYBOARD*. One or both also contain hardware and/or software to defeat the timing loop in the new AT ROM. Both come with a reboot button and *OCCUPY AN EXPANSION SLOT*. (NOTE: Paged memory boards won't yet run at faster speeds). I'm saving my shekels for the 80386 upgrades/add-ons coming out this year. Stephen offered the following sources for the above mentioned products. These are not necessarily the only sources, but Stephen cites them as ones that solicit retail business. Fast crystals, 80286s, software patches, 80386 product in near future: ARIEL, (201-788-2788). 100ns RAMs, 80286s, 80386 Motherboard, RAM boards, software patches. Will modify your AT motherboard if needed to make it run faster. BGI, (215-538-3900). Fast crystals, AT-1 & AT-2 Speed Switches, software patches. AMS: (818-810-8443). Speed Switches, Crystals, 8mhz 80287 board, software patches. Megahertz Corp: (801-355-8857) . 8mhz 80287 board, 8mhz 80287s, Established reliable company. MicroWay: (617-746-7341). 100ns 256K RAMs. Microprocessors Unlimited: (918-267-4961). Very cheap crystals with thin wire leads for making your own speed switch, etc. B.G. Micro: (214-271-5546). Some companies advertising high-speed crystals are charging $8 to $16. Fry's Electronics in Sunnyvale is selling them for $1.99. ------------------------------ Date: Tue, 28 Jan 86 08:46:52 PST From: walton%Deimos@Hamlet.Caltech.Edu Subject: Re: IBM Boobytrap for AT Speedup To: Qualcomm@USC-ISID.ARPA, info-ibmpc%Deimos@Hamlet.Caltech.Edu Franklin, you are correct in your assumption, as PC Magazine confirms. With the new AT's with the IBM-produced 30 Mb hard disk, IBM has indeed added a timing loop to the BIOS which prevents system bootup if a faster crystal has been installed. Talk about planned obsolescence! Buy someone else's AT clone--this combined with the wait states should dissuade anyone from buying an IBM AT. As far as I know, the only way around this is to replace the ROM BIOS in your new IBM AT with a copy of the one in someone's older machine, which is NOT RECOMMENDED. Steve Walton Caltech Solar Astronomy walton%deimos@hamlet.caltech.edu swalton@caltech.bitnet ------------------------------ Date: 26 Jan 1986 00:01-EST Subject: Re: Renaming Subdirectories From: ABN.ISCAMS@USC-ISID.ARPA This is in response to Elias Saab's query about how to rename a subdirectory without deleting all the files, etc. I have a public domain program named "DIRENAME.COM" that came without source code or documentation, and I don't even recall where I snarfed it from! But it does work quite well. It prompts for old directory name, renames it to new, with no problems whatsoever. Never had any problems on my system (PC clone, PC-DOS 3.1, 10 Megger). Dunno how I can respond directly to Elias (some weird BitNet address I never have much luck reaching), but will dig around the nets and try to find where I found it. Regards, David Kirschbaum Toad Hall ABN.ISCAMS@USC-ISID.ARPA ------------------------------ Date: Sun, 26 Jan 1986 06:01 EST From: LENOIL@XX.LCS.MIT.EDU Subject: Re: Renaming Subdirectories The restriction that you can't rename a directory is artificial, i.e. command.com prohibits you from doing it, not the DOS. Therefore, write a small program to call DOS function 56h. Or, do it using DEBUG, like this: CD to the parent of the directory you wish to rename. Let's assume you wish to rename C:\FOO to C:\BAR. Do the following: C>CD \ C>DEBUG -A xxxx:0100 INT 21 xxxx:0102 [press RETURN] -E 200 "FOO",0 -E 300 "BAR",0 -R AX ax xxxx :5600 -R DX dx xxxx :200 -R DI di xxxx :300 -T 1 -Q If you follow this procedure, substituting the appropriate filenames, your directory should be renamed. ------------------------------ Date: Mon, 27 Jan 86 15:56:04 EST From: Kenneth E. Van_Camp (LCWSL) Subject: Re: Renaming Subdirectories The batch file below uses the public domain MV.EXE program (on the USC-ISIB archives) to move an entire directory. Create the following file and call it MVDIR.BAT --------------------------- Cut Here -------------------------------------- ECHO OFF CD > \TMP\PWD.MKB CD\ TYPE \TMP\CD.MKB > CMMDS.BAT TYPE \TMP\PWD.MKB >> CMMDS.BAT MKDIR %1 COMMAND /C CMMDS MV *.* %1 CD\ TYPE \TMP\RMDIR.MKB > CMMDS.BAT TYPE \TMP\PWD.MKB >> CMMDS.BAT COMMAND /C CMMDS DEL \CMMDS.BAT CD %1 --------------------------- Cut Here -------------------------------------- The syntax of the command is: MVDIR \dest where the full path name of the destination directory must be specified (including the initial \). It is assumed that the current directory is the one you want moved. Not quite as flexible as the Unix mv command, but it's the best I could do. Note that there are two supporting files, as well: \TMP\CD.MKB and \TMP\RMDIR.MKB. These can be easily created as follows: COPY CON CD.MKB CD ^Z and COPY CON RMDIR.MKB RMDIR ^Z Notice that only a space separates the command from the ^Z (Control-Z). After the ^Z, of course, you should type a carriage return. \tmp\cd.mkb: cd \tmp\rmdir.mkb: rmdir ------------------------------ Date: 27 Jan 1986 17:35:29 PST Subject: Re: Renaming directories From: Richard Gillmann To: info-IBMPC@USC-ISIB.ARPA The program RENAME.PAS, in the Info-IBMPC library, can rename both directories and files. Dick Gillmann ------------------------------ Date: Tue, 28 Jan 86 06:10:34 MST From: halff@utah-cs.arpa (Henry M. Halff) To: info-IBMPC@usc-isib.arpa Subject: Renaming Subdirectories Elias Saab asks: Does any one know how to rename a subdirectory without erasing it and creating it with a different name. There is a utility called DIRENAME in CompuServe's IBM-PC SIG's library that will do this job. I believe that it can be found in DL1. hh ------------------------------ Date: Tue 28 Jan 86 09:00:28-CST From: Pete Galvin Subject: Re: Renaming Subdirectories To: MATHES%UMCVMB.BITNET@WISCVM.WISC.EDU cc: info-IBMPC@USC-ISIB.ARPA I believe DOS call 51 (hex) will allow you to rename a directory without deleting it and rebuilding it. See the DOS technical manuals. ------------------------------ Date: 26 Jan 1986 12:44-EST From: SCHNUR@USC-ISI.ARPA Subject: Expanded Memory for Compaq286 Deskpro I have a Compaq286 with 1.6 megabytes obtained by replacing the memory with 256k chips. Does any one know how do make this accept the various expanded protocols now being written eg. for lotus 123.version2, etc. Can I add a board such as the ast advantage the system as it now exists? Will that work for the Lotus system? All I can do now with the memory is use it for a very nice and large RAM disk. Joel Schnur (Schnur@ISI) ------------------------------ Date: Mon 27 Jan 86 11:58:39-PST From: Ted Shapin Subject: Re: Vfiler problem I have experienced the same problems with vfiler 2.28. It has no protection against copying a file to the same directory which results in files being truncated to the first block (4K or whatever). I don't use SIDEKICK. Maybe someone with a Compuserve? account could try and contact the author Mike Nice [73565,565] and see if he is willing to fix it or to make the source code available. I use it, although I have been burned by it and some of our other users have banned it entirely. Ted. ------------------------------ Date: 27 Jan 86 10:57 GMT From: meaders @ KOREA-EMH Subject: Re: Multilink To: bakin @ mit-multics.arpa CC: info-ibmpc @ usc-isib.arpa Ref your question on MultiLink: ML allows (or turns) a PC, XT or compatible to perform apparent multitasking and multiuser functions. It turns your system into a PC-DOS/MS-DOS time sharing system. I have been using ML in its bulletin board mode and simulataneously using WordStar. I have also used several other programs successfully; HOWEVER, programs that do fun things to the video data do not work without serious modification. The company is The Software Link, Inc. Sorry I don't seem to have the address or phone number. Mark Meaders ------------------------------ Date: Tue, 28 Jan 86 08:45:56 PST From: walton%Deimos@Hamlet.Caltech.Edu Subject: Windows vs. DesqView vs... To: info-ibmpc%Deimos@Hamlet.Caltech.Edu I am the author of a favorable mini-review of Windows in INFO-IBMPC a few weeks back. Two (at least) unfavorable ones have appeared since. I have a bit more to contribute. The worst flaw in MS-Windows, and it is very serious, is that it uses the start of a DOS function call as its trigger to pause one task and take up another one. This means that a CPU-intensive task, which includes such things as a compile-link sequence, takes over the machine. All of the other multitasking programs for DOS use some form of time-slicing, which gives each program a piece of the CPU for a fixed fraction of the time available. As for the windows-vs.-tiles arguments: The response from Microsoft that MS-Windows doesn't preclude overlapped windows is true, but misleading, since it is the MS-DOS Executive, the top-level Windows program provided by Microsoft, which does the tiling and automatic resizing of windows which George Eldridge complained about. Microsoft would have to modify this program in order to allow overlapped windows--you can't do it yourself even if you write your own Windows Applications. Finally, though, I still think Windows is a very nice package, though as I stated originally, it is probably best thought of as a graphics interface rather than a multitasker at present. Anyone who wants a fair and detailed overview of 8 (!) multitaskers for the PC is referred to the review in the December '85 issue of PC Tech Journal. Steve Walton Caltech Solar Astronomy walton%deimos@hamlet.caltech.edu swalton@caltech.bitnet ------------------------------ Date: Tue 28 Jan 86 09:10:11-PST From: Jackie Subject: Review of the Mix "C" Compiler To: info-ibmpc@USC-ISIB.ARPA cc: howald%ECLD@USC-ECL.ARPA My friend, Vince Alfieri, who is not on the net, recently purchased the MIX C compiler. Here's his report: I decided to take the plunge and buy the MIX C compiler, because I wanted to learn C without spending too much money, and it looked like a good deal at $39.95. After mailing in my order, I received the software promptly. I am an experienced dBASE programmer with a smattering of Pascal, but this was my first exposure to C. So keep in mind that my comments are those of an "educated beginner." In general, I am VERY happy with the program. It seems to be a fairly "standard" version of the K & R language, is easy to use, compiles programs quickly, and works for the most part without problems. There are also a host of "non-standard" functions, including ones for the MS-DOS and CP/M environments. The manual, although not type set, is quite well done. It is divided into sections: a "getting started" section, a tutorial, a reference section, a discussion of standard and non-standard functions, and a "tools" section, which includes how to use the compiler and other special files. The tutorial was good, but not great; their ad claims it to be the "best tutorial." However, it certainly covers the essentials of the language for the novice, and gives full program examples for all important concepts. Thankfully, most of the programs in the tutorial run without a hitch. One complaint: each section has its own index, which makes finding information rather difficult. The compiler does a relatively fast, one-pass run, showing you your program code on the screen, together with line numbers, as it goes along. It is definitely not as fast as Turbo Pascal by any means, but not terribly slow either. The code for #include files are also shown on the screen at the point of inclusion. MIX uses the "stdio" file, but no "math.h" file (the math functions are built in). Errors are flagged with an "^" and error code number directly beneath the offending spot, and a list of error codes and their meanings follows the compilation. After a while, you get to know what the error codes mean, so you can stop the compilation (I use a batch file from which I can Ctrl-Break at any time) and make your corrections. The compiler does not produce standard DOS .OBJ files. Rather, it creates .MIX files that are then used by the MIX linker. If you want to include DOS .OBJ files in your programs, there's a utility to convert them first to the .MIX format. The linker shows you the various function calls on the screen as it works, all of which is gibberish to me, but you can side-step this by redirecting the screen display to the DOS NUL device. When successful, the linker creates a DOS .COM file, not an .EXE file. When not successful, the linker shows you its own commands, which allow you to move around in the file, find references, etc. (I haven't investigated these linker features yet.) I have used program examples from several introductory textbooks, most of which compile and run correctly. However, at my novice stage I haven't delved too deeply into C or written any extensive programs, so I don't know how this software would handle a large project or larger than 64K programs (there is an overlay feature in the linker). One thing that the compiler doesn't seem to understand is the macro substitution of functions during the compilation stage. I haven't inquired from MIX whether this is available and I'm just doing it wrong, or whether the compiler doesn't support this feature. No mention of macros occurs in the manual. I also purchased the MIX editor as part of the package deal (for $15 more than the compiler itself). The editor is also excellent and complements the compiler quite nicely. Like the Turbo Pascal editor, the MIX editor uses many of the standard WordStar control-key sequences, so I felt right at home. But the editor also allows you to configure commands in any way you'd like by changing key assignments and creating macros. These are kept in a setup file. If you don't like to remember control-key commands, you can hit the key or ^J and type the command abbreviation (such as "ED" for "EDIT") on the command line. The editor also lets you split a screen horizontally or vertically and to show line numbers if you wish. Although not a total "programming environment" like Turbo Pascal, the MIX compiler/editor comes close. You can use the RUN command from within the editor to compile, link and run programs, thus effectively never having to leave the editor. If you set up the process in a batch file, use the DOS command to run the batch file from the editor. This is ALMOST as good as Turbo! The package comes with several "readme" files that supply updated information, including ways to patch the compiler, linker and editor for various changes. One patch that I would have liked is to disable the automatic request for backup files (the editor always asks if you want to save a backup file when you exit, which is rather annoying, so I have a Superkey macro to get around this). In sum, from the novice's standpoint, I think that the MIX C compiler and editor are an excellent and inexpensive package that are a good start on the path to learning and using C. Even if I eventually need a more expensive compiler, I still won't feel that the money spent on MIX was wasted. ------------------------------ To: INFO-IBMPC@usc-isib.ARPA Subject: Re: BOOTCODE.ASM Date: Tue, 28 Jan 86 14:38:52 -0500 From: Dan Grim I have discovered through my own sad experience that BOOTCODE.ASM is not able to deal with newer DOS partitions that use the 16-bit FAT format. BOOTCODE.ASM understands DOS with 12-bit FAT's (ID byte = 1) and Xenix (ID byte = 2). DOS with 16-bit FAT's has an ID byte = 4 which BOOTCODE doesn't recognize. The fix is trivial: simply change the line following the label 'lddos' from mov al,1 ;id for dos to mov al,4 ;id for dos with 16-bit FAT's Of course, once you do that BOOTCODE won't handle 12-bit FAT DOS any longer. Dan ------------------------------ Subject: Query: Turning off key rollover Date: 25 Jan 86 13:57:02 PST (Sat) From: Randy Day Does anyone have a driver that turns off the PC's keyboard's auto-repeat function? Randy Day. UUCP: {decvax|ihnp4}!uw-beaver!uw-june!randy ARPA: randy@washington CSNET: randy%washington@csnet-relay ------------------------------ Date: Sunday, 26 Jan 1986 09:29:43-PST From: tinius%ekbv00.DEC@decwrl.DEC.COM (Stephen Tinius - Kaufbeuren Manufacturing - KBO) Subject: Query: Queuing a Print File I am trying to submit a file to the (PCDOS 3.0/3.1) print queue using int 2F. From the Disk Operating System Version 3.0 Technical Reference (6322677) page 5-18: "On entry AL=1, and DS:DX points to the submit packet. A submit packet contains the level (BYTE) and a pointer to the ASCIIZ string (DWORD). The ASCIIZ string must contain the drive, path, and filename of the file you want to print." Can anyone tell me what a "submit packet" is, and what "level" means? Stephen Tinius Kaufbeuren, Germany ------------------------------ Date: Mon, 27 Jan 86 12:24:52 EST From: Steven Segletes Subject: Free plotting library wanted Not being an assembly language programmer (but still wanting to have all the benefits associated therewith), I was wondering if the Info-IBMPC library program PLOT.ASM follows Microsoft calling conventions, for instance, so that I might call it from a high level language. If not, are there any freebie routines out there that do such a task (draw a line on the screen) and are callable from a high level routine? Unfortunately, I don't have access to a C compiler (yet??). Steve Segletes U.S. Army Ballistic Research Laboratory Aberdeen Proving Ground, MD 21005-5066 [Sorry, but PLOT.ASM uses assembly language linkages only. -ed.] ------------------------------ Date: 19 Jan 86 21:45 CDT From: Sean_Donelan_%VANDERBILT.MAILNET@MIT-MULTICS.ARPA Subject: Query: "Preview" for TEX output Has anyone had experience with the Preview program from Personal TEX, Inc? This program supposedly allows one to see what the document will look like without having to send it to a printer. It uses a Hercules (or EGA) graphics card, and displays the document on the screen. Is this the answer to our wish to avoid sending rough drafts to our central facilities laser printer just to check spacing and page breaks. Are there any known problems. Will summarize any responses I receive. Sean Donelan Vanderbilt University Sean_Donelan%Vanderbilt.MAILNET@MIT-MULTICS.ARPA ------------------------------ Date: 28 JAN 86 13:20-N From: INNO%HWALHW5.BITNET@WISCVM.WISC.EDU To: INFO-IBMPC-REQUEST@USC-ISIB.ARPA Subject: "PROCOMM" Query Could someone help me find a software package called PROCOMM? It's an emulator, doing up to 6 different emulations. Also VT100, and we need that very much. Most important is the fact that it is free. Only, I don't know how to get it. Hope someone can help. I first got the information on the existance in DEC USER of January 86, page 44/45. The article was written by Dr Alan Solomon IBM Communications Offer S & S Enterprises 31, Holloway Lane Amersham,Bucks,HP66DJ In the article it is said that you can get it via the user groups, maybe someone has connections with them. Phone: (04867) 88710 or 01-6301199. I think this product also shouldn't miss in the Info-IBMPC library. Inno Frencken Computing Centre Agricultural University Hollandseweg 1 6706 KN Wageningen The Netherlands phone: 08370-83875 EARN-id: INNO EARN-node: HWALHW5 ------------------------------ Date: 28 Jan 1986 05:19-PST Subject: Disk Optimizer Query From: BSCHAAR@USC-ISIF.ARPA To: info-ibmpc@USC-ISIB.ARPA I have seen some recent articles on software that improves disk performance. Does anyone have any comments on the following: 1. Disk Optimizer from Soft Logic Solutions $49.95 2. Flash from Software Masters $49.95 3. Lightning from Personal Computer Support Group $49.95 Most of the advertisements are quoting a 2-4-8 times improvement. Any ideas on how these products work would be appreciated. Brian Schaar ARPA: bschaar@usc-isif ------------------------------ Date: Tue 28 Jan 86 08:09:27-PST From: CRESWELL@SRI-AI.ARPA Subject: WPS+PC Query To: INFO-IBMPC@USC-ISIB.ARPA Anyone have experience with WPS+PC software by DEC? Claim is that it fully emulates the Decmate 2 word processor on IBM-PCs. We now have the Decmate and are considering transferring to PCs. ------------------------------ Date: Tue, 28 Jan 1986 18:04 O From: Ram Kolins Subject: Some technical problems To: Me and two of my friends are currently working on a few projects with the pc. We are having a few technical problems and would appreciate some help. The first problem involves memory resident programs: We are writing a memory resident programs using Turbo pascal; any time the memory resident program open or reads a file it halts the computer when it tries to return to the background task. I think that the problem is because of the fact that the bios routines are not reentrant but if so then how does Sidekick manage to open files ? The second problem is a technical problem: I'm developing a special kind of keyboard that should replace the pc keyboard. The Technical manual mention that the keyboard interface is a bidirectional serial port but he does not mention what kind of information does the computer sends to the keyboard serially? Another problem is with the Ciracia Circuit Cellar voice recognition project using the SP-1000. Is there anyone up there how have built the project and ready to give us some help with the software? Is there any replacement to the ADC-0831 that works properly? The last problem is with the Tandy 1000 : What is the exact reason that some hardisks does not work with computer? I also know that Tandy is about to produce a new version of the computer : 1000A and that the difference is in the motherboard, Is there anyone on the net who knows more details? If anyone can assist me with these problems I would highly appreciate it. Please answer by mail. Thanks RAM KOLINS ------------------------------ End of Info-IBMPC Digest ************************ -------