Robert Frowenfeld
81 Allison Road
Katonah, NY 10536
Phone: (914) 232-5546

Dear Marklin Digital user,

Thank you for your interest in TPL. What follows is information which I send people who are interested in this remarkable program. Please feel free to call or write if you have any questions or require additional information. I have made available a diskette with the entire on-line help file for TPL. It contains over 70 pages of documentation and is written in accordance with Microsoft's help file specifications, so it works just like any Windows help file that you've used with other programs. It's complete with pictures of every screen, descriptions of every option and, of course, hypertext links to other sections of the help file.


I have developed a microcomputer program which provides the ultimate in computerized train operations. The program is called TPL which stands for Train Programming Language. Simply stated, TPL is a language that uses simple commands to operate an entire train layout, regardless of size or complexity. It requires the Marklin Digital Interface and an IBM PC (or compatible) microcomputer to operate. TPL has the ability to control up to 80 engines, 256 switches and/or signals, and 496 track detection points.

TPL can be run in two different modes: "manual" operation and "programmed" operation.

Manual operation

Operating TPL in "manual" mode provides a variety of different screens (windows) to control the operation of all engines and solenoid devices (signals and switches). Examples of some of the screens are:

Digital Control - Provides realistic pictures of the Marklin Digital #6040 Keyboard and #6036 Control 80f units. The Keyboard shows the status and allows control of all 256 solenoid devices (typically switches and signals) in groups of 16. It is really a "virtual Keyboard" in that it really performs the job of all 16 possible keyboard controllers. The Control 80f functions just like the real thing -- any of the 80 possible engine numbers can be called up via the numeric keypad, and control of the engine's speed, direction, and auxiliary function (lights, smoke, TELEX) are all possible. Control for the auxiliary function cars such as the "moving waiter" and "dance car" functions F1-F4 is also provided.

