HDTenEightyP/NetNews huggingface dataset:
From: fs8j@uvacs.cs.Virginia.EDU (Fraser Street)
Subject: DEVICE DRIVER programming question
Organization: University of Virginia Computer Science Department
Date: Tue, 29 Sep 1992 20:49:10 GMT

I AM HAVING TROUBLE DETERMINING WHERE MY DEVICE DRIVER ENDS IN MEMORY
WHEN IT IS INITIALIZING - I.E. FINDING THE BREAKPOINT TO RETURN TO
DOS.

I need to determine the last paragraph occupied by my drivers code
and data.  Here's my situation:

I have written a block mode device (a special purpose RAM disk) using
Robert Lai's book as a guide.  In particular I have written the
frontend in TASM large model and I link it to Turbo C large model code
for the driver commands (again using Lai's book as a guide).  I plan
to link in a bunch more large model code in the future as this driver
is one day going to implement some network services using our
implementation of the XTP Transfer Protocol.

All the example code in Lai's book uses Tiny model and he uses a TASM
GROUP command to order the segments, putting the CODE segment last in
the executable.  He then calculates the break point for the end of the
driver relative to the last instructions in his CODE segment - this
works well for him since his CODE segment is the last thing in his
executable.

My problem is that I'm working in large model and the linker is
putting CODE first and _BSS last (according to the .map file).  So,
how can I find the segment:offset address of the bottom of the _BSS at
init time so that I can use this address to calculate the break point
for my driver to return to DOS?

My first thought was to look in the PSP, but I come to find that DOS
does not build a PSP for drivers.

At the present time I just add 1000 paragraphs to the bottom of my
code segment and use that as a break address.  It works but it
obviously wastes memory and only works because I know I have far less
than 16K of data below my code - a very poor hack to get me around the
problem.


Any suggestions would be appreciated.  I'd appreciate e-mail responses.
I'll summarize the solutions I get and post them to the net.

Thank you for your time!

-- 
Fraser Street
fraser@Virginia.EDU
University of Virginia
Department of Computer Science
Newsgroups: comp.os.msdos.programmer
From: ded@aplcen.apl.jhu.edu (nod sivad)
Subject: Logitech serial mice
Reply-To: ded@aplcen (nod sivad)
Organization: Johns Hopkins University
Date: Thu, 1 Oct 92 17:34:29 GMT

Both Turbo Vision and a program I wrote using BIOS calls
fail to work with a logitech mouse on a friend's computer.
These programs work fine on several computers equipped with
Microsoft compatible mice.

Is there a simple solution to this problem?  Any archived
software?

				Me

Xref: sparky comp.os.msdos.programmer:9611 comp.lang.c:14167 alt.msdos.programmer:2449
From: karl@ima.isc.com (Karl Heuer)
Newsgroups: comp.os.msdos.programmer,comp.lang.c,alt.msdos.programmer
Subject: Re: C Memory Debugger Libraries (info wanted)
Date: 27 Sep 92 18:09:48 GMT
Organization: Formerly of Interactive Systems, Cambridge, MA

In article <1992Sep27.021335.15685@midway.uchicago.edu> pynq@midway.uchicago.edu writes:
>Speaking of DJGCC, I recently realized something very interesting:
>	"You don't need malloc!"
>All you have to do is declare a big array (make it 128 megabytes in size)...

Why on earth do you think that this is better than using malloc()??
Newsgroups: comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc
From: dmurdoch@mast.queensu.ca (Duncan Murdoch)
Subject: Re: [Stack Overflow] How do I find cause using Turbo Debugger?
Organization: Queen's University
Date: Mon, 5 Oct 1992 17:50:31 GMT

In article <1992Oct5.162337.238@genghis.borland.com> pete@genghis.borland.com (Pete Becker) writes:
>>Very true.  Borland compilers default to a 4K stack ... which may not
>>necessarily be enough (like the man said, it depends on your application,
>>the number of recursive calls you make, the number (i.e. space) of local
>>variables in your routines (not statics, automatics), and the depth your
>>routines go.
>
>	The stack is located at the top of the data segment.  Static data is
>at the bottom, and in small data models, the heap grows upward from the top of
>the static data.  You will not get a stack overflow unless you have stack
>checking turned on and the stack collides with the heap or with the static
>data.

You should say which compilers you're talking about - that's not the case 
with any of your Pascal compilers, for example.  TP's memory model is as 
follows, starting from low addresses and going up:

  code
  (new segment)
  static data
  global data
  (new segment)
  copro emulator data
  stack
  (new segment)
  heap

It's possible to corrupt your stack by misaddressing static or global data,
but not your code.  Similarly, bad stack references or stack overflows can 
only corrupt your coprocessor emulator or the heap, and bad offsets on heap 
references can't hurt anything but other parts of the heap (though bad 
segments can trash anything).  The positions of the segment boundaries are 
fixed at compile/link time (there's not much difference in TP).

TPW has an uglier memory model for Windows compatibility; I can't remember
all the details of it.

Duncan Murdoch
dmurdoch@mast.queensu.ca
From: gonzalod@amex-trs.com (Gonzalo Diethelm)
Newsgroups: comp.os.msdos.programmer
Subject: RFI: BTree libraries
Date: 29 Sep 92 22:36:20 GMT



Distribution: world

Hello everyone,

I'm currently evaluating a set of libraries implementing B-Trees (B+)
on disk for DOS/Windows. I would like to hear opinions anybody
might have on some or all of them. The requirements include multiuser
support, so packages like the C Database Toolchest have been left out.

The libraries are:

Company         Product              Price w/src Remarks
--------------- ------------------- ------ ----- ----------------------------
RogueWave       Tools.h++              89    269 Support for multiusers?
Softfocus       ISAM/Btree           ~100      ? Ditto?
Trio Systems    CISAM/II+             600      ? Ditto?
?               DATAMAN                 ?      ?
South Mountain  Essential Btree 2.0   179      ?
Faircom         cTree Plus            476      ?


Please send responses through e-mail. This is the last stage on a long
research for the appropriate B-Tree library. Thanks in advance.

Oh, by the way, I'll summarize if I get good responses.


gonzalod@amexphx.amex-trs.com
Gonzalo A. Diethelm                 (602)375-8410  home
16220 N 7th St Ap 1314              (602)492-3536  office
Phoenix, AZ 85022                   (602)492-4248  FAX
Newsgroups: comp.os.msdos.programmer
From: cgordon@vpnet.chi.il.us (gordon hlavenka)
Subject: Re: A QBASIC Question
Organization: Vpnet Public Access
Date: Thu, 01 Oct 1992 16:03:15 GMT

In article <1992Sep30.105036.646@hls.com> tima@hls.com writes:
>I get a syntax error. Any suggestions ????
>
>  DEFINT a-z
>
>  CONST Num = 10
>
>  READ a          <===== error is reported at this line
>
>  DATA Num
>
>  END

You can't use a variable in a DATA statement; that's not what DATA
statements are _for_. (!)

If you just change the DATA statement from 'DATA Num' to 'DATA 10' it
will work.  (a will be set to integer 10.)  Or, you could change the
READ statement to 'READ a$'.  But then a$ would be set to the string
"Num", which is probably not what you're after.

Yes, a DATA statement contains a list of constants.  But it has to be
(semantic wrangling happening here...) constants and not "CONSTants",
as in the keyword.  Those CONSTants are actually a special kind of
unchangeable variable.


-- 
----------------------------------------------------
Gordon S. Hlavenka           cgordon@vpnet.chi.il.us
  Don't forget:  Dave Barry/Joe Walsh in November!
From: frisk@complex.is (Fridrik Skulason)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Viruses Wanted
Date: 6 Oct 92 20:10:25 GMT
Organization: Frisk Software International, Iceland

In <1992Oct6.162101.5183@ifi.uio.no> runefr@ifi.uio.no (Rune Fr|ysa) writes:

>First: I'm not sure if this is the right group for this question, 
>but I was unable to find any more suitable.

Well, there is "comp.virus", which is obviously more suitable - but requests
for viruses are specifically NOT allowed there.

>As the header says, I want some more viruses

Oh, boy...you sure asked for trouble now...  :-)

I have a virus collection - a very large one - over 1700 different
PC viruses.  I get requests like this one regularly, and usually I
refuse to send any viruses out.  Asking for a written request, signed by the
head of the company or the university department of the person in question
is the first step.  I almost never hear from anyone again after stating this
condition.

The second condition is a "need to have" - just being a collector is not
sufficient.

The third condition is a "OK" from the other members of CARO.

Finally, I refuse to keep it confidential if I send viruses to anyone - if
they don't want the rest of the world to know they are receiving viruses,
they have no business getting them.

Only if those conditions are met, will I consider sending out viruses, and
in your case I will not. Sorry.

-frisk
Newsgroups: comp.os.msdos.programmer
From: messina@netcom.com (Tony Porczyk)
Subject: Re: Getting %1, %2, etc under Borland C
Date: Mon, 28 Sep 92 06:36:43 GMT
Organization: Messina Software

c9106225@wombat.newcastle.edu.au (Matt McLeod) writes:

>I'm trying to get ahold of the command line parameters (that is %1, %2, etc)
>within a Borland C Windows program.  I've tried the getenv() function, but to
>no avail, and there doesn't seem to be any other function around.

I know I'm missing something:  You have tried argv[1], argv[2], etc., right?

t.
Newsgroups: comp.os.msdos.programmer
From: sm@jyu.fi (Seismo Malm)
Subject: Help for Quick Basic needed
Followup-To: comp.os.msdos.programmer 
Organization: University of Jyvaskyla, Finland
Date: Sat, 26 Sep 1992 09:39:29 GMT

A fried of mine is using QB 4.5 to compile a largish (60 KB of source)
programm. Now it seems that QB can handle only about 50 KB of source
at one time, are there any possible solutions around it ?

further details are:
He is using BC and link, IDE stopped compiling at about 40 KB.
Programm uses about 30 KB for data.


-- 
-------
   sm@tukki.jyu.fi  (seismo malm)
From: rdippold@qualcom.qualcomm.com (Ron Dippold)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Compressed directories
Date: 29 Sep 92 18:17:22 GMT
Organization: Qualcomm, Inc., San Diego, CA

dmurdoch@mast.queensu.ca (Duncan Murdoch) writes:
>After reading Undocumented DOS, it seems relatively straightforward to 
>install a TSR that looks like a network drive, but actually stores all data 
>in a single file (perhaps a compressed archive) on the original drive.  

>The point would be to save space:  I've got a commercial program with 
>hundreds and hundreds of tiny files; since my cluster size is 4K, 70% of the 
>space these files use is wasted.  

>Before I go and try this myself, does anyone know of a free version already
>in existence?  I'm only going to end up saving a few megabytes, so I don't 
>want to spend money on this, but it would be an interesting programming 
>exercise if it hasn't already been done.

Well, they're not free, but Stacker and Doubledisk already do this.
For the price (about $80 US, I think), it might not be worth your time
to do it yourself. 
-- 
I blame myself for not blaming you sooner.
From: pynq@quads.uchicago.edu (George Jetson)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Expand DOS prompt?
Date: 4 Oct 92 01:01:51 GMT
Reply-To: pynq@midway.uchicago.edu
Organization: D. J. Dougherty & Associates

In article <1992Oct3.203012.23118@uwasa.fi> ts@uwasa.fi (Timo Salmi) writes:
>In article <92276.135321ISSSEG@BYUVM.BITNET> <ISSSEG@BYUVM.BITNET> writes:
>>Appearantly DOS prompt only allows 128K (characters).  I need to know
>>how to expand DOS prompt beyond 128K using DOS and not and external
>
>Please explain here in the newsgroup why you need this.  I genuinely
>ask because that way the readers might better try to solve the
>actual problem you have.  Or is this rather just an (interesting)
>exercise for its own sake?

Actually, it is a little hard for me to understand why anyone would want
to have a prompt longer than 131072 characters anyway, so I assume this
is just a puzzle question.

************************************************************************
A note to new readers:  the weasely :-) symbol is frowned upon in this
group.  Any questions, see Phil Gustafson who will gladly rearrange your
diodes for you.
			- From the AFU FAQ -

	- pynq@quads.uchicago.edu, who is still costing the net
	  hundreds, if not thousands, of dollars, every time he posts -
