HDTenEightyP/NetNews huggingface dataset:
From: cameron@symcom.math.uiuc.edu (Cameron Smith)
Subject: Re: porting cweb from UNIX to DOS
Organization: none
Date: Sun, 6 Sep 1992 22:41:32 GMT

In article <1992Sep6.000014.1@linus.claremont.edu>,
 dhosek@linus.claremont.edu (Don Hosek) writes:
>In article <ARA.92Sep6000611@camelot.ai.mit.edu>,
 ara@zurich.ai.mit.edu (Allan Adler) writes:
>> Is there a book or article that explains techniques of porting stuff from
>> UNIX to DOS. I'm working with an 80386 MSDOS system.
>> The immediate problem I have is getting cweave and ctangle to work
>> on the 80386 MSDOS system. [...]
> [...]
>You might want to join the litprog mailing list. I don't remember
>details on subscribing, but doubtless someone else will supply them.
>-dh

(Sounds like a cue to me...)

To subscribe to the LITPROG mailing list, send an email message
containing only the single line

 SUBSCRIBE LITPROG "Your Real Name in Quotes"

to LISTSERV@SHSU.BITNET or LISTSERV@SHSU.edu.  The LISTSERV program
will extract your email address from the header of the message and add
it and your name to the LITPROG list; you will receive an automatic
acknowledgment letting you know that this has been done and telling
you some administrivia (like how to un-subscribe should you ever
wish to do so).  Thereafter you will receive email copies of all
email sent to the list address (LITPROG@SHSU.edu).

Here's the "mission statement" of the LITPROG list:
LITPROG is a network list dealing with topics related to Literate
Programming.  This includes general issues of style and philosophy, such as
"what is literate programming?" or "is literate programming compatible with
writing portable programs?", as well as specific issues relating to
particular literate programming systems, such as "is it possible to use
CWEB with ANSI C?"  Novices are welcome; it is intended that this group
should be a place where newcomers can be welcomed into the fold as well as
a place where seasoned literate programmers can discuss fine points of
technique.

The archives of LITPROG are available via electronic mail from
FILESERV@SHSU.BITNET (FILESERV@SHSU.edu) and via anonymous ftp from
Niord.SHSU.edu [192.92.115.8] in the directory [FILESERV.LITPROG].

Hope this helps--
--Cameron Smith
  cameron@symcom.math.uiuc.edu
From: PATRICKS@MAINE.MAINE.EDU (Patrick Stevens)
Newsgroups: comp.os.msdos.programmer
Subject: Text Windows
Date: 9 Sep 92 13:34:57 GMT
Organization: University of Maine System

I'm looking for reviews/opinions on text windowing packages under MS-DOS.
I know of CXL, Windows BOSS, and Borland Application Frameworks (but
don't have a copy of yet!).  Are there any others? If so, what do think
of them.  Any and all comments would be appreciated.

                                          Thanx,
                                                Pat
Newsgroups: comp.os.msdos.programmer
From: scott@asd.com (Scott Barman)
Subject: Re: 32-bit DOS
Keywords: 32-bit, DOS, Advanced Operating Systems
Organization: American Software Development Corp., West Babylon, NY
Date: Thu, 3 Sep 1992 21:19:15 GMT

In article <4117@cruzio.santa-cruz.ca.us> aki@cruzio.santa-cruz.ca.us writes:
>Are the guys in Redmond smart enough to realize that there is need
>for both a gooey picture thingie _AND_ a DOS-like creature??

Are you kidding?  The idiots from Redmond were smart we'd have a
complete multitaksing system and wondering if they could figure out how
to do virtual memory by now.  If they did that, they'd only be 5 years
behind in operating system development!
-- 
scott barman			| <This space intentionally left blank>
scott@asd.com			|
 (I can barely speak for myself, you expect me to speak for my employer??)
Newsgroups: comp.os.msdos.programmer
From: u8800914@cs.uow.edu.au (Mohammad Salim Olime)
Subject: CAN YOU CALL ONE TSR BY ANOTHER TSR
Summary: WAKING ONE TSR BY ANOTHER TSR]
Keywords: TSR
Organization: Dept of Computer Science, Wollongong University, Australia
Date: Wed, 9 Sep 1992 05:48:55 GMT