Detector Screen- Allows viewing the status of all possible 496 (64 for the #6023) track detection points. This screen is very useful as well for testing the operation of contact tracks, reed switches, etc.

Master Status & Control - On one screen, you can view and operate all 256 solenoids and 80 engines and their functions. Even the status of detector tracks can be monitored and controlled from this single screen.

Configuration - Using the familiar "tabbed dialog" format of many popular programs, this screen allows the user to set over 50 different operating parameters, including:

Multiple engine control - In a narrow window, up to 9 different engines can be controlled. This provides easy control of several engines without constantly "dialing up" a desired engine on the Control 80f screen. It's like having up to 9 different Control 80's on your layout!

One of the most interesting (and useful features) of TPL is its ability to keep all screens updated simultaneously. For example, if you have the Master Status & Control screen running in the background with the Digital Control and Multiple Engine Control screens visible in the foreground, simply making a change to any solenoid or engine from one screen will cause all other screens to have their status updated to reflect the operation.

here to go to the TPL home page, and you can view these and other screens!

Programmed operation

In this mode, the user creates a text file of TPL commands. This is accomplished using any word processing software, but typically the Windows Notepad program -- TPL automatically invokes Notepad by default. These TPL commands are then read by the TPL program and verified for syntax and accuracy before they are executed. Many people refer to this method of operation as using a "script file" since the user is required to create his own set of sequencing functions. Up to fifty (50) different train routes can be operated simultaneously. Each route, which can contain as many as 500 individual instructions and can be responsible for operating any number of trains and solenoid devices (switches and/or signals). Commands can even be given by the user to temporarily halt execution until a Marklin Track Detection Unit is triggered (or cleared).

For example, it would be simple to have the program wait until a train approached a station, turn on the station lights, and then turn them off after the train leaves. A more interesting use of this feature would be to wait until a train approaches an inclined section of track, then slowly increase its speed to help it climb. Once the engine reaches the top, the speed could be cut back for the downhill ride. There is even a simple series of commands that will cause a train to gradually increase or decrease its speed to satisfy the true prototypical modeler. These are just some of the simpler situations you can provide for your layout with TPL. You are only limited by your imagination as to how complex you want your operation to be!

To give you some idea of just a few of the many commands available, here is an abbreviated list with a short description of each:

SWITCH - Turns a specified switch in or out, or a solenoid to the "red" or "'green" position.

ENGINE - Causes a specified engine to move at a certain speed, reverse, or stop. This command also controls the lights or TELEX coupling on engines so equipped.

PAUSE - Tells the computer to wait a certain number of seconds before continuing with the route.

DETECT - Causes execution of this route to wait until a specified Track Detection Module is triggered.

CLEAR - Causes execution of this route to wait until a specified Track Detection Module is cleared.

GOTO - Transfers control to another specified route.

TERM - Identifies a reserved section of TPL instructions for each route that can be executed by another route or from the computer keyboard in an emergency.

here to see a table of all the commands available for TPL.

In all, there are nearly 30 different TPL commands available. New commands are added as users request new and exciting ways to utilize their PC's to operate their train layouts. As an example, a new SOUND command will play any .WAV audio file at the appropriate moment -- several sample sound files are included with TPL.

As mentioned above, each TPL command sequence is checked for errors before train movement actually begins. Each command is checked for proper syntax. Verification of available engine, switch, and track detection module numbers is also made. Any errors detected are reported and must be corrected before operation can begin. This helps prevent unpredictable train and switch operation.

An on-line Windows help file is provided which contains over 70 pages of detailed information describing the use of each screen function and command as well as the 100+ different user-configurable options. There are also several interesting examples of TPL command sequences to help familiarize the user with their use. Both simple and more complex train operating situations are described.

At the end of this letter, I have included a sample of a very simple TPL command sequence which you can review. You will see just how easy it is to use each command. A comment has been placed at the end of each command line to help you follow the operation. Your command files can also include helpful comments by placing a semi-colon (;) at the end of each command as shown. All this and more is described in the manual.

If you would like to order TPL, the price is $249 including shipping to U.S. locations; shipping outside the U.S. is an additional $30.00. Foreign orders must be prepaid in U.S. funds. That's the total price, no hidden extras. By the time I receive your order, I will most likely have made some improvements and additions to TPL. I have recently completed a new utility program which enables you to test your signals, switches, engines, and track detectors to see if they are operating properly; this too is included with the program.

The latest version of TPL has many useful and interesting features. For example, there's a special function that supports 3-way switches. By identifying which switches are 3-way switches, TPL will automatically set the left, right, and center positions in the proper sequence so the points never jam. You can construct a table of slow, medium, and high speeds for 80 different engines. This way, you can use abbreviations for speeds instead of "hard-coding" the speeds in your command file. If the characteristics of your engine change, or you simply want to use a different engine with the same number that runs a little faster or slower, you don't need to change all your command files -- simply change the speed values in the table! You can also refer to your engines using abbreviations in your command files. (These last two features can save hours of re-typing!)

Another recently added feature allows you to halt all your engines in an emergency without losing power to the layout. This way you can stop all your engines, set a switch or move an engine to avoid an accident, then press another key to resume operation.

NEW! Layout Design Utility

I have just completed a new program which allows you to draw a representation of your actual layout, complete with the ability to rotate and set your switches and add switch and track detector numbers. You can also add text labels in any font, color, size, and format (bold, italics, underline) you desire. There's even the ability to add Windows bitmap files. So if you want to add a station and some trees to your layout -- no problem! Of course, you can print your drawing to your printer. But the best part of this is how it works in conjunction with TPL. When running TPL, you can "call up" your drawing and control all your solenoids simply by clicking on them with the mouse. Of course, any other screens you have up at the time get instantly updated as well! If you're running a command file, as commands are issued to the interface to change each switch or signal, the solenoid's picture on the layout changes to correspond to its new setting.

Here's just a sample of what you can do with this utility:

In addition to TPL, you will require a cable to connect your computer to the Marklin Interface (the new 6051 Interface comes with a 9-pin serial cable). Marklin has cables to connect their Interface to the serial port of your IBM compatible computer; both 9-pin and 25-pin varieties are available. I can obtain this for you if you directly from Marklin if you desire. If you prefer, the TPL manual includes a wiring diagram so you can fabricate your own cable -- a length of 5-conductor wire, a serial connector (9-pin or 25-pin, depending on your serial interface), and a soldering iron is all you will need.

Thanks again for your interest, and I hope to hear from you soon. If you have any questions, please feel free to call at the above number. This is my phone number at home, so be sure to call after 6:00 p.m. Eastern Daylight Time. I'm generally home all day on the weekends.

In reviewing programs to operate your Marklin Digital layout, you may have noted that there are many programs available -- some less expensive than TPL, some more expensive. My advice is to select the program that not only offers you the most features and flexibility to operate your layout, but the product that let's you operate the way you want to.

And don't forget about support! I have the ability to provide the finest support available. Using the Internet, e-mail, and Compuserve, I can provide instant updates and helpful information whenever you find that you are experiencing any problems. Ask other TPL users -- I'll give you their names -- they'll tell you how well I support the product. They'll also tell you how ready I am to listen to new ideas and incorporate them in the program.

I hope that after you have had an opportunity to review this information and the help file, you will find that TPL suits your needs not only as you get started, but in the future as well.

Very truly yours,

Robert J. Frowenfeld

Copyright 1986-1996, Robert Frowenfeld

IDENT:          ;this section identifies all equipment on the layout
ENGINES: 8,22 ;engines #8 and #22 are available SWITCHES: 1-4 ;the switches available are #'s 1-4
DETECT: 2 ;there are 2 track detection modules on this layout
ROUTES: #1 ;this is the start of the first route, (50 are allowed) --
;this one was named 'ROUTE #1', but you can give it
;any name you choose
SWITCHES: 1/G ;set switch #1 to 'G' (GREEN)
ENGINES: 22/3/1 ;start engine #22, speed 3, lights on (1)
DETECT: 1 ;wait until track detector #1 is triggered
ENGINES: 22/2/1 ;slow engine #22 to speed of 2, lights still on
PAUSE: 1 ;wait for one second
ENGINES: 22/1/1 ;slow engine #22 to speed of 1
PAUSE: 1 ;wait for one second
ENGINES: 22/0/0 ;stop engine #22, lights off (0)
PAUSE: 1 ;wait one second again
ENGINES: 22/R/1 ;reverse engine #22, turn lights back on (1)
SWITCHES: 1/R ;set switch #1 to 'R' (RED) to move to side track
ENGINES: 22/2/1 ;set speed for engine #22 to 2, lights still on
DETECT: 2 ;wait till track detector #2 is triggered
ENGINES: 22/R/1 ;stop and reverse direction of engine #22
SWITCHES: 1/G ;set switch #1 to 'G' (GREEN) to prevent collision
END: ;end of TPL command sequence

The above sequence is easy to follow. It simulates a train going along its route until it passes detector #1. At this point the train slows down gradually. This is accomplished by reducing the speed one unit at a time, pausing one second between speed changes. This gives the effect of a train coming to a slow stop. Once stopped, a switch is thrown, the engine is placed in reverse and begins moving backward. In this instance the train is being shunted onto a side track which contains a second track detection unit. Next, the sequence above waits for the train to pass this detector (#2). Once this occurs, the train is stopped and reversed so that its next motion will be in the forward direction. The switch is then thrown to the GREEN position so no other trains traveling in this direction will be accidentally directed onto the side track.

This is a relatively simple example of a sequence of TPL commands. While this sequence only involved one route with 15 steps, one TPL command file permits up to 50 different routes, and each may contain up to 500 steps! The above example only uses a few of the available commands. Other commands permit jumping from one route to another, and even automatically starting and suspending other routes. There is also the ability to have a special termination section for each route that can be triggered by a train or from the keyboard in case of an emergency.

see TPL Requirements

|| Return to the Home Page ||