HDTenEightyP/NetNews huggingface dataset:
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: HELP: Keyboard Interrupt 09H
Organization: Warsaw University Physics Dept.
Date: Tue, 13 Oct 1992 16:15:10 GMT

>>>>> On 12 Oct 92 21:31:28 GMT, ceharris@csugrad.cs.vt.edu (Carl Harris) said:
Carl> In article <1992Oct9.154103.18137@sol.ctr.columbia.edu> 
Carl> jerry@connection.prospect.com (Jerry Shekhel) writes:
>Hello out there.  I'm creating a VGA game, and I need precise keyboard
>control, so the kbhit()/getch() functions are insufficient.  I need to know
>when keys are pressed and released.  I managed to do this by intercepting the
>keyboard hardware interrupt

Carl>    [lengthy code example deleted]

>This works, but the problem is that since I'm not using the BIOS to read the
>keystrokes (I'm just reading the key_map[] array), the BIOS buffers them up
>and starts clicking the speaker when the buffer overflows.  Needless to say,
>when I'm holding keys down, this click turns into a "drumroll" and slows down
>my game.  I tried removing the call to old_handler(), but then everything
>stopped working, as if the interrupt itself was no longer being generated.

Carl> Before exiting your ISR, you may clear the keyboard's MAKE/BREAK status by
Carl> writing 0x80 to the keyboard control port.  This will 'remove' the key
Carl> press/release from the keyboard in the same manner as the BIOS keyboard ISR.
Carl> After doing this, you must *not* pass control to the BIOS ISR.  Rather, issue
Carl> the EOI to the interrupt controller and return from the interrupt via IRET.

Note this is OK for XT only. AT keyboard controller doesn't need
writing the 0x80 to the port 0x61 and it can be harmful. Simplest
is use BIOS service. Can intercept scan code from keyboard by
reading it from port 0x60 before passing control to BIOS routine
and remove characters from keyboard buffer. Not also should clear
shift status to avoid detection Alt-Ctrl-Del or Ctrl-ScrollLock
by BIOS. Note also some AT class computers may have keyboard
controller which returns other scan codes than usual keyboard
and they have BIOS which uses Int 15h, function 4Fh to pass
'standard' scan code to application (Borlands SuperKey doesn't
work on such a computers because it services Int 9 only).
If you want service Int 9 without BIOS: on first interrupt
read scan code from port 0x60, wait several microsecond and
check if IRQ line is still active (by command to 8259). If it
is, use code which writes to port 0x61 (set and clear bit 7).
If it isn't, need send the EOI to 8258 only.
Reading scan code is simplified version of Int 9 service, good
program on AT should first send Keyboard Disable command.
Otherwise no recovery is possible after transmission parity error.
From: bright@nazgul.UUCP (Walter Bright)
Newsgroups: comp.os.msdos.programmer
Subject: Re: 32bit C/Dos Extender...
Date: 5 Oct 92 02:01:41 GMT
Reply-To: bright@nazgul.UUCP (Walter Bright)
Organization: Zortech, Seattle

In article <kekUJKK00Vp9AcVmRk@andrew.cmu.edu> jr4e+@andrew.cmu.edu (Jeon Bahbac Rezvani) writes:
/Does anyone know of a 32bit C compiler w/ Dos extenders (such that you don't
/have to pay royalties and you can market them) aside from the real expensive
/ones out there (like <$400))?

Symantec sells the Zortech 32 bit C/C++ compiler. It comes with a royalty-free
32 bit DOS extender.
Newsgroups: comp.os.msdos.programmer
From: drh@unccsun.uncc.edu (drew hartman)
Subject:  DataBoss Code Generator, Anybody tried it yet?
Reply-To: drh@unccsun.uncc.edu (drew hartman)
Organization: University of NC at Charlotte
Date: Tue, 13 Oct 1992 16:33:19 GMT


    So has anybody tried this yet?  Its a C or Pascal code generator for
producing very good databases.  It is sold by Kendal (sp?)  Incorp.  I think,
for about $700.00.  I have a coupon to recieve it for $100.00  and would
like to know if its worth the money.  It's been in a few popular magazines,
bu thats all I've seen.

