
From jeffrey@carlyle.com Mon May  3 19:22:49 1999
From: jeffrey@carlyle.com (Jeffrey Carlyle)
Newsgroups: comp.os.msdos.programmer,alt.msdos.programmer,comp.answers,alt.answers,news.answers
Subject: comp.os.msdos.programmer FAQ part 5/5
Supersedes: <msdos-programmer-faq/part5_919862829@rtfm.mit.edu>
Followup-To: comp.os.msdos.programmer
Date: 23 Apr 1999 13:34:47 GMT
Organization: Jeffrey Carlyle World Domination
Lines: 542
Sender: jeffrey@carlyle.com (Jeffrey Carlyle)
Approved: news-answers-request@MIT.Edu
Expires: 27 May 1999 13:32:46 GMT
Message-ID: <msdos-programmer-faq/part5_924874366@rtfm.mit.edu>
References: <msdos-programmer-faq/part1_924874366@rtfm.mit.edu>
Reply-To: jeffrey@carlyle.com (Jeffrey Carlyle)
NNTP-Posting-Host: penguin-lust.mit.edu
Summary: Frequently asked questions by DOS programmers with tested answers.
X-Last-Updated: 1999/01/05
Originator: faqserv@penguin-lust.MIT.EDU
Path: news.nic.utwente.nl!news.cs.utwente.nl!newshunter!cosy.sbg.ac.at!newsmaster-01.vbs.at!news.datacomm.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!News.Amsterdam.UnisourceCS!masternews.telia.net!news.algonet.se!algonet!news.maxwell.syr.edu!newsfeed.enteract.com!cde.net!sipb-server-1.mit.edu!sipb-server-2.mit.edu!senator-bedfellow.mit.edu!faqserv
Xref: news.nic.utwente.nl comp.os.msdos.programmer:80556 alt.msdos.programmer:38291 comp.answers:32018 alt.answers:37086 news.answers:72406

Archive-name: msdos-programmer-faq/part5
Comp-os-msdos-programmer-archive-name: dos-faq-pt5.txt
Posting-frequency: 56 days
Last-modified: 05 Jan 99


------------------------------

Subject: comp.os.msdos.programmer FAQ
Date: Sun, 03 Jan 99 17:46:33 CST
 
 comp.os.msdos.programmer FAQ Version 1999.01

 This is the Frequently Asked Questions list for the newsgroup
 comp.os.msdos.programmer. This message is part 5 of 5 parts.
 
 Copyright  1999  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.
 

------------------------------

Subject: Table of Contents
Date: Sun, 03 Jan 99 17:46:33 CST
 
=============================
TABLE OF CONTENTS
=============================
 
Part 1: <first file>
  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> - What and where is "Caldera DR-DOS"?
Part 2: <second file>
  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: <third file>
  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?
  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: <fourth file>
  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 to a file?
    <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?
  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?
Part 5: <this file>
  Section 9.  Downloading
    <Q:09.01> - What are SimTel, Garbo, and Wustl?
    <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's the current version of UNZIP?
    <Q:10.04> - What is the phone number for a vendor's BBS?
    <Q:10.05> - What is the current version of DJGPP?
    <Q:10.06> - What and where is DJGPP?
    <Q:10.07> - Are there any good shareware/freeware compilers?
    <Q:10.08> - Is the source code to MS-DOS available?
    <Q:10.09> - What is a vendor's web site address?


------------------------------

Subject: Section 9.  Downloading
Date: Mon, 04 Jan 99 10:55:19 CST

 Where to do it and how to do it.
 

------------------------------

