@DATABASE help.guide
@WORDWRAP
@NODE MAIN
@TITLE "DreamTerm Help"

 @{" Charset window      " LINK charset  }
 @{" Current settings    " LINK entry    }
 @{" Pickup table        " LINK entry    }
 @{" Protocol window     " LINK protocol }
 @{" XEm config          " LINK xem      }

 @{" Droplist            " LINK drop  }
 @{" Phonebook directory " LINK phone }
 @{" Phonebook entry     " LINK entry }

 @{" Crypt options       " LINK crypt  }
 @{" Dialer              " LINK dialer }
 @{" Revier buffer       " LINK review }
 @{" Upload list         " LINK fileid }

@ENDNODE

@NODE Charset

@{b}Listview@{ub}
Select which charset to edit. There is always ISO set which is hardcoded to DreamTerm, due that it cannot be edited. Also only txd/rxd/cap can be edited if set is currently in use. Below this is string gadget which is used to change charset name. However keep in mind that sets are identified using this name, if some phonebook entry is using set which name is changed then ISO is used as fallback.

@{b}Disk gadget ...font:@{ub}
This will open font requester where you can select which font to use in this set. Any fixed size font can be used and scaling is also possible.
MagicWB users with decent MultiScan/VGA (~21;-) monitor should try XEN font and poor mortals with crap PAL monitors should try ANTIQUE.

@{b}TXD conversion@{ub}
Load conversion table which is used when chars are sent from DreamTerm, mostly means ISO -> something conversion. With this it is simple task change char A to Z. There are some commands (Send noconv) which can pass this to allow send of already converted text.

@{b}RXD conversion@{ub}
Load conversion table which is used for received chars which are printed to console. With this it is possible convert pc etc. charset to ISO in realtime (SF8->ISO). Conversion is not needed if font is already right, for example SF8 uses DT_IBM01 font which is 8-bit finnish set and thus DO NOT NEED that received ibm-chars are converted. If you use XEm then this conversion is disabled.

@{b}Review/Capture conversion@{ub}
Useful if you for example use IBM in bbs and want your capture & review to be iso which Amiga uses. Note that conversion is done 'on the fly' and supplied tables will strip return ($d) and some controls.
As old charset config did not have this all charsets created with versions 1.0 to 1.3 will use noconversion in this before you change it.

How to make conversion table?

Prepare 256 bytes long index file which is used like this:

Char x is converted to char Table[x], if Table[x] is zero then char is stripped. Can it be any simpler?

@{b}Add new@{ub}
Create new set.

@{b}Delete@{ub}
Delete currently selected set. However keep in mind that sets are identified using their name, if some phonebook entry is using set which is deleted then ISO is used as fallback.

@ENDNODE

@NODE Dialer

@{b}Name@{ub}
Name of the system.

@{b}Phone@{ub}
Current number where dterm tries to dial.

@{b}Comment@{ub}
Some comment text which may have been entered for this entry.

@{b}Modem@{ub}
Last msg which modem sent back.

@{b}Note@{ub}
Additional message to inform about dialing process.

@{b}Add time@{ub}
When modem is not finished handsaking and time is running out this will add more time so dialer will not hangup modem. I suggest that you set modem's wait somewhere near two minutes. (ZyXEL: ATS7=120)

@{b}Skip@{ub}
Skip to this action, look note text and you know what you skip.

@{b}Abort@{ub}
Abort dialing.

@ENDNODE

@NODE Drop

@{b}Add@{ub}
Add new droplist number, only one number, no xxx|xxx.

@{b}Delete@{ub}
Delete droplist number, after this there is no warning if you add phonebook entry which have same number.

@ENDNODE

@NODE fileid "Upload list

@{b}Add@{ub}
Add new file to list, complete path is copied so you can use files from different directories.

@{b}Delete@{ub}
Delete selected file from list.

@{b}Delete all@{ub}
Delete all files from list.

@{b}Upload@{ub}
Start uploading, you can add names to list during upload but there is no quarentee that protocols actually sends them. Fortunately most current protocols will send them if there is at least one or two files waiting for upload in current list.

@ENDNODE

@NODE Entry "PhoneBook entry, pick table and current settings"