Thanks
Drew

drh@unccsun.uncc.edu
From: pfaffman@pilot.njin.net (Jay Pfaffman)
Newsgroups: comp.os.msdos.programmer
Subject: Programming mouse & svga
Date: 9 Oct 92 16:28:42 GMT
Organization: Rutgers Univ., New Brunswick, N.J.

Hi.  I am writing a SVGA graphics program but have come across a little
problem. I am trying to use a mouse in my program, but the mouse driver
can not deal with the SVGA.  I have a Genoa SVGA.  No mouse driver that
I have seen works with the SVGA.  Please help.	Code would be a plus.

e-mail responses preferred, as this is someone elses account & he won't
be reading this group.

Nim


-- 
Jay Pfaffman, Computer Coordinator        pfaffman@pilot.njin.net
Dwight-Englewood School, 315 E. Palisade Ave.                      
Englewood, NJ  07631-0489                 201-569-9500
(Testing  new site --> pfaffman@relax.mcds.com)
Newsgroups: comp.os.msdos.programmer
From: beaurega@ireq.hydro.qc.ca (Denis Beauregard)
Subject: OCR reader for ScanMan
Organization: Institut de recherche d'Hydro-Quebec, Varennes, Canada
Date: Thu, 15 Oct 1992 13:18:15 GMT

I would like to know about OCR/character recognition software of
the Logitech ScanMan 32 hand scanner.

Something running on a PC compatible (386 22MHz), preferably that can
scan files instead of the scan-decode cycle; able to decode French
character set (accented letters, but I can eventually correct a text
later).  The ScanMan 32 is producing .TIF, .PCX and .IMG formats with
a 4 inches width.

P.S.  What is the best group for that?  I looked for scanner and OCR.

-- 
  \_\    Denis Beauregard  *  internet:beaurega@ireq.hydro.qc.ca
 /   \   Ge'ne'alogiste des familles : Beauregard/Jarret/Jarest/Vincent
J   __>  Un Que'bec renouvele' dans une Ame'rique renove'e
\_.-===  Une entente au contenu insatisfaisant!     Mon opinion ? Non !
Xref: sparky comp.os.msdos.programmer:9793 comp.lang.c:14685
From: tpradeep@cs.tamu.edu (Pradeep K Tapadiya)
Newsgroups: comp.os.msdos.programmer,comp.lang.c
Subject: Re: C/C++7.0 .. 'null pointer assignments'
Date: 8 Oct 92 16:03:23 GMT
Article-I.D.: tamsun.1992Oct8.160323.20843
Organization: Computer Science Department, Texas A&M University

What that means is somewhere in "your" part of the program you
are writing to a memory location outside your allocated space.
In your case, you are writing to memory location 0x0000:0x0000.
This would happen most of the time when the programmer uses
malloc() family of routines, doesn't care to check if
the allocation was successful and just goes ahead and uses
the pointer returned.

Microsoft compiler adds a piece of code at the "exit" of your
program which checks if this memory location is overwritten.
This is rather a clever way to partially check the misbehaviour
of a program.

What all this means is that you need to go back and debug your
program more carefully. Look for memcpy(), strcpy() kind of
routines in particular.

Another way it to put exit() after each phase of your program
and see when the messaage appears again. This way you can
narrow down your search.

Hope this helps.

Pradeep
tpradeep@cs.tamu.edu
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Random Number Generator
Date: 16 Oct 92 17:36:01 GMT
Organization: Warsaw University Physics Dept.

>>>>> On 14 Oct 92 16:04:17 GMT, fulcher@doc.crd.ge.com (Karen M. Fulcher Scholz) said:
Karen> I am looking for a random number generator for a project that I am 
Karen> working on.  The project is going to be written in Microsoft C and
Karen> I would like to be able to call this random number generator from 
Karen> my program (similar to calling IMSL routines -- unfortunately C/STAT
Karen> from IMSL is not available for the pc).  Any suggestions would be

Few years ago one of my colleages told me about an idea how to make
very good pseudo-random number generator. Need use array (of long
integers for example) and to generate a "random" number need take
one number from the array, XOR it with number few positions further
(the result of XOR must be stored in array) and advance index from
which number is taken. A program in C is probably shorter:
long rtable[RTSIZE];
int rtind=0;
long rand()
{ return rtable[rtind=(rtind+1)%RTSIZE]^=rtable[(rtind+RTSHIFT)%RTSIZE]; }
It has a good chance to have a period (2 to RTSIZE)-1 and it can be
verified if the value (2 to RTSIZE)-1 is a prime number - just check
initial table is restored after this number of calls! (indirectly)
Some care must be taken about setting initial table to avoid all
zeros on any bit position or correlations between bits (a way to
avoid it is set any non-zero on bit 0, compute what will be after
2 to RTSIZE-5 calls and use this pattern for bit 1, and so on).
Recommended value of RTSIZE is between 100 and 150.
Newsgroups: comp.os.msdos.programmer
From: ddixon@nyx.cs.du.edu (David Dixon)
Subject: Memory allocation in Borland C
Summary: INTEL 80x86 memory segmenting is sadistic 
Organization: Nyx, Public Access Unix @ U. of Denver Math/CS dept.
Date: Tue, 13 Oct 92 21:44:05 GMT

Please direct responses to DIXON@UCRPH0.UCR.EDU, as I do not subscribe to
this group.

Problem: I am trying to dynamically allocate a modest (32k) area of memory.
It seems to allocate OK, but corrupts the heap when I deallocate, hence
things go haywire when main() is exited.  I've tried every stinking
combination of memory model and pointer type I can think of.  The only
thing that seems to keep the machine happy is if I allocate very little
space.

Anybody have any suggestions?  I'm programming under Borland C, on a
386 with 4 M.  I've got QEMM386 running for memory management.  Using this
program shows lots and LOTS of free RAM, yet I'm getting all of this
erratic behavior.  Thanks.

					Dave
Newsgroups: comp.os.msdos.programmer,comp.sys.ibm.pc.misc,comp.binaries.pc.wanted
From: kris@microware.com (Kris Hoffmeyer)
Subject: Seeking public domain/shareware C/Pascal Compiler
Organization: Microware Systems Corp., Des Moines, Iowa
Distribution: usa
Date: Thu, 15 Oct 1992 15:36:14 GMT

Hi,

Could someone please email ftp locations if such compilers are
available?  Mil gracias.

Kris.
----------------------------------------------------------------------------
- "Friends don't let friends run dos." - Microware 32-bit OS-9000 Ad :-)
- #include <std_disclamer.h>
-
- Kris Hoffmeyer
- Product Integration Engineer
- Microware Systems Corporation
- (UUCP: ...!uunet!mcrware!krish)	(Internet: krish@microware.com)
----------------------------------------------------------------------------
Newsgroups: comp.os.msdos.programmer
From: geo@netcom.com (George Pontis)
Subject: Re: Real time AT Clock on int 70h
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Fri, 9 Oct 1992 06:59:53 GMT

>I was perusing Ralf Brown's interrupt list,
>when I found the entry for the real time AT clock on Int 70h.
>
>So I wrote a TSR that hooked it and hoped it would be invoked,
>every 1024th of a second.
>
>Absolutely nothing happened.

To make this go, you also need to enable that interrupt by unmasking the
second interrupt controller, IRQ8, and enable interrupt generation on
the RTC chip itself. It sounds like a more useful timer than it really
is, if you need precision timekeeping.
From: craigs@cci632.cci.com (Craig Schneider)
Newsgroups: comp.os.msdos.programmer
Subject: Turbo Pascal .ZIP Source Code
Keywords: .ZIP Pascal
Date: 12 Oct 92 16:50:04 GMT
Organization: Northern Telecom, Inc. - Network Application Systems


    Help me, I once had some Turbo Pascal source code to both compress &
decompress .ZIP files.  I beleive if went by the name PASUNZIP.  Don't
you know it, my only backup copy is now unrecoverable just when I need
it.  Can someone mail me or point me towards a source for something
similiar.  Thanks For ANY HELP!!

                                      Craig Schneider
