EVBU is a simulator for the 68HC11 microcontroller. Within a GUI, it implements a command line interface, very similar to the BUFFALO monitor, and a waveform interface for simulating I/O. This program is a 68HC11 simulator that emulates many aspects of an EVBU with a 68HC11 running the BUFFALO monitor program. The user interface to EVBU is similar (but not identical) to what a user would experience using a terminal program connected to the EVBU hardware. EVBU is free software licensed under the terms of the GPL.
In addition to a command-line emulation of BUFFALO, the EVBU software provides a logic-analyzer-like interface to the 68HC11 port pins. This allows you to view output waveforms and to construct and view input stimulus waveforms.
EVBU project's main goal is to aid in the understanding of the 68HC11 and of various concepts in digital systems. It is not the goal of EVBU to be a fast, complete, all-singing-all-dancing simulator (investigate THRSim11 or UMPS if you are looking for one). Only some of the 68HC11 peripherals are implemented. Thus, EVBU is intended mostly as a teaching tool, although it is a fairly capable simulator. The execution speed is on the order of 500X real time for an 8 MHz 68HC11. That is, it takes about 500 seconds to simulate 1 second of real time (on a 1 GHz Pentium processor). Improving the speed of the simulator is not a major goal of the project.
EVBU is written in pure Python and uses the wxPython graphical framework. It should run on any platform that supports the above applications. EVBU was developed with Python 2.1.1 and wxPython 2.3.2. Earlier versions of Python and wxPython may work, but there are no guarantees. Note that on Unix systems, wxPython currently requires GTK, so make sure this package is installed. Also note that wxPython's version is closely tied to the Python version, so if you need to upgrade your Python installation, you will probably also need to upgrade wxPython.
The EVBU program offers several enhancements over the actual BUFFALO monitor:
· Logic levels at output port pins can be displayed graphically, and input port pins can be stimulated with user-constructed waveforms.
· Symbolic debugging is supported. Breakpoints can be set at labels rather than addresses, tracing through instructions also shows each source line, etc.
· Tracing through instructions shows the next instruction to be executed, not only the one that just executed.
· Debugging commands not found in BUFFALO include executing to the end of a subroutine and executing for a specified number of cycles.
· Numbers can be entered in hexadecimal, as in BUFFALO, but also decimal, binary, and octal.
· Cycle counting is implemented for timing algorithms or to execute code for a certain number of cycles.
· Python 2.2 NOT MORE RECENT VERSIONS
· wxPython 22.214.171.124 NOT MORE RECENT VERSIONS
What's New in This Release:
· Fixed an error with the implementation of the inchar() BUFFALO function.
· Added cd command to change directories.
· The up-arrow and down-arrow keys now recall previous commands.
· Pressing the ESC key now clears the input buffer.
· Commands may now be in uppercase or lowercase.
· The File menu has a new Load option (with hotkey Ctrl-L) to bring up a dialog box for loading an S19 file.