************************************************************************
Newsgroups: comp.os.msdos.programmer
From: elan@tasha.cheme.cornell.edu (Elan Feingold)
Subject: Mouse under svgabgixx.zip
Reply-To: elan@tasha.cheme.cornell.edu (Elan Feingold)
Organization: Cornell University
Date: Sat, 26 Sep 1992 20:28:31 GMT


The latest version has mouse support, but I have no idea how to use it.
As far as I could tell, there were no doc files detailing the mouse functions.  
Am I missing something? Help!

Elan  

--
---------------------------------------------------------------------------
|  Elan Feingold       |  19-OCT-89:  Dan Quayle calls the San Francisco  |
|  CS/EE Depts.        |  earthquake, "a heart-rendering sight.           |
|  Cornell University  |  The loss of life will be irreplaceable."        |
|  Ithaca NY 14850     |             *** VOTE CLINTON/GORE ***            |
---------------------------------------------------------------------------
Newsgroups: comp.os.msdos.programmer
Subject: Expand DOS prompt?
From: <ISSSEG@BYUVM.BITNET>
Date: Friday, 2 Oct 1992 13:53:21 MDT
Organization: Brigham Young University

Appearantly DOS prompt only allows 128K (characters).  I need to know
how to expand DOS prompt beyond 128K using DOS and not and external
utility or application like 4DOS.

