NUPop

Installation Manual
Version 2.0.2

20 October 1993
--- DRAFT ---

Academic Computing and Network Services
Vogelback Computing Center
Northwestern University
2129 Campus Drive North
Evanston, IL.  60208

©1993 Northwestern University

Table of Contents

Installing NUPop	1
The audience of this document	1
Requirements	1
Three types of NUPop access - Network, Serial Dial-up or SLIP	2
1 - Dial-up using Serial Communications	2
2 - Direct network link using packet drivers	2
3 - Dial-up using SLIP packet drivers	2
Getting a copy of NUPop	3
Creating directories for NUPop and Mail	3
UnZIPing files	3
AAREADME.1ST -- Important information	4
Setting up Modems for Serial Dial-up or SLIP access	4
Modem requirements	4
How fast a modem do you need?	4
Modem configuration	4
Setting up Packet Drivers for Direct Network Access	5
What are "Packet Drivers?"	5
How are Packet Drivers Installed?	5
Using NUPop with Novell Netware	6
Using NUPop with Lan Manager	7
Using NUPop with LocalTalk	7
SLIP packet drivers	7
Using NUPop with other TCP/IP drivers	7
FTP Software Inc. kernel	7
Novell Lan Workplace for DOS	8
Wollongong PathWay	8
Waterloo TCP/IP	8
Interfacing to Trumpet ABI kernel	8
Interfacing to other TCP/IP software: PKTMUX	9
Using TRYPKTD.EXE to check setup	10
Conflicts with NCSA Telnet	10
Using NUPop under Microsoft Windows	10
WINPKT -- Virtual packet driver for Windows	10
NUPOP.PIF and NUPOP.ICO	10
Using the Mouse under Windows	11
Serial or SLIP access under Windows	11
Memory manager issues under Windows	12
Running NUPop with Windows Sockets	12
Running NUPop under Desqview	13
Running NUPop under OS/2 2.1	13
NUPop Configuration Files	13
Configuration file names	13
Location of configuration files	14
Search order for NUPop configuration files	15
NUPop User Interface Conventions	15
The <Esc> Key is Used to Cancel a Dialog or Menu.	15
Picking from Menus with a Mouse	15
Command Key Equivalents	15
<Tab> Skips to the Next Item	15
<Alt> is Used for Menu and Button Equivalents	15
Picking from Menus with the Keyboard	15
Push Buttons	16
Text Fields	16
Check Boxes and Radio Buttons	16
The Space Bar Toggles Radio Buttons	16
List Boxes	16
Editing Text  in NUPop	16
Executing NUPop for the First Time	17
Initial setup	17
Running NUPop	17
Order in which NUPop asks for settings	17
User Configuration	17
User Name	18
Full name	18
Password	18
Return address	18
Mail Path	18
Enclosure path	18
Download path	19
Large message	19
Save Screen After	19
Language	19
General Preferences	19
Check printer status using BIOS interrupt 17h	19
Display initial copyright screen	19
Display Graphic Cursor on EGA/VGA	20
Drop Data Terminal Ready (DTR) when closing serial connections	20
Hang up serial line when quitting NUPop	20
Ignore serial carrier detect line status	20
Mirror MS Windows clipboard	20
Prompt for password at startup	20
Quit NUPop without prompting	20
Send password character by character	20
Swap to EMS/DISK when shelling to DOS	20
Use 43/50 Line Mode at  program startup	20
Use serial communications	21
Use virtual memory	21
Message Preferences	21
Append signature to outgoing mail	21
Ask for return receipt	21
Automatic Blind Carbon Copy	22
Convert EOL when decoding Binhexed files	22
Decode incoming binhexed files	22
Decode incoming UUencoded files	22
Delete unprocessed messages without warning	22
Empty trash when NUPop terminates	22
Expand group names when sending messages	22
Acquire mail after sending messages	22
Acquire only new mail	22
Acquire mail at startup	22
Honor return receipt request	22
Include mail text in reply	23
Leave incoming mail on server	23
Reply to all recipients	23
Keep copy of outgoing mail	23
Send messages using POP server	23
Skip large incoming messages	23
Sound arrival of incoming mail	23
Word wrap is active in message composer	23
Network Settings	23
Incoming Mail Server	24
Outgoing Mail Server	24
Email Address Server	24
Finger Server	24
Gopher Server	25
LPR Server	25
LPR Printer	25
Telnet Server	25
Webster Server	25
Domain Name	25
Your IP address	25
Getting the IP address from BOOTP	26
Getting the IP address from the MYIP environment variable	26
Time Zone	26
Advanced	26
Gateways and Name Servers	26
Advanced Network Settings	27
Net mask	27
Domain request timeout	27
Connect timeout	27
I/O timeout	27
Retransmit timeout	27
Max transmit unit in bytes:  MTU	27
Max segment we can receive:  MAXSEG	27
Most bytes we can receive without ACK	27
Maximum EMS virtual memory in bytes	28
Maximum XMS virtual memory in bytes	28
Dial-up IP	28
Stop finger retrieval when received	28
Temporary files subdirectory	28
Using SET TMP= to specify temporary files	28
Serial Port Settings	29
Bits per sec	29
Stop bits	29
Parity	29
Flow Control	29
COM Port	29
Access	29
End of Line	30
Input Buffer	30
Output Buffer	30
Char Delay	30
Line Delay	30
Hardware	30
Serial Port Hardware Configuration	30
Modem and Dialing Configuration	31
Modem Init	31
Number to call	31
Dialing Command	31
Hangup command	31
Wait Time	31
Setting up a Printer for use with NUPop	32
Printer	32
Initialization string	32
Form feed string	32
End of print string	33
Headers	33
Setting Colors in NUPop	33
Mouse Settings	34
Mouse double click	34
Reverse mouse buttons	34
Signature Settings	34
Emulation Settings	34
Terminal type	35
Backspace sends delete	35
ADM3A telnet name	35
VT100 telnet name	35
Review buffer size	35
Input Key Definitions	35
Function key string values	35
General	36
Emulation Specific	36
Keypad keys	36
Primary function keys and shifted variants	36
Other keys	36
Trace Options	36
Video Mode	37
External Programs	37
GIF viewer	37
HTML viewer	37
Image viewer	37
MIME viewer	37
News reader	37
Sound player	38
TN3270 program	38
Using Dial-Up SLIP with NUPop	38
What is SLIP?	38
What do you need to use SLIP?	38
Establishing a SLIP connection	38
PHONE.EXE	38
Configuring NUPop for automatic SLIP access	39
Troubleshooting	40
DOS 6.0 problems	40
DPMI errors	40
DPMI error (xxxx): mmmm	40
Loader error (xxxx): mmmm	41
Stub error (xxxx): mmmm	41
Enclosure problems	41
Enclosure is mangled	41
Error reading enclosure	41
Error sending enclosure	41
Error receiving UUencoded enclosure	41
FTP Problems	42
Hangs at startup	42
Keyboard problems	42
Shift key problems	42
Memory problems	42
Not enough memory to run NUPop	42
Not enough memory for communications driver	42
Out of memory	42
Message index files go bad	43
Minnesota's POPMail works but NUPop doesn't	43
Mouse problems	43
The graphic mouse cursor doesn't work correctly.	43
Mouse cursor disappears completely	43
Mouse doesn't work in Windows enhanced mode	43
Mouse goes berserk	43
NCSA Telnet/NUPop conflicts	43
Network access and packet driver problems	44
Another machine is using same IP number	44
Can't access xxx handle	44
Communications driver did not load.	44
Could not initialize hardware level network driver	44
Destination unreachable	44
Error while reading from network	44
IP fragments	44
Local host or gateway not responding	44
Multiple packet drivers	44
No more ports	45
Packet driver not loaded	45
Unsupported packet driver class: not Ethernet, Slip, or LocalTalk	45
OS/2 problems	45
LPR printing doesn't work	45
Serial I/O doesn't work under OS/2	45
Password problems on POP server	45
POP3 session locked	45
Qualitas 386^Max problems	46
Serial access problems	46
Dropped characters	46
Can't send or acquire messages	46
Can't acquire long messages	46
Gopher doesn't work	47
Virtual memory problems	47
Reporting Problems or Suggestions	47
The NUPop mailing list	48
Appendix A: Customizing NUPop Scripts	49
NUPop script names	49
MODEMINI.SCR  -- Initialize modem	49
DIAL.SCR -- Dial terminal server	49
CONNECT.SCR -- Connect to system from terminal server	49
DISCONNE.SCR -- Disconnect server session	50
DROP.SCR -- Hang up the serial connection	50
SLIPDIAL.SCR -- Dial terminal server and set IP address for SLIP	50
NUPop script commands	51
BREAK	51
DELAY	51
DIAL n	51
DROPDTR	51
ECHO "text"	51
GOTO :LABEL	51
:LABEL	51
HANGUP	51
MODEMINIT	51
PROMPT "string" variable hide "initial value"	51
QUIT	51
READIP	52
REPSENDWAIT maxtries interval "sendstring" "waitstring"	52
SENDPOPPASSWORD	52
SENDPOPUSERNAME	52
SETIP nnn.nnn.nnn.nnn	52
STEXT "text"	52
TIMEOUT n	52
TRACEOFF	52
TRACEON	52
WAITCARRIER	52
WAITQUIET	52
WAITSTRING "text" label ...	53
Appendix B: NUPop Program Parameters	54
/batch	54
/bw	54
/debug=filename	54
/no386	54
/noems	54
/nosuballoc	54
/notimed	54
/noxms	54
/p=path	54
/tracescript	54
Appendix C:  Time Zone Names	55
Appendix D: National Replacement Character Sets	56
Appendix E:  Setting Type and Creator Fields for BINHEX and FTP	57
Appendix F:  Format of Group Definitions File NUPOP.GUP	58
Appendix G:  Format of Gopher Bookmark File NUPOP.BMK	59
Appendix H: WATTCP.CFG Settings For NUTCPWAT External Driver	60
Creating the configuration file WATTCP.CFG	60
my_ip = ______.______.______.______	60
hostname = name	60
netmask = ______.______.______.______	60
gateway = ______.______.______.______	60
nameserver = ______.______.______.______	60
domainslist = "______________________________"	60
sockdelay = ____	61
bootp = ____.____.____.____	61
bootpto = ______	61
Appendix I:  Protected Mode Considerations	62
Running the Protected Mode Version of NUPop	62
Protected Mode and Memory	62
DPMIINST	62
DPMIMEM	62
RTMRES	63
EXTENDED MEMORY	63
Running NUPop from Windows	63
Running NUPop in Windows Standard Mode	63
Running from a Windows DOS Prompt	63
Controlling the Amount of Memory the Run-Time Manager Uses	63
Appendix J: API for External TCP/IP Drivers	65
Appendix K:  Format of MLIST.STM message index file	66

Installing NUPop
The audience of this document

This document describes how to install and configure NUPop. It also provides some technical information about NUPop.  In some sections it assumes more familiarity with DOS and networking than a new computer user is likely to have. Novices should get the assistance of a more experienced person in installing NUPop.  A separate document, the NUPop User's Guide, describes how to use NUPop to send and receive mail once it is properly installed on your system.  The hardest part of using NUPop is installing it!  

Requirements

NUPop allows you to receive, compose, and send Internet electronic mail ("email")  from an IBM PC. NUPop also allows you to access electronic information services using Gopher, transfer files to and from remote systems using FTP, login to remote systems using TELNET, and access electronic directories using FINGER and PH.
To use NUPop you need an IBM PC or compatible machine with either a modem or  a  connection to the campus backbone network.  If you have a Macintosh computer you can use a similar program called Eudora instead.
You also need an account on a computer system which can be reached by a POP (Post Office Protocol) server.   At Northwestern the POP server machines are called "Casbah" and "Merle"  You may open Casbah or Merle accounts by completing a request form at the Information Center in Vogelback on the Evanston Campus or in Wieboldt Hall on the Chicago campus.  These accounts are free to all Northwestern University students, faculty, and staff.
Casbah or Merle stores incoming mail for you.  NUPop retrieves this stored mail from Casbah or Merle  to your PC using the POP server. You compose outgoing mail on your PC using NUPop.  NUPop sends this mail via Casbah or Merle using an SMTP (Simple Mail Transport Protocol) or POP server.
There are two versions of NUPop, a "real mode" version and a "protected mode" version.  The real mode version is designed for older PCs equipped with  Intel 8086/8088 CPUs.  The real mode version of NUPop requires at least 490K free RAM after DOS and all network drivers are loaded.  The protected mode version requires an Intel 80386 or 80486 based CPU and at least 2.0 megabytes of memory.  If at all possible, you should use the protected mode version.  In particular, you should use the protected mode version if you run NUPop under Microsoft Windows enhanced mode.  
The protected mode version of NUPop assumes the presence of a DPMI (Dos Protected Mode Interface) v0.9 server.  If you do not already have one installed on your system, one is provided in the NUPop release materials.  This DPMI server is provided by Borland and may be distributed free of charge with applications developed with Borland compilers.  Appendix I provides some technical details about the Borland server.  Microsoft Windows in enhanced mode provides its own DPMI server. NUPop uses the MS Windows DPMI server automatically when run in a DOS window in enhanced mode.
The basic NUPop files require about one megabyte of disk space.  To verify that you have enough disk space to install NUPop,  use the DOS command CHKDSK .  For example, to check the amount of free disk space on drive C:, type:
 	CHKDSK C:

The more email messages you receive, the more disk space your PC needs to store these messages. Each message is stored in a separate DOS file in a subdirectory.  You may create as many different mail subdirectories as you need to help you organize the messages you receive.  Each mail subdirectory also contains an index file which describes the contents of each message file.
You do not need a mouse or other pointing device to use NUPop, but we strongly recommended you use one. If you do, you must load the mouse driver software into your system before running NUPop.  If your mouse provides more than one button, you will be using only the left mouse button when running NUPop.  (If you are left-handed, you may configure NUPop to use the right mouse button instead.)
NUPop requires DOS version 3.2 or higher. NUPop should run on any type of video card including a monochrome display adapter. We recommend you use an EGA or VGA display adapter.  The real mode version of NUPop should run on any PC with 640K of memory.  The protected mode version requires at least 2.0 megabytes of memory and an 80386 CPU or better. 
Again, if at all possible, we recommend you use the protected mode version if your system allows.
Dial-up access requires a PC with an error correcting modem (V.42bis or MNP). It should support the "AT" command set (most modems do). The modem and the modem cable must support the carrier detect(CD), data terminal ready(DTR), and clear to send/request to send signals (CTS/RTS).  NUPop supports both directly connected modems and modem pools.
Outside Northwestern: For dial-up access, your site needs a terminal server (e.g. Cisco, Xylogics, etc.) or similar hardware to connect the incoming calls to the network.

Three types of NUPop access - Network, Serial Dial-up or SLIP

NUPop can access your email servers in three different ways. Most NUPop settings remain the same regardless of  the method used to access the server.
1 - Dial-up using Serial Communications
NUPop dials the server using a modem attached to a serial port when it wants to acquire or send mail.  NUPop uses this method if "Use serial communications" is checked at Options/General Preferences.  In the later sections on NUPop configuration this case is abbreviated as: "[Serial]".

Installation Checklist:

	Get a copy of NUPop
	Create directories for NUPop and mail
	Unzip the NUPop files
	Run NUPop to configure it
	Set up your modem
	Add the NUPop directory to your DOS path

These steps will be described in detail later in this document.

2 - Direct network link using packet drivers
This requires a dedicated connection to the campus backbone network, either directly or through a local area network (LAN) such as Novell.  NUPop interfaces to the network using the packet driver. This case is abbreviated as [Net].

Installation Checklist:

	Get packet driver for your network card
	Install packet driver
	Find out correct IP address and network gateway IP address for your PC
 	(These first  three steps may already be done if your PC is set up to run NCSA Telnet)
	Get a copy of NUPop
	Create directories for NUPop and mail
	Unzip the NUPop files
	Run NUPop to configure it.
	Add the NUPop directory to your DOS path.

These steps will be described in detail later in this document.

3 - Dial-up using SLIP packet drivers
This is another way to run NUPop for dial-up access. Northwestern offers SLIP access on both its terminal servers (Elvex and Aragorn).  SLIP access uses special packet drivers which transform a dial-up link  into a direct network link  once the connection is established. Unlike serial dial-up, SLIP access ties up a phone connection continuously while the SLIP driver is running. This case is abbreviated as [SLIP]. 

Installation checklist:

	Get SLIP packet driver
	Install SLIP packet driver
	Get a copy of NUPop
	Create directories for NUPop and mail
	Unzip the NUPop files
	Run NUPop to configure it
	Set up your modem
	Add the NUPop directory to your DOS path.
Each of these steps is described in detail in this document.

Getting a copy of NUPop

Northwestern University users should obtain preconfigured diskettes of NUPop from the Information Centers in Vogelback on the Evanston campus or Wieboldt Hall on the Chicago campus. 
Off-campus users can get NUPop by anonymous FTP from ftp.acns.nwu.edu in the directory pub/nupop. Four files comprise the NUPop v2.0 release:
NUPOPPRO.ZIP	Protected mode executables.
NUPOPREA.ZIP	Real mode executables.
NUPOPSUP.ZIP	Support files for both versions.
NUPOPDOC.ZIP	Documentation in .RTF format
If you want to use the protected mode version of NUPop, retrieve NUPOPPRO.ZIP, NUPOPSUP.ZIP, and NUPOPDOC.ZIP  If you want to use the real mode version of NUPop, retrieve NUPOPREA.ZIP, NUPOPSUP.ZIP, and NUPOPDOC.ZIP.  You must transfer or download these files in binary mode.
To extract the contents of a ZIP file you need an "Unzip" program like pkunzip.exe (shareware from PKWare) or unzip.exe (free).  A copy of unzip.exe resides in /pub/NUPop on "ftp.acns.nwu.edu".  "unzip.exe" must also be downloaded in binary.

Creating directories for NUPop and Mail

You should create two subdirectories on your PC: one for the NUPop program (for example: "C:\NUPOP"), and one for the NUPop mail directories (for example: "C:\MAIL"). This makes it easier for you to update NUPop or run two versions without disturbing your mail. To create these directories, type:
C:
CD \
MKDIR NUPOP
MKDIR MAIL
The location of the mail directory is specified as one of the NUPop user configuration options. 
NUPop creates each "mailbox" as a subdirectory within the mail directory.  These mailbox subdirectories receive names like "IN.MBX" and "OUT.MBX". The part of the name before ".MBX" is the actual mailbox name.  To go to a directory with a name like this, you can type:
CD \MAIL\IN.MBX
Each message is stored as a separate DOS text file in a mailbox subdirectory.  The file MLIST.STM, created by NUPop,  provides an index to messages in a subdirectory.  Usually you do not manipulate message files or directories outside of NUPop.  

UnZIPing files

If you are installing NUPop for the first time, the UNZIP commands to extract the program and support files look like this for the protected mode version:

UNZIP A:NUPOPPRO.ZIP C:\NUPOP
UNZIP A:NUPOPSUP.ZIP C:\NUPOP
UNZIP A:NUPOPDOC.ZIP C:\NUPOP

and like this for the real mode version:

UNZIP A:NUPOPREA.ZIP C:\NUPOP
UNZIP A:NUPOPSUP.ZIP C:\NUPOP
UNZIP A:NUPOPDOC.ZIP C:\NUPOP

where the first argument is the ZIP file name and the second is the destination directory.  This extracts all of the NUPop files from the ZIP file on drive A: to C:\NUPOP.   If the NUPop .ZIP files are on another drive besides A:, substitute the appropriate drive name in the UNZIP commands above.

If you are updating an existing copy of NUPop you may need to extract only some files from the ZIP file.  To do this you type:

UNZIP A:NUPOPxxx.ZIP C:\NUPOP /E filename

where "xxx" is PRO for the protected mode executables, REA for the real mode executables, 
SUP for the support files, and DOC for the documentation.  "filename" specifies the name of the file you wish to extract from a given ZIP file.  Repeat this for each file you wish to extract.  To see the names of the files in a ZIP file, type:

UNZIP A:NUPOPxxx.ZIP /V
If you want to keep both the real and protected mode versions of NUPop on your disk you can do this by creating separate directories for the two versions.
Both versions share configuration files and mailboxes.
AAREADME.1ST -- Important information
There may be a file called AAREADME.1ST which tells you about any last minute changes to NUPop.  You should read this file before installing NUPop to see if any portions apply to you.  You may want to print a copy of AAREADME.1ST for convenience.  It is a plain text ASCII text so you may use the DOS PRINT command to print it, assuming you have a printer hooked up to your PC:

	PRINT AAREADME.1ST

Setting up Modems for Serial Dial-up or SLIP access

Modem requirements
	We strongly recommend using a modem with error correction: either MNP or V.42.  Error correcting modems cost more than modems without error correction,  but NUPop will not work reliably in serial access mode without error correction.
	The modem must support the "AT" command set.  Most popular modems do.
	The modem must support carrier detect (CD), data terminal ready (DTR), and clear to send /request to send (CTS/RTS) control signals. The cable you use must also support these signals.  Pins 2-8, 20, and 22  should be connected for 25  pin serial ports; a cable with only 3 or 4 wires will not work.  For 9 pin serial ports, all 9 pins must be present.  The cable must wired "straight through", not as a "null  modem."  Also, DO NOT use a serial cable designed to connect a mouse to a serial port.  These cables are missing important signal lines which your modem needs to work properly with NUPop.
