HDTenEightyP/NetNews huggingface dataset:
From: mra@searchtech.com (Michael Almond)
Subject: BC++ Release
Organization: Search Technology, Inc.
Date: Thu, 19 Nov 1992 20:17:42 GMT

I guess everyone has heard about the new Turbo Pascal w/ Objects that has
a DOS Extender which is DPMI compliant.  Has anyone heard anything about
this maybe being released w/ a NEW VERSION OF C++?

Regards,
Michael

-- 
Michael R. Almond (Georgia Tech Alumnus)          mra@srchtec.uucp (registered)
computer alli, inc.					    mra@searchtech.com
6000E dawson blvd.	      				    uupsi!srchtec!mra
norcross, georgia 30093				        (404) 840-1002 (office)
Newsgroups: alt.msdos.programmer
From: dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL)
Subject: Re: ANSI won't work in program,  WHY NOT???  <<AARGH>>
Originator: dspascha@c00551-1403br.eos.ncsu.edu
Reply-To: dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL)
Organization: North Carolina State University, Project Eos
Date: Mon, 16 Nov 1992 16:37:07 GMT


In article <1e4setINNelb@hurricane.ksu.ksu.edu>, butler@hurricane.ksu.ksu.edu (The Hornet) writes:
|>     I am working on modifying my keyboard to make a program of mine a 
|>little bit more user friendly.  I have had success in doing this to other
|>programs, but It won't work on this one.  I am assuming that the program
|>has been written to override ANSI but I don't want it to.  Any clues on
|>how to solve this problem?

ANSI.SYS only works with programs that use DOS function calls to do their I/O.
Probably this "problem" program uses the ROM-BIOS to get its keystrokes.

Tschuess,
David Paschal
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
From: sehari@iastate.edu (Babak Sehari)
Subject: What is the difference between BorlandC++ ver 3.1 and ver 2?
Originator: sehari@class1.iastate.edu
Organization: Iowa State University of Science and Technology, Ames, Iowa.
Date: Tue, 17 Nov 1992 18:29:01 GMT

----
I have a Borland C++ ver. 2, and want to know more about ver 3.1.  What
are the differences?  Anybody knows?

                         With highest regards,
                              Babak   Sehari.

--
From: fragante@unixg.ubc.ca (Gv Fragante)
Newsgroups: alt.msdos.programmer
Subject: HP Laser Jet - paper feed source problem
Date: 18 Nov 92 00:38:03 GMT
Organization: The University of British Columbia
NNTP-Posting-Host: unixg.ubc.ca

We are using an HP Laserjet II to print a report than requires paper from
two different sources. Our HP printer is simply configured so our only source
of paper is from the tray (automatic feed) or from the manual feed slot. This
is fine with us.

Our problem is that when we programmed the report to switch between automatic
and manual feed (by issuing the proper escape codes) it always ejects a blank
page. We find this bothersome. So is there a way to be able to switch paper
sources without causing a blank page eject ?

Alternative, is there a way or undocumented escape code to make the printer
offline/online ? This way, we could simulate a pause so that the user can
manually switch the paper source. Unfortunately, the program we use to generate
the reports (SQL*REPORTwriter) is so unflexible in that we cannot program a
pause where we want it, therefore we have to do clever tricks with the printer
to simulate the pause.

Any help would be much appreciated. Thanks.
Xref: sparky alt.msdos.programmer:2797 comp.os.msdos.programmer:10805
From: boba@miki.pictel.com (Bob Alexander)
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
Subject: Re: What is the difference between BorlandC++ ver 3.1 and ver 2?
Date: 20 Nov 92 14:10:34 GMT
Organization: PictureTel Corporation

>There are more optimizations available in 3.x.  Also, it's now 386
>only code, and will generate 386 specific code.  They even gave a shot
>at register passing, however, it doesn't work as it should and isn't
>worth touting.

I have the Borland 3.0 box in front of me, and it says it will run on
a 286 with 1MB.  Windows programming requires 2MB (I recommend at
least 4MB.)  You may be thinking of Microsoft C 7.0, which will run
only on a 386 and requires DPMI (i.e. the compiler will run under
386Max, which Microsoft gives you, or in a Windows DOS box.)

BC++ 3.1 adds the ability to generate 32 bit math instructions, so your
code gets better performance on a 386 or 486.  Of course, if you want your
program to run on an 8088 or 286, you should not tell the compiler to
generate those instructions.

In addition, BC++ 3.x has a new resource editor (2.0 has Whitewater's
Resource Toolkit, 3.x has Borland's Resource Workshop.  Either of
these will blow away Microsoft's resource editors.)  3.x has WinSight,
a spy tool that blows away Microsoft's Spy, and WinSpector which is
better than Dr. Watson.  Borland has nothing comparable to MS's
Heapwalker or Stress applications and does not ship the debugging
version of Windows.

I suspect that most users of Borland or Microsoft compilers would agree
with the above paragraph.  Now I'll make statements that are more
controversial: Borland has a nicer user interface than Microsoft.  I
would choose BC++ 3.x over MSC/C++ 7.0 any day.

     Bob Alexander                                     boba@pictel.com
     -----------------------------------------------------------------
     Organizations don't have opinions; people do.  The above opinions
     do not reflect those of the directors, stockholders, managers, or
     other employees of PictureTel.
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
From: c.brennan@student.utas.edu.au (chris brennan)
Subject: Re: my_tsr
Organization: university of tasmania
Date: Wed, 18 Nov 1992 02:50:48 GMT

In article <smithbm.721597007@craft.camp.clarkson.edu>, smithbm@craft.camp.clarkson.edu (Azrak) writes:
> 
> vincent@datmuc.UUCP (vincent) writes:
> 

> If you wish, I will post one of my TSRs for you to look at, but remember
> that it is completely in 8088 assembly, and I am not a CS major. The
> program might not be as efficient as possible, however it is quite
> stable and will not crash very easily.
> 
> - Brian  (smithbm@craft.camp.clarkson.edu)
> 
> As for my opinion for why it crashes, try saving all registers used
> in the interrupt routine. At least you will be at a "known state" and
> can go from there. Just remember to POP all registers in reverse order
> at the end of your routine.
> 
Hi Brian, 

your actual code was deleted when i read this article, but a frequent
problem which arises when writing tsr's is using DOS calls.

Dos is NON re-enterant. so you can not use calls to dos without first checking
the 'inDos' flag.  If Dos is busy and you still make a call, it will result in a 
corrupted stack and the system will crash.

-Bye Chris.  
 email: c.brennan@student.utas.edu.au.
Newsgroups: alt.msdos.programmer
From: klosp@rimail.interlan.com (Patrick Klos)
Subject: Re: IRQ 10 Help
Organization: Klos Technologies, Inc. (603) 424-0138
Distribution: alt
Date: Wed, 18 Nov 1992 16:26:25 GMT

In article <CERIKSON.92Nov18112038@occs.cs.oberlin.edu> cerikson@occs.cs.oberlin.edu (Carl Erikson) writes:
>From: cerikson@occs.cs.oberlin.edu (Carl Erikson)
>Subject: IRQ 10 Help
>Date: Wed, 18 Nov 1992 16:20:38 GMT
>Hello netters,
>	I have been working on supporting the Soundblaster card without
>the Soundblaster Developer's Kit. I know that IRQ's 0-7 are attached
>to the software interrupts 08 - 0F (hex). I also know that IRQ 10 is
>dependent on IRQ 2. Are there software interrupt locations for IRQ's 8+?
>Or do I have to do some detection through the IRQ 2 interrupt to know that
>the interrupt is actually an IRQ 10 interrupt? Any help would be greatly
>appreciated!
>
>Carl Erikson (cerikson@occs.cs.oberlin.edu)

IRQs 8 thru 15 use interrupt vectors 70H thru 77H respectively.  Remember to 
issue the appropriate EOI command to the secondary controller for the IRQ 
you are using.  Also, you MUST issue an EOI to the primary controller at the 
same time to account for the fact that the secondary interrupt controller is 
cascaded thru IRQ 2 on the primary interrupt controller.
========================================================================
        Patrick Klos                 Internet: klosp@rimail.interlan.com
        Klos Technologies, Inc.      Compuserve: 71521,145
        (603) 424-0138
========================All opinions are my own!========================
Newsgroups: alt.msdos.programmer,comp.msdos.programmer
From: dmiles@nyx.cs.du.edu (Dan Miles)
Subject: Need user interface/menu package/tools ...
Organization: Nyx, Public Access Unix @ U. of Denver Math/CS dept.
Distribution: na
Date: Sun, 22 Nov 92 02:06:43 GMT



Hi,
  Does any know of any program/tools/packages... commercial/PD
that can be used inside your own C code?

  I am going to be using BC 2.0 on a PS/2 Model 70.  

  Thank in advance.

Newsgroups: alt.msdos.programmer,comp.msdos.programmer
From: miyoshi@psych.toronto.edu (Hiroto Miyoshi)
Subject: how to untar in ms-dos (solution)
Organization: Department of Psychology, University of Toronto
Date: Tue, 17 Nov 1992 18:51:12 GMT



	Hello, and thank you very much for your reply to
my inquiry about how to untar in msdos.  

From your suggestions,
I learned that there is a file called "tar4dos.zip" which allows
us to untar tared files in ms-dos, and I also learned that this
file is at oak.oakland.edu in the directory /pc/filutl. 

Because this is very helpful information for me, I post 
this news here with my gratitude to all the people who gave
me several helpful suggestions.  I wish some of you might 
also think this information useful.

	Sincerely

					Hiroto
				miyoshi@psych.toronto.edu

Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
From: fox@rei.com (Fuzzy Fox)
Subject: Re: my_tsr
Date: Fri, 20 Nov 1992 22:45:47 GMT
Organization: Recognition Equipment, Inc.

vincent@datmuc.UUCP (vincent) writes:

>	data. tsrstack = malloc (1024);
>	data. tsrstack += 1024;				// go to the top of it

Are you sure that malloc'd memory stays part of your program?  It seems
to me that when your program terminates, all heap memory will be free'd
by the OS and the next program that loads in (such as COMMAND.COM) will
load into the place where your stack used to be.  You should probably
use a static stack.

-- 
#ifdef TRUE        | Fuzzy Fox (a.k.a. David DeSimone)       fuzzy@netcom.com
#define  TRUE   0  |
#define  FALSE  1  |  "You have been recruited by the Star League to defend
#endif             |     the Frontier against Xur and the Kodan Armada."
Newsgroups: alt.msdos.programmer
From: cl27111@uxa.cso.uiuc.edu (Christopher  Lindsey)
Subject: Detecting number of mouse buttons (not INT 33,0)
Organization: University of Illinois at Urbana
Date: Tue, 17 Nov 1992 03:20:26 GMT
Keywords: INT 33

	Does anyone know of a faster way than using INT 33,0 to detect
the number of buttons on a mouse?  Every time that I invoke this function,
there is a substantial delay that I would rather not have...  

Ideas?  Thanks...

Christopher Lindsey -- Dept. of Landscape Architecture, Univ. of Illinois

Newsgroups: alt.msdos.programmer
From: nadeau@JSP.UMontreal.CA (Nadeau Jean-Claude)
Subject: Re: problem with fcb-findfirst
Organization: Universite de Montreal
Date: Mon, 16 Nov 1992 21:43:09 GMT

In article <1992Nov16.113211.44824@kuhub.cc.ukans.edu> 2ftobelly@kuhub.cc.ukans.edu writes:
>
>Hi!
>
>I am exploring how DOS works, and especially the file-functions. The
>problem is that my reference ("The programmer's PC source book" by
>Thom Hogan) seems to contain an error, but I am not sure about this.
>
	...

	From Ray Duncan "Advanced MS-DOS", Microsoft Press, 1986.

	Int 21H, function 11H

	"Buffer at current disk transfert area (DTA) address set up an
	unopened normal FCB or extended FCB, depending upon which type
	of FCB was input to function."

	and

	"It is very important to use function 1AH to set the DTA to
	point to a buffer of adequate size before using this call."

	Hope that's help.


-- 
Jean-Claude Nadeau, ing.	<nadeau@ERE.UMontreal.CA>
Services informatiques		Tel. (514) 343-6111,ext 5234
Universite de Montreal		Fax  (514) 343-2155
Newsgroups: alt.msdos.programmer,comp.sys.ibm.pc.programmer
From: msjle@uxa.ecn.bgu.edu (Joi L. Ellis)
Subject: Re: DMA and interrupts
Keywords: DMA
Organization: Educational Computing Network
Date: Wed, 18 Nov 1992 15:59:24 GMT

jkatz@netcom.com (Joseph Katz) writes:

Yes, the first edition was an extremely helpful book.  I wore the covers
off my copy when I had it at my last job.  I coudln't remember the title
of the thing or I would have told the original questioner about it.
"That beige/brown/yellow book with a pc on the front" just doesn't do
for a description... :)

