HDTenEightyP/NetNews huggingface dataset:
Newsgroups: alt.msdos.programmer,comp.lang.pascal
Subject: Stealing INT 09h
From: sjmadsen@miavx1.acs.muohio.edu (Steve Madsen)
Date: 26 Jul 92 13:13:09 -0500
Organization: Miami of Ohio

        I'm interested in writing a keyboard handler by going through INT 09. 
The only problem is that I have just about no idea how to do this.  It's all
part of a "bigger picture."  In the end, I'd like to be able to have a separate
text screen for each task running in a program, and be able to switch between
these tasks (and their text screens) by pressing Alt-Tab, much like MS Windows.

        If what I've seen here on the net is correct, the keyboard scan code
will appear at Port[$60].  (Pascal notation, here.)  If it's possible, I'd like
to write the handler so that the Alt-Tab combination is the only one I deal
with.  If the built in handler can handle the keypress, I'd love to just pass
it through to that code instead.  Is this possible?

        Finally, is there any way I can take the Alt-Tab keypress, assign it an
unused Pascal "extended keycode" and stuff it in the buffer?  This would be the
ideal solution, as it would allow me to support any other keypresses that
Pascal doesn't currently support, should I need them in the future.

        What might make this chore even easier would be if someone has a
Pascal-ready handler already written and would like to refer me to a copy.. :)

        Any help would be greatly appreciated!

-- 
Steve Madsen
Miami University  Oxford, OH
Internet: sjmadsen@miavx1.acs.muohio.edu
Newsgroups: alt.msdos.programmer
From: laster@news.cis.ohio-state.edu (Martin A. Laster)
Subject: Need Basic DOS commands!
Organization: The Ohio State University Department of Computer and Information Science
Date: Fri, 24 Jul 1992 21:03:20 GMT


	I need to know some basic and high-level DOS 3.3 and/or DOS 2.1 
commands.  If you can help, please email me as many commands and their 
functions as you can.

e-mail : laster@cis.ohio-state.edu

					Thanks
					MAL 
Newsgroups: alt.msdos.programmer
From: ron@vicorp.com (Ron Peterson)
Subject: How to low level format a hard drive?
Organization: V. I. Corporation, Northampton, Massachusetts
Distribution: usa
Date: Tue, 28 Jul 1992 21:29:27 GMT

Would someone please tell me how to do a low level format on a
harddrive under DOS3.3?  The machine is some sort of 486 I think 
(no labels!) which we normally run Unix on but which can be booted 
as a DOS machine (which no one here knows anything about.)  
The drive is a Quantum 105S.  I think the drive is trashed but
want to try a low level format to be sure.
ron@vicorp.com or uunet!vicorp!ron
Newsgroups: alt.msdos.programmer
From: aluribe@cecux1 (Alvaro Uribe Izquierdo)
Subject: Need examples of TVISION
Date: Fri, 31 Jul 1992 16:30:28 GMT
Organization: Centro de Computacion - Universidad de Chile


Hi:
   I have been trying to use the TListViewer class of Borland's C++ version
   3.0 and I want to write the function TListViewer::getText( ... ) of this 
   class, this's a function that it use for TListViewer::draw(). If someone
   could send me some source code which shows the usage.

   thanks in advance

   -- Alvaro

   e-mail:

   aluribe@cecux1.cec.uchile.cl
Xref: sparky alt.msdos.programmer:2051 comp.lang.pascal:4497
From: holland@matt.ksu.ksu.edu (Rich Holland)
Newsgroups: alt.msdos.programmer,comp.lang.pascal
Subject: SHIP?
Date: 21 Jul 1992 23:28:29 -0500
Organization: Kansas State University
Distribution: world
NNTP-Posting-Host: matt.ksu.ksu.edu

Help!  Recently, someone sent me SHIP.COM, a "new" program similar to
UUencode/Decode, but much better.  I lost the sender's mail address,
and unfortunately the source code as well!  All I have is the MS-DOS
executable, and now I'd like to compile it for use on my unix box here..

Can the author please re-contact me?  Thanks!

 -- Rich