How fast a modem do you need?
2400 bps is adequate for most people who do not send or receive large numbers of mail messages.
9600 bps or faster provides better performance.  If you can afford it, you should purchase a V32bis/V42bis modem.  If you expect to send or receive large number of messages, or you intend to send large enclosed files, a 9600 bps or faster modem is virtually a necessity. Also, if you want to use other NUPop facilities such as Gopher or FTP, you will want a faster modem.
Modem configuration
Many problems with getting NUPop to work with serial access result from an improperly configured modem and/or bad serial cables.  In order for NUPop to work properly, you must configure your modem so that the carrier detect line and data ready (DTR) line reflect the actual state of those lines.  Some manufacturers ship modems with both carrier detect and data ready forced "high" (always on).  You need to reset the modem so that carrier detect is normal and data ready  is normal. 
For many modems, you can fix this problem by running a communications program and typing:
     AT &C1 &D2 &W  <Enter>
which tells the modem to set carrier normal, data ready normal, and store those updated settings in the modem's permanent internal memory.  You can also do this from the Utility/Terminal menu in NUPop if you set the preference option "Use serial access" to YES.
With some other modems this is done by setting DIP switches - check the reference manual for your modem. 
Another important configuration issue is getting your modem to use its error correction features. The specific "AT" commands to enable error correction vary widely among modems, even modems from the same manufacturer. While some modems are factory configured to enable the proper type of error correction by default, many are not.  You should ensure that your modem is set for CTS/RTS hardware flow control.  You must set NUPop likewise.  See the section "Serial port settings" for more details.
The command to set up the modem will usually be:
AT xxxx &W <Enter>
where xxxx is a modem command string.   This issues the commands and saves the settings in the modem's non-volatile memory.

Setting up Packet Drivers for Direct Network Access

To install NUPop for direct network access, you must provide a network hardware interface driver called a "packet driver." You should consult with the administrator of your local area network for additional information.  If your system is already set up to run other packet driver based products such as NCSA Telnet, you probably already have the proper packet driver for your network hardware installed.  In this case you can skip this step.
What are "Packet Drivers?"
Packet drivers are used by many IBM PC network software programs to control the network adapter cards. Packet drivers hide hardware-specific details of  individual network cards from the higher level application software. The standards for packet drivers were developed by FTP Software Inc. and placed in the public domain. The largest collection of packet drivers comes from Russell Nelson of Crynwr Software (formerly at Clarkson University). Other packet drivers are supplied by network card vendors.  The Crynwr Packet Driver Collection is available many places on the Internet.  Currently the most up-to-date distribution can be found on the mirrors of the SIMTEL-20 FTP archive, for example:

site:		oak.oakland.edu
directory:	/pub/msdos/pktdrvr/
file:		drivers.zip

Some of the individual files from the Crynwr Packet Driver Collection and packet drivers from other vendors are available by anonymous FTP from "vax.ftp.com".  
How are Packet Drivers Installed?
Most packet drivers are written as standard DOS executable (.COM or .EXE) files. Executing the packet driver with the correct parameters loads the driver software into memory,  where it stays resident. A few packet drivers need to be loaded as system drivers (.SYS) in your CONFIG.SYS file. More usually the packet driver file is loaded by the AUTOEXEC.BAT file before any network software that would use packet drivers. 
It is not uncommon to run several .COM or .EXE files in the AUTOEXEC.BAT file to load successive "layers" of network software.  During tests you may load network software by typing the same commands at the DOS prompt, before putting the commands into the AUTOEXEC.BAT file.
The packet drivers from the Crynwr Packet Driver Collection are built around a common generic pattern.  The first few command-line options and parameters are the same for all packet drivers. Each type of packet driver has additional parameters that are specific to that type of network board, having to do with things like jumper or DIP switch settings.
Running a packet driver with no specifications displays a usage message. For example, running WD8000E.COM, gives the message:
usage: WD8003E [-n] [-d] [-w] <packet_int_no> [-o] <int_level> <io_addr> <mem_base>

This is a list of the parameters that can be used.  Square brackets surround optional parameters. Less-than (<) and greater-than (>) signs bracket the descriptions of the parameters.   
The actual command line in an AUTOEXEC.BAT  file to install a packet driver could look something like this:
WD8003E 0x62 0x3 0x280 0xC000

Most packet drivers share the first several options/parameters:

	-n		(optional)
	-d 		(optional)
	-w 		(optional)
	packet-driver-software-interrupt-number	(required)

The most important is  the "software interrupt number". This is the first required numeric parameter. It must be in the range between 0x60 and 0x7F (hexadecimal). The most common choice is "0x60".  Some software, including NUPop,  scans these interrupts in order starting at 0x60 and uses the first packet driver found. Other software may also use interrupts between 0x60 and 0x7F.  You need to ensure that the interrupt number you choose is not already taken by another program.  
Write numeric values in the packet driver parameters in the style of the C programming language.  You write the number eleven  in decimal as 11, in hexadecimal as 0x0B (with a leading "0x"), and in octal as 013 (with a leading zero).
Using NUPop with Novell Netware
Things become more complex when you try to get packet drivers to work together with other networking software, such as Novell Netware or Microsoft Lan Manager.  Some packet drivers are written to allow automatic sharing of  the network interface card between Netware and other applications.  You may need to generate a special version of the IPX.COM driver which uses the packet driver, or this driver may be supplied with your network card.  In either case, you use this modified driver instead of the standard Novell-supplied IPX driver.  A popular choice at universities is the IPX driver written at Brigham Young University which runs over Ethernet  packet drivers.
Alternatively, you may use the standard Novell method for sharing protocol stacks called  ODI -- "Open Data-Link Interface."  You set up your system to use an ODI driver to actually control the network card, instead of using a packet driver.  You then load a second program called ODIPKT which emulates the packet driver interface for programs like NUPop which require it. ODIPKT acts as a translator between the packet driver and ODI specifications.  ODIPKT makes the ODI driver look like a packet driver to NUPop.  NUPop "talks to"  ODIPKT in packet-driver terms.  ODIPKT "talks to" the real ODI driver in ODI terms.  ODIPKT was written by Dan Lanciani of Harvard University.  A copy is available for anonymous FTP from /pub/nupop/odipkt/odipkt.com on ftp.acns.nwu.edu.   
ODIPKT only works with NUPop if you are using an Ethernet-style hardware connection.  You CANNOT use ODIPKT if you are using a Token Ring connection. However, there is a version of ODIPKT called ODITRPKT.COM which you can use with NUPop on a Token Ring network.  If you have a token ring network, substitute ODITRPKT.COM for ODIPKT.COM in what follows.
Following is a typical setup which uses ODI drivers and then loads ODIPKT to provide the packet driver interface required by NUPop.  The ODI driver is "csiodi_e" which is the generic ethernet driver for Cabletron network cards.  
Your autoexec.bat file would contain statements like these:
lsl
csiodi_e
ipxodi
odipkt 0 117
winpkt 0x66 0x75
netx
WINPKT is for use with Microsoft Windows; its use is discussed below.
The net.cfg file for this setup would look like this:
Preferred server=ICNET
SPX abort timeout=2000
file handles=60
show dots=on

Link support
	buffers 3 2048
	mempool 3k

Protocol IPX
        Bind csiodi_e

Protocol TCPIP
     ip_address  129.105.113.255
     ip_router   129.105.113.5
     ip_netmask  255.255.255.0
     tcp_sockets 8
     udp_sockets 8
     raw_sockets 1
     nb_sessions 4
     nb_commands 8
     nb_adapter  0
     nb_domain

Link driver csiodi_e
        BOARD TYPE E3020
        INT   3
	frame Ethernet_II
	Protocol IPX  8137 Ethernet_II
The information in the TCPIP section is not used by NUPop, but is required for some other TCP/IP stacks, e.g., Novell's Lan Workplace for DOS. NUPop also supports Lan Workplace using the NUTCPLWP.EXE driver program which is included in the NUPop release materials.  See the section "Novell Lan Workplace for DOS" for further details.
Using NUPop with Lan Manager
NDIS - Network Driver Interface Specification - is yet another standard for sharing protocol stacks endorsed by Microsoft and 3Com.  You set up your NDIS drivers in the usual fashion and then use the NDIS_PKT program which simulates a packet driver interface on top of the NDIS interface.   A copy of NDIS_PKT is available for anonymous FTP from ftp.acns.nwu.edu in /pub/nupop.  
There are several different version of the NDIS_PKT program.  Not all of them work properly with NUPop.  The one available from ftp.acns.nwu.edu  does work with NUPop.
Using NUPop with LocalTalk 
NUPop runs over LocalTalk using the LOCALTLK.COM packet driver which is included in the NUPop release materials. This version was modified from a driver written by at UC Davis. Please read the file LOCALTLK.TXT which describes how to use the LOCALTLK.COM packet driver.  Note that you must use the version of LOCALTLK.COM enclosed in the NUPop release materials, NOT the version from UC Davis or the standard Crynwr version.
If you use static allocation of IP numbers for your LocalTalk PC station, specify the fixed IP number when invoking the packet driver and also when configuring NUPop.  If you use dynamic allocation of IP numbers, do NOT specify the IP number when invoking the packet driver.  Instead, specify  0.0.0.0 as the IP number when configuring NUPop.  NUPop then interrogates the packet driver to find the dynamically allocated IP number.

SLIP packet drivers

The NUPop release materials include a modified version of the standard Crynwr SLIP8250.COM packet driver.  There are a number of other SLIP packet drivers available which you might want to look at instead.  Peter Tattam, the author of the Trumpet newsreader, has written a compressed SLIP driver called C/SLIPPER.  This shareware packet driver provides better performance especially at lower connection speeds.  C/SLIPPER is not included in the NUPop release materials, but it is available for anonymous FTP from ftp.acns.nwu.edu in the /pub/nupop/cslipper subdirectory.

UMSLIP is a SLIP packet driver written at The University of Minnesota for use with the PHONE program to automate SLIP access for those programs (unlike NUPop) which do not provide automated SLIP access.  See the section on "Using Dial-up SLIP with NUPop" for more details on the PHONE program.  You do not need PHONE if NUPop is the only SLIP-based program you will be using.  However, if you will be using other TCP/IP applications besides NUPop over SLIP, you may find PHONE a convenient way to establish SLIP connections.  PHONE and UMSLIP are available for anonymous FTP from boombox.micro.umn.edu.  Northwestern users can obtain a diskette with PHONE and UMSLIP configured for local use from ACNS. 
Using NUPop with other TCP/IP drivers
NUPop incorporates its own built-in driver for TCP/IP. You may already have an existing TCP/IP driver which you load as a TSR to run other programs.  To run NUPop you generally must unload the other TCP/IP driver since only one TCP/IP driver may be active on a single packet driver/network card at a time.  NUPop also includes built-in support for the FTP Software kernel.

NUPop provides a programming interface that allows a knowledgeable programmer to write an external driver to interface NUPop with an arbitrary DOS TCP/IP kernel.   Four such external drivers are included as part of the NUPop release: NUTCPLWP for Novell's Lan Workplace for DOS, NUTCPWOL for Wollongong's PathWay, NUTCPWAT for the Waterloo TCP/IP library, and NUTCPTRM for Peter Tattam's Trumpet ABI TCP/IP kernel.  Appendix J documents the programming interface for external TCP/IP drivers. 

FTP Software Inc. kernel
NUPop looks for the FTP Software kernel and uses it if present instead of the built-in driver. NUPop uses the FTP Software interrupt 0x61 interface. Some other TCP/IP vendors also support the FTP Software interrupt 0x61 interface so NUPop works with them as well.  Among these are Beame and Whiteside and Essex. You must load the FTP software emulation drivers for these other stacks before running NUPop. See the documentation for Beame and Whiteside or Essex for details.
Novell Lan Workplace for DOS
To run NUPop over Novell's Lan Workplace for DOS you execute NUTCPLWP.EXE which is included in the NUPop release materials.  NUTCPLWP interfaces directly with  Lan Workplace so that you can run NUPop on IBM Token Ring networks and other devices that the built-in NUPop TCP/IP kernel cannot access.
To run NUTCPLWP just type:
NUTCPLWP 
This allocates interrupt 0x61 as the communications interface between NUPop and Lan Workplace, and then automatically executes NUPop.  NUTCPLWP unloads both NUPop and itself automatically when you exit NUPop.

If you need to use a different interrupt number or you want to pass command-line parameters to NUPop, you may do so using the general syntax:

NUTCPLWP int# programname program parameters

"int#" is the interrupt number to use in hexadecimal.  You may specify a value between 0x60 and 0x7F, inclusively.  "programname" is the name of the program to execute.  "parameters" are the parameters for the program. 

For example, to use interrupt 0x64 instead of 0x61, type:

NUTCPLWP 64

To run NUPop specifying the "/p=" parameter, type:

NUTCPLWP 61 nupop /p=a:

NUTCPLWP ignores the settings in NUPOP.NET for your PC's IP address, the gateway IP addresses, and the nameserver IP addresses.  You must provide these in the NET.CFG file instead.  See the section on ODI drivers above for more details.
Wollongong PathWay
To run NUPop using Wollongong PathWay as the TCP/IP transport, type:

NUTCPWOL
See the previous section on NUTCPLWP for details on specifying the interrupt number, program name, and program parameters.  Also as with NUTCPLWP, the NUTCPWOL driver ignores the settings in NUPOP.NET for your PC's IP address and the gateway and nameserver addresses.  You set these using the Wollongong "custom" program.  See your Wollongong documentation for further details.

Waterloo TCP/IP
The TCP/IP kernel built-in to NUPop, which is based upon the NCSA Telnet driver,  only allows you to have two TCP sessions active at once.  Since the FTP  protocol alone uses two simultaneous sessions, you cannot be using FTP and any other TCP-based facility (e.g., TELNET, Ph, Gopher, Finger) at the same time.  

The NUTCPWAT kernel gets around this problem by allowing up the eight TCP sessions to be active simultaneously.  NUTCPWAT uses a modified version of the Waterloo TCP/IP library.  This library was originally written by Erick Engleke. 

NUTCPWAT supports both SLIP and Ethernet packet drivers, but it does NOT support LocalTalk packet drivers.  Note that NUTCPWAT requires more memory than the built-in TCP/IP kernel.  If you are cramped for memory space and you are using the real-mode version of NUPop, you may not want to use NUTCPWAT.  If you are using the protected mode version of NUPop, you may find that NUTCPWAT provides better performance than the built-in TCP/IP kernel, in addition to more TCP sessions.

You will need to supply a standard WATTCP.CFG file if you use NUTCPWAT.  Appendix H documents the required entries in WATTCP.CFG for use with NUPop.

Interfacing to Trumpet ABI kernel
Peter Tattam, the author of the popular Trumpet newsreader for PCs,  has written a shareware TCP/IP stack for DOS.  The ABI version of Trumpet runs over this stack.  NUPop allows you to configure Trumpet as your external newsreader program.  If you do, you may find it best to use the NUTCPTRM.EXE external driver.  This driver allows NUPop to run over the Trumpet ABI kernel.  This prevents problems caused by having two different TCP/IP stacks fighting for control of the packet driver at the same time.  To run NUTCPTRM, just type:

NUTCPTRM
See the previous section on NUTCPLWP for details on specifying the interrupt number, program name, and program parameters.  Also as with NUTCPLWP, the NUTCPTRM driver ignores the settings in NUPOP.NET for your PC's IP address and the gateway and nameserver addresses. See the Trumpet documentation for details on how to specify these items to the Trumpet ABI TCP/IP kernel.

Interfacing to other TCP/IP software: PKTMUX
For TCP/IP kernels other than those mentioned above, such as Sun's PC NFS, you MAY be able to get your TCP/IP software to coexist with NUPop's built-in TCP/IP driver by using the PKTMUX program written by Graham Robinson.  A copy of PKTMUX appears in /pub/nupop/pktmux on ftp.acns.nwu.edu.  You need to download this file in binary mode.  You should use PKTMUX version 1.2c or later.
PKTMUX does not work over the SLIP8250.COM packet driver. PKTMUX does work with Peter Tattam's C/SLIPPER.EXE, when C/SLIPPER is used in ethernet simulation mode.  You may obtain C/SLIPPER from ftp.acns.nwu.edu in /pub/nupop/slipper.
As an example, here is one way to set up PC NFS and Windows for Workgroups to coexist with NUPop using PKTMUX.
You will need the file pktd.sys which allows PC NFS to run over a packet driver.  You will also need the files pktmux.exe and pktdrv.exe from the PKTMUX distribution.  You will need dis_pkt.dos from the NDIS_PKT distribution.  The following example assumes an NE2000 network card; the setup for other types of cards is similar.

Your AUTOEXEC.BAT would look like this:

rem load WINPKT - it acts as an interface between
rem an application running under Windows 3 in 
rem Enhanced mode and a Packet Driver.

winpkt 0x61 0x60
rem load packet multiplexor TSR - provides, in 
rem conjunction with PKTDRV, multiple IP protocol 
rem channels to a Packet Driver.

pktmux 2

rem load TSRs which provide the pseudo Packet Driver 
rem interface in conjunction with PKTMUX

pktdrv
pktdrv

rem start PC-NFS

SET NFSDRIVE=C
SET NFSPATH=C:\NFS
SET TN_DIR=S:\DOS\NFS\TELNET
C:\NFS\NET INIT
c:\nfs\rtm

Your CONFIG.SYS file might look like this:

rem windows for workgroups stuff
DEVICE=C:\WINDOWS\protman.dos /i:C:\WINDOWS
DEVICE=C:\WINDOWS\workgrp.sys
DEVICE=C:\WINDOWS\ne2000.dos
rem packet driver for pcnfs
DEVICE=pktd.sys
rem packet driver to ndis convertor
DEVICE=DIS_PKT.DOS
rem pc-nfs drivers
DEVICE=C:\NFS\PCNFS.SYS
DEVICE=C:\NFS\SOCKDRV.SYS

Your PROTOCOL.INI file might look like this:

[network.setup]
version=0x3100
netcard=ms$ne2clone,1,MS$NE2CLONE
transport=ms$netbeui,MS$NETBEUI
lana0=ms$ne2clone,1,ms$netbeui

[protman]
DriverName=PROTMAN$
PRIORITY=MS$NETBEUI

[MS$NE2CLONE]
DriverName=MS2000$
IOBASE=0x340
INTERRUPT=5

[MS$NETBEUI]
DriverName=netbeui$
SESSIONS=10
NCBS=32
BINDINGS=MS$NE2CLONE
LANABASE=0

;
; Section for PC-NFS NDIS Interface
;
[NFS-NDIS]
DriverName = NFSLINK$
BINDINGS=MS$NE2CLONE

[pktdrv]
drivername = pktdrv$
bindings = MS$NE2CLONE
intvec = 0x60
chainvec = 0x66 ; chaining to another Packet Driver
Using TRYPKTD.EXE to check setup
If you receive messages about "packet driver not found" or "TCP/IP driver not loaded" when you try to execute NUPop, you should run the TRYPKTD.EXE program included in the NUPop release materials.  You can redirect the output to a file.  TRYPKTD checks to see if a packet driver interface is present and also looks for supported TCP/IP drivers.  

Example:

     TRYPKTD >STUFF.LIS

Here TRYPKTD writes output to STUFF.LIS.  

Examining STUFF.LIS may help you determine why NUPop cannot find a recognized TCP/IP driver.  You may want to show this output to your local support personnel when you report problems with NUPop.
Conflicts with NCSA Telnet
If you have NCSA Telnet installed on your PC you MUST  configure NCSA Telnet is to use the packet driver interface, NOT a direct hardware driver.  If you try to run NUPop after running NCSA Telnet  when it is configured to access the network hardware directly, NUPop (and other packet-driver-based applications) will fail.  The "hardware=" in the NCSA Telnet configuration file CONFIG.TEL MUST
say:

hardware=packet

If this line specifies any other type of driver, NUPop will fail if you execute NCSA Telnet first.
Using NUPop under Microsoft Windows
The primary problem with running Windows and packet drivers together is that Windows moves programs, and data around in memory,  and swaps "virtual DOS machines" in and out of memory. This confuses the packet driver which may clobber other programs or data areas that do not belong to it. 
WINPKT -- Virtual packet driver for Windows
The solution is to use the virtual packet driver called WINPKT from the Crynwr collection. This runs as an extra layer between the real packet driver and the network applications. WINPKT ensures that packets are delivered to the proper Windows virtual machine by requesting that Windows swap in NUPop as needed. The NUPop distribution materials include a copy of WINPKT for your convenience.
Here is a sample setup used with a Western Digital (SMC) ethernet card:
wd8003e 0x62 0x3 0x280 0xc000
winpkt  0x60 0x62

