From wheel.cs.kiev.ua!relay1!relay1.cs.kiev.ua!bnn%relay1.cs.kiev.ua Tue May 25 10:25:55 1993
Received: by softp.kiev.ua (UUPC/@ v5.00gamma, 07Nov92);
          Tue, 25 May 1993 10:25:54 +0300
Received: by wheel.cs.kiev.ua; Mon, 24 May 93 21:31:07 +0300
Received: by relay1.cs.kiev.ua (messed up sendmail); Mon, 24 May 93 21:01:52 UKR
From: bnn@relay1.cs.kiev.ua (Nick Bezrukov)
Date: Mon, 24 May 93 21:01:52 UKR
Message-Id: <9305241801.AA01991@relay1.cs.kiev.ua>
To: bnn@softp.kiev.ua
Subject: (fwd) comp.os.msdos.programmer FAQ part 1 of 4
Newsgroups: comp.os.msdos.programmer
Lines: 218
Status: RO

Organization: Communication Systems, Ltd.

Xref: relay1 comp.os.msdos.programmer:4637 news.answers:2723
Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
Path: relay1!csoft!kiae!bitcom!fuug!news.funet.fi!news.tele.fi!uunet!gatech!howland.reston.ans.net!usenet.ins.cwru.edu!ncoast!brown
From: brown@NCoast.ORG (Stan Brown)
Subject: comp.os.msdos.programmer FAQ part 1 of 4
Expires: Tue, 25 May 1993 00:36:02 GMT
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Sun, 25 Apr 1993 00:36:02 GMT
Approved: news-answers-request@MIT.Edu
Message-ID: <msdos-faq.930424.1@NCoast.ORG>
Followup-To: comp.os.msdos.programmer
References: none
Supersedes: <msdos-faq.930407.1@NCoast.ORG>
Lines: 201

Archive-name: msdos-programmer-faq/part1
Last modified: 22 Apr 1993


This is the FAQ list (Frequently Asked Questions list) for the newsgroup
comp.os.msdos.programmer.  Parts 2 through 4 of this article are posted
as followups in the same thread.  Starting 2 Feb 1993, I mark new and
revised answers with "new:" or "rev:" and the change date.