Is it possible to wake one TSR by another TSR.
I got a TSR which is hooked with INT 8 (clock tick).
At every clock tick interrupt(18.2 times a sec) it
checks a list of real time events and if the current 
time is equal or greater than the time next event should 
happen it should wake another TSR to do so.
IS THIS POSSIBLE UNDER MS-DOS USING TURBO C ??
Could somebody shade light on the matter.
thanks in advance.
Newsgroups: comp.os.msdos.programmer
From: stan@iti.gov.sg (Tan See Mong)
Subject: Re: Threads/Coroutines for DOS
Followup-To: comp.os.msdos.programmer
Summary: How to use longjmp/setjmp for coroutines?
Keywords: setjmp, longjmp, coroutines, threads
Organization: Information Technology Institute, National Computer Board, Singapore.
Date: Wed, 9 Sep 1992 02:03:15 GMT

In article <715992030snx@cotswold.demon.co.uk> Nigel Roles, nigel@cotswold.demon.co.uk writes:
>BC++ 3.1 reference manual on longjmp states it is sufficient for implementing
>coroutines.

Well, I tried that, but it didn't quite work -- can someone tell me
what dumb thing I did wrong?

To create a thread, I malloc space for the new stack.  Then I build
a return frame on the new stack by switching the sp and ss to the address
of the new stack, and doing a setjmp (I owe the structure of this code
to the Awesime package by Dirk Grunwald).  Later on, I can switch to
running the new process with a longjmp.  Here is the code:

static PROCESS process;		/* set by calling function */
static jmp_buf originalContext; /* static so not ref'd off the stack */

/*
 * buildContext() creates a return context on the process' new stack.
 * The return frame is stored in the jmp_buf process->context.
 * To switch to the new proces, a longjmp(process->context) is done.
 */
void buildContext()
{
	if (setjmp(originalContext) == 0) {	/* save where we came from */
		_SS = FP_SEG(process->stackBase);	/* switch to new  */
		_SP = FG_OFF(process->stackBase);	/* stack and then */
		if (setjmp(process->context) == 0) {	/* save context */
			longjmp(originalContext);	/* jump back */
		} else {
			/* switched to new process for 1st time */
			/* so call the process' entry point */
			process = activeProcess();
			(process->entryPoint)(process->arg);
			killProcess(process);
			/* not reached */
		}
	}	
	/* return frame built successfully */
}

After switching to the new stack and doing a setjmp there, I can't
seem to get back to the original context with the longjmp. 
If anyone can see what's wrong, please let me know!

stan
Xref: sparky comp.os.msdos.programmer:9069 comp.os.msdos.misc:5059
From: ralf+@cs.cmu.edu (Ralf Brown)
Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc
Subject: Re: Disk Drive Purchase?
Date: 5 Sep 92 03:06:45 GMT
Article-I.D.: cs.Bu34nA.3FB.2
Organization: School of Computer Science, Carnegie Mellon

In article <1992Sep2.220649.11769@newstand.syr.edu> amichiel@rodan.acs.syr.edu (Allen J Michielsen) writes:
}3. IDE drives and controllers, could already be windows 32 bit disk access
}   compatible. 

They probably are, since they emulate the WD-1003 controller that the Windows
32-bit disk code was written for.  I'm not sure I'd want to be the first
person to try it, though.

}  IDE drives and controllers are about as fast as they are
}  ever going to be, or are capable of being.  However, they do have plenty
}  of throughput, and i/o headroom for faster systems, today.  They will
}   start showing age, as systems keep doubling in speed, and larger and
}  larger software becomes available.  On the other side, the tremendous
}  cost of ESDI drives and controllers will be a serious drawback to the
}  wide acceptance of these systems.

Yeah, ESDI drives are currently more expensive than the same-sized IDE
drives even if you ignore the cost of the controller....  IDE won't max
out for a while yet if the drives themselves keep getting faster--I've seen
cached 32-bit (ESDI and local-bus) IDE controllers.  It'll take a few years
until drives can keep up with a 100+ MB/s local-bus controller :-). 