The real packet driver is set up at interrupt 0x62. When WINPKT runs it "looks like" a packet driver at the interrupt listed as its first parameter, in this case, interrupt 0x60. You should use a lower interrupt number for WINPKT than for the real packet driver, so that software that scans for a packet driver (like NUPop) will find WINPKT instead of the real packet driver.
WINPKT also works fine in conjunction with ODIPKT. You need not unload WINPKT if you are not using MS Windows.  WINPKT has no effect unless Windows is running.
NUPOP.PIF and NUPOP.ICO
The NUPop release materials also contain a sample NUPOP.PIF program information file and a NUPOP.ICO icon file for installing NUPop under Windows.  To install NUPop as a DOS application under Windows, do the following:
(1)	Choose "File/New..." from the Windows Program Manager menu. Select "New program group" from the dialog.  Click on OK. 
(2)	Fill in the description with "NUPOP Email Program" and the group file name with "NUPOP". Click on OK. Windows displays an empty program group window called "NUPOP Email Program".  
(3)	Choose "File/New..." from the Program Manager menu again.  Select "New program item" from the dialog.  Click on OK.
(4)	Enter "NUPop" as the description and "C:\NUPOP\NUPOP.PIF" as the command line.  (This assumes that you have installed NUPop in subdirectory C:\NUPOP -- if not, enter the directory name you used instead. You will also have to use the PIF editor to modify NUPOP.PIF to point to your NUPop directory.) Click on OK.  Windows displays NUPop with a generic DOS icon.
(5)	Select NUPop by single-clicking on it. Choose "File/Properties..." from the Program Manager menu.  Click on "Change Icon." You will probably receive a message saying "There are no icons available for the specified file."  Click on OK. 
(6)	A new dialog will appear. Type over the "Filename" value in the dialog with "C:\NUPOP\NUPOP.ICO". You should see the current icon change to a picture of a postal letter.  Click on OK. 
(7)	You will be back at the previous dialog.  Click on OK again.  You will be back at the NUPop program group window.  NUPop should now appear with the icon of a letter.
(8)	Double-clicking on the NUPop icon begins NUPop execution.
Using the Mouse under Windows
You should be able to use your mouse or other pointing device in an enhanced mode window under Windows 3.1.  If your mouse doesn't work in an enhanced mode window, check the following:
(1)	If you are using the Microsoft mouse driver, is it version 8.2 or later?  If not, update your mouse driver.  If you are using a third-party mouse driver, check with the manufacturer to obtain an updated mouse driver to support Windows 3.1.
(2)	Is the video grabber you have specified in your system.ini file a Windows 3.1 grabber? The grabber has a file name like name.3GR.  The standard Windows 3.1 grabber files EGA.3GR and VGA.3GR support the use of a mouse in an enhanced mode window.  If you are using a third party grabber, check with the manufacturer to obtain an updated video grabber.
(3) 	I f you are using a mouse other than the Microsoft mouse driver, or a third-party video driver, you may need to place the line "MouseInDosBox=1" in the [NonWindowsApp] section of your system.ini file:
	[NonWindowsApp]
	MouseInDosBox=1
	If "MouseInDosBox=0" appears instead, this disables the use of the mouse in NUPop.
Serial or SLIP access under Windows
If you intend to use NUPop for [Serial]access or [SLIP] access under Microsoft Windows, you should make a few modifications to the SYSTEM.INI file in the [386ENH] section to improve serial performance.
(1)	List all your serial ports along with their addresses and interrupt request levels.  For example, if you have three serial ports installed on your PC, you might enter something like this:

	COM1Base=03F8
	COM1Irq=4
	COM2Base=02F8
	COM2Irq=3
	COM3Base=03E8
	COM3Irq=4

	You can also do this  from the Windows Control Panel.  Double-click on the "Ports" icon.

(2)	Give the serial port to which your modem is attached a large buffer.  For example, if your modem is attached to COM1, enter the statement:

	COM1Buffer=10000

(3)	Change the serial port AutoAssign value for the serial port that you wish to use for your modem to ZERO.  This defines the time in seconds that Windows waits before giving control of that COM port to another application.  

	COM1AutoAssign=0

	You can also do this from the Windows Control Panel as follows.  Double-click on 386 Enhanced, and under "Device Contention", set the device contention for the serial port to which your modem is attached  to "Never Warn"

(4)	The serial port controller chip should be a buffered UART chip such as the NS16550AN.  Many newer systems and more expensive internal modems now come with buffered UART chips already installed.  You may be able to replace an existing serial chip with an NS16550AN; check with the manufacturer of your system.  A buffered UART chip prevents problems in multitasking environments like Windows.  

	To check what kind of UART chip your serial port is currently using, you can use the CHECKUAR.EXE  utility included as part of the NUPop release materials.  Just type:
	checkuar
	at the DOS prompt.  This lists the UART types of the four standard serial ports COM1: through COM4: on your system.  CHECKUAR assumes that the addresses of these ports are stored in four consecutive words in low memory at 0040h:0000 (as they should be).

Memory manager issues under Windows
NUPop works well with Qualitas's 386^Max and  Quarterdeck's QEMM drivers.  Each of these replaces the standard HIMEM.SYS and EMM386.EXE drivers which come with Windows.  You may encounter problems running NUPop with EMM386 under Windows 3.0.  You should upgrade to Windows 3.1.  
Windows 3.1 also allows you to use your mouse with NUPop in an enhanced mode window; Windows 3.0 does not.  The serial port drivers in Windows 3.1 also work much better than those in Windows 3.0, so if you intend to use NUPop in [Serial] mode, you should be using Windows 3.1.

You may also want to refer to Appendix I which provides more technical details about using the protected mode version of  NUPop under Windows.

Running NUPop with Windows Sockets

A large number of software vendors have endorsed the Windows Sockets Application Interface, often called "WinSock" for short.  A Windows program written to this interface can run over any vendor's WinSock compliant TCP/IP stack.

NUPop, even in protected mode, is not a Windows application,  and it cannot use the WinSock library.  (Actually it is possible to write an interface between a DOS program and the WinSock interface library, but no vendors have so far done so.)  You may want to use NUPop and WinSock applications together.  You can do this by using the PKTMUX driver.  You need to allocate at least two pktdrv sessions:  one for NUPop, and another which will be shared by all the WinSock applications.  These should be loaded BEFORE you start Windows:

rem load packet multiplexor TSR - provides, in 
rem conjunction with PKTDRV, multiple IP protocol 
rem channels to a Packet Driver.

pktmux 2

rem load TSRs which provide the pseudo Packet Driver 
rem interface in conjunction with PKTMUX  One of these will be used by NUPop; the other by all the WinSock clients.

pktdrv
pktdrv

rem Start Windows
win /3

You need not load WINPKT if you are using PKTMUX.  See the PKTMUX documentation for further details.

Don't use this scheme if you are running NUPop over the FTP Software TCP/IP stack v2.2 or later.  The FTP Software stack automatically handles mixed low-level calls from NUPop and WinSock calls from Windows client programs.
Running NUPop under Desqview
PKTMUX also allows you to run NUPop in [Network] mode under Desqview.  See the PKTMUX documentation for details.   
For ordinary serial access mode, you do not need PKTMUX.  If you use NUPop in serial access mode, you should enable the "High Priority Communications" option in the Desqview setup.  You should also run NUPop as the first task since it will benefit from the hardware switching registers.  It also helps GREATLY if your serial port uses a buffered UART chip such as the NS16550AN.
If you want to run NUPop in [SLIP] mode under Desqview, and you are not running any SLIP applications in other windows, you do not need PKTMUX.  Load SLIP8250.COM in a large DOS window, followed by NUPop.   You should establish the connection to the SLIP server before loading SLIP8250.COM and NUPop, or you should set up NUPop for dial-up SLIP access.  See the section "Using Dialup SLIP with NUPop" for more details on dialing.
Running NUPop under OS/2 2.1
To run NUPop under OS/2, use these DPMI settings:

DPMI_DOS_API Enabled
DPMI_MEMORY_LIMIT 1
DPMI_NETWORK_BUFF_SIZE 1

To set up a WPS icon for NUPop:

1.	From the OS/2 desktop, double-click on the Templates folder to open it, grab the Program icon and drop it onto the desktop or another folder.
2.	When the Program Settings dialog box appears, enter the following:
Path and file Name: *
Parameters: /C C:\NUPOP\NUPOP.EXE
Working directory: C:\NUPOP

	Substitute the appropriate drive/path as needed.

3.	Click the Session thumb tab and select DOS full screen or DOS window as desired. Optionally you can modify your DOS session settings to tailor the session's configuration.
    
4.	Click on the General thumb tab and enter NUPop 2.0 (or your own preference) for the program title.

5.	Double-click the Close button.

NUPop Configuration Files

Configuration file names
NUPop stores its configuration information in plain ASCII text files.  You may view or print these files using any ordinary text editor.  You should NOT modify these files manually unless you are very familiar with NUPop.

The following table lists the name and purpose of each  NUPop configuration file.  The "required" files are created when you run NUPop. You create the "optional" files at your leisure one NUPop is installed an operational on your system.. 

NUPOP.NRC and NUPOP.TAC are included as part of the NUPop release.  

Appendix D discusses the national replacement character sets defined in NUPOP.NRC. 
Appendix E discusses the format of the NUPOP.TAC file which controls the conversion of files to and from BINHEX format as well as the choice of transfer type for FTP file transfers. Appendix F discusses the format of the NUPOP.GUP file which contains group and alias definitions for email addresses. Appendix G discusses the format of the NUPOP.BMK file which contains Gopher bookmarks.  NUPOP.HST consists of a list of Internet host names.  NUPop presents this list when you use Utilities/Terminal and Utilities/FTP. The remaining NUPop configuration files all contain entries of the form "keyword=value".  The meaning of each keyword should be obvious, to English speakers at least.

NUPop configuration files

Provided:		
NUPOP.NRC	Character set mappings	
NUPOP.TAC	Type and creator data used when binhexing files	
Required: 	(Created if missing at start-up)	
NUPOP.CFG	User settings and preferences	
NUPOP.COL	Screen Colors	
NUPOP.NET	TCP/IP network interface settings	
NUPOP.PRT	Printer settings	
NUPOP.SER	Serial interface settings	
Optional:		
NUPOP.ADM	Key definitions for ADM3A terminal emulation	
NUPOP.BMK	Gopher bookmark definitions	
NUPOP.FNC	Key definitions for ALT1 through ALT0	
NUPOP.GUP	Group definitions	
NUPOP.HST	Host system list	
NUPOP.SIG	Signature text	
NUPOP.VT1	Key definitions for VT100 terminal emulation	

Location of configuration files
By default, NUPop stores configuration files in the same directory as the main NUPop executable file NUPOP.EXE.  NUPop also allows you to place the configuration files in different directories.  This eases setting up NUPop for use on a public network.  For example, you could place the NUPop program on a network drive in, say, H:\NUPOP.  You would not put any configuration files in this subdirectory.  Instead you would put individual network configuration files on local drives, say, in C:\NUPOP.  Typically you would place these files in C:\NUPOP:

	NUPOP.ADM
	NUPOP.COL	
	NUPOP.NET
	NUPOP.NRC
	NUPOP.PRT
	NUPOP.SER
	NUPOP.TAC
	NUPOP.VT1

An individual user might then have her own configuration files on a floppy diskette:

	NUPOP.BMK
	NUPOP.CFG
	NUPOP.FNC
	NUPOP.HST
	NUPOP.SIG
	 
Typing:

     C:
     CD NUPOP
     NUPOP /P=A:

asks NUPop to read the global configuration files from C:\NUPOP and the user configuration files from A:.  The "/P=A:" parameter instructs NUPop to look for other configuration files on drive A:.  (See Appendix B for other NUPop command line parameters.) 
MAKE SURE THAT BOTH C:\NUPOP AND H:\NUPOP LIE IN THE DOS SEARCH PATH! 

If you mark the "global" configuration files as read-only, NUPop will not update them even when you change parameters from within NUPop.  This allows you to place shared copies of some of the files on a network drive for use by multiple NUPop users.

You may explicitly specify paths for the network and user configuration files by assigning values to the two DOS environment variables,  NUPOPNET and NUPOPUSR, respectively.  NUPop searches these directories BEFORE those in the DOS path.  Example:

     SET NUPOPNET=H:\NUPOP\
     SET NUPOPUSR=C:\NUPOP\
The user directory specified by /P= OVERRIDES any specified by NUPOPUSR!
Search order for NUPop configuration files
NUPop searches for configuration files in this order:

1)	The directory specified by "/p="
2)	The directory specified by "NUPOPUSR"
3)	The directory specified by "NUPOPNET"
4)	The current directory
5)	All directories on the DOS Path

NUPop User Interface Conventions

