home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!dreaderd!not-for-mail
- Message-ID: <msdos-programmer-faq/part1_1084010824@rtfm.mit.edu>
- Supersedes: <msdos-programmer-faq/part1_1081511793@rtfm.mit.edu>
- Expires: 19 Jun 2004 10:07:04 GMT
- X-Last-Updated: 2003/08/14
- From: jeffrey@carlyle.org (Jeffrey Carlyle)
- Sender: jeffrey@carlyle.org (Jeffrey Carlyle)
- Reply-To: jeffrey@carlyle.org (Jeffrey Carlyle)
- Approved: news-answers-request@MIT.edu
- Organization: JeffC.org
- Subject: comp.os.msdos.programmer FAQ part 1/5
- Newsgroups: comp.os.msdos.programmer,alt.msdos.programmer,comp.answers,alt.answers,news.answers
- Followup-To: poster
- Summary: Frequently asked questions from DOS programmers with tested answers.
- Originator: faqserv@penguin-lust.MIT.EDU
- Date: 08 May 2004 10:07:52 GMT
- Lines: 855
- NNTP-Posting-Host: penguin-lust.mit.edu
- X-Trace: 1084010872 senator-bedfellow.mit.edu 574 18.181.0.29
- Xref: senator-bedfellow.mit.edu comp.os.msdos.programmer:127442 alt.msdos.programmer:54820 comp.answers:57097 alt.answers:72785 news.answers:270985
-
- 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/active-newsgroups>
-
- (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/news-newusers-intro>
-
- 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/part1>
-
- Rules for posting to Usenet:
- <ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/posting-rules/part1>
-
- A Primer on How to Work with the Usenet Community:
- <ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/usenet/primer/part1>
-
- 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/part1>
-
- 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/news.answers>. 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/news.answers>. 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/usenet-by-group>.
-
- 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/msdos-programmer-faq>
- 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/tsbat.zip>.
-
- ------------------------------
-
- 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.
-
-