A Micro Emulator:

08/09/2001

"Software Emulation" of a Motorola 6800 Microprocessor and the "M6800 Trainer", that runs in an IBM Environment.

This M6800 Emulation will run in DOS or in a DOS Window.


  • This very extensive Microprocessor Emulation Program was designed and developed as a teaching aid for use in the classroom, in conjunction with the Motorola M6800 Hardware Trainer, with remarkable results. It actually shaved literal days of student time, where they were learning the nuances of the inward workings (machine code and assembly language) of the Motorola Processor.
  • Files may be saved or loaded as any normal disk file, but are in binary form and therefore cannot be edited by a text editor. Because they are in a binary form, they can be examined, modified, or even composed with binary editors such as Debug, if the individual understands those binary equivalences for the M6800.
  • This binary information can represent many things, and it is this fact that describes the actual difference between Microprocessors, in how they decode and interact with the binary code given.
  • To achieve the M6800 Emulation process, this program examines the given binary code against the parameters expected by a M6800 Processor, and literally spells out the translation of this binary code, based on what it represents to a M6800 Processor, and the action that should be taken.
  • The M6800 is a 16-bit Address device, which therefore should be fitted into a 64Kb environment for all of it's activity. The M6800 CPU is a Memory-Mapped I/O Device, rather than a Port-Mapped I/O Device, and these are simulated as well. All of the simulation is accomplished to match that of the Motorola 6800 Microprocessor Trainer.
  • All of the possible Instructions for the M6800 CPU are decoded, as well as all of the Flags in terms of which are affected, and/or changed. This is carried out in a 2 step process to allow the individual to determine first what they think should occur, and the second step is where the action is carried out. This method is a form of step-by-step testing for the individual involved.
  • By being able to see all the Register Contents at once and relating Flags, the ensuing activity on this step-by-step basis is highly effective in the learning process. Registers, Flags, and affected data are indicated by a color change. This color change resets back to the default on step #1 of the next instruction decode.
  • Since Addressing Modes are a major key part in CPU codes, those modes are identified and emphasized here for the individual's attention, as they occur.