The more immediate limit to IDE (and ESDI) is likely to be the size of the
drive.  If (as I suspect), the WD-1003 only permits 16 heads, then the
limit on IDE is 504 MB (1024 cylinders * 16 heads * 63 sectors/track); even
if a full 64 heads are available, the limit is less than 2GB--a size which
is already readily available even if not yet cheap ($3000+) in SCSI
versions.

-- 
Internet: RALF+@CS.CMU.EDU   |The University would disclaim this if it knew...
FIDO: Ralf Brown 1:129/26.1  |
BIT: RALF%CS.CMU.EDU@CARNEGIE|"Success has a simple formula: do your best,
AT&Tnet: (412)268-3053 school| and people may like it."   -- Sam Ewing
Newsgroups: comp.os.msdos.programmer
From: jenk@microsoft.com (Jen Kilmer)
Subject: Re: MSDOS 5.0 vs other DOS 5s : Bug?
Date: 11 Sep 92 05:39:42 GMT
Organization: Microsoft Corporation
Keywords: MSDOS, bug

In article <bjorn.myrland.90.716051993@sipaa.sintef.no> bjorn.myrland@sipaa.sintef.no (Bjorn Myrland) writes:
>I have a problem that I hope at least one of you out there could shed some 
>light on. We have a program that functions very well when run on machines 
>with all other DOSs than Microsoft's own DOS 5. It runs ok on DOS 3.3, 4 and 
>on OEM versions of DOS 5, but *not* on the original MSDOS 5.

Key issue is WHICH oem versions of DOS 5. Some OEMs license MS-DOS in 
much the same form that you, the enduser, receives it. Others receive
selected source code (IO.SYS & other hardware dependent stuff). Finally,
those who want to pay Microsoft major $$$ receive the source code to
everything.

No, these oems are not required to inform Microsoft of the changes
that they make.  Some of them are kind enough to send microsoft 
workarounds for proprietary features of their hardware/ROM BIOS;
others are kind enough to send microsoft their fixes to MS-DOS bugs.

>A call to Microsoft's MSDOS technical support did not do much good. The MS 
>guy believed that the OEM versions were all based on Microsoft's code, with 
>only minor changes. 

Most have only minor changes, particularily with the later versions. 
DOS 2 routinely have major changes; 3...well, you ever notice how
some MS-DOSes could create partitions larger than 32M? Microsoft didn't
write that.

If it's not an OEM version of DR-DOS, it originated with Microsoft.

>Furthermore, no revisions of MSDOS 5 have ever been 
>issued (i.e. no 5.01 etc). If this is the case, then my application should 
>run equally good or bad on all DOSs, which it obviously does not.
>
>There is a bug in my application, no doubt, but with some rather odd 
>properties that I partly will have to explain to the users who cannot 
>run the program even on plain vanilla machines with the original MSDOS 
>5 installed. So, could somebody help me clear up on these DOS matters a 
>little bit? For example:
>
>	- Who licences DOS code from who?
>	- Who uses IBMBIOS.COM/IBMDOS.COM and who uses IO.SYS/MSDOS.SYS ?

IBM has traditionally named their files IBMBIO.COM/IBMDOS.COM. Some
OEMs have also followed this tradition, in part because of applications
that wouldn't recognize IO.SYS/MSDOS.SYS (nice, real nice). 

>	- Are there any known functional differences between the different 
>	  DOS brands? Any of the OEMs having bug-fixed the original 
>	  MSDOS code?

None that I know of. Note the above, that OEMs do not have to report
changes to Microsoft. 


-jen
Ms Dos Enduser Support // Microsoft pays me to answer the phone, not post.
I am not named Bill, I am not very rich, and I do not speak for Microsoft.
From: heathh@cco.caltech.edu (Heath Ian Hunnicutt)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Error in Win3.1 GDI.EXE ?? Help!
Date: 9 Sep 92 04:21:42 GMT
Organization: California Institute of Technology, Pasadena