Before you begin filling in the settings screen you should know something about NUPop's user interface conventions.  NUPop follows user interface conventions common to much PC software.  There is a menu bar at the top of the display, a status line at the bottom of the display, and one or more windows each presenting a different type of information.    
NUPop supports pointing devices like a mouse.  You will probably  find NUPop easier to use with a pointing, but nearly all its features can be accessed from the keyboard.  If you are familiar with similar software you may be able to skim this section, and go to the following sections on NUPop settings.
Very Important:  Use the TAB key NOT the ENTER key to move from field to field in the setup menus!  Press the ENTER key to accept all the settings you have made.
The <Esc> Key is Used to Cancel a Dialog or Menu. 
This is especially important because it is the only way to exit some dialog windows which have no cancel button.  If a dialog window DOES have a cancel button, you should use that -- <ESC> may not work.
Picking from Menus with a Mouse 
NUPop uses "pull-down" menus which stay down once the menu is selected until an item on the menu is picked or the menu is canceled.
To select a menu, click on the menu title to display the pull-down menu. (Use only the left  mouse button if your mouse has more than one button).  Then click on the name of a command on the menu.  
Instead of clicking twice, you can push the mouse button over a menu title and continue to hold the mouse button down as  you drag the mouse cursor down from the menu title to the command name, then release the mouse button.  If you decide not to pick  a command, move the mouse cursor away from the pull-down menu and release the mouse button. Then nothing will be done.
Command Key Equivalents
If you don't have a mouse or wish to use command-key equivalents, the important keys <Esc>,  <Alt>,  <Tab>,  <Enter>,  the arrow keys and the space bar.
<Tab> Skips to the Next Item
The <Tab> key is used in windows and dialog boxes to move from one item to another, to change the current button or field.   When items like buttons are grouped, the <Tab> key moves from one group to another and the up and down arrow keys move from one item to another in this group.
Note that this means that you CANNOT press the <Tab> key to enter a tab character into a field you are editing.  Press the <CTRL> and I keys simultaneously to enter a tab character.
<Alt> is Used for Menu and Button Equivalents
Key equivalents are indicated by highlighted letters in the names of menus, menu items, buttons (and other items in settings dialogs).  Usually the <Alt> key is held down while typing the highlighted letter,  to pick a menu or button. For example:
<Alt>-F selects the "File" menu
<Alt>-B selects the "MailBox" menu
Picking from Menus with the Keyboard
To pick a menu item, first pull down the menu by typing the highlighted letter in the menu name while holding down the <Alt> key, then type the highlighted letter in the text of the menu item (It is not necessary to press <Alt> again to pick a menu item  once the menu is down.
You can also pick a menu item by moving the selection with the arrow keys and pressing <Enter>.
Three dots ("...") in the title of a menu item or button indicates it brings up a dialog box window rather than doing something immediately. 
There are additional key equivalents for some frequently menu items.  These are listed on the menus.
Push Buttons
"Push Buttons" appear on screen as rectangles with a name and a drop shadow.
If you have a mouse, click on push buttons with the mouse.
Press the <Tab> key to go through a dialog until a button you want is highlighted, then press the <Enter> key to choose  that button.  (Press Shift-<Tab> to move backwards in a dialog box.)  
Text Fields
One of the fields in a dialog box is "selected" -- indicated by being drawn in a different color scheme. When a field is selected, you can edit its text.  In some cases a field in a dialog box is "disabled"   (If so, you cannot select or change that field. ) If you have a mouse you can select a text field by clicking on the field with the mouse.
Press the <Tab> key to select to the next field.  To get an actual Ascii tab character (^I) inserted, press the <Ctrl> and I keys simultaneously.
Some fields have text labels next to them containing a highlighted letter.  You can quickly select that field by holding down the Alt key and pressing the highlighted letter. 
If the existing text is highlighted, anything you type will replace that value.  If the text is not highlighted then anything you type will be inserted into the existing text at the point of the blinking cursor. 
You can move the cursor within a field with the left or right arrow keys or the Home and End keys (this will also de-highlight the text).  You can highlight some or all the text by holding down the Shift key while using the cursor keys. 
You can delete a character by pressing the <Backspace> or <Delete> (Del) keys.  Pressing the <Insert> (Ins) key toggles text input between "Insert Mode" and "Replace Mode." 
Check Boxes and Radio Buttons
Check boxes and radio buttons are used to select options in dialog box windows. They are similar except that radio buttons represent a group of mutually exclusive choices. Options which are on are indicated by "[X]" for check boxes and "(•)" for radio buttons. Options turned off are indicated by "[ ]" or "( )".
You toggle a check box on or off by clicking between the brackets "[ ]" or clicking on the label immediately to the right.   You may also press the space bar to select or unselect these items.
The Space Bar Toggles Radio Buttons
If you don't have a mouse, press the <Tab> key until the check box is highlighted and then press the space bar.  You can also toggle a check box by pressing <Alt> and a highlighted letter from its label.
If several check boxes are grouped together, pressing <Tab> moves to the next group.  Use the up and down arrow keys to highlight a the check box you want within the group.  On some monitors, NUPop may indicate the highlighted check box or group of check boxes by placing a chevron symbol  "»"  next to it. 
Radio buttons work just like check boxes, except that only one button in a group is on at any one time.
List Boxes 
A list box is used in a dialog to pick from  a scrolling list of choices.  To activate a list box , click on it or press <Tab> until it is highlighted.  Then use the mouse to  manipulate the scroll bar or if you don't have a mouse, press the up-down arrow keys to move within the list. 
Editing Text  in NUPop
Anywhere in NUPop, the <Del> key deletes text forward from the current cursor position, and the <Backspace> key deletes text to the left of the cursor position.  
Except within a dialog box, you can use the mouse to drag over (select) text to be cut or copied.  Without a mouse, select text by holding the Shift key down and use the arrow keys to expand the amount of text selected, starting with the current cursor position.  
Once the text is selected (highlighted) you can cut the selected text, by selecting Cut from the Edit menu.  Likewise, to copy selected text, select Copy from the Edit menu.  To paste the text contained in NUPop's clipboard, move the cursor to the destination then select Paste from the Edit  menu.
If you are running under Microsoft Windows enhanced mode, NUPop can copy/cut/paste text directly to and from the Windows clipboard.  NUPop mirrors the contents of the Windows clipboard with its own internal clipboard.
NUPop provides additional text editing features which you may use to edit the body of a message or to edit text files. A complete description of these commands may be found in the NUPop User's Guide or the online Help (Help/Editor commands).

Executing NUPop for the First Time
Initial setup
The first time you run NUPop, you will be asked to fill in several screens of settings. These setup screens can also be reached from the Options Menu.  You can ask for help on each field by pressing the <F1> key on your PC's keyboard.  You seldom need to change most of the settings after the first time.
Many NUPop settings remain the same regardless of  the connection method you choose  to the mail server.  In the following descriptions, you should assume that the settings apply to all connection methods unless you are explicitly told otherwise.
Running NUPop
To run NUPop, change to the directory which contains the NUPop program and type:
C:
CD \NUPOP
NUPOP

The optional control statement parameters for NUPop are described in Appendix C.
Order in which NUPop asks for settings
When you execute NUPop for the first time, you will be asked to fill-in several screens of settings.  The order in which these screens appear is as follows:

	User configuration
	General Preferences
	Message Preferences
	Network settings

If you select [Serial] access in the Message Preferences screen, NUPop also asks you to fill out the following:

	Serial configuration
	Modem configuration

There are several other optional setup screens which NUPop does NOT display the first time you execute it.  These are:

	Color settings
	Mouse settings
	Printer settings
	Signature
	Trace
	Video mode
	External programs

You may modify  the settings in any of these setup screens by  selecting the Options menu item once you have entered the basic information which NUPop requests.

User Configuration

The User Configuration display allows you to specify your POP server user name and password, your preferred name and return mail address, the subdirectories for your mailboxes, received file enclosures, and downloaded files, the language in which you will be writing your messages, the size of a "large" message which can optionally skip when retrieving mail over a slow connection, and the time interval before NUPop's built-in screen saver activates.  This information is stored in the NUPOP.CFG configuration file.

User Name	
This required parameter specifies the name of your account on the POP server. For UNIX and some other systems, this is case sensitive and should usually be in lower case. 
Full name
This required parameter  specifies your real name as you want it to appear in comments in the mail headers.
Password	
This specifies the password corresponding to your POP server user id. This is also case sensitive on UNIX systems.  If you leave this blank in the configuration dialog, you will be prompted for it later.  NUPop does not display the password you enter for security reasons.  Instead it displays asterisks.
The POP protocol does not allow for blanks in passwords even though some systems do.  If you currently have a blank in your password you will need to choose a new password without a blank in order to use NUPop.
Return address
Specify this if you want your email headers to list a different address than your user id and POP server host name.
At Northwestern this is a good place to put your PH alias, if you have registered your email address in the PH database.  In this way your correspondents will reply via PH and you can redirect their mail to a different system later if need be.
Mail Path
This required parameter specifies a DOS subdirectory in which NUPop creates subdirectories for mail. Enter the name of the subdirectory you created to hold mail, e.g., C:\MAIL.  Each mailbox creates a  subdirectory with a name of the form   nnnnnnnn.MBX  where "nnnnnnnn" is the name of  the mailbox.  NUPop automatically creates the IN.MBX, OUT.MBX, SENT.MBX, and TRASH.MBX subdirectories underneath the specified mail path.  These correspond to the IN, OUT, SENT and TRASH mailboxes respectively. The IN mailbox contains messages you receive; the OUT mailbox contains messages you are sending; the SENT mailbox contains copies of messages you have sent; and the TRASH mailbox contains messages you delete.
Enclosure path	
Specifies a DOS subdirectory in which NUPop places files sent as binhexed attachments to mail messages.  If you do not specify an enclosure  path, NUPop stores enclosures in subdirectory ENCL underneath the NUPop mail path. 
Download path	
Specifies a DOS subdirectory in which NUPop places files retrieved using the FTP utility built-in to NUPop. If you do not specify an enclosure  path, NUPop stores enclosures in the currently active subdirectory.
Large message
Specifies the maximum size message (in characters) which NUPop acquires when the "Skip large messages" option is selected.  Messages greater than this size are left on the POP server.  This is useful
when you are acquiring mail over a slow serial link and only wish to skip over large messages which could take a long time to acquire.   The default size is set very large so that all messages will be acquired.

Save Screen After
Specifies the number of seconds of idle time after which NUPop clears the screen and displays a moving marquee line as a "screen saver."  To prevent the screen saver from becoming active, you may set this value to zero.
Language
This specifies which national replacement character set (NRC) is to be used when sending and receiving messages.  The file NUPOP.NRC defines these character sets which are essentially variants of the standard ASCII character set.  The default is "English."  Not all mail software supports the other character sets besides "English", so use them with care.  Appendix D defines the available character sets.

General Preferences

Check printer status using BIOS interrupt 17h
NUPop usually checks printer status using BIOS interrupt 17h.  This generally works if you are using a printer which is directly connected to your PC. If you are using a network redirected printer, the status values returned by interrupt 17h may be wrong. Some systems do not return correct values for interrupt 17h even for directly-connected printers. You receive bogus "out of paper" or "off-line" messages from NUPop in these cases.  You should disable this option if that happens.
Display initial copyright screen
If checked, NUPop displays the NUPop copyright dialog box (NUPop's initial screen) whenever you start up NUPop. The same dialog can be selected  by choosing  the Help/About menu item, so there is little value in leaving this checked.    The version information is valuable for debugging purposes.  If you call the Information Center about a problem with NUPop, be sure to look at the "About" information so that the consultant will know which version you are using.
Display Graphic Cursor on EGA/VGA
If checked, NUPop displays the mouse cursor as an arrow instead of a plain block cursor.  This feature only works on EGA and VGA displays, and it is disabled when you run NUPop under Windows, Desqview, or OS/2.  

NUPop implements the arrow cursor by reprogramming the PC's hardware character generator on the fly.  The Ascii characters D0h to D8h are redefined to produce the arrow cursor.  The arrow cursor may not work properly with some graphics adapters, in which case you should unselect this option.

Drop Data Terminal Ready (DTR) when closing serial connections
NUPop usually drops the Data Terminal Ready  (DTR) signal line when closing a serial connection.  If you do not select this option, NUPop does not drop DTR. You may still do this by using the DropDTR script command in your "drop" or "disconnect" scripts.
Hang up serial line when quitting NUPop
If checked, NUPop hangs up the phone line when finishing execution if serial access or dial-up SLIP mode is active.
Ignore serial carrier detect line status
Normally NUPop uses the carrier detect status line to determine if a serial access session is active. When there is a check in the square to the left of this preference, NUPop ignores the carrier detect line. You may find this helpful when using serial access mode over a hard-wired serial line.
Mirror MS Windows clipboard
If checked,  NUPop attempts to synchronize the contents of the MS Windows clipboard and the internal NUPop clipboard.  NUPop places Edit/Cut and Edit/Copy text onto the MS Windows clipboard.  NUPop checks the contents of the MS Windows clipboard every second. Since checking the Windows clipboard can absorb a great deal of processor time, you may wish to disable this option if you have a slow machine.

Note:  This option only works in Windows enhanced mode!  
Prompt for password at startup 
If checked, NUPop asks you to enter your password every time you start NUPop.  The password is not stored in the configuration file. 
Quit NUPop without prompting
If checked, NUPop will not ask you if you really want to exit NUPop when you select "File/Exit" or press <ALT>X. 
Send password character by character
If checked, NUPop sends passwords one character at a time to the remote system, with a delay between each character.  This is a security measure to make it more difficult for someone intercepting network traffic to locate passwords.  You should leave this option selected at all times unless your server cannot handle a password sent this way.  The most likely servers to require that you unselect this option are IBM VM/CMS systems.

You can override the setting of this option with the "/NOTIMED" parameter when executing NUPop.  
Swap to EMS/DISK when shelling to DOS
If checked, the real mode version of NUPop frees memory when running a DOS shell by swapping itself out to EMS (expanded memory) or a temporary disk file.  This frees all but a few thousand bytes of memory so that you can run large programs.  The protected mode version of NUPop ignores this option; it automatically tries to store as much code and data as possible above the 640K boundary in order to leave low memory available for use by other programs when you shell to DOS.
Note:  NUPop will not swap itself out if you are using the built-in TCP/IP kernel and you have any active network connections.
Use 43/50 Line Mode at  program startup
When this is checked, NUPop will start with the program in the highest resolution mode allowed by  your computer's video display adapter.  You can  always use NUPop's Video mode command under the Options menu to switch to between low resolution mode (25  line mode) and high resolution mode (43/50 line mode).   If you switch to 43/50 line mode and exit NUPop, this option is automatically reset to start NUPop in 43/50 line mode the next time you run NUPop.
Use serial communications	
Check this to select [Serial] communications using serial dial-up.  Leave it unchecked to select [Network]  or [SLIP] access using the packet driver interface.
Note:	This must be set correctly!
Use virtual memory
If checked, the real mode version of NUPop stores message data and indices in EMS, XMS, or on disk.  The default is to store such information on disk in a temporary file located in the temporary files directory specified at Options/Network/Advanced/temporary files path. There are also two configuration options in the Advanced "Network" settings for specifying the maximum number of kilobytes of EMS or XMS to allocate to the virtual memory area.
Only one of EMS or XMS is used at a time.   EMS is selected preferentially if both are available.  Both provide much better performance than using a disk file for virtual memory.  We do not recommend disabling virtual memory as this severely limits the number of messages NUPop can process.
The protected mode version  of NUPop ignores this option.  The protected mode version uses all the memory  which the DPMI server makes available.  Some DPMI servers -- Microsoft Windows enhanced mode, for example -- allow you to request a swap file on disk to provide additional (virtual) memory.  NUPop uses this extra memory automatically since it is transparently provided by the DPMI server.

Message Preferences

Append signature to outgoing mail
When this is checked, NUPop appends the "signature" text of your choice to each of your outgoing messages.  Select the Options/Signature menu item to define your signature text.  See the section "Signature Settings" for more details.
Ask for return receipt
If checked, NUPop adds an SMTP "Return-receipt-to:" field to each outgoing message.  Some mail systems process this field and return a receipt message which indicates that the message has been received and/or delivered to the specified addressee(s). Other mail systems ignore this field.
Automatic Blind Carbon Copy
If checked, NUPop adds your return address to the
blind carbon copy field "BlCC:" when you compose a message or reply to a message.
Convert EOL when decoding Binhexed files
If checked, NUPop adds a line feed following each carriage return character when decoding a binhexed file marked as type=TEXT.  You may want to turn disable this option if you will be receiving files from a Macintosh which are not text files, but which the Macintosh applications mark as type text.  (This is common for spreadsheet files, for example.)
Decode incoming binhexed files
Normally NUPop decodes files encoded using binhex and enclosed in messages to the enclosures subdirectory.  The rest of the message is stored as the actual message text.  If this option is checked, NUPop leaves the binhexed file undecoded as part of the actual message text.
Decode incoming UUencoded files
If checked, NUPop decodes embedded UUencoded file enclosures in messages.  The files are copied to the enclosures subdirectory.  If this option is not selected, embedded UUencoded files are not decoded and remain part of the message text.  You may then use a standalone UUdecode program on the received message text if you desire.

Note: NUPop does NOT support decoding of UUencoded enclosures spanning multiple messages!
Delete unprocessed messages without warning  
NUPop usually warns you if you try to delete either a received message which you haven't read yet, or  an outgoing message which you haven't sent yet. If this option is checked, NUPop does not issue any such warnings. 
Empty trash when NUPop terminates
When you delete a message it is actually moved to the TRASH mailbox. When this option is checked, NUPop empties the TRASH mailbox at the end of each NUPop session.  When not checked, NUPop keeps deleted messages in the TRASH mailbox from one NUPop session to another.  We recommend  you leave this option checked. 
Expand group names when sending messages
If checked,  as mail is sent out, NUPop automatically replaces group names that appear in the "To:"," Cc:", or "BlCc: " fields with the corresponding list of addresses.  You define group names at the "Groups" menu item.  
Acquire mail after sending messages
If checked, NUPop acquires messages after sending one or more messages. Normally NUPop acquires messages only when explicitly requested.  You may find this useful when using NUPop in serial mode since you can send and retrieve messages with one phone call.
Acquire only new mail
If checked, NUPop only acquires new messages from the POP3 server, skipping over old messages which have previously been accessed.   This option is normally selected.  If this option is not selected, then NUPop retrieves all messages, even previously read messages. 
This option DOES NOT WORK with POP2 servers.  It only works with POP3 servers which add a "Status:" header to messages processed by the POP3 server.  One popular POP3 server for UNIX systems which does this is the Berkeley POPPER program.  
Acquire mail at startup
If checked, NUPop automatically acquires any new messages when you start NUPop. 
DO NOT SELECT THIS OPTION UNTIL YOUR NUPOP SETUP IS COMPLETELY DEBUGGED!
Honor return receipt request 
When this is checked, NUPop sends (or enqueues) a return receipt message for a corresponding incoming mail message.  "Return Receipts" are an optional feature of email which requests the receiving software to return a message acknowledging that a message was received.  Return receipts are of limited usefulness because much email software does not send replies to honor these requests.  Note that receiving a return receipt does NOT necessarily mean that the recipient has read the message you sent, only that a mail program has accepted the message for delivery to the recipient.
 Include mail text in reply
This feature is used in conjunction with the Reply button in the Viewer  window.  When this is checked, NUPop places a copy of the incoming message in the Composer window if you Reply.  The text from the incoming message appears before your  reply, with a leader line stating, " On [date] [author] writes: ".  To differentiate the incoming message from your  reply,   NUPop places a ">" symbol before each line of the incoming message.  You then type your  reply following or interspersed with this text. 
Leave incoming mail on server 
If checked, NUPop leaves a copy of any downloaded messages on the remote server.   Otherwise messages are deleted from the POP server after NUPop retrieves them.  This option does not work with POP2 servers.
This option is useful when reading mail from more than one PC, to ensure that all your mail is eventually downloaded to one machine. It is also useful for testing (to avoid losing mail). Running exclusively with this option is not recommended because of the limits of space in the mail holding directories on the server.  On some systems you may LOSE MESSAGES if you exceed the space allotted to hold your incoming messages.
IF YOU USE THIS OPTION YOU MUST DELETE YOUR MAIL ON THE SERVER SOME OTHER WAY, i.e. OUTSIDE OF NUPOP!
Reply to all recipients
If checked,  NUPop includes all message recipients in the TO: and CC: fields when composing a reply.  The default is to reply only to the message sender.
Keep copy of outgoing mail
If checked, NUPop creates a copy of each outgoing message into the SENT mailbox, marking the message as sent. This saves a record of every message you send.  
You may run out of disk space if you sent lots of messages.  You should  periodically copy the SENT mailbox contents  to another disk, perhaps a floppy. Then you should erase the SENT mailbox using Mailbox/Delete.. Mailbox/Export messages is the easiest way to create a file of all the messages in the SENT mailbox which you can then copy to a floppy.  
Send messages using POP server
Normally NUPop sends outgoing messages using the SMTP server specified at Options/Network.  Checking this option instructs NUPop to use the POP server to send messages instead.  Not all POP servers provide message sending facilities.  Check with your local support personnel to see if your POP server supports the "XTND XMIT" option.  At Northwestern, the POP servers on Casbah and Merle do support this option.
Skip large incoming messages
If checked, NUPop skips over large messages when acquiring mail.  The skipped messages are left on the server for later acquisition.  The size of a large message is specified at Options/User.

Sound arrival of incoming mail
This asks NUPop to "beep" when new messages have been acquired using the timed acquisition facility.  This is useful if you are acquiring messages in a "background" window under a multitasker like Microsoft Windows.
Word wrap is active in message composer
If checked, NUPop wraps long lines of text as they are entered into the Composer screen. We recommend that you leave this option checked.

Network Settings
These settings specify the network "location" of your PC and the email server you will use. For [Serial] and [SLIP], some of the information refers instead to the "location" of the terminal server through which you will dial in to the network. 

Incoming Mail Server	
NUPop uses a client/server protocol called POP (Post Office Protocol) to retrieve mail.   This field provides the Internet name or address of the POP server.  You must have an account on this system.  For Northwestern users, the most common choices are Casbah.acns.nwu.edu or Merle.acns.nwu.edu.
You may specify an optional TCP/IP port number by following the server name with a space and the port number.  You can use this to specify two versions of the POP protocol. The default is POP3 on port 110.  POP2 is port 109. We recommend you always use POP3.  
DO NOT use POP2 if you intend to run NUPop in [Serial] access mode.  POP2 requires exact character counts for messages.  Such counts will often be wrong when your messages are passed through a terminal server.  For examples, some terminal server expand tabs, remove trailing blanks, add or delete end-of-line markers, and so on.  POP3 does not rely on exact character counts and therefore is more robust for use through a terminal server.
Outgoing Mail Server	
NUPop uses a client/server protocol called SMTP (Simple Mail Transport Protocol) to send mail.   This field gives the Internet address of the SMTP server.  This is often the same system as the pop server.  You may also send mail using the POP server if your POP server allows this.  See the section on "Message Preferences" later in this document for details. (At Northwestern, the POP servers on both Merle and Casbah allow this.)
If you use different systems for your incoming and outgoing mail servers, you must be careful that outgoing addresses are fully specified internet addresses. This can be a problem in replying to mail that comes from another account on the same system as the POP server since some systems do not fill-in the complete server name for you.
Email Address Server
This optional parameter is the server for queries to "PH", an on-line campus phone directory system.  (This is also referred to as the CSO nameserver protocol - not to be confused with Internet domain name servers.) You may leave this field blank if you site does not provide a PH server.
Northwestern users should specify ns.nwu.edu .
Finger Server	
This optional parameter is the default target for "finger" requests.  If a system is running a finger daemon, a "finger" request returns information about people with user ids on that system, given either the user id or human name. We suggest setting the finger server to be  the same system as that on which you receive mail  to facilitate looking up local addresses.
Gopher Server
This optional parameter is the name or IP address of a computer which is running a Gopher server. A Gopher server provides distributed file directory and file retrieval services. To start a Gopher session, select Utilities/Gopher.  Northwestern users should specify gopher.nwu.edu as the Gopher server.

NUPop assumes TCP port 70 for the Gopher server.  If your Gopher server is located on a different port, you may place a blank followed by the TCP port
number after the server name.
LPR Server
This optional parameter specifies the name of the remote print server machine.  This is the machine to which NUPop sends printed output if LPR is selected as the printer at File/Printer Setup.

NUPop uses TCP port 515 for the LPR server services.  If your LPR server is located on a different port, you may place a blank followed by the TCP port number after the server name.

If you specify an LPR server, you should also specify and LPR printer name.
LPR Printer
This optional parameter specifies the name of the remote printer to which NUPop sends printed output when LPR is selected as the printer at Printer Setup. This must be a printer name which is recognized by the LPR Printer Server specified above.

Note that many LPR server systems require that you be authorized to use printers serviced by that system.  Check with your local system administrator for details.
Telnet Server	
This optional parameter provides the name or address of  the system to which you login most often.  NUPop displays this as the default when you request a Telnet session at Utilities/Terminal.  This parameter only applies to [Net] and [Slip].   

Northwestern users may want to set this to either casbah.acns.nwu.edu or merle.acns.nwu.edu, depending upon which machine holds your email account.
Webster Server	
This optional parameter provides the name or address of a system running a Webster server.  A Webster server provides an online dictionary with spell-check, cross-reference, etymology, and thesaurus capabilities.  If your site does not provide a Webster server, you may leave this field blank.  Northwestern users should specify speedy.acns.nwu.edu as the Webster server.
Domain Name
This optional parameter specifies a default domain which is appended to remote system names which do not specify a domain.  These remote system names appear in the network configuration menu or in prompts for various Utilities menu facilities.

For example, suppose you specify the default domain name to be:

acns.nwu.edu

Then the following system names would refer to the same remote system:

casbah
casbah.acns.nwu.edu

Your IP address
This field provides the numeric form of the internet address for your PC.  You must find out what value to use from a network administrator. (Making up or re-using IP addresses from another PC will cause trouble.) 

For Serial dial-up and SLIP access, fill in the dummy value:
0.0.0.0

For direct network address you MUST provide a proper IP address unless your site provides a BOOTP server (see below).  At NU these addresses are of the form:
	129.105.xxx.yyy 

where xxx is the subnet number and yyy is the machine number.

If you have NCSA Telnet installed on your PC and its config.tel file contains a line of the form:

myip=129.105.113.255

this number is your IP address.
For [SLIP], an IP server  usually assigns a temporary IP address.  (This is true at Northwestern.) Other sites may assign fixed IP numbers to particular SLIP dial-up phone numbers.  In that case you can enter the fixed IP number if you know you will always be dialing the same phone number with a fixed IP address.  
Getting the IP address from BOOTP
Some sites use an automatic method of returning network configuration information called BOOTP.  This is particularly common for SLIP.  If your site is one of  these, you may set "myip" to 0.0.0.0 which causes NUPop to issue a request to the BOOTP server.  NUPop can retrieve the IP number, name server addresses, and gateway addresses from the BOOTP server.  You still need to fill in the other server information.  Some BOOTP servers only return the IP address; you need to specify the name server IP numbers yourself.  
Note:  NUPop does not support the use of RARP to obtain an IP address!
Getting the IP address from the MYIP environment variable

You may also specify the IP address of the PC using the MYIP environment variable.  Example:

 SET MYIP=129.105.113.255

The MYIP environment variable setting overrides any value specified in the Network settings menu.
Time Zone
The Time Zone allows you to indicate your time zone, if you are not located within the Central Standard Time zone of the United States, which is the default setting.  To indicate your time zone, press the Time Zone button and use the arrow keys to select your time zone from the list. Once your time zone is highlighted, press the <ENTER> key or click on the OK button.  Appendix C lists the time zone names recognized by NUPop.

Advanced
Pressing this button brings up a dialog to set other low-level network parameters. Most of the time you  will not need to change these settings.  A discussion of the advanced settings appears later in this document.
Gateways and Name Servers
These addresses are needed to locate other services on the network.  At Northwestern the following Name server settings are appropriate for [Net] or [SLIP] access:
129.105.49.1
129.105.5.103
0.0.0.0
0.0.0.0	

For [Net] access, everyone on campus can use the same Domain Name Servers as above, but what you specify for the Gateways depends on your location on the network.  At Northwestern, [SLIP] users will be provided the correct gateway values if you use BOOTP.
For Gateways you specify the address of a machine on your sub-network which connects this sub-network to the rest of the world. If more than one gateway is specified, the first one is tried first. Every gateway has at least two IP addresses; list the address on your sub-network  (all but the last group of digits in the address is the same as your PC's IP address). The gateways are the same for all systems on the same sub-network. Your network administrator should know the proper gateway IP values.
If you use NCSA Telnet, the gateways are listed in the CONFIG.TEL file which is the configuration file for NCSA Telnet. It contains lines something like these:
name=vcc-gw ; hostip=129.105.113.5; gateway=1
name=vogue ; hostip=129.105.113.1; gateway=2

Enter the gateway numbered '1' in the NCSA Telnet settings as the first gateway in the NUPop settings. There may be only one gateway in many cases.

Advanced Network Settings
The advanced network settings consist of lesser-used low-level network and system parameters.

Net mask
The net mask parameter concerns how your local area network is configured and connected to the backbone network at your site.  Your network administrator will know the correct value to enter here.  Most sites are configured to use a net mask of 255.255.255.0 (the default value).
Domain request timeout
The domain request timeout sets the maximum number of seconds allowed for the name server on the network to convert your computer's host mail server name to an IP address.  The default value is 60 seconds.  If NUPop displays an error dialog box stating "Domain name request failed" when you try to send or acquire messages, try increasing this value.
Connect timeout
The connect timeout sets the maximum number of seconds NUPop waits for a connection to the host mail server to become active.  The default value of 20 seconds should be sufficient for most mail servers.  If  NUPop displays an error dialog box stating "Open failed" when trying to send or acquire messages, try increasing this value.
I/O timeout
This parameter sets the maximum time allowed for NUPop to send and receive data between your computer and a remote server.  With the default value of  40 seconds, NUPop will wait 40 seconds for a response from the host mail server.  If a response does not arrive within 40 seconds, NUPop displays an error dialog box stating "error reading from network" or "error writing to network" and aborts the network operation in progress.  Again, if your host server is slow and frequently times out, you should increase this parameter value.
Retransmit timeout
This parameter sets the length of time in seconds NUPop will wait before retransmitting a packet whose earlier transmission was not acknowledged.  The default is one second.
Max transmit unit in bytes:  MTU
This parameter specifies the maximum allowable packet size that NUPop may transmit in bytes.  The default is 1024 (1K) bytes.  For [Slip] connections you may need to set this to 512 bytes.
Max segment we can receive:  MAXSEG
This parameter specifies the maximum size packet in bytes that a remote server may transmit to NUPop.  The default is 1024 (1K) bytes.  For [Slip] connections you may need to set this to 512 bytes.
Most bytes we can receive without ACK
This parameter sets the maximum send/receive TCP window size in bytes.  The default is 2048 (2K) bytes.
Maximum EMS virtual memory in bytes
This specifies the maximum amount of expanded memory (EMS) in kilobytes (1024 bytes) to use for virtual memory.  EMS memory overrides XMS memory and disk memory for use as virtual memory.

Maximum XMS virtual memory in bytes
This specifies the maximum amount of extended memory (XMS) in kilobytes to use for virtual memory.  XMS overrides disk memory for use as virtual memory.

Dial-up IP
Choose YES as the value of this item if you are using a dial-up slip connection and you want NUPop to automatically dial the slip server for you when you request a network function such as acquire, send, finger, etc. NUPop uses the "slipdial.scr" script to control dialing.  See the section "Using Dial-Up SLIP with NUPop" for further details.
Stop finger retrieval when received
NUPop stops retrieving Finger information when this string appears in the returned Finger information.  Normally you use this only when you are using NUPop in serial access mode. Set it to the message returned by the terminal server when the Finger session terminates.

Temporary files subdirectory
Specifies the subdirectory in which NUPop writes swap files when jumping to DOS  and also in which NUPop creates the virtual memory file when you select disk-based virtual memory.  You should place this subdirectory on the largest and fastest access drive available,  typically a network drive.

Using SET TMP= to specify temporary files

You may override the temporary files subdirectory setting by defining the DOS environment variable TMP to point to the temporary files subdirectory.  Typing:

set tmp=c:\mytmp

instructs NUPop to use c:\mytmp as the temporary files subdirectory.

Note:  Make sure the directory you specify for "tmp=" actually exists.  If you set "tmp=" to a non-existent directory, many NUPop facilities such as DOS jumps and disk-based virtual memory will fail.

Serial Port Settings

These settings apply only for [Serial] and [SLIP] access, not [Net] access .

Bits per sec
This value should match the speed of your modem. (Often, though incorrectly, this is called the "baud rate".)  You should specify the highest speed your modem and PC can provide. 
Stop bits	
Except in rare circumstances, always specify one stop bit.
Parity
Set this to match the parity expected by the terminal server you are calling.  "Even", "Odd", "Mark", and "Space" use 7 data bits, "None" uses 8 data bits. 
At Northwestern, specify "None."
Flow Control
At Northwestern, specify RTS/CTS only.
NUPop allows for two types of flow control:  XON/XOFF and RTS/CTS.  Flow control is used to keep the flow of information between your PC, the modem, and the remote server in step.  Either or both of these flow control methods could be selected.  Usually you select XON/XOFF flow control only if  the terminal server you are accessing requires it. RTS/CTS flow control is the more common choice. Most high speed error correcting modems require RTS/CTS flow control.  You will also have to tell your modem to use RTS/CTS flow control by including the proper commands in the modem initialization string at Options/Dialing.  See the section "Modem and Dialing Configuration."
COM Port
This the serial port to which your modem is attached. Usually this is COM1 or COM2. 
Access
"Direct" access addresses the serial port directly. This is the usual setting.  "BIOS" access uses the BIOS interrupt 14h  serial interface. This is slower, but may work on hardware that is less like an IBM clone.  You should also specify "BIOS" if you are using a shared modem or a FOSSIL driver.  NUPop automatically detects FOSSIL drivers and shared modem drivers compatible with Cross Communication's LAN+MODEM such Modem Assist from Fresh Technology Group Inc.
End of Line
Specifies the string which NUPop should send at the end of command lines. The default is ASCII carriage return ("\r") which works for many terminal servers.  For some terminal servers you may need to specify ASCII line feed ("\n") instead, or both carriage return and line feed ("\r\n").

Input Buffer
Specifies the size in bytes of the input buffer for serial connections. The default size is 2048 bytes. If you are communicating at 9600 bps or above you should specify a larger input buffer, e.g., 8192 bytes.

Output Buffer
Specifies the size in bytes of the output buffer for serial connections. The default size is 1,024 bytes.
If you are using high-speed communications (9600 bps or above) you should specify a larger output buffers, e.g., 2048 or 4096 bytes.
Char Delay
Specifies a delay in milliseconds for each character sent in a message when serial access is active.  NUPop waits the specified delay period after each character is queued for transmission.  This allows you to slow down transmission of characters to accommodate remote hosts that may have difficulty accepting input at full speed.  The default value of the character delay is 0, meaning no delay. 

NUPop applies the character delay independently of the line delay.
 
Line Delay
Specifies a delay in milliseconds for each line sent in a message when serial access is active.  NUPop waits the specified delay period after each line is transmitted.  This allows you to slow down transmission of message text to accommodate remote hosts that may have difficulty accepting input at full speed.  The default value of the line delay is 0, meaning no delay.

NUPop applies the line delay independently of the
character delay.

Hardware
Pressing the Hardware button brings up a menu which allows you to change the serial port address, interrupt request level (IRQ), and interrupt vector for the COM Port you selected above.

Serial Port Hardware Configuration

These settings apply only for [Serial] and [SLIP] access.

This menu allows you to set the base port address, interrupt number, and interrupt request level (IRQ) for the serial port you selected in the serial port settings menu.  For many systems, the default values provided here by NUPop will work fine.  If you have installed a serial port or internal modem on a non-standard interrupt or at a non-standard address -- i.e., different from what NUPop displays by default for your selected serial port -- enter the non-standard values here.  The port address, IRQ, and interrupt number are all entered as hexadecimal values.  Usually the value of the interrupt vector is just eight plus the value of the IRQ.  However, this may not be true for some multiport serial cards.

Modem and Dialing Configuration

These setting apply for [Serial] and [SLIP] access.  "Modem Init", "Dialing Command" and "Hangup command" are Hayes-style modem commands, with a few extensions: "|" denotes a carriage return, "~" denotes a (1 second) time delay in sending characters in the command, and "%t" denotes the phone number. Some modem commands are "generic" but others differ between different models and vendors of modem.

Modem Init
This is the string sent to the modem when starting up.  Not all codes in the suggested string above will apply to all modems.  A suggested string is:
AT X3 &C1 &D2|
Here is what the codes request:
AT		Introduces command
X3		Selects extended result codes
&C1		Sets Carrier Detect signal normal
&D2	Sets Data Terminal Ready normal
|		Sends an ASCII carriage return
If you are using a high-speed modem with error correction, you should also include the modem codes which enable error correction and RTS/CTS flow control on your modem in the modem initialization string.  These codes can be found in the modem reference guide which came with your modem.

Number to call	
This specifies the phone number for the terminal server.  A comma indicates a pause between digits during dialing.
Dialing Command
This is the modem command to place a phone call.
ATDT%t|	(Tone Dial)
ATPT%t|	(Pulse Dial)
"%t" represents the phone number which is filled in by NUPop when dialing starts.
Hangup command
This is the modem command to hang up the phone. A suggested string is:
~~+++~~ATH0|
NUPop first attempts to hang up the phone by lowering the Data Terminal Ready signal line.  If this doesn't work, the modem hangup command is sent.
Wait Time
This is the number of seconds to wait for a call to connect, and also the number of seconds to wait for a successful match in a script (see Appendix A for more details on scripts). If you are dialing long-distance you may want to increase the wait time from the default of thirty seconds.

Setting up a Printer for use with NUPop

If you have a printer attached to your PC, or your PC can access network printers, you may want to modify the printer settings at Options/Printer.  The Printer Setup menu item allows you to specify which printer port to use for printing.  You may also "print" to a file or to a remote LPR network printer.
Additionally you may specify a printer initialization string; a form feed string; an end-of-print string; and which message headers (if any) you want printed when you print a message.

Printer
Selects the printer (LPT1:, LPT2:, LPT3:; a File; or LPR) to be used by NUPop for printing.  If you select File, NUPop prompts you for the name of an output file when you request a print operation.  If you select LPR, NUPop uses the LPR server and printer name you specified in the Options/Network setup menu.
Initialization string
Specifies the string to be sent to initialize the printer.   The string may contain special characters which allow you to set options for your printer.

If the first character of the printer initialization string is an "@", the remaining characters specify the full path and file name of a printer setup file.  The contents of that file are sent to the printer before any other information is printed.

For many printers you need only specify an initialization string containing the Ascii carriage return character (^M).  To do this, specify the initialization string as:
 
\r

(backslash, lower case r).

For postscript printers you may find it convenient to specify an initialization string of:

@c:\nupop\postscri.ini

where "c:\nupop" should be replace by the actual directory in which you place the file "postscri.ini" distributed as part of the NUPop release materials. You should then set the form feed string to

\f

(backslash, lower case f) which is Ascii ^L.  Set the end of print string to

\x04

(backslash, lower case x, digit 0, digit 4) which is Ascii ^D.  This ensures correct print termination and paging on the postscript printer.
Form feed string
Specifies the printer form feed string.  NUPop sends this string at the end of a print section.  For most printers the form feed string will simply be the Ascii form feed (FF) character ^L, which you specify as:

\f
When printing messages, the form feed string is sent to the printer after each message.  When printing other items, it is sent after printing the entire document.  The end of print string is sent after all items have been printed, including a final form feed string.

End of print string
Specifies the string to be sent after finishing a printing operation. For most printers you need not specify this string if you specify a form feed string.  For Postscript printers you may need to specify the Ascii end of transmission character (^D) as follows:

\x04

(backslash, lower case x, digit 0, digit 4).
Postscri.ini contains Postscript programming code to print text with nice margins and page numbers.  You may modify the Postscript code if you want to suppress page numbers.  See the comments in postscri.ini for details.
Headers
Specifies which RFC822 headers you want to appear in the printed output when you are printing a message. You may select:

All	All the headers	
Minimal	Only the "basic" headers like TO:, FROM:, CC:, etc.	
None	No headers at all, just the message contents.	

Setting Colors in NUPop

NUPop chooses a default color scheme based upon the type of display adapter in your PC.  This color scheme is saved in the NUPOP.COL file.  You may want to modify the color settings.  The Options/Color menu allows you to choose one of several "built-in" color schemes.  You may also select the "Create custom colors" to construct your own color scheme.  
You may want to select "Use symbols" on monochrome displays.  Normally NUPop highlights a selected menu or list box item by changing its color.  This may not work well on monochrome displays.  If you select "Use symbols," NUPop indicates the currently selected item by enclosing it in angle brackets.

Mouse Settings

Options/Mouse allows you to configure the mouse.

Mouse double click
Use the slider to select the interval between mouse clicks which is considered to be a mouse double-click.
The default (medium) takes two clicks which are separated by less than about 1/2 second as a double-click.
Reverse mouse buttons
If checked, the left and right mouse buttons are reversed.  You may find this setting useful if you are left-handed. NUPop only uses the left mouse button by default.  If you select this option, NUPop only uses the right mouse button.

Signature Settings

NUPop appends any text you define in the Signature box at Options/Signature to each outgoing mail message if you select Preferences/Messages/Append signature to outgoing mail.  This allows you to attach your full name, address, phone number, and similar information to each of your messages.
You should try to keep your signature to no more than four or five lines.  Longer signatures are frowned upon at many sites.  NUPop saves the signature text you specify in the file NUPOP.SIG, which you can also edit using an Ascii text editor if you wish. 

Emulation Settings

Options/Emulation allows you to specify options for the terminal emulation used by NUPop when you request a terminal session at Utilities/Terminal.

Terminal type
NUPop can emulate ADM3A and VT100 terminals. The ADM3A is a simple cursor-addressable terminal.  You may want to use this if the remote system does not support VT100, or if you are confined to using a very slow dial-up serial link  -- 300 bps, for example -- since the ADM3A escape sequences are shorter and simpler than those of the VT100, and therefore take less transmission time. However, most of the time you should choose VT100.

Backspace sends delete
Allows you to specify that pressing the <Backspace> key should send an Ascii DEL (Ascii 127) instead of an Ascii BS (Ascii 8).  Some systems (e.g., VMS, SUNOS) use the Ascii DEL character instead of the Ascii BS character as a backspace/rubout.

ADM3A telnet name
Allows you to specify the Telnet terminal type negotiation name when you select ADM3a terminal emulation.  The default is "adm3a".
VT100 telnet name
Allows you to specify the Telnet terminal type negotiation name when you select VT100 terminal emulation.  The default is "vt100".  Some systems may require "dec-vt100" instead.
Review buffer size
Allows you to specify the size of the review buffer for terminal sessions. The default size is 8K (8192).  You may specify a maximum of about 64K (65000).  If there isn't enough memory to allocate a review buffer of the specified size, NUPop allocates a smaller one.

The review buffer stores incoming characters while a terminal session is active.  If you select the "Review" option on the status line of a terminal session , NUPop
loads a copy of the current review buffer contents into an editor window so you can manipulate the scrolled-off text.  You can edit the text, print it, or save it to a file.

Input Key Definitions

Options/Input key definitions allows you to define strings to be sent to a remote system from a terminal window when you depress a function key.  You open a terminal window at Utilities/Terminal.  There are two kinds of function keys you can define:  global function keys which apply to all terminal emulation types and also to Utilities/FTP, and emulation specific function keys which apply to a specific terminal emulation.  You select which keys to define from the first-level menu box at Options/Input key definitions:

Function key string values
Function key definitions may contain any text as well as special escape sequences:

\\	send a literal \	
\|	send a literal |	
\'	send a literal '	
\"	send a literal "	
\~ 	send a literal ~	
\a	send a ^G = ASCII BEL	
\b	send a ^H = ASCII backspace	
\d	delay for one second	
\f	send a ^L = ASCII formfeed	
\n	send a ^J = ASCII linefeed	
\r	send a ^M = ASCII carriage return	
\t	send a ^I = ASCII tab	
\v	send a ^K = ASCII vertical tab	
\xnn 	send the ASCII character x"nn" where "nn" is the hexadecimal value of the character. 

Examples: 

\x0A  --- send x"0A"  = ASCII line feed. 
\x1B  --- send x"1B" = ASCII escape.
\xFF  --- send x"ff" character	

The following two characters have special meanings in function key definitions:

|	Sends a carriage return.	
~	Inserts one second delay.	
General 
You may define ten general function keys which apply across all terminal emulation types and also work in FTP.  These keys are <ALT>1 through <ALT>0.  You hold down the <ALT> key and press one of the digit keys in the top row of the body of the keyboard (above the QWERTY row on a U.S. keyboard).  These keys work whether or not the terminal window is enlarged.

Emulation Specific
The following keys, which are active ONLY when the terminal window has been enlarged, may be defined separately for ADM3A and VT100 terminal emulations:
Keypad keys
Home, Up, PgUp, GrayMinus, Left, Right, GrayPlus, End, Down, PgDn, Ins, Del, Ctrl-Left, Ctrl-Right,  Ctrl-End, Ctrl-PgDn,  Ctrl-Home, Ctrl-Del, Shift-Del

Primary function keys and shifted variants
F1 through F10
Shift-F1 through Shift-F10
Ctrl-F1 through Ctrl-F10
Alt-F1 through Alt-F10 (Mislabeled as
Alt Shift F1 to F10 in some NUPop releases)

Other keys
Alt-Space, Alt-Back, Ctrl-PrtSc, Shift-Tab,  Tab

Trace Options

Options/Trace allows you to specify trace options for debugging purposes.  If you encounter problems with NUPop, you should enable tracing to a file and bring a copy of the trace file to your local support personnel.    Make sure that all of the trace items are selected (as they are by default).  See the section "Reporting problems and suggestions" for more details.
 
Video Mode

Options/Video allows you to switch between low resolution mode (25 line mode) and high resolution mode (43/50 line).  On an EGA, the high resolution mode is usually 43 lines.  On a VGA, the high resolution mode is usually 50 lines.
Some video cards and drivers do not work properly in high-resolution mode under MS Windows.  You may be able to obtain updated video drivers for your video card to fix this problem.  If not, you should leave NUPop in 25 line mode when you run under Windows.
External Programs

NUPop allows you to define several external programs which NUPop automatically invokes in special circumstances. Except for the News reader, these programs are currently used only by NUPop's Gopher utility.  

GIF viewer
Specifies a DOS command which displays GIF (Graphics Interchange Format) files.  NUPop replaces "%f" with the name of the GIF file before invoking DOS to execute the specified command.

Example:	showgif  %f

HTML viewer
Specifies a DOS command which displays HTML (Hypertext markup language) files.  These files are commonly used by World Wide Web servers. NUPop replaces "%f" with the name of the HTML file before invoking DOS to execute the specified command.

Example:	showhtml  %f

Image viewer
Specifies a DOS command/program which displays image files.  It is up to this program to determine the format of the image file.  NUPop replaces "%f" with the name of the image file before invoking DOS to execute the specified command.

Example:	vuimg  %f

MIME viewer
Specifies a DOS command/program which interprets MIME format files. MIME is an Internet standard for multimedia mail.  NUPop replaces "%f" with the name of the MIME format file before invoking DOS to execute the specified program.

Example:	metamail  %f

News reader
Specifies a DOS command/program which allows you to read, reply to, and post UseNet News.  Popular choices include Snuz, Ftpnuz, and Trumpet.

Example:	ftpnuz

You activate the News reader by selecting Utilities/News.  If you do not provide the name of an external news reader program, NUPop disables the Utilities/News menu item.

Sound player
Specifies a DOS command/program which plays sound files through the PC's speaker or through a sound board.  It is up to this program to determine the format of the audio file.  NUPop replaces "%f" with the name of the sound file before invoking DOS to execute the specified command.
Example:	playback %f

TN3270 program
Specifies a DOS command/program which provides TN3270 emulation.  NUPop replaces "%n" with the name of the host system and %p with the port.

Example:	telbin -h %n %p

Using Dial-Up SLIP with NUPop

What is SLIP?
SLIP stands for Serial Line Internet Protocol. SLIP allows your computer to act as a TCP/IP network node using a modem over a telephone line.  With SLIP you can use programs such as NUPop just as if  you were connected directly to the network.  The main difference is that the serial connection is typically much slower than a direct network connection.  NUPop supports SLIP as do many other popular PC networking programs.

A SLIP connection uses a packet driver to handle communications between your computer and the network, just like a direct network connection.  The SLIP8250.COM packet driver is written specially for SLIP communications.  SLIP8250.COM uses your serial port instead of a network connection to communicate with the network.  

What do you need to use SLIP?
To use SLIP, your network must have a SLIP server which monitors incoming modems for SLIP connections and translates the modem signals into standard TCP/IP network signals.  The SLIP server may enforce some form of security system controlling who can connect to a  SLIP server and receive an IP address as well as which systems may be accessed through SLIP.  Many terminal servers (e.g., Cisco) which provide ordinary dial-in terminal services also provide SLIP connections.  At Northwestern, both the Elvex and Aragorn terminal servers provide SLIP access.  Some SLIP lines on Elvex and Aragorn only allow you to connect with systems at Northwestern.  Other lines request your Casbah username and password when you dial in.  These lines allow you to connect to systems outside of Northwestern as well as local systems.
Establishing a SLIP connection
To establish a SLIP connection for a network program which supports SLIP, you follow these general steps:

1)	Call the SLIP server using a serial communications program.

2)	Request a temporary IP address from the SLIP server and request the SLIP server to enter SLIP mode.
3)	Exit the communications program.