Help me if you can please.
Thanks,
Newsgroups: comp.os.msdos.programmer
From: calvert@QueensU.CA (John Calvert)
Subject: fax, modem and call waiting
Organization: Queen's University, Kingston, Canada
Date: Sat, 3 Oct 1992 20:01:02 GMT

My telephone line doubles as my fax and modem line. Since I have calling
waiting, for all outgoing fax and modem calls, I instruct my f/m to
first dial *70, and then the actual number. This switches off the call
waiting so the beep tones don't confuse the f/m. However, if I receive
a f/m call, in order to switch off call waiting, I am required to place
the call on hold (by quickly depressing and releasing the switch hook),
then dialing *70. After a brief pause the incoming call comes back on
the line. 

1) I don't know how to make my modem quickly depress the switch hook, nor
my f/m software, which is currently Quick Link II, but could be WinFax or
something else. Suggestions?

2) I don't know how the other party (fax or modem) would take to being
put on hold for several seconds while my f/m switches off call waiting.

Has anyone ever encountered this problem before. I could always get rid
of call waiting, or get a second dedicated phone line. Neither of these
is attractive to me.

Thanks in advance for any help.

John Calvert
calvert@mast.queensu.ca
From: Martijn.Dijksterhuis@p6.f17.n512.z2.wlink.nl (Martijn Dijksterhuis)
Newsgroups: comp.os.msdos.programmer
Subject: Horizontal Scrolling
Date: Sat, 03 Oct 1992 12:35:00 -0100


