Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL (07/08/89)
Info-IBMPC Digest Sat, 8 Jul 89 Volume 89 : Issue 67 Today's Editor: Gregory Hicks - Chinhae Korea <COMFLEACT@Taegu-EMH1.army.mil> Today's Topics: Re: 80x86 comments Computer road maps of EUROPE Getting disk hardware info in a program Re: Information requested on DOS 'Critical' Flag Slave printer Imagewriter and Zenith PC connection. Re: PrtSC redirecion to file Re: PC-MOS/386 Request for info on Zydex Drive Handheld scanner information HP-PaintJet Public Domain Postscript Interpreter Re: CDROM Query Kermit or termcap problem Problems with HD formatting Problem with TurboPascal 5.0 & ATI EGA Wondercard Psuedo FTP Scripts Re: TDD and the PC Turbo Pascal Bugs Info-IBMPC Lending Library is available from: Bitnet via server at CCUC; and from WSMR-Simtel20.army.mil (see file PD1:<msdos>files.idx for listing of source files) WSMR-Simtel20.army.mil can be accessed using LISTSERV commands from BITNET via LISTSERV@RPIECS.BITNET and in Europe from EARN TRICKLE servers as listed: (send commands to TRICKLE@<host-name> eg: TRICKLE@AWIWUW11) AWIWUW11 (Austria), BANUFS11 (Belgium), DKTC11 (Denmark), DB0FUB11 (Germany), FINTUVM (Finland), IMIPOLI (Italy), EB0UB011 (Spain) and TREARN (Turkey). Send Replies or notes for publication to: <Info-IBMPC@WSMR-Simtel20.Army.Mil> Send requests of an administrative nature (addition to, deletion from the distribution list, et al) to: <Info-IBMPC-Request@WSMR-Simtel20.Army.Mil> ---------------------------------------------------------------------- Date: Mon, 26 Jun 89 16:45:11 PDT From: Dana Myers <dana@bilbo.LOCUS> Subject: 80x86 comments From Info-IBMPC Digest V89 #59: The 8086/8088, the 80186/80188, the 80286, and the 80386 are all different chips, with different CPUs and characteristics. I'll mention a few details, but I don't want to get too involved in the whole issue. The 8086/8088 are essentially the same CPU, with the following exceptions: 1. The instruction prefetch queue is shorter on the 8088 and uses a different algorithm in deciding when to prefetch. 2. The data bus is smaller on the 8088. The 80186/80188 family is different from the 8086/8088 in several ways, including: 1. The inclusion of a handful of peripherals. 2. The inclusion of several new instructions, such as PUSHA, POPA. 3. The improvement of several instruction execution times, such as MUL. 4. The addition of several new interrupt types, such as the invalid opcode exception. The 80286 is essentially an 80186 with an MMU and protection system added, also some new protection oriented interrupts. The 80386 is a completely different CPU, with many features and enhancements. Several new instructions, several new addressing modes, a barrel shifter to speed 'shl AX', etc., and a completely new memory protection system. The XT was designed to allow hard disks and large amounts of RAM in the base configuration. Welll.... you can swap RAM on the 286, but a segment at a time only, which is a pretty limited virtual memory environment.... The 286 allows one to do multi-tasking, but it doesn't just do it for you. The 286 does have a hardware context switch, but, from what I have seen, it is expensive enough in the average case that most folks avoid it. Once in 286 protected mode, one can only get back by a physical chip reset. As I mentioned above, the 386 is NOT an 8086 with some new stuff. It is a very different CPU which expands on the base 8086 configuration. The improvements to the memory management are quite extensive, but one outstanding feature is the addition of paged virtual memory, which is considerably easier to deal with than the segment based virtual memory of the 80286. In fact, with the 386, one can create very large segments and then rely on the protection built into the paging unit, thus providing what looks like a linear address machine (so all the whiners about the 80x86 segments can relax now ;-). Also, the 386 cxan switch back into real mode by resetting the Protected Mode bit. The Virtual 86 mode allows one to create multiple virtual 80x86 machines, but these really aren't just multiple 8088s... these are multiple real mode 80386 CPUs. The address and data over-ride prefixes in the 80386 will operate in V/86 mode, and you'll find you have access to the full 32 bit register set. The new 386 instructions and addressing mdes also work. The primary restriction is that you are limited to 16 bit default operation in the V/86 mode. PS/2s using the 386 include the Model 70 and the Model 80. There is also a PS/2 which uses the 386SX (Model 55?). I've never heard the number 386 used as part of an official PS/2 name. People just seem to add it. The 386SX is cheaper probably coz Intel is trying to stimulate sales of this chip. Intel did the same thing with the 8088 - it cost more to make 8088s, but Intel sold them cheaper... I won't get off into that tangent ;-) Though I haven't looked closely yet (my sample and data books are back ordered), the 376 is a 386 without real mode or most of the MMU. Yes, it is an embedded controller CPU. >>From: david@wubios.WUstl.EDU (David J. Camp) >Subject: Differences in the 80X86/88 Family >The 8088 and 8086 share the same instruction set. The instruction set is essentially the same. Just the way segments are dealt with changes. In fact, I have written quite a bit of code using Microsoft C and then run it under 286 protected mode. >This mode (sometimes called 'protected' mode) is what is used by OS/2. >When OS/2 wants to run an MS-Dos application, it must reset the processor, >so that it reboots into 8088 mode. When running MS-Dos on an 80286, you >make no use of protected mode whatsoever. A 286 is faster and uses a 16 bit data path. It also can easily deal extended amounts of RAM. Though DOS is a real mode application, the extended features of the 286 can be used to speed program execution. Ok -- 'nuff time on the soapbox for me ;-) Dana H. Myers Locus Computing Corp. lcc.dana@seas.ucla.edu ------------------------------ Date: Mon, 26 Jun 89 17:36:30 MET From: Ir. A. Verbraeck <WINFAVE%HDETUD1.BITNET@CUNYVM.CUNY.EDU> Subject: Computer road maps of EUROPE For some research on planning visits to factories in Europe, I am looking for COMPUTER MAPS that contain COUTRY BORDERS and MAIN ROADS in EUROPE. I am not looking for commercial software: the budget for this project is not high enough to pay for expensive computer maps. Does anyone know of PD maps of European countries and roads to be used on the IBM PC (or another computer)? Thanks in advance. Alexander Verbraeck e-mail: Delft University of Technology winfave@hdetud1.bitnet Department of Information Systems winfave@dutrun.uucp PO Box 356, 2600 AJ The Netherlands ------------------------------ Date: Sat, 24 Jun 89 09:24:53 CDT From: "Craig S. Cottingham" <UC528665%UMCVMB.bitnet@cunyvm.cuny.edu> Subject: Getting disk hardware info in a program Anyone know how an application can determine what kind of disks are attached to a PC? The AT and PS/2 have a ROM-BIOS interrupt (int 13H, function 08H) for this. Int 21H functions 1BH, 1CH, and 36H all will provide info about a _disk_ in the drive, but I need to know what the _drive_ is capable of. FORMAT does it somehow (or does it?). There's an IOCTL function (Int 21H, function 44H, subfunction 04H) that will read device driver-specific info, but of course the info depends upon the driver and there's not a standard format. Worse, block device drivers are not required to support this function. Any suggestions? Thanks in advance! _Craig S. Cottingham uc528665@umcvmb ------------------------------ Date: Sat, 24 Jun 89 09:43:11 CDT From: "Craig S. Cottingham" <UC528665%UMCVMB.bitnet@cunyvm.cuny.edu> Subject: Re: Information requested on DOS 'Critical' Flag (Disclaimer: I'm working from memory; have reference at home. Will report back with confirmed information.) It's okay to reenter if DOS is in functions 1-12 (01H-0CH). You can keep tabs on DOS by replacing the int 21H vector with your own handler: myInt21 proc far cmp ah,0ch jle not_crit crit: push ax mov al,CRIT_CODE ; some value that indicates DOS is entering critical ; code mov crit_flag,al ; semaphore location pop ax not_crit: pushf ; the old handler will do an IRET, so fool it into call oldint21 ; thinking it was called with INT push ax mov al,END_CRIT_CODE ; indicates DOS is no longer in critical section mov crit_flag,al pop ax iret Of course, you should check crit_flag before calling the original int 21H handler. (A good way to do this would be check crit_flag first thing in your int 21H handler and return an error code if critical code is executing. Better yet, suspend the calling procedure until critical section is exited.) I'll double check my reference and get back with any corrections. _Craig S. Cottingham uc528665@umcvmb ------------------------------ Date: Mon Jun 26 20:05 1989 local From: Jorge A Prado T <JPRADO%USACHVM1.bitnet@cunyvm.cuny.edu> Subject: Slave printer hello everybody I have the following problem: How can I set a terminal WYSE (in WY-75 personality) to transparently print mode from a program (in c) and return to the normal mode? I want to build a module to manage a printer (connect it to the serial port-rs232c) under Xenix. thank in advance , Jorge Prado JPRADO@USACHVM1 ------------------------------ Date: Mon, 26 Jun 89 02:37:06 EDT From: RB%FSU.bitnet@cunyvm.cuny.edu Subject: Imagewriter and Zenith PC connection. I own an Apple IIe with an ImageWriter printer. Let me emphasize that this is the first Imagewriter not the Imagewriter II. I recently bought a Zenith IBM-PC compatible computer. The Imagewriter is an excellent printer and I would like to use it with my new Zenith PC. Has anyone made a successful connection of the two? I need to know the cable as well as the device driver needed to use my Imagewriter printer with the Zenith. My Imagewriter is a model 89M0303 with an Apple Super "Serial" card hooked up to an Apple IIe. My Zenith IBM-PC compatible is a model 159 with a memory card that includes a DB-25 "parallel" output connector for a printer. Ralph Axel Zuniga@RAI.CC.FSU.EDU ------------------------------ Date: Mon, 26 Jun 89 12:20:12 +0300 From: "Yuval Tal" <NYYUVAL%WEIZMANN.bitnet@cunyvm.cuny.edu> Subject: Re: PrtSC redirecion to file This matter about redirecting files was discussed a week ago in RED-UG. There is such program or redirecting printer to file available from TRICKLE. The file is <MSDOS.PCMAG>VOL6N22.ARC. -Yuval Tal (NYYUVAL@WEIZMANN) |NYYUVAL%WEIZMANN.BITNET@CUNYVM.CUNY.EDU | |Yuval Tal | |The Weizmann Institute Of Science | |Rehovot, Israel "Only fools are quoted" - Anonymous| ------------------------------ Date: Mon, 26 Jun 89 07:38:17 EDT From: "Richard J. Reiner (s9)" <S9RR999%MCGILLB.bitnet@cunyvm.cuny.edu> Subject: PC-MOS/386 > I would appreciate comments by actual users of PC-MOS 386. In particular > the reliability, performance and adaptability with multi-user database > managers. How many users can it efficiently support, maximum disk sizes, > and terminals supported. (I am aware of the PC Magazine review of Feb 28, > but am interested in actual, practical experience). Version 3.0 (with the latest patches from the Software Link BBS) is quite stable and reliable. Previous versions were not. I have a client running a custom Clipper application (using a 120 meg database), SBT accounting, and WordPerfect 5.0 under MOS on a 386/25 with two Intellicon-8 smart serial cards, Wyse 60 terminals, and a 300 meg ESDI disk; sixteen concurrent active users all get reasonable service. The list of supported terminals is long, but with anything other than PC-TERM types you have to use awkward sequences to map the PC's keyboard (ESC 1 0 for F10, etc). ------------------------------ Date: Mon, 26 Jun 89 15:44:15 CST From: Gloria Brown <MERPJ%UMSVM.bitnet@cunyvm.cuny.edu> Subject: Request for info on Zydex Drive I have a friend backhome in India who has a Zydex drive or is in the process of salvaging one from some junk-yard. He says that it looks just like a floppy drive, but the removable media on it can store upto 10 meg. I did a search on Info-tracks and SIC codes. All in vein and the nearest thing I found was a company by name xidex Corp which makes floppy disks, microfilm etc. If any of you out there know anything of this product please do drop a mail to me or to this list. I also need a pointer to information about any public domain source in c for a device driver to support a tektronix terminal on silicon graphics 910 workstation. Pointers would be appreciated. Regards, ../Gloria Acknowledge-To: <MERPJ@UMSVM> ------------------------------ Date: 25 Jun 89 14:18:50 bst From: Murff%edinburgh.ac.uk@NSFnet-Relay.AC.UK Subject: Handheld scanner information Hello, I'm considering buying a handheld scanner, and 2 have caught my eye - the Mitsubishi 130AG A5 scanner (which can apparently handle up to 400dpi) and the Logitech ScanMan. Both come with software and interface according to the catalog. Does anyone have any experience of either of these products? I need the scanner for input to Ventura, so the software would have to be Pc-Paintbrush or DrHalo - is this the case ? JANET: djm@uk.ac.ed.etive Internet: djm%ed.etive@nsfnet-relay.ac.uk Murff@uk.ac.ed.emas-a Murff%ed.emas-a@nsfnet-relay.ac.uk trinity@uk.ac.ed.cs.tardis trinity%ed.cs.tardis@nsfnet-relay.ac.uk D.J. Murphy Chemistry Dept. Univ. of Edinburgh ------------------------------ Date: Mon, 26 Jun 89 15:46:41 MSZ From: "M.J.Hepperle" <PACP%DS0RUS1I.BITNET@CUNYVM.CUNY.EDU> Subject: HP-PaintJet I am going to receive a HP-PaintJet this week. I want to use this printer mainly with Microsoft Windows to print pictures of a surface modelling/ scientific graphing program. I also intend to prepare some hardcopies from EGA screens (hoping that some driver is included with the printer). I would be interested in source code and/or technical data about the printer to adapt a hardcopy-routine I wrote for programs which deactivate the Shift Print-key combination (written in Microsoft C 5.1) So I want to take snapshots of some Sierra game screens etc. If someone has informations on that Printer: Send mail to Martin (PACP at DS0RUS1I) ------------------------------ Date: Mon,26 Jun 89 15:49:27 BST From: I.M.SUTHERLAND%hull.ac.uk@NSFnet-Relay.AC.UK Subject: Public Domain Postscript Interpreter Hi, I am looking for a public domain or shareware program which will act as a PostScript interpreter, and allow me to print out PostScript files on my lowly dot-matrix printer. Cheers in advance, I.M.Sutherland, University of Hull, UK. ------------------------------ Date: Sun Jun 25 16:07:46 1989 From: microsoft!leefi@uunet.UU.NET Subject: Re: CDROM Query > From: Paul Mockapetris <pvm@venera.isi.edu> > > What with all of the CDROM players for PCs I see at the local swapmeets, > I got to wondering how much it would cost to put my favorite database on a > CDROM. A reply to a recent query on CD-ROM authoring sites, costs, etc. This kind of information is in many of the available CD-ROM books on the market, such as these from my bookshelf: Microsoft CD-ROM Yearbook 1989-1990 Sally Oberlin and Joyce Cox, ed. Microsoft Press, 1989 ISBN 1-55615-179-9 CD-ROM: The New Papyrus Steve Lambert and Susanne Ropiequet, ed. Microsoft Press, 1986 ISBN 0-914845-74-8 CD-ROM Volume Two: Optical Publishing Susanne Ropiequet, ed. Microsoft Press, 1987 ISBN 1-55615-000-8 The Brady Guide to CD-ROM Laura Buddine and Elizabeth Young Brady Books, 1987 ISBN 0-13-080631-5 Most discuss the factors involved in writing CD-ROM based apps and getting CD-ROM discs published are covered in books like these. IMHO, a major portion of these books are articles which discuss how great the world will be when everyone had a CD-ROM drive etc.; but there is a lot of useful information chapters in all of these books, especially for newcomers to CD-ROM media. One useful thing that these books have done is collected lists of contact points for the various CD-ROM ventures. While I'm at it, if you're interested in some general and some technical information on the Microsoft MS-DOS CD-ROM Extensions, you can call Microsoft Product Support Services at (206)454-2030, connect with the operating systems group, and request the "CD-ROM Information Kit". Lee Fisher, leefi@microsoft.{wa.us,com,uucp,beaver.washington.edu} {uw-beaver,decvax,decwrl,intelca,sun,tikal,uunet}!microsoft!leefi disclaimer: I use my CD-ROM peripheral mostly for playing music... ------------------------------ Date: Mon, 26 Jun 89 20:57:47 -0400 From: abrams%smiley@gateway.mitre.org Subject: Kermit or termcap problem I have Kermit (version 2.31) displaying a bright foreground color and black as the background. My host is running Sun OS 4; I use the termcap for a VT100. When inverse video is displayed and then switched back to non-inverse, the bright attribute gets turned off. I would like to prevent this. Any suggestions? I suspect that the Sun is sending a sequence that turns off the bright attribute, but can't prove it. I haven't used enough other hosts to compare. Thanks for your help. Sincerely, - Marshall D. Abrams, phone: (703) 883-6938 The MITRE Corporation, 7525 Colshire Drive Mail Stop Z506, Mc Lean, VA 22102 best e-mail address: abrams%smiley@gateway.mitre.org ------------------------------ Date: Mon, 26 Jun 89 09:54 N From: <TGTEJH%HEITUE5.BITNET@CUNYVM.CUNY.EDU> Subject: Problems with HD formatting I bought a WD1003-RA2 RLL controller for my AT and I had some problems with formatting my harddisk. Low level formatting was no problem, but after I made a bootable DOS partition and used DOS format than there were some strange things. With PCDOS 3.20 all works fine. But when I used PCDOS 3.30 and I tried to boot from drive C: I got a message "Missing Operating System". After rebooting from floppy there were a few tracks allocated in the FAT bun no files appeared in the directory. The system files IBMBIOS.COM and IBMDOS.COM were present in the directory and the file COMMAND.COM too. Comparing the code in IBMBIOS and IBMDOS there appeared to be differences. Is there anyone who has an explanation or a solution for this problem, because I want to use DOS 3.30 on my system. Jan Hofman Eindhoven University of Technology The Netherlands TGTEJH@HEITUE5.BITNET P.S. All worked fine with my old controller. ------------------------------ Date: Sat, 24 Jun 89 12:46:00 EDT From: DAVID KLEIN <DAVID@YUOrion.bitnet> Subject: Problem with TurboPascal 5.0 & ATI EGA Wondercard I'm having a problem with my new version of Turbo Pascal 5.0. It does not seem to want to leave my monitor in a readable colour, that is, the screen is put at a solid amber colour. As a result, the commands are just not visible on the screen and when exiting from TP the monitor is still solid amber. Has anyone had this problem? I'm sure it's fairly simple, but I'm darned if I can find it in the reference manual (legitimate). My configuration is a standard XT clone with an ATI EGA Wondercard. Thanks in advance, Dave Klein Bitnet: (DAVID @ YUORION) ------------------------------ Date: Sat, 24 Jun 89 07:21:21 PDT From: Alan Ariel <1052P%NAVPGS.BITNET@CUNYVM.CUNY.EDU> Subject: Psuedo FTP Scripts For those of you that are using IBM's FTP and wish you had a script capability, I have a partial solution. I can't claim the original idea in that I got it from a message on the TCPIP list. The idea is to stack all of the commands you want to use for SIMTEL with an EXEC then call FTP. (I'll finish off this message with an example.) There are a few cautions: 1. Stacking the commands gives no error checking or branching capability. If you don't get a connect, you get to sit through a few error messages from FTP. This approach is probably not a good one for unattended transfers. It is good for hands-off transfers. 2. This will cause problems to a package like VMSCHEDULE because it uses the stack. But as I stated above, this approach is meant for hands-off use. Here's a REXX example: /* REXX EXEC to get files.idx from SIMTEL20 */ CLRSCRN PUSH 'quit' PUSH 'get pd1:<msdos>files.idx files.idx' PUSH 'anonymous guest' 'FTP 26.2.0.74' EXIT Remember, this is a stack so commands have to be PUSHed in reverse order. Alan D. Ariel BITNET: 1052P@NAVPGS LT USN DDN: 1052P@CC.NPS.NAVY.MIL SMC 1624 (or) LEEKW@A.ISI.EDU Naval Postgraduate School Tel: (408) 646-2786 Monterey, CA 93943 AV: 878-2786 Acknowledge-To: <1052P@NAVPGS> ------------------------------ Date: Mon, 26 Jun 89 16:58:32 EDT From: crompton@NADC.ARPA (D. Crompton) Subject: Re: TDD and the PC Rich, The TDD code as I am sure you know is standard 45 baud baudot. In my CPM days, I wrote software to receive and transmit RTTY on Amateur radio. It used an 8251 UART and an 8254 timer (baudrate generator). The 8250 (as used in PC's) has a built in baudrate generator and it can be programmed for the 5 bit word needed for baudot. The only problem is the conversion from baudot to ASCII. This can be done with a lookup table. It would be a rather simple task to write a minimal TDD package using an existing COMM port on the PC. Given the source for a COMM program (kermit would be an example) you could convert it for TDD. Back when I was running the RTTY Amateur stuff on CPM, I modified an old RTTY Modem for the 1400/1800 tones and added a squelch circuit, as it is half duplex (both ends use 1400/1800!). We have a number of Hearing impaired employees here at the base. Maybe one of these days I will get it going again on the PC. I would be glad to pass on the (Z80) code that I wrote. I also have a bbs that I wrote in 'C' on the PC. I carried it over from my CPM system. Because I trap all IO and handle it in my own routines I could easily add TDD support and have a TDD BBS. Doug ------------------------------ Date: Sun, 25 Jun 89 14:00 EST From: "C'est ma vie." <JSHIN%HAMPVMS.BITNET@CUNYVM.CUNY.EDU> Subject: Turbo Pascal Bugs Here are some of my favorite bugs. (NOTE: these were in version 3.0. I don't know if they happen in v.4 or v.5.) 1) If you use EOF(file_variable) boolean function without an argument, e.g.: "If EOF then begin ... end;" the program simply freezes. The compiler lets this by without generating a "syntax error" message (File Variable expected, or something like that). I once had to delete a very, very long program, line by line, to locate this (and, yes, it was modularized - I still had to do it, due to the simplicity of its nature). 2) When an arithmetic operation on Integer variable "overflows," it is simply "wrapped-around" during runtime. No carry, no overflow, no error, no crashing. Imagine what a surprise it can be to have a negative number appear in an operation of all positive numbers! var a,b: integer; begin a:=30000; {very close to the limit, 32767} b:=a * 2; writeln(b); {you get -5536} b:=a * 2 / 2 writeln(b); {you get -2768, or something like that} b:= trunc (a / 2 * 2) writeln(b); {now you get 30000, like you should} {it isn't the TRUNC that does it; it is the order of the expression. in the second example, b:= a / real * 2 would have generated a type mismatch. Maybe the example above also requires a TRUNC, but the result is the same} end; John Shin ------------------------------ End of Info-IBMPC Digest ************************ -------