4)	Modify the network program's configuration  to add the IP address for your PC from step 2.  You may not need to do this if your SLIP server provides BOOTP and the program you are running on your PC knows how to configure itself using BOOTP.

5)	Load the SLIP8250.COM packet driver (or another SLIP packet driver such as Peter Tattam's CSLIPPER).

6)	Execute the network program and use it in exactly the same way as if you were connected directly to the network.

PHONE.EXE
This steps listed above for establishing a SLIP connection are fairly cumbersome. An alternative is to use a program which  automates some of these steps for you.  The PHONE.EXE program, written at the University of Minnesota,  is one such program.  You can get a copy of  PHONE.EXE using anonymous FTP from boombox.micro.umn.edu.  A version of PHONE.EXE which has been configured for use at Northwestern is available on the NUPop distribution diskette.   See the PHONE documentation for further details on how to use PHONE.
Configuring NUPop for automatic SLIP access
If  the only network program you are using is NUPop you can configure NUPop to automate SLIP access by dialing the SLIP server and extracting the IP number for you.  To ask NUPop to make SLIP connections for you, follow these steps:
(1)	Modify the SLIPDIAL.SCR script to match the prompts and replies expected by your SLIP server. The READIP command expects the very next sequence of incoming characters (except for leading blanks) to be the start of an IP number, so try to "absorb" all preceding characters with a WAITSTRING command.  READIP also terminates the current script execution.
(2)	If your SLIP server allows BOOTP requests, you may want to use SETIP to ensure that the IP address is 0.0.0.0: 
SETIP "0.0.0.0"
	Specifying an IP address of 0.0.0.0 causes NUPop to perform a  BOOTP request to get the temporary SLIP IP address for your PC and the IP addresses of the name servers and gateways.  You can look at the SLIPBOOT.SCR sample script as an example.  Make sure to rename SLIPBOOT.SCR to SLIPDIAL.SCR before using it.
(3)	SETIP does NOT terminate script execution so you may use other script commands after it as necessary.
(4)	Load the SLIP8250.COM from the NUPop release materials (or another SLIP packet driver) before starting NUPop.  The syntax is:
	SLIP8250  int# -h  SLIP irq  portaddr bps bufsize
	The "int#" is the interrupt number between 0x60 and 0x7F inclusive.  
	"-h" specifies hardware handshaking. 
	SLIP should appear as is.
	"irq" is the interrupt request level for the serial port.  The irq for COM1: is nearly always 4 and the irq for COM2: is nearly always 3.
	"portaddr" is the serial port address.  For COM1: this is nearly always 0x3F8; for COM2:, this is nearly always 0x2F8.
	"bufsize" is a buffer size.  We suggest you request a buffer of at least 4K (4096) bytes in size.
	For example, if you are connecting at 9600 bps on serial port COM1:, you could type:
	SLIP8250 0x61 -h  SLIP 0x4  0x3F8  9600  4096
