Wayne Roderick, 3rd Division, PNR, NMRA (life)

01/08/98 rev 01/16/07

Once upon a time when the earth was a bit younger, the TETON SHORT LINE (TSL) management became fascinated with the possibilities of them new fangled computers, so we took on the challenge to learn "computers". In those days, every lesson book on computers stared out with BASIC commands like: PRINT "Name". After we learned a few of those commands, it became obvious that we could eliminate several clerical positions, and manage our growing freight traffic with these contraptions, and so it started.

We developed a program written in basic BASIC, later upgraded to M-80 BASIC and running on a 64k CPM machine. If you know what CPM is, hold up your hand grandpa. It was popular among our visitors and we were encouraged to share it with the world, and so after much re-write to make it generic, it went out into the SHAREWARE world via AOL. Some folks used it- some probably cussed it- and some loved it- and a few honest folks registered it. Sorry- it's still a DOS program, and I'm not sure what it will do with your printer running in Windows.

I did not get wealthy, but once in a while we could buy a new HO car for the TSL, and that gave us the idea. It is no longer for sale! Well, not exactly-

I want an HO car painted and lettered for YOUR railroad,

or some other momento, and you can have the most current program version 1.05. Short cars, 40 foot or less, in the '50s or prior era preferably, but we can suffer with larger and newer ones.

Continue to read about it from the annotated Chapter 1 of the manual or

Download TSL Freight Manager, V1.05, 94k it and try it out.

Please respect the copyright and don't repost it. This is NOT the earlier shareware version that had a couple bugs. It is the serial numbered fully working version for your evaluation only. Feel free to comment on it in your web pages and provide a link to us.

SOURCE CODE: Sorry- Not available

As you read through Chapter 1, it may make more sense if you first view and/or print a copy of the typical generated documents:

A typical Switchlist , A set of Wheelers , Optional Customer Status Report

                                 Chapter 1


               Fun with freight operations on your model railroad


                               Wayne Roderick P.E.

                      Copyright (c) 1993, by Wayne Roderick
                                made in the USA

        Much has been said and written about operating model railroads
        and it would take far too much space to repeat or summarize it
        here.  The management of the TETON SHORT LINE will assume that
        you  have  knowledge  of,  and  share  the  pleasures of model
        railroading  with us.   If  you  continue reading this, we can
        further  assume  that  you  have   an   interest  in   freight
        operations,  so we'll continue  on  to describe what the TETON
        SHORT LINE FREIGHT MANAGER  can  do for your enjoyment of this
        great hobby.

        You  will  find  an  excellant collection of freight operating
        ideas in Bruce Chubbs 184 page book "How to operate your model
        railroad",  from Kalmbach, publishers of the Model Railroader.


             "Computer technology  is used to replace unprototype or
             undesirable work on the TETON SHORT LINE.  It shall not
             replace   responsibility"     Yes, our computer permits
             cornfield meets.

        The TSL is heavily computerized,   using a dedicated real time
        computer  to  manage  multiple  train  control,   full  memory
        walkaround command control,  signalling etc.    You can't find
        that  computer-  its hidden from view,  has no keyboard or CRT
        during operating sessions.    Our Dispatcher,  when we can get
        him  to  work,  does  have a  remote  computer  with a display
        something  like Union Pacifics big Harriman Dispatch Center in
        Omaha.    We borrow his computer to generate and print out the
        SWITCHLIST  and  WHEELERS just before an operating session and
        then the machine is turned over to him. The freight operations
        do  not normally  require any  further  interaction  with  the

        For a freight train to exist there must be a PURPOSE and as we
        are modeling the prototype,    then we might consider modeling
        their  purpose rather than just randomly running trains about.

        The  prototypes purpose is simply that the customer has a need
        and they'd like to make a few bucks satisfying that need.  The
        TETON  SHORT  LINE  FREIGHT  MANAGER models the entire process
        from the customers call for an  EMPTY car to be set out on his
        track to the  SWITCHLIST  that we use for making up a train in
        the yard with loads to be  forwarded and empties to be routed,
        and the  WHEELERS  that tell the train crews what and where to
        set out  and  what to pick-up.   The system  provides customer
        names, load descriptions, waybills and all the support that we
        need  to  generate and  run our freight trains.   It does this
        with enough random factors so that we do not become bored with
        repetition.   The WHEELERS are "colorful" as they describe the
        customers  and loads  so  that  you  have a feeling of serious
        business, not just random car movements.

        Tailoring the TSL FREIGHT MANAGER  to your model railroad is a
        significant work,  but it is a lot of fun as we deal with YOUR
        railroad,  not my program.   The paperwork and clerical effort
        after  the  initial  installation is nil!    We like to build,
        switch  and  run  trains,  not play paper games.  Sorry Clerks
        Union, but this is operation oriented.

        CAN YOU USE IT?        probably if:

        1.  You have one main switching yard for train assembly and

        2.  Ten trains per day or operating session is enough.

        3.  You have a few customers, up to 40,  scattered about the

        4.  150 freight cars in service at any one time is enough.

        5.  You want to have lasting fun with what you're building.

        6.  Your needs exceed the above and you register the program.