Subject: <Q:09.01> - What are SimTel, Garbo, and Wustl?
Date: Sun, 03 Jan 99 23:55:11 CST

 These  are three of the most popular archive sites, with  a
 few  bazillion files available for free downloading by ftp.
 Many  of  the files  are shareware and you're expected to send
 a payment directly to the authors if you use them regularly.
 
 SimTel can be found at:
   <http://www.simtel.net>
   <ftp://ftp.simtel.net/pub/simtelnet>
   
 Garbo can be found at:
   <ftp://garbo.uwasa.fi>
   
 Wustle can be found at:
   <ftp://wuarchive.wustl.edu>
 
 A  few  words about file names and versions: Many files  at
 the  archive  sites  are updated  from  time  to  time.   I
 verified  every filename in this FAQ as of 03 Jan 1998 by
 ftp to the named sites, or by consulting their index files.
 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 (most do so).   Please  let  me
 know of any out-of-date file names.
 
 This  FAQ  should show both Garbo and SimTel directory  and
 file  names,  if  available, for every file  mentioned  for
 downloading.  If you see a listing for only one of them, it
 means  that  the file was not found at the other  site,  or
 that the other site's catalog shows an old version.
 
 Also  remember that caps and lower case filenames  are  not
 interchangeable at most archive sites.
 

------------------------------

Subject: <Q:09.02> - Can I get archives on CD-ROM?
 
 Copies   of   the  SimTel  MS-DOS,  Macintosh  and   Unix-C
 collections  (also  of  wuarchive, cica,  and  others)  are
 available from Walnut Creek CDROM, 1547 Palos Verdes, Suite
 260,  Walnut Creek, CA 94596-2228, telephone (800) 786-9907
 or  +1  510  674-0783, or FAX +1 510  674-0821,   or  email
 rab@cdrom.com.
 
 For   a   catalog  of  disks  available,  send   email   to
 info@cdrom.com,  or ftp the catalog as /cdrom/catalog  from
 cdrom.com.
 

------------------------------

Subject: <Q:09.03> - Where do I find program <mumble>?

 You  are asking about shareware, freeware, or public-domain
 programs,  right?   Commercial  software  is  not   legally
 distributed  through  the net, in  general.   (Occasionally
 vendors  will make patches available, but these are  useful
 only to upgrade software you already own.)
 
 That  said,  the  quickest way to find a  program  you  are
 looking  for is to use a WWW search utility such  as  DEC's
 AltaVista at <http://www.altavista.digital.com>.
 
 There  are  also  several newsgroups to  help  you  find  a
 program. comp.binaries.ibm.pc.wanted is generally the  best
 place  to  ask your question.  Please review the guidelines
 in  <Q:01.08> - "What other technical newsgroups should  I
 know about?"
       

------------------------------

Subject: Section 10.  Vendors and products
Date: Mon, 04 Jan 99 10:55:40 CST

 Where to find them.


------------------------------

Subject: <Q:10.01> - How can I contact Borland?
Date: Mon, 04 Jan 99 10:25:10 CST

 Well you can no longer contact Borland. Borland is now known as Inprise.
 Borland products are still marketed using the Borland name for instance
 C++Builer (which according to the the Inprise web site is the successor
 to Borland C++) is marketed as Inprise Borland C++Builder.
 
 Please notice Inprise is marketing the newsest version of Borland C++
 as Borland C++Builder and the newest version of Borland Pascal as Borland
 Delphi.
 
 On the Web:
   Information about Borland products can be found at:
     <http://www.inprise.com>
  
 Files from FTP:
   Patches,  examples,  and product  info  can  be  found  at
   <ftp://ftp.inprise.com/pub>.
  
 Mailing lists:
   You can sign up to a number of mailing lists via Inprise's web site at:
     <http://www.inprise.com/feedback/listserv.html>

   You can also subscribe using the tradition method by sending email to:
     <mailto:listserv@borland.com>
     
   This message must be formatted the following way:
     - No subject is required.
     - The body of the message must contain a line in the form of:
         subscribe bcpp <your first name> <your last name>
 
 Telephone support:
   Telephone  support  is  provided  through  separate   phone
   numbers  for  most  products.  If you're calling  from  the
   U.S.,  dial  (800)  841-8180 for a recorded  list  of  toll
   numbers to call.  Borland's BBS is at +1 408 439 9096.  The
   surface-mail  address  is  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.
 

------------------------------

