Bored with this page? Click here to return to main index.


MDL Compiler V1.0


MDL Compiler V1.0 Beta (Enginering release) (available for download now!!)

Sample model description source file In Acrobat format


The compiler (or assembler to be more exact) is a native 32 bit Windows based application which allows the user to write and compile source files in MDL and to upload the compiled binaries to the RCMicro encoder via the serial port on the PC. The compiler is part of an Integrated Development Environment (IDE). Binary files may also be downloaded from the encoder and saved to disk for later recovery and upload. Model memories can also be downloaded and saved to disk and later uploaded.

Source files are written using the editor built into the IDE or an external editor can be used (notepad is fine). The compiler expects the following file extensions;

The editor in the IDE is syntax aware and also features syntax highlighting so syntax errors are immediately visible. A syntax picker is provided to automatically place code in the source and context sensitive help provides assistance on any language element.

To assist with code development the IDE also includes a monitor. The monitor communicates with an operating encoder (in a transmitter) and provides a live display of all important data such as analog inputs, pulse outputs, switchs, basic data and clock/timer data. Filters may be applied to the data to remove jitter and allow a more readable display. The monitor is particularly useful when, during code development, it is necessary to specify channel and switch numbers. It also provides immediate live feedback on the operation of the most recently compiled code. Since the monitor runs in a separate thread, it may be left running while code development continues which is of great assistance when making switch and channel assignments.

Compiling model programs takes about as long as takes to press the compile button. The generated code details are displayed in a window and a hex listing of the code may be viewed and printed. Pressing the upload button will send the code to the transmitter, a process which takes about 11 seconds. The transmitter will reset and run the new code immediately and the results may be viewed on the monitor. If an error occurs in the compilation the carat is positioned at the offending code and an error message describing the problem is displayed.

The IDE is currently undergoing further development and so a user manual is not yet available. Similarly, the online help is not yet written. The IDE is provided free for use by developers. Model descriptions developed using the IDE are free from any obligations to Eagle Air and may be given away or sold as the developer wishes.

The compiler was developed under Windows NT4 SP4 on a 400MHz Pentium with 192Mb ram. It has been tested on a 200MHz Pentium with 48Mb ram running under both Windows 98 and 95. The technique used is to read each line of the source into an object in memory. The objects are capable of parsing themselves and form a circularly linked list. Label resolution is performed by passing labels around the circular list until no more unresolved labels remain. This approach yields a fast memory based compiler but is very hungry on stack space and memory. It is recommended that a machine with as much performance as possible is used. I haven't tried it yet, but I don't think that the trusty old XT would cut it !!

To install the IDE extract the compressed archive into a temporary directory using PKUNZIP version 2 or later (the Norton extractor works fine also). Check the files with a virus checker. I know there are no viruses on my computer but you don't know that and since I don't trust anyone I don't expect anyone to trust me either. If everything checks out ok then run the setup.exe program. Setup will create a directory structure for your model programming activities and install the compiler. Icons will be placed into an IDE group and you can move them later to a more useful place. Install will NOT modify your system files with the exception of the registry.

Please note the following. I am an Engineer. I have never pretended to be in the same class as professional programmers. There are a million programmers out there who could do a better job than me on the IDE. So, if you are one of them and you think you could do it better then by all means have a go and please let me know how you are going because I am very interested. If it's good enough we may even be able to do business together.


Click here to send email.



Copyright © Eagle Air Australia Pty.Ltd. 1995-1999. All Rights Reserved.