un040337@wvnvms.wvnet.edu writes:


>   I need some help with Windows 3.1! Every now and then an application will
>   quit on me and windows reports:
>                       Illegal Instruction Error
>                       in module GDI.EXE
>                       Address 0001:0624
	Well, that address appeares to be in the SetDCState() code, so
that might explain why you don't see the error very often.  (The code
is not called all that often, to be exact.)  In fact, the function is not
officially documented, so whoever is calling it is probably either
a Windows 2.0 app, or a device driver.

	And therein lies the clue.  You might be getting this message
as a result of a corrupt video driver harrassing GDI.  Try changing
drivers, or reinstalling your driver from a floppy.  The file of
interest is probably called VGA.DRV.

Good luck,
Heath

-- 
--
From the Home for Amnesiac Computer Scientists....
  heathh@cco.caltech.edu
From: nyet@cco.caltech.edu (n liu)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Another MsDos batch programming challenge
Date: 13 Sep 92 22:58:33 GMT
Organization: California Institute of Technology, Pasadena

yogi@cs.ubc.ca (Yossi Gil) writes:

>If you really care you could wrap it so that it could be invoked
>several times. But even so, this is not the remedy of all batch file
>problems. One has to use 4DOS or write a real program for all the
			  ^^^^   :-)
>serious stuff. Batch file tricks are just like three-legged races.
>Slow, funny  and cumbersome yet challenging and sometimes even
>quite funny.

Once again, MsDos batch programming is such a challenge ONLY because
command.com is such a piece of crap.

I have yet to see a batch programming challenge that can't be be done
in one line with 4dos (usually).

set cd=%_cwd
-- 
nyet@cco.caltech.edu
nyet@aerospace.aero.org
Newsgroups: comp.os.msdos.programmer
From: wilson@rhombus.cs.jhu.edu (Dwight Wilson)
Subject: Re: counting keystrokes
Organization: The Johns Hopkins University CS Department
Date: Mon, 7 Sep 1992 16:42:23 GMT

In article <rvs.40@parst1.UUCP> rvs@parst1.UUCP (Roelof van Suilichem) writes:
>In article <1992Aug25.141521.17854@ucunix.san.uc.edu> edavis@ucunix.san.uc.edu (Ellen Davis) writes:
>
>
>>       I am posting this for my husband.  He needs to be
>>able to count how many keystokes were pressed when using
>>WordPerfect.  (His boss wants to see how much work the 
>>secretaries are doing.)  Any suggestions (and source) are
>>very much welcomed.  Thanks in advance.

First to answer this question.  Get the WordPerfect Developer's Kit.
WordPerfect has a hook that allows you to examine keystrokes before
the program gets them.  (They illustrate this with a small program
to expand abbreviations).  I'd post the info, but I don't have it
handy.

>
>
>(sing-song voice): .....Big Brother is WATCHING you...!!
>Your husband's boss is sick.  You check how much work people are doing
>by helping them set work goals, and checking if these goals get achieved.

An understandable, but perhaps misinformed knee-jerk reaction.  

There are jobs where a count of keystrokes (or keystrokes/hour) is
a valid measure of performance, for example transcriptionists.  Setting
goals is all very well, but the keystroke data may be essential in
determining whether those goals have been met.  In addition to measuring 
the quality of the workers, this could also be used for evaluating the 
benefit of add-on packages, different macro sets, etc.  This sort of 
tracking IS done by transcription services.  Whether or not this 
appropriate for Ellen's friend's boss depends on what tasks the 
secrateries are performing.

>
>Politics aside, I don't think this scheme will work anyway, because a
>lazy person will sit with a thumb/book on the spacebar for half an hour
>while doing something else.  It will also look as if the inaccurate typing
>person does more work (more backspaces).
>

Obviously you also need to collect data on the size of the output
files produced.  In addition to the raw data, the ratio between
output produced/keystrokes would probably be of interest.

-Dwight

Newsgroups: comp.os.msdos.programmer
From: af458@yfn.ysu.edu (Jon K. Salmon)
Subject: 64-bit arithmetic
Organization: Youngstown State University/Youngstown Free-Net
Date: Mon, 7 Sep 1992 23:54:05 GMT