(5)	Execute NUPop.
(6)	Set the proper dialing options at Options/Dialing.
(7)	Set the speed and flow-control options at Options/Serial to match those you specified when invoking SLIP8250.  For example, if you specify 9600 bps on the SLIP8250 command line, specify 9600 here as well.  Also request RTS/CTS (hardware) flow-control.
(8)	Set the value "Dial-up IP" to YES in the advanced settings at Options/Network.
(9)	Specify a zero IP number at Options/Network, i.e., 0.0.0.0
(10)	Make sure the item "Use serial communications" at Options/General/Preferences is NOT set.
(11)	Make sure you choose "OK" at each step in the preceding configuration changes so that you won't have to make the changes each time you execute NUPop.
(12)	Now you should be able to acquire new messages, send messages, run PH, etc. just like the network version.  NUPop will initiate a call to the IP server using the SLIPDIAL.SCR script and establish the SLIP session.  NUPop hangs up the phone when you finish using a given network facility.  
This seems like a lot of steps, but once you have NUPop set up for dial-up IP, you don't have to change the configuration again. You should also be aware of  the following:
(1)	A bug which appears in the standard Crynwr release of the SLIP8250.COM packet driver prevents reliable operation at speeds of 9600 bps or above. The SLIP8250.COM packet driver included in the NUPop release materials fixes this bug.
(2)	The sample SLIPDIAL.SCR script shows the use of READIP to set the IP address.  You might want to look at SLIPBOOT.SCR instead for an example in which SETIP is used instead so that a BOOTP request is performed.
(3)	NUPop does not support SLFP or PPP packet drivers at this time.  These are other serial line IP protocols.

	You may be able to use a PPP packet driver if it emulates an Ethernet-style packet driver.   One such driver, written by Merit Inc., is available for anonymous FTP from ftp.acns.nwu.edu in /pub/nupop/etherppp.   This packet driver has NOT been tested at Northwestern.

Troubleshooting

This section discusses some common problems with installing NUPop.
DOS 6.0 problems
The protected mode version of NUPop seems to bollix memory when I use DOS 6.0. My upper memory blocks end up all scrambled. 

You are using a version of NUPop prior to release 2.0.1.

The default Borland DPMI server distributed with NUPop appears to clobber upper memory blocks on some DOS 6.0 systems.  At least part of the problem is that the DPMI server issues bad calls to the DOS memory manager which result in unpredictable consequences.  (Note that this only applies to the protected mode version of NUPop.)

Some possible solutions include:

	Use the real mode version of NUPop.  

	Use a different DPMI server.  For example,  MS Windows enhanced mode provides its own DPMI server which does not exhibit the bad call problem.  If you use QEMM as your memory manager, you can try QDPMI.EXE which is also free of the bad call problem.

	If you don't have MS Windows or QEMM, another option is to use FIXDPMI.EXE which is part of the NUPop release materials.  FIXDPMI.EXE intercepts the bad memory allocation calls and corrects them before passing them on to DOS.  FIXDPMI.EXE executes nupop.exe by default, so all you have to do is type "fixdpmi.exe" instead of "nupop.exe".

The general syntax  for FIXDPMI is:

	fixdpmi program program-args

where "program" is the program to be executed, and "program-args" is a list of parameters for "program." 

For example, to execute nutcpwat.exe, type:

	fixdpmi nutcpwat

Starting with NUPop v2.0.1, the logic of "fixdpmi" has been folded into NUPop itself so you no longer need to run FIXDPMI.EXE separately.

DPMI errors
DPMI error (xxxx): mmmm
NUPop tells me "DPMI error."

You should never see DPMI errors.  If you do, most likely you are running an old and/or incompatible memory manager.  Try updating to the latest version of your memory manager.   If you don't have an extended memory driver loaded (e.g., HIMEM.SYS), you'll probably receive DPMI error 4001 or DPMI error 400A.

You may also not have enough extended memory available to run NUPop.  NUPop requires at least one megabyte of available extended memory.  If you have HIMEM.SYS or another extended memory driver loaded, and you get a DPMI error, this usually means that there isn't enough extended memory to run NUPop.  If you have at least one megabyte of extended memory, there may be some other program (a disk cache, for example) which is using too much of this memory, leaving too little for NUPop.

Loader error (xxxx): mmmm
NUPop tells me "Loader error."

The run time manager (RTM) oversees execution of the protected mode version of NUPop.  Most RTM errors are caused by running out of memory.  Most of the time you can eliminate the error by trying one of these solutions:

	If you are running NUPop under MS Windows, try increasing the memory size in the NUPOP.PIF file using PIFEDIT.EXE until the run-time manager can load.

	If you are running under DOS and you have a RAM disk or disk cache program installed, try reducing the size allocated.  

	If you have the DOS environment variable DPMIMEM set to "nnnn", try increasing the value of "nnnn."  See Appendix  I for more details.

Stub error (xxxx): mmmm
NUPop tells me "Stub error."

The stub is a short real-mode program embedded within NUPop whose purpose is to load the DPMI server and the protected-mode run time manager (RTM).  Most stub errors occur because you haven't placed the files DPMI16BI.OVL and RTM.EXE in the DOS path or in the current directory with NUPOP.EXE.

Enclosure problems
Enclosure is mangled
I sent or received a BinHex enclosure, but somehow it got mangled.

The most common reason for this is that you tried to send or receive a binary file as a text file.  This can happen if the file extension is listed in NUPOP.TAC as being of type TEXT, when in fact the file is of type binary.  See Appendix E for more details.
If you are using a plain serial connection, and you are running at a high speed (9600 bps or higher), you may not have set your modem and/or NUPop to use hardware flow control.  You should do that at Options/Serial; choose CTS/RTS as the flow control.  Also check that your modem initialization string at Options/Dialing instructs your modem to use RTS/CTS handshaking.  The specific commands to do that differ from modem to modem.

If you are able to send enclosures correctly at lower speeds (e.g., 2400 bps) but not at higher speeds (e.g., 9600 bps), flow control is the problem.  

See the section below on "Serial access problems, dropped characters" for more details.

Error reading enclosure
NUPop tells me "Error reading enclosure", "Invalid data fork," or "Invalid resource fork," when I try to acquire a message with a BinHexed enclosure. 

NUPop tried to read an enclosure, but encountered some gibberish in the message. Ask the sender to send the enclosure again.
Error sending enclosure
NUPop tells me "Error sending enclosure."

NUPop tried to send your enclosure, but got a network error while doing so. Try sending it again.  Check your network connection.  Check with your network administrator if the problem persists.
Error receiving UUencoded enclosure
NUPop gives me an error when receiving a UUencoded enclosure created by another system.

Some systems generate UUencoded enclosures that are not properly formatted.  NUPop rejects UUencoded enclosures which incorrectly contain blank lines or characters.  A UUencoded enclosure must also begin in column one of a message with the header line:

begin nnn filename

where "nnn" is a three-digit octal number.  Starting with v2.0.1,  NUPop accepts any number of digits in this header line instead of just three.  This is because some IBM and VAX systems incorrectly generate enclosures with fewer or more digits.  Earlier versions of NUPop did not accept such header lines as the start of a UUencoded enclosure.
FTP Problems
How come I can't use FTP when I have a Telnet session active?

The internal TCP/IP driver only allows two TCP connections to be open at once.  Most NUPop utilities only require one open connection at a time.  However, FTP requires two.  This means that you cannot use FTP and, say, Telnet at the same time with the built-in TCP/IP kernel.

You may want to try the Waterloo TCP/IP driver NUTCPWAT.EXE which allows up to eight simultaneous TCP sessions.  See the section "Waterloo TCP/IP" and also Appendix H for more details.

Hangs at startup
NUPop hangs right after it starts executing.

	Try erasing the message index file MLIST.STM from the mail subdirectory IN.MBX.  This file may have become damaged in a previous NUPop run.

	Try disabling EMS use by specifying the /NOEMS command line parameter.  If NUPop works, this usually means that you have not properly excluded high memory used by a SCSI disk driver or your network card from DOS's memory management.  

Keyboard problems
Shift key problems
Sometimes when I'm typing in the composer, some text ends up marked as selected and I end up deleting it by continuing to type.  It's as if the shift keys were turning on and off at random times.

Two reasons why this might occur:

	You are using a release 10 Crynwr packet driver.  Some release 10 Crynwr packet drivers clobber the shift keys at random times.  Contact your network administrator to get a fixed packet driver.

	You are using a system with HIMEM.SYS installed.  Try adding the following statement to your autoexec.bat file, making any necessary changes to the directory and country specifications:

	c:\dos\keyb us,,c:\dos\keyboard.sys
Memory problems
Not enough memory to run NUPop
What can I do if NUPop  says "Not enough memory to run NUPop"?

The current real mode version of NUPop needs at least 540K of free memory.  If you have a lot of TSRs, or your network software has a large resident portion, then the real mode version of NUPop will have trouble running.  Run the  DOS commands chkdsk or mem commands to see how much free memory is left for applications.  You may need to remove some device drivers, load some drivers and/or TSRs "high", or reduce the number of files or buffers.

The best solution is to run the protected mode version of NUPop which needs only about 192K of low DOS memory to execute along with at least a megabyte of extended memory.  For serial access, 128K of low DOS memory should be sufficient.  

Not enough memory for communications driver
NUPop tells me "Not enough memory for communications driver."

This means that NUPop did not find a 64K block of memory to load the built-in TCP/IP driver below the one megabyte boundary.  You don't have enough memory to run NUPop.

Out of memory
NUPop tells me "Out of memory."

This should never happen in the protected mode version.  It may happen in the real mode version if don't have quite enough memory to run memory-intensive utilities like FTP and Gopher.

Message index files go bad
NUPop reports "Error loading message index nnnn" and then NUPop hangs.  Or NUPop just hangs at startup before displaying the index of messages.

NUPop detected that the message index file MLIST.STM was badly formatted.  Usually this happens when NUPop ran out of disk space while trying to update MLIST.STM in a previous run.  Normally NUPop proceeds to rebuild the index file by reading all the messages in the mailbox.  

Sometimes NUPOP can't determine that MLIST.STM is bad before a fatal error occurs, causing NUPop to abort.  In this case you should enter the affected mail subdirectory from DOS and erase the file MLIST.STM so that NUPop can rebuild it.  The mail subdirectories all have names like "nnnn.MBX" where "nnnn" is the mailbox name.
Minnesota's POPMail works but NUPop doesn't
I've been using the University of Minnesota POPMail program to retrieve mail without any problems.  However, NUPop can't seem to access my POP server.  Why not?

The Minnesota POPMail program assumes a POP2 server running on TCP port 109 by default.  NUPop assumes a POP3 server running on TCP port 110 by default.  You can add the port number (e.g., 109) after the POP server name at Options/Network to instruct NUPop to use that port number instead.  NUPop automatically determines if the remote server is a POP2 or POP3 server. 

Mouse problems
The graphic mouse cursor doesn't work correctly.
My arrow mouse cursor sometimes selects cursor items other than the one it's pointing to, or it doesn't want to move down to the bottom of  the screen, or the cursor shape is garbage rather than an arrow.

You video card may not be entirely EGA/VGA register compatible,  and/or your mouse driver isn't entirely compatible with the Microsoft mouse driver.  In either case, disable the arrow cursor at Options/Preferences/General/Display graphic cursor.  Updating your mouse driver may fix the problem.

Mouse cursor disappears completely
My mouse cursor sometimes disappears completely when I'm using a block cursor rather than the arrow cursor.

Your mouse driver probably doesn't implement the hide mouse/show mouse functions exactly the same was as the Microsoft driver requires.  You should get an updated driver from the manufacturer of your mouse.
Mouse doesn't work in Windows enhanced mode
I can't get the mouse to work in MS Windows enhanced mode.

Your mouse driver may be too old, or your video driver  may not be compatible with MS Windows 3.1.  See the section "Using the mouse under Windows" for more details.

Mouse goes berserk
Sometimes the mouse goes berserk and starts running all over the screen in a random fashion, usually when I'm typing something in a terminal window.

This happens because of a conflict between the keyboard driver, the mouse driver, protected mode, and HIMEM.SYS.  Some possible solutions are:

	Use a different memory manager than HIMEM.SYS, e.g., QEMM or 386^Max.

	Add the following statement to your AUTOEXEC.BAT file, making any necessary changes to the specified path and country:

	c:\dos\keyb us,,c:\dos\keyboard.sys

	Run NUPop under MS Windows enhanced mode.

NCSA Telnet/NUPop conflicts
I can run NUPop before I use NCSA Telnet, but NUPop won't run after I use NCSA Telnet.  Why?

You probably have NCSA Telnet configured to access the network card directly instead of through the packet driver.  See the section "Conflicts with NCSA Telnet" for further details.
Network access and packet driver problems
This section lists a variety of basic problems involving network access, packet drivers, and the TCP/IP driver.

Another machine is using same IP number
NUPop tells me "Another machine is using the same IP number."
Some other computer on your same physical network has the same IP number. Check your IP number under Options/|Network.  You should only be using a number assigned to you by the local network administrator.

Can't access xxx handle
NUPop tells me "Can't access ARP handle" or "Can't access IP handle." 

Some other network program has grabbed the packet driver and is not allowing NUPop to do so. Reboot and don't load the other conflicting software.  The other software is some program that uses the network, such as PC-NFS.

Cannot get IP address
NUPop tells me "Cannot get IP address of PC from BOOTP or setup." 

You did not specify an IP number for your computer, or you incorrectly specified a gateway or name server.  NUPop tried to ask the BOOTP server for that information, but did not get back any information. Check your network connection.  Check with your network administrator to see if the BOOTP server is available and is working.

Communications driver did not load.
NUPop tells me "Communications driver did not load" or "Communications and/or packet driver not loaded or not responding."

If you are using the built-in TCP/IP driver, this means that NUPop could not load that driver.  Usually this means that the file NUTCP.DVR was not located in the same directory as NUPOP.EXE.

If you are using an external driver, this means that NUPop could not establish a link to that driver.  Make sure you have loaded the proper external driver for your TCP/IP stack.

Could not initialize hardware level network driver
NUPop tells me "Could not initialize hardware level network driver." 

NUPop could not connect to the packet driver. Check the packet driver to see if it is loading properly.

Destination unreachable
NUPop tells me "Destination unreachable." 

NUPop cannot reach the IP address specified for the mail server or other service. Check the values entered at Options/Network.
Error while reading from network
NUPop tells me "Error while reading from network."

NUPop tried to read from the network, but never got the expected response. Try again.  Check your network connection.  Try the "Test" button under Options/Network.

IP fragments
NUPop tells me "IP: fragmented packet received, frags not supported."

NUPop cannot handle fragmented packets. Try setting the MTU size down to 256 at Options/Network/Advanced.

Local host or gateway not responding
NUPop tells me "Local host or gateway not responding."

Check your network connection.  Check the values for Gateways and Name Servers at Options/Network.  This may indicate the remote system is legitimately down.

Multiple packet drivers
I have more than one Packet Driver loaded.  NUPop cannot seem to find the correct packet driver. Why not?

NUPop uses the first packet driver it finds.  Make sure the packet driver NUPop needs has the lowest interrupt number. You can ensure success by assigning it the lowest possible interrupt number:  0x60.

No more ports

NUPop tells me "No more ports."

Usually this means that NUPop requested a session/socket/port from the TCP/IP driver but the driver indicated that no more sessions/sockets/ports were available.  If you have some TCP windows open (Telnet, FTP, PH, etc.) close one or more of them.  Remember that FTP needs two TCP sessions/sockets/ports.  

For versions of NUPop prior to NUPop v2.0.2, this message may also be generated if you are using NUPop's built-in TCP/IP driver and your IP number is already in use by another PC on your network.

Packet driver not loaded
NUPop tells me "Packet driver not loaded." 

Make sure you have loaded a packet driver.  

	If you are using PKTMUX, make sure you have allocated enough PKTDRVs so that one is available for use by NUPop. 

	If you are using ODI drivers, make sure you have loaded ODIPKT.
Unsupported packet driver class: not Ethernet, Slip, or LocalTalk
NUPop tells me "Unsupported packet driver class." 

The packet driver you loaded is not a Ethernet, SLIP, or LocalTalk flavor packet driver.  The built-in NUPop TCP/IP driver only knows how to talk to those types of networks. Change your packet driver and network connection to one of the above flavors.  

OS/2 problems
LPR printing doesn't work
I can't get LPR printing to work under OS/2.  Why not?

This is a known problem.  The reason for its occurrence has not yet been found.
Serial I/O doesn't work under OS/2
I tried to use [Serial] access under OS 2.  NUPop aborted with an error 216.  Why?

Serial I/O doesn't work under OS/2 in the protected mode version of NUPop.  The reason has not yet been determined.  Serial I/O works fine in the real mode version of NUPop under OS/2.

You may be able to use a FOSSIL driver like X00.SYS to get serial access to work under OS/2.  If you load a FOSSIL driver, select "BIOS" rather than "Direct" as Options/Serial.  You can also try using the NUPOPSER.EXE program.  See the section below on "Serial access problems" for more details.

Password problems on POP server
NUPop tells me "Error: bad password" or something similar when it tries to connect to the POP server.

You've specified the wrong password for your POP server at Options/User.  Remember that passwords are case-sensitive on many systems (e.g., Unix).

If you're accessing the POP server over a [Serial] link, refer to the section on "Serial access problems."  Using the wrong parity or end-of-line string can cause a valid password to be rejected.

POP3 session locked
NUPop tells me "Error: maildrop busy" or something similar when I try to access messages on the POP server.

This means that your mailbox on the POP server is locked, usually because another POP session has already grabbed it.  This is most likely to happen if you're accessing the POP server in [Serial] mode and your telephone line hung up before NUPop could close down the connection to the POP server cleanly.

You need to log into the POP server and kill the POP server process which has grabbed hold of your mailbox.  You should ask your local system administrator for the best way to kill the POP process.
On some systems you cannot kill the POP process yourself; you will have to get a system administrator to do it for you.

Qualitas 386^Max problems
I use 386^Max from Qualitas as my memory manager.  NUPop locks up my system as soon as I try to execute the protected mode version.  Why?

The DPMI 1.0 server provided by Qualitas's 386-to the-Max v7.0 may not work properly with NUPop on some systems, causing them to lock up requiring a reboot.  

To fix this, specify NODMPI as an argument to the 386max.pro driver in your CONFIG.SYS file.

Serial access problems
Dropped characters
I am running NUPop in [Serial] mode.  I can establish serial connections, but lots of characters are being dropped, especially a high speeds (9600 bps and up) in the protected mode version.  Why?

You may have the wrong parity setting at Options/Serial.  NUPop tries to switch parity automatically to find the right one when acquiring or sending messages, but this may not always work.  NUPop does not try to switch parity for terminal connections.  See the section "Serial settings" for details on setting parity.

You may have the wrong flow-control setting.  The flow-control setting in NUPop, in your modem, and on the remote terminal server must all match.  In most cases you will want to set NUPop and your modem to use RTS/CTS flow-control.  See the section "Serial settings" for details on setting flow-control

If you are using the protected mode version of NUPop, the problem may be that you do not have a buffered UART, and the DPMI server is reflecting serial interrupts too slowly for NUPop to pick up all the incoming characters.    You should replace your serial port UART chip with an NS16550AN buffered UART.

Alternatively, you can try using a FOSSIL driver which runs in real mode.  See the section "Serial settings" for details.  

Lastly, you can try using NUPOPSER.EXE, an external driver for serial I/O designed for use only with NUPop.
A preliminary version of NUPOPSER.EXE comes as part of the NUPop release materials.  To use NUPOPSER.EXE, place it in the same directory as NUPOP.EXE and execute NUPOPSER.EXE instead of NUPOP.EXE.  NUPOPSER.EXE automatically invokes NUPOP.EXE.  Set the serial access method to BIOS at Options/Serial in NUPop.

This initial version of NUPOPSER.EXE implements a real-mode interrupt handler for the standard port addresses/IRQ/interrupt numbers only.   Also, this initial version of NUPOPSER.EXE only implements the standard PC BIOS interrupt 14h functions 0 through 3.  This means that there is no facility for manipulating DTR, so you MUST define a proper hangup string in order to get NUPop to
hang up the phone line.  

You don't need NUPOPSER.EXE if you are using the real mode version of NUPop which already runs the serial interrupt handler in real mode.

If you are running NUPop under MS Windows, see the section "Serial or SLIP access under Windows" for other tips on improving serial I/O within Windows.

Can't send or acquire messages
I am using [Serial] access mode and I can establish a successful connection to the terminal server.  However, 
my CONNECT.SCR script doesn't seem to work because I can't send or acquire any messages.  What's wrong?

Some possible reasons for this error:

	You haven't set the terminal server for character-by-character mode when you issue the Telnet command in your CONNECT.SCR script.  See Appendix A for more details.

	You haven't set the correct end of line string at Options/Serial.  Some terminal servers want just an Ascii carriage return (\r); some only want Ascii linefeed (\r); some want both (\r\n).  See "Serial settings" for more details.

	Your CONNECT.SCR script is "eating" too many characters.  NUPop never sees the greeting it needs from the POP server or SMTP server.  See Appendix A for more details.
Can't acquire long messages
I am using [Serial] access mode and I can successfully acquire short messages.  However, NUPop fails to retrieve long messages.  The terminal server usually hangs up in the middle of a long messages.  What's wrong?