Together with some friends of mine i'm writing a program that is in dire need of a smooth scrolling routine for the 0x13Hex VGA (320x200x256) mode.

We have tried copying memory blocks from a (fast) block on the main memory board into the (slow) VGA own's storage. The result is much to slow (on a 40Mhz machine) to be actualy used. Copying is done by the CPU through a simple
'rep movsw' instruction.

Somebody knowns a kind of logic to solve this problem ?

Greets,
Martijn

Newsgroups: comp.os.msdos.programmer
From: jbf@wts.com (Jens B. Fiederer)
Subject: Re: Compressed directories
Organization: Wegmans Transaction Services
Date: Tue, 6 Oct 1992 13:16:45 GMT

In article <dmurdoch.101.717942504@mast.queensu.ca> dmurdoch@mast.queensu.ca (Duncan Murdoch) writes:
>but when I tried Stacker a couple of years ago, it didn't do what I want.  
>In fact, changing my cluster size to 512 bytes gave me *more* compression 
>than Stacker gives.  What I'm proposing is essentially to change my cluster 
>size to 1 byte, avoiding the slack at the end of file allocations altogether.
>
>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.
>
>Duncan Murdoch
>dmurdoch@mast.queensu.ca

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....

Jens

Newsgroups: comp.os.msdos.programmer
From: oosten@ee.ualberta.ca (Brian Oostenbrink)
Subject: Re: Help for Quick Basic needed
Organization: University Of Alberta, Edmonton Canada
Date: Thu, 1 Oct 1992 20:34:30 GMT