From: joe@proto.com (Joe Huffman)
Newsgroups: comp.os.msdos.programmer
Subject: Re: 32bit C/Dos Extender...
Date: 14 Oct 92 18:58:02 GMT
Organization: FlashTek, Inc.

>In article <944@nazgul.UUCP> bright@nazgul.UUCP (Walter Bright) writes:

>>In article <kekUJKK00Vp9AcVmRk@andrew.cmu.edu> jr4e+@andrew.cmu.edu (Jeon Bahbac Rezvani) writes:
>>/Does anyone know of a 32bit C compiler w/ Dos extenders (such that you don't
>>/have to pay royalties and you can market them) aside from the real expensive
>>/ones out there (like <$400))?

>>Symantec sells the Zortech 32 bit C/C++ compiler. It comes with a royalty-free
>>32 bit DOS extender.

And if you order the X-32VM upgrade for it from FlashTek you can do source
level debugging (using the Zortech debugger) and get virtual memory and 
complete documentation for only $69.00.  But order soon, a new version is
coming out in a week or so with support for Watcom, TSR's, and memory 
mapped file I/O and the price will be going up to $250.00 plus another
$250.00 if you want the FlashTek debugger (FlashView -- formerly Zortech's 
ZDB).  Existing X-32VM customers will be able to upgrade to the new version
of X-32 for just $80.00.

The FlashView debugger will support Microsoft C7 in addition to Zortech so 
will be getting something more that just the same debugger you get with the 
Zortech compiler.

Joe Huffman
FlashTek, Inc.
121 Sweet Ave
Moscow, Idaho 83843
U.S.A.

FAX:    208-882-7275
Voice:  208-882-6893
Orders: 800-397-7310
-- 
netcom!proto!joe
joe@proto.com
Newsgroups: comp.os.msdos.programmer
From: brown@NCoast.ORG (Stan Brown)
Subject: "Sorry if this is an FAQ" Re: Hardware information
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Sat, 10 Oct 1992 10:01:19 GMT
Keywords: Warning: I'm on the warpath again.  

In article <718326448snx@bilton.demon.co.uk> johnb@bilton.demon.co.uk (John Burton) writes:
>
>I apologise inadvance if this is an FAQ. 

After I answered the person's actual question by email (to the best of
my ability), I began thinking about the quoted sentence.  Miss Manners 
talks about apologies that do not make things better, and this seems 
to be one of them.

It seems to me that the quoted sentence says "I can't be bothered to
look at the FAQ list.  I'll just sit back and let others do even that
minimal research for me.  Ans I'm not even ashamed of it: I'll boast
that I haven't looked at the FAQ list."

I can understand laziness; I often share it.  What I don't understand is
a sort of aggressively proclaimed laziness, thinly disguised under a
pseudo-apology.

Am I missing the point here?  Is there another interpretation, one that
does more credit to the original writer (and to the hundreds of others
who post essentially the same thing)?

-- 
Stan Brown, Oak Road Systems                      brown@Ncoast.ORG
Cleveland, Ohio, USA
From: jim@grimaldi.rutgers.edu (Jim Martin)
Newsgroups: comp.os.msdos.programmer
Subject: "more"-like routine needed
Date: 14 Oct 92 08:45:15 GMT
Organization: Rutgers Univ., New Brunswick, N.J.


	Forgive me, but I'm being lazy tonight and don't feel like