Subject: <Q:10.02> - How can I contact Microsoft?
Date: Mon, 04 Jan 99 10:25:19 CST

 Microsoft  has stopped developing MS-DOS and  most  of  the
 programming information they now provide is focused more on
 Windows development instead of MS-DOS programming.
 
 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  answer  individual  questions via  email  through  the
 Internet.
 
 On the Web:
   Microsoft's Web server <http://www.microsoft.com> contains
   information on their products and allows users  to  search
   the Microsoft Knowledge Base.
  
 Via ftp:
   Microsoft's anonymous FTP server <ftp://ftp.microsoft.com>
   offers  a variety of information for developers. This  ftp
   server is run using Windows NT, so it supports both  UNIX-
   like    and    DOS-like    path   names.    For    example
   \SOFTLIB\INDEX.TXT and /SOFTLIB/INDEX.TXT are both  valid.
   Filenames are not case sensitive.
   
   Informarion related to MS-DOS can be found in the /SOFTLIB
   directory and the /PEROPSYS directory.

 Information via U.S. Mail:
   Microsoft  Product Support is at 16011 NE  36th  Way,  Box
   97017, Redmond WA 98073-9717, USA.
  
   You  can  subscribe to the {Microsoft Developer  News}  by
   mailing a request to Microsoft Developer Network, P.O. Box
   51812,  Boulder  CO  80322-1812, U.S.A.   This  newsletter
   appears to be free.
  
 Via modem:
   On Compuserve, GO MICROSOFT; or call Microsoft's BBS at +1
   206 936-6735 in the U.S., or +1 416 507-3022 in Canada.
  
 Via voice telephone:
 
  
  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


------------------------------

Subject: <Q:10.03> - What's the current version of UNZIP?
Date: Sun, 03 Aug 97 21:17:50 CST

 The current version of PKWare's PKZip is 2.04g.
 The current version of InfoZip's ZIP is 2.0.1.
 The current version of InfoZip's UNZIP is 5.12.
 
 The  primary  source of the free Info-ZIP  programs  is  at
 ftp.uu.net,    directory    /pub/archiving/zip;    or    at
 quest.jpl.nasa.gov, directory /pub.   Files  are  in  those
 directories or in subdirectories as shown below.   The  DOS
 executable for UNZIP is self extracting; all others require
 UNZIP 5.0, 5.1, 5.11 or 5.12:
 
  MSDOS/unzip512x.exe  - DOS executable and doc, UNZIP 5.12
  unzip512.zip         - source code for UNZIP 5.12, all platforms
  MSDOS/zip20x.zip     - DOS exe and doc,  ZIP  without  crypt support
  zip201.zip           - source code for ZIP 2.0, all platforms
  MSDOS/zcryp20x.zip   - DOS exe and  doc,  ZIP  with  crypt support
  zcrypt21.zip         - source code for ZIP crypt support
  WINDOWS/wunz20x.zip  - Windows 3.1 WIZUNZIP  2.0  exe  and help file
  WINDOWS/wunz20sr.zip - Windows 3.1 WIZUNZIP 2.0 source
 
 PKZip  and  PKUNZIP are shareware products of  PKWARE  Inc.
 The  current version is 2.04g, which is the third  official
 version after 1.10. They are downloadable:
   From <http://www.pkware.com>
   From PKWare's bulletin board, +1 414 354 8670, or
   From <ftp://garbo.uwasa.fi/pc/arcers/pkz204g.exe>
   From <ftp://ftp.simtel.net/pub/simtelnet/msdos/zip/pkz204g.exe>
 
 By  the way, if you want to develop your own utilities, you
 will  find  the  ZIP 2.0 data structures described  in  the
 downloadable file:
   <ftp://ftp.simtel.net/pub/simtelnet/msdos/zip/appnote.zip>
 

------------------------------

Subject: <Q:10.04> - What is the phone number for a vendor's BBS?

 The USBBS list contains a list of BBSes found in the United States. It can
 be found at: (Where ??? is the current version.)
   <ftp//ftp.simtel.net/pub/simtelnet/msdos/bbslists/usbbs???.zip>
 