If the posting date shown above is more than four weeks in the past, see
instructions in part 4 of this list for how to get an updated copy.  (A
separate article, posted before this one, holds the changes from the
previous edition.  Look for the subject line "comp.os.msdos.programmer
FAQ diffs".)

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 follow the table of contents.  If you know a better answer
or even a slight change that improves an answer, please tell me!  (Use
email, please.  Traffic in this group is high, and I may miss a relevant
posted article.)
                      Stan Brown, Oak Road Systems, Cleveland, Ohio, USA
                                                        brown@ncoast.org

Search tips
===========
    To search for specific topics:  See the list of questions in the
Contents section (immediately below) to find which article (part 2, 3,
or 4) you need.  Then, in that part, search for that question number.
For example, while you're reading part 2 of this list, the trn
newsreader command "gQ203" goes to Q203.
    To skip one topic and go to the next:  Search for "Q" starting in
column 1.  In trn and similar newsreaders, the command "g^Q" does that.
    If your newsreader doesn't support searches, you can extract these
articles to a file and use your favorite editor's search commands.


Contents--part 2 of 4
=====================
section 1. General questions
    101. Why won't my code work?
    102. What is this newsgroup about?
    103. What's the difference from comp.sys.ibm.pc.programmer?
    104. Is comp.os.msdos.programmer available as a mailing list?
    105. What other newsgroups should I know about?
section 2. Compile and link
    201. What the heck is "DGROUP > 64K"?
    202. How do I fix "automatic data segment exceeds 64K" or "stack
         plus data exceed 64K"?
    203. Will Borland C code and Microsoft C code link together?
    204. Why did my program bomb at run time with "floating point
         formats not linked"?
    205. Why did my program bomb with "floating point not loaded"?
    206. How can I change the stack size in Borland's C compilers?
    207. What's the format of an .OBJ file?
    208. What's the format of an .EXE header?
    209. What's the difference between .COM and .EXE formats?
section 3. Keyboard
    301. How can I read a character without echoing it to the screen,
         and without waiting for the user to press the Enter key?
    302. How can I find out whether a character has been typed, without
         waiting for one?
    303. How can I disable Ctrl-C/Ctrl-Break and/or Ctrl-Alt-Del?
    304. How can I disable the print screen function?
    305. How can my program turn NumLock (CapsLock, ScrollLock) on/off?
    306. How can I speed up the keyboard's auto-repeat?
    307. What is the SysRq key for?
    308. How can my program tell what kind of keyboard is on the system?
    309. How can I tell if input, output, or stderr has been redirected?


Contents--part 3 of 4
=====================
section 4. Disks and files
    401. What drive was the PC booted from?
    402. How can I boot from drive b:?
    403. Which real and virtual disk drives are valid?
    404. How can I make my single floppy drive both a: and b:?
    405. Why won't my C program open a file with a path?
    406. How can I redirect printer output to a file?
    407. How can my program open more files than DOS's limit of 20?
    408. How can I read, create, change, or delete the volume label?
    409. How can I get the disk serial number?
    410. What's the format of .OBJ, .EXE., .COM files?
    411. How can I flush the software disk cache?
section 5. Serial ports (COM ports)
    501. How do I set my machine up to use COM3 and COM4?
    502. How do I find the I/O address of a COM port?
    503. But aren't the COM ports always at I/O addresses 3F8, 2F8, 3E8,
         and 2E8?
    504. How do I configure a COM port and use it to transmit data?
section 6. Other hardware questions and problems
    601. Which 80x86 CPU is running my program?
    602. How can a C program send control codes to my printer?
    603. How can I redirect printer output to a file?
    604. Which video adapter is installed?
    605. How do I switch to 43- or 50-line mode?
    606. How can I find the Microsoft mouse position and button status?
    607. How can I access a specific address in the PC's memory?
    608. How can I read or write my PC's CMOS memory?
    609. How can I access memory beyond 640K?
section 7. Other software questions and problems
    701. How can a program reboot my PC?
    702. How can I time events with finer resolution than the system
         clock's 55 ms (about 18 ticks a second)?
    703. How can I find the error level of the previous program?
    704. How can a program set DOS environment variables?
    705. How can I change the switch character to - from /?
    706. Why does my interrupt function behave strangely?
    707. How can I write a TSR (terminate-stay-resident) utility?
    708. How can I write a device driver?
    709. What can I use to manage versions of software?
    710. What's this "null pointer assignment" after my C program
         executes?
    711. How can my program tell if it's running under Windows?
    712. How do I copyright software that I write?


Contents--part 4 of 4
=====================
section A. Downloading
    A01. What are Simtel, garbo, and wustl?
    A02. I have no ftp access.  How can I get files from the archives?
    A03. Can I get archives on CD-ROM?
    A04. Where do I find program <mumble>?
    A05. How can I check Simtel or garbo before I post a request for a
         program?
    A06. How do I download and decode a program I found?
    A07. Where is UUDECODE?
    A08. Why do I get errors when extracting from a ZIP file I
         downloaded?
section B. Vendors and products
    B01. How can I contact Borland?
    B02. How can I contact Microsoft?
    B03. What's the current version of UNZIP?
    B04. What's in Borland Pascal/Turbo Pascal 7.0?
    B05. What's in Microsoft C/C++ 7.0?
section C. More information
    C01. Are there any good on-line references for PC hardware
         components?
    C02. Are there any good on-line references for PC interrupts?
    C03. What and where is "Ralf Brown's interrupt list"?
    C04. Where can I find lex, yacc, and language grammars?
    C05. What's the best book to learn programming?
    C06. Where are FAQ lists archived?
    C07. Where can I get the latest copy of this FAQ list?
    C08. How do I use ftp?


Acknowledgements
================
Many articles posted in comp.os.msdos.programmer sparked ideas or
provided information for the first version of this list.  Though I am
responsible for any errors, thanks are due to the following for posted
articles or private email that I used in subsequent editions:  Jamshid
Afshar, Mark Aitchison, Sanjay Aiyagari, George Almasi, Aaron Auseth,
Preston Bannister, Denis Beauregard, Mike Black, Glynn Brooks, Paul
Brooks, Ralf Brown, Shaun Burnett, Raymond Chen, Alan Drew, Paul
Ducklin, Gary Dueck, Roland Eriksson, Markus Fischer, George Forsman,
Vincent Giovannone, B.Haible, Janos Haide, Klaus Hartnegg, Kris
Heidenstrom, Tom Haapanen, Joel Hoffman, Joe Huffman, Michael Holin,
Mike Iarrobino, Byrial Jensen, Rune Jorgensen, Ajay Kamdar, Everett
Kaser, Jeff Kellam, Jen Kilmer, Reinhard Kirchner, Dave Kirsch, Samuel
Ko, Sidney Markowitz, Jim Marks, Dimitri Matzarakis, Fred McCall, Ken
McKee, Tom Milner, Duncan Murdoch, Steve Murphy, Mert Nickerson, David
Nugent, John Oldenburg, David Pape, Keith Petersen, Karl Riedling,
Arthur Rubin, Gerald Ruderman, Timo Salmi, Tapio Sand, John Schmid,
Russell Schulz, Ajay Shah, Tom Swingle, Anders Thulin, Curt Tilmes,
Ya-Gui Wei, Joe Wells, Gregory Youngblood, khill@vax1.umkc.edu

New contributors this issue:


Legalistic stuff
================
This article is not in the public domain, but it may be redistributed so
long as this notice, and the information on obtaining the latest copy of
this list, are retained.  The code fragments may be used freely; credit
would be appreciated but is not required.

Copyright (C) 1993  Stan Brown, Oak Road Systems.  All rights reserved.

THERE IS NO WARRANTY ON THE CODE.  I have tested all the code included
below, but your machine may not work the same as mine, and my testing
may not be perfect.  (Except where otherwise noted, I tested the code
with both BC++ 2.0 and MSC 5.0.)

The mention of particular books or programs must not be construed to
reflect unfavorably on any that are not mentioned.


(continued in part 2)
-- 
Stan Brown, Oak Road Systems                    brown@Ncoast.ORG
"Well, I draw a few distinctions, I clarify a few concepts.  It's a
living."  --attributed to philosopher Sidney Morgenbesser


From wheel.cs.kiev.ua!relay1!relay1.cs.kiev.ua!bnn%relay1.cs.kiev.ua Tue May 25 10:25:56 1993
Received: by softp.kiev.ua (UUPC/@ v5.00gamma, 07Nov92);
          Tue, 25 May 1993 10:25:55 +0300
Received: by wheel.cs.kiev.ua; Mon, 24 May 93 21:31:08 +0300
Received: by relay1.cs.kiev.ua (messed up sendmail); Mon, 24 May 93 21:02:07 UKR
From: bnn@relay1.cs.kiev.ua (Nick Bezrukov)
Date: Mon, 24 May 93 21:02:07 UKR
Message-Id: <9305241802.AA02014@relay1.cs.kiev.ua>
To: bnn@softp.kiev.ua
Subject: (fwd) comp.os.msdos.programmer FAQ part 4 of 4
Newsgroups: comp.os.msdos.programmer
Lines: 508
Status: RO

Organization: Communication Systems, Ltd.

Xref: relay1 comp.os.msdos.programmer:4626 news.answers:2713
Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
Path: relay1!csoft!kiae!bitcom!fuug!news.funet.fi!news.tele.fi!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!ncoast!brown
From: brown@NCoast.ORG (Stan Brown)
Subject: comp.os.msdos.programmer FAQ part 4 of 4
Expires: Tue, 25 May 1993 00:36:16 GMT
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Sun, 25 Apr 1993 00:36:16 GMT
Approved: news-answers-request@MIT.Edu
Message-ID: <msdos-faq.930424.4@NCoast.ORG>
Followup-To: comp.os.msdos.programmer
References: <msdos-faq.930424.1@NCoast.ORG>
Supersedes: <msdos-faq.930407.4@NCoast.ORG>
Lines: 491

Archive-name: msdos-programmer-faq/part4
Last-modified: 22 Apr 1993


(continued from part 3)         (no warranty on the code or information)

If the posting date is more than six weeks in the past, see instructions
in part 4 of this list for how to get an updated copy.

Copyright (C) 1993  Stan Brown, Oak Road Systems.  All rights reserved.


section A. Downloads
====================

QA01. What are Simtel, garbo, and wustl?

    (rev: 18 Apr 1993) These are three of the most popular archive
    sites, with a few bazillion files available for downloading by ftp.
    (For email access, see next Q.) Everything is free for downloading,
    though many of the files are shareware and you're expected to send a
    payment directly to the authors if you use them regularly.

    In comp.archives.msdos.d, Samuel Ko posts a two-part "Useful
    MSDOS Programs at SIMTEL20 and Garbo"; it's archived as
        pd1:<msdos.info>useful25.zip at Simtel
        /pc/filelist/useful25.zip at garbo
        /pub/usenet/news.answers/msdos-archive/part* at rtfm.mit.edu.
    For rtfm.mit.edu instructions, see "Where are FAQ lists archived?"
    in section C, "More information".

    A few words about file names:  Many files at the archive sites are
    updated from time to time.  I have verified the filenames in this
    FAQ list as follows:

        garbo: from /pc/INDEX as of 13 Apr 1993
        Simtel: from pd1:<msdos.filedocs>simibm.zip as of 23 Jan 1993
        rtfm.mit.edu: via ftp access on 10 Apr 1993

    If you can't find a file given in these articles as mumble12.zip,
    perhaps there's a newer version; try mumble13.zip or mumble14.zip,
    or mumble*.zip if your ftp program supports wildcards (and most do).
    Please let me know of any out-of-date file names in these FAQs and
    I'll gladly update them.

    Also remember that caps and lower case filenames are not inter-
    changeable at most archive sites, though they are at Simtel.

    1) Simtel = wsmr-simtel20.army.mil [192.88.110.20]

    is located in North America.  For instructions, see these monthly
    articles in comp.archives.msdos.announce:

        SIMTEL20 archives info for Internet FTP users
        How to find files in the SIMTEL20 msdos collection
        How to order SIMTEL20 files via e-mail
        How to upload files to SIMTEL20

    These files are at Simtel as pd1:<msdos.starter>simtel20.inf and
    pd1:<msdos.filedocs>aaaread.me, mailserv.inf, and upload.inf.

    If Simtel is busy, you might try the mirror site oak.oakland.edu,
    which is operated by the University of Rochester (Michigan).  Both
    are maintained by Keith Petersen (w8sdz@TACOM-EMH1.Army.Mil or
    w8sdz@Vela.ACS.Oakland.Edu), so oak will probably be updated faster
    than any other mirror.  At Oak, the directories /pub/msdos/*
    correspond to Simtel's pd1:<msdos.*>, so the starter files mentioned
    above are /pub/msdos/starter/simtel20.inf and
    /pub/msdos/filedocs/aaaread.me, mailserv.inf, and upload.inf.

    2) garbo = garbo.uwasa.fi [128.214.87.1]

    is located at the University of Vaasa in Finland and maintained by
    Timo Salmi (ts@uwasa.fi).  garbo and Simtel contain many of the same
    files, but there are many differences too.  Among them:  the
    directory structures differ greatly, and case is significant in
    directory and file names at garbo.

    3) wustl = wuarchive.wustl.edu [128.252.135.4]

    mirrors both garbo (in /mirrors4/garbo.uwasa.fi) and Simtel (in
    /mirrors/msdos).  As with any mirror site, it may lag by a day or
    two, so you may not want to try it on the same day you see an upload
    notice posted.

    4) archie.au via Telnet

    Oceanian users should try archie.au first.  (This is different from
    the Archie file-finding mail servers.)  Paul Brooks has written to
    say that it "mirrors garbo and simtel-20 (in /micros/pc/simtel-20,
    /micros/pc/garbo) as well as many other archives.  Telnetting to
    'archie.au' and logging on as 'archie' (no password) will access the
    Oceanic ARCHIE server." Email Craig Warren (ccw@archie.au) for
    instructions if needed.

QA02. I have no ftp access.  How can I get files from the archives?

    (new: 2 Feb 1993) First, be _sure_ that you have no ftp access
    before trying email methods.  (Ask your sysadmin, or a knowledgeable
    user at your site.)  ftp is better for you because it's faster, and
    it uses less net resources too.

    When using an email server, make sure the Reply-to path in your
    message is valid.  If it's not, you'll get no reply from the server.
    Do wait a few days before assuming you're not going to get a
    response; some servers have long pending queues.  After a suitable
    wait, get your sysadmin's help to correct your reply-to, and send
    your message again.

    Occasionally a machine goes down for an extended period, which may
    prevent a timely reply to your message.  If you're sure your message
    bears a good reply path and you haven't got a reply in a week or so,
    you might send your message again, once.  Don't post it as an
    article in a newsgroup.

    For files from Simtel, see "How to order SIMTEL20 files via e-mail",
    posted monthly in comp.archives.msdos.announce; or send email
    containing only the word "help" to listserv@vm1.nodak.edu.

    The DEC Western Research Labs server will get files from any ftp
    site by ftp and then email them to you.  Send email containing
    "help" to ftpmail@decwrl.dec.com.

QA03. Can I get archives on CD-ROM?

    (rev: 11 Apr 1993) Copies of the SIMTEL20 MS-DOS, Macintosh and
    Unix-C collections (also of wuarchive and cica) are available from
    Walnut Creek CDROM, 1547 Palos Verdes, Suite 260, Walnut Creek, CA
    94596-2228, telephone (800) 786-9907 or +1 510 947-5996, or FAX +1
    510 947-1644, or email rab@cdrom.com.

QA04. Where do I find program <mumble>?

    (rev: 2 Feb 1993) There are several newsgroups to help;
    comp.binaries.ibm.pc.wanted is generally the best place to ask your
    question.  Please review the guidelines in "What other newsgroups
    should I know about?" in section 1, "General questions".

    Download and check the indexes from Simtel and garbo (see next Q).
    Unless what you're looking for is commercial software, there's a
    good chance it will be at one or both of those sites.

    The Archie servers maintain directories of many (not all) ftp sites
    worldwide.  You can Telnet to a server or client to search for
    files, or perform a search by email.  See the Anonymous FTP List,
    posted periodically in news.answers and other groups, for a list of
    Archie servers.

QA05. How can I check Simtel or garbo before I post a request for a
      program?

    (rev: 2 Feb 1993) Simtel and garbo have indexes of their contents,
    which you can download and then search off line.

    garbo's index file, /pc/INDEX, is an annotated list, frequently
    updated, of the MS-DOS files there; to save download time, get the
    packed form /pc/INDEX.ZIP.  The news file, /pc/pd2/news-pd2 contains
    selected news on all MS-DOS directories at garbo.

    Simtel's index files, in pd1:<msdos.filedocs>, are updated several
    times a month.  SIMLIST.ZIP contains a list in text format.  But you
    may prefer the file SIMIBM.ZIP, which is comma-delimited for easy
    use with any of these search facilities:

    - Two search programs are SIMTEL35.ARC and SIMDIR22.ZIP.  Of the
      two, I find I use SIMDIR much more often.

    - dBASE III or IV users can load the index from SIMLIST.ZIP using
      instructions in SIMIBM.INF and SIMIBM.DB3.

    - PC-FILE users should get SIMIBM.HDR, which tells how to use
      SIMIBM.IBM.

QA06. How do I download and decode a program I found?

    (rev: 16 Mar 1993) See the "starter kit" in comp.binaries.ibm.pc,
    usually posted on the first and 15th of every month.  Most binaries
    are posted and sent through email in 'uuencode' format.  The starter
    kit contains a uudecode program to turn this file back into binary.

    If you can't wait (if?, bwaa-haa-haa), you can get the starter kit
    via ftp or email from rtfm.mit.edu, in the directory
    /pub/usenet/comp.binaries.ibm.pc as files
        v21inf02:_s.k,_C_S_s_K_v1.9.1_(p_01_01)
        v21inf04:_b.m,_B_s_G_t_B_V1.3_(p_01_01)
    For general instructions on rtfm.mit.edu, see "Where are FAQ lists
    archived?" in section C, "More information".

    If you're using Kermit, remember to set file type binary before
    issuing the send command.  By the way, the uuencoded file is bigger
    than the binary, so you'll save connect time if you can uudecode it
    and then download the binary file.

QA07. Where is UUDECODE?

    You can find it in Simtel, but it's easier to take it from the
    "starter kit" mentioned in the preceding Q.

    If you're logged in at a Unix site, there's almost certainly a
    uudecode there:  just type "uudecode" followed by a space and the
    file name.  The binary file is 25% smaller than the uuencoded file,
    so you'll save connect time if you can uudecode it on the Unix host
    and then download the binary file.  Remember: set file type binary.

QA08. Why do I get errors when extracting from a ZIP file I downloaded?

    (rev: 5 Apr 1993) There are many possible causes, but two of them
    probably account for 95% of all problems.

    1) File transmission:  You must tell the archive site to transfer
    .ZIP files in binary mode.  Depending on your software, you may also
    need to set your local software to receive files in binary mode.

    2) Unzipping program:  Make sure you aren't using an obsolete
    version.  In <9303290853.kp28285@tacom-emh1.army.mil> on 29 Mar
    1993, Keith Petersen, Simtel administrator, wrote:  "SIMTEL20 has
    standardized on the Info-ZIP group's ZIP and UNZIP because they are
    freely distributable and they have no restrictions on exporting.
    The latest version of Info-ZIP's ZIP and UNZIP can always be found
    in directory PD1:<MSDOS.ZIP> and will always have the name
    'Info-ZIP' in the description to make them easy to locate."  PKUNZIP
    version 1.10 may not unzip newer stuff from archive sites because
    site administrators have now embraced version 2.04.  Also see
    "What's the current version of UNZIP?" in section B, "Vendors and
    products".

section B. Vendors and products
===============================

QB01. How can I contact Borland?

    (rev: 18 Apr 1993)  Borland has set up these email addresses.
    However, none of them is for technical support such as help with
    finding your own programming errors and explaining compiler
    messages.

    - bp7-info@borland.com will reply to any message with 17K of info on
      Borland Pascal with Objects 7.0 and Turbo Pascal 7.0.

    - customer-support@borland.com is for questions about prices and
      features of products, replacing bad or missing disks, info on
      upgrades, etc.  They do not accept emailed credit-card numbers.

    - bugs@borland.com will take "a well-documented bug report" and send
      an automated response, but will not give you a workaround or a
      scheduled fix date or even confirm that it is or is not considered
      a bug.  "The purpose of bugs@borland.com is to improve future
      products sooner, not as a substitute for tech support channels."

    Tech support is provided through Compuserve (GO BOR), by voice phone
    at +1 408 438 5300, by FAX at (800) 822-4269 in U.S. (use Touch-Tone
    voice phone), on a BBS at +1 408 439 9096, and by mail at

        Technical Support Department
        Borland International
        P.O. Box 660001
        Scotts Valley CA 95067-0001, USA.

    You'll need to give your product's name, version, and serial number.

    Borland's TechFax documents are also available for download:
        pd1:<msdos.turbo-c>bchelp10.zip from Simltel
        /pc/turbopas/bchelp10.zip from garbo.
    These documents are detailed answers to common questions about Turbo
    C and Borland C products, and aggregate about four times the size of
    this file.

QB02. How can I contact Microsoft?

    (rev: 18 Apr 1993) Individual employees of Microsoft (not MicroSoft,
    please!) post here sometimes.  Their addresses all take the form
    person@microsoft.com.  However, Microsoft as a company does not
    provide product support through the Internet, as far as I'm aware.
    Technical support through your modem is available on Compuserve (GO
    MICROSOFT) or via Microsoft's BBS at +1 206 936-6735 in the U.S., or
    +1 416 507-3022 in Canada.

    If you want to place an order or get general pre-sales information,
    call the appropriate sales and service number:

        U.S. end-user sales                   (800) 426-9400
        U.S. corporate/gov't/reseller/
                 educational sales            (800) 227-4679
        Canadian sales                        (800) 568-3503
        International sales                  +1 206 936-8661

    For tech support you must make an ordinary long-distance phone call.
    Microsoft has separate incoming phone numbers for many products.
    Since it's your nickel, first check your documentation to see if a
    phone number is listed.  Here are phone numbers (as of 1 June 1992)
    for a few products of most interest to the readers of this group:

        C/C++               (206) 635-7007
        MASM                (206) 646-5109
        DOS Upgrade Users   (206) 646-5104 (for 90 days after first call)
        Windows Users       (206) 637-6098

    If you can't find the direct number any other way, call the "master"
    numbers below or the sales numbers a few paragraphs above.  You'll
    get the "voice mail phone tree from h-ll" but you'll eventually get
    to the right department.  They don't provide technical assistance,
    but a voice menu will help you find the current phone number for the
    department you need.

        U.S. end-user product support         (206) 454-2030
        U.S. languages support                (206) 637-7096

    You can also write to Microsoft Product Support, 16011 NE 36th Way,
    Box 97017, Redmond WA 98073-9717, USA.

QB03. What's the current version of UNZIP?

    (rev: 18 Apr 1993)  As of April 1993, the administrators of garbo
    and Simtel are accepting uploads in the ZIP 2.0 format.  You can use
    the free Info-ZIP versions, or PKZIP 2.04g (not 2.04c or 2.04e).
    Simtel has standardized on the Info-ZIP versions for several
    reasons, as explained in an article posted 29 Mar 1993 in
    comp.archives.msdos.announce.

    The official site for the latest versions of Info-ZIP's Zip and
    unZip programs is quest.jpl.nasa.gov [128.129.75.43] in directory
    /pub.  Also available at Simtel in directory pd1:<msdos.zip>, and at
    garbo in /pc/arcers, are:

        unz50p1.exe   UnZip 5.0p1 program and documentation
        unz50p1.zip   UnZip 5.0p1 source code
        zip19p1x.zip  Zip 1.9p1 .EXEs and docs (PKZIP 2.04 compatible)
        zip19p1.zip   Zip 1.9p1 source code (PKZIP 2.04 compatible)

    An advantage of the Info-ZIP versions is that are not restricted to
    MS-DOS.  Look at quest.jpl.nasa.gov for versions for all supported
    operating systems.  At Simtel, look in pd8:<misc.unix> and
    pd8:<misc.vaxvms> for unix and VAX/VMS versions; the source code in
    pd8:<misc.unix> also compiles under MS-DOS and VAX/VMS.

    PKZIP and PKUNZIP are shareware products of PKWARE Inc.  The current
    version is 2.04g, which is the third official version after 1.10.
    You can download them from PKWARE's bulletin board, +1 414 354 8670,
    or from garbo as /pc/arcers/pkz204g.exe.  U.S. law forbids U.S.
    archive sites from making them available.

    By the way, if you want to develop your own utilities, you will find
    the ZIP 2.0 data structures described in pd1:<msdos.zip>appnote.zip
    at Simtel.

QB04. What's in Borland Pascal/Turbo Pascal 7.0?

    You can send email to bp7-info@borland.com and get an automatic
    reply of the 17K information file from Borland, or you can ftp
    the same think (6k, ZIPped) as /pc/turbopas/bp7-info.zip from
    garbo.uwasa.fi.

QB05. What's in Microsoft C/C++ 7.0?

    (rev: 2 Feb 1993) The current rev is 7.0b, and includes the Windows
    3.1 SDK.  The "upgrade" version ($139 from Microsoft and a few
    vendors) is identical to the full version (about $300 on the street)
    except that the upgrade doesn't include printed docs for the SDK.

section C. More information
===========================

QC01. Are there any good on-line references for PC hardware components?

    (rev: 18 Apr 1993) I have heard good reports of HELPPC21:
        pd1:<msdos.info>helppc21.zip at Simtel
        /pc/programming/helppc21.zip at garbo.
    There's an info file in the same directory, helppc21.inf.

    This hypertext system contains much information on ports and other
    hardware, as well as some overlap with Ralf Brown's interrupt list
    (see next Q).  It is shareware ($25).

QC02. Are there any good on-line references for PC interrupts?

    (rev: 18 Apr 1993)  The definitive work is Ralf Brown's interrupt
    list, which is packed with information on documented and
    (officially) undocumented BIOS and DOS interrupts, DOS tables, and
    interrupts hooked by many software packages.

    The interrupt list comes from CS.CMU.EDU [128.2.222.173] in
    /afs/cs/user/ralf/pub (switch there with a *single* command) as
    inter34a.zip, inter34b.zip, and inter34c.zip.  Or download it as
        pd1:<msdos.info>inter34*.zip from Simtel
        /pc/programming/inter34*.zip from garbo.
    These versions were uploaded in early April 1993; updates are
    announced every few months in comp.archives.msdos.announce.

    If you'd rather not download the list, you can get it in book form,
    split up by subject, as {PC Interrupts:  A Programmer's Reference to
    BIOS, DOS, and Third-Party Calls} by Ralf Brown and Jim Kyle
    (Addison-Wesley; ISBN 0-201-57797-6).  This corresponds to INTER26
    with the most important new material from INTER27, so the on-line
    list contains more current information than the book.  (The on-line
    list has also grown quite a lot since the book was published.)

QC03. What and where is "Ralf Brown's interrupt list"?

    See the preceding Q.

QC04. Where can I find lex, yacc, and language grammars?

    The FAQ list of the comp.compilers newsgroup answers this for Basic,
    C, Pascal, and other languages.  See later in this section.

QC05. What's the best book to learn programming?

    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 my
    observation is that 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.

QC06. Where are FAQ lists archived?

    (rev: 18 Apr 1993) 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
    expiry times than other groups.

    To ftp the FAQ lists, connect to rtfm.mit.edu [18.172.1.27], which
    is operated by Jonathan Kamens (jik@mit.edu) at MIT.  Change to
    directory /pub/usenet/news.answers.  The name of the file that you
    want is the Archive-name from the top of the article.  For instance,
    to retrieve this article you would get msdos-programmer-faq/part4.

    By email (only if you have no ftp access, please), the server is
    mail-server@rtfm.mit.edu; file names omit the leading "/pub/".  For
    instructions about the mail server, send a message with "help" and
    "index" on different lines.

    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;
    rtfm.mit.edu stores it under that name in /pub/usenet/news.answers.
    If the article has no Archive-name, check the first name on the
    Newsgroups line and change to that directory under /pub/usenet.

QC07. Where can I get the latest copy of this FAQ list?

    (rev: 22 Apr 1993)  It is posted to news.answers in such a way that
    it should stick around until the next version has been posted.
    Please check news.answers or comp.answers first, looking for the
    Subject line "comp.os.msdos.programmer FAQ".

    If the article has expired from your site's news.answers, or your
    site doesn't get news.answers, you can retrieve the latest version
    of this list as
        /pub/usenet/news.answers/msdos-programmer-faq/part* via ftp or
            email from rtfm.mit.edu; see previous Q
        pd1:<msdos.info>faqp*.zip from Simtel
        /pc/doc-net/faqp*.zip from garbo.

QC08. How do I use ftp?

    (new: 16 Mar 1993) I have been much impressed with {The Whole
    Internet User's Guide and Catalog} by Ed Krol (O'Reilly &
    Associates, ISBN 1-56592-025-2).  It gives lots of information on
    using ftp, email, Telnet, Archie, etc.  As a new user of ftp
    (January 1993), I found the information made me productive quickly.

    Disclosure:  Though I don't believe it has biased my judgment, you
    should know that O'Reilly sent me a free evaluation copy.

    You may also want to look for the "Beginner's Guide to FTP", posted
    periodically in comp.binaries.ibm.pc.  You can retrieve it from
    rtfm.mit.edu (see "Where are FAQ lists archived?", above), in
    /pub/usenet/comp.binaries.ibm.pc, as (hang on!)
    v21inf05:_b.m,_B_s_G_t_F_V1.7_(p_01_01) .

(end of comp.os.msdos.programmer FAQ)
-- 
Stan Brown, Oak Road Systems                    brown@Ncoast.ORG
"Well, I draw a few distinctions, I clarify a few concepts.  It's a
living."  --attributed to philosopher Sidney Morgenbesser


From wheel.cs.kiev.ua!relay1!relay1.cs.kiev.ua!bnn%relay1.cs.kiev.ua Tue May 25 10:25:56 1993
Received: by softp.kiev.ua (UUPC/@ v5.00gamma, 07Nov92);
          Tue, 25 May 1993 10:25:56 +0300
Received: by wheel.cs.kiev.ua; Mon, 24 May 93 21:31:12 +0300
Received: by relay1.cs.kiev.ua (messed up sendmail); Mon, 24 May 93 21:02:12 UKR
From: bnn@relay1.cs.kiev.ua (Nick Bezrukov)
Date: Mon, 24 May 93 21:02:12 UKR
Message-Id: <9305241802.AA02020@relay1.cs.kiev.ua>
To: bnn@softp.kiev.ua
Subject: (fwd) comp.os.msdos.programmer FAQ part 1 of 4
Newsgroups: comp.os.msdos.programmer
Lines: 222
Status: RO

Organization: Communication Systems, Ltd.

Xref: relay1 comp.os.msdos.programmer:5171 news.answers:3244
Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
Path: relay1!csoft!kiae!bitcom!fuug!news.funet.fi!news.tele.fi!uunet!noc.near.net!howland.reston.ans.net!usenet.ins.cwru.edu!ncoast!brown
From: brown@NCoast.ORG (Stan Brown)
Subject: comp.os.msdos.programmer FAQ part 1 of 4
Expires: Sat, 12 Jun 1993 13:14:08 GMT
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Thu, 13 May 1993 13:14:08 GMT
Approved: news-answers-request@MIT.Edu
Message-ID: <msdos-faq.930513.1@NCoast.ORG>
Followup-To: comp.os.msdos.programmer
References: none
Supersedes: <msdos-faq.930422.1@NCoast.ORG>
Lines: 205

Archive-name: msdos-programmer-faq/part1
Last modified: 13 May 1993


This is the FAQ list (Frequently Asked Questions list) for the newsgroup
comp.os.msdos.programmer.  Parts 2 through 4 of this article are posted
as followups in the same thread.  Starting 2 Feb 1993, I mark new and
revised answers with "new:" or "rev:" and the change date.

If the posting date shown above is more than four weeks in the past, see
instructions in part 4 of this list for how to get an updated copy.  (A
separate article, posted before this one, holds the changes from the
previous edition.  Look for the subject line "comp.os.msdos.programmer
FAQ diffs".)

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 follow the table of contents.  If you know a better answer
or even a slight change that improves an answer, please tell me!  (Use
email, please.  Traffic in this group is high, and I may miss a relevant
posted article.)
                      Stan Brown, Oak Road Systems, Cleveland, Ohio, USA
                                                        brown@ncoast.org

Search tips
===========
    To search for specific topics:  See the list of questions in the
Contents section (immediately below) to find which article (part 2, 3,
or 4) you need.  Then, in that part, search for that question number.
For example, while you're reading part 2 of this list, the trn
newsreader command "gQ203" goes to Q203.
    To skip one topic and go to the next:  Search for "Q" starting in
column 1.  In trn and similar newsreaders, the command "g^Q" does that.
    If your newsreader doesn't support searches, you can extract these
articles to a file and use your favorite editor's search commands.


Contents--part 2 of 4
=====================
section 1. General questions
    101. Why won't my code work?
    102. What is this newsgroup about?
    103. What's the difference from comp.sys.ibm.pc.programmer?
    104. Is comp.os.msdos.programmer available as a mailing list?
    105. What other newsgroups should I know about?
section 2. Compile and link
    201. What the heck is "DGROUP > 64K"?
    202. How do I fix "automatic data segment exceeds 64K" or "stack
         plus data exceed 64K"?
    203. Will Borland C code and Microsoft C code link together?
    204. Why did my program bomb at run time with "floating point
         formats not linked"?
    205. Why did my program bomb with "floating point not loaded"?
    206. How can I change the stack size in Borland's C compilers?
    207. What's the format of an .OBJ file?
    208. What's the format of an .EXE header?
    209. What's the difference between .COM and .EXE formats?
section 3. Keyboard
    301. How can I read a character without echoing it to the screen,
         and without waiting for the user to press the Enter key?
    302. How can I find out whether a character has been typed, without
         waiting for one?
    303. How can I disable Ctrl-C/Ctrl-Break and/or Ctrl-Alt-Del?
    304. How can I disable the print screen function?
    305. How can my program turn NumLock (CapsLock, ScrollLock) on/off?
    306. How can I speed up the keyboard's auto-repeat?
    307. What is the SysRq key for?
    308. How can my program tell what kind of keyboard is on the system?
    309. How can I tell if input, output, or stderr has been redirected?
    310. How can I increase the size of the keyboard buffer?


Contents--part 3 of 4
=====================
section 4. Disks and files
    401. What drive was the PC booted from?
    402. How can I boot from drive b:?
    403. Which real and virtual disk drives are valid?
    404. How can I make my single floppy drive both a: and b:?
    405. Why won't my C program open a file with a path?
    406. How can I redirect printer output to a file?
    407. How can my program open more files than DOS's limit of 20?
    408. How can I read, create, change, or delete the volume label?
    409. How can I get the disk serial number?
    410. What's the format of .OBJ, .EXE., .COM files?
    411. How can I flush the software disk cache?
section 5. Serial ports (COM ports)
    501. How do I set my machine up to use COM3 and COM4?
    502. How do I find the I/O address of a COM port?
    503. But aren't the COM ports always at I/O addresses 3F8, 2F8, 3E8,
         and 2E8?
    504. How do I configure a COM port and use it to transmit data?
section 6. Other hardware questions and problems
    601. Which 80x86 CPU is running my program?
    602. How can a C program send control codes to my printer?
    603. How can I redirect printer output to a file?
    604. Which video adapter is installed?
    605. How do I switch to 43- or 50-line mode?
    606. How can I find the Microsoft mouse position and button status?
    607. How can I access a specific address in the PC's memory?
    608. How can I read or write my PC's CMOS memory?
    609. How can I access memory beyond 640K?
    610. Where can I find a list of 80x86 opcodes?
section 7. Other software questions and problems
    701. How can a program reboot my PC?
    702. How can I time events with finer resolution than the system
         clock's 55 ms (about 18 ticks a second)?
    703. How can I find the error level of the previous program?
    704. How can a program set DOS environment variables?
    705. How can I change the switch character to - from /?
    706. Why does my interrupt function behave strangely?
    707. How can I write a TSR (terminate-stay-resident) utility?
    708. How can I write a device driver?
    709. What can I use to manage versions of software?
    710. What's this "null pointer assignment" after my C program
         executes?
    711. How can my program tell if it's running under Windows?
    712. How do I copyright software that I write?


Contents--part 4 of 4
=====================
section A. Downloading
    A01. What are Simtel, garbo, and wustl?
    A02. I have no ftp access.  How can I get files from the archives?
    A03. Can I get archives on CD-ROM?
    A04. Where do I find program <mumble>?
    A05. How can I check Simtel or garbo before I post a request for a
         program?
    A06. How do I download and decode a program I found?
    A07. Where is UUDECODE?
    A08. Why do I get errors when extracting from a ZIP file I
         downloaded?
section B. Vendors and products
    B01. How can I contact Borland?
    B02. How can I contact Microsoft?
    B03. What's the current version of UNZIP?
    B04. What's in Borland Pascal/Turbo Pascal 7.0?
    B05. What's in Microsoft C/C++ 7.0?
section C. More information
    C01. Are there any good on-line references for PC hardware
         components?
    C02. Are there any good on-line references for PC interrupts?
    C03. What and where is "Ralf Brown's interrupt list"?
    C04. Where can I find lex, yacc, and language grammars?
    C05. What's the best book to learn programming?
    C06. Where are FAQ lists archived?
    C07. Where can I get the latest copy of this FAQ list?
    C08. How do I use ftp?


Acknowledgements
================
Many articles posted in comp.os.msdos.programmer sparked ideas or
provided information for the first version of this list.  Though I am
responsible for any errors, thanks are due to the following for posted
articles or private email that I used in subsequent editions:  Jamshid
Afshar, Mark Aitchison, Sanjay Aiyagari, George Almasi, Aaron Auseth,
Preston Bannister, Denis Beauregard, Mike Black, Glynn Brooks, Paul
Brooks, Ralf Brown, Shaun Burnett, Raymond Chen, Alan Drew, Paul
Ducklin, Gary Dueck, Roland Eriksson, Markus Fischer, George Forsman,
Vincent Giovannone, B.Haible, Janos Haide, Klaus Hartnegg, Kris
Heidenstrom, Tom Haapanen, Joel Hoffman, Joe Huffman, Michael Holin,
Mike Iarrobino, Byrial Jensen, Rune Jorgensen, Ajay Kamdar, Everett
Kaser, Jeff Kellam, Jen Kilmer, Reinhard Kirchner, Dave Kirsch, Samuel
Ko, Benjamin Lee, Sidney Markowitz, Jim Marks, Dimitri Matzarakis, Fred
McCall, Ken McKee, Tom Milner, Bill Moore, Duncan Murdoch, Steve Murphy,
Mert Nickerson, David Nugent, John Oldenburg, David Pape, Keith
Petersen, Karl Riedling, Arthur Rubin, Gerald Ruderman, Timo Salmi,
Tapio Sand, John Schmid, Russell Schulz, Ajay Shah, Steve Summit, Tom
Swingle, Anders Thulin, Curt Tilmes, Rick Watkins, Ya-Gui Wei, Joe
Wells, Gregory Youngblood, khill@vax1.umkc.edu

New contributors this issue: Benjamin Lee, Bill Moore, Rick Watkins,
Steve Summit


Legalistic stuff
================
This article is not in the public domain, but it may be redistributed so
long as this notice, the acknowledgements, 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 would be polite.

Copyright (C) 1993  Stan Brown, Oak Road Systems.  All rights reserved.

THERE IS NO WARRANTY ON THE CODE.  I have tested all the code included
below, but your machine may not work the same as mine, and my testing
may not be perfect.  (Except where otherwise noted, I tested the code
with both BC++ 2.0 and MSC 5.0.)

The mention of particular books or programs must not be construed to
reflect unfavorably on any that are not mentioned.


(continued in part 2)
-- 
Stan Brown, Oak Road Systems                    brown@Ncoast.ORG
"Well, all in all, life's not that bad, once you get over the
disappointment that it stinks." --Rich Orloff, {The Whole Shebang}


From wheel.cs.kiev.ua!relay1!relay1.cs.kiev.ua!bnn%relay1.cs.kiev.ua Tue May 25 10:25:57 1993
Received: by softp.kiev.ua (UUPC/@ v5.00gamma, 07Nov92);
          Tue, 25 May 1993 10:25:57 +0300
Received: by wheel.cs.kiev.ua; Mon, 24 May 93 21:31:12 +0300
Received: by relay1.cs.kiev.ua (messed up sendmail); Mon, 24 May 93 21:02:39 UKR
From: bnn@relay1.cs.kiev.ua (Nick Bezrukov)
Date: Mon, 24 May 93 21:02:39 UKR
Message-Id: <9305241802.AA02056@relay1.cs.kiev.ua>
To: bnn@softp.kiev.ua
Subject: (fwd) comp.os.msdos.programmer FAQ part 4 of 4
Newsgroups: comp.os.msdos.programmer
Lines: 509
Status: RO

Organization: Communication Systems, Ltd.

Xref: relay1 comp.os.msdos.programmer:5173 news.answers:3246
Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
Path: relay1!csoft!kiae!bitcom!fuug!news.funet.fi!news.tele.fi!uunet!gatech!usenet.ins.cwru.edu!ncoast!brown
From: brown@NCoast.ORG (Stan Brown)
Subject: comp.os.msdos.programmer FAQ part 4 of 4
Expires: Sat, 12 Jun 1993 13:14:20 GMT
Organization: Oak Road Systems, Cleveland Ohio USA
Date: Thu, 13 May 1993 13:14:20 GMT
Approved: news-answers-request@MIT.Edu
Message-ID: <msdos-faq.930513.4@NCoast.ORG>
Followup-To: comp.os.msdos.programmer
References: <msdos-faq.930513.3@NCoast.ORG>
Supersedes: <msdos-faq.930422.4@NCoast.ORG>
Lines: 492

Archive-name: msdos-programmer-faq/part4
Last-modified: 13 May 1993


(continued from part 3)         (no warranty on the code or information)

If the posting date is more than six weeks in the past, see instructions
in part 4 of this list for how to get an updated copy.

Copyright (C) 1993  Stan Brown, Oak Road Systems.  All rights reserved.


section A. Downloads
====================

QA01. What are Simtel, garbo, and wustl?

    (rev: 2 May 1993) These are three of the most popular archive
    sites, with a few bazillion files available for downloading by ftp.
    (For email access, see next Q.)  Everything is free for downloading,
    though many of the files are shareware and you're expected to send a
    payment directly to the authors if you use them regularly.

    In comp.archives.msdos.d, Samuel Ko posts a two-part "Useful
    MSDOS Programs at SIMTEL20 and Garbo"; it's archived as
        pd1:<msdos.info>useful26.zip at Simtel
        /pc/filelist/useful26.zip at garbo
        /pub/usenet/news.answers/msdos-archives/part* at rtfm.mit.edu.
    For rtfm.mit.edu instructions, see "Where are FAQ lists archived?"
    in section C, "More information".

    A few words about file names:  Many files at the archive sites are
    updated from time to time.  I have verified the filenames in this
    FAQ list as follows:

        garbo: from /pc/INDEX as of 13 Apr 1993
        Simtel: from pd1:<msdos.filedocs>simibm.zip as of 23 Jan 1993
        rtfm.mit.edu: via ftp access on 10 Apr 1993

    If you can't find a file given in these articles as mumble12.zip,
    perhaps there's a newer version; try mumble13.zip or mumble14.zip,
    or mumble*.zip if your ftp program supports wildcards (and most do).
    Please let me know of any out-of-date file names in these FAQs and
    I'll gladly update them.

    Also remember that caps and lower case filenames are not inter-
    changeable at most archive sites, though they are at Simtel.

    1) Simtel = wsmr-simtel20.army.mil [192.88.110.20]

    is located in New Mexico, USA.  For instructions, see these monthly
    articles in comp.archives.msdos.announce:

        SIMTEL20 archives info for Internet FTP users
        How to find files in the SIMTEL20 msdos collection
        How to order SIMTEL20 files via e-mail
        How to upload files to SIMTEL20

    These files are at Simtel as pd1:<msdos.starter>simtel20.inf and
    pd1:<msdos.filedocs>aaaread.me, mailserv.inf, and upload.inf.

    If Simtel is busy, you might try the mirror site oak.oakland.edu,
    which is operated by the University of Rochester (Michigan).  Both
    are maintained by Keith Petersen (w8sdz@TACOM-EMH1.Army.Mil or
    w8sdz@Vela.ACS.Oakland.Edu), so oak will probably be updated faster
    than any other mirror.  At Oak, the directories /pub/msdos/*
    correspond to Simtel's pd1:<msdos.*>, so the starter files mentioned
    above are /pub/msdos/starter/simtel20.inf and
    /pub/msdos/filedocs/aaaread.me, mailserv.inf, and upload.inf.

    2) garbo = garbo.uwasa.fi [128.214.87.1]

    is located at the University of Vaasa in Finland and maintained by
    Timo Salmi (ts@uwasa.fi).  garbo and Simtel contain many of the same
    files, but there are many differences too.  Among them:  the
    directory structures differ greatly, and case is significant in
    directory and file names at garbo.

    3) wustl = wuarchive.wustl.edu [128.252.135.4]

    mirrors both garbo (in /mirrors4/garbo.uwasa.fi) and Simtel (in
    /mirrors/msdos).  As with any mirror site, it may lag by a day or
    two, so you may not want to try it on the same day you see an upload
    notice posted.

    4) archie.au via Telnet

    Oceanian users should try archie.au first.  (This is different from
    the Archie file-finding mail servers.)  Paul Brooks has written to
    say that it "mirrors garbo and simtel-20 (in /micros/pc/simtel-20,
    /micros/pc/garbo) as well as many other archives.  Telnetting to
    'archie.au' and logging on as 'archie' (no password) will access the
    Oceanic ARCHIE server." Email Craig Warren (ccw@archie.au) for
    instructions if needed.

QA02. I have no ftp access.  How can I get files from the archives?

    (new: 2 Feb 1993) First, be _sure_ that you have no ftp access
    before trying email methods.  (Ask your sysadmin, or a knowledgeable
    user at your site.)  ftp is better for you because it's faster, and
    it uses less net resources too.

    When using an email server, make sure the Reply-to path in your
    message is valid.  If it's not, you'll get no reply from the server.
    Do wait a few days before assuming you're not going to get a
    response; some servers have long pending queues.  After a suitable
    wait, get your sysadmin's help to correct your reply-to, and send
    your message again.

    Occasionally a machine goes down for an extended period, which may
    prevent a timely reply to your message.  If you're sure your message
    bears a good reply path and you haven't got a reply in a week or so,
    you might send your message again, once.  Don't post it as an
    article in a newsgroup.

    For files from Simtel, see "How to order SIMTEL20 files via e-mail",
    posted monthly in comp.archives.msdos.announce; or send email
    containing only the word "help" to listserv@vm1.nodak.edu.

    The DEC Western Research Labs server will get files from any ftp
    site by ftp and then email them to you.  Send email containing
    "help" to ftpmail@decwrl.dec.com.

QA03. Can I get archives on CD-ROM?

    (rev: 11 Apr 1993) Copies of the SIMTEL20 MS-DOS, Macintosh and
    Unix-C collections (also of wuarchive and cica) are available from
    Walnut Creek CDROM, 1547 Palos Verdes, Suite 260, Walnut Creek, CA
    94596-2228, telephone (800) 786-9907 or +1 510 947-5996, or FAX +1
    510 947-1644, or email rab@cdrom.com.

QA04. Where do I find program <mumble>?

    (rev: 2 Feb 1993) There are several newsgroups to help;
    comp.binaries.ibm.pc.wanted is generally the best place to ask your
    question.  Please review the guidelines in "What other newsgroups
    should I know about?" in section 1, "General questions".

    Download and check the indexes from Simtel and garbo (see next Q).
    Unless what you're looking for is commercial software, there's a
    good chance it will be at one or both of those sites.

    The Archie servers maintain directories of many (not all) ftp sites
    worldwide.  You can Telnet to a server or client to search for
    files, or perform a search by email.  See the Anonymous FTP List,
    posted periodically in news.answers and other groups, for a list of
    Archie servers.

QA05. How can I check Simtel or garbo before I post a request for a
      program?

    (rev: 2 Feb 1993) Simtel and garbo have indexes of their contents,
    which you can download and then search off line.

    garbo's index file, /pc/INDEX, is an annotated list, frequently
    updated, of the MS-DOS files there; to save download time, get the
    packed form /pc/INDEX.ZIP.  The news file, /pc/pd2/news-pd2 contains
    selected news on all MS-DOS directories at garbo.

    Simtel's index files, in pd1:<msdos.filedocs>, are updated several
    times a month.  SIMLIST.ZIP contains a list in text format.  But you
    may prefer the file SIMIBM.ZIP, which is comma-delimited for easy
    use with any of these search facilities:

    - Two search programs are SIMTEL35.ARC and SIMDIR22.ZIP.  Of the
      two, I find I use SIMDIR much more often.

    - dBASE III or IV users can load the index from SIMLIST.ZIP using
      instructions in SIMIBM.INF and SIMIBM.DB3.

    - PC-FILE users should get SIMIBM.HDR, which tells how to use
      SIMIBM.IBM.

QA06. How do I download and decode a program I found?

    (rev: 16 Mar 1993) See the "starter kit" in comp.binaries.ibm.pc,
    usually posted on the first and 15th of every month.  Most binaries
    are posted and sent through email in 'uuencode' format.  The starter
    kit contains a uudecode program to turn this file back into binary.

    If you can't wait (if?, bwaa-haa-haa), you can get the starter kit
    via ftp or email from rtfm.mit.edu, in the directory
    /pub/usenet/comp.binaries.ibm.pc as files
        v21inf02:_s.k,_C_S_s_K_v1.9.1_(p_01_01)
        v21inf04:_b.m,_B_s_G_t_B_V1.3_(p_01_01)
    For general instructions on rtfm.mit.edu, see "Where are FAQ lists
    archived?" in section C, "More information".

    If you're using Kermit, remember to set file type binary before
    issuing the send command.  By the way, the uuencoded file is bigger
    than the binary, so you'll save connect time if you can uudecode it
    and then download the binary file.

QA07. Where is UUDECODE?

    You can find it in Simtel, but it's easier to take it from the
    "starter kit" mentioned in the preceding Q.

    If you're logged in at a Unix site, there's almost certainly a
    uudecode there:  just type "uudecode" followed by a space and the
    file name.  The binary file is 25% smaller than the uuencoded file,
    so you'll save connect time if you can uudecode it on the Unix host
    and then download the binary file.  Remember: set file type binary.

QA08. Why do I get errors when extracting from a ZIP file I downloaded?

    (rev: 5 Apr 1993) There are many possible causes, but two of them
    probably account for 95% of all problems.

    1) File transmission:  You must tell the archive site to transfer
    .ZIP files in binary mode.  Depending on your software, you may also
    need to set your local software to receive files in binary mode.

    2) Unzipping program:  Make sure you aren't using an obsolete
    version.  In <9303290853.kp28285@tacom-emh1.army.mil> on 29 Mar
    1993, Keith Petersen, Simtel administrator, wrote:  "SIMTEL20 has
    standardized on the Info-ZIP group's ZIP and UNZIP because they are
    freely distributable and they have no restrictions on exporting.
    The latest version of Info-ZIP's ZIP and UNZIP can always be found
    in directory PD1:<MSDOS.ZIP> and will always have the name
    'Info-ZIP' in the description to make them easy to locate."  PKUNZIP
    version 1.10 may not unzip newer stuff from archive sites because
    site administrators have now embraced version 2.04.  Also see
    "What's the current version of UNZIP?" in section B, "Vendors and
    products".

section B. Vendors and products
===============================

QB01. How can I contact Borland?

    (rev: 18 Apr 1993)  Borland has set up these email addresses.
    However, none of them is for technical support such as help with
    finding your own programming errors and explaining compiler
    messages.

    - bp7-info@borland.com will reply to any message with 17K of info on
      Borland Pascal with Objects 7.0 and Turbo Pascal 7.0.

    - customer-support@borland.com is for questions about prices and
      features of products, replacing bad or missing disks, info on
      upgrades, etc.  They do not accept emailed credit-card numbers.

    - bugs@borland.com will take "a well-documented bug report" and send
      an automated response, but will not give you a workaround or a
      scheduled fix date or even confirm that it is or is not considered
      a bug.  "The purpose of bugs@borland.com is to improve future
      products sooner, not as a substitute for tech support channels."

    Tech support is provided through Compuserve (GO BOR), by voice phone
    at +1 408 438 5300, by FAX at (800) 822-4269 in U.S. (use Touch-Tone
    voice phone), on a BBS at +1 408 439 9096, and by mail at

        Technical Support Department
        Borland International
        P.O. Box 660001
        Scotts Valley CA 95067-0001, USA.

    You'll need to give your product's name, version, and serial number.

    Borland's TechFax documents are also available for download:
        pd1:<msdos.turbo-c>bchelp10.zip from Simltel
        /pc/turbopas/bchelp10.zip from garbo.
    These documents are detailed answers to common questions about Turbo
    C and Borland C products, and aggregate about four times the size of
    this file.

QB02. How can I contact Microsoft?

    (rev: 18 Apr 1993) Individual employees of Microsoft (not MicroSoft,
    please!) post here sometimes.  Their addresses all take the form
    person@microsoft.com.  However, Microsoft as a company does not
    provide product support through the Internet, as far as I'm aware.
    Technical support through your modem is available on Compuserve (GO
    MICROSOFT) or via Microsoft's BBS at +1 206 936-6735 in the U.S., or
    +1 416 507-3022 in Canada.

    If you want to place an order or get general pre-sales information,
    call the appropriate sales and service number:

        U.S. end-user sales                   (800) 426-9400
        U.S. corporate/gov't/reseller/
                 educational sales            (800) 227-4679
        Canadian sales                        (800) 568-3503
        International sales                  +1 206 936-8661

    For tech support you must make an ordinary long-distance phone call.
    Microsoft has separate incoming phone numbers for many products.
    Since it's your nickel, first check your documentation to see if a
    phone number is listed.  Here are phone numbers (as of 1 June 1992)
    for a few products of most interest to the readers of this group:

        C/C++               (206) 635-7007
        MASM                (206) 646-5109
        DOS Upgrade Users   (206) 646-5104 (for 90 days after first call)
        Windows Users       (206) 637-6098

    If you can't find the direct number any other way, call the "master"
    numbers below or the sales numbers a few paragraphs above.  You'll
    get the "voice mail phone tree from h-ll" but you'll eventually get
    to the right department.  They don't provide technical assistance,
    but a voice menu will help you find the current phone number for the
    department you need.

        U.S. end-user product support         (206) 454-2030
        U.S. languages support                (206) 637-7096

    You can also write to Microsoft Product Support, 16011 NE 36th Way,
    Box 97017, Redmond WA 98073-9717, USA.

QB03. What's the current version of UNZIP?

    (rev: 18 Apr 1993)  As of April 1993, the administrators of garbo
    and Simtel are accepting uploads in the ZIP 2.0 format.  You can use
    the free Info-ZIP versions, or PKZIP 2.04g (not 2.04c or 2.04e).
    Simtel has standardized on the Info-ZIP versions for several
    reasons, as explained in an article posted 29 Mar 1993 in
    comp.archives.msdos.announce.

    The official site for the latest versions of Info-ZIP's Zip and
    unZip programs is quest.jpl.nasa.gov [128.129.75.43] in directory
    /pub.  Also available at Simtel in directory pd1:<msdos.zip>, and at
    garbo in /pc/arcers, are:

        unz50p1.exe   UnZip 5.0p1 program and documentation
        unz50p1.zip   UnZip 5.0p1 source code
        zip19p1x.zip  Zip 1.9p1 .EXEs and docs (PKZIP 2.04 compatible)
        zip19p1.zip   Zip 1.9p1 source code (PKZIP 2.04 compatible)

    An advantage of the Info-ZIP versions is that are not restricted to
    MS-DOS.  Look at quest.jpl.nasa.gov for versions for all supported
    operating systems.  At Simtel, look in pd8:<misc.unix> and
    pd8:<misc.vaxvms> for unix and VAX/VMS versions; the source code in
    pd8:<misc.unix> also compiles under MS-DOS and VAX/VMS.

    PKZIP and PKUNZIP are shareware products of PKWARE Inc.  The current
    version is 2.04g, which is the third official version after 1.10.
    You can download them from PKWARE's bulletin board, +1 414 354 8670,
    or from garbo as /pc/arcers/pkz204g.exe.  U.S. law forbids U.S.
    archive sites from making them available.

    By the way, if you want to develop your own utilities, you will find
    the ZIP 2.0 data structures described in pd1:<msdos.zip>appnote.zip
    at Simtel.

QB04. What's in Borland Pascal/Turbo Pascal 7.0?

    You can send email to bp7-info@borland.com and get an automatic
    reply of the 17K information file from Borland, or you can ftp
    the same think (6k, ZIPped) as /pc/turbopas/bp7-info.zip from
    garbo.uwasa.fi.

QB05. What's in Microsoft C/C++ 7.0?

    (rev: 2 Feb 1993) The current rev is 7.0b, and includes the Windows
    3.1 SDK.  The "upgrade" version ($139 from Microsoft and a few
    vendors) is identical to the full version (about $300 on the street)
    except that the upgrade doesn't include printed docs for the SDK.

section C. More information
===========================

QC01. Are there any good on-line references for PC hardware components?

    (rev: 18 Apr 1993) I have heard good reports of HELPPC21:
        pd1:<msdos.info>helppc21.zip at Simtel
        /pc/programming/helppc21.zip at garbo.
    There's an info file in the same directory, helppc21.inf.

    This hypertext system contains much information on ports and other
    hardware, as well as some overlap with Ralf Brown's interrupt list
    (see next Q).  It is shareware ($25).

QC02. Are there any good on-line references for PC interrupts?

    (rev: 18 Apr 1993)  The definitive work is Ralf Brown's interrupt
    list, which is packed with information on documented and
    (officially) undocumented BIOS and DOS interrupts, DOS tables, and
    interrupts hooked by many software packages.

    The interrupt list comes from CS.CMU.EDU [128.2.222.173] in
    /afs/cs/user/ralf/pub (switch there with a *single* command) as
    inter34a.zip, inter34b.zip, and inter34c.zip.  Or download it as
        pd1:<msdos.info>inter34*.zip from Simtel
        /pc/programming/inter34*.zip from garbo.
    These versions were uploaded in early April 1993; updates are
    announced every few months in comp.archives.msdos.announce.

    If you'd rather not download the list, you can get it in book form,
    split up by subject, as {PC Interrupts:  A Programmer's Reference to
    BIOS, DOS, and Third-Party Calls} by Ralf Brown and Jim Kyle
    (Addison-Wesley; ISBN 0-201-57797-6).  This corresponds to INTER26
    with the most important new material from INTER27, so the on-line
    list contains more current information than the book.  (The on-line
    list has also grown quite a lot since the book was published.)

QC03. What and where is "Ralf Brown's interrupt list"?

    See the preceding Q.

QC04. Where can I find lex, yacc, and language grammars?

    The FAQ list of the comp.compilers newsgroup answers this for Basic,
    C, Pascal, and other languages.  See later in this section.

QC05. What's the best book to learn programming?

    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 my
    observation is that 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.

QC06. Where are FAQ lists archived?

    (rev: 27 Apr 1993) 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
    expiry times than other groups.

    To ftp the FAQ lists, connect to rtfm.mit.edu [18.70.0.226, though
    that will change in the near future], which is operated by Jonathan
    Kamens (jik@gza.com) at MIT.  Change to directory
    /pub/usenet/news.answers.  The name of the file that you want is the
    Archive-name from the top of the article.  For instance, to retrieve
    this article you would get msdos-programmer-faq/part4.

    By email (only if you have no ftp access, please), the server is
    mail-server@rtfm.mit.edu; file names omit the leading "/pub/".  For
    instructions about the mail server, send a message with "help" and
    "index" on different lines.

    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;
    rtfm.mit.edu stores it under that name in /pub/usenet/news.answers.
    If the article has no Archive-name, check the first name on the
    Newsgroups line and change to that directory under /pub/usenet.

QC07. Where can I get the latest copy of this FAQ list?

    (rev: 22 Apr 1993)  It is posted to news.answers in such a way that
    it should stick around until the next version has been posted.
    Please check news.answers or comp.answers first, looking for the
    Subject line "comp.os.msdos.programmer FAQ".

    If the article has expired from your site's news.answers, or your
    site doesn't get news.answers, you can retrieve the latest version
    of this list as
        /pub/usenet/news.answers/msdos-programmer-faq/part* via ftp or
            email from rtfm.mit.edu; see previous Q
        pd1:<msdos.info>faqp*.zip from Simtel
        /pc/doc-net/faqp*.zip from garbo.

QC08. How do I use ftp?

    (new: 16 Mar 1993) I have been much impressed with {The Whole
    Internet User's Guide and Catalog} by Ed Krol (O'Reilly &
    Associates, ISBN 1-56592-025-2).  It gives lots of information on
    using ftp, email, Telnet, Archie, etc.  As a new user of ftp
    (January 1993), I found the information made me productive quickly.

    Disclosure:  Though I don't believe it has biased my judgment, you
    should know that O'Reilly sent me a free evaluation copy.

    You may also want to look for the "Beginner's Guide to FTP", posted
    periodically in comp.binaries.ibm.pc.  You can retrieve it from
    rtfm.mit.edu (see "Where are FAQ lists archived?", above), in
    /pub/usenet/comp.binaries.ibm.pc, as (hang on!)
    v21inf05:_b.m,_B_s_G_t_F_V1.7_(p_01_01) .

(end of comp.os.msdos.programmer FAQ)
-- 
Stan Brown, Oak Road Systems                    brown@Ncoast.ORG
"Well, all in all, life's not that bad, once you get over the
disappointment that it stinks." --Rich Orloff, {The Whole Shebang}