re-inventing the wheel. What I have is a character array of variable
length (I've just recieved it via the network), and I want to pretty
print it on the screen for the user. Something that would allow the
user to page forwards and backwards if the data is more than a screen
full. Does anyone know of such a routine in some library somewhere? I
happen to be working in BC 3.1, but I'll gladly accept any dialect of
C. Thanks!
						Jim


-- 
	Jim Martin			Internet: jim@dorm.rutgers.edu
	Network Services		UUCP: {backbone}!rutgers!jim
	Rutgers University		Phone: (908) 932-3719
Newsgroups: comp.os.msdos.programmer
From: yvon@ramsey.cs.laurentian.ca (Yvon Lavoie)
Subject: Re: Help me choose a C++ compiler.
Organization: Dept. of Computer Science, Laurentian University, Sudbury, ON
Date: Tue, 13 Oct 1992 19:17:29 GMT

In <tooraj.718979756@daneel.rdt.monash.edu.au> tooraj@daneel.rdt.monash.edu.au (Tooraj Enayati) writes:

>Hi every one,

>I am confused. I have been programming in C for a couple of years now.
>Now I wanna move on to C++. I have used  Turbo C (and MSC. But I really
>liked Turbo C.)

>What, I want is that the compiler to allow me write windows applications as
>well as normal C/C++ codes for MS-DOS as well. I was initially going to
>buy Borlnad C++ with Application Frameworks. The reasn was that I
>thought that was the only one that would allow me to write windows
>applications (plus it costs more so I thought it must be the the
>complete package). I have just been tald that Turbo C++ for Windows also 
>dose that.

>Could some kind soul tell me what the Application Frameworks is and
>what should I get; Bourland C++, Borland C++ with Application Frameworks,
>Turbo C++, or Turbo C++ for windows.

>I have also heard Borland will provide patches for its compilers to
>support Windows NT, has anyone heard of this.

>I Thank you for you help in advance.

>PS. prices of the compile dosen't wory me, I an get the educational
>prices.

>-- 
>==============================================================================
>Tooraj Enayati     Melbourne     Australia     tooraj@daneel.rdt.monash.edu.au
>Monash University       Robotic and Digital Technology       (Graduate/Alumni)
>==============================================================================



Your best bet would be Borland C++ with Applications Frameworks.  It includes
a dos compiler,a windows compiler, OWL classes and a whole bunch of programming
tools.

If you buy Borland C++, you don't get the OWL classes.
If you plan to do a lot of windows programming, these OWL classes
can really help you out.

Turbo C++ for windows includes the OWL classes but you can only do windows
programming.  The reverse is true for Turbo C++ for dos.

If you're wondering what is the difference between Turbo C++ and Borland C++,
keep in mind that Turbo C++ is an entry level compiler while Borland C++ is
a professional compiler.(i.e. advanced programmers)

Yvon Lavoie




Newsgroups: comp.os.msdos.programmer,comp.lang.c
From: brown@NCoast.ORG (Stan Brown)
Subject: Re: C/C++7.0 .. 'null pointer assignments' .. but program's finished ! HELP!!
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Sat, 10 Oct 1992 10:16:51 GMT

In article <BvsL61.LEE@resntl.bhp.com.au> Bernard Orenstein <bernie@resntl.bhp.com.au> writes:
>in the past with C6.0, but now, under C7.0 is giving the
>error "null pointer assignment" when it finishes executing
>(and it does execute correctly) . I have used 'CodeView' to step through it,
>which shows that after the last "}" in my main() program, it
>goes off to execute some machine langiage instructions, a
>call to some routine or other, and it is THIS call which gives
>me the "null pointer assignement" error.

"null pointer assignment" is described in the "Comprehensive Index and
Error Messages" book that came with your C7.0 compiler.

Your main program is not the beginning and end of the actual executable
program.  In fact, main( ) is a subroutine to the C startup code.  That
code does things like grab the command-line arguments and open
stdin/stdout/stderr, then calls main( ), then upon return from main it
closes any open files and checks for null pointer assignments.

Pointers are not checked for validity when you actually use them; to do so
would greatly add to the size of programs.  Instead, Microsoft code
checks after your program has executed whether 0000:0000 (*) has a different
value from before it began.  If so, your program must have written to
it so Microsoft code tells you this.  The actual assignment using an
uninitialized pointer may have occurred at any point in the program.

Your program did not execute correctly; it _appeared_ to execute
correctly because the consequences of the failure were not obvious.
The manual suggests that the code may fail in more obvious ways on
different platforms.  I add that "different platforms" means not just
other (kinds of) machines but even the same machine if you have loaded
different TSRs, or if a different program is executed before the one
that gets "null pointer assignment".

(*) If you're in small or medium memory model, data pointers are 16 bits
and a null pointer would assign to location 0000 in your data segment,
not to 0000:0000.  I don't know the internals of how Microsoft code
checks or what.  But the general principles given above are correct 
based on my experience and reading the manuals.
-- 
Stan Brown, Oak Road Systems                      brown@Ncoast.ORG
Cleveland, Ohio, USA
From: mikew@hpwarha.wal.hp.com (Michael Williams)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Critical error handlers
Date: 12 Oct 92 21:11:34 GMT
Organization: Hewlett-Packard Company, Waltham, MA

In article <1992Oct8.050649.19659@netcom.com> messina@netcom.com (Tony Porczyk) writes:
>mikew@hpwarha.wal.hp.com (Michael Williams) writes:
>
>>How does one install a critical error handler with Borland C 3.0?
>>I'd like to avoid having "Abort, retry, ignore?" mess up my screen!
>
>Look at harderr(). In 3.1 it's page 278 of Library Reference.

Thanks!!!  This is exactly what I was looking for! (Complete with an
example, too!)

Mike "they didn't have `critical error handler' in the index" Williams

--
Michael B. Williams
Hewlett-Packard Company
Medical Products Group
Waltham, MA 02254                    Prodigy: Dumped it
(617) 290-3734                       CompuServe: 73667,3264
mikew@hpwarga.wal.hp.com             America Online: Mike W99
Newsgroups: comp.os.msdos.programmer
Subject: URGENT: A list of BIOS calls is needed
From: S947460@UMSLVMA.UMSL.EDU (Andrew Zaitsev)
Date: Sun, 11 Oct 1992 20:59:54 GMT
Organization: UM ST. LOUIS

I desperately need to get a list of BIOS calls.
I know, it is included in some textbooks, but none of them is
in my library.
I suspect, it should be available for FTP'ing from some site, but
I cannot figure out, where.
HELP!!!
Newsgroups: comp.os.msdos.programmer,comp.lang.c
From: Bernard Orenstein <bernie@resntl.bhp.com.au>
Subject: MS C7.0 .. null pointer assignment .. HELP!!
X-Xxdate: Thu, 8 Oct 92 01:53:16 GMT
Organization: BHP Research (Newcastle Laboratories)
X-Useragent: Nuntius v1.1.1d9
Date: Thu, 8 Oct 1992 07:44:52 GMT

I am currently working on a package that was developed and
tested under C version 6.0 .. it is a main program linked to
a few libraries. The package compiled correctly at some time
in the past with C6.0, but now, under C7.0 is giving the
error "null pointer assignment" when it finishes executing
(and it does execute correctly) . I have recompiled everything
with the debug option, and used 'CodeView' to step through it,
which shows that after the last "}" in my main() program, it
goes off to execute some machine langiage instructions, a
call to some routine or other, and it is THIS call which gives
me the "null pointer assignement" error.
I really need some help on this one, as I've no idea where
these extra instructions have come from, or what they are
for.
Does anyone have any ideas as to how I can overcome the
problem.
If so , please don't reply to this message directly, but
forward a reply to "c8930417@cs.newcastle.edu.au" .
Thanks.

	Rodney Bailey
Newsgroups: comp.os.msdos.programmer
From: dmurdoch@mast.queensu.ca (Duncan Murdoch)
Subject: Re: Compressed directories
Organization: Queen's University
Date: Wed, 7 Oct 1992 12:54:34 GMT

In article <1992Oct6.131645.21146@wts.com> jbf@wts.com (Jens B. Fiederer) writes:
>>The disadvantage, of course, is that if I ever tried writing to one of these
>>"disks" I could really get a mess of fragmented files; however, I'm willing 
>>to make the disk read-only, and have a separate utility to create it.
>
>Since cluster sizes are multiples of 512 byte sectors, this does not seem
>possible, but even if it were, fragmentation would be the least of your
>problems - your FAT would then contain 1.5 bytes for each byte of allocated
>file space, it would no longer fit in memory (unless you had a real tiny disk),
>thus file access time would really bite....

The point is that I wouldn't have a FAT, of course.  Since DOS won't be able 
to create files, I can assure that they're not fragmented; then there's no 
need for a FAT.


Duncan Murdoch
dmurdoch@mast.queensu.ca
Newsgroups: comp.os.msdos.programmer