On Sep 1, Anthony Li requested information on 64-bit arithmetics:

The November 14, 1989 issue (v8n19) of PC Magazine presented the
appropriate routines in the Power Programming column by Ray Duncan.
Actually, only multiplication and division were shown, since addition
and subtraction can be accomplished relatively easily via the ADC and
SBB instructions.

-- Jon
-- 
Newsgroups: comp.os.msdos.programmer
From: ralf+@cs.cmu.edu (Ralf Brown)
Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc
Subject: Re: Disk Drive Purchase?
Date: 10 Sep 92 02:12:53 GMT
Article-I.D.: cs.BuCBHI.19J.2
Organization: School of Computer Science, Carnegie Mellon

In article <exuptr.457.716058876@exu.ericsson.se> exuptr@exu.ericsson.se (exuptr@exu.ericsson.se) writes:
}In article <Bu34nA.3FB.2@cs.cmu.edu> ralf+@cs.cmu.edu (Ralf Brown) writes:
}>The more immediate limit to IDE (and ESDI) is likely to be the size of the
}>drive.  If (as I suspect), the WD-1003 only permits 16 heads, then the
}>limit on IDE is 504 MB (1024 cylinders * 16 heads * 63 sectors/track); even
}>if a full 64 heads are available, the limit is less than 2GB--a size which
}>is already readily available even if not yet cheap ($3000+) in SCSI
}>versions.
}
}What's the WD-1003 got to do with it?  I'm using an IDE right now with 32 
}heads defined, and 48 spt.

The IDE interface emulates a WD-1003 controller, which is the original
controller for which the IBM AT's ROM BIOS was written (the PC and XT
ROM BIOSes don't contain code for hard disks).  Since I don't know the
register-level interface to the WD-1003, I was erring on the side of
caution--the head number could easily have been a bitfield in a
register, with the other four bits being used for other things.
-- 
Internet: RALF+@CS.CMU.EDU   |The University would disclaim this if it knew...
FIDO: Ralf Brown 1:129/26.1  |
BIT: RALF%CS.CMU.EDU@CARNEGIE|"Success has a simple formula: do your best,
AT&Tnet: (412)268-3053 school| and people may like it."   -- Sam Ewing
Newsgroups: comp.os.msdos.programmer
From: gordon@osiris.cso.uiuc.edu (John Gordon)
Subject: Print to stdout in binary mode?
Organization: University of Illinois at Urbana
Date: Tue, 15 Sep 1992 02:15:53 GMT
Keywords: stdout,binary


	Hi.  I am trying to make a C program write to stdout in binary mode,
and can't figure out how to do it.  The problem is that I am writing to a
device which expects lines to be terminated by a linefeed, *not* an LF/CR
pair.  I would like to do this to stdout, to be able to pipe it.  I suppose 
I could write to an intermediate file, if I had to, though.  Can anyone
figure out a way?  I tried writing to "con", but that can't be redirected.

	Any help will be appreciated.

---
John Gordon                        My incredibly witty saying has been 
gordon@osiris.cso.uiuc.edu         Politically Corrected into oblivion.
Newsgroups: comp.os.msdos.programmer
From: frotz@dri.com (Frotz)
Subject: Re: 32-bit DOS
Keywords: 32-bit, DOS, Advanced Operating Systems
Reply-To: frotz@novell.com
Organization: Desktop Systems Group/Novell, Monterey CA/USA
Date: Fri, 11 Sep 92 18:10:26 GMT

izahi@bsc.no (Raul Izahi Lopez Hernandez) writes:
]   Is a 32-bit version of DOS, viable or desirable?

Only if it is protected mode.  I've worked on various "DOS" platforms
that are not DOS (FlexOS, Concurrent DOS, Digital Research Multiuser
DOS) and the only that I found the most enjoyable to code to was
FlexOS.  Mainly because you were either writing as part of the system
or as a user application.  Never (well, under very strict conditions)
shall the two meet.  I didn't get a chance to write code on the
flatspace 386 version, so I was still stuck with the 64K boundaries in
the segmented version...

]   Is it possible to change DOS in a way that all the non-RAM above 640K
]can be moved somewhere else and that DOS can execute in a flat memory model?
]   I would like to be able to declare arrays larger than 64KB and be able to
]do 32-bit disk accesses.