There's a lot more in that book than just DMA, it covers about
everything to do with the hardware.  Recommended for anyone doing
anything beyond rudimentary i/o work with a PC.

>I've seen a few postings over the past few days requesting info on how to
>program the PC's DMA and interrupt hardware.  A good book to check out (in
>fact the only book I've found so far) is Lewis Eggebrecht's "Interfacing to
>the IBM Personal Computer".  It is a SAMS book, ISBN 0-672-22722-3, costs
>about $25.00.  Be sure to get the second edition as it covers the AT and
>PS/2 lines as well as the XT.

>Should anyone know of other sources, please post to this newsgroup.  I
>believe that the info would be of general interest.

>As an interesting sidenote, I believe that Eggebrecht is now head of
>engineering at Commodore-Amiga.

>--Joe Katz
-- 
Joi Ellis                      msjle@uxa.ecn.bgu.edu
Student Residential Programs   Western Illinois University

Xref: sparky alt.msdos.programmer:2786 comp.os.msdos.programmer:10759
From: Kai_Rohrbacher@p7.badendoor.fido.de (Kai Rohrbacher)
Newsgroups: alt.msdos.programmer
Subject: NMI-handling code searched
Date: 20 Nov 1992 22:38:03 -0600
Organization: UTexas Mail-to-News Gateway
NNTP-Posting-Host: cs.utexas.edu