-- 
Rich Holland             | INTERNET:  holland@matt.ksu.ksu.edu
419 Marlatt Hall         | BITNET  :  holland@ksuvm
Manhattan, KS  66506     | UUCP    :  ...rutgers!matt.ksu.ksu.edu!holland
"Jesus saves...but Gretzky gets the rebound!  He shoots!  He scores!!"
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer,comp.programming,comp.unix.programmer
From: fjh@cs.mu.OZ.AU (Fergus James Henderson)
Subject: Re: Help referencing pointers in C++
Organization: Computer Science, University of Melbourne, Australia
Date: Mon, 27 Jul 1992 00:11:58 GMT

you@matt.ksu.ksu.edu writes:

>Hello,
>  I'm playing with C++, teaching it to myself.  What I would like to know how to
>do is reference certain pointers in a weird way....let me explain.  I'm
>using a trie ADT.  Each node has 27 children, A-Z plus one to see if it's a word
>or not.  It's a type of spell checker.  You trace down the tree the letters of
>the word and when you're done, you check to see if it's a valid word or not.  
>Of course, if along that way you find a path is NULL then it isn't a word.  What
>I had hoped could be done is something like this, where the word is in the
>variable "inword":
>
>	char1 = toupper(inword[count]);
>	if (dictionary->char1==NULL)
>		notfound=1;
>	else
>		dictionary=dictionary->char1;
>
>Count keeps tract of which letter the program is searching for and when count
>equals the length of the word, you check to see if the flag is set and if
>it is, then it's a word, else it isn't.  I've looked at the enum datatype
>but I haven't had any luck with it.  Any help would be greatly
>appreciated.  What I don't want to do is this:
>
>      switch(*char1) {
>         case 'A' : {
>            if (current->a==NULL)
>               done = 1;
>            else
>               current=current->a;
>            };
>         case 'B' : {
>            if (current->a==NULL)
>               done = 1;
>            else
>               current=current->b;
>            };
>         case 'C' : {
>            if (current->c==NULL)
>               done = 1;
>            else
>               current=current->c;
>            };
>.......
>
>					Thanks, 
>						Kevin

Use an array of pointers:

struct trie {
	int is_word;
	struct trie *next[26];
} *dictionary;	/* you better initialize this yourself! */

/* return TRUE if inword is in dictionary */
int check_word(const char *inword) {
	const struct trie *ptr;
	int index, c;
	for (ptr=dictionary; ptr && *inword; ptr=ptr->next[index]) {
		assert(isalpha(*inword));
		c = toupper(*inword++);
		index = c - 'A';  /* works for ASCII but not for EBCDIC */
		assert(0<=index && index<26
	}
	return ptr && ptr->is_word;
}
-- 
Fergus Henderson             fjh@munta.cs.mu.OZ.AU      
This .signature VIRUS is a self-referential statement that is true - but 
you will only be able to consistently believe it if you copy it to your own
.signature file!
-- 
Fergus Henderson             fjh@munta.cs.mu.OZ.AU      
This .signature VIRUS is a self-referential statement that is true - but 
you will only be able to consistently believe it if you copy it to your own
.signature file!
Newsgroups: alt.msdos.programmer
From: redmond+@cs.cmu.edu (Redmond English)
Subject: Re: How do I get a the memory above 1M ?
Date: Fri, 31 Jul 92 13:05:19 GMT
Organization: School of Computer Science, Carnegie Mellon

In article <1992Jul29.043416.10449@proto.com> joe@proto.com (Joe Huffman) writes:
>kc@dcs.ed.ac.uk (Kenneth Cameron) writes:
>
>>Whats the cleanest way to get at the memory above the 1Meg mark,given the
>>following conditions ?
>
>DOS extenders are definitely the cleanest way to do this.
>
>>The application has to run under MS-DOS, on a 486dx. In other words it
>>has to be in real mode most of the time.
>
>MS-DOS, on a 486dx, does not mean real mode is required 'most of the time'.
>
>>I'm working with Borland C++ 3.1.
>>I don't want to use a DOS extender like Phar Laps.
>
>Could you elaborate?  Pharlap and Rational Systems both make a very nice
>'286 extender.  They make accessing extended memory so easy that I don't
>think I can give them enough praise.  The only drawback that I know of is
>the price...
>
>-- 
>netcom!proto!joe
>joe@proto.com



If the PharLap DOS extender is too expensive, consider changing to Zortech
C++ - the whole compiler is cheaper than the PharLap DOS extender.

The Zortech compiler comes with an extender, but for $69 you can get a truly
excellent extender from Flashtek, which can even support virtual memory.

I *highly* recommend the Flashtek extender - if you have Zortech C++ *get
this extender* !!  (By the way, I am not affiliated with Flashtek, I'm
merely an impressed customer).

                               Red/.
Newsgroups: alt.msdos.programmer
From: steinman@me.utoronto.ca (David Steinman)
Subject: Re: How to low level format a hard drive?
Organization: UofT Mechanical Engineering
Distribution: usa
Date: Wed, 29 Jul 1992 04:19:28 GMT

ron@vicorp.com (Ron Peterson) writes:

>Would someone please tell me how to do a low level format on a
>harddrive under DOS3.3?  The machine is some sort of 486 I think 
>(no labels!) which we normally run Unix on but which can be booted 
>as a DOS machine (which no one here knows anything about.)  
>The drive is a Quantum 105S.  I think the drive is trashed but
>want to try a low level format to be sure.
>ron@vicorp.com or uunet!vicorp!ron

Try running DOS's debug utility.  At the '-' prompt, type 'g=c800:5'.  This
should start up the low-level format.
--
Dave!
Xref: sparky alt.msdos.programmer:2056 comp.lang.pascal:4518
Newsgroups: alt.msdos.programmer,comp.lang.pascal
Subject: Re: SHIP?
From: cctr132@csc.canterbury.ac.nz (Nick FitzGerald, CSC, Uni. of Canterbury, NZ)
Date: 23 Jul 92 13:56:09 +1200
Distribution: world
Organization: University of Canterbury, Christchurch, New Zealand

In article <14io5dINNs4m@matt.ksu.ksu.edu>, holland@matt.ksu.ksu.edu
(Rich Holland) writes:
> Help!  Recently, someone sent me SHIP.COM, a "new" program similar to
> UUencode/Decode, but much better.  I lost the sender's mail address,
> and unfortunately the source code as well!  All I have is the MS-DOS
> executable, and now I'd like to compile it for use on my unix box here..

SHIP is part of the Info-Zip Project's zip and/or unzip packages.  I'm
fairly sure the full source for these is in the PD1:<MSDOS.ZIP> dir at
Simtel20.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Nick FitzGerald, PC Applications Consultant, CSC, Uni of Canterbury, N.Z.
 n.fitzgerald@csc.canterbury.ac.nz    (64)(3)  642-337 Voice,  642-332 FAX
From: ptb@prg.ox.ac.uk (Peter Breuer)
Newsgroups: alt.msdos.programmer
Subject: Re: Memory Model questions...
Summary: Farmalloc caveat.
Keywords: malloc farmalloc
Date: 21 Jul 92 16:42:55 GMT
Reply-To: ptb@prg.ox.ac.uk (Peter Breuer)
Organization: Oxford University Computing Laboratory, UK

In article <1992Jul16.195333.19202@sj.ate.slb.com> poffen@rushmore (Russ
Poffenberger) writes:
>
>You don't need huge memory model to use huge pointers. You can use huge
>pointers in ANY memory model. If your application only needs a few large
>segments of memory, it is better to just use huge pointers and farmalloc
>than to switch to a larger memory model.
>

But note that "A tiny model program cannot make use of farmalloc"
(turbo C manual).

Peter <ptb@uk.ac.ox.comlab>
From: kentiler@matt.ksu.ksu.edu (Kent Iler)
Newsgroups: alt.msdos.programmer
Subject: How to shrink data?
Date: 27 Jul 1992 23:59:10 -0500
Organization: Kansas State University
NNTP-Posting-Host: matt.ksu.ksu.edu

Hello,
   I am trying to write an envelope printing program which contains
a database of all the people you want to print.  Also, I have a database with
all the zipcodes and citys, so they can enter Either one and the city come up.
I'm not too concerned with archiving/compressing the information about the
people, but I NEED to do something about the zip codes and citys.  It's
a 600 k file with each zipcode on a seperate line.  Any help would be
greatly appreciated.  Thanks.
																		--Kent
Newsgroups: alt.msdos.programmer
From: potts@itl.itd.umich.edu (Paul Potts)
Subject: Borland C++ for DOS - suggestions for a good debugger? 
Organization: Instructional Technology Laboratory, University of Michigan
Date: Wed, 22 Jul 1992 17:11:12 GMT

Hi all,

I'm using Borland C++ 3.0 (soon to be 3.1) and the TurboVision classes.
I'm looking for recommendations for a good debugger. I'm not entirely
happy with the Turbo Debugger and C++ - it doesn't seem to do a very good
job showing me stacks, classes, etc. Note that it is DOS C++ programs that
I want to debug.

Any suggestions? I've seen MultiScope advertised but I don't want to read
ads, I'd like to hear from people with experience. I'd like to see something
as powerful as the THINK C debugger, if anyone is familiar with that
package.

Mail or post...
-- 
..though I respect that a lot, I'd be fired if that were my job, after 
killing Jason off and countless screaming argonauts... (They Might Be Giants)
Paul R. Potts, Software Designer --- potts@itl.itd.umich.edu <--- me!
From: wreu90@uk.ac.soton.ecs (Fodrules)
Newsgroups: alt.msdos.programmer
Subject: HiColour mode on ProDesignerIIs
Date: 20 Jul 92 21:46:27 GMT
Organization: Southampton University
Originator: wreu90@herbert


	Hi, could anyone help me with programming the HiColour mode of a
ProDesignerIIs - firstly initialisation, and secondly, how the RGB
values are stored in memory.

	Thanks,

	      <  Richard Underwood  -  wreu90@uk.ac.soton.ecs  >

	  Don't store garlic near other victuals.
		- L.L.
From: dernis@binah.cc.brandeis.edu
Subject: text modes
Reply-To: dernis@binah.cc.brandeis.edu
Organization: Brandeis University
Date: Sun, 26 Jul 1992 13:42:02 GMT

Hi, I am wondering if someone can help me with what should be
an easy problem, I think, but I can't find the answer.

I am interested in using text modes 0-3 with an alternate character
set.  I just bought an MS-DOS book, by the Waite Group assuming that it
would be good, because I really liked their C- Bible.  And it has been
good, regarding memory management, device drivers, graphic modes and 
other things, but it has said near nothing about text modes with color
or altering the character set.

For some reason I am under the impression that character 00h-7Fh are
not alterable, but characters 80h-FFh are alterable.  I don't 
know why I have this impression, I just do and it may be completely wrong.
Could someone straighten me ought, and also explain how one would go
about changing these, especially in C, but I would appreciate any
solution.

Also, how is color handled in the text modes.  I was given the imprsesion
that a text lines is 80 bytes.  This does not leave room for color, or is
this latched bit planes like the EGA?

Please someone help, with either a BIOS solution or direct or both.
Thanks in advance for your help.

Mitch Dernis

Newsgroups: alt.msdos.programmer
From: joe@proto.com (Joe Huffman)
Subject: Re: How do I get a the memory above 1M ?
Organization: Prototronics @ Sandpoint, Idaho
Date: Wed, 29 Jul 1992 04:34:16 GMT

kc@dcs.ed.ac.uk (Kenneth Cameron) writes:

>Whats the cleanest way to get at the memory above the 1Meg mark,given the
>following conditions ?

DOS extenders are definitely the cleanest way to do this.

>The application has to run under MS-DOS, on a 486dx. In other words it
>has to be in real mode most of the time.

MS-DOS, on a 486dx, does not mean real mode is required 'most of the time'.

>I'm working with Borland C++ 3.1.
>I don't want to use a DOS extender like Phar Laps.

Could you elaborate?  Pharlap and Rational Systems both make a very nice
'286 extender.  They make accessing extended memory so easy that I don't
think I can give them enough praise.  The only drawback that I know of is
the price...

-- 
netcom!proto!joe
joe@proto.com
Newsgroups: alt.msdos.programmer
From: pstlb@acad2.alaska.edu
Subject: Wanted:  IBM PC data for reference
Organization: University of Alaska
Date: Thu, 30 Jul 1992 01:36:28 GMT

  I'm compiling a reference for personal use and free distribution,
and would appreciate contributions.....  Anything about the IBM PC, no matter
how obsolete, would be appreciated.....  Undocumented features would be a
definite plus.....  Data on protected mode programming, hard disk standards and
interfaces, I/O port listings, .SYS file structure, file transfer protocols 
(Zmodem, Kermit/SuperKermit, etc.), in addition to TCP/IP protocols, EtherNet,
TokenRing, all manner of data transfer protocols, and the like.....  All 
participating contestants will receive copies of said reference.....

                                                   Thanks in advance,
                                                   Theron L. Bair
Newsgroups: alt.msdos.programmer
From: boggs@alumni.cs.colorado.edu (Adam Boggs)
Subject: Problems linking w/ Turbo C++
Organization: University of Colorado, Boulder
Date: Wed, 29 Jul 1992 00:32:38 GMT

I have been writing a large program in Turbo C++ 1.0, and haven't had any
problems up to now with compiling it. (Running it.. that's another story.)
Anyway, I just finnished debugging, compiled it, and when it went to link my
modules, it just stopped during the second pass.  I've heard from  other people
that this has happened to them, too, although they didn't know what caused it.
Does anyone know why it might do this suddenly?

At first I thought it could be because my program uses hardware interrupts
extensively, however after rebooting, and even re-doing the project file, it
still happens.

Thanks in advance...

Adam Boggs
boggs@alumni.cs.colorado.edu

Newsgroups: alt.msdos.programmer
From: furballs@sequent.com (Paul Penrod)
Subject: Re: Far pointers (Help!!)
Organization: Sequent Computer Systems Inc.
Date: Tue, 21 Jul 92 05:10:48 GMT

In article <22471@hacgate.SCG.HAC.COM> bill@solaria (Bill Neisius) writes:
>saidra@prism.CS.ORST.EDU (Raoul Said) writes:
>: 
>: 	Say I have a far pointer and I want to read a large file to it.
>: How can I do a : read(handle,far_pointer,size); when read requires a near
>: pointer?  I know I have to cast or convert or something but I've tried 
>: everything!  Thanks
>
>I don't think you can cast a far pointer to near, since the whole 'point'
>of the far pointer is to access data beyond the range of the near pointer.
You can cast a far pointer to a near, but there are two things to
take into consideration before doing so. First, you will lose the
top 16 bits of whatever value you had, and the compiler will
complain. Secondly, I don't know how motorola handles this, but on
Intel it is possible to do so, so long as the pointer is not a
normalized pointer. That way when the top sixteen get pitched, you
only loose the segment attached to the pointer, but you'd better
make real sure the offset that is left is really what you want.

Pratically speaking you're really better off, not doing that and
sticking to a more portable approach such as compiling in Large or
Huge model and letting the compiler resolve the reference for
read() with the correct model library.

>
>On the other hand, I don't see anything in the description of read() that
>says the buffer _has_ to be a near pointer...it just uses the default pointer
>type for the current memory model.  Why not just recompile
>the program with large memory model?  That way all pointers become far
>and the problem should go away....
>
>Bill Neisius
>bill@solaria.hac.com


-- 
--------------------------------------------------------------------
            Bureaucracy: noun, plural - Bureaucracies.
         The process of turning energy into solid waste.
---------------------------------------------------------------------
Newsgroups: alt.msdos.programmer
From: crathbun@nmsu.edu (Chriss Rathbun)
Subject: 286, 2megs ram, memory utilization?
Organization: NMSU Computer Science
Distribution: alt.msdos.programmer
Date: Thu, 23 Jul 1992 17:55:28 GMT

i've just recently been given caretakership of an ancient novell
network, ver 2.15 286 enhanced.  most of the machines on the net are
old clones.  i've never worked on novell before so please be gentle.
also i'd class myself more as a poweruser than a programmer, so simple
is good. :)

my question is:
how do i make the best use of the alleged 2 megs of ram on the 286
machines?  we have several different brands of 286 clones.  and the
most frequent problem encountered is, "not enough memory to load/run
... blah".  what i need to know is the best ways to use the extra
memory, lectures on the distinction between expanded and extended and
the idiosyncrasies of the 286 and details on use of load high etc are
also welcome.  since this may seem obvious/obsolete to a lot of you
e-mail responses are encouraged.
thanx in advance,
chriss
From: herman@mips.com (Herman So)
Newsgroups: alt.msdos.programmer
Subject: fortran decompiler
Date: 31 Jul 1992 16:39:07 GMT
Organization: MIPS Computer Systems, Sunnyvale, California
Distribution: usa
NNTP-Posting-Host: colossus.mips.com
Originator: herman@colossus.mips.com

Hello, 

Does anyone know of a fortran decompiler for the pc?  I have
some old programs I would like to modify. 

thanks, 
herman

Xref: sparky alt.msdos.programmer:2072 comp.os.msdos.programmer:8096 comp.programming:2112 comp.unix.programmer:3927
From: you@matt.ksu.ksu.edu
Newsgroups: alt.msdos.programmer,comp.os.msdos.programmer,comp.programming,comp.unix.programmer
Subject: Help referencing pointers in C++
Date: 26 Jul 1992 18:06:59 -0500
Organization: Kansas State University
NNTP-Posting-Host: matt.ksu.ksu.edu

Hello,
  I'm playing with C++, teaching it to myself.  What I would like to know how to
do is reference certain pointers in a weird way....let me explain.  I'm
using a trie ADT.  Each node has 27 children, A-Z plus one to see if it's a word
or not.  It's a type of spell checker.  You trace down the tree the letters of
the word and when you're done, you check to see if it's a valid word or not.  
Of course, if along that way you find a path is NULL then it isn't a word.  What
I had hoped could be done is something like this, where the word is in the
variable "inword":

	char1 = toupper(inword[count]);
	if (dictionary->char1==NULL)
		notfound=1;
	else
		dictionary=dictionary->char1;

Count keeps tract of which letter the program is searching for and when count
equals the length of the word, you check to see if the flag is set and if
it is, then it's a word, else it isn't.  I've looked at the enum datatype
but I haven't had any luck with it.  Any help would be greatly
appreciated.  What I don't want to do is this:

      switch(*char1) {
         case 'A' : {
            if (current->a==NULL)
               done = 1;
            else
               current=current->a;
            };
         case 'B' : {
            if (current->a==NULL)
               done = 1;
            else
               current=current->b;
            };
         case 'C' : {
            if (current->c==NULL)
               done = 1;
            else
               current=current->c;
            };
.......

					Thanks, 
						Kevin
Newsgroups: alt.msdos.programmer
From: potts@itl.itd.umich.edu (Paul Potts)
Subject: Re: How to low level format a hard drive?
Organization: Instructional Technology Laboratory, University of Michigan
Distribution: usa
Date: Wed, 29 Jul 1992 19:54:34 GMT

In article <Bs5tsH.6xE@news.cso.uiuc.edu> berger@atropa (Mike Berger) writes:
>ron@vicorp.com (Ron Peterson) writes:
...
>Isn't that a SCSI drive?  First, you probably can't use standard
>DOS functions to do anything with it.  Secondly, low-level 
>formatting SCSI disks is usually not a good idea, and rarely
>helpful.  Start with the diagnostics that came with your
>SCSI controller.

It is IDE, and not SCSI, disks that shouldn't be low-level formatted.
(They sure make it difficult too).

-- 
..though I respect that a lot, I'd be fired if that were my job, after 
killing Jason off and countless screaming argonauts... (They Might Be Giants)
Paul R. Potts, Software Designer --- potts@itl.itd.umich.edu <--- me!