This "registered version", 1.05 can handle 80 customers, 400 waybills, and 500 cars of 40 differant types.


        This program was started in 1984 on a Heathkit CPM machine and
        was  intended  to  simply replace the then common "card order"
        system  that has been written up in the model railroad press a
        number of  times.    It  evolved  toward maturity with regular
        Thursday night work-outs on the  TETON SHORT LINE  until about
        1988  when  it  was  moved  onto  an  MS-DOS  machine  and was
        completely re-written to take advantage of the bigger & faster
        machine.  It has served the TETON SHORT LINE for several years
        on our  Thursday  evening operating/BS sessions.   The TSL has
        grown to  32  on-line  customers  including  team  tracks  and
        freight agents, more than 150 freight cars in service and over
        300 feet of track.   We run three or four local freight trains
        and  one or  two  interchange  trains  connecting  with  Union
        Pacific in the South  and the Great Northern in the North each
        operating session.   Nominal train lengths are 10 cars but may
        range  from  1 to 14  at  times.    The  TSL  is  built in the
        mountains  and the length of passing sidings as well as grades
        rule the train size.    The program  was originally written to
        be  fully  generic i.e. work  on  most  model  railroads,  but
        improvements  over  the years and particularly the addition of
        interchange trains tended to tailor it to the TSL.

        Enough  people  have  shown  interest  in  our program and the
        desire to use it on their railroad so that I was encouraged to
        re-write it to make it  fully  generic  again  and friendly to
        other users.   I  hope  that  I  have  been successful in this

        See figure 1.   The CAR STATUS file that was saved at our last
        operating session  is loaded into the computer along with four
        data files that  describe your  railroad,  the trains that you
        might run,  your customers and  commodities that they ship and
        receive.   Our computerized "Clerk" then looks around the yard
        and  finds  the  loads  needing delivery.   He tells you,  the
        "Yardmaster"  what  he finds and asks you what trains you want
        to run today.    He assigns the loaded cars to  the trains and
        then  he takes customer calls  for empties to help fill  these
        trains.    Waybills are generated and cars are identified from
        the pool of empties.     Random factors are introduced to mark
        some cars on the customer tracks for pickup, while others will
        remain longer  while the customers  is loading  and unloading.
        The capacity of the customer track is considered and finally a
        SWITCHLIST  is generated.    The yard  crew  now  goes to work
        making up trains.    WHEELERS have also been generated for the
        train crews,  instructing them  as to what and where to setout
        and pickup.   Some  cars  may  set  on the customer tracks for
        several  days  while  they are loaded or unloaded while others
        may move the next day.  To increase traffic and switching, all
        loaded  cars  are  returned  to the yards for switching rather
        than being dropped to the consignee on the same day.   Several
        customers  may  be  on  the  same  spur  track  so some of the
        wayfreight  crew  work  is  to  re-spot  disturbed cars so the
        customer can continue his loading or unloading.

        The   program   does   not   block  trains,  provide  detailed
        instructions or replace any responsibilities of the  yard  and
        road crews.

                             | MALFUNCTION   |
      ==========             | JUNCTION YARD |             ==========
      |OFF LINE|  outbound   |               |    local    |SHIPPER |
      |intrchng|   empty     | Random select |    empty    |        |
      | |------|<><><><><><><| a="" bill="" &="" match|="">->->->->->->|----|   |
      | |      |     XE      | with empty car|      SE     |    |   |
      | |XS    |  outbound   |               |    local    |    |DS |
      | |      |   load      |               |    load     |    |   |
      | |  |---|<><><><><><><><><><><><><><><|----| |="" |="" |="" |="" |="" xl="" |="" \="" yl="" |="" pl="=========" |="" |="" |xr="" |="" |="" next="" day="" |="=========" |="" |="" |="" |="" inbound="" |="" remake="" trains="" |="" local="" |consigne|="" |="" |="" |="" |="" load="" |="" \="" |="" load="" |="" |="" |="" |--|---|="">->->->->->->|-------------->|>->->->->->->|----|   |
      |    |   |     PL      |      YL       |      SL     |    |   |
      |    |   |  inbound    |               |    local    |    |DR |
      |    |   |   empty     |  empty pool   |    empty    |    |   |
      |    |---|>->->->->->->|               |<><><><><><><|----| |="" |="" |="" pe="" |="" ye="" |="" pe="" |="" |="=========" =="===============" =="========" car="" status="" codes:="" xe="Interchange" empty="" ye="In" yard="" empty="" pe="Empty" picked="" up="" xl="Interchange" load="" yl="In" yard="" load="" pl="Load" picked="" up="" xs="Offline" at="" shipper="" se="Empty" to="" set="" out="" ds="Delay" by="" shipper="" xr="Offline" at="" consig'="" sl="Load" to="" set="" out="" dr="Delay" by="" consignee="" figure="" 1="" figure="" 1="" depicts="" the="" possible="" movements="" of="" a="" car.="" a="" "customer="" call"="" for="" an="" empty="" car="" occurs="" when="" the="" computer="" randomly="" picks="" a="" waybill.="" our="" computerized="" "yardmaster"="" surveys="" the="" yard="" for="" the="" suitable="" cars="" and="" randomly="" picks="" one.="" his="" "clerks"="" will="" verify="" that="" the="" customer="" will="" have="" room="" on="" his="" track,="" considering="" what="" pickups="" might="" be="" made="" this="" day,="" and="" assigns="" the="" car="" to="" the="" appropriate="" train.="" the="" selected="" car="" will="" be="" moved="" to="" a="" local="" shipper="" or="" sent="" offline="" in="" an="" interchange="" train="" where="" it="" will="" be="" delayed="" for="" loading.="" another="" operating="" session,="" not="" necessarily="" the="" next="" one,="" will="" return="" the="" loaded="" car="" to="" the="" yard="" where="" it="" will="" lay="" overnight.="" the="" next="" operating="" session="" will="" most="" likely="" send="" the="" car="" out="" to="" a="" local="" consignee="" or="" via="" an="" interchange="" train="" to="" an="" off-line="" customer.="" another="" operating="" session="" will="" return="" the="" unloaded="" car="" to="" the="" empty="" pool.="" thats="" all="" there="" is="" to="" it.="" the="" two-letter="" codes="" represent="" the="" transient="" in-train="" status="" and="" the="" final="" resting="" status="" of="" the="" car.="" these="" codes="" will="" be="" stored="" in="" a="" historical="" file="" with="" each="" operating="" session.="" when="" something="" goes="" wrong="" if="" the="" yardmaster="" assembles="" his="" trains="" according="" to="" the="" switchlists="" and="" the="" train="" crews="" run="" the="" trains="" making="" the="" setouts="" and="" pickups="" according="" to="" their="" wheelers,="" then="" at="" the="" end="" of="" the="" operating="" session,="" the="" cars="" will="" be="" where="" the="" computer="" "thinks"="" they="" are="" and="" nothing="" can="" go="" wrong="" -can="" go="" wrong="" -can="" go="" wrong.......="" if="" murphys="" law="" intervenes="" and="" something="" goes="" wrong,="" as="" it="" will,="" usually="" due="" to="" human="" error,="" then="" you="" have="" two="" ways="" to="" fix="" it.="" the="" program="" can="" print="" out="" a="" location="" status="" report="" that="" will="" list="" each="" customer="" and="" interchange="" trains="" with="" a="" listing="" of="" the="" cars="" that="" should="" be="" at="" or="" in="" each.="" you="" now="" have="" two="" choices="" to="" clean="" up="" the="" errors.="" the="" most="" desirable="" and="" prototype="" way="" is="" to="" physically="" move="" the="" car(s),="" with="" an="" engine="" of="" course,="" where="" they="" should="" be,="" but="" if="" you've="" got="" a="" real="" mess,="" then="" you="" can="" pencil="" edit="" the="" location="" status="" report="" and="" then="" make="" updates="" to="" the="" computer="" record.="" we="" have="" found="" this="" second="" method="" is="" rarely="" used,="" after="" the="" initial="" installation.="">

Teton Short Line Home Page