Sometimes terminal servers are configured to "time out" inactive/idle serial sessions after a specified period of time, e.g., a few minutes.  Unfortunately some terminal servers use a bogus definition of what inactive/idle means:  they consider any session which is not SENDING characters TO the terminal server to be inactive, even if characters are being sent FROM the terminal server TO your PC.  When NUPop is acquiring a long message, the POP server is sending characters to your PC, but NUPop is not sending anything in reply (it is not supposed to).  Hence these brain-damaged terminal servers assume that the session is inactive and time out your POP session.  The result is that you cannot acquire messages which take longer to receive than the idle timeout setting on the terminal server.  You may also end up with "hung" POP server sessions as a result (see "POP3 session locked" above).

The proper way to fix this is to get your local systems support personnel to reconfigure the terminal server so that inactivity means that no characters are being transmitted in either direction.  

Another, less satisfactory, fix is to set Options/User/Long message size to a value which is smaller than the number of characters which result in a time out.  You will then need to find some other way to acquire the long messages, e.g., using a network-connected machine.
Gopher doesn't work
I am using [Serial] access mode and I can establish a successful connection to the terminal server, but I can't get Gopher to work.  What's wrong?

The Gopher protocol is not designed to run over a plain serial connection.  You MAY be able to get SOME Gopher retrievals to work if you are able to defeat echo on your terminal server.  See Appendix A for an example of defeating echo on a Cisco terminal server.  If you cannot defeat echo you cannot use Gopher over a plain serial connection.
Virtual memory problems
NUPop tells me "Cannot enable disk space as virtual memory."  What does that mean?

The real mode version of NUPop allows you to specify EMS, XMS, or disk as virtual memory at Options/Preferences/General.  This message means that NUPop was trying to use disk as virtual memory, but the disk file could not be opened.  Possible reasons for this include:

	Too little disk space on the drive  indicated by the Options/Network/Advanced/Temporary files subdirectory setting.   Specify another drive with more free disk space, or delete unneeded files from the specified disk.

	The temporary files subdirectory you specified doesn't exist.  You should create it BEFORE you run NUPop.  

	You have the DOS environment variable TMP= pointing to a bad or nonexistent subdirectory.

Reporting Problems or Suggestions

If you encounter problems when installing or using NUPop, and you cannot resolve the problem yourself, you should first contact your local network administrator.  Northwestern University users should contact the Information Centers in Vogelback (Evanston campus) or Wieboldt Hall (Chicago campus) for assistance.

If you have questions, suggestions, or general comments about NUPop you can send Email to the NUPop mailing list at:

nupop@casbah.acns.nwu.edu

See below for more details on the NUPop mailing list.

If you like NUPop, and would like NUPop to continue to be developed, it would not hurt to drop a note saying so.  Your opinion matters to the people who allocate funds for Academic Computing.

If you want to report a bug, please send email along with supporting information as noted below to Philip Burns, the author of NUPop:

	pib@nwu.edu

If you prefer postal mail:

NUPop Project
Academic Computing and Network Services
Northwestern University
2129 Campus Drive North
Evanston, IL.  60208
U.S.A.

The most common run-time error you are likely to encounter in the protected mode version of NUPop is error 216 -- protection exception.  This should produce a trace file NUPOPERR.TRA (as should any other run time error).  Please enclose a copy of that file when you report an error.

Sometimes error 216 may not produce a trace file if the error occurs in a system routine which does not use a standard calling sequence.  Please report the error address displayed on the screen.

For other types of errors -- e.g., problems connecting to a server -- please enable tracing at Options/Trace
(see the section "Trace Options") and try to reproduce the error with tracing enabled.  Send the trace file to with some explanatory text telling what problem the trace is supposed to show.

If you receive messages about "packet driver not found" or "TCP/IP driver not loaded" you should run the TRYPKTD.EXE program included in the NUPop release materials and enclose the output when you report the problem.  Just type:

	TRYPKTD >STUFF.LIS

which causes TRYPKTD to write its output to STUFF.LIS.

Also include the following with your problem report:

	The NUPop release number, whether it is the real or protected mode version, and the type of access you are using (TCP or serial).

	The type of CPU in your system.  You can find this out by running the CPUID.COM utility which is included in the NUPop release materials.

	The type of serial port UART chip you have if you are using NUPop over [SLIP] or [Serial].  You can find this out by running the CHECKUAR.EXE utility which is included in the NUPop release materials.

	Your operating system and version number.

	A listing of your config.sys and autoexec.bat files.

	A trace of your NUPop session exhibiting the problem(s) you are reporting. (See the "Trace Options" section for details.) Include explanatory text telling what the trace is supposed to show.

	If NUPop aborts, it should write a file called NUPOPERR.TRA .  Please enclose a copy of that file with your message.  If no trace file is produced, please note the error address displayed on the screen and include that in your message.

The NUPop mailing list
To be added to (or deleted from) the NUPop discussion mailing list, send a message to:

	pib@nwu.edu

Additions and deletions are done manually; the NUPop mailing list is not an automated list.

Some sites gate the mailing list to a local newsgroup. You may want to check if that is true for your site -- some people prefer to access a newsgroup so they can deal more easily with the volume of messages.

To send a message to the NUPop mailing list, mail  to:

	nupop@casbah.acns.nwu.edu

The NUPop mailing list is a simple mail reflector.  Notices of delivery problems are RETURNED TO YOU.  Since there are sites going up and down all the time, it is not uncommon to receive one or more "undeliverable mail" messages for each message you send to the list.

Appendix A: Customizing NUPop Scripts

NUPop provides a scripting language to automate serial access to dial-up terminal servers.  
NUPop script names
In [Serial] mode, NUPop uses DIAL.SCR, CONNECT.SCR, DISCONNE.SCR, DROP.SCR, and MODEMINI.SCR. In [SLIP] mode, NUPop uses MODEMINI.SCR, SLIPDIAL.SCR and DROP.SCR.  In [NET] access mode, NUPop uses none of the scripts.

