Construction of a DCC System


QuickBasic PDS 7.1 was selected as the programming language for TNT because:

1. I have some understanding of it.
2. It is powerful enough to perform all the required operations.
3. It is easy to understand from a beginner's point of view.
4. It can be quickly learned by new programmers.
5. It is very closely related to plain English.
6. It is available without charge from internet resources.
7. It can create a .EXE compiled program for single disc operation.
8. It comes suppled with sufficient HELP menues for on-screen syntax checking.
9. It fulfils the need for a QBASIC program for DCC-MB.COM.
and
10. Simply .. I find it user friendly.

QuickBasic is a good place to start learning about computer programming. Some will argue it is a waste of time to work with this "out dated" language. I think it is a good way to introduce new programmers to computer programming. It teaches fundamentals of loops, subroutines, goto statements, printer output, file loading and saving, and much, much, more, in easily understood language. And ... Yes, I do use line numbers, I find it faster and easier to locate GOSUB and GOTO routines than with textual names, also, I don't need to keep track of passed variables.

Here is a useful link for those who may be new to QuickBasic Pete's QuickBasic Website

QuickBasic 4.5, and PDS 7.1 are available for download from PHAT code. I have recently turned to PDS 7.1 Professional Developement System. PDS QuickBasic 7.1 allows larger file sizes and many more options not available from within 4.5. Both packages come in easy to use ZIP file that you can use to make system discs, or install immediately to WINDOWS. You can use it directly from a WINDOWS MSDOS window (DCC-MB will not run in WINDOWS, however). You can run scenarios, do Joystick operations, run imaginary trains from keyboard, and do IR remote input all from windows. You can write code and debug directly from the DOS window in WINDOWS. You just cannot run DCC-MB from within WINDOWS. As an alternative, JMRI can be run on a separate computer, a LocoNet communications link can be established, and then, TNT can be operated from JMRI while TNTJMRI is running on a second computer.

To work with the assembly language of DCC-MB you will need to download MASM from the internet, available from PHAT code. This is Microsoft's assembler for machine language. This is a wonderful learning opportunity for beginning computer experts. There are many websites and tutorials available for assembly language. The documentation included with the PhatCode download is quite extensive.

DEBUG is also a useful DOS based program supplied with 6.2 DOS, and some earlier versions of WINDOWS. DEBUG can be used to disassemble .COM files (like DCC-MB.COM ... DCC-MB is available in assembly form, but Tillorp's Mekaniska Werks DCC-MB18.COM is not).