------------------------------

Subject: <Q:10.05> - What is the current version of DJGPP?

 See <Q:10.06> - What and where is DJGPP?
 

------------------------------

Subject: <Q:10.06> - What and where is DJGPP?
 
 DJGPP  is a 32-bit C/C++/Ada95 development environment  for
 the MS-DOS environment, based on the GNU tools.
 
 DJGPP can be retrieved from the following sites:
   <ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp>
   <ftp://oak.oakland.edu/pub/simtelnet/gnu/djgpp>
   <ftp://archie.au/micros/pc/oak/vendors/djgpp>
   <ftp://ftp.ibp.fr/pub/pc/SimTel/vendors/djgpp>
   <ftp://ftp.delorie.com/pub/djgpp/ofc>
   <http://www.delorie.com/djgpp/dl/ofc/>
 
 More information on DJGPP can be found in the following places:
   The DJGPP FAQ: (Where * is the current version.)
     <ftp://ftp.coast.net/SimTel/vendors/djgpp/faq*.zip>
     <ftp://oak.oakland.edu/SimTel/vendors/djgpp/faq*.zip>
     <ftp://archie.au/micros/pc/oak/vendors/djgpp/faq*.zip>
     <ftp://ftp.ibp.fr/pub/pc/SimTel/vendors/djgpp/faq*.zip>
     <ftp://ftp.delorie.com/pub/djgpp/ofc/faq*.zip>
     <http://www.delorie.com/djgpp/faq/>
 
   WWW Home Page:
     <http://www.delorie.com/djgpp/>
 
   Newsgroup: (preferred over the mailing list)
     <news:comp.os.msdos.djgpp>
 
   Mailing lists:
     Two DJGPP mailing lists have been setup. djgpp-announce is
     for announcements relating to DJGPP, and djgpp is a mirror
     of the comp.os.msdos.djgpp newsgroup.
  
     To subscribe, send a mail message to:
      <mailto:listserv@delorie.com>
  
     The subject should either be "subscribe djgpp-announce" or
     "subscribe djgpp" depending on which mailing list you  are
     subscribing to.
  

------------------------------

Subject: <Q:10.07> - Are there any good shareware/freeware compilers?
 
 There  are several shareware/freeware compilers for MS-DOS,
 here are just a few.
 
 DJGPP:
   See <Q:10.06> - What and where is DJGPP?
  
 Magic Assembler:
   Magic  Assembler  is  a  small  easy-to-use  x86  assembly
   language  compiler. It can produce .COM files as  well  as
   boot  sector programs. It can also print the source  using
   the correct addresses. (Public Domain)

   <ftp://ftp.simtel.net/pub/simtelnet/msdos/asmutl/asm110.zip>
  

------------------------------

Subject: <Q:10.08> - Is the source code to MS-DOS available?
Date: Sun, 03 Aug 97 21:23:56 CST

 See <Q:02.09>.
  

------------------------------

Subjext: <Q:10.09> - What is a vendor's web site address?
Date: Mon, 04 Jan 99 10:59:33 CST

 Have you tried http://www.<inset vendor name here>.com?
 
 If that doesn't work use a directory service like Yahoo!
 <http://www.yahoo.com> or a search engine like HotBot
 <http://www.hotbot.com> to search for your vendor's name.


------------------------------

Subject: End of Part 5

 This is the end of part 5 of The comp.os.msdos.programmer FAQ Version 1999.01.
 
 This text is copyright 1999 by Jeffrey Carlyle. All rights reserved. Please
 see the top of this article for additional copyright information.

// Jeffrey Coleman Carlyle <jeffrey@carlyle.com> <www.jeffrey.carlyle.com>
// Computer Engineering major at the University of Evansville in Indiana.
// Bowling Green, Kentucky, USA; Creator of Windows Restart 98 and
// StratoSetup; comp.os.msdos.programmer FAQ maintainer; Ruler or Earth!