neuwirth@ferranti.com (howard neuwirth-hirsch) writes:
> In article <1992Sep26.093929.9982@jyu.fi>, sm@jyu.fi (Seismo Malm) writes:
> > A fried of mine is using QB 4.5 to compile a largish (60 KB of source)
> > programm. Now it seems that QB can handle only about 50 KB of source
> > at one time, are there any possible solutions around it ?
>  
> Break the program into logical modules and compile them independently
> using bc.  Build them into a quick library which you will use when 
> you load qb.  See the manual for details.
> 
>
Breaking the program into logical modules is a good idea, but it isn't 
necessary to compile from the command line.  Compiling from within 
QuickBasic environment will still cause each module to compile separately

Brian Oostenbrink
University of Alberta

Newsgroups: comp.os.msdos.programmer
From: gmeiers@edsi.plexus.COM (Garrett Meiers)
Subject: Looking for location of a good dissasembler/editor
Organization: Enterprise Data Systems Incorporated, Appleton WI
Date: Wed, 30 Sep 1992 04:44:15 GMT

For msdos of course!   Please respond via e-mail, my news feeds have
been lacking the past few days...

Garrett

gmeiers@edsi.plexus.com

Newsgroups: comp.os.msdos.programmer
From: "gord armstrong" <gord.armstrong@canrem.com>
Subject: graphics
Reply-To: "gord armstrong" <gord.armstrong@canrem.com>
Organization: Canada Remote Systems
Distribution: comp
Date: 29 Sep 92 18:17:52 EST


Thanx for the responses rx from my previous questions.

More ??? on graphics (lowly CGA) ... to write to the graphics
buffer I use VioGetPhysBuf to get the selector and proceed to
write my graphic routines. If I'm, let's say, drawing boxes
to the CGA screen and switch tasks, I get a 'Protection Violation'
error. To prevent this error I use VioScrLock and VioScrUnLock.

Unfortunatly, when I switch tasks the graphic updates stop. It's
like task switching instead of multitasking?? Do I need a thread
to create a virtual buffer and write to this buffer when in
background mode so that when I return to my graphics screen
I write the virtual buffer to graphic screen?

All help appreciated. Thanx.
---------------------------------------------------------------------
gord.armstrong@canrem.com
--
Canada Remote Systems  - Toronto, Ontario
World's Largest PCBOARD System - 416-629-7000/629-7044
From: zzang@stat.ufl.edu (zzang)
Newsgroups: comp.os.msdos.programmer
Subject: How to modify struct stat ?
Date: 7 Oct 92 02:26:20 GMT
Distribution: usa
Organization: University of Florida
Originator: zzang@manta

Hello,
I try to write a utime() for MSDOS
by using BC++.
I used stat() system call to get the
struct stat stbuf for the file.
but I can't change the stbuf.st_atime.

could anyone give me some hints on this ?

Thanks in advance !

