KMD

.komodo configuration file

The configuration file is rather cryptic but offers some significant flexibility in the way kmd is displayed. Among other things it allows the panes of the main window to be configured, sets up register names and determines the behaviour of the assembler and disassembler.

The format of the file is recursive and Lisp-like, with lots of parentheses. The syntax is somewhat cryptic and there are a few keywords which need to be understood.

Note: not all features have been fully developed. Be cautious!

Also note: the error handling of the parser has not been `bombproofed', so try to get the syntax correct!

Also also note: this documentation is a very loose draft at present and full of holes.

A ';' begins a comment which continues to the end of the current line.

Keywords

cpu specifies an architecture which can be displayed and understood. +++

memory-ptr-width takes a single parameter which specifies the size, in bytes, of an address.

wordalign is a zero/non-zero value which - if non-zero - specifies that the display of memory words should be confined to appropriately aligned boundaries.

window-list determines how the majority of the main window is subdivided. It takes a string parameter which uses letters to specify panel types and '!' and '~' characters to divide the area recursively into panels. For example:

		(window-list "M")
creates a single, memory panel, whereas:
		(window-list "~MM")
produces two memory display panels split horizontally, and:
		(window-list "~M!MM")
will further split the lower panel vertically.

Panel type specifiers

    (regbanks 0                         ; regbanks main-regbank
        (regbank-granularity 4)         ; regbank minimum transfer
regbank takes five parameters: If the keyword "(pointers)" is included in the regbank specification the register names will be displayed in memory windows if they hold the address of a displayed line. [If desired (a0 separate register bank(s) can be aliased onto other registers to control exactly which registers are pointers.] Certain register pointers can cause highlighting in memory windows if they contain a displayed address. These are specified by a colour name and a register number, thus:

		(GREEN 15)
This causes the memory pointed to by the register number 15 to be highlighted in green.

Currently, three highlights are supported - it is easy to define more by editing the source code - which are:

This is particularly useful for highlighting specific addresses: the PC and SP being the obvious examples.

compile-script takes a single, string parameter which, if present, overrides the function taken when the compile -> button is pressed. It is passed to the shell in the normal way.


Chump

Description needs writing!