Info-IBMPC@C.ISI.EDU.UUCP (02/02/87)
Info-IBMPC Digest Monday, February 2, 1987 Volume 6 : Issue 6 This Week's Editor: Richard Gillmann Today's Topics: Protected Mode Advice DOS 4.0? DOS Re-Entrancy & INDOS Flag (2 msgs) Signs Version 4.1 Banner Printing Programs Scientific Software TTPRINT.C added to the Library GENRAND.BAS Program Generator dBase Memo Field 8051 C Cross-Compiler SIMCGA and HGCIBM System Call in MS C Genealogy Software 10 meg XT clone report Unix Command Shareware for DOS How to Format a Plus Hard-Card GETCLOCK Kludge Around DOS Date Rollover Bug Using a Conventional Color Monitor with a CGA Re: Turbo Jr Today's Queries: EMS Memory Board Query (2 msgs) Wordperfect (2 msgs) Ruggedized PCs (2 msgs) Linking Fortran with Overlays Query Problem Saving Turbo Pascal Programs Want to Run MS "C" From a Program Binary Transfer Query Want BASIC Random Number Generator Algorithm IBM Mainframe Graphics Terminal Emulation Query Print Screen of 640x350 Graphics on IBM Proprinter Wanted Problems with NANSI.SYS Graphics Standards Documents Wanted Public Domain PROLOG Wanted Problem with SIMCGA on Hercules Plus Format Problems Legal accounting software Wanted EVE-Like Editor Wanted ---------------------------------------------------------------------- From: microsof!gordonl@beaver.cs.washington.edu Subject: Protected Mode Advice Date: Sun Jan 25 14:26:38 1987 I was in a book store recently and glanced at a magazine I hadn't seen before - "IBM PC Programmer's Journal" (or some such title). It had an article in it talking about a forthcoming 286-DOS from Microsoft. The author tried to piece together a bunch of info he got at a Windows seminar, but unfortunately it came out pretty garbled. I don't remember the details, since I just skimmed it standing at the magazine rack, but I do recall the author repeating an MS warning against using the 8086 segment registers as scratch registers. He hypothesized that Microsoft wanted to have the OS put special values in those registers, or something equally strange. Those familiar with the 286 architecture will figure out immediately what the real problem is with using the segment registers for scratch - it blows up in protected mode. The DOS doesn't care what you put in any register, but if you generate a GP fault then its termination city for you. The bottom line is simple - if you write your programs in a fashion that's compatible with protected mode (i.e., only put segment descriptors in segment registers, and don't build such descriptors by segment arithmentic; only use values that the OS gave you) then it will be much easier to convert that program to also run in protected mode when a 286 DOS is available. >From an article by mlw@ncsc.arpa in re: the same magazine article: I would suggest that programmers who have a significant investment in providing MS-DOS products (internal or external, custom or mass-produced) look carefully at this kind of information as soon as it is available. Great advice... but as per my point above, folks don't have to be knowledgable or correct to write an article and to appear to be an expert. Don't take the stuff you read in the flurry of PC computer rags as gospel - and don't assume that because someone got their article published that they must know of which they speak. (For example, even *I've* had articles published) I got the feeling from skimming the article that the protected-mode OS may give Microsoft the club they may have been seeking to keep outsiders from tweaking their environments too much. I wouldn't say that MS is actively searching for such a thing -- it's probably just a side effect of the OS requirements. Its both... running multiple programs by different vendors together can create an incredible bag of worms when/if those programs interact with each other. This is a big problem today among the various terminate-and-stay- resident programs. Things will get much worse when real multitasking comes along. The protected environment gives us the tools we need to solve this problem, cause we can setup rules and *enforce* them (a sinister chuckle as I run my thumb over the edge of my headsman's axe...) This great feature is also a great problem - because programs can only interface to the hardware/software in ways that the DOS allows, the DOS has to make damn sure that it's providing sufficient ways to satisfy everybody - yes, its the old "all things to all people" design goal. I can't say much about how we think that we've achieved this, but when design info becomes available there will also be text which discusses this critical issue. Our goal is simple - we want everybody in the world to buy the DOS and to be happy that they did. This means that the DOS has to support all possible applications, and support them well. And *that* means two things - apps have to have the freedom to do their work, but their freedom must be constrained so that there aren't surprise side effects and interactions based upon program mix. Gordon Letwin Microsoft ------------------------------ Date: 26 Jan 1987 15:50:12 PST Subject: DOS 4.0 From: Billy <BRACKENRIDGE@C.ISI.EDU> To: info-ibmpc@C.ISI.EDU Has anyone seen DOS 4.0? The press has reported that it has been released to OEMs for some time now. I gather IBM is not among the OEMs. DOS 4.0 is reported to have the ability to run background processes. ------------------------------ Date: Mon, 26 Jan 87 12:38:18 PST From: Dana Myers <bilbo.dana@LOCUS.UCLA.EDU> Subject: DOS Re-Entrancy In volume 6, issue 5 of the Digest, Larry Backman wrote about (among other things) DOS re-entrancy, function 0x4B, INT 28 and DOS source code. 1. DOS re-entrancy. In my experience, DOS is basically not re-entrant except in the case of critical errors and the ability to run a background printing utility. The background printing utility may at first galnce be confusing, but entry to the printing utility is very controlled, and does not represent a true path to re-entrancy. 2. Function 0x4B. On the IBM implementation of MS-DOS known as PC-DOS, the EXEC (0x4B) function resides in COMMAND.COM. On MS-DOS proper, EXEC is in the "kernel". DOS invokes itself internally, but not the same way that user programs invoke it. To issue INT 21s while inside would be wasteful, since DOS is already in the DOS context, rather than the user context. INT instructions and the context switches that come with them can be very expensive. For reasons not public, IBM chose to have Microsoft put EXEC into COMMAND.COM. The obvious reason is that the MS-DOS kernel is smaller, though it cannot load .EXE programs. For certain types of "turn-key" applications, this reduces the amount of memory used by DOS. 2. INT 28. In my experience, it appears that DOS spurts out INT 28s while waiting for characters at the keyboard. This is probably so that the print spooler can run once in a while. I don't think INT 28 is intended as a general scheduler tick. 3. DOS source code. Asking that anyone who has seen DOS source to disclose details of MS-DOS is in poor etiquette. MS-DOS is protected by Microsoft in many ways; one of them is to protect the source from unauthorized access and disclosure. ANYONE who has the source to MS-DOS has it under a non-disclosure agreement with Microsoft or has had unauthorized access to the source. Nearly four years ago I performed a port of MS-DOS 2.0; source was not provided, and if it had been, I could not dislose any details. 4. Gordon Letwin and his warnings Heed them. People like Ray Duncan who insists on documenting "features" of MS-DOS and them encouraging people to use them (for example, the INT 2Eh function in Doctor Dobb's Journal last month) are doing no one any favors. In the case of the INT 02Eh feature, Duncan seems to have done little with INT 02Eh as it does not work under many circumstances. By the way, speaking of the 16-bit Software Toolbox, has anyone noticed that Duncan's ill-advised tirades against Microsoft ceased when his book was purchased by the Microsoft Press? Also, his book (Advanced MS-DOS) is very good, but has none of the undocumented features he reports in his column? Dana H. Myers Locus Computing Corporation, Santa Monica, CA ------------------------------ Date: Wed, 28 Jan 87 11:58:29 EST From: jcm@ORNL-MSR.ARPA (James A. Mullens) To: info-ibmpc@isib Subject: TSRs, INDOS flag, and Microsoft The Dec 86 Microsoft Systems Journal has a long article on terminate-and-stay-resident (TSR) program issues. The article says that several industry leaders and Microsoft have been getting together to develop guidelines for TSRs. Adrian King from Microsoft has promised: "A revised set of rules for interaction with DOS. Currently TSRs depend on several undocumented features such as the IN_DOS flag, the critical error flag, and some undocumented system calls." [Lordy, Lordy, what's DOS call 40?] The article also shows the IN_DOS call: IN_DOS_FLAG DD ? ;address of IN_DOS flag ; Get IN_DOS flag location (need to do this just once!) MOV AH,34H ;get pointer to IN_DOS flag INT 21H MOV WORD PTR IN_DOS_FLAG,BX MOV WORD PTR IN_DOS_FLAG[2],ES ; Check the IN_DOS flag (do this everytime you want to run) PUSH BX ;save old DS and BX PUSH DS ; (because this is background job) LDS BX,IN_DOS_FLAG ;set DS:BX to point to IN_DOS flag CMP BYTE PTR [BX],0 ;are we inside DOS? POP DS POP BX JNZ DO_NOT_RUN_NOW ;jump if in DOS and should not run This method has been known unofficially for a couple of years now. I think this might be first time it has been officially documented? The article notes that the above IN_DOS check method would never allow a background (TSR) program to run while the foreground is at the DOS prompt, and promises that "information to make it useable in all situations will be provided with the revised guidelines on the Compuserve Microsoft SIG)." This was known a long time ago. The article says the guidelines are expected in early November -- I can't tell whether they mean November 1987 (surely not!) or November 1986 (they are only a little behind schedule). There is more general discussion concerning additional data structures TSRs should maintain so that DOS can manage their access to the keyboard interrupt (and other interrupts), and track nasty TSR side effects such as changing display modes. The article never explicitly says that the DOS internals information will be available for DOS 3.x -- is it possible that DOS 5.x will be the first DOS to be so open -- however, the industry committee had intended to issue guidelines already, so it seems that DOS 3 will be covered. By the way, Microsoft wants $50 per year for this bi-monthly glossy company newsletter (charter subscription $34.95). If you are interested I suppose you could write to: Microsoft Systems Journal Box 3587 New York, NY 10163 I got a free issue and subscription offer because I am a Microsoft customer, but I bet you could convince them to give you a subscription! [I have no relation to Microsoft except as a customer] jim mullens / jcm@ornl-msr.arpa ------------------------------ From: Robert Bloom AMSTE-TEI 3775 <rbloom@APG-1.ARPA> Subject: Signs Version 4.1 Banner Printing Programs ReSent-From: KPETERSEN@SIMTEL20.ARPA SIGNS version 4.1 and MakeFont version 2.3 are now available from SIMTEL20. Directory PD:<MSDOS.PRINTER-UTIL> Filename Type Bytes CRC ISIGNS41.ARC.1 BINARY 219776 E6A8H SIGNS.DQC.1 BINARY 22722 8027H SIGNS.MQG.1 BINARY 3968 69D1H SIGNS is a program to make banners (down page) and signs (across page). Written in TurboPascal, SIGNS allows lots of options: input from keyboard or file, output to screen, printer or file, change height and width of output, and printer control, all in an screen oriented format. Generic versions are a bit less capabile and don't have fancy screen displays. A separate program, MakeFont, is used to generate the random access fontfile used by SIGNS. Three fontfiles are included, one of which will work only on the MS-DOS version (it's *BIG*). MS-DOS people have it a bit easier, ISIGNS contains both sources and executables. The separate documentation file, SIGNS.DQC, contains lots more info. SIGNS.DOC is formatted to print pretty with WordStar - if control characters and print commands are not acceptable to your system run the file though a filter. (FILT from Irv Hoff is recommended.) Bob Bloom 46 Broadleaf Drive Newark, DE 19702 ------------------------------ Date: 26 Jan 1987 11:11:18-EST From: mlsmith@NADC To: ssmith@sierra Subject: Re: Scientific Software Search Cc: info-ibmpc@usc-isib Check into Meshmaker, it also has electrostatic and magnetostatic programs that complement it. It is not cheap, but maybe they will give you a University discount. The makers are: Answers Unlimited University Technology Development Center 4516 Henry Street Pittsburg, PA 15213 (412)683-4846 DISCLAIMER: I have no financial arrangement with this company other than as a user of this software ------------------------------ Date: Mon, 26 Jan 87 18:36:54 PST From: mccluskey@Jpl-VLSI.ARPA Subject: TTPRINT.C added to the Library Please find enclosed TTPRINT.C for the software library. TTPRINT (Toshiba Tiny Print) is a filter program for Toshiba 24 pin printers that prints ASCII text in very very small letters using the 180 dpi plot mode on the 1351/1341/351/341 series printers. Using this, one can print up to 396 characters wide, by 242 lines per page. You will also go blind trying to read the output. John McCluskey @ JPL-VLSI.ARPA [TTPRINT.C has been added to the info-ibmpc library -wab] ------------------------------ Date: Mon, 26 Jan 87 18:44:28 EST From: Brent W Baccala <baccala@USNA.ARPA> Subject: GENRAND.BAS Program Generator Somebody asked about program generators a while back. Well, here's my two cents' worth. "genrand" is a program I wrote several years ago when I was developing an accounting system. It creates random-file-access routines in a "nice" fashion, by taking a simple data file and producing a set of ASCII basic files. Thus, by changing the simple data file you can make major revisions to the (less-then-simple) subroutines with ease. Brief documentation is included. Genrand is a basic program. I'm not (of course) supporting this program in a commerical sense, but am willing to answer questions and act as a clearing house for bugs and revisions. - BRENT W. BACCALA - Aerospace Engineering Department U.S. Naval Academy Annapolis, MD <decvax!brl-smoke!usna!baccala> <seismo!usna!baccala> <baccala@usna.arpa> [GENRAND.BAS has been added to the Info-IBMPC Library. -rag] ------------------------------ Date: Mon, 26 Jan 87 14:09:09 pst From: ames!lll-lcc!csustan!dbase!awd@cad.Berkeley.EDU (Alastair Dallas) Subject: dBase Memo Field In a recent Info-IBMPC, Ruben Quiles inquired about a program to convert dBASE memo fields to ASCII text. His address was 'QUILES@USC-ECLB.ARPA'. I will be glad to furnish information about the memo field file format to anyone interested in writing such a program. Alastair Dallas Ashton-Tate Glendale ------------------------------ Date: Tue, 27 Jan 87 09:14:11 PST From: decwrl!battan@tc.fluke.com (Jim Battan) To: info-ibmpc@c.isi.edu Subject: 8051 C Cross-Compiler Someone asked for a cross-compiler for the 8051 available on the IBM PC. 8051 as well as 6801 and 6301 Cross Compilers are available from SSC, Inc. Write or phone for information: Specialized Systems Consultants, Inc. P.O. Box 55549 Seattle, WA 98155 206-367-8649 (206-FOR-UNIX) Jim Battan; John Fluke Mfg. Co MS 223B; PO Box C9090 Everett WA 98206 {uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!battan (206) 356-6469 ------------------------------ Date: 27 Jan 87 10:05:00 EST From: "STEVE ZURO" <zuro@nrl> Subject: SIMCGA and HGCIBM To: "info-ibmpc" <info-ibmpc@c.isi.edu> I just read your message requesting SIMCGA. If you wish, I can send you a copy of both SIMCGA and HGCIBM (another simulation of the CGA with a Hercules Monochrome Card). I have found that some routines/graphics work with SIMCGA and others with HGCIBM and still others with both. If you wish a copy on a diskette, send me a message or write to: Steve A. Zuro Code 5316 Radar Division Naval Research Lab Washington, D.C. 20375-5000 or call 202-767-1047 Keith and Joe I can not email the files to you from my AT at work. My IBMPC-AT is a TEMPEST unit and can not be connected to the network. I can try from home with my IBMPC. However, since I am not familiar with the internet anonymous FTP or netmail using the archive server, I prefer at this time to send a disk. I use the QMODEM communications program or the PC-VT communications program with KERMIT file transfer protocol. When I talk to my VAXs at work, I file transfer (to and from) using KERMIT. Keith, I would need FTP insstructions for uploading if I could us either of the above programs (QMODEM does not have KERMIT). I also use PROCOMM (this has KERMIT) and PIBTERM communications programs. Would these work? Joe, I can send you a diskette with the software. I need an address. Steve ------------------------------ Date: Tue, 27 Jan 87 14:56:58 cst From: mlw@ncsc.ARPA (Williams) To: info-ibmpc@c.isi.edu Subject: System Call in MS C My MS C v4.0 Runtime Library Reference Manual does indeed document "system". Page 397, in fact. Its contents are (extremely copyrighted) ... Summary #include <process.h> #include <stdlib.h> int system(string); char *string; Description The system function passes the given string to the command interpreter and executes the string as an MS-DOS command. The system function refers to the COMSPEC and PATH environment variables to locate the MS-DOS file COMMAND.COM, which is used to execute the string command. Return Value The system function returns the value 0 if string is successfully executed. A return value of -1 indicates an error, and errno is set to one of the following values: (error details...) ... However, this won't do a thing about resolving externals. It sounds as if either (1) you're not linking in the right library or (2) your package can't find the system module. (!?) Anyway, if you want more info, let me know. I haven't tried to execute a program with a "system" in it, so I can't say for sure that it works. I only know that I found it in the book. Mark L. Williams (mlw@ncsc.arpa) ------------------------------ Date: 27 Jan 87 19:49 +0330 From: Martyn Quigley <martyn%garfield.mun.cdn%ubc.csnet@RELAY.CS.NET> To: info-ibmpc@C.ISI.EDU Subject: Genealogy Software Thanks to all who responded to my question about the availability of genealogical software. Most of the 30+ respondents recommended the Personal Ancestral File stuff. Second in popularity was FT-Etc which is in the public domain. I have acquired this but have not yet used it. Other products mentioned (also in PD and which I have acquired) were Family History System, FT-Etc and Genealogy on Display. I was asking on behalf of a friend, but she is still RTFMs and has not yet tried out the stuff in any depth, although it all seems to load and run as claimed. TVM Martyn ------------------------------ Date: 28 Jan 87 8:17 -0800 From: "Ya`akov N. Miles" <bd%dac.triumf.cdn%ubc.csnet@RELAY.CS.NET> To: info-ibmpc@C.ISI.EDU Subject: 10 meg XT clone report I have just purchased a 10 (ten) meg Turbo-XT motherboard which was a simple drop-in replacement for the standard IBM-XT type motherboard found in many clones. This motherboard featured four-layer construction. The speed difference is really noticeable, and the motherboard runs OK with 150 nanosecond DRAMS and 200 nanosecond EPROMS. All my peripherals (CGA, Multifunction, H-disk) work OK with this motherboard, which may insert automatic "wait" states. Since the cost differential between a 10 meg XT and an 8 meg XT is minimal, I strongly recommend going for the faster speed.... ------------------------------ Date: Wed, 28 Jan 87 11:47 EDT From: Peter Heitman <HEITMAN%cs.umass.edu@RELAY.CS.NET> To: info-ibmpc@C.ISI.EDU Subject: Unix Command Shareware for DOS The recent discussion about Minix is interesting, but not all of us want to give up our investment in DOS - most of the programs that we take for granted under DOS don't exist yet under Unix of any form. For those of us who use DOS but who like Unix commands or who want to have Unix-style argument processing, I have written a shareware implementation of many Unix commands for DOS users. The package is called the PiCnix Utilities and includes the following commands: cat cd chlabel chmod cp cpdir date diff df du echo fgrep grep ls more mv mvdir pwd rm set show strings switchar time tee touch unset wc All of the options that make sense under DOS are supported for each command. 'more' supports regular-expression searches, 'ls' and 'rm' support recursive-descent, 'cd' supports CDPATH, etc. Each of the commands in the package support Unix-style argument processing. Contact me for more info. Peter Heitman P.O. Box 658 Hadley, MA 01035 ------------------------------ Date: Thu 29 Jan 87 07:08:23-PST From: James E. Hopper <HOPPER%BIONET@SUMEX-AIM.Stanford.EDU> Subject: How to Format a Plus Hard-Card To: info-ibm-pc%BIONET@SUMEX-AIM.Stanford.EDU This is a response to R.J.Welsh's problem about the plus hard-card. You should format the hard card using HFORMAT supplied with the card. DOS format command will give different error mesages because IBM DOS 2.0 and 2.1 can not support more than 10MB disk. This part comes from the hard card manual "To see if your IBM PC has new system BIOS ROM (which recognizes a hard card) you may use the following method check for a date 10/27/82 or later: TYPE BASIC and press RETURN 10 DEF SEG=&HF000 20 FOR X=&HFFF5 TO &HFFFC 30 PRINT CHR$(PEEK(X)); 40 NEXT type RUN and press RETURN. Good luck. ------------------------------ Date: 29 January 1987 1121 CST From: Mark S. Zinzow <MARKZ@UIUCVMD> To: IBM PC discussions <INFO-IBMPC@C.ISI.EDU> Subject: GETCLOCK Kludge Around DOS Date Rollover Bug There has been quite a bit of discussion on the net regarding the bug in DOS (2.x & 3.x) where the date is not always incremented at midnight. I posted a question to IBM's ASKINFO and this was my answer: A: I believe that you will find that the real time clock will keep the correct time and date even if the system clock is wrong. Please respond if this is not the case. What you should do is access the real time clock. It can be accessed through I/O ports 70h and 71h. Detailed information about the real time clock can be located in the Technical Reference PCAT section on system board. I'd much rather see a patch for the CLOCK$ device driver, but I'm not up to tackling such a disassembly myself. There is a patch for DOS 2.0 on PC-SIG disk 376 by Larry Rosen, an excerpt from FILES376.TXT (1 of 91) describes his files: Disk No 376 Patches V1 DS The programs on this disk allow you to place the indicated programs on your hard disk or to make backup copies. CLOCKFIX DOC Info on PC DOS 2.0 CLOCK$ that doesn't change date at midnight CLOCKFIX SYS Installable driver to replace PC DOS2.0 CLOCK$ PC Software Interest Group (PC-SIG) 1030 E Duane, Suite J Sunnyvale, CA 94086 (408) 730-9291 I have tried his clock driver with IBM DOS 3.2 on an IBM AT, but it didn't solve the problem. It did set the date to 1/1/80 rather than read the real clock when I rebooted. I usually leave my system on at night to keep my ram disk up and park my heads with Simcha Lerner's diskpark-AT in case a custodian should disturb my AT while cleaning. When I get in the next morning the date has almost always failed to advance. I thought I could just write a little program to call the BIOS read clock routine and set the DOS date, but after looking up the interupts I found that I'd also have to convert from BCD to binary. The same day that I decided to sit down and write out the code, I found most of what I needed in PC Magazine. In the User to User column Arthur Rothstein wrote about his need to set the real time clock when his battery was low so that DOS would get the right time if he had to give his machine the old three fingered salute. He had submitted a program called SETCLOCK that read the date and time from DOS and set the real time clock to match. Of course, it was a simple matter to rewrite things to go in the other direction. The result follows, I hope it will be of use to others: ; GETCLOCK.ASM A program to read the date and time from the AT real time ; clock and set the DOS date to the real date. This is ; most useful in BAT files to compensate for DOS's failure ; to advance the date before running applications that ; require the correct date. ; ; Written by Mark S. Zinzow on January 17, 1987. ; Based on SETCLOCK.ASM by Arthur Rothstein as published in ; PC MAGAZINE, February 10, 1987, Vol. 6, #3, pp. 347-348 .286c ;allow 80286 nonprotected instructions (for shift,4) 286c ;allow 80286 nonprotected instructions (for shift,4) CONVERT MACRO ARG1 XCHG ARG1,AX ;;stage the register CALL BCDCNV ;;Call BCD to binary routine to do the work XCHG ARG1,AX ;;store the result ENDM CSEG SEGMENT PARA PUBLIC 'CODE' ASSUME CS:CSEG ORG 100H START PROC FAR MOV AX,0FFFFH ;check the CPU model MOV DS,AX ; point DS for machine id byte at F000:FFFE CMP BYTE PTR [DS:0EH],0FCH ;is this an AT or FFFF:000E JNE ERROR ; FC is AT, FF-PC, FE-XT or portable, FD-PCjr MOV AH,04 ;BIOS get real date function INT 1AH ;call BIOS CONVERT CX ;convert BCD century & year to binary bytes MOV AL,CH ;binary century to AL MOV BL,100 ;multiplier MUL BL ;century * 100 to add to year for full year XOR CH,CH ;clear century leaving only year in CL to add ADD CX,AX ;add century to year for complete binary year CONVERT DX ;convert BCD month (DH) and day (DL) to binary MOV AH,2BH ;DOS set date function INT 21H ;call DOS MOV BL,AL ;store DOS return status code (0 means ok) MOV AH,02 ;BIOS read real time clock function INT 1AH ;call BIOS CONVERT CX ;convert hour (CH) and minute (CL) to binary CONVERT DX ;convert seconds (DH) to binary (ignore DL) MOV AH,2DH ;DOS set time function INT 21H ;call DOS ; return code in AL from DOS, should be 0 if battery is ok and maybe if not OR AL,BL ;combine return codes to show error in either EXIT: MOV AH,4CH ; return to DOS with result code INT 21H ; call DOS, do not return ERROR: MOV DX,OFFSET MSG ;get offset of message MOV AH,9 ;print message INT 21h ;call DOS MOV AL,1 ;set error return code JMP EXIT ;go to centralized exit START ENDP ; Routine BCDCNV: Convert a binary coded decimal number to binary ; Entry: Two BCD bytes, one in AH, the other in AL ; Exit: AH and AL are each converted to binary. ; Registers used: BL BCDCNV PROC NEAR MOV BL,AH ;save the high order argument XOR AH,AH ;clear the high byte SHL AX,4 ;move the high nibble into the high byte SHR AL,4 ;restore the low nibble from the last shift AAD ;convert nibbles to binary ( AH * 10 + AL --> AL ) XCHG AL,BL ;exchange low order result with high order argument XOR AH,AH ;clear the high byte SHL AX,4 ;move the high nibble into the high byte SHR AL,4 ;restore the low nibble from the last shift AAD ;convert nibbles to binary ( AH * 10 + AL --> AL ) MOV AH,AL ;store high order result in high byte (OR AH,AL ok too) MOV AL,BL ;retrieve low order result RET ;return to caller BCDCNV ENDP MSG DB 'CPU is not an AT$' CSEG ENDS END START ARPA: zinzow%uiucuxe@a.cs.uiuc.edu Mark S. Zinzow, Research Programmer BITNET: MARKZ@UIUCVMD.BITNET Computing Services Office To BITNET from ARPA or UUCP: University of Illinois at Urbana-Champaign MARKZ%UIUCVMD.BITNET@wiscvm.wisc.edu 150 Digital Computer Laboratory CSNET: zinzow%uiucuxe@uiuc.csnet 1304 West Springfield Ave., Urbana, IL 61801 USENET/UUCP: {convex,pur-ee,cmcl2,seismo}!uiucdcs!uiucuxc!uiucuxe!zinzow Phone: (217) 244-1289 Office: CSOB 109 ihnp4/ ------------------------------ Date: Thu, 29 Jan 87 18:03:28 est From: movshon@nyu-acf8.arpa (Tony Movshon) To: info-ibmpc@c.isi.edu Subject: Using a Conventional Color Monitor with a CGA Does anyone know (or is there a product available) that will allow you to use a conventional RGB color monitor (i.e. the kind with separate R, G, B and sync connectors) with an IBM CGA-type graphics card? I have hacked together a hookup that lets me put the color output from the CGA on my (byecch) IBM PC Portable on my (mmmm) DEC VR-241 color monitor, but there are three problems: o First, the "intensity" signal output from the CGA is separate from the R, G and B modulation signals, so I lose intensity effects like boldface type and high-intensity colors. o Second, the CGA obviously expects the VR-241 to be DC-coupled somewhere where it is in fact AC-coupled. So modulated images (i.e. most interesting ones) look fine, but DC images like uniform colored fields are not visible. Extended regions of one color (like large fields on graphic displays) fade exponentially up the screen. o Finally, the VR-241 expects to see a composite H and V sync pulse, either on the G signal or on a separate line. The CGA puts out separate H and V pulses. What I did was to use the color composite output (the one that's on a separate RCA connector) as a sync signal. It works OK, but that solution is inelegant (at best). In summary, what I'd like is either a circuit for or a pointer to a device that would adapt the signals from the CGA correctly for a standard RGB monitor. I'll post a summary of responses if there's interest. Tony Movshon arpa: movshon@nyu.arpa (to become nyu.nyu.edu) uucp: ...{seismo|ihnp4|allegra}!cmcl2!xp!tony usps: Department of Psychology, NYU 6 Washington Place, room 1083 New York, NY 10003 at&t: (212) 598-2818 [AMDEK used to make an adaptor in the early days when the PC had just come out. Now of course they make RGBI monitors, but adaptors may still be available. -rag] ------------------------------ From: ulysses!ihnp4!drutx!chuck@ucbvax.Berkeley.EDU Date: Thu, 29 Jan 87 13:50:38 est Subject: Re: Turbo Jr TOMASCHKE#GREG%C.MFENET@nmfecc.arpa writes: > There are a variety of "no-slot" turbo boards available, which involve > replacing the 8088 cpu with a higher speed 8088-2 or V20, and replacing > the 8284A with a small circuit board which plugs into the 8284A socket. > The circuit board provides a faster clock speed for the cpu while > retaining the normal 4.77 Mhz signal for the rest of the system. These > boards are advertised as working with the IBM PC, PC-XT and compatibles. > My question is, has anyone tried this with a PCjr? From what information > I can gather, it seems as though these boards should work just fine in the > jr. If anyone has actually tried this, or if anyone knows why this won`t > work, please tell me. I have a jr and was interested in turboing it. I don't think the jr has a 8284 chip in it. chuck miller (DR x8-4741) DR31-F25 ...drutx!chuck AT&T Information Systems Laboratory 11900 N. Pecos St., DR-31-F-25 Denver, Colorado voice: (303)-538-4741 e-mail: ....!{ihnp4}!drutx!chuck ------------------------------ Date: 28 Jan 87 11:06 EST From: NVDAFNPT @ DDN2 Subject: EMS Memory Board Query To: info-ibmpc @ c.isi.edu IS ANYBODY FAMILIAR WITH THE EMS MEMORY BOARD? I AM INQUIRING FOR AN ACCOUNTANT WHO HAS A LEADING EDGE PC CLONE. HE WOULD LIKE TO KNOW HOW IT WORKS? WHICH ONE TO CONSIDER FOR THE BEST PRICE? HOW TO INSTALL? AND ARE THERE ANY QUERKS HE SHOULD KNOW ABOUT? ARE THERE ANY ALTERNATIVES THAT WILL ACCOMPLISHE THE SAME THING? ANY REPLYS WILL BE GREATLY APPRECIATED. DENNIS MCGILLICUDDY..... ------------------------------ Date: Wed, 28 Jan 1987 09:15:10 LCL From: NESCC%NERVM.BITNET@WISCVM.WISC.EDU (Scott C Crumpton) To: INFO-IBMPC@C.ISI.EDU.ARPA Subject: Inexpensive EMS boards Wanted Does anyone have experience with inexpensive EMS or EEMS boards? I'm looking for somthing that will cost about $100 with 0K. What about the PMI Fastcard that I see advertised in PC Week for $295 with 2M, is it any good? Thanks - Scott. ------------------------------ Date: Mon 26 Jan 87 16:00:06-EST From: MCD.J-SPRATTA%KLA.WESLYN%Wesleyan.Bitnet@WISCVM.WISC.EDU Subject: Post Script & Wordperfect Query To: INFO-IBMPC@C.ISI.EDU I recall awhile back reading something about possible difficulties using WordPefrect's POST SCRIPT printer driver. Does anyone know remember what problems or potential's exist when using the POST SCRIPT definition. Any other information on WordPerfect's POST SCRIPT driver is welcome. John N. Spratta Wesleyan University ------------------------------ Date: Thu, 29 Jan 87 09:16 N From: <BMSKRIJG%HLERUL52.BITNET@WISCVM.WISC.EDU> Subject: Reference Guide Wanted on Wordperfect To: info-ibmpc@c.isi.edu This is a cry for help to debug my Wordperfect Is there someone outside there, wich can tell me if there is a book or a public domain in wich I can find all the ref codes to debug wordperfect.I know there is such a book for Wordstar. The so called Wordstar-bible. Please let me know, thank you in advance Peter c.j. krijgsman (bmskrijgs@hlerul52) ------------------------------ Date: Sat, 24 Jan 87 20:12:04 PST From: Jim_Firstbrook%SFU.Mailnet%UBC.MAILNET@MIT-MULTICS.ARPA Subject: Dustproof PC Wanted I have a ATT PC 6300 and it is wearing out hard disks at a scary rate. The repair techs say it is because there is too much dust in the air, the cooling fan is sucking it in and the electronics act like wonderful dust precipitators It is in a very dusty room but there is no where else to put it. Does anyone out there have any experience with protecting PCs from dust while they are running. (could we put a filter over the cooling fan?) if you want to reply directly to me try: Jim_Firstbrook@sfu.mailnet I'm not sure of any other routing info Thanks [IBM markets an industrial PC designed with dust filters. This may be a more expensive solution than you are looking for. -wab] ------------------------------ From: uw-apl!cel@beaver.cs.washington.edu (Curtis Lacy) Date: 27 Jan 87 17:07:30 GMT Subject: Is there a ruggedized AT? I need to find a ruggedized or "industrial-strength" AT for use in a harsh environment, viz., on board a sea-going ship. The environmental factors include vibration (ship's engines), heat(the air conditioning fails regularly), and salt air. Extra cost (anywhere within shouting distance of half-way reasonable) is not a problem. I am under a fairly stringent time constraint, so if you have a suggestion, please respond promptly if you can. Curtis Lacy, Applied Physics Laboratory University of Washington, Seattle, WA {allegra,microvax,decvax,ucbvax!lbl-csam}!uw-beaver!uw-apl!cel ------------------------------ Date: Sun, 25 Jan 87 7:55 +0200 From: Reuven Weiss <REUVEN%TAUENG.BITNET@WISCVM.WISC.EDU> To: info-ibmpc@c.isi.edu Subject: Linking Fortran with Overlays Query I wish to compile and link a large source, written in FORTRAN77. I must use overlays for the PC. Now I compile with IBM Professional Fortran, but the MICROSOFT Overlay Linker (V3.52) does not recognize the object modules. The IBM LINK does not recognize the overlay instructions. I seek recommendation on other F77 compilers or overlay linkers, that work together. Thanks! Reuven Weiss, Tel-Aviv University ------------------------------ Date: 26 January 1987 12:05:17 CST From: <C90630JG%WUVMD.BITNET@WISCVM.WISC.EDU> To: <INFO-IBMPC@C.ISI.EDU> Subject: Problem Saving Turbo Pascal Programs We have some fairly long (about 2500+ lines) Turbo Pascal programs that do genetic linkage analysis. They work fine if they are compiled and run from the Turbo editor, but produce inconsistant behavior if saved and re-run. Since we would like to run these programs on machines that don't have the compiler installed, this is an irritating situation. I have heard an unspecific rumour that this is fairly common Turbo behavior (we have version 3.0). Does anyone know what causes it, and/or a workaround? Thanks in advance. Jonathan Goldberg ------------------------------ Date: 26 Jan 1987 2339-EST From: Bruce Krulwich <KRULWICH@C.CS.CMU.EDU> Subject: Want to Run MS "C" From a Program I am interested in having a program written in microsoft c 4.0 generate functions on the fly (not by coincidence -- similar to LISP's compiling a LAMBDA list) the only way i have come up with is to manually decompose each function into primatives and interpret each decomposition whenever the function is executed. is there any way to do this for real?? i suppose it would involve compiling text from a stream and linking to the current environment. is there a way to do this?? Bruce Krulwich The universe is a linear system, Carnegie Mellon University and quantum mechanics is simply the round off error. arpa: krulwich@c.cs.cmu.edu btinet: bk0a%tc@cmuccvma Any former B-CC'ers out there?? uucp: ... !seismo!krulwich@c.cs.cmu.edu ------------------------------ Date: Mon, 26 Jan 87 16:05:51 PST From: netinfo%web.Berkeley.EDU@BERKELEY.EDU (Postmaster & BITINFO) To: INFO-IBMPC@c.isi.edu Subject: Binary Transfer Query One of the problems we have is the sending of binary files from IBM-PC to IBM-PC through communication links that do character translation or that cannot handle binary files. Are there MSDOS tools to convert binary files to non-binary (eg. HEX, UUENCODE, etc) and back again? Bill Wells Network Consultant postmaster%jade@Berkeley.EDU bitinfo@ucbjade.bitnet [The type of programs you mention are widely available on BBSes. Have you tried Kermit? It has a 7-bit mode that gets around a lot of the problems you mention. -rag] ------------------------------ From: ames!seismo!mcvax!eurifb!benno@cad.Berkeley.EDU Date: Mon, 26 Jan 87 12:25:37 +0100 Subject: Want BASIC Random Number Generator Algorithm Does anyone know what algorithm is used in GW-BASIC and/or BASICA to generate "random" numbers? Algorithm also includes the coefficients, if you know them...... Thanks in advance uucp: mcvax!eurifb!benno | Ben J. Noordzij earn: benno@hroeur1 | EUR/bedrijfskunde, Burg.Oudlaan 50, phone: +31 10 4081931 | 3062 PA Rotterdam, Netherlands ------------------------------ Date: Mon, 26 Jan 87 22:31:16 +0100 (Central European Time) From: XBR1Y028%DDATHD21.BITNET@WISCVM.WISC.EDU (W. Reichenbaecher, HRZ) Subject: IBM Mainframe Graphics Terminal Emulation Query To: info-ibmpc@c.isi.edu Our university runs (aside some VAXen) an IBM mainframe under MVS/XA+TSO. We like to connect IBM-PC's (IBM PC/AT's an Olivetti M24's) to that host, to be used as graphics terminals. We have just bought an IBM7171 protocol converter and are investigating to connect the PC's thru that hardware. What we like to have is the possibility to store graphics output on the PC (disk/diskette) , for further viewing or plotting on some hardcopy device. Our graphics software on the IBM mainframe currently is DISSPLA, CUECHART TELL-A-GRAF and GKS. The IBM product GDDM was installed just recently. My question to this list (I will also send it to the IBM7171 list) is: are there already some installations who do what we intend to do? Any help or hints are very welcome. Walter Reichenbaecher Technical University Darmstadt, West Germany University Computing Center Bitnet: XBR1Y028@DDATHD21 ARAPnet: XBR1Y028%DDATHD21.BITNET@WISCVM.WISC.EDU ------------------------------ Date: Mon, 26 Jan 87 14:24:25 MEZ From: C0034001%DBSTU1.BITNET@WISCVM.WISC.EDU Subject: Print Screen of 640x350 Graphics on IBM Proprinter Wanted As far as I know IBM does not offer a solution for the following task: Hardcopy (Print Screen) of graphics (monochrome) with 640x350 resolution on IBM Proprinter (Graphics Printer II) under PC DOS 3.2. Any suggestions or solutions? Kurt Kaempen ------------------------------ Date: Tue, 27 Jan 87 13:41:20 MEZ From: UNI217%DBNRHRZ1.BITNET@WISCVM.WISC.EDU Subject: Problems with NANSI.SYS Recently I downloaded a new ANSI Terminal driver, called NANSI, from ARCHIVE-REQUEST @ SIMTEL20.ARPA. I appreciate the speed of normal output with this driver, but after redefining some keys by escape sequences given in the DOS manual and the NANSI documentation (e.g. F1 becomes 'DIR A:' etc.) my system crashes and I have to turn it off. Does anyone out there know how to fix this ? Is it a bug in NANSI (the version I have is approx. 2-86) ? My computer is a Zenith Z-158 with harddisk and DOS 3.1. Thank you, Rainer. ------------------------------ Date: Tue, 27 Jan 87 08:46:09 PST From: Harvey A. Iwamoto <iwamoto%cod@nosc.ARPA> To: info-ibmpc-request@c.isi.edu Subject: Graphics Standards Documents Wanted Is there a source where the descriptions of PC graphics standards can be obtained? I specifically need the description of file formats for the Computer Graphics Interface (CGI) which includes (or is similar to) Virtual Device Interface (VDI). Since VDI is considered a 'standard' that description should be available from somewhere. Thanks in advance. Harvey Iwamoto ------------------------------ Date: Tue 27 Jan 87 13:13:19-EST From: C. P. Yeske <CY13@TE.CC.CMU.EDU> Subject: Public Domain PROLOG Wanted To: info-ibmpc@C.ISI.EDU Is there a public domain PROLOG for the IBM PC? It would not need to be very complete or exciting, just enough for a feel for the language. Curt Yeske Carnegie Mellon Computation Center ------------------------------ Date: Tue, 27 Jan 87 15:30:21 cst From: goer%sphinx.UChicago.BITNET@BERKELEY.EDU(Richard L. Goerwitz III) Subject: Problem with SIMCGA on Hercules Plus Has anyone else experienced problems running SIMCGA on the new Hercules Plus video card? It's a wonderful device, allowing twelve different fonts in text mode (fast). Included are drivers for some of the more popular PC/XT/AT pro- grams, such as Microsoft Word (which resorts to bit-mapped (slow) dis- play so as to do, say, italics). Trouble is that as soon as I ran SIMCGA on it, it crashed. In other words, my old Hercules-compatible graphics card used to run SIMCGA. Now my supposedly downward-compatible H Plus won't run it.... Now before I go to great lengths determining just what is wrong, I'd like to see if I can get some input from others who have Hercules Pluses. It might be malfunctioning hardware. More probably, however, SIMCGA is going to have to be modified. But in either case, I'd like to know first whether others are experiencing the same problem. TIA (Thanks in advance), Richard L. Goerwitz P.S. I prefer replies via (goer@sphinx.uchicago) but !ihp4!gargoyle!sphinx!goer is okay.... ------------------------------ Date: Wed, 28 Jan 87 10:50:42 ULG From: Andre PIRARD <A-PIRARD%BLIULG12.BITNET@WISCVM.WISC.EDU> Subject: Format Problems To: Info-IBMPC Digest <INFO-IBMPC@C.ISI.EDU> I am currently writing a program to read/write/format MSDOS diskettes on a Commodore 128 with single 1571 drive. In trying to be general regarding format types, I decided to use the boot record parameters table and use the FAT ID when incoherent. So I ran a FORMAT A: /8 and /8 /1 on IBM XT dos 3.2 and peeped at the table. What I found there was ... hard disk parameters !!! (The FAT ID is correct). I curiously ran CHKDSK against that beast. It "critically" failed. At least, I know for sure DOS 3.2 no longer uses the FAT ID, but the parameters and that was probably its pitfall. DOS 3.10 formats correctly, but without parameter table. I welcome information whether "foreign" MSDOS systems use nonstandard diskette formats. If yes, do they have a correct parameter table (can they be read on PC DOS 3.2) and what is the FAT ID in this case? ------------------------------ Date: Wed, 28 Jan 1987 09:34:06 LCL From: NESCC%NERVM.BITNET@WISCVM.WISC.EDU (Scott C Crumpton) To: INFO-IBMPC@C.ISI.EDU.ARPA Subject: Legal accounting software Wanted I'm setting up a system for a relative who is a lawyer in private parctice. Can anyone point me in the direction of some inexpensive legal accounting software? The commercial packages that I seen so far are way to expensive. The package needs to be able to handle time and materials billing along with escrow and trust accounting. Thanks - Scott. ------------------------------ Date: Thu, 29 Jan 87 15:00 CDT From: <EDWIN@TAMODP.BITNET> Subject: EVE-Like Editor Wanted To: INFO-IBMPC@C.ISI.EDU Does anyone out there know of a text editor for the PC similar to the Vax EVE editor (edit/tpu - NOT edt)? I have seen VI and XEDIT, but not EVE, and I feel that the EVE editor is far superior to those others in flexibility and ease of use. Is there an EVE - like editor for the PC ? Edwin Garrett EDWIN@TAMODP.BITNET ------------------------------ End of Info-IBMPC Digest ************************ -------