DIAL.SCR 	Dial a phone number	
CONNECT.SCR 	Ask terminal server to establish a connection	
DISCONNE.SCR	Disconnect the current server session (but don't necessarily hang up)	
DROP.SCR 	Drop the serial connection (hangup)	
MODEMINI.SCR	Initialize modem	
SLIPDIAL.SCR 	Dial a SLIP server	

The NUPop distribution materials include scripts for use with Northwestern's terminal  servers. Users at other sites will need to modify  these scripts to match their local system conventions and modem conventions.   The sample scripts are discussed below.  A complete list of NUPop script commands appears later in this appendix.

MODEMINI.SCR  -- Initialize modem
NUPop invokes the MODEMINI script to initialize the modem.  This happens the first time a serial port is used, or when you request an initialization at Utilities/Modem initialization.  In its simplest form this script just issues the "modeminit" script command. 

*     Initialize the modem.
*
modeminit

NUPop warns you when it wants to invoke the modem initialization script but NUPop detects a call in progress because the carrier line is high.  Sometimes this results from  the "catch-22" of needing to initialize the modem to report carrier normal when the modem's default setting is to report carrier always high.  

DIAL.SCR -- Dial terminal server
NUPop invokes this script to dial the terminal server which is used to access the POP server, SMTP server, etc. NUPop does not invoke DIAL.SCR if a carrier is detected, so you must ensure that the modem is correctly set to report carrier normal or NUPop will never dial.  Northwestern's terminal servers use the ">" character as their prompt for input.  You need to change the "repsendwait" command if your terminal server uses a different prompt character.

*
*     Dial the terminal server.
dial
*
*     Wait for a carrier.
*
waitcarrier
*
*     Wait for "CONNECT" message from modem.
*
waitstring "CONNECT"
*
*     Send CRs to wake up the terminal server
*     and wait for terminal server prompt.
*
repsendwait 10 5 "|" ">"
delay

CONNECT.SCR -- Connect to system from terminal server
Once connected to the terminal server,  NUPop invokes CONNECT.SCR to connect to a specific system by name and TCP port number.  (NUPop assumes it is connected to the terminal server if carrier is high.) If your terminal server allows, you should disable character echo.  This greatly improves performance when sending messages from NUPop.  (Northwestern's terminal servers allow echo to be disabled using the "/noecho" parameter.)  You will need to change the "waitstring" command for sites other than Northwestern.

*
*     Connect to system (%n) on TCP port (%p).
*
stext "telnet %n %p|"
*
*     Wait for server to say connection is open.
*
waitstring "... Open"
*

You must be VERY CAREFUL in what you choose as the argument to the "waitstring" following the stext which issues the "telnet" command.  Many of the servers used by NUPop, such as POP3 and SMTP, issue a greeting line when you open a connection.  NUPop MUST see that greeting line or the connection will NOT be properly established.  DO NOT use any part of such an initial greeting line in the final "waitstring" in the connect script!

For example, the POP3 protocol sends an initial line which starts with "+OK".  NUPop MUST see that line in the POP processing code or NUPop will fail to recognize that a POP session has started.  If your script has absorbed the "+OK" NUPop will not see it and will fail.  

You must also be sure to establish the Telnet connection in character mode, not line mode.  For example, Xylogics Annex servers require that you specify the "-r" parameter on the Telnet command to place the server in character mode:

stext "telnet -r %n %p|"

To defeat echo on Northwestern's Cisco servers, use the "/noecho" option:

stext "telnet/noecho  %n %p|"

DISCONNE.SCR -- Disconnect server session
NUPop invokes DISCONNE.SCR to "terminate" a terminal server connection.  This may or may not cause the terminal server to hang up the phone as well.  At Northwestern this is effectively a no-operation.  The "waitquiet" command looks for a second of no activity on the serial line and does nothing else; the actual disconnection is left to the DROP.SCR script.
*
*     Wait for a second of peace and quiet.
*
waitquiet

DROP.SCR -- Hang up the serial connection
NUPop invokes DROP.SCR to terminate the terminal server connection and hang up the phone line.  At Northwestern, the "exit" command causes the terminal server to hang up the phone so the "hangup" script command is not used. 

*
*     Wait for a second of peace and quiet.
*
waitquiet
*
*     Tell terminal server we're done.
*
stext "~exit|"
*
delay
*
waitquiet
SLIPDIAL.SCR -- Dial terminal server and set IP address for SLIP
If you set "dial up IP" at Options/Network/Advanced to "Yes" then NUPop uses SLIPDIAL.SCR to dial the terminal server rather than DIAL.SCR.  Sites other than Northwestern will probably have to change the prompt character in "repsendwait" as well as the other commands sent to the terminal server.  The "readip" command extracts the IP number which NUPop is to use from the server's response to the command to enter slip mode (at Northwestern, this command is "slip").  Again, sites other than Northwestern will probably have to change the "waitstring" which absorbs the IP number lead-in string.

*
*     Dial the SLIP server.
*
dial
*
*     Wait for carrier.
*
waitcarrier
*
delay
*
*     Wake up terminal server and wait for prompt.
*
repsendwait 10 5 "|" ">"
delay
*
*     Put server in transparent mode.
*
stext "term down|"
*
*     Wait for server prompt.
*
waitstring ">"
delay
*
*     Tell server to negotiate adm3a emulation.
*
stext "terminal terminal-type adm3a|"
*
*     Wait for server prompt.
*
waitstring ">"
delay
*
*     Request slip connection.
*
stext "slip|"
*
*     Wait for IP number lead-in string.
*
waitstring "Your IP address is "
*
*     Read IP number from server.
*
readip
*
delay
delay
delay

If your site allows a SLIP connection to configure itself using BOOTP, you could modify the script above as follows:

	Remove the "waitstring" for the IP number lead-in string and the subsequent "readip" command.

	Replace these with a "setip 0.0.0.0" command to ensure that NUPop will invoke BOOTP to configure itself.

NUPop script commands
Following is a complete list of the NUPop script commands and a description of what each command does.

BREAK	Sends a serial break	
DELAY	Delays script execute for 1 second	
DIAL n	Sends the dialing string defined at Options/Dialing. The phone number to be dialed in indicated by the "%t" macro. "n" is the number of times to retry the dialing if it fails (because the number is busy, etc.)  If "n" is not specified, NUPop only tries to dial once.	
DROPDTR	Lowers Data Terminal Ready for one second.  This may be used to hang up a modem or "wake up" a hard-wired serial line.	
ECHO "text"	Displays the "text" in the trace window.  Useful for always displaying a string even when script tracing is inactive.	
GOTO :LABEL
:LABEL	Provides a primitive branching mechanism. At most 10 labels will be remembered, but this only affects the ability to branch backward in the script file.  You can go forward as much as you want, but backward only as far as the farthest of the 10 last seen labels.  Duplicate labels are not checked for, but the first occurrence of a label will always be the one used.	
HANGUP	Sends the hangup string defined at Options/Dialing.	
MODEMINIT	Sends the modem initialization string defined at Options/Dialing.	
PROMPT "string" variable hide "initial value"
	Pops up a dialog box prompting for user input of the value named by "string". The value is stored in variable which must be one of v0, v1, v2, v3, v4. If hide is 1, the value typed by the user will be echoed as asterisks - useful for entering passwords. The "initial value" will be assigned to the variable before the dialog box is displayed so it will appear in the field. If you want to use the current value of the variable, you can use "%vn" because the "initial value" string is processed for string substitutions.	
QUIT	Aborts script execution and marks connection as having fatal error.	
READIP 	Reads incoming text as the IP number to be used by NUPop for the PC on which it is running. Used when calling an IP server via SLIP. See the sample SLIPDIAL.SCR script for an example. 	
REPSENDWAIT maxtries interval "sendstring" "waitstring"
	Send the "sendstring" to the remote system (just like SText) and wait up to "interval" seconds for "waitstring" to appear (like WaitString).  If "waitstring" does not appear in the specified time, the "sendstring" is sent again and a new wait cycle starts.  This is repeated up to "maxtries" times or until the "waitstring" is found.	
SENDPOPPASSWORD	Sends the unencoded POP server password to the remote system. Note: Only the password text is sent, without any terminating CR+LF. 	
SENDPOPUSERNAME	Sends the POP user id  to the remote system.	
SETIP nnn.nnn.nnn.nnn	Sets the IP address of the PC to that specified by "nnn.nnn.nnn.nnn". Generally used in conjunction with SLIP.	
STEXT "text"	Sends the specified text to the remote system.
A "|" character is interpreted as a request to send a carriage return.
A "~" is interpreted as a one second delay.
The following macro sequences may appear in a string:
%n -- The name of the server to connect to.
%p -- the TCP port number to connect on.
%t -- the phone number defined at Options/Dialing.
%u  -- substitutes the current Pop userid.
%vn -- substitutes the current value of variable vn where n is 0, 1, 2, 3, or 4.

The following escape sequences may appear in a string:

              \\    -- send a literal \
              \|    -- send a literal |
              \'    -- send a literal '
              \"    -- send a literal "
              \~    -- send a literal ~
              \a    -- send a ^G = ASCII BEL
              \b    -- send a ^H = ASCII backspace
              \d    -- delay for one second
              \f    -- send a ^L = ASCII formfeed
              \n    -- send a ^J = ASCII linefeed
              \r    -- send a ^M = ASCII carriage return
              \t    -- send a ^I = ASCII tab
              \v    -- send a ^K = ASCII vertical tab
              \xnn  -- send the ASCII character x"nn" where "nn" is
                       the hexadecimal value of the character.
                       Examples:
                          \x0A  --- send x"0A" which is ASCII line feed.
                          \xff  --- send x"ff" character	
TIMEOUT n	Used to override the normal timeout (specified in Options/Dialing) for the current script. Leaving out the operand will restore the Options/Dialing timeout. The value is specified in seconds.	
TRACEOFF	Deactivates display of script progress.  Use TRACEON to reactivate.	
TRACEON	Activates display of script progress.  This is the normal setting.	
WAITCARRIER	Wait for a carrier to be detected before processing. Times out using the "WaitTime" value set at the Options/Dialing menu.	
WAITQUIET	Waits until no characters are received from the remote system for one second.	
WAITSTRING "text" label ...	Waits for the string "text" to appear from the remote system. Times out using the "WaitTime" value set at the Options/Dialing menu.

WaitString may optionally to take up to eight operands which may be either strings or labels. One or more strings followed by a label means go to that label if any of the matches succeed. A label not immediately after a string (i.e. first operand is a label or the second label in a row) means go to that label on timeout. 

Examples:

         1. WAITSTRING :TIMEOUT "Login: " :OK "Password: "
            * executes here if "Password: " is received.
            :OK
            * executes here if "Login: " is received.
            :TIMEOUT
            * executes here if the wait times out.

         2. WAITSTRING "Login: " "Signon: " :OK
            * never comes here at all - script execution fails on timeout
            :OK
            * executes here if "Login: " or "Signon: " is received.	

Appendix B: NUPop Program Parameters

NUPop provides several command line parameters.  These are:

/batch	Connect to POP server without bringing up the full user interface (interactive mode) and determine the number of messages waiting.  NUPop returns that number as its exit code.	
/bw	Set "black-and-white" display mode.  If you have a monochrome display (e.g., laptop LCD display) and have trouble seeing NUPop screens with the regular default colors, select this parameter and NUPop will only use the equivalent of black, white, and gray for all displays.	
/debug=filename	Causes NUPop to write debug information to the specified file.  The output is the same as NUPop generates when <ALT>F10 is selected in interactive mode.	
/no386	Normally NUPop uses code sequences optimized for 80386/80486 CPUs when it detects that it is running on such machines.  This parameter prevents that.  You may need to specify this if you are running TSRs or network software which does not properly save and restore the 32 bit CPU registers after handling an interrupt.	
/noems	Normally the real mode version of NUPop loads overlays into EMS (expanded memory) if possible.  This parameter prevents NUPop from doing that.  All overlays will be loaded from disk as needed.  This parameter also prevents the protected mode version of NUPop from loading the resource strings into EMS for faster access.  Note:  this parameter does NOT affect the use of EMS as virtual memory.	
/nosuballoc	Normally the protected mode version of NUPop uses a suballocation scheme when getting memory using the DPMI server.  This is because of the limited number of DPMI memory selectors available.  This parameter requests NUPop to use a separate DPMI selector for each memory allocation.  You should not use this parameter, it is for debugging purposes only.	
/notimed	To increase security, NUPop sends passwords one character at a time per packet.  Some systems (e.g., VM/VMS) may have difficulty with this.  This parameter causes NUPop to send the password all as one string in a single packet.	
/noxms	If there is insufficient EMS memory, or the /noems parameter is specified, the real mode version of NUPop tries to load overlays into XMS.  This parameter prevents that.  This parameter also prevents the real mode version of NUPop from loading the resource strings into XMS for faster access.  Note:  this parameter does NOT affect the use of XMS as virtual memory.	
/p=path	Specifies the DOS path in which the NUPop user configuration files reside.	
/tracescript	Display script progress in batch mode if serial access. Script progress is always reported in interactive mode.	

Appendix C:  Time Zone Names

You specify your time zone at Options/Network/Time Zone. You may select either an abbreviation or an offset from Universal (Greenwich Mean) Time.  Some numeric offsets do not have an abbreviated name attached to them.

Abbreviation	Time zone name	Offset from GMT	
IDLW	International Date Line West	-1200	
NT	Nome Time	-1100	
		-1030	
AHST	Alaska-Hawaii Standard Time 	-1000	
YST	Yukon Standard Time	-0900	
PST	Pacific Standard Time	-0800	
MST	Mountain Standard Time	-0700	
PDT	Pacific Daylight Time	-0700	
CST	Central Standard Time	-0600	
MDT	Mountain Daylight Time	-0600	
EST	Eastern Standard Time	-0500	
CDT	Central Daylight Time	-0500	
AST	Atlantic Standard Time	-0400	
EDT	Eastern Daylight Time	-0400	
NST	Newfoundland Standard Time	-0330	
GST	Greenland Standard Time	-0300	
ADT	Atlantic Daylight Time	-0300	
AT	Azores Time	-0200	
WAT	West Africa Time	-0100	
UT	Universal Time	+0000	
GMT	Greenwich Mean Time	+0000	
CET	Central European Time	+0100	
MET	Middle Europe Time	+0100	
EET	Eastern European Time	+0200	
BT	Baghdad Time	+0300	
		+0400	
		+0500	
IST	Indian Standard Time	+0530	
		+0600	
		+0630	
WAST	West Australian Standard Time	+0700	
SST	Singapore Standard Time	+0700	
JT	Java Time	+0730	
WADT	West Australian Daylight Time	+0800	
CCT	China Coast Time	+0800	
		+0830	
JST	Japan Standard Time	+0900	
CAST	Central Australian Standard Time	+0930	
SAST	South Australian Standard Time	+0930	
EAST	East Australian Standard Time	+1000	
CADT	Central Australian Daylight Time	+1030	
SADT	South Australian Daylight Time	+1030	
EADT	East Australian Daylight Time	+1100	
NZT	New Zealand Time	+1200	
IDLE	International Date Line East	+1200	

Appendix D: National Replacement Character Sets

The ASCII character set does not provide for letters used in non-English alphabets. Many countries like Germany, France, and Sweden have decided to sacrifice certain ASCII characters in order to re-map or re-define these characters to accommodate the letter characters they need.  For example, the tilde character (~) is mapped to represent an umlauted "u" (a "u" with two dots over it) for the Swedish language character set.   Such altered character sets are called National Replacement Character Sets.

NUPop supports several national replacement character sets.  The definitions reside in the NUPop configuration file NUPOP.NRC which is provided as a part of the NUPop distribution materials.  You select a national replacement character set at Options/User/Language.   You may then send and receive messages written in the selected character set. NUPop makes the conversion automatically, so that two people using NUPop can exchange email written using a particular character set without having letter characters appear as tildes or curly brackets at the other end.  

The following table shows the national replacement character sets provided by NUPop.

Language	Original ASCII	Replace-ment	
British	#	£	
Finnish	[	Ä	
	\	Ö	
	]	Å	
	^	Ü	
	`	é	
	{	ä	
	|	ö	
	}	å	
	~	ü	
Finnish2	[	Ä	
	\	Ö	
	]	Å	
	{	ä	
	|	ö	
	}	å	
French	#	£	
	@	à	
	[	°	
	\	ç	
	]	§	
	{	é	
	|	ù	
	}	è	
FrenchCanadian	@	à	
	[	â	
	\	ç	
	]	ê	
	^	î	
	`	ô	
	{	é	
	|	ù	
	}	è	
	~	û	
German	@	§	
	[	Ä	
	\	Ö	
	]	Ü	
	{	ä	
	|	ö	
	}	ü	
	~	ß	
Italian	#	£	
	@	§	
	[	°	
	\	ç	
	]	é	
	`	ù	
	{	à	
	|	ò	
	}	è	
	~	ì	
Norwegian	[	Æ	
	\	¥	
	]	Å	
	{	æ	
	|	¢	
	}	å	
Spanish	#	£	
	@	§	
	[	¡	
	\	Ñ	
	]	¿	
	{	°	
	|	ñ	
	}	ç	
Swedish	@	É	
	[	Ä	
	\	Ö	
	]	Å	
	^	Ü	
	`	é	
	{	ä	
	|	ö	
	}	å	
	~	ü	
Swiss	#	ù	
	@	à	
	[	é	
	\	ç	
	]	ê	
	^	î	
	_	è	
	`	ô	
	{	ä	
	|	ö	
	}	ü	
	~	û	

Appendix E:  Setting Type and Creator Fields for BINHEX and FTP
The configuration file NUPOP.TAC allows you to specify the type and creator fields which NUPop should use when encoding and decoding binhexed files.  (If you don't know what that means, don't alter the contents of NUPOP.TAC!) Each line in NUPOP.TAC specifies:

(1)	PC file extension (without the leading '.') in columns 1 through 3; 
(2)	the Macintosh type in columns 5 through 8;
(3)	the Macintosh creator name in columns 10 through 13.

For example, using the default NUPOP.TAC values note below, a file named ACCOUNTS.WKS on the PC will be given a type field of XLS and a creator field of  XCEL (Microsoft Excel when converted to BINHEX format.  Extensions not listed in NUPOP.TAC are marked as type IBMB with creator IBM.  
NUPop automatically converts the differing end-of-line conventions between the Macintosh and the PC when the TYPE field is "TEXT".  The Macintosh uses the single character ASCII ^M (carriage return) to mark the end of lines, while the PC uses the two character ASCII sequence ^M^J (carriage return + line feed).  

If you incorrectly name a binary file with one of the text extensions, the contents of the file will be mangled because of this end-of-line processing!

NUPOP.TAC is also used by  Utilities/FTP in "Auto" mode to decide whether a file should be transferred in binary mode or in text mode.  Files with extensions with the "Type" field marked as "TEXT" will be transferred as text.  All others will be transferred as binary. 

	Default NUPOP.TAC contents

Extension	Type	Creator	
BAT	TEXT	MSWD	
C 	TEXT	MSWD	
COM	IBMB	IBM	
CPP	TEXT	MSWD	
DOC	WDBN	MSWD	
LIS	TEXT	MSWD	
LST	TEXT	MSWD	
MCW	WDBN	MSWD	
PAS	TEXT	TPAS	
PM3	ALB3	ALD3	
PM4	ALB4	ALD4	
PT3	ALT3	ALD3	
PT4	ALT4	ALD4	
RTF	TEXT	MSWD	
TXT	TEXT	MWII	
WKS	XLS 	XCEL	
WK1	XLS 	XCEL	
XLC	XLC 	XCEL	
XLS	XLS 	XCEL	

Appendix F:  Format of Group Definitions File NUPOP.GUP
The configuration file NUPOP.GUP contains group name definitions for email addresses and lists of email addresses.  A group name allows you to assign a "nickname" to email addresses you frequently use.  You can also assign a group name to a list of email addresses.  

Normally you use the Groups/Create group or Groups/Edit Groups menu items within NUPop to manipulate group definitions.  However, you may want to manipulate group definitions using an external program if you are trying to keep import existing alias definitions from another mail system.

The NUPOP.GUP file is a plain Ascii test file.  The format is:

Groupname1	
Address1	
Address2	
(more addresses)	
Addresslast	
	
Groupname2	
Address1	
Address2	
(more addresses)	
Addresslast	

The group name appears on a line by itself.  Group names should not contain blanks for special characters other than a dash ("-").  The email addresses which comprise the group appear on the following lines, one to a line. The last email address in each group except for the last group is followed  by a blank line.

Group definitions may be nested -- that is, a group definition may itself be used as an "address" in another group definition.  Be careful when nesting group definitions to avoid recursion.

Each address should be of the form "name@site".  This may be followed by comments enclosed in double quotes.

Here is a sample groups file.  Note how "friends" is nested within "morefriends".

nupop-list
nupop@casbah.acns.nwu.edu "NUPop mailing list"

pib
pib@nwu.edu "NUPop author"

friends
joe@site1.bogus.com
sara@bogus2.edu

morefriends
friends
stacy@someplace.edu
bill@otherplace.com

Appendix G:  Format of Gopher Bookmark File NUPOP.BMK
NUPop's Utilities/Gopher allows you to create "bookmarks" which allow you to access specific Gopher facilities of interest to you directly.  Usually you create bookmarks by pressing the "Bookmark" button at Utilities/Gopher.  NUPop saves the bookmarks you create in the file NUPOP.BMK.  However, you may want to convert bookmarks from (or to) other Gopher programs.  This appendix describes the format of NUPOP.BMK.

NUPOP.BMK is a plain Ascii text file, i.e., each line is terminated with Ascii <CR><LF>. Lines may exceed 255 characters in length, particular line 4 (the Gopher selector string).  Each Gopher bookmark comprises six consecutive lines in this file.  

Line 1:	Description of Gopher bookmark	
Line 2:	Gopher type	
Line 3:	Gopher display string	
Line 4:	Gopher selector string	
Line 5:	Gopher server name	
Line 6:	Gopher server port	

Line 1 is the bookmark name which NUPop displays.

The definitions of lines 2 through 6 appear in the official description of the Gopher protocol, RFC1436.

NUPop's Gopher recognizes the following Gopher types (line 2):

0	Text file	
1	Directory listing	
2	PH/CSO server	
3	Error	
4	Mac binary	
5	Dos (PC) binary	
6	Unix binary	
7	Search request	
8	Telnet session	
9	Some kind of binary	
G	GIF format graphic	
I	Image	
M	MIME format file	
T	TN3270 session	
c	Calendar	
e	Event	
h	HTML	
i	Information	
s	Sound	
w	WHOIS	

The bookmark entries follow one right after the other in NUPOP.BMK without any intervening delimiter lines.

Here is a sample bookmark entry:

All the Gopher Servers in the World
1
All the Gopher Servers in the World
1/Other Gopher and Information Servers/all
gopher.tc.umn.edu
70

Appendix H: WATTCP.CFG Settings For NUTCPWAT External Driver

In order to use the NUTCPWAT driver you need to provide a standard WATTCP.CFG file.  This file is used with all Waterloo TCP/IP applications and contains information required to initiate execution of the Waterloo TCP/IP kernel.  Some of the information in this file duplicates information in the NUPOP.NET file.  You should ensure the information matches.   

Creating the configuration file WATTCP.CFG

WATTCP.CFG is a sample configuration file for NUTCPWAT.EXE and other Waterloo TCP/IP programs.  This file provides important information describing your network configuration.  It is very important that you provide the correct information in this file or NUTCPWAT.EXE will not execute properly.  WATTCP.CFG is a plain ASCII text file, so you may modify it using any editor which produces such files, including NUPop's built-in full-screen editor.  A configuration file is generally required for each PC which is to use NUPop.  You may also use the BOOTP protocol instead. Place WATTCP.CFG in the same NUPop subdirectory as NUPOP.EXE and NUTCPWAT.EXE. 

Entries in WATTCP.CFG all take the form:

	keyword=value

You may place a comment after a value by starting the comment with the "#" character. If you do not enclose the value field with double quote marks, then the start of the comment ("#") or the end of the line terminates the value. All embedded spaces and tabs are removed from the value. If you want to preserve spaces in a value, then surround the value with double quote marks.

You will need to obtain values for the following items from your local network administrator in order to produce a correct WATTCP.CFG for your system. If you already have a NUPOP.NET configuration file you can copy the appropriate values from NUPOP.NET into WATTCP.CFG.

my_ip = ______.______.______.______

This specifies the IP address of your machine (e.g., 129.105.1.2).  All IP address have this same "nn.nn.nn.nn" format.  Each machine on a TCP/IP network has its own IP address.

hostname = name

Systems on a TCP/IP network traditionally  have a name like "mypc.mycomany.com" which identifies the specific name (mypc), Internet subdomain (mycompany), and Internet domain (com).  This line provides the specific name for your PC.  For example, you could write:

	hostname=mypc

You need not provide the subdomain or domain names, these are taken from the "domainslist" keyword below.

netmask = ______.______.______.______

This specifies the local subnet mask. You could write:

	netmask=255.255.255.0

NUTCPWAT does not allow netmasks of 255.255.255.255.

gateway = ______.______.______.______

This specifies the IP address of the local gateway machine (e.g., 129.105.1.1).  The gateway machine routes packets between the PC part of the TCP/IP network and other parts of the network.  Your network may not have a gateway machine in which case you can omit this line.

nameserver = ______.______.______.______

This specifies the IP address of the primary name server.  The name server system translates Internet system names like "mypc.mycompany.com" into IP addresses.  You may specify up to ten name servers by repeating this line with new addresses.  These will be used in the order in which they appear in WATTCP.CFG to resolve system names.

domainslist = "______________________________"

This specifies the list of domain names. These are automatically appended to Internet system names by the name server when it tries to determine the IP address corresponding to a specific system name.  For example, if all of your machines are located in the domain "mycompany.com", then you could write:
	domainslist = "mycompany.com"
If your network is broken down into further subdomains, you might want to list them all in the "domainslist". For example, suppose some of your machines are located in subdomain "mis.mycompany.com".  You could write:

domainslist="mycompany.com,mis.mycompany.com"

sockdelay = ____

This specifies the maximum response time to an open request before the connection attempt aborts.  The default value is 30 seconds.  A smaller value is unwise, but larger values may be necessary for particularly bad connections.

BOOTP

When NUTCPWAT can't find a WATTCP.CFG file it automatically invokes the BOOTP protocol.  BOOTP is a standard protocol which requests a workstation's IP address and other information from a BOOTP server.  You may also specifically request that configuration information be provided by a BOOTP server by writing "bootp" as the IP address in a WATTCP.CFG configuration file:

my_ip = bootp

This broadcasts a request on the local subnet.  You may specify a specific BOOTP server, which need not be on the same subnet, by specifying its IP address using the "bootp" keyword:

bootp = ____.____.____.____

Example:	

bootp = 129.97.128.1

The default timeout value for performing a BOOTP lookup is 30 seconds.  You may change this by using:

bootpto = ______

Example:

bootpto = 50

NUTCPWAT automatically retrieves the following configuration parameters from the BOOTP server, assuming it returns them:

	IP address
	subnetmask
	gateway (only one will be added)
	nameservers (all supplied will be added) 
	hostname

The domain name cannot be specified currently.  Only one gateway is recorded by NUTCPWAT

Note: Not all networks provide a BOOTP server!

Appendix I:  Protected Mode Considerations
This appendix documents the use of RTM.EXE, RTMRES.EXE, DPMI16BI.OVL, DPMIINST.EXE and DPMILOAD.EXE.  These files provide the DOS protected mode support for NUPop.

To run the protected mode version of NUPop, you should have an Intel 386/486/Pentium processor and at least two megabytes of memory.  You MAY be able to run the protected mode version with an Intel 286 processor, but we don't recommend this.  For example, you will not be able to use NUPop in serial mode with an Intel 80286 processor unless you have a buffered UART such as the NS16550AN, and even this may not work if you want to use higher connection speeds than 2400 bps.  This is because switching the Intel 80286 in and out of protected mode is a very slow process that interferes with the reception of characters at the serial port.

Included is documentation about these topics:

	Running a DOS Protected-Mode Program

	What to do if Borland's DPMI server does not run on your system

	How to set DOS environment variables that affect all protected-mode programs generated by Borland Pascal with Objects 7.0

	Special notes for running under Windows

	Controlling the amount of memory the run-time manager uses

Running the Protected Mode Version of NUPop

When you the protected mode version of NUPop, you must ensure that DPMI16BI.OVL (the DPMI server) and RTM.EXE (the run-time manager) are present in the current directory, in the same directory as NUPOP.EXE, or on the DOS path.

Protected Mode and Memory

The protected mode version of NUPop uses DPMI (DOS Protected Mode Interface v0.9) to run.  This gives NUPop access to all your computer's memory. With the exceptions outlined below, the DOS protected-mode technology is completely transparent and no extra steps are necessary in order to run NUPop in protected mode.

DPMIINST
One such exception might be when you run NUPop for the very first time on an Intel 80286-based system. (Again, we don't recommend that you do this.) The protected mode technology uses an internal database which contains various machine characteristics to determine how to enable protected mode operation on your system, and configures itself accordingly. If you have a computer with an older 80286 microprocessor, your system might not be recognized. You'll see this message when you try to run a protected-mode application like NUPop:

Machine not in database (RUN DPMIINST)

If you get this message, simply run the DPMIINST program by typing DPMIINST at the DOS prompt and following the program's instructions.

DPMIINST runs your machine through a series of tests to determine the best way of enabling protected mode, and automatically configures accordingly. Once you have run DPMIINST, you won't have to run it again.

Some memory managers, device drivers, and memory resident (TSR) programs can interfere with DPMIINST's ability to analyze your system. If DPMIINST fails, try temporarily disabling or removing these programs. That gives DPMIINST the unrestricted access it needs to determine the best way to enter protected mode.

Note that you DO NOT have to run DPMIINST.EXE on a system running the HIMEM.SYS (or equivalent) driver, or on any system based on an Intel 80386 (or later) CPU.

If DPMIINST fails, you cannot run the protected mode version of NUPop.  You should use the real mode version instead.

DPMIMEM

By default, the DPMI interface allocates all available extended memory for its own use. If you don't want all of the available memory to be taken by the DPMI kernel, you can set a DOS environment variable to specify the maximum amount of memory to use. This variable can be entered directly at the DOS prompt or inserted in your AUTOEXEC.BAT file, using this syntax:

  SET DPMIMEM=MAXMEM nnnn

where nnnn is the amount of memory in kilobytes.
For example, if you have a system with 4MB and want the DPMI kernel to use only 2MB of it, leaving the other 2MB alone, the DPMIMEM variable would be set as follows:

  SET DPMIMEM=MAXMEM 2048

Some memory managers, like QEMM or 386^Max, allow allocating the same area of memory as either extended or expanded and many older applications can use only expanded memory (EMS). By using the DPMIMEM DOS environment variable to limit the amount of extended memory used by the DPMI server, your system will still have expanded memory available for use by older applications.

RTMRES

RTMRES preloads the protected-mode system. Preloading the DPMI server lets you load a protected mode program like NUPop slightly faster.  RTMRES will start a program if you specify a program name as a parameter. If no parameter is specified, RTMRES will run a DOS shell. Type EXIT to close the shell.

RTMRES is especially useful if you start, exit, and start NUPop (or other protected-mode programs) frequently. Normally, every time you run a protected-mode application, the DPMI server is loaded. If you've run RTMRES previously, the server is already present, and the protected-mode application loads faster.

EXTENDED MEMORY

A protected-mode application interacts with the DPMI server through Borland's run-time manager (RTM.EXE). By default, a protected-mode application uses all the extended memory reserved by the DPMI kernel.

Running NUPop from Windows

A DOS protected-mode program will run in Windows in 386 enhanced mode. To configure the amount of memory available to the application, edit the Windows .PIF file. To learn more about .PIF files, see your Microsoft Windows User's Guide.

The sample NUPOP.PIF file included in the NUPop release limits NUPop to three megabytes of memory.

Running NUPop in Windows Standard Mode

In order to run NUPop from Windows standard-mode, you must set the DPMIMEM DOS environment variable and run RTMRES (both are described above) BEFORE running Windows.  Make sure your DPMIMEM setting leaves enough physical memory for Windows to operate.

Note that once you've run RTMRES, you won't be able to run Windows in 386 enhanced mode until you exit the RTMRES shell (by typing EXIT at a DOS prompt).

Running from a Windows DOS Prompt

To run NUPop from a Windows DOS prompt, you must first modify the DOSPRMPT.PIF file found in your Windows directory so that NUPop will be able to use extended memory.

Using the Windows PIF editor, open the DOSPRMPT.PIF file, and indicate the amount of extended memory you want NUPop to use. If you are unsure how to use the PIF editor, see your Microsoft Windows User's Guide.

Controlling the Amount of Memory the Run-Time Manager Uses

The run-time manager attempts to free as much conventional memory as possible (by moving moveable memory blocks into extended memory, for example) before starting an application. No attempt is made to release extended memory, however. Therefore, if you are going to run other protected-mode applications that don't use the run-time manager (Paradox 4.0, for example), use the RTM DOS environment variable to control the run-time manager's allocation of memory.

Use the DOS command line to add the RTM environment variable to your system's DOS environment. Here is the syntax:

  SET RTM=[option nnnn]

The following table lists the options you can use.   "nnnn" specifies a decimal number or a hex number 
in the form of xAB54 or xab54.

Option 	Description	
EXTLEAVE nnnn	Always leave at least nnnn kilobytes of extended memory available. The default value is 640K.	
EXTMAX nnnn	Don't allocate more than nnnn kilobytes of extended memory. The default value is 4 gigabytes. In Windows, the default value is one-half the available memory.	
EXTMIN nnnn	If fewer than nnnn kilobytes are available after applying EXTMAX and EXTLEAVE limits, terminate with an Out of Memory message. The default value is zero.	
REALLEAVE nnnn	Always leave at least nnnn paragraphs of real memory available. The default value is 64K or 4096 paragraphs.	
REALMAX nnnn	Don't allocate more than nnnn paragraphs of real memory. The default value is 1 megabyte or 65,535 paragraphs.	
REALMIN nnnn	If fewer than nnnn paragraphs are available after applying REALMAX and REALLEAVE, terminate with an Out of Memory message. The default value is zero.	

Example: 

The following DOS command limits RTM to 2M bytes of extended memory, and ensures that 128K bytes of real memory are left unallocated:

  SET RTM=EXTMAX 2048 REALLEAVE 8192

Appendix J: API for External TCP/IP Drivers

Internally, NUPop provides its own TCP/IP stack and also provides support for the FTP Software TCP/IP stack via the interrupt 61h interface. NUPop also allows you to write an external driver to interface NUPop with an arbitrary TCP/IP stack.  Four such external drivers are provided with NUPop: NUTCPLWP for Novell's Lan Workplace for DOS; NUTCPWOL for Wollongong PathWay; NUTCPWAT for Waterloo TCP/IP; and NUTCPTRM for Peter Tattam's Trumpet ABI.  This appendix documents the programming applications interface (API) used by these drivers.  With this information you can write your own external driver if you are using a TCP/IP stack other than the ones listed above.

(Not written yet.)

Appendix K:  Format of MLIST.STM message index file
Each message received by NUPop is saved as an ordinary text file in a mail subdirectory.   The binary file MLIST.STM in each mail subdirectory indexes the message files.  It is used to build the index display.

High message number	Long Integer	
Current message number	Long Integer	
Sort Order	Byte
0 = By arrival
1 = By subject
2 = By sender	
Count of messages	Word	
Limit (initial message slots to allocate)	Word	
Delta (message slots to allocate when adding messages)	Word	
Message data	(Repeated for each message)	
Duplicates flag	Byte
0 = don't allow duplicates	

The Limit and Delta values are used to allocate memory to hold the index entries in memory.  Limit should be at least as large as the count of messages.  Delta should be set to a value like 50.  Duplicate entries are not allowed in the message index, so the Duplicates flag should always be sent to 0 (=False).

The data for each message takes the form:

File number (= file name)	Long Integer	
Message status	Byte
0 = No Status
1 = Bounced
2 = Deleted
3 = Forwarded
4 = Received, not read yet
5 = Received and read
6 = Replied to
7 = Sent
8 = Not yet sent
9 = Receipt to be sent
10 =  Deleted to Trash	
Selected flag	Byte
0 = Not selected
1 = Selected	
From string	String[25]
First byte is length of string, i.e., string is 26 bytes long.	
Date string	String[20]
First byte is length of string, i.e., string is 21 bytes long.	
Subject string	String[45]
First byte is length of string, i.e.,  string is 45 bytes long.	

In the string values above, you should assumed that positions beyond the length of the string have NOT BEEN INITIALIZED to anything.  You may want to clear these positions to blanks when reading or writing an index file.

If a outbound message has associated enclosures, these are stored in the file "n.ENC" where "n" is the file name derived from the message number.  For example, the text of message number 2 is stored in file "2", and the enclosure list is stored in file "2.ENC".  The enclosure file is a binary file with the following layout:

Count of enclosures	Word	
Limit (initial slots to allocate)	Word	
Delta (slots to allocate when adding enclosures)	Word	
Enclosure definition	(Repeated for each enclosure)	
Duplicates flag	Byte
0 = don't allow duplicates	

The enclosure definition is a varying length string up to 80 characters long with the length of the string in the first byte (length byte not included in length).  The second byte tells the type of enclosure:

T	Text	
B	Binhex	
U	UUEncoded	

The remainder of the string is the file name of the enclosure.