-- 
Zhuo Zang[~{j0WA~}]
Department of Statistics
University of Florida            Email: zzang@stat.ufl.edu
From: paul@gst.kiev.ua (Paul Vedin)
Newsgroups: comp.os.msdos.programmer
Subject: Some bugs in svgaxxxx.bgi driver?
Date: 5 Oct 92 06:07:18 GMT
Reply-To: paul@gst.kiev.ua
Organization: Applied Informatics Institution, Kiev, Ukraine

During last month I intensively used the Jordan svgaxxxx.bgi drivers, and
now have to say: it's great!

Some discovered nonconsiderable bugs, IMHO, don't crush this opinion.

1. When I hide mouse cursor (FN 2, int 0x33), then change cursor shape (FN 9),
garbage appears on screen.

2. After using FN 9 int 0x33 mouse hot spot always remains at point (0, 0)

3. When I try to out text string (System font only!) to the viewport
setting EXACTLY to the rectangle, occupied by this string, text does not
appear.

4. When I used mouse in standard VGA 320x200x256 0x13 mode
(without svgabgi drv), all x-coords of mouse-movement functions needs to
be recalculated (divided by 2). New svgaxxxm.bgi driver don't require
such recalculations (IMHO: it'is good! but...), so it may cause a situation,
when some old "mouse-oriented" programms (or parts of programms) would not
work correctly.

With best wishes. Paul.

PS. Ah, ya... I use svga256m.bgi driver on TRIDENT SVGA, 512K.
-- 
Paul Vedin:     paul@gst.kiev.ua		(Relcom)
    		paul%gst.kiev.ua@relay.ussr.eu.net    (Internet)
Applied Informatics Institution, Graphical Interface Dept.
Kiev, Ukraine (+7 (044) 221-27-94)
Newsgroups: comp.os.msdos.programmer
From: roberts@angelo.amd.com (Dave Roberts)
Subject: Recommendations and opinions solicited
Organization: Advanced Micro Devices, Santa Clara, CA
Date: Tue, 29 Sep 1992 01:15:53 GMT

I'm soliciting input, recommendations, and opinions on the following
questions.  Please respond with email and I'll summarize if enough
people ask me to.  Thanks ahead of time.

Question #1
-----------
I am looking to buy a basic C compiler for DOS.  I've checked the FAQ
for recommendations, but I didn't find anything.  I am basically
looking at three choices:
	1. Borland's Turbo C++ for DOS
	2. Microsoft QuickC
	3. and Mix's Power C

What do each of these products come bundled with.  I suspect that I'll
be wanting both an assembler and a debugger in the process of this.
Do I have to buy these as extras or are some bundled?  Which packages
contain one or both of these?  What are people's opinions of the
strengths and weaknesses of these?

I saw that Mix is offering Power C and a debugger for $49 right now
(Dr.  Dobbs, September '92).  Is this worth going after?

C++ would be nice, but I'm perfectly content with ANSI C.


Question #2:
------------

I'm thinking about purchasing a sound card.  My choices are one of the
SoundBlaster series or an AdLib.  Which would you buy, and why?  My
motives are both to program and to use.  Which is supported by more
programs?  Which is better for programming?  Why?  If a SoundBlaster,
which one -- Soundblaster Pro?


Question #3:
------------

I found the A86 assembler, by Eric Issacson, on Simtel.  I've played
around with it a bit and it looks pretty good.  What do people think
of this assembler.  The author's attitude seems to certainly be very
strong, so I could see that this might generate some strong responses,
one way or another.

It seems to assemble really fast, but Eric sure doesn't seem to like
MASM.  If I started using this thing, what is my exposure on MASM
compatibility?  Is it supported very well?  Is there a version that
support 386 opcodes?  Can I link my object modules with Borland's,
Microsoft's or Mix's products (above)?  Is it worth registering?


Again, thanks.

Dave Roberts
Advanced Micro Devices, Inc.
Network Products Division
david.roberts@amd.com