vjs@calcite.UUCP (Vernon Schryver) (06/29/89)
I've encountered difficulties with DOSMerge (yes, what else is new?). My latest problem is that a Logitech Bus mouse panics the kernel. Thinking that rumors that VP/ix was done by people who had heard of UNIX before they started the project (DOSMerge was obviously done by IBM experts), I decided that VP/ix would solve all of my problems. Unfortunately, it seems that VP/ix is a pure DOS-in-a-window sort of thing. Interactive tells me that I cannot run INTEL's PLM386 development stuff from a makefile, as I now do with DOSMerge. DOSMerge allows a DOS program which does no more than character stuff to the console and keyboard to talk with UNIX standard I/O. Another restriction of VP/ix is that DOS programs can only talk to devices that have drivers in the UNIX kernel. DOSMerge was more ambitious and tried to let the virtual 8086 machine reach out and have its way with the AT bus. It almost works, but obvious hassles with UNIX drivers make me think that it is a idea which cannot be implemented reliably. Interactive is running a very pleasant sales and pre-sales-support operation, the 75% credit for Microport makes the price reasonble even if they do force you to buy X, and good things are said of their SVR3.2, but VP/ix does not do it for me. Does someone sell DOSMerge for Interactive UNIX? Is there a version of SVR3 with DOSMerge with fixes since Microport 3.0e/1.1? Is there something other than DOSMerge that would do what I need, DOS in shell scripts and makefiles? Before buying Microport 2.2 I tried to talk to Bell Tech. That experience and more recent statements by Bell Tech bosses in this forum have made it unlikely that I will ever deal with Bell Tech in any incarnation. I have recently tried to talk to Everex, but they seem like either the old Microport or Bell Tech--I cannot tell which. Vernon Schryver vjs@calcite.uucp or ...{sgi,pyramid}!calcite!vjs
oleg@gryphon.COM (Oleg Kiselev) (06/30/89)
In article <51@calcite.UUCP> vjs@calcite.UUCP (Vernon Schryver) writes: >Does someone sell DOSMerge for Interactive UNIX? If you are talking about Locus Computing's DOSMerge, then you should probably contact LCC's marketing or support and ask them. It was my impression that there were versions of Merge for many available 386 UNIX ports. -- "No regrets, no apologies." -- Ronald Reagan Oleg Kiselev ARPA: lcc.oleg@seas.ucla.edu, oleg@gryphon.COM (213)337-5230 UUCP: [world]!{ucla-se|gryphon}!lcc!oleg
tneff@bfmny0.UUCP (Tom Neff) (07/01/89)
In article <51@calcite.UUCP> vjs@calcite.UUCP (Vernon Schryver) writes: >VP/ix is a pure DOS-in-a-window sort of thing. Interactive tells me that I >cannot run INTEL's PLM386 development stuff from a makefile, as I now do >with DOSMerge. DOSMerge allows a DOS program which does no more than >character stuff to the console and keyboard to talk with UNIX standard >I/O. VP/ix absolutely allows this. A command of the form dos -c "myprog" | nocr | less works as intended. VP/ix detects the pipe or redirection of stdout and forces the DOS program output to handle 1. >Another restriction of VP/ix is that DOS programs can only talk to devices >that have drivers in the UNIX kernel. VP/ix doesn't care what devices are linked into the kernel. It has a special hook called the Virtual Device Interface (VDI) which allows Direct Device Access (DDA). There is a set of utilities (dda*) that let you configure nonstandard devices into VP/ix without a kernel rebuild. I have successfully used it to add things like a Scanjet interface card, which then worked perfectly under Simul-Task (the name for VP/ix on this AT&T 6386E system). -- "My God, Thiokol, when do you \\ Tom Neff want me to launch -- next April?" \\ uunet!bfmny0!tneff
clewis@eci386.uucp (Chris Lewis) (07/06/89)
In article <51@calcite.UUCP> vjs@calcite.UUCP (Vernon Schryver) writes: Tom Neff answered some of your questions well, but left a little out... >Interactive tells me that I cannot run INTEL's PLM386 development stuff >from a makefile, as I now do with DOSMerge. You can run any DOS program from a UNIX makefile, but you cannot run the make in the background or redirect output of the make (VP/IX needs a console). I do this all the time. You may have to write a small shell wrapper because make doesn't know about DOSPATH explicitly, and DOSPATH will need to point at the executable for the DOS things you want to run (and the DOS things you want to run shouldn't be in a "DOS disk as UNIX file" like "C:"). >Another restriction of VP/ix is that DOS programs can only talk to devices >that have drivers in the UNIX kernel. In older versions (eg the VP/IX that came with ISC 1.0.5) this is true. In 1.0.6 and later (as Tom points out) there's DDA's and so on that allow "registered" DOS sessions to reach out and touch the real hardware. And, there is now also a way to add DOS drivers to VP/ix. >It almost works [DOSMerge driver access], but obvious hassles with UNIX >drivers make me think that it is a idea which cannot be implemented reliably. Unrestricted access is one way to completely blow your machine out of the water. Which is why I prefer VP/ix. >Does someone sell DOSMerge for Interactive UNIX? Both VP/IX and DOSMerge require special kernel hooks - and they're not the same ones. (My guesses:) Microport, Bell Tech and SCO supply (or used to) both sets of hooks (but not necessarily at the same OS level). AT&T and ISC only supply the VP/IX hooks. (Considering who wrote VP/ix, it's no great surprise that ISC wouldn't include support for the competition) >Is there a version of SVR3 with DOSMerge with fixes since Microport >3.0e/1.1? Doubt it - Microport's more or less gone under. -- Chris Lewis, R.H. Lathwell & Associates: Elegant Communications Inc. UUCP: {uunet!mnetor, utcsri!utzoo}!lsuc!eci386!clewis Phone: (416)-595-5425
tneff@bfmny0.UUCP (Tom Neff) (07/06/89)
In article <1989Jul5.174059.27378@eci386.uucp> clewis@eci386.UUCP (Chris Lewis) writes: >You can run any DOS program from a UNIX makefile, but you cannot run the >make in the background or redirect output of the make (VP/IX needs a console). >I do this all the time. I redirect VP/ix output all the time. Here's an excerpt from a Korn shell script I use in building one of my products: =================================================================== addcr <<- EOF > $Rootbat # DOS batch needs full CRLF set FILL1= set :F0:=$Rootdir unixpath asm86 $Rootasm oj($Rootobj) print($Rootals) if errorlevel 2 quit link86 & < $Linkcmd if errorlevel 2 quit loc86 & < $Loccmd if errorlevel 2 quit EOF dos -c "$Rootbat" | nocrf | tee $Rooterr =================================================================== In the above example, "nocrf" is a ^M-stripper filter I wrote which forces fflush(stdout) on ^J's, thus allowing me to see the compiler status messages immediately without cat(1) buffering. "Dumb" inelegant program, anyway here's the source. =================================================================== #include <stdio.h> main() { register c; while ((c = getchar()) != -1) { if (c != '\r') putchar(c); if (c == '\n' || c == '\r') fflush(stdout); } fflush(stdout); exit(0); } =================================================================== (I originally wrote 'nocr' without the extra fflush() calls because the "rmcr" program that came with VP/ix was UNFORGIVEABLY BUGGY!!! It munches source files occasionally and if you're doing BULK file conversion in place during a platform move, as I recently did, it's MEGADEATH to come back 3 weeks later and find zorched source. Grrrrr.) So, anyway, yes you can certainly redirect VP/ix output. If you do, and you cancel the running pipe with <Del>, you may get kicked off and have to re-login, sometimes. Who knows why. Although VP/ix won't run in the background, it's very happy to run on a virtual terminal (vtlmgr). So you can still do many things at once while a DOS application runs, just by flipping to the next VT. >You may have to write a small shell wrapper because make doesn't know >about DOSPATH explicitly, and DOSPATH will need to point at the executable >for the DOS things you want to run (and the DOS things you want to run >shouldn't be in a "DOS disk as UNIX file" like "C:"). You only need DOSPATH if you want to be able to fire off EXE/COM/BAT files from the shell prompt as if they were UNIX commands. If you are willing to type 'dos command' rather than 'command', you can run anything DOS can get at, even stuff in pseudodisks like "C:" or in real DOS partitions on your hard disk (if you have VP/ix set up to access it), whether or not it lies in DOSPATH. In a production environment you should be operating out of shell scripts anyway, so sticking the 'dos' in (as I do in the example above) is easy and wise. At the interactive shell prompt, you can use aliases or (as Chris points out) shell wrappers to do it. dir () { dos -c "dir $*" | nocr } -- "My God, Thiokol, when do you \\ Tom Neff want me to launch -- next April?" \\ uunet!bfmny0!tneff