home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
comm
/
twft099b.zip
/
TWREAD.ME
< prev
next >
Wrap
Text File
|
1993-06-08
|
27KB
|
660 lines
TW FREEWARE TERMINAL 0.99b COMMENTS -
INTRO - What's new
--------------------------------------------------
From 0.98 we have added:
The Multi-Steal algorithm -- see (i)
A Level Diagram generator -- see (n)
Default COM port and Baud Rate -- see (o)
Fixed a series of trading bugs -- see change notes.
--------------------------------------------------
(a) Unlike older versions of TWFT, this program *does*
comprehend carrier detects and/or DTRs. I strongly
recommend changing the dialer file from
X1&C0&D0 to X4&C1&D1 if you are updating from an
older version.
***************************************************
Using the old Init String will cause the new dialer
to lose its redial abilities!
***************************************************
(b) Twdial.lst is the dialer list. You can edit twdial.lst
with any text editor. Periods are used to separate the
BBS Name from the number and should not be inserted
in the BBS name or the BBS number. Unless you know
what you are doing around a Hayes compatible modem,
leave the first two strings alone. There is a limit
to the number of BBSs the dialer can support, about 15
I believe.
(c) ANSI and this terminal: the routine used to get text for
the trading and stealing algorithm is capable of stripping
ANSI so long as the ANSI driver is active (the default state).
Consequently, contrary to what I was saying previously, these
algorithms work quite well with ANSI on. The steal/sell
macro will work faster with ANSI off but it is not essential.
The CIM capture has also been designed to strip ANSI out of
the text and thus gives a clean capture to TWASSIST.
It is probably true, however, that over slightly dirty lines
you will get superior performance with the TW ANSI off. To
turn TW ANSI off, you enter the computer and type N.
There are certain algorithms in the eprobe launcher that
only work when ANSI is turned ON. The longest unknown
sector routine only works properly when ANSI is ON.
(d) To begin using the trading macro, you must begin your turn
in port 1's sector, your ship must be empty of all
cargo or have all of the cargo that you will sell to the
port. You must *not* be ported when trading begins. The
algorithm will port for you. ALT-T enters the trading
macro.
(e) The macros (Trading, Steal, CIM, eprobe) leave you with
a live keyboard. If the macro gets "stuck" and you can
fix it with an appropriate keystroke, the macro will
continue once it is headed in the right direction.
ALT-Q exits most macros.
(f) The Trading macro asks for information in the following
order:
Port 1: (enter # of port)
Type: (enter 'sbs' or equivalent 3 letter port designator;
if you don't know the port designator enter the
computer and type 'R'. The 3 letter designator
are the first letters of 'Buy' or 'Sell' for
Fuel Ore, Organics, and Equipment respectively.)
Versions 0.92 and up will also allow you to
enter the port class instead.
Port 2: (enter # of port)
Type: (enter 3 letter designator or port class)
# of Holds: (tell computer how many holds to trade in)
It will then query you on the number of holds to use
for particular products. The answer -1 lets the
computer figure these values out for you. Entering 0
causes the program to no longer trade in an item it
otherwise would. In TWFT 0.94 and up, you can mix
-1 terms, hold # terms, and 0s freely.
This algorithm single, double, or triple trades. Ports must
be adjacent for this algorithm to work.
This algorithm will trade until you run out of moves or the
port loses interest.
(g) We have added a steal macro. This macro is only lightly
tested, so let the user beware. To use the steal macro:
Your ship should be at the main prompt and unported. It
should be empty of product. Enter ALT-S and the program will
query you for information.
Port Type: The 3 letter descriptor for the port.
This macro should also accept a port class.
# of Holds: How many holds you want to use. The safe
number of holds to steal is your experience
divided by 20.
This algorithm will run until it hangs, blows up, or you
tell it to stop. Getting busted or lack of port interest
should cause the algorithm to stop automatically.
(h) We have added a 5 point steal/sell algorithm.
I notice it works better on some ports than others, and
using a number of holds divisible by 10 (e.g. 70, 80, 100)
helps immensely. It starts in the same way as the
ALT-S Steal algorithm. ALT-5 enters the 5 point algorithm.
More experienced TW players say that the algorithm
works best with 70 holds or more. One last point: all
5 point steal-sell macros *****require***** a psychic
probe. They don't work without one.
(i) Multi-Steal: This is a 5 point steal/sell algorithm that
uses the amount of your experience and the number of holds
you wish to trade with to determine how many times to
steal before selling. This algorithm is especially useful
if you are evil (-100 or less alignment), have a large
ship with many holds (say a colonial transport), and a
low experience. The program takes into account the risk
of getting busted into its overall efficiency calculation
before deciding on a theft strategy. It is similar to
the ALT-S and ALT-5 algorithms but also asks for your
experience.
(j) Press F5 to activate CIM capture. You should be at the main
game prompt for this to work, *not* the computer prompt.
This version of the CIM capture directly supports TWASSIST.
I assume if you cut up the file appropriately then it would
support TWVIEW.
(k) This program does not lose carrier when you exit. Consequently,
can can exit this program and enter TWASSIST while online,
or for that matter enter DSZ or any of the stand-alone
ul/dl servers. When reentering the program, TWFT can set the
modem back to command mode. To get out of command mode and
re-enter the bbs screen, enter ATO (oh, not zero).
If the program hangs, then in many instances you can reboot
the computer, renter the program and still be online. You
may have to enter ATO to regain your screen.
(l) CHANGES IN THE INPUT LINE MODE (ALT-I):
In input line mode, all input goes into an "input line" until
ENTER is pressed, then all the text is sent at once. Any
text entered during input line mode is saved in a 15 line
ring buffer; this buffer text can be recalled by the key F8
(so that input line mode is reminiscent of DOSKEY).
The input line mode no longer appends Chr(13) to the end of
text when ENTER is pressed. Instead, input line mode now
honors most of the backslash sequences used in 'C':
\b causes a Chr(8) to be sent.
\t causes a Chr(9) to be sent.
\n causes a Chr(10) to be sent.
\v causes a Chr(11) to be sent.
\f causes a Chr(12) to be sent.
\r causes a Chr(13) to be sent.
\\ causes a '\' to be sent.
Consequently, input line mode can be used to write single
line 'macros'.
So for example, a 'macro' to insult the grimy trader would
be 'TDAMN\r\r'. Enter the bar, use input line mode, enter
the 'macro', and press ENTER and F8 as needed.
(m) THE LAUNCH MACROS (ALT-L)
Added a launch macro (ALT-L) to launch different items, but
currently only eprobes and mine disruptors. The mine
disruptor portion will launch as many mines as you specify
into a sector of your choice. It will exit early if all mines
in that sector are destroyed, or if there were no mines
in the sector at all.
The eprobe portion of the macro has been set up so that you
could add either individual sectors to eprobe or add ranges
of sectors (e.g. '5 to 10' or '10 - 20') to eprobe.
the code looks for class 0 ports, planets, and the
destruction of probes and reports the sectors these
were found in.
There is a routine that captures all the unknown sectors in
the game that is accessible through the ALT-L command. You
must be in the main game prompt for this to work. The unknown
sectors can also be displayed.
Now, if you enter 'U' instead of a number in the eprobe
launch menu, and you have captured all the unknown sectors,
then the eprobe launcher sends eprobes to the first 25 unknown
sectors. If you enter, say, 'U 500', then the eprobe
launcher sends eprobes to the first 25 unknown sectors
that are in sector 500 or greater (assuming that you
have captured all unknown sectors, of course).
Finally, if you have captured all the unknown sectors, then
there is a routine that will find out which of these
sectors are on paths that contain the most unknown sectors.
Like the other ALT-L routines this one must be started from the
main game prompt, but this routines requires that ANSI be on
in the TW game.
This "longest unknown sector" routine can get stuck two different
ways. The first is when the routine misses the terminal "?" on
the computer prompt and doesn't send a 'F'. If you send a 'F'
and then type in the starting sector number after the computer
sends a 'F' (oops!), then you will continue.
The other problem occurs when a sector cannot be reached from your
current location. The best way to treat this situation currently
is to answer 'N' (manually) to the question about clearing avoids.
You will then go to the computer prompt. Enter 'F'. Next, press
enter when it asks what sector to begin with. When it asks for
the destination sector, enter some sector you've already been to,
such as 1. The algorithm will then continue.
If you have found all the longest paths, then you can use
another command in the eprobe launcher, the 'L' command.
'L' alone sends eprobes to the 25 longest sector paths.
'L 12' sends 12 eprobes to the 12 longest sector paths.
This command should be used with caution, since the longest
path routine does not remove nearly identical paths from
its list. You could end up shooting a number of eprobes
down the same dead end.
(n) ALT-W Generating Level Diagrams:
This version of TWFT generates level diagrams of the kind Woody
Weaver discusses in MAPPING.TXT. The power of the level
diagram is that it can extract about 80% of the total warps in
a TWFT game. 4 well-placed level diagrams should in principle
cover 99% of the warps in the tradewars universe. Since a
level diagram takes about 10 minutes to run (it uses the course
plotter much like certain launch macros), running 2 of these
a day for 2 days is sufficient to determine things such as dead
ends (although see my caveat in MAPPING.TXT) and allow the user
to tightly determine where to send etherprobes.
To use ALT-W, you must be at the main game prompt.
It then asks you for a ROOT. If you have never used a level
diagram in a game before, enter 1. If you have used sector
1, enter the location of stardock, otherwise enter some sector
that is 7 warps away from 1.
It will ask you if you wish to include CIM. For the most part,
answer N to this question unless you have been in the game a
while.
It will ask you what file format to use. Answer A if you use
TWASSIST, answer S if you use TWVIEW.
It will ask you for a file name. Do not add extensions, it will
add them for you. If you press enter, the default file name
of LEVDIAG will be chosen.
The program will now run. Note that this routine can get stuck
in ways similar to the longest unknown sector routine in ALT-L.
The cures are similar. If you see the program sitting at the
computer prompt and nothing is happening, enter the letter F.
Then the computer will send F followed by a number, which TW
will not accept. Then you enter the number that F preceeded
by hand. The algorithm will continue.
When the routine is done, it saves three files to disk, either
a .AST or .SCT file, a .DIS file, and an .EXT file. The
.AST/.SCT file are output in a pseudo-CIM fashion, with sector
followed by the warp directions, and the .DIS file is a list of
distances from the root, with the root denoted by a
-1 distance. The .EXT file is a list of external edges; these
are dead-end candidates and can be used as targets for etherprobing.
In a future version of TWFT, we plan on creating the ability to
import lists of external edges so that the user can choose, edit,
fire and save a list of targets of this kind.
Merging sets of pseudo-CIM files and entering them into your
database should allow you to create an extensive list of warps
that covers most of the TW universe. Two external utilities,
MERGELD, and COMPLD, from my utilities package LDTOOLS.ZIP,
can aid in this kind of analysis.
(o) Setting a default SHELL to DOS (ALT-N),
and Setting a default COM port and BAUD Rate.
******************************************************
Note the file name change, from TWSHELL.CFG to
TWFT.CFG (The program still will read a TWSHELL.CFG
if it cannot find a TWFT.CFG)
******************************************************
Get an ASCII text editor (such as Dos 5.0's edit) and
create a file called TWFT.CFG. This file should
be kept in the same directory as TWFT.EXE. In the file,
enter the path, the filename, and the extension of the shell
you prefer to run on the very *first* line of the file.
For many of you, the following line is acceptable:
C:\COMMAND.COM
and you can also use
SHELL = C:\COMMAND.COM
then, the ALT-N command will take its shell from the one
specified in the file, rather than query the user for
a shell each time the program is run. Should you make
a mistake and TWSHELL.CFG be in error, then you will
be unable to run the shell until TWSHELL.CFG is
corrected and/or deleted.
On the second line enter the following kind of text
COM1 2400
or whatever COM port and baud rate you want to use.
Again, the program gives no room for error so you have to
get it right the first time. If you want a default baud
rate and com port but not a default shell, leave the
first line blank.
(p) USING TWUTILS (e.g. UTIL101A.ZIP, FINDSGA ) WITH TWFT:
There should be no problems using TWUTILS with TWFT. What
I find, however, is that the version of TWUTILS I have worked
with does not write a proper configuration file for any
modem speed other than 2400N81. So if you want to use, say,
a 9600 baud modem, configure the TWUTIL routines for a 2400
baud system *OFFLINE* and then edit (with an ASCII text
editor) the TWUTIL.CFG file by replacing the old baud rate
with the baud rate you actually wish to use. Then you should
be able to shell out from TWFT into the TWUTILS routines.
(q) SHELLING FROM OTHER PROGRAMS INTO TWFT:
I've heard of people successfully shelling from QModem into
TWFT. I've also heard of people using COMMO and successfully
shelling into TWFT. On the other hand, I cannot shell out
of Procomm Plus 2.0x/DOS and enter TWFT.
(r) REPLAYING AN ANSI SCREEN CAPTURE; VIEWING TEXT WHILE ONLINE.
If you have a capture file of your game, you can replay
it with ALT-G, View Game Script. The ALT-G routine
supports ANSI codes should you happen to want to see
an ANSI dump of your game.
ALT-V (View Text) should be used for reading documentation
(e.g. TWTIPS, TWFAQ, The Klingon War Manual etc) where
ANSI isn't a concern.
(s) TELL ME ABOUT THE PROBLEMS IN THIS VERSION OF TWFT
I'm not asking for money with this program, so what
I want most is your feedback. I would adore a bug
report. Netmail me a bug report via the following
addresses:
internet myers@frodo.biochem.duke.edu
Fidonet David Myers 1:3641/281@fidonet.org
or drop me a line on my BBS number:
The Isolated Pawn : 1-919-471-1440.
************** -with- **************
* Chess files, games, echoes, doors.*
* rec.games.chess from Internet. *
* 3 TW 2002 games online. *
* Member, TWUTILS Filebone. *
* Simtel 20 CD-ROM online. *
*************************************
Or leave Fidonet echomail on the TradeWars conference
to David Myers. I also peruse mail on GTnet BBSs, in
the Tradewars Tactical Advisor conference.
(t) new versions of this program are available from my
BBS by FREQing the magic word TWFT after 12 midnight and before
4am Eastern Standard Time **ONLY**. If you call into the BBS,
the latest copy will be found in the default file directory
immediately after completing the new user questionaire.
--------------------------------------------------------------------------
Finally, acknowledgments:
Rick Cooney, for his fine macro package TWPLAY, definitely
an inspiration for this project.
Rick Wade, sysop of THE HIDE OUT, for being such a good host
while I was testing a buggy program.
Mike Baker of THE DEAD ZONE and Steve Wright of MOONBASE ALPHA,
who are helping with the debugging and currently hosting my
debug sessions.
James Ladd, sysop of ROCKY'S CLUB HOUSE who served as the test
bed for protocol testing.
Gene Steltz, sysop of DISCOVERY III, who I talked into putting
up a TW game, and who has me as his sole active player. This
game has been invaluable for debugging. Thanks, Gene.
Stephen Whitis, Joel Downer, Jim Pittman, Mike Grindstaff, etc
etc, on the TRADEWARS echo that taught me so much about the
'new' game.
******************
SPECIAL THANKS TO:
******************
special acknowledgments are due to those who have
reported bugs or suggested improvements:
David Roberts, who has helped quite a bit, esp. with ANSI
support.
Pat Weiser, who suggested the shell to DOS (which has now
cost me at least 2 nights sleep!) and still manages to keep
me busy while he is "retired" from TW.
Mike Grindstaff, who uncovered an important bug in TWFT 0.97's
trading algorithm.
G. D. George, who suggested a default shell to DOS.
Jim Bianchi, who gave me enough suggestions etc. to keep me
busy till TW 2112 is on the market. Truly, it was a thorough
bug report/suggestion list and it was well appreciated.
--------------------------------------------------------------------------
0.91 changes --
fixed RE 201 crash in F10.
Ymodem batch upload now sends final zero block.
fixed crash in ansi script viewer.
fixed loss of main screen upon ansi script exit.
color fix in ansi driver.
0.91a changes --
added steal/sell code.
port type prompts should accept class numbers now.
trying alterations to trading when 'final' offer given.
0.92 changes --
debugged part of the steal/sell code, it runs now.
cleaned up steal/sell input.
added TW help screen.
cleaned up bug in F6 screen.
removed RT 200 crash when using class numbers.
0.93 changes --
made buy, sell margins and factor adjustable through F10.
reworked the help menu.
added 2rdr.txt to distribution .zip
added a 0 holds option to the trade macro.
killed a trading bug between class 4 and class 6 ports.
0.94 changes --
added bugs.lst to TWFT distribution .zip
killed a number of 0 holds option bugs.
made delta terms used to determine when to alter FACTOR
adjustable through F10.
0.94a changes --
killed a bug when Equipment zeroed.
caused Trade macro to terminate when Class 0 entered.
0.95 changes --
Added 5 point steal/sell algorithm.
0.95a changes --
CIM capture now uses a separate buffer from the user buffer.
Consequently, a user may now CIM capture while his ordinary
capture buffer is open. CIM capture also strips all ANSI
from the capture so that TWASSIST never sees the ANSI
characters.
0.95b changes --
Cut the maximum memory requirements by 300kb. Added the
ALT-N command so that an external database utility
(e.g. TWASSIST) can be run while TWFT is online. I make no
guarantees about this one because I can't tell how much
memory any particular PC might have, however, I used it
successfully with TWASSISST on my machine with DOS 5.0
and 607k free.
************************************************************
THE ENTIRE NAME OF THE PROGRAM MUST BE
ENTERED INCLUDING THE EXTENSION
************************************************************
Among the "cute" things you can do is execute c:\command.com
in which case you've just shelled to DOS. On my system
there is 270k left, which appears to be enough to execute
TWASSIST.
0.96 changes --
In an attempt to recover as much free memory as possible,
I've split the program into two parts, an EXE file and
an OVR file. The program has been renamed to TWFT.EXE
in recognition of what it has been called. The online
help is now overlaid, but will be moved into EMS memory
if such is available. The net result is the recovery
of about 20k of space if a user shells out with ALT-N.
0.96a changes --
The Trade macro now recognizes the "We're not selling
that many." message and terminates.
changes have been made to the CIM capture so that ALT-Q
will work.
0.97 changes --
version 0.96a and up had a bug in the 5 point steal/sell
that prevented its operation. We killed that.
removed the .OVR file and switched to using Kim Kokkonnen's
routine ExecwithSwap to recover as much as 600kb of
space for shell to DOS.
0.97a changes --
added back the online help I was forced to remove from 0.96b.
0.98 changes --
Changed the dialer string from ...&X1&C0&D0 to &X4&C1&D1.
Altered the dialer to give better redial performance; altered
dialer so that redial was the default option.
Altered upload and download code so that the ESCAPE key would
more readily exit these routines.
Eliminated a movement bug in the trade macro.
Input Line mode was altered (see above).
Added a launch macro (ALT-L) to launch eprobes. Set up the macro
so that you could add either individual sectors to eprobe or
add ranges of sectors (e.g. '5 to 10' or '10 - 20') to eprobe.
added the ability in the launch eprobe macro to look for
class 0 ports, probes that are destroyed, and planets.
Eliminated a bug in the trade macro that led the program to
undersell products and overbid on occasion.
Added the ability to add a TWSHELL.CFG file that specifies
a default shell for the ALT-N command. TWSHELL.CFG should
be made with an ASCII text editor and should have exactly
one line that specifies the path and complete file name
for the DOS shell. There should be no spaces whatsoever
in the spelling of the shell. If TWSHELL.CFG is corrupt
then you will have to exit the terminal program and write
a new, good, TWSHELL.CFG for the shell to work.
Sample Line:
SHELL = C:\COMMAND.COM
Added a routine to capture all unknown sectors to the ALT-L
macro. Added a routine to display these sectors. Added
a routine to the send eprobes command. When you enter
"U" then eprobes are sent to the first 25 unknown sectors.
If "U XXX" is entered then eprobes are sent to the first
25 unknown sectors that are XXX or larger in number.
Added a routine to find the paths with the largest number
of unknown sectors. Added a command to the eprobe macro
- the "L" command, that launches eprobes down these
longest paths. I was tempted not to add the "L" command at
all, since it doesn't look for nearly identical paths
and nearly duplicate shots should be common, but thought
it was better than blind shooting. If "L XX" is entered
, and XX is less than 25, then only XX eprobes are launched.
Added a mine disruptor launcher.
Tried to fix the avoids bug in the longest unknown sector
routine. doesn't work, don't know why. This problem still
has to be fixed manually.
Fixed some display bugs in the eprobe launcher. Added a
delay to eliminate eprobe launching problems on some
TW games.
0.98a changes ---
added a Multi-Steal algorithm (see above). Was a hassle to
code in cost of getting busted, decided on using the
overall risk of getting busted * the mean cost of a bust,
both in terms of units of products lost and the value of
the lost experience. Tested now, interesting algorithm.
0.99 changes ---
added a routine to calculate Woody Weaver's level diagrams.
The output is .SCT style files and a .DIS file that has
a distances from the root, with the root itself denoted by
a distance of -1.
0.99a changes ---
fixed bug where FirstTime and SecondTime routines were swapped.
This program now has a number of trade modifiers implemented
that otherwise had been skipped. The program should converge
like it never did before.
fixed bug in .AST file.
0.99b changes ---
Played with timing loops in the ANSI driver since Jim Bianchi
reported nonresponse to the <esc>[6n ANSI sequence. It was
possible that with a fast computer tied to a slow modem that
overruns were possible.
The Level diagram generator now exports a list of external
edges in an .EXT file.
added the ability to add a default com port and baud rate.
What you do is rename TWSHELL.CFG (If you have one) to
TWFT.CFG. Then, add on a second line:
COM1 2400
do not add parity.