Due the fact that DreamTerm allows changing almost every individual setting in every phonebook entry this window is used for multiple purposes. First it can be used to change current settings if you don't want to use menu 'shortcuts'. It is also used to change Pick Table (global) settings and finally for normal Phonebook entry editing. Gadget actions are always same only 'Set pick' and 'Clear pick' will act differently. (Note: CloseWindow is same as cancel)

@{b}Current settings@{ub}
Set pick & Clear pick are disabled.

@{b}Pickup table@{ub}
Set pick    - option is placed to default pick from table state.
Clear pick  - option is placed to default pick from local state.

Pickup table settings are copied to new entry when creating it and default pick from table profile is used. Settings which appear 'ghosted' here when set pick is on will be 'ghosted' also in newly created entry.

@{b}Creating/Editing entry@{ub}
Set pick    - option will be copied from pickup table. 
Clear pick  - option will be copied from local (here).

Options which are copied from pickup table will appear 'ghosted' and you cannot edit them. Remember that every option which is picked from table can be changed only from pickup table. Example: you have set of phonebook entries which all pick dte from table (ghosted), now if you change dte in pickup table then all those entries will change too! (I hope you understand the idea)
BTW, in elsewhere this help manual I will refer option which is picked from table as global and option which is used directly as local.

@{b}Good to know@{ub}
When you use Set/Clear pick then you must always change gadget state in order something to happen, for example is not enough to press return in string gadget you must write to it! Option will always go to disabled state when you change it to desired state. (Well... option == setting:^)

  @{" BBS          " Link bbs       } 
  @{" Serial       " Link serial    } 
  @{" Screen       " Link screen    } 
  @{" Transfer     " Link transfer  } 
  @{" Emulation    " Link emulation } 
  @{" Keyboard     " Link keyboard  } 
  @{" Modem        " Link modem     } 

  @{" String codes " Link strings   } 

@ENDNODE

@NODE bbs "BBS settings"

@{b}Phone@{ub}
First string is prefix which is added to phonenumber when dialing. If actual phonenumber is long distance then best choice is propably set this to be global option and if number is local then this shoul be local option. (This is handy for us finnish users because we have 3 companies for long distance calls)
Second string is actual phonenumber, use | to separate numbers if there is more than one number to dial. These are also the numbers which ares compared against droplist when adding new entry. So if you enter number like 90-1234 and there is number 901234 in droplist then there will be warning. Load NewUser.pb to your phonebook if you want to see examples.
I also added menu option which directly changes pick table phoneprefix so it is easy to change company if rates change.

@{b}Password@{ub}
Password used in this system (Do not add \\r (return) at the end).

@{b}Comment@{ub}
Some comment which you want to see when dialing.

@{b}Logfile@{ub}
File where to log this entry's calls (without path programdir is used).

@{b}Call@{ub}
Connection cost.

@{b}Minute@{ub}
Cost per minute. Well, how should I code this? Finnish companies are now competive and cost varies greatly.

@{b}Wait between dials@{ub}
How many seconds to wait before dialing again.

@{b}Wait dialing@{ub}
How many seconds to wait succesful connection.

@{b}Log calls@{ub}
Set this on if you want to log your calls, it is not enough to specify logfile. (I wonder why...)

@ENDNODE

@NODE serial "Serial settings"

@{b}Hardware serial@{ub}
Use custom made routines to handle serial port, if you normally use serial.device then put this option on! This always uses external port and if you previously were using something like modem0.device then you cannot use this.

@{b}Drop DTR to hangup@{ub}
Will drop DTR for about 20000ms instead for sending +++ATH string. This will cause hangup if your modem is setted right. (ZyXEL: AT&D2)

@ENDNODE

@NODE Screen

@{b}Listview@{ub}
Which charset to use.

@{b}BorderBlank@{ub}

Blank borders (genlock option) will create black borders around screen, useful with Keep Workbench colors if you have black background and also want black borders.

@{b}Keep Workbench colors@{ub}
Do not override system colors in custom screen. Useful if you use only 4-16 colors in screen and still want all window colors to be exact. Unfortunately means that some emulation pen colors may be incorrect and border color may be different than background. This will also slow down scrolling and creates flickering in screens that have more than 16 colors, so generally this should be off.

@{b}RTS blit@{ub}
Tell modem stop to send data when blitting (this may reduce overruns). You must set RTS handshaking on in modem.

@{b}Hardware screen@{ub}
Use custom made super fast screen (only 8x8 fonts can be used). Because this is hardware hack your actions are very limited, DreamTerm is relative smart and will pop normal screen on and off when needed but I still strongly suggest you NOT to play with Amiga-M (screen swap) etc. Use Amiga-T to disable screen temporaly (rxdpop also off) if you want to use other programs same time. 
NOTE: There seems to be bug or feature in MUI which causes windows sometimes open without activation. If this happen hardware screen will remain on and you cannot see actual window, not very nice but you can still use Amiga-T to pop normal screen on. 

@{b}Enable AGA bandwith@{ub}
Switch 2x bandwith mode in hardware screen (USE ONLY IF YOU HAVE AGA CHIPSET).

@{b}Automatic RXD popup@{ub}
Pop hardware screen on when receiving chars from serial.

@{b}Use public screen{ub}
Open console to public screen. If you want all colors to be right then public screen should have at least 32 colors (if some other program uses palette sharing then it may not be enough).
NOTE: XEm will always use first 8 screen colors as it is not smart enough to allocate pens.

@{b}Screen mode@{ub}
Open requester to select which screenmode to use. If you own A1200/A4000 I advice you to use at least 32 colors, it has very little effect on console speed/scrolling and MUI windows etc. will look much better.

@ENDNODE

@NODE Transfer

@{b}Dnload list@{ub}
File where downloadings will be logged.

@{b}Automatical up/dnload@{ub}
Invoke upload/dnload when selected protocol's auto up/dn string is received.

@{b}Minimal status display@{ub}
Show upload/dnload status in status line (use Amiga-A to abort), this could be useful when using hardware screen.

@{b}Double buffer@{ub}
Buffer protocols serial write (xpr_swrite) and return immediately. This will speed upload but may not work with some protocols. If you use xpr2.001 protocol (dmodem) then this option has no effect because they use special flag to enable buffering if needed.

@ENDNODE

@NODE Emulation

@{b}Cycle gadget@{ub}

Choose between internal Ansi, Hex or external emulation (XEM).

ANSI/VT102

@{b}Default@{ub}
Reset to default ansi palette.

@{b}Brighter@{ub}
Brighten bright colors.

@{b}Copy 8@{ub}
Copy normal colors over bright colors.

Due MUI limitation you must click palette edit before any of changes are visible. Also if you use set/clear pick table you must click these gadgets not palette editor.

@{b}Strip bold@{ub}
Change bold text to normal if PC Ansi is off.

@{b}Esc[2J homes cursor@{ub}
For some most (all?) bbs's expect this ansi-sequence to home cursor.

@{b}CR or LF to CR/LF@{ub}
Treats both cr and lf as they were cr/lf's.

@{b}PC Ansi@{ub}
Display bold character using bright color, you need at least 16 color screen.

@{b}Prescroll@{ub}
Maximum look-ahead range to check if prescrolling is possible, 0 disables. Values between 256 to 512 seems to work best, bigger values will generally give faster but more jumpy scroll. This can also create misplaced texts if ansi codes are used to move cursor around, if this is the case then one solution is lie to bbs system that your console has one line less than it actually has. If that don't work you should naturally disable this...

Note: Set this to 0 if you use hardware screen!

@ENDNODE

@NODE keyboard "Keyboard settings

@ENDNODE

@NODE modem "Modem settings"

@ENDNODE

@NODE strings "String codes"

You can use these to add control codes to protocol auto up/dn strings or function keys

\\n  - linefeed
\\r  - return
\\t  - tab
\\b  - backspace(del)
\\e  - escape
\\\\   - \\
^X   - Control, ^C or ^c is same as CTRL-C (Only A-Z are possible)
^^   - ^

Only for strings which are sent to serial

\\p  - current password
\\m  - select menu, format is \\mmenu!item!subitem!.

      Note that every part must have TWO numbers, for example \\m00!18!00!
      selects about menu but \m0!18|0! will not work!

      Note: If you select 'Serial active' menu and it disables serial then
      rest of the current string is still processed, opposed to normal way
      of losing chars when serial is not active.

\\d  - run dos command, format is \\d'command arguments'

      Will run any program asyncronyously, if you don't supply path then
      same dir where DreamTerm was run is used.

      For example if you want to run HydraCom directly from some function
      key you can use string like this: \\m03!11!00!\\d'HydraCom term'. For
      this to work you must also copy HydraCom and HydraCom.cfg to same
      directory where DreamTerm is and disable DTR hangup on modem + set
      dte speed right in HydraCom.cfg etc... Ok, this is kind of kludge. ;)

      This combination will first disable serial and then run HydraCom,
      after transfering files you _must_ quit hydracom and select 'Serial
      active' menu again. DreamTerm will not check carrier signal as long as
      serial is disabled and thus your 'logical' connection will remain
      active during transfer.

@ENDNODE

@NODE phone "PhoneBook directory window"

@{b}Listview@{ub}
This will show all phonebook entries with name, phonenumber, last call date, total cost, calls and total time. Click to select entry for editing or deleting, doubleclick to select it for dialing.

NOTE: If you want to keep last call etc. information up to date then set 'auto phonebook save' on in project menu. It will save phonebook automatically after you have disconnected from bbs. (Well, in small safe measure it will also backup phonebook (DT_config.pb.old/DT_config.dl.old) when DreamTerm is started.)

@{b}Dial@{ub}
Start to dial selected entries (one's with xxx>).

@{b}Unselect all@{ub}
Clear all selections (one's with xxx>).

@{b}Add@{ub}
Add new entry to phonebook.

@{b}Clone@{ub}
Clone currently selected entry and start to edit it.

@{b}Edit@{ub}
Edit currently selected entry.

@{b}Delete@{ub}
Delete selected entry.

@{b}Drop away@{ub}
Delete selected entry and add its phonenumber's to special list which is saved along default phonebook. If you later create new phonebook entry with same phonenumber DreamTerm will warn you. Handy if you have tried some bbs which you don't want to call again.

@{b}Reset@{ub}
Remove call info from selected entry.

NOTE: You can save over default phonebook (DT_config.pb) but 'droplist' will not be saved.

@ENDNODE

@NODE Protocol

@{b}Listview@{ub}
With this you select which protocol to edit. Below this is string gadget which you can use to change protocol name. However keep in mind that protocols are identified using this name, if some phonebook entry is using set which name is changed or deleted then it will have none selected.

@{b}Xpr library@{ub}
This will tell which xpr library to use.

@{b}Init string@{ub}
This is protocols init string, read library's docs to learn about these. Note that DreamTerm DO NOT support interactive option setting, I think it is quite useless because normal user don't understand those questions more than XN etc. shortcuts...

@{b}Auto upload@{ub}
String which will wake up automatic upload. (Equivalent for menu upload)

@{b}Auto dnload@{ub}
String which will wake up automatic download. (Equivalent for menu download)

@{b}Add new@{ub}
Add new set.

@{b}Delete@{ub}
Delete currently selected protocol. However keep in mind that protocols are identified using name.

@ENDNODE

@NODE Xem

You should read xem part from documentation for better explanation why interface is what it is...

@{b}Palette@{ub}
For some reason XEm interface do not have any mean to tell which colors emulation uses or needs. Because of that DreamTerm will always reserve first eight colors for XEm and let you decide which colors you want emulation to use. This works only with custom screen and if Workbench screen is used then xem will most likely use system colors.

@{b}Change options@{ub}
Change XEm options, you must have library installed in order this to work.

@{b}Reset@{ub}
Reset xem to its internal defaults.

@ENDNODE

@NODE Crypt

@{b}Library@{ub}
Choose which library to use and its mode. Because this is not used often I'm decided not to code nice looking automatic interface... Just enter xpk packer id string which is constructed this way: xxxx.yyy, where xxxx is id and yyy is packmode (IDEA.100 is good choice).

@{b}Password@{ub}
Enter here some hard to quess phrase as it is more secure than one individual word. This will be asked next time you start DreamTerm and if you cannot remember it then your phonebook is lost forever!

@ENDNODE

@NODE Review

This is feature is still little bit in ßeta state...

@{b} Save @{ub}
Save current review buffer to disk.

@ENDNODE

@ENDNODE