Borland's huge model doesn't work for you?

]   I would not like the added complexity of OS/2 or Windows, just a true
]32-bit DOS.

32-bit DOS without all of the extra features is both unlikely and
probably dangerously unviable.  There are enough people mucking with
the internals of DOS nowadays or writing directly to hardware.  The
problem is that DOS needs to mature as an operating system.  The
current variants are fine, but they need to provide missing
functionality that force (system and application) programmers to bypass
DOS and sometimes even the BIOS to get the speed that they need.

Areas of improvement are a standardized interface for TSRs to handle
interrupt ownership, a richer functionality environment (exporting
alot of the "undocumented" functions), etc, etc, etc... 

]-- 
]         -----> All opinions expressed here are my own, not IBM's <-----
]Raul Izahi Lopez	Izahi Engineering
]izahi@bsc.no		IBM Bergen Environmental Sciences and Solutions Centre
]			Thormoehlensgate 55, 5008 Bergen, NORWAY (47-05)544653

You might talk to the 4680 people about FlexOS if you're interested. 
As for the opinions, their dated and Novell probably wouldn't agree anyway...
--
Frotz
From: exuptr@exu.ericsson.se (exuptr@exu.ericsson.se)
Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc
Subject: Re: Disk Drive Purchase?
Date: 9 Sep 92 17:18:21 GMT
Organization: Ericsson Network Systems, Inc.

In article <2aab4eed@ralf> Ralf.Brown@B.GP.CS.CMU.EDU writes:
>Yeah, but the geometry translation is based on the limits of the BIOS, which
>are 1024 cyl x 64 heads x 63 sectors/track--a little less than 4G sectors
>per BIOS-recognized drive.  To get more on a physical drive, you'll have to
>split it into multiple drives before the BIOS sees it.

Now this one makes sense.  Except that BIOS does not limit you to 1024
cylinders, that is DOS.  So theoretically you could have 2048 x 64 x 63.

Of course, you'd have to use something stupid like Disk Manager to partition
it, and then you would be having real large cluster sizes.
 ----------------------------------------------------------------------------
    "This must be Thursday.  I never could get the hang of Thursdays"
                                                       - D Adams
  - Patrick Taylor
    Ericsson Network Systems
    exuptr@exu.ericsson.se                       "Don't let the .se fool you"
    alternately, exuptr@ZGNews.Lonestar.Org
From: noesis@ucscb.UCSC.EDU (95016000)
Newsgroups: comp.os.msdos.programmer
Subject: Re: int 9h
Date: 12 Sep 1992 15:26:13 GMT
Organization: University of California; Santa Cruz
NNTP-Posting-Host: ucscb.ucsc.edu


In article <DAVIS.92Sep11115609@pacific.mps.ohio-state.edu> davis@pacific.mps.ohio-state.edu  (John E. Davis) writes:
...
>
>void interrupt int9_handler(void)
>{
>     if (/* peek at key from keyboard */ == Interrupt_Char)
>       KeyBoard_Flag = 1;
>     else
>       (*oldint9)();
>}
...

at the end of your interrupt you need an 'out 20h, 20h' or your machine will
lock.
next, read port 60h which will hold the key pressed as either a make or break
scan code (break codes have bit 7 set, used when a key is released)
--kyle
From: thecrux@diku.dk (Ruvan Paul Fernando)
Newsgroups: comp.os.msdos.programmer
Subject: Where to locate PC-VGA-demos ?
Date: 7 Sep 92 15:14:30 GMT
Organization: Department of Computer Science, U of Copenhagen

I am without luck trying to find some pc-demos, but I can not seem
to find any..

Could anyone mail me a (some) ftp-site.

Also interested in assembler discussions

Crux of Silents (PC)

thecrux@ask.diku.dk
Newsgroups: comp.os.msdos.programmer