next up previous contents
Next: Running the program Up: MC68000 and interface circuits Previous: Contents   Contents

Introduction

sim68k is a Graphical User Interface (GUI) to a simulator of the 680x0 family of Motorola(R) microprocessors. Its purpose is for teaching and not for developing actual softwares. Therefore, the ability to visualize the states of the processor, the contents of the registers and the memory have been emphasized, more so than the strict simulation of the functionality of the microprocessor or the efficiency of the simulator.


The GUI is written in Tcl/Tk and all the actual 680x0 computation of the simulator are included in a dynamic library mainly coded in C++. The resulting application is therefore very modular, making it easy to create a specific hardware environment around the 680x0 or the customize the GUI. It is also easy to develop additional interface circuits simulators, like LED display, interruptions generators, ADC, parallel/serial interface circuits, timers, etc... which may have their own Tcl/Tk based graphic interface.


The current processors which are implemented in the simulator are 68000 and 68010. You can run 680x0 code with x $>$ 1 if you do not use any specificities from these processors (MMU, FPU, specific instruction, addressing modes or registers).


Also, the TRACE exception executed before each instruction in TRACE mode (if the bit T of the status register is set to 1) is not yet implemented. The bit T has no effect at all.


The input binary format accepted by the simulator are: S-Format (suffix .s29) and executable produced by a cross compiler like gcc -m68000, raw (series of bytes), ASCII (as hexadecimal values of the bytes), swift.

The output formats are: S-Format, raw (series of bytes), ASCII (as hexadecimal values of the bytes), swift and source (that you can feed back to an assembler).


Most of the functionalities of the simulator can be performed through the GUI. However, some operations (which requires parameters for example) must be typed into the command window, like setting the mode of the IPL interruption level (auto-vectorized or vectorized), requesting for a memory dump starting at a specific address, and so on. A complete reference of the commands and their syntax is included in the following of this documentation.


next up previous contents
Next: Running the program Up: MC68000 and interface circuits Previous: Contents   Contents
PERROTON Laurent 2003-01-28