What is it?

KMD is a graphical debugger written for The University of Manchester, School of Computer Science. It is intended primarily as a teaching aid rather than a commercial tool.

Originally intended as the `front end' of a remote monitor system it is also capable of interfacing with local, simulated `back end' processor models. The primary processor model included is ARM.

Some screenshots are available


The original author of KMD was Charlie Brej.
Considerable tidying and enhancement was done by Roy Schestowitz.
Most of the current maintenance is done by Jim Garside.
Input from John Zaitseff and Chris Page is also acknowledged.


KMD requires the following, freely downloadable libraries:


Currently KMD has been compiled for x86 Linux and Sparc Solaris.
KMD should compile fine on any platform that has the above libraries.

KMD communicates with the target system via a serial port so a Windows version would need the appropriate drivers. When using the emulator the port is redirected to a Unix pipe; again this would require some changes to produce a Windows version. [We have no incentive to worry about this at present.]



A gzipped TAR of the KMD source is available here. It is available free for educational purposes. Please acknowledge the University of Manchester School of Computer Science if you use this in your classes.


A supporting assembler is available.


If you find this software useful, please let us know. A list of establishments using Komodo follows:


Please send bug reports and feature requests to

Target systems

Documentation on the ARM7 target system can be found here.
Documentation on the ARM9 target system can be found here.

.komodo file

You can get my latest version of the .komodo file here. The .komodo file describes the known architectures and instruction sets.
The easiest way to add another processor to the file is to copy and amend one of the processors already there.
Please contact me if you wish to add other processors to KMD.