Hi everybody!

I'm looking for some code how to use a NMI (instead of a hotkey) to activate a 
self-written TSR under MSDos 5.0.
If you have some code how to properly handle the NMI (it's a HW interrupt and 
thus requires special treatment) or could point me forward to a file or book 
covering that subject (used language doesn't matter much), then please give me 
a hint!

TNXIA,
      Kai

P.S.: Please answer by email to one of the addresses below - thanks!

+-----------------------------------------+----------------------------------+
|Kai Rohrbacher, University Karlsruhe/BRD | The probability of someone watch-|
|email: S_ROHRBACHER@IRAVCL.IRA.UKA.DE,   | ing you is proportional to the   |
|       UKB8@DKAUNI2.BITNET,  2:241/7521.7| stupidity of your action! -Murphy|


 * End of forwarded message
From: brian@ganglion.Canada.Sun.Com (Brian Onn - OpCom Staff)
Newsgroups: alt.msdos.programmer
Subject: Re: Detecting number of mouse buttons (not INT 33,0)
Date: 17 Nov 92 15:44:30 GMT
Organization: Sun Microsystems of Canada, Inc.

In article <BxuBy3.J4D@news.cso.uiuc.edu> cl27111@uxa.cso.uiuc.edu (Christopher  Lindsey) writes:

>	   Does anyone know of a faster way than using INT 33,0 to detect
>   the number of buttons on a mouse?  Every time that I invoke this function,
>   there is a substantial delay that I would rather not have...  
>

There is really no portable way to do this, without using the INT 33
function.  There may be another function that you can use besides 0, but
I'm not familiar with the INT 33 interface, and my Mouse Programmers Ref.
is buried under piles of other books right now.

Since you only need to do this once, I suggest that you do it at a time
in your proram while you are waiting for the user.  For example, if you
display a startup screen, do it while they are reading that, or if you
ask them for some input, do it then.

BTW, how long is the delay? (define substantial)

Brian.
--
_____________________________________________________________________
Brian Onn.                  Internet : Brian.Onn@Canada.Sun.Com
Operation Commitment,	        Uucp : uunet!sun!suncan!brian
Product Support Specialist.    Voice : (416) 477-6745.
---------------------------------------------------------------------
From: ceharris@csugrad.cs.vt.edu (Carl Harris)
Newsgroups: alt.msdos.programmer
Subject: Re: Dos redirection
Date: 15 Nov 92 15:03:23 GMT
Organization: Virginia Tech Computer Science Dept, Blacksburg, VA
X-Newsreader: Tin 1.1 PL4

tim@tim.src.utah.edu (Tim Ma) writes:
: 
: Is there anyone I can tell from within a C program whether the user has
: redirected the output to a file using DOS redirection (>)?  
: 

Use the ioctl and fileno functions to get the device/file parameters from
DOS.  For standard input, use

   stdinparms = ioctl(fileno(stdin),0);

Substitute 'stdout' for 'stdin' to get the same data for standard output.
The return value will have bit 7 = 0 if the handle associated with the
stream you pass to fileno is a device, or bit 7 = 1 if it's a file.  e.g. to
determine if stdin refers to a file, use something like

   isredirected = ioctl(fileno(stdin),0) & 0x0080; 

The above example will determine when stdin has been redirected to a file.
To determine when standard input or output has been redirected to a device
other than CON, you can examine the lower 3 bits of the ioctl return value.
When bit 7 = 0 (indicating that the handle refers to a device), the values
of the low order bits are

   bit 0:  1 if handle refers standard input device (CON)
   bit 1:  1 if handle refers standard output device (CON)
   bit 2:  1 if handle refers to null device (NUL)

For example, to determine if stdout has been redirected to a some other 
device (LPT1, AUX, etc.), assuming bit 7 is zero, use

   isotherdevice = !(ioctl(fileno(stdout),0) & 0x0001);

Note that you can determine only that the device is not CON (i.e. you can't
determine what device the handle actually refers to).

Bit 2 is especially useful if you don't wish to waste time writing output
to the NUL device.

Hope this helps!  Write me, e-mail, if you have more specific questions 
about this.

Carl Harris
ceharris@csugrad.cs.vt.edu
-- 
+---------------+---------------------------------------------------+
| Carl Harris   |program (tv).  To engage in an activity similar to |
| CS @ VA TECH  |banging one's head against a wall, but with fewer  |
|               |opportunities for reward.                          |
From: chris.sokol@factory.com (Chris Sokol) 
Newsgroups: alt.msdos.programmer
Subject: DMA and interrupts
Date: 22 Nov 92 20:03:00 GMT
Distribution: world
Organization: Invention Factory's BBS - New York City, NY - 212-274-8298v.32bis
Reply-To: chris.sokol@factory.com (Chris Sokol) 

JK>I've seen a few postings over the past few days requesting info on how to
JK>program the PC's DMA and interrupt hardware.  A good book to check out (in
JK>fact the only book I've found so far) is Lewis Eggebrecht's "Interfacing to
JK>the IBM Personal Computer".  It is a SAMS book, ISBN 0-672-22722-3, costs
JK>about $25.00.  Be sure to get the second edition as it covers the AT and
JK>PS/2 lines as well as the XT.

The DMA controller used by the PC on up is the Intel 8273A (or compatible).

The proper place to get information on this chip is the Intel data sheet.
Information on the interface between the controller and the machine can be
had in the PC or AT (or PS/2) tech refs.  The controller is implemented quite
differently on the AT, dunno about the PS/2, so be sure to get what's
appropriate.

chris.sokol@factory.com

---
 . SLMR 2.1a . spr_id = create_new_sprite_and_just_f___ing_work();
From: mpaulin@otago.ac.nz
Newsgroups: alt.msdos.programmer
Subject: TURBO VISION query
Date: 18 Nov 92 14:49:54 +1300
Organization: University of Otago, Dunedin, New Zealand

Could someone please give me an example of how to insert a submenu into
a pulldown menu using TURBO VISION (for Borland C++ 3.0).  There seems to
be no documentation and no examples of how to do this.  Thanks.
Mike Paulin, University of Otago, New Zealand.

Newsgroups: alt.msdos.programmer,comp.sys.ibm.pc.programmer
From: im14u2c@camelot.bradley.edu (Joseph Zbiciak)
Subject: DMA-- HOW?!?!?  HELP ME PLEEZE!
Organization: Bradley University
Date: 16 Nov 92 03:27:19 GMT

I apologize if some of you see this post twice....


I'm hoping that somebody out there can help me.  I am looking for
(a) code fragments, (b) specification, (c) ANYTHING! that will
allow me to use the  High-Speed DMA circuitry to move huge chunks
of memory, and also, use the DMA to monitor a port's output to 
a buffer in memory at high speed.  ANY help--references, 
code fragments, possible sources, anything!--would be greatly
appreciated.  I just had a project plopped on me that
neccessitates DMA usage, practically, in order to have decent
results.  Again, ANY help would be greatly appreciated.


Please EMail me, as my news server is kinda flaky at times.

--joseph zbiciak   im14u2c@camelot.bradley.edu
--
Joseph Zbiciak                         im14u2c@camelot.bradley.edu
[====Disclaimer--If you believe any of this, check your head!====]
------------------------------------------------------------------

To err is human;
   To really foul things up requires a computer!
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
From: smithbm@craft.camp.clarkson.edu (Azrak)
Subject: Re: my_tsr
Organization: Clarkson University
Date: Wed, 18 Nov 1992 14:26:44 GMT

c.brennan@student.utas.edu.au (chris brennan) writes:

>In article <smithbm.721597007@craft.camp.clarkson.edu>, smithbm@craft.camp.clarkson.edu (Azrak) writes:
>> 
>> vincent@datmuc.UUCP (vincent) writes:
>> 

>> If you wish, I will post one of my TSRs for you to look at, but remember
>> that it is completely in 8088 assembly, and I am not a CS major. The
>> program might not be as efficient as possible, however it is quite
>> stable and will not crash very easily.
>> 
>> - Brian  (smithbm@craft.camp.clarkson.edu)
>> 
>> As for my opinion for why it crashes, try saving all registers used
>> in the interrupt routine. At least you will be at a "known state" and
>> can go from there. Just remember to POP all registers in reverse order
>> at the end of your routine.
>> 
>Hi Brian, 

>your actual code was deleted when i read this article, but a frequent
>problem which arises when writing tsr's is using DOS calls.

>Dos is NON re-enterant. so you can not use calls to dos without first checking
>the 'inDos' flag.  If Dos is busy and you still make a call, it will result in a 
>corrupted stack and the system will crash.

>-Bye Chris.  
> email: c.brennan@student.utas.edu.au.

Hmmm. People are getting confused about who had the trouble. It was
vincent@datmuc.UUCP that had the trouble. I tried to explain what I
thought the trouble was, and offered to post an assembly TSR. I don't
believe Vincent was using DOS inside the TSR. Like you say, it is bad news
to do so. I think his trouble was the fact that he wasn't saving the DS
register and possibly others, which were being modified inside the called
TSR routine (which hooked the timer INT). With TSRs, if you touch it, you
save it first!

- Brian

Xref: sparky alt.msdos.programmer:2803 comp.os.msdos.programmer:10860
From: vincent@datmuc.UUCP (vincent)
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer
Subject: Re: my_tsr
Date: 23 Nov 92 09:17:15 GMT
Followup-To: alt.msdos.programmer
Organization: DAT

In article <1992Nov20.224547.66@rei.com> fox@rei.com (Fuzzy Fox) writes:
 >vincent@datmuc.UUCP (vincent) writes:
 vincent@datmuc.dat.de
 
 >	data. tsrstack = malloc (1024);
 >	data. tsrstack += 1024;				// go to the top of it

 >Are you sure that malloc'd memory stays part of your program?  It seems
 >to me that when your program terminates, all heap memory will be free'd
 >by the OS and the next program that loads in (such as COMMAND.COM) will
 >load into the place where your stack used to be.  You should probably
 >use a static stack.

I tried to no avail. I also tried the current stack. Well I'm not shure
If the switching stack code is correct.

I just got mail (twice) about turning off the interrupts inside the timer
function, or before switching stack. I assumed that durring an interrupt
the interrupt were automaticly disabled, but I haven't verified, let me
get on my perriscope and find out. I'll get back to you guys.

An now back to news. (This guys going to DOS)

vincent@datmuc.dat.de

ciao!

Newsgroups: alt.msdos.programmer