Archive-name: msdos-programmer-faq/part1
Comp-os-msdos-programmer-archive-name: dos-faq-pt1.txt
Posting-frequency: 28 days
Last-modified: 14 Aug 2003
comp.os.msdos.programmer FAQ Version 2003.08.14
This is the Frequently Asked Questions list for the newsgroup
comp.os.msdos.programmer.
COPYRIGHT
Copyright 2003 by Jeffrey Carlyle. All rights reserved. This article is
not in the public domain, but it may be redistributed so long as this
notice, the acknowledgments, and the information on obtaining the latest
copy of this list are retained and no fee is charged. The code fragments
may be used freely; credit to the FAQ would be polite. This FAQ is not to
be included in any static: archive (e.g. CD-ROM or book); however, a
pointer to the FAQ may be included. See <Q:01.14> [Where can I get the
latest copy of this FAQ list?] for a link to the latest version of the
FAQ.)
This is part 1 of 5 parts.
TABLE OF CONTENTS
PART 1: (this part)
Section 1. General FAQ and Newsgroup Information
<Q:01.01> - Is MS-DOS Dead?
<Q:01.02> - What is this article for?
<Q:01.03> - Who has contributed to this article?
<Q:01.04> - How can I search this article for a particular topic?
<Q:01.05> - Are the answers guaranteed to be correct and complete?
<Q:01.06> - What is comp.os.msdos.programmer about?
<Q:01.07> - Is comp.os.msdos.programmer just for C programmers?
<Q:01.08> - What is comp.sys.ibm.pc.programmer?
<Q:01.09> - Is comp.os.msdos.programmer available as a mailing list?
<Q:01.10> - What's this netiquette?
<Q:01.11> - How can I learn more about Usenet?
<Q:01.12> - What other technical newsgroups should I know about?
<Q:01.13> - Where are FAQ lists archived?
<Q:01.14> - Where can I get the latest copy of this FAQ list?
Section 2. General Reference
<Q:02.01> - Are there any good on-line references for PC hardware
components?
<Q:02.02> - Are there any good on-line references for PC interrupts?
<Q:02.03> - What and where is Ralf Brown's interrupt list?
<Q:02.04> - Where can I find lex, yacc, and language grammars?
<Q:02.05> - What's the best book to learn programming?
<Q:02.06> - Why won't my code work?
<Q:02.07> - Are there any good sources of example code?
<Q:02.08> - What and where is SNIPPETS?
<Q:02.09> - Is the source code MS-DOS available?
<Q:02.10> - What are my alternatives for MS-DOS compatible OSes?
<Q:02.11> - What and where is FreeDOS?
<Q:02.12> - Where can I find out about batch files?
PART 2:
Section 3. Compile and link
<Q:03.01> - What the heck is DGROUP > 64K?
<Q:03.02> - How do I fix 'automatic data segment exceeds 64K' or 'stack
plus data exceed 64K'?
<Q:03.03> - Will Borland C code and Microsoft C code link together?
<Q:03.04> - Why did my program bomb at run time with 'floating point
formats not linked' or 'floating point not loaded'?
<Q:03.05> - How can I change the stack size in Borland's C compilers?
<Q:03.06> - What's the format of an .OBJ file?
<Q:03.07> - What's the format of an .EXE header?
<Q:03.08> - What's the difference between .COM and .EXE formats?
<Q:03.09> - How do I create a .COM file?
<Q:03.10> - Where is EXE2BIN located?
<Q:03.11> - What does this message mean: 'A20 already enabled so test
is meaning less?'
Section 4. Keyboard
<Q:04.01> - How can I read a character without echoing it to the
screen, and without waiting for the user to press the Enter
key?
<Q:04.02> - How can I find out whether a character has been typed,
without waiting for one?
<Q:04.03> - How can I disable Ctrl-C/Ctrl-Break and/or Ctrl-Alt-Del?
<Q:04.04> - How can I disable the print screen function?
<Q:04.05> - How can my program turn NumLock (CapsLock, ScrollLock) on
or off?
<Q:04.06> - How can I speed up the keyboard's auto-repeat?
<Q:04.07> - What is the SysRq key for?
<Q:04.08> - How can my program tell what kind of keyboard is on the
system?
<Q:04.09> - How can I tell if input, output, or stderr has been
redirected?
<Q:04.10> - How can I increase the size of the keyboard buffer?
<Q:04.11> - How can I stuff characters into the keyboard buffer?
PART 3:
Section 5. Disks and files
<Q:05.01> - What drive was the PC booted from?
<Q:05.02> - How can I boot from drive B:?
<Q:05.03> - Which real and virtual disk drives are valid?
<Q:05.04> - How can I make my single floppy drive both a: and b:?
<Q:05.05> - How can I disable access to a drive?
<Q:05.06> - How can a batch file test existence of a directory?
<Q:05.07> - Why won't my C program open a file with a path?
<Q:05.08> - How can I redirect printer output to a file?
<Q:05.09> - How can I redirect the output of a batch file?
<Q:05.10> - How can I redirect stderr?
<Q:05.11> - How can my program open more files than DOS's limit of 20?
<Q:05.12> - How can I read, create, change, or delete the volume label?
<Q:05.13> - How can I get the disk serial number?
<Q:05.14> - What's the format of .OBJ, .EXE., .COM files?
<Q:05.15> - How can I flush the software disk cache?
<Q:05.16> - How can I see if a drive is a RAM drive?
<Q:05.17> - How can I determine a hard drive's manufacturer?
<Q:05.18> - Where can I find information about the ATA/ATAPI
specification?
<Q:05.19> - How can I copy files to or from filenames containing date
information?
Section 6. Serial ports (COM ports)
<Q:06.01> - How do I set my machine up to use COM3 and COM4?
<Q:06.02> - How do I find the I/O address of a COM port?
<Q:06.03> - But aren't the COM ports always at I/O addresses 3F8, 2F8,
3E8, and 2E8?
<Q:06.04> - How do I configure a COM port and use it to transmit data?
PART 4:
Section 7. Other hardware questions and problems
<Q:07.01> - Which 80x86 CPU is running my program?
<Q:07.02> - How can a C program send control codes to my printer?
<Q:07.03> - How can I redirect printer output?
<Q:07.04> - Which video adapter is installed?
<Q:07.05> - How do I switch to 43- or 50-line mode?
<Q:07.06> - How can I find the Microsoft mouse position and button
status?
<Q:07.07> - How can I access a specific address in the PC's memory?
<Q:07.08> - How can I read or write my PC's CMOS memory?
<Q:07.09> - How can I access memory beyond 640K?
<Q:07.10> - How can I use the protected mode?
<Q:07.11> - How can I tell if my program is running on a PS/2-style
machine.
<Q:07.12> - Is there a 80x87 math unit installed?
<Q:07.13> - How can I power off the computer from a batch file?
Section 8. Other software questions and problems
<Q:08.01> - How can a program reboot my PC?
<Q:08.02> - How can I time events with finer resolution than the system
clock's 55 ms (about 18 ticks a second)?
<Q:08.03> - How can I find the error level of the previous program?
<Q:08.04> - How can a program set DOS environment variables?
<Q:08.05> - How can I change the switch character to - from /?
<Q:08.06> - How can I write a TSR (terminate-stay-resident utility)?
<Q:08.07> - Why does my interrupt function behave strangely?
<Q:08.08> - How can I write a device driver?
<Q:08.09> - What can I use to manage versions of software?
<Q:08.10> - What's this 'null pointer assignment' after my C program
executes?
<Q:08.11> - How can a batch file tell whether it's being run in a DOS
box under Windows?
<Q:08.12> - How can my program tell if it's running under Windows?
<Q:08.13> - How can a program tell whether ANSI.SYS is installed?
<Q:08.14> - How do I copyright software that I write?
<Q:08.15> - How can I place date and time information into environment
variables?
PART 5:
Section 9. Downloading
<Q:09.01> - What are SimTel and Garbo?
<Q:09.02> - Can I get archives on CD-ROM?
<Q:09.03> - Where do I find program <mumble>?
Section 10. Vendors and products
<Q:10.01> - How can I contact Borland?
<Q:10.02> - How can I contact Microsoft?
<Q:10.03> - What is the current version of DJGPP?
<Q:10.04> - What and where is DJGPP?
<Q:10.05> - Are there any good shareware/freeware compilers?
<Q:10.06> - Where is QBASIC?
<Q:10.07> - What is a vendor's web site address?
Subject: Section 1. General FAQ and Newsgroup Information
Date: 5 Feb 2002 22:03:03 -0400
The General FAQ and Newsgroup Information section contains information
about how to use the FAQ and the newsgroup.
Subject: <Q:01.01> - Is MS-DOS Dead?
Date: 7 Feb 2002 14:31:56 -0400
No. Though Microsoft may not be actively developing MS-DOS there are
still many computers that are not capable of running Microsoft Windows.
The current versions of Microsoft Windows will also run most MS-DOS
programs; therefore, MS-DOS is not dead, and will most- likely never die
just as Commodore-64s and Amigas have not completely died.
Indeed, DOS has found a new life in embedded systems. Other parties
continue to develop MS-DOS compatible operating systems for more
information see <Q:02.10> [What are my alternatives for MS-DOS
compatible OSes?]
Windows NT, 2000, and XP all have a "Command Prompt" which is similar to
the orignal MS-DOS command prompt. The new Windows command prompt has
some differences from the original MS-DOS command prompty; see <Q:01.12>
[What other technical newsgroups should I know about?] for pointers on
where to learn about these diffences.
Subject: <Q:01.02> - What is this article for?
Date: 5 Feb 2002 22:03:03 -0400
This is the FAQ (Frequently Asked Questions) list for the newsgroup
comp.os.msdos.programmer.
FAQ lists are intended to reduce the noise level in their newsgroups
that results from the repetition of the same questions, correct answers,
wrong answers, corrections to the wrong answers, corrections to the
corrections, debate, etc.
This list should serve as a repository of the canonical "best" answers
to the questions in it. The names of folks who have helped to improve
this FAQ list are listed in <Q:01.03> [Who has contributed to this
article?]
Subject: <Q:01.03> - Who has contributed to this article?
Date: 27 Jun 2003 07:18:11 -0400
This list is maintained and edited by Jeffrey Carlyle. To contact him
send email to <mailto:jeffrey@carlyle.com> or visit his website at
<http://www.jeffc.org/> for more information.
Stan Brown, as the former list maintainer, has been the major
contributor: Stan wrote most of this list.
Many articles posted in comp.os.msdos.programmer sparked ideas or
provided information for the first version of this list. Though they are
not responsible for any errors, thanks are due to the following persons
for posted articles or private email that led to improvements in this
FAQ list:
Jamshid Afshar, Mark Aitchison, Sanjay Aiyagari, George Almasi, Aaron
Auseth, Robert Baker, Preston Bannister, Scott Barman, Denis Beauregard,
Per Bergland, Mike Black, Chris Blum, Ron Bodkin, Mark Brader, Jon
Brinkmann, Andrew James Bromage, Glynn Brooks, Paul Brooks, Ralf Brown,
Stan Brown, Shaun Burnett, D'Arcy J.M. Cain, Jeffrey Carlyle, Raymond
Chen, Dale Curtis, Denny de Jonge, Eric DeVolder, Alan Drew, Paul
Ducklin, Gary Dueck, Dave Dunfield, Roland Eriksson, Mark Evans, Markus
Fischer, George Forsman, Roger Fulton, Vincent Giovannone, Robert
Grunloh, B.Haible, Janos Haide, Klaus Hartnegg, Kris Heidenstrom, Tom
Haapanen, Joel Hoffman, Ari Hovila, Chin Huang, Daniel P Hudson, Joe
Huffman, Michael Holin, Mike Iarrobino, Byrial Jensen, Rune Jorgensen,
Ajay Kamdar, Everett Kaser, Tim Kannel, JJ Keijser, Jeff Kellam, Igor
Kerp, Jen Kilmer, Reinhard Kirchner, Dave Kirsch, Chad Knudsen, Samuel
Ko, Jan Kotas, Janne Kukonlehto, Robert Luursema, Benjamin Lee, Stephen
Lee, Jim Lynch, Greg Malknecht, Sidney Markowitz, Jim Marks, Dimitri
Matzarakis, Fred McCall, Ken McKee, Doug Merrett, Tom Milner, Bill
Moore, Duncan Murdoch, Steve Murphy, Daniel Neri, Mert Nickerson, David
Nugent, John Oldenburg, David Pape, Keith Petersen, Kevin D. Quitt, Karl
Riedling, Arthur Rubin, Gerald Ruderman, Timo Salmi, Tapio Sand, Charles
Sandmann, John Schmid, Russell Schulz, Paul Schylter, Huseyin Sevay,
Adam Seychell, Ajay Shah, Bob Smith, John Stockton, Bob Stout, Sean
Sullivan, Steve Summit, Tom Swingle, Anders Thulin, Curt Tilmes, Rick
Watkins, Ya-Gui Wei, Morten Welinder, Joe Wells, Scott Winder, Gregory
Youngblood, Eli Zaretski, ceison@lis.net.au, khill@vax1.umkc.edu
Subject: <Q:01.04> - How can I search this article for a particular
topic?
Date: 5 Feb 2002 22:03:03 -0400
To locate a certain word or phrase use your newsreader's, browser's, or
editor's search function.
Subject: <Q:01.05> - Are the answers guaranteed to be correct and
complete?
Date: 5 Feb 2002 22:03:03 -0400
There has been an attempt to check all facts, but THERE IS NO WARRANTY
ON THE CODE OR ON THE TECHNIQUES DESCRIBED HEREIN. Please send
corrections to <mailto:jeffrey@carlyle.org>. All the code has been
tested; but the testing may not have been perfect, and machines and
configurations vary. (Except where otherwise noted, C code was tested
with MSC 5, BC++ 2.0, BC++ 4.x, MSVC 5, or MSVC 6.)
The mention of particular books or programs must not be construed to
reflect unfavorably on any that are not mentioned.
If you encounter any errors in the FAQ please contact me via email.
Subject: <Q:01.06> - What is comp.os.msdos.programmer about?
Date: 5 Feb 2002 22:03:03 -0400
Comp.os.msdos.programmer (comp.sys.ibm.pc.programmer until September
1990) concerns programming for MS-DOS systems. The article "USENET
Readership report for Jul 94" in news.lists shows 120,000 readers of
this newsgroup worldwide. Traffic (exclusive of crossposts) was 1981
articles aggregating 3.1 Megabytes. It ranked as the 79th most popular
newsgroup.
More programming topics in the newsgroup focus on C than on any one
other language, but we are not just for C programmers (see <Q:01.07> [Is
comp.os.msdos.programmer just for C programmers?]).
Since most MS-DOS systems run on hardware that is roughly compatible
with the IBM PC, on Intel 8088, 80188, or 80x86 chips, we tend to get a
lot of questions and answers about programming other parts of the
hardware.
Subject: <Q:01.07> - Is comp.os.msdos.programmer just for C programmers?
Date: 7 Feb 2002 14:40:59 -0400
No, it is for all programmers who want to share information about
programming in MS-DOS and DOS replacements like 4DOS. Programs and
questions are also posted in Pascal, assembly, and other languages
(including MS-DOS batch programming).
Why does the newsgroup seem to be so C-oriented sometimes? There are two
reasons. First, comp.lang.c and comp.lang.pascal have evolved in
different directions. Comp.lang.pascal has split into discussions about
individual Pascal compilers. comp.lang.pascal.borland welcomes
discussion specific to Turbo Pascal, and the other new groups likewise.
Turbo Pascal programmers tend to find DOS questions welcomed in
comp.lang.pascal.borland, so that comp.os.msdos.programmer gets less of
the "DOS in Turbo Pascal" traffic. On the other hand, comp.lang.c has
stayed closer to talking only about the C language, and vendor-specific
or operating-system-specific questions are not welcome. This tends to
push questions about disks, DOS file structure, video, the keyboard,
TSRs, etc. to comp.os.msdos.programmer even when those programs are
written in C.
This FAQ is definitely C-oriented, not because that's necessarily best
but because I tried to stick to what I could verify personally. As a C
programmer (with some assembler), I could most carefully verify
solutions in C or assembler. I felt that short, clear programs could be
published in just one language and programmers could translate them into
their languages of choice. But the FAQ list also contains several long
programs written only in C; this is a defect with no obvious remedy.
Most answers that point to source code at archive sites include both C-
and Pascal- language source when available.
Subject: <Q:01.08> - What is comp.sys.ibm.pc.programmer?
Date: 5 Feb 2002 22:03:03 -0400
The newsgroup comp.sys.ibm.pc.programmer is the old name of the modern
newsgroup comp.os.msdos.programmer, and the old name has been obsolete
since September 1990; however, some systems may not have removed the old
group, or may have removed it but aliased it to the new name.This means
that some people still think they're posting to
comp.sys.ibm.pc.programmer even though they're actually posting to
comp.os.msdos.programmer.
You can easily verify the non-existence of comp.sys.ibm.pc.programmer by
reference to the "List of Active Newsgroups" posted to news.groups. It's
available at:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/>
(For RTFM usage instructions see <Q:01.13> [Where are FAQ lists
archived?])
Subject: <Q:01.09> - Is comp.os.msdos.programmer available as a mailing
list?
Date: 5 Feb 2002 22:03:03 -0400
Sorry, the newsgroup is not available as a mailing list.
Subject: <Q:01.10> - What's this netiquette?
Date: 5 Feb 2002 22:03:03 -0400
Netiquette is good Usenet etiquette. It includes basic rules like the
ones below. (See also <Q:01.11> [How can I learn more about Usenet?])
* Always read a newsgroup for a reasonable time before you post an
article to it.
* Pick the one right group for your article; don't crosspost unless
absolutely necessary. If you absolutely must post an article to more
than one group, do crosspost it and don't post the same article
separately to each group. See <Q:01.12> [What other technical
newsgroups should I know about?] when considering where to post an
article.
* Before you post a question, make sure you're posting to the right
newsgroup; the best way to do that is to observe the proceeding rule.
Check the group's FAQ list (if it has one) to make sure that your
question isn't already answered there; see <Q:01.13> [Where are FAQ
lists archived?]
* When you post a question, if you ask for email responses then promise
to post a summary. Keep your promise. And make it a real summary:
don't just append all the email you got. Instead, write your own
(brief) description of the solution: this is the best way to make sure
you really understand it.
* Before you post a follow-up, read the other follow-ups. Very often
you'll find that someone else has already made the point you had in
mind.
* When someone posts a question, if you want to know the answer don't
post a "me, too". Instead send email to the poster asking him or her
to share responses with you.
* When posting a follow-up to another posted article, remove all headers
and signature lines from the old article; just keep the line "In
<article>, so-and-so writes:". Also cut the original article down as
much as possible; just keep enough of it to remind readers of the
context.
* Keep lines in posted articles to 72-75 characters. Many newsreaders
chop off column 81 or arbitrarily insert a newline there, which makes
longer lines difficult or impossible to read. But you need to keep
well below 80 characters per line to allow for the > characters that
get inserted when other people post follow-ups to your article.
* Keep your signature to 4 lines or less (including any graphics) and
for heaven's sake make sure it doesn't get posted twice in your
article.
* Don't post email without first obtaining the permission of the sender.
Subject: <Q:01.11> - How can I learn more about Usenet?
Date: 5 Feb 2002 22:03:03 -0400
There are two important newsgroups for learning about how Usenet and
newsreader software works:
* News.announce.newusers contains periodic postings that everybody is
asked to read before posting anything to Usenet. (In theory, all new
users are subscribed to news.announce.newusers automatically. But in
practice not all newsreader software does that, so that many people
violate the guidelines given there simply because they don't know
about them.)
* News.newusers.questions is described as "Q & A for users new to the
Usenet". But new and long-time users can ask or answer questions about
Usenet and newsreader software there. There's an important article,
"Welcome to news.newusers.questions! (Weekly posting)", that everyone
is asked to read before posting to news.newusers.questions. (See below
for ways to get a copy of that article.)
The following postings in news.announce.newusers might be considered the
"mandatory course" for new users:
* Introduction to news.announce.newusers
* What is Usenet
* Answers to Frequently Asked Questions
* Rules for posting to Usenet
* A Primer on How to Work with the Usenet Community
* Hints on writing style for Usenet
* Emily Postnews Answers Your Questions on Netiquette
The articles mentioned above are downloadable via ftp from rtfm.mit.edu
in the following files:
Welcome to news.newusers.questions (Weekly posting):
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/>
Introduction to news.announce.newusers:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/news-announce/introduction/part1>
What is Usenet:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/what-is/part1>
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/what-is/part2>
Answers to Frequently Asked Questions:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/faq/>
Rules for posting to Usenet:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/posting-rules/>
A Primer on How to Work with the Usenet Community:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/primer/>
Hints on writing style for Usenet:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/writing-style/part1>
Emily Postnews Answers Your Questions on Netiquette:
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/emily-postnews/>
For rtfm.mit.edu instructions, see <Q:01.13> [Where are FAQ lists
archived?]
Subject: <Q:01.12> - What other technical newsgroups should I know about?
Date: 7 Feb 2002 14:35:45 -0400
It is impractical to attempt to list all relevant newsgroups here. The
few that are listed are some of the older newsgroups. To find additional
groups use your newsreader's newsgroup search facility.
Caution: Some of these newsgroups have specialized charters; you'll
probably get flamed (and deserve it) if you post to an inappropriate
group. Most groups have FAQ lists that will tell you what's appropriate.
Don't post a request for the FAQ list; instead, retrieve it yourself:
see <Q:01.13> [Where are FAQ lists archived?]
* The various misc.forsale.computers.* are where you post notices of
equipment, software, or computer books that you want to sell. Please
don't post or crosspost those notices to comp.os.msdos.programmer.
* The various comp.os.ms-windows.programmer.* groups (formerly
comp.windows.ms.programmer) are for articles specifict to the various
Microsoft Windows platforms.
* The various comp.sys.ibm.pc.hardware.* groups are for more
hardware-oriented discussions of the machines that run DOS.
* The various comp.lang.* groups for articles and questions on the
programming languages. Caution: some groups welcome discussions that
are operating-system dependent or vendor specific; others do not. For
example, comp.lang.c is definitely _not_ for questions about
programming DOS or PC system features, even if the programs are
written in C.
* comp.binaries.ibm.pc.wanted: AFTER you have looked in the other
groups, this is the place to post a request for a particular binary
program.
* comp.archives.msdos.announce (moderated) explains how to use the
archive sites, especially Garbo and SimTel, and lists files uploaded
to them. Discussions belong in comp.archives.msdos.d, which replaced
comp.binaries.ibm.pc.archives in December 1992.
* comp.binaries.ibm.pc.d is for discussions about programs posted in
comp.binaries.ibm.pc, and only those programs. This is a good place to
report bugs in the programs, but not to ask where to find them (see
cbip.wanted, above). comp.binaries.ibm.pc.d is NOT supposed to be a
general PC discussion group.
* comp.sources.misc: a moderated group for source code for many computer
systems. It tends to get lots of Unix stuff, but you may also pick up
some DOS-compatible code here.
* alt.sources: an unmoderated group for source code. Guidelines are
posted periodically.
* comp.os.msdos.djgpp is specifically for support of DJGPP. For more
information on DJGPP see <Q:10.04> [What and where is DJGPP?]
* comp.os.msdos.programmer.turbovision is specifically for programming
in Turbo Vision.
* rec.games.programmer discusses many graphics programming topics.
* alt.msdos.batch specializes in the discussion of MS-DOS batch files.
* alt.msdos.batch.nt specializes in the discussion of batch files for
Windows NT, 2000, and XP.
Subject: <Q:01.13> - Where are FAQ lists archived?
Date: 5 Feb 2002 22:03:03 -0400
Very possibly the FAQ list you want is already at your site. Check the
newsgroup news.answers; if your site doesn't carry news.answers, check
comp.answers, rec.answers, etc., according to the top-level name in the
FAQ list's "home" newsgroup. Articles are posted to the *.answers groups
in a way that should make them last until the next versions are posted.
If they expire sooner at your site, you might want to lobby your
sysadmin to treat the moderated *.answers groups as a special case and
grant them longer expiration times than other groups.
To ftp most FAQ lists, connect to
<ftp://rtfm.mit.edu/pub/usenet-by-group/>. The name of the
file that you want is the Archive-name from the top of the article. For
instance, if the Archive-name were software-eng/part1 you would retrieve
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/software-eng/part1>.
By email (only if you have no ftp access, please), the server is
<mailto:mail-server@rtfm.mit.edu>. It accepts "send" commands that omit
the leading "/pub/" from file names; for example:
send usenet-by-group/news.answers/software-eng/part1
For full instructions about the mail server, send it a message
consisting of these two lines:
help
index
Not just FAQ lists, but every article listed in the "List of Periodic
Informational Postings" (LoPIP) can be obtained by ftp or email from
rtfm.mit.edu. If you have an old copy of an informational article, look
for an "Archive-name" at the beginning. The article is stored under that
name at <ftp://rtfm.mit.edu/pub/usenet-by-group/>. If the
article has no Archive-name, check the first name on the Newsgroups line
and change to that directory under
<ftp://rtfm.mit.edu/pub/>.
Stan Brown also maintains a FAQ on finding FAQs. It can be found at
<http://www.mindspring.com/~brahms/faqget.htm>.
Subject: <Q:01.14> - Where can I get the latest copy of this FAQ list?
Date: 14 Aug 2003 06:46:14 -0400
The FAQ's home page is at <http://www.jeffc.org/msdos/>. The latest
version of the FAQ can always be found there.
Additionally there are several sites that archive the FAQ list. A couple
of the more popular FAQ archives are
<ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/>
and
<http://www.faqs.org/faqs/by-newsgroup/comp/comp.os.msdos.programmer.html>.
For more information on the FAQ archives, see <Q:01.13> [Where are FAQ
lists archived?]
Subject: Section 2. General Reference
Date: 5 Feb 2002 22:03:03 -0400
The General Reference section contains information about finding popular
online MS-DOS reference materials.
Subject: <Q:02.01> - Are there any good on-line references for PC
hardware components?
Date: 8 Feb 2002 19:36:40 -0400
Good reports of HELPPC21 have been posted. It is downloadable as:
<ftp://garbo.uwasa.fi/pc/programming/helppc21.zip>
This hypertext system contains much information on ports and other
hardware, as well as some overlap with Ralf Brown's interrupt list
<Q:02.03> [What and where is Ralf Brown's interrupt list?]. It is
shareware ($25).
Additional information (and more recent) information can be found in
Ralf Brown's interrupt list; see <Q:02.03> [What and where is Ralf
Brown's interrupt list?] for information on locating the list.
Subject: <Q:02.02> - Are there any good on-line references for PC
interrupts?
Date: 5 Feb 2002 22:03:03 -0400
The definitive work is Ralf Brown's interrupt list. For more information
see <Q:02.03> [What and where is Ralf Brown's interrupt list?].
Subject: <Q:02.03> - What and where is Ralf Brown's interrupt list?
Date: 8 Feb 2002 19:37:16 -0400
Ralf Brown's Interrupt List contains megabytes of information on
documented and (officially) undocumented BIOS and DOS interrupts, DOS
tables, and interrupts hooked by many software packages.
The distribution files contain not only the actual list, but also a
collection of utilities and conversion programs for the list.
Ralf Brown's Interrupt List can be downloaded from his page at:
<http://www.cs.cmu.edu/~ralf/files.html>
HTML versions of Ralf Brown's Interrupt List can be found at:
* <http://www.delorie.com/djgpp/doc/rbinter/>
* <http://ctyme.com/rbrown.htm>
Updates are announced in comp.archives.msdos.announce and on Ralf
Brown's web page at: <http://www.cs.cmu.edu/~ralf/>
Ralf's web page contains the somewhat unassuming line: "[h]e is
well-known in cyberspace for maintaining the Interrupt List..." Ralf has
done astounding work as the maintainer of the list; his work has been
greatly appreciated by thousands of programmers.
Subject: <Q:02.04> - Where can I find lex, yacc, and language grammars?
Date: 5 Feb 2002 22:03:03 -0400
The FAQ list of the comp.compilers newsgroup answers this for BASIC, C,
Pascal, and other languages. See <Q:01.13> [Where are FAQ lists
archived?]
Subject: <Q:02.05> - What's the best book to learn programming?
Date: 5 Feb 2002 22:03:03 -0400
Sorry, this FAQ list cannot settle religious arguments.
Much of the heat over this topic arises because each person believes
that the book that he or she learned from is the best book, but
different people have very different experiences of the same book. The
only person who can tell you which is the best book for learning a given
topic is you.
Your best bet is to go to a fairly well stocked bookstore when you have
a couple of hours to spare. Start at one end of the shelf and work your
way methodically through every book that looks like it might cover what
you want to learn. Look at the tables of contents; read a page or two
from each book. Then make your decision. If money is a problem or if
you're not sure of your choice, check out your top two or three from
your library.
Subject: <Q:02.06> - Why won't my code work?
Date: 7 Feb 2002 14:44:40 -0400
First you need to try to determine whether the problem is in your use of
the programming language or in your use of MS-DOS and your PC hardware.
(Your manual should tell you which features are standard and which are
vendor- or MS DOS- or PC-specific. You have read your manual carefully,
haven't you?)
If the feature that seems to be working wrong is something related to
your PC hardware or to the internals of MS-DOS, this group is the right
place to ask. (Please check this FAQ list first, to make sure your
question isn't already answered here.)
On the other hand, if your problem is with the programming language, the
comp.lang hierarchy (including comp.lang.pascal.* and comp.lang.c) is
probably a better resource. Please read the other group's FAQ list
thoroughly before posting. (These exist in comp.lang.c, comp.lang.c++,
comp.lang.modula3, comp.lang.lisp, comp.lang.perl; they may exist in
other groups as well. comp.lang.pascal.borland has a Mini-FAQ.) It's
almost never a good idea to crosspost between comp.os.msdos.programmer
and a language group.
Before posting in either place, try to make your program as small as
possible while still exhibiting the bad behavior. Sometimes this alone
is enough to show you where the trouble is. Also edit your description
of the problem to be as short as possible. This makes it look more like
you tried to solve the problem on your own, and makes people more
inclined to try to help you. See also <Q:01.10> [What's this
netiquette?]
Subject: <Q:02.07> - Are there any good sources of example code?
Date: 5 Feb 2002 22:03:03 -0400
Bob Stout maintains a very large archive called SNIPPETS. For more
information see <Q:02.08> [What and where is SNIPPETS?].
Subject: <Q:02.08> - What and where is SNIPPETS?
Date: 6 Feb 2002 00:00:45 -0400
Excerpt from the SNIPPETS FAQ follows:
The SNIPPETS archive, maintained by Bob Stout, contains public
domain/freeware portable C/C++ source code & instructional text.
There are more than 500 files, including:
Approx. 56,000 lines of code + approx. 10,000 lines of
tutorials.
Approx. 30% PC-specific, 70% portable
Approx. 6% C++-specific, 94% C/C++
The PC-specific functions are system-level utility code - no
multimedia or GUI code. Tested on all popular PC compilers plus
Unix compilers where possible. An eclectic collection with
everything from macros to complete cut-and-paste C/C++ code
solutions & utilities, along with FAQ and instructional files.
Official SNIPPETS sites: <ftp://ftp.snippets.org/>
<http://www.snippets.org/>
Subject: <Q:02.09> - Is the source code MS-DOS available?
Date: 5 Feb 2002 22:03:03 -0400
No, the source code to MS-DOS is not currently available; however, the
source code to an MS-DOS alternative known as FreeDOS is freely
available; see <Q:02.11> [What and where is FreeDOS?] for more
information.
Subject: <Q:02.10> - What are my alternatives for MS-DOS compatible OSes?
Date: 5 Feb 2002 22:03:03 -0400
The FreeDOS Project (see <Q:02.11> [What and where is FreeDOS?]) has
created an open source MS-DOS compatible operating system known as
FreeDOS. Additionly, IBM has released an updated version of their PC-DOS
known as PC-DOS 2000.
Lineo currently owns the rights to DR-DOS, but they appear to no longer
be developing or supporting it; however, one can still find DR-DOS and
even CP/M on their FTP site: <ftp://ftp.lineo.com/pub/drdos/>
Subject: <Q:02.11> - What and where is FreeDOS?
Date: 7 Feb 2002 00:49:45 -0400
The FreeDOS Project creates and maintains FreeDOS an open source
operating system covered by the GNU General Public License. FreeDOS is a
functional operating system; however, they have not yet reached their
stated of goal of being able to run Windows and DOOM. The FreeDOS
Project has not accessed any Microsoft source code and is creating
FreeDOS from scratch.
More information and the FreeDOS distribution itself can be found at:
<http://www.freedos.org>
Subject: <Q:02.12> - Where can I find out about batch files?
Date: 7 Feb 2002 12:59:56 -0400
If the question is not answered elsewhere in this FAQ, it may be
answered in Timo Salmi's "Frequently Asked Questions about MS-DOS
batches." This list can be found at
<ftp://garbo.uwasa.fi/pc/link/>.
Subject: Conclusion
This is the end of part 1 of 5 parts.
This text is copyright 2003 by Jeffrey Carlyle. All rights reserved.
Please see the top of this article for additional copyright information.
|
Comment about this article, ask questions, or add new information about this topic: