[comp.sys.handhelds] PFDial: A Dialing Queue Manager for the Portfolio

bobg@xroads.UUCP (Bob George) (12/19/90)

Here's PFDial -  a dialing queue manager for the Atari Portfolio. Due
to local system constraints, I wound up uuencoding the executable and
shar'ing the whole thing on my PC. Hopefully, this won't cause any
undue problems.

No flames on the verbose documentation please (although helpful
comments are certainly welcome). It was written with the business user
in mind, and contains far more than the average Usenetter will
probably require.

Let me know what you think!

	- Bob
-- cut here -- cut here
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# If this archive is complete, you will see the following message at the end:
#		"End of shell archive."
# Contents:  pfdial.doc pfdial.uue
# Wrapped by Bob George@pc on Wed Dec 19 02:41:35 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'pfdial.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pfdial.doc'\"
else
echo shar: Extracting \"'pfdial.doc'\" \(9754 characters\)
sed "s/^X//" >'pfdial.doc' <<'END_OF_FILE'
X    PFDial v1.03 - 12/18/90: Portfolio Dialing Queue Manager
X
X
X                                    Introduction
X
XI have found the Atari Portfolio to be the best combination of
Xflexibility and affordability in the business palmtop category. It
Xboasts a powerful set of built-in tools, an easy to use keyboard,
Xgood expansion capabilities, and - perhaps most importantly - the
Xability to run user-developed software.
X
XDespite my enthusiasm for the machine, I must grudgingly admit that
Xit does have some limitations. Perhaps one of the most irritating
Xis the way in which the tone dialer is implemented. While the
XPortfolio is the only machine which I'm aware of offering this
Xhandy feature, its utility is limited by having to scroll between
Xentries, and the clumsy method required to edit numbers on a one-
Xtime basis. If you can imagine using a long distance dialing
Xservice with the Portfolio dialer, you'll understand exactly what
XI mean.
X
XAfter trying to dial a number of clients via MCI from a rotary pay
Xphone in the middle of the Navajo reservation, I began thinking of
Xways to enhace the utility of the dialer. In particular, I wanted
Xan easy way to dial the codes which never change but are required
Xfor placing calls via MCI or similar tone dialing services, and yet
Xwould still allow the use of the built-in address book features.
X
XFortunately, the Portfolio's ability to run user-developed programs
Xallowed me to develop a solution (something Casio BOSS and Sharp
XWizard users might consider). The result is PFDial, a program
Xdesigned to work WITH the Portfolio's built-in applications. It is
Xparticulary suited to dialing using long distance services, or when
Xyou want a simple way to handle a queue of numbers without flipping
Xthrough the address book.
X
XPFDial allows you to easily create and edit a dialing queue of up
Xto 20 30-character numbers, either specifying them on the command
Xline or entering them interactively. It is well suited to dialing
Xoften used sequences from within batch files, as well as on-the-fly
Xinteractive entering, editing and dialing of numbers. I have put
Xconsiderable effort into reducing the program's memory and disk
Xrequirements so that it may be used in conjunction with the built
Xin Portfolio applications. I have tested it using my configuration
Xusing a 32Kb internal RAM disk, 50+ entry address file (full names,
Xnumbers and addresses) and have had no problems toggling between it
Xand the internal applications.
X
X
X
X                       Example using MCI on a Touch Tone phone
X
XHere's an example of using PFDial together with the Portfolio
Xdialer to handle a typical dialing situation. The MCI codes shown
Xbelow are for example only, and should be replaced by your codes
Xwhere required.
X
XNOTE: The red "Atari" key on the Portfolio is shown below as [m]
X
X1 -   Start PFDial with the MCI service number and your MCI code as
X      parameters. Example:
X
X      PFDial 1800-950-1022 602-555-1234-5678
X
X2 -   PFDial will display the following prompt:
X
X      PFDial: 1800-950-1022_
X
X      At this point, you may correct any mistakes by using the
X      standard editing keys (detailed below). When you are ready to
X      dial, hold the phone to the Portfolio speaker and press
X      [ENTER] to dial the MCI service number shown.
X
X3 -   As your call is connected, enter the Portfolio address book by
X      pressing [m]-a. It is NOT necessary to exit PFDial to do this.
X      Select the desired entry and edit the number to be called by
X      pressing ^D and editing as required. At the tone, hold the
X      phone to the speaker and press [ENTER]. REMEMBER: Your long
X      distance service probably requires the number to be entered
X      differently than for local calls. For example, MCI requires
X      the format 0+area code+number. You might find it easier to add
X      the number to the PFDial queue by hitting [TAB] as described
X      below rather than dialing from within the address book.
X
X4 -   After the called number has been dialed, press [ESC] until you
X      return to the PFDial prompt. PFDial automatically selects the
X      next entry for editing and dialing:
X
X      PFDial: 602-555-1234-5678_
X
X      Again hold the phone to the speaker to the phone and press
X      [ENTER] to send your customer access code.
X
XIf placing a single call, one might argue that it is easier to
Xsimply await operator assistance. However, in situations where
Xmultiple numbers must be dialed, or if you are hesitant to announce
Xyour customer dialing codes to a crowded room, PFDial can be a
Xgreat deal of help.
X
X                                 Other Applications
X
XPFDial is also useful as a simple dialing queue manager. To use it
Xin this manner, simply call it with or without any parameters.
XPFDial will display the following prompt:
X
X      PFDial: _
X
XAt this point, you may enter numbers using any valid DTMF dialing
Xcharacters. These include the digits 0-9, letters A-D, '*' and '#'.
XEntering '-' will insert a short pause. '(' and ')' are also
Xallowed but ignored.  Pressing [NUMLOCK] (Fn-N) will allow entry
Xusing the red embedded numeric pad keys. At any time a cursor is
Xdisplayed, you may edit an entry using the [BACKSPACE], [LEFT],
X[RIGHT], [HOME], [END] and [DEL] keys. Any other characters are
Xrejected with a beep.
X
XYou can prepare a queue of numbers prior to dialing by pressing
X[TAB] to insert a new entry. You may review the queue by using the
X[UP], [DOWN], [PG UP], and [PG DN] keys.
X
XOnce you have entered your dialing queue, select the 1st number to
Xbe dialed, then hold the phone to the Portfolio speaker and press
X[ENTER]. PFDial will dial the entry, then automatically select to
Xthe next entry in the queue, thus allowing you to quickly place
Xcalls requiring DTMF tones from non-Touch Tone phones.
X
XREMEMBER: You can call up your address/phone list, or other
Xinternal Portfolio programs (assuming you have sufficient memory)
Xwithout exiting PFDial.
X
XUse of PFDial from within a simple batch file will allow you to
Xeasily use tone-based services, even when a Touch Tone phone is not
Xavailable.
X
X
X                                       Summary
X
X
XSyntax:      PFDial [<entry> ...]
X
XWhere:       <entry> consists of one or more DTMF characters from the
X             set 0123456789ABCD#*()-
X
X             Multiple entries may optionally be specified on the
X             command line.
X
XEditing Commands:
X
X
X             [BACKSPACE]        Delete the character preceding the
X                                cursor.
X
X             [DEL]              Delete the character under the cursor.
X
X             [LEFT],[RIGHT]     Move cursor one character to left or
X                                right within current entry.
X
X             [HOME],[END]       Move cursor to beginning or end
X                                respectively of current entry.
X
X             [ENTER]            Dial the entry currently displayed and
X                                move to next entry (if any).
X
X             [TAB]              Insert a blank entry into current queue.
X
X             [UP],[DOWN]        Move to previous or next entry
X                                respectively. Queue will wrap as
X                                required.
X
X             [PGUP],[PGDN]      Move to start or end of queue
X                                respectively.
X
X
X                               License and Miscellany
X
XPFDial is copyright 1990 by the author, Robert L. George. You are
Xfree to use PFDial in any manner you wish so long as it is only
Xdistributed together with this documentation, and that you
Xunderstand the author bears no responsibility for damages resulting
Xfrom the use or misuse of this program. PFDial may not be sold or
Xincluded as part of a commercial package without the express
Xwritten consent of the author. PFDial is released for noncommercial
Xdistribution. Please feel free to share it with friends and
Xcolleagues.
X
XRegistration to use PFDial is not required. However, if you find
Xthe program useful, I would appreciate a small contribution of
Xwhatever you feel the program is worth. If you would like to see
Xany changes or additions to the program, please feel free to
Xcontact me at one of the following addresses:
X
XU.S. Mail:         Robert George
X                   5401 E. Cortez
X                   Scottsdale, AZ 85254
X
XInternet:          bobg@xroads
XUucp:              {asuvax,uunet}!xroads!bobg
X
XThe following have NOT been tested, but should also work:
X
XCompuServe:        >INTERNET: bobg@xroads
X                   (NOTE: Greater-than sign is required)
X
XMCI: Mail may be sent from MCI by:
X1) tell MCI Mail that you are sending to a REMS
X2) give the REMS name as 'internet' (no quotes)
X3) give the mailbox as 'bobg@xroads' (no quotes)
X
XIf using MCI or CompuServe, please include a mailing address and/or
Xphone number in the body of your message!
X
XI hope that you will find PFDial a valuable enhancement to your
Xday-to-day use of your Portfolio.
X
X      - Bob George
X
XPFDial: Copyright 1990 Robert L. George. Atari, Portfolio, Touch
XTone & MCI are trademarks of their respective companies.
X
X                                  Revision History
X
Xv1.03 - 12/19/90:         1st general release. Minor internal logic
X                          fixes, documentation added.
Xv1.02 - 12/18/90:         Changes to PgUp & PgDn to be more consistent
X                          with Portfolio conventions.
Xv1.01 - 12/17/90:         Rewrite to combine interactive and command
X                          line modes.
Xv1.00 - 12/16/90:         Prototype to test Atari Int61h functions.
X

END_OF_FILE
echo shar: NEWLINE appended to \"'pfdial.doc'\"
if test 9755 -ne `wc -c <'pfdial.doc'`; then
    echo shar: \"'pfdial.doc'\" unpacked with wrong size!
fi
# end of 'pfdial.doc'
fi
if test -f 'pfdial.uue' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pfdial.uue'\"
else
echo shar: Extracting \"'pfdial.uue'\" \(4338 characters\)
sed "s/^X//" >'pfdial.uue' <<'END_OF_FILE'
Xsection 1 of uuencode 4.13 of file PFDIAL.EXE    by R.E.M.
X
Xbegin 644 PFDIAL.EXE
XM35J3`08````"``<!!P$>`8`````.`*$`'````$Q:.3']_P#_^`Y5B^R#[!97L
XM5L9&]@#__^@Q!(-^!`%^2XM&!$B)1OK/_\=&_`$`[D.+?@:#QP+_A[YA`+@?L
XM`/=N!`5"`.`.^.[9_.P!V>I0_S6?_E;H=@F#Q->#QA\[=NZ','0,Z^:\^KS&`
XM!N3PQP"RO_>,V([_?\"Y__\SP/*N]]%)B4[TN`H8_\/HXL8"Z14#_S:/$,X"C
XMZ"@#\]#XQA3+N"#DQN3_X/_Q=?@??.V+=OCK"KB8_@CHKNB+QDX+P'6!"^^))
XMZF7\9?P!AN/D>^,>!T>&?^Z3^`OX3/0[R'X9B\$K>`#WB_#WV$/(2O^T8K1.I
XM=?/H2P,KD.#`\87QN/Z`'P)^_@!T!8KWZ[;\A_N*Q`2`B$;VF#W._Q]T1WX#Q
XMZ:\!+<?_/0P`=O[Q]>H``\"3+O^GB7[TX7``?^_9`/\EZ40"X<-J_)6+7O2`8
XMN&0`\`!UY;X`@_LWGS#XM@#I30'1[*HA2-%CC#C]70#.^,[^_0'K_.+J^/\]L
XMT(O+B_<#\8J$0P"(\*>$WT&+V@/9@+_6^,/H'NG0`?]&^JGZ0YP5?5.O^J_K-
XM+N$?PL?P5HV\(P"-M/S_U7OP#"OYA_[1Z?*E$\GRI."P7GG<\?PYRG_*QP!WY
XM_=C&AZ3'9,-?^^ETI$[ZZ'T!Z6MN_0\"D?%0Z+<Z7_+5P!V1Q_Q^$A7SZPO.&
XM<M7\=09]W^JUC?3N6?_H$.D>`>/NZ^+P\1X-/7V=`_$>\Q;U]@-V^&1.$D$2>
XM8/3]"&#BI?`*BD;VB(#C_Q_FZ=$`.0)L`I<"1`)B`>(!_''\=P):^`^_\)T!X
XM/0)TGG\C/0E/3ZORV/X]#?@U_ST;3W_XF``](/A\_^D<_RTHZ#[R/"?R$?\GP
XM]#L#H0(!*/ZY_OK^_O@1J7[H_O@)ZO@5_O@IP/Z`?O8;=/C?=>+\7E^+Y5W#Y
XMN`>,\>W_L0:,\<-!XP)75BOVBWX$ZW](#XO>`]^*!YCBD[__XD:+QHO05Y'PF
XM#5\[T7+9B7;RG_ZV_,$.5_]V!.AQU/[.+N$(X<KA^%_P"_;&1O,7IW&-1O)04
XM_+AA@[8%Q4X8X;[X"M\`W_@,E05M_^.0XO\2XO@,=^+\M##-(3P"__]S`LT@C
XMOZT`BS8"`"OW@?X`A_\0<@.^^_J.UX'$C@3[/\!S$!8?Z/D!=,I:A_\$N/],8
XMSH'D_O\VB2;6V/\"^](!X;$$T^!(-J/0QW\"`_>)O(S#*][WV[1*^/_7-HP>B
XM1P,6!_R_@@2YAW&0!"O/O/.JLSP`?`C[?0/H[*OMC6&W:([99OQD[_/Z./R<.
XMXP"X=8[8N`,`/WPVQP;4`@0&[7P!Z.`#,*2&']D6[P!,8?BC2?``-?B)'C4#-
XM'QZ,!C<##A_Q);HA!>`?[J:+#I0#XRZ.!L*'AB8N+`#%!I;=_\':,]LV_QZ2Z
XM`W,%X`[A$",VZYKKNYR!X>KLTOP.TN,V__^.P3/_)H`]`'0LN0P`OB@#OW_S_
XMIG0+N?]_=?)U&>OE!AX'^/^>][]0`ZR8D:S^P'0!AP](JN+WO[L$`("G(?SKP
XMOWE$?'(*]L*`AQ]T!8"/[T!+>>>^GF!PZ/WHHK+W_(H`[SY,\KZ"!.GQZ'WJ#
XM_G0`ZP/9'^GR_&;I_FP`Z*,`"_K_F`OZR0!U!<=&!/\`N0\`#Q^[!0#VAZ$!C
XM=`2T/G[KCT/B\N@'`,7IM&+Q`/L'TQN[`@`E'L46-=7Q)1Y^Z1^`/G(0=`T>.
XMH',#./WK=`.T[,,[]W,*_^E/3XL-X_;_T>OR\0Z#_]_O!(L%"T4"=/+_'>ON>
XMPV#*_0BX_,WI70*#/GB^P0M_%OER\NA+`O3C__^6Z5K^5C/VN4(`,N3\K#+@V
XM#Q_B^X#T59;HQ/^X`<<_V20"^5[#CP9Z`[K\PM0X%DD#="F/\_LL__\`C`9L1
XM`S/`F;D`@#/_\JZN?SUU^T='B3YJ`P/I!>J+T;^\_\6^@0".N.FL/"!T^SP)B
XM_Z=T]SP-=&\*P'1K1T[M&./H[>3M7.U8'WX\(G0D/%PC0NOD,\E!@#CA]?KML
XM!`/\?R33B\'1Z1/1J`%URNL!A!C'SRO/)]M^XKK/_.S/^`[;S__2ZY<6'_C#)
XM:V0#`]='T>?[@/__XOXKXHO$HV8#B]@#^Q8'-A^&B3]#0\4V2ZRJK3'%=?I1H
XM-E#K*#K"JDOX"BC9?P#?YWG,,9#-0=OCU\8(<F)R7H78AVYRJD'X#`:P7//NR
XM`!#1^G#X<T*.\B+SQ3XNL=K,*M^WS/P^^`O,_-G,_13AELS-<3C'!V\"``#_<
XM)GJ5ZE5:S/C^&(OIB_E)U.(+]G0(C@__QO*N1:XY19=`)/Z+_?T_T>72Z1]7K
XMOPD`Z(4`7XO/_/_N`_B)+F@#'@>.WC/V2?_OXQ.!/#M#=`6)?@!%10#\XMO]<
XM[8E.'^%=9-U65S/95@2^L/^#`ZT[PG000)9T#)=V?UP@\XOWZ^N67U[7P@*9_
XMZO?5^M/+_Q+I%)*+^MO]`-DTZ1?_M$#-(1+:UXO0`P;6`O__<C4Y!M`"<R4%J
XM#P!0T=BQ`X__T^B,V8LP*\L#P8[#B_X>V(':6'(0)/!(:-F5BRX&^,X!%OSG4
XMQ^FN^X'^<A.D8G/X4.@8`/PA6/4'Z`X`N)"9_?_S,N3H`0##HDP#"N1U(__AH
XM@#Y)`P-R#3PB<_P@<O__!;`%ZP>0/!-V`K`3NWP#U__4F*-!`\.*Q.OW0583@
XMNO_W!(MV!HO?BTX(XPRL8/$#JKO?XO@R"=F+PQ#75E>#[`H2L?X?S4_AB$;WX
XM/"5T"CPF=`8>AN[XR^L,^OK+_/'#^43R1(Q6](W9B?U#1O($L8L%BUT"BTVB.
XM5?A_]74(BWT*5?]>\EW\5W@(Y0B)!8GEB2'\Y8GEB>6/10IR!'\`,_;K".@W\
XM_[XYR'CI[`R#Q`J9\X**5G]P!+0&S2&2M`#QB_*+7CC^K-.*!U41+&$\&C_=W
XM<P0$08@'0^]U[Y+._(<^9@3-%J>`>:EU`C/`^O_)__@435,@4G5N+51I;67_A
XM_R!,:6)R87)Y("T@0V]P>7+__VEG:'0@*&,I(#$Y.#<L($T_P&EC<F]S;V;LI
XMXG)_&G`>`'8Q+C`SUG(NAX?>.3"X;V)E<N)AU4=EX6=EDO@5__C\__C\__A=R
XM:>B>`_H;!ORMJ/A,UO_O`CM#7T9)3$5?24Y&3]CX&11AAP"!_P$!Y/@4;@-L=
XM_N%#[?@-%@("&`T)#/\'"'__%A;_$@T2`O_?^`T-4$9$:6'_AVPZ(``\/$Y-)
XM4T<^/NS#_U(V,/\-"BT@<W1A8VO_$"!O=F5R9FQO=^X`*'T#Y#/D:6YT96?XP
XM/^<@9&EV:61E(&)Y(,[IS0`)WSG?;F_#(70@9?MU9VBX<,``N-UF;]+P$._2V
XM<F]N;?AT`T#2_('[;W(+`.G9=.G:L>1SPMP``KLRNXCPD6'E;F<@<&^/$6*LL
XM[I!DQP'.%]DQE'5L;-W\OT%N87-S:6>=_O__`/```````````````````(P$%
XM````!/8`H0!F`&,!!@X?BPX,`(OQ3HGWC-L#'@H`CL/]\Z13N"L`4,LNBRX(V
XM`(S:B>@]`!!V`[@`$"G%*<(IPX[:CL.Q`]/@B<'1X$A(B_"+^/.E">UUV/R.]
XMPH[;,?8Q_[H0`*V)Q='M2G4%K8G%LA!S`Z3K\3')T>U*=06MB<6R$'(BT>U*%
XM=06MB<6R$-'1T>U*=06MB<6R$-'104&LM_^*V.D3`*V+V+$#TN^`S^"`Y`=T$
XM#(CA04$FB@&JXOKKIJP(P'0T/`%T!8C!0>OJB?N#YP^!QP`@L033ZXS``=@MJ
XM``*.P(GS@^8/T^N,V`'8CMCI<O\J1D%"*@X?OE@!6X/#$(G:,?^L",!T%K0`T
XM`<>+QX/G#[$$T^@!PH[")@$=Z^6M"<!U"('"_P^.PNO8/0$`==J+PXL^!`"+0
XF-@8``<8!!@(`+1``CMB.P#';^H[6B^?[+O\O`)<$BP"&")0``0``8
X``
Xend
Xsum -r/size 52099/4178 section (from "begin" to "end")
Xsum -r/size 18113/2963 entire input file

END_OF_FILE
echo shar: NEWLINE appended to \"'pfdial.uue'\"
if test 4339 -ne `wc -c <'pfdial.uue'`; then
    echo shar: \"'pfdial.uue'\" unpacked with wrong size!
fi
# end of 'pfdial.uue'
fi
echo shar: End of shell archive.
exit 0
-- 
Bob George				hplabs!hp-sdd!crash!xroads!bobg
5401 E. Cortez, Scottsdale, AZ 85254	Tel. +1 602 998 5910