Help with NoICE - Debugger for 8 Bit Microprocessors (v2.5)
(copyright (c) 1992 to 1995 by John Hartman)

MOVING AROUND IN HELP:  Use the cursor and PgUp/PgDn keys to move around 
this help file.  Enter "F string" to search for any character string 
"string".  "F +" will search for the next occurrence of the same string.  
"F -" will search for the previous occurrence.  Press Control-Home to 
move to the beginning of the file.  Press Control-End to move to the end 
of the file.  You may enter other NoICE commands at any time.

1.  NOICE COMMANDS

NoICE uses keyboard commands which are generally similar to those of 
other hex monitor programs.  In addition, the function keys provide 
single-key invocation of a number of commands, and a menu bar provides 
mouse access to nearly all functions.  Command keywords are case 
insensitive.

Function key commands are executed immediately.  Other commands must be 
terminated with a carriage return.  Until carriage return is pressed, the 
command may be edited.

3.  COMMAND SUMMARY

This section lists the commands in alphabetical order.  For more 
details on the operation and parameter format of each command, 
refer to the appropriate sections below.

If you have used a previous version of NoICE, refer to section 19 
for a summary of changes from earlier versions.

in each command:
*	curly brackets {} denote optional parameters.
*	"addr" denotes an address or address expression
*	"size" denotes a size or size expression
*	"value" denotes an expression

@file			Execute commands from "file"
ASCII			Change viewer to ASCII mode
AUTOGEN			Abbreviation of AUTOGENERATE
AUTOGENERATE value	Turn automatic symbol generation on and off
B			Abbreviation of BREAK
BREAK {addr}		Insert, delete, or display breakpoints
CAPTURE file		Capture disassembly, dump, and target output to file
CAPTURESPEC filespec	Set filespec for CAPTURE command
CASE value		Turn symbol case sensitivity on and off
CHECK addr size		Abbreviation of CHECKSUM
CHECKSUM addr size	Compute byte checksum on region
CLEARSYMBOLS		Delete all symbols
COM0 rate               Use simulated target
COM1 rate               Use COM1 at "rate" baud
COM2 rate               Use COM2 at "rate" baud
COM3 rate               Use COM3 at "rate" baud
COM4 rate               Use COM4 at "rate" baud
COPY addr1 size addr2   Copy memory from addr1 to addr2
D			Abbreviation of DUMP
DEF			Abbreviation of DEFINE
DEFB			Abbreviation of DEFBASE
DEFBASE name value	Define base symbol "name"
DEFINE name value	Define symbol "name"
DELAY time		Set delay for command playback
DISASSEMBLE {addr}	Disassemble beginning at addr
DOS			Temporary exit to DOS
DUMP {addr} {size}	Dump block of memory at addr in hex
E {addr} {val}		Abbreviation of EDIT
ECHO {text string}	Echo "text string" to data window
EDIT {addr} {val}	Examine/change memory
F {text string}		Abbreviation of FIND
FIND {text string}	Find the string in the view file
FILE file {offset}	Define the current file for source debug
FILL addr size value	Fill memory block at addr with value
G			Abbreviation of GO
GO {addr}		Begin execution at addr or at PC
H			Abbreviation of HELP
HELP			Show help display
HEX			Change viewer to hex mode
I			Abbreviation of IN
IN addr			Read byte from port
L			Abbreviation of LOAD
LINE linum		View the specified source line 
LINE linum addr		Define address of source line 
LINES nlines		Set number of screen lines
LOAD file {offset}	Load Intel or Motorola hex file
LOADSPEC filespec	Set filespec for Load and Save
M			Abbreviation of MEM (EDIT)
MAINCOLOR val		Set color of source and data windows
MAINHIGHLIGHT val	Set highlight color of main windows
MAINSELECT val		Set select color of main windows
MENU			Open the menu bar (select first item)
MENUCOLOR val		Set color of menu and dialog boxes
MENUHIGHLIGHT val	Set highlight color of menu and boxes
MENUSELECT val		Set select color of menu and boxes
MEM {addr} {val}	Same as "EDIT"
MODE val		Set source mode (0,1,2)
N			Abbreviation of NEXT
NEXT			Step over subroutine
NOFILES			Delete file and line number information
NOVIEW			Close the file viewer
NV			Abbreviation of NOVIEW
O			Abbreviation of OUT
OUT addr val		Write byte to port
PLAY file		Execute commands from "file"
PLAYSPEC filespec	Set filespec for Play and Record
Q			Abbreviation of QUIT
QUIT			Exit to DOS
R			Abbreviation of REGISTER
REC file		Abbreviation of RECORD
RECORD file		Record commands to file
REFRESH			Refresh file view
REG {reg val}		Abbreviation of REGISTER
REGISTER {reg val}	Change register
REM {string}		Remark (comment) for command files
S {addr}		Abbreviation of SOURCE
SAVE file addr size	Save block of memory as Intel hex file
SET name value		Same as DEFINE
SHOW val		Control hex display of communications
SOURCE {addr}		Show source code at beginning at addr
ST			Abbreviation of STEP
STEP			Step into subroutines
STOP			Stop recording commands to file
SYM expr		Abbreviation of SYMBOL
SYMBOL expr		Show symbol with value "expr"
T			Abbreviation of TRACE
TRACE file		Trace processor execution to file
TRACESPEC filespec	Set filespec for TRACE and VIEWTRACE commands
U			Abbreviation of UNASM
UNASM {addr}		Disassemble beginning at addr
V			Abbreviation of VIEW
VAL			Abbreviation of VALUE
VALUE expr		Show value of "expr"
VER			Abbreviation of VERSION
VERSION			Show host and target versions
VIEW {file}		View file
VIEWSPEC filespec	Set filespec for View command
VIEWTRACE file		View trace file
VT			Abbreviation of VIEWTRACE
W			Abbreviation of WATCH
WATCH addr {len} {f}	Watch data at "addr"

The following commands may be invoked either by pressing the 
indicated function key, or by clicking on the function key title 
with the mouse.

F1			Help
F2			Dump next block
F3			Disassemble next block
F4			View file
F5			Go
F6			List Breakpoints
F7			Step
F8			Step Over
F9			not assigned
F10			Menu

3.1.  Commands Allowed in NOICE.CFG

Only the following commands are allowed in the configuration file 
NOICE.CFG.

CAPTURESPEC filespec	Set filespec for CAPTURE command
CASE value		Turn symbol case sensitivity on and off
COM0 rate               Use simulated target
COM1 rate               Use COM1 at "rate" baud
COM2 rate               Use COM2 at "rate" baud
COM3 rate               Use COM3 at "rate" baud
COM4 rate               Use COM4 at "rate" baud
DEF			Abbreviation of DEFINE
DEFB			Abbreviation of DEFBASE
DEFBASE name value	Define base symbol "name"
DEFINE name value	Define symbol "name"
DELAY time		Set delay for command playback
LINES nlines		Set number of screen lines
LOADSPEC filespec	Set filespec for Load and Save
MAINCOLOR val		Set color of source and data windows
MAINHIGHLIGHT val	Set highlight color of main windows
MAINSELECT val		Set select color of main windows
MENUCOLOR val		Set color of menu and dialog boxes
MENUHIGHLIGHT val	Set highlight color of menu and boxes
MENUSELECT val		Set select color of menu and boxes
PLAYSPEC filespec	Set filespec for Play and Record
REM {string}		Remark (comment) for command files
SHOW val                Control hex display of communications
TRACESPEC filespec      Set filespec for TRACE and VIEWTRACE commands
VIEWSPEC filespec       Set filespec for View command

4.  COMMAND EDITING

Function key and Alt-key commands are executed as soon as the key 
is pressed.  Other commands must be terminated with a carriage 
return.  Until carriage return is pressed, the command may be 
edited.

The left and right cursor keys move the cursor one character to the 
left and right within the current command line.  By pressing the 
Control key along with the left or right cursor key, the cursor may 
be moved to the beginning of words within the current command line.

Printable characters may be inserted at the cursor position by 
simply typing.  Characters to the right of the insertion point will 
be shifted to the right in insert mode, or overwritten in overtype 
mode.

The Insert key toggles editing between insert (the default) and 
overtype modes.  When in overtype mode, the cursor will be a 
blinking half-block.  When in insert mode, the cursor will be a 
blinking underline.

The Backspace key deletes the character to the left of the cursor, 
and shifts any remaining characters on the line to the left.

The Delete key deletes the character at the cursor position, and 
shifts any remaining characters on the line to the left.

At the command prompt, the up and down cursor keys scroll through a 
command history.  The last 20 commands entered at the keyboard are 
stored in the history list.  Once visible, commands may be edited 
normally, and may be executed by pressing carriage return.  The up 
and down cursor keys are used for other purposes by some other 
commands, in particular by the memory edit and file view commands.  
Refer to the descriptions of these commands for details.

If the file viewer is open, then the Control key must be used in 
conjunction with the cursor keys to scroll through the command 
history, as the unshifted cursor keys are used by the file viewer.

5.  USING THE MENU SYSTEM

NoICE commands may be invoked either via the command line interface 
described in the previous section, or via menus and dialog boxes.  
The menu bar is the top line of the NoICE screen.  The menu system 
follows the usual rules:  menu items may be selected by clicking on 
them with a mouse (either button may be used), or by pressing Alt- 
and the highlighted letter of the item's name.  (Highlighting uses 
the color set by the MenuHighlight command.)

Alternatively, the menu may be opened by pressing F10 or issuing 
the MENU command, and the cursor keys used to pick an item.  The 
picked item may be selected by pressing the ENTER key.  (The color 
of the "picked" item is set by the MenuSelect command.)

Some menu items will present further choices when selected.  The 
names of such items are shown on the menus followed by ellipsis 
(...).

At any time, a dialog box or menu may be closed by pressing the ESC 
(Escape) key.  Most dialog boxes also contain a button labeled 
"Cancel" which may be activated by pressing Alt-C or clicked with 
the mouse to close the dialog box.

There are several types of elements within dialog boxes:

Buttons allow you to immediately perform an action.  Buttons 
consist of a button name with one highlighted letter, enclosed 
within a double line border.  You may invoke the button by clicking 
on it with the mouse, by pressing the TAB key until the button is 
selected and then pressing the ENTER key, or by pressing Alt- and 
the highlighted letter of the button name.

In most dialog boxes one button is the "default button".  The 
double line border of this button is shown in the highlight color.  
If the ENTER key is pressed while in any non-button element, then 
the default button will be invoked.

Text Boxes allow you to insert or edit text.  Text boxes are 
surrounded by a single line border, and have a title with one 
highlighted letter.  You may select a text box by clicking on it 
with the mouse, by pressing the TAB key until the box is selected 
(shown by the presence of the cursor in the box, and by the use of 
the color set by the MenuSelect command), or by pressing Alt- and 
the highlighted letter of the title.  While the cursor is within a 
text box, you can edit using the cursor keys, as described in the 
previous section on command line editing.

List Boxes allow you to select an item from a list.  List boxes are 
surrounded by a single line border, and have a title with one 
highlighted letter.  You may select a list box by clicking on it 
with the mouse, by pressing the TAB key until the box is selected, 
or by pressing Alt- and the highlighted letter of the title.  While 
the cursor is within a list box, you can use the up and down arrow 
keys to scroll through the items in the list.  In most cases, as 
each item is selected it is also copied to a text box just above 
the list box.

If there are more items in a list than can be displayed at once in 
a list lox, then only a portion of the available items will be 
shown, and a Scroll Bar will appear on the right edge of the list 
box.   The scroll bar consists of an up arrow at the top, a down 
arrow at the bottom, and a Scroller in between, which shows the 
position of the currently visible items within the list.  Clicking 
on the up and down arrows with the mouse will scroll the list box 
through the list of items.  Clicking on the scroller will move the 
list box to the indicated position in the list.

Toggle Buttons or Check Boxes allow you to select and deselect 
options.  Toggle buttons are displayed as a set of square brackets, 
enclosing an "X" if the option is selected, and a space if it is 
not.  The brackets are followed by a button name with one 
highlighted letter.  You may toggle the button by clicking on it 
with the mouse, by pressing the TAB key until the button is 
selected and then pressing the spacebar, or by pressing Alt- and 
the highlighted letter of the name.

Radio Buttons allow you to select one of a group of mutually 
exclusive options, much like the station selection buttons on a car 
radio.  Each group of radio buttons is surrounded by a single line 
border.  Each radio button is displayed as a set of parenthesis, 
enclosing a dot if the option is selected, and a space if it is 
not.  The parenthesis are followed by a button name with one 
highlighted letter.  You may pick the button by clicking on it with 
the mouse, by pressing the TAB key until the button is selected and 
then pressing the spacebar, or by pressing Alt- and the highlighted 
letter of the name.

Informational Items may appear in some dialog boxes.  Such items 
cannot be selected with the mouse or tabbed to.  They serve only to 
supply you with information about the contents of the dialog box.

5.1.  The FILE Menu

Load... 
	Load hex file to memory.  Refer to the LOAD command.

Save...   
	Save memory to hex file.  Refer to the SAVE command.

View...
	View file.  Refer to the VIEW command.

Capture...
	Capture disassembly, dump, and target output to file.  
        Refer to the CAPTURE command.

Play... 
	Play a file of NoICE commands.  Refer to the PLAY command.

Record...
	Record subsequent commands into a file.  Refer to the RECORD 
	command.

Delay...
	Set the delay after each command executed from a command 
        file.  Refer to the DELAY command.

Echo... 
	Echo text to the data window.  Refer to the ECHO command.

Stop
	Stop recording commands.  Refer to the STOP command.

DOS
	Shell out to DOS.  Refer to the DOS command.

Version
	Shows host and target version and configuration information.  
	Refer to the VERSION command.

Quit
	Exit NoICE.  Refer to the QUIT command.

5.2.  The VIEW Menu

Refresh 
	Refresh the current view of the current file.  Equivalent to 
	the VIEW command with no parameters.

Find... 
	Search for a string in the current view file.  Refer to the 
	FIND command.

Find Next 
	Search for the next occurrence of the previously specified 
	string in the current view file.  Equivalent to FIND +.

Find Previous  
	Search for the previous occurrence of the previously 
        specified string in the current view file.  Equivalent to FIND -.

Goto Line...
	Go to the specified line in the current view file.  Refer to 
	the LINE command.

Viewer Off
	Turn off the file viewer.  Refer to the NOVIEW command.

ASCII
	Set the file viewer to display the current file as ASCII 
	characters.  A bullet will be shown by this item if this 
        option is active.  Refer to the ASCII command.  ASCII and 
        Hex are mutually exclusive options.

Hex
        Set the file viewer to display the current file as hex
        bytes.  A bullet will be shown by this item if this option
        is active.  Refer to the HEX command.  Hex and ASCII are
        mutually exclusive options.

View Source
        Set the file/source viewer to display source code where
        source-level debug information is available.  A bullet
        will be shown by this item if this option is active.
        Equivalent to MODE 2.  View Source, View Mixed, and View
        Instructions are mutually exclusive options.

View Mixed
        Set the file/source viewer to display source code
        interspersed with disassembled instructions.  A bullet
        will be shown by this item if this option is active.
        Equivalent to MODE 1.  View Source, View Mixed, and View
        Instructions are mutually exclusive options.

View Instructions
        Set the file/source viewer to display disassembled
        instructions.  A bullet will be shown by this item if
        this option is active.  Equivalent to MODE 0.  View Source,
        View Mixed, and View Instructions are mutually exclusive
        options.

Source At...
        Display source code beginning at the specified address, if
        source-level debug information is available.  Refer to the
        SOURCE command.

Disassemble At...
        Display disassembled instructions beginning at the specified
        address.  Refer to the DISASSEMBLE command.

Disassem Next
	Display disassembled instructions beginning at the address 
	following the end of the current screen.  Equivalent to 
	DISASSEMBLE with no parameters.

Clear Line Info
	Delete line number information used for source level 
        debugging.  Refer to the NOFILES command.

5.3.  The MEMORY Menu

Dump...
	Display a region of memory as hex bytes and as ASCII 
	characters.  Refer to the DUMP command.

Dump Next
	Display the next region of memory.  Equivalent to DUMP with 
        no parameters.

Edit...
	Display and optionally edit memory as hex bytes.  Refer to 
        the EDIT command.

Checksum...
	Compute the sixteen bit sum of the bytes in a region of 
        memory.  Refer to the CHECKSUM command.

Fill...
	Fill a region of memory with a value.  Refer to the FILL 
	command.

Add Watch...
	Specify a region of memory to be displayed in the data or 
	register window.  A variety of formats are supported.  
        Refer to the WATCH command.

List/Delete Watch...
	Show a list of the current watches, and allow deletion.  
        Refer to the WATCH command.

Refresh Watch...
	Refresh the register and data windows with the values of the 
	current watches.  Equivalent to the WATCH command with no 
	parameters.

5.4.  The SYMBOL Menu

Define...
	Define and give a value to a symbol.  Refer to the DEFINE 
        and DEFBASE commands.

List/Delete...
	Show a list of currently defined symbols and their values, 
        and allow deletion.  Refer to the SYMBOL, DEFINE and DEFBASE 
	commands.

Symbol for...
	Show the symbol whose value is equal to an expression.  
        Refer to the SYMBOL command.

Value of...
	Show the value of an expression in decimal and hex.  Refer 
        to the VALUE command.

AutoGenerate
	Toggle the automatic generation of symbols during 
        disassembly.  Refer to the AUTOGENERATE command.

Ignore Case
	Toggle the case sensitivity of the symbol evaluator.  
        A check mark will be shown next to this item if case 
        sensitivity is turned off.  Refer to the CASE command.

5.5.  The BREAK Menu

Insert...
	Define a breakpoint.  Refer to the BREAK command.

List/Delete...
	Show a list of currently defined breakpoints, and allow 
	deletion.  Refer to the BREAK command.

5.6.  The RUN Menu

Go From...
	Begin target execution at the specified address.  Refer to 
        the GO command.

Go
	Begin target execution at the current program counter 
        address.  Equivalent to GO with no parameters.

Step Into...
	Single step the target.  Refer to the STEP command.

Step Over...
	Single step the target, stepping over subroutine calls.  
        Refer to the NEXT command.

Trace...
	Begin or end tracing instruction execution to file.  Refer 
        to the TRACE command.

View Trace...
	View trace file.  Refer to the VIEWTRACE command.

5.7.  The PROCESSOR Menu

Register...
	Examine and change processor registers.  Refer to the REG command.

In...
	Input and display a byte from target port.  Refer to the IN 
	command.

Out...
	Output a byte to target port.  Refer to the OUT command.

5.8.  The OPTIONS Menu

Main Color...
	Set the color of the main screen (register, source, and data 
	windows).  Refer to the MainColor command.

Main Highlight...
	Set the color of the main screen highlights.  Refer to the 
	MainHighlight command.

Main Select...
	Set the color of the main screen selects.  Refer to the 
	MainSelect command.

Menu Color...
	Set the color of the menu line and dialog boxes.  Refer to 
        the MenuColor command.

Menu Highlight...
	Set the color of the menu line and dialog box highlights.  
	Refer to the MenuHighlight command.

Menu Select...
	Set the color of the menu line and dialog box selects.  Refer 
	to the MenuSelect command.

Hi Resolution
	Toggle between normal (25 line) and high resolution (43/50 
	line) screen modes.  A check mark will be shown next to this 
	item in high resolution mode.  Refer to the LINES command.

Comm Port...
	Select the port and baud rate used for target 
        communications.  Refer to the COMx commands.

Show Comm
	Toggle display of target communications.  A check mark will 
        be shown next to this item if communications is to be shown.  
	Refer to the SHOW command.

6.  ENTERING DATA AND ADDRESSES

Wherever a data value or an address is expected on the command line 
or within a dialog box, a number, a register name, a symbol, or an 
expression involving numbers, symbols, and/or register names may be 
used.

Numeric data entry is normally in hex.  Upper or lower case may be 
used for the characters A through F.  Hex numbers may optionally be 
prefixed by "0x" or "0X" (i.e., C format), or with a "$" (i.e., 
Motorola assembler format).  Hex numbers may optionally be followed 
by "h" or "H".  Numbers may be entered in decimal by following them 
with a period:  "10." is ten decimal.

When a register name is used as a term in an expression, the value 
contained in the register is used as the value of the term.  The 
legal register names will depend on the processor being debugged.  
The names and current values of the registers are displayed in the 
register window in the upper portion of the screen.  Register names 
are case insensitive.

Symbols are defined and given values using the DEFINE (or SET) and 
DEFBASE commands.  When a symbol name is used as a term in an 
expression, the value of the symbol is used as the value of the 
term.  Symbol names are case sensitive by default.  Case 
sensitivity may be turned off and on with the CASE command.

If a symbol is defined whose name is the same as the name of a 
processor register (ignoring case), NoICE will use the value of the 
register in expressions which use the name.

When used in an expression, a register or symbol name may 
optionally be preceded by a single quote (').  This forces the 
following characters to be evaluated as a register or symbol name, 
rather than as a number.  This allows register names such as "A" or 
"BC" on the Z80, or symbols such as "A1" to be distinguished from 
hex numbers.  The alternative would have been to require a leading 
zero on hex numbers.  Since numbers are used more often than 
symbols in a typical debug session, this was considered to be 
undesirable.

Valid operators in expressions are addition (+), subtraction (-), 
multiplication (*), integer division (/), bitwise logical AND (&), 
and bitwise logical OR (|).

Some target monitors may support paged memory.  This is primarily 
intended to be used with "Two Bit Memory Management" hardware, as 
discussed in section 18.  However, processors with several address 
spaces, such as the Z8 or 8051 may use paged addresses as well.  If 
paged memory is supported by the target, addresses within the paged 
region will be shown as

	xx:yyyy

where "xx" denotes the page, and "yyyy" denotes the address within 
that page.  When entering an address in the paged region, the page 
may optionally be entered as a numeric value, followed by a colon 
(:), when an address is specified.  If no page is specified, then 
the current page as shown in the register window will be used.  If 
a symbol is specified, the page value (if any) of the symbol will 
be used, unless it is overridden by the entry of an explicit page 
number and colon.

7.  MEMORY COMMANDS

7.1.  DUMP memory at address

	DUMP addr size

Dumps "size" bytes of data beginning at the specified address 
expression.  If "size" is not specified,

	DUMP addr

then the size is the same as that of the previous dump.  The dump 
size is initially set to 128 bytes.

If no address is specified, the next block after the previous dump 
is displayed.  Data is displayed in both hex and ASCII.

"D" is an abbreviation of "DUMP".  The F2 function key is 
equivalent to "DUMP <carriage return>".

7.2.  EDIT or MEM: Examine/change memory

	EDIT {addr} {val} {val2} {val...}

This command allows the user to examine and/or change individual 
memory locations.

If an address expression is specified on the command line, that 
address will be opened.  Thus

	EDIT 1000

will display the contents of address 1000, and then wait for user 
input.

If no address is specified, then the last opened address will be 
reopened.  After completion of the previous example, entering

	EDIT

will display the contents of address 1000, and then wait for user 
input.

If one or more data values, separated by spaces, are specified on 
the command line, those values will be written to the one or more 
successive bytes beginning at the specified address:

	EDIT 1000 55 66 77

will store the value 55 at address 1000, the value 66 at address 
1001, and 77 at the address 1002.  In this case, the original 
contents of the locations will not be shown, and control will 
return to the NoICE command prompt.  This form of the command is 
primarily useful when issued from command files, but may be used at 
any time.

Whether or not a data value or values are entered in response to 
the memory prompt, the value of the terminating key determines 
subsequent operation:

CARRIAGE RETURN returns to the main command prompt.
UP ARROW shows the previous address and its contents.
DOWN ARROW shows the next address and its contents.

When a data value is written to the target, the target will re-read 
the data to verify that the write has succeeded.  If the verify 
fails, an error will be displayed.

"E" is an abbreviation of "EDIT".  The alias "MEM", abbreviated 
"M", is also provided for the convenience of users of the Motorola 
ASSIST monitors.

7.3.  DISASSEMBLE or UNASM: Disassemble

This command allows the user to disassemble a program in target 
memory.  To view the source code for a program, refer to the SOURCE 
command.

To begin disassembly at address expression "addr", enter

	DISASSEMBLE addr

To continue disassembly at the instruction after the last one shown 
in the source window, enter

	DISASSEMBLE

"U" (for "unassemble", since "D" is used for "DUMP) is an 
abbreviation of "DISASSEMBLE".  The F3 function key is equivalent 
to "DISASSEMBLE <carriage return>".

7.4.  LOAD hex file

	LOAD file {load offset}

This command writes the contents of a disk-resident file to the 
target.  NoICE supports Motorola "S1" and Intel hex files, and 
automatically determines the file type based on the data in the 
file.

The optional load offset specifies an address expression which is 
added to 16 bit addresses within the load file.  Data is written to 
the target locations specified by the effective address.  Thus

	LOAD file 33:0

will load "file" into page 33, and

	LOAD file 1234

will add hex 1234 to all load addresses in "file".

If a Motorola S9 record is encountered, the target program counter 
will be set to the start address contained in the record.  Motorola 
S0 records are ignored.

If an Intel type 03 record is encountered, the target program 
counter will be set to the start address contained in the record.  
Intel type 01 records are ignored.

"L" is an abbreviation of "LOAD".

Control-Break may be pressed to abort this command.

7.5.  SAVE hex file

	SAVE file addr size

This command writes the contents of the specified region of target 
memory to a disk file in Intel hex format.  If the file already 
exists, it is deleted and a new file of the same name is created.

An Intel type 01 record is appended to the end of the file.

Control-Break may be pressed to abort this command.

7.6.  FILL Initialize memory block

	FILL addr size value

Sets "size" bytes of target memory beginning at "addr" to "value".

Control-Break may be pressed to abort this command.

7.7.  COPY memory block

	COPY addr1 size addr2

Copies "size" bytes of target memory beginning at "addr1" to target 
memory beginning at "addr2".

Control-Break may be pressed to abort this command.

7.8.  CHECKSUM: Compute checksum

	CHECKSUM addr size

Computes and displays the 16 bit sum of "size" bytes of target 
memory beginning at "addr".

Control-Break may be pressed to abort this command.

7.9.  WATCH memory at address

The "WATCH" or "W" command allows the contents of a byte, word, or 
region of memory to be displayed in the register or data window.  
The display is updated:
*	by single-stepping
*	by hitting a breakpoint or other interrupt after GO
*	by inserting or deleting a watch
*	by typing "W" or "WATCH" with no parameters

Watch data may be displayed in either decimal or hex, as bytes or 
words.

Up to 20 watches may be defined at any one time, although the 
display of this many watches may not be practical except in 43 or 
50 line mode.

Syntax to create a watch is

	WATCH addr {num} {%fw}

where 
	"addr"	is an address expression
	"num"	is an optional number of elements to display (default 
		if omitted is 1)
	"f"	is a display format specifier 
	"w"	specifies the window in which the watch is to be displayed

Valid values for the format specifier are:
	x	hex byte or bytes (default if omitted)
	X	hex word or words
	i	signed decimal byte or bytes (values are displayed followed 
		by ".")
	I	signed decimal word or words (values are displayed followed 
		by ".")
	u	unsigned decimal byte or bytes (values are displayed 
		followed by ".")
	U	unsigned decimal word or words (values are displayed 
		followed by ".")
	c	IBM/ASCII character or characters

Valid values for the window specifier are:
	d	data window (default if omitted)
	r	register window.

Examples:

	W 1000

will show the byte at address 1000 in hex in the data window.

	W 1000 10

will show 10h bytes beginning at address 1000 in hex in the data 
window.

	W 1000 %I

will show the word at address 1000 (i.e., the bytes at addresses 
1000 and 1001) as a signed decimal integer in the data window.  The 
byte order for words is processor dependent.  See section 14.

	W 1000 10 %Ur

will show 10h words beginning at address 1000 as unsigned decimal 
integers in the register window.

Like breakpoints, watches are assigned numbers.  The number is 
assigned and shown when the watch is inserted, and will persist 
until the watch is deleted, after which the number may be reused by 
a new watch.

	W -

will delete all watches.

	W -1000

will delete the (first) watch at address 1000.

	W -#2

will delete watch number two.

8.  PROCESSOR COMMANDS

8.1.  REG: Change register

Allows the user to change the value of a register shown in the 
register window.

	REG reg val

where "reg" is a register name, as shown in the register window, 
and "val" is a value expression.

If no register name or value is specified, then the registers are 
read from the target and the register window is refreshed.  In 
normal operation, this will not change any values in the register 
window.  It may be useful if the display and the actual processor 
registers become unsynchronized, as may occur if the processor is 
reset unexpectedly, or if the user aborts a GO command by pressing 
the Control-Break key.

In some cases, changing the value of one register may cause other 
registers to change as well.  For example, on the 8051, changing 
the register bank bits of the PSW will cause the displayed values 
or R0 through R7 to reflect the contents of the new register bank.

"R" is an abbreviation of "REG".

8.2.  GO: Begin execution

Allows the user to begin or continue execution of a target program.

	GO addr

will begin execution at "addr" (where "addr" is an address 
expression).

To continue execution at the address indicated by the current 
program counter as shown in the register window, enter

	GO

After the GO command is issued, NoICE will wait for the target to 
execute a breakpoint, non-handled interrupt, or reset, at which 
point the target's registers will be displayed.  If the target 
continues execution without encountering a breakpoint, the user can 
force NoICE to return to the command state by pressing Control-
Break on the host keyboard.  Since this does not stop target 
execution, only commands which do not affect the target should be 
issued after Control-Break is pressed.  Thus, one can QUIT, or VIEW 
a file, but cannot DUMP target memory unless the target has 
encountered a breakpoint, reset, or interrupt.  In this case, the 
displayed processor registers may not match the values in the 
actual registers unless an "R" command with no parameters is issued 
to refresh the register window.

Operation of the GO command changes if a trace file is open.  Refer 
to the TRACE command for details.

While the target is executing, if it transmits an ASCII character 
with a value between 0 and 127 decimal on its NoICE serial port, 
that character will be displayed in the NoICE data window as if on 
a dumb terminal.  The only control characters supported are 
carriage return (0D hex), line feed (0A hex), tab (09 hex), bell 
(07 hex), and backspace (08 hex).  All other characters will be 
displayed using the IBM character set.  NoICE can distinguish 
displayable characters from the breakpoint message because the 
first byte of all NoICE messages is above 128 decimal.

While the target is executing, if the user presses any key other 
than a function or cursor key,  the ASCII representation of the key 
will be sent to the target via the serial port.  As described 
above, the Control-Break key may be used to abort the GO command.

This use of the data window allows simple ASCII interaction with 
the running target.  Some of the target monitors provide utility 
subroutines to print values in ASCII hex.  Access to such routines 
may be by software interrupt or by direct call.  Consult the source 
code for your target monitor for details.

"G" is an abbreviation of "GO".  The F5 function key is equivalent 
to "GO <carriage return>".

8.3.  STEP into subroutine

	STEP

Allows the user to execute the next instruction of a target 
program.  If the instruction is a call to a subroutine, the 
subroutine will be entered.

The STEP command operates by placing breakpoints in target memory.  
Thus, the program to be stepped must reside in RAM.  If the target 
processor does not have a single byte breakpoint instruction, there 
may be cases, such as short forward or backward branches, where the 
insertion of the breakpoint(s) would overlap the instruction being 
stepped.  If this occurs, NoICE will issue an error message and 
will not perform the STEP.

In most cases, stepping is virtually instantaneous and NoICE will 
immediately re-enter command mode.  However, in some cases the 
target may not reach the breakpoint.  This may occur, for example, 
if an interrupt is pending when the STEP command is given, and the 
interrupt handler does not return immediately (or at all...).  In 
such a case, the STEP command will behave as if a GO command had 
been issued.  Refer to the GO command for details.

The F7 function key is equivalent to "STEP <carriage return>".

8.4.  NEXT: Step over subroutine

	NEXT

Allows the user to execute the next instruction or source line of a 
target program.  The operation of this command depends on the value 
set by the MODE command.  If the mode is 0 or 1, then NEXT will 
execute the next processor instruction.  If the instruction is a 
call to a subroutine, the subroutine will be executed in its 
entirety.

If the mode is 2, then NEXT will execute instructions and calls 
until the target's program counter contains an address for which 
there is source line information.  During this process, the 
register window will be updated, and the stepping can be 
interrupted by pressing any key.  

The NEXT command operates by placing breakpoints in target memory.  
Thus, the program to be stepped must reside in RAM.  Subroutine 
calls which are followed by data blocks should not be stepped over, 
as the breakpoint will be placed immediately after the call 
instruction, on top of the data block.  In such cases, the user 
should place a breakpoint in the appropriate location and use the 
GO command.

If the target processor does not have a single byte breakpoint 
instruction, there may be cases, such as short forward or backward 
branches, where the insertion of the breakpoint(s) would overlap 
the instruction being stepped.  If this occurs, NoICE will issue an 
error message and not perform the NEXT.

In most cases, stepping is virtually instantaneous and NoICE will 
immediately re-enter command mode.  However, in some cases the 
target may not reach the breakpoint.  This may occur, for example, 
if an interrupt is pending when the NEXT command is given, and the 
interrupt handler does not return immediately (or at all...).  The 
condition may also occur if a subroutine being stepped over does 
not return promptly.  In such cases, the NEXT command will behave 
as if a GO command had been issued.  Refer to the GO command for 
details.

The F8 function key is equivalent to "NEXT <carriage return>".

8.5.  TRACE:  trace instruction execution

	TRACE file

This command opens or closes a file into which register and watch 
data are written.  Trace data is written when the file is first 
opened, and when the processor is single-stepped.

If a trace file is open, the GO command will actually perform 
repeated single-step operations.  After each step, register and 
watch data will be written to the trace file and displayed on the 
screen, but the disassembly window will not be updated.  Stepping 
will stop when a breakpoint is reached, when a monitor entry point 
other than breakpoint (such as Reset or unhandled interrupt) is 
reached, or when Control-Break is pressed.

The TRACE command with no parameters will close the trace file.  
The trace file will be closed automatically if a watch is added or 
deleted, as this changes the configuration of the trace file.

The TRACE command may be found on the RUN menu.

Trace files may be viewed by using the VIEWTRACE command.

8.6.  VIEWTRACE: View trace file

	TRACE file

This command opens a trace file for viewing.  The trace viewer 
displays the register, watch, and disassembly data for each traced 
step as if after a manual single step.  The cursor keys allow the 
operator to move back and forth in the trace file.  (This allows 
the bizarre sensation of single-stepping backwards through code...)

The VIEWTRACE command may be found on the RUN menu.

8.7.  BREAK: Breakpoint insert, delete, and display

Allows the user to insert, delete, and display breakpoints in the 
target's memory.

To insert a breakpoint at "addr" (where "addr" is an address 
expression), enter

	BREAK addr

To delete a breakpoint at "addr", enter

	BREAK -addr

Note that "addr" is an address expression.  Thus

	BREAK -PC

will delete the breakpoint at the location pointed to by the 
Program Counter.  This is a convenient way to delete a breakpoint 
once it is reached.

Breakpoints operate by inserting a special instruction at the 
breakpoint location.  Execution of the instruction causes entry 
into the monitor.  Ideally, this instruction is a single byte 
software interrupt, such as the 68HC11's SWI or the Z80's RSTnn.  
If the target processor does not have a single byte breakpoint 
instruction, a multi-byte CALL or JSR instruction must be used.  In 
this case, there will be restrictions on where breakpoints may be 
placed, in order to prevent the overlap of multiple breakpoint 
instructions.  NoICE will issue error messages if an attempt is 
made to place a breakpoint illegally.

To delete all breakpoints, enter

	BREAK -

To display all currently set breakpoints, enter

	BREAK

When a breakpoint is inserted, it is assigned a number.  The number 
will persist until the breakpoint is deleted, after which the 
number may be reused by a new breakpoint.  The number is shown when 
the breakpoint is inserted, when breakpoints are listed, or when a 
breakpoint is reached during program execution.

To delete breakpoint "nn" by number, enter

	BREAK -#nn

If a breakpoint location is visible in the source window, a "*" 
character will be shown on the line containing the breakpoint.

When a breakpoint is inserted, the specified location is tested for 
its ability to store the breakpoint instruction, and the original 
contents are then replaced.  When a GO command is issued, all 
currently set breakpoints are inserted before the target is told to 
commence execution.

"B" is an abbreviation of "BREAK".  The F6 function key is 
equivalent to "BREAK <carriage return>", and will list all 
currently set breakpoints.

8.8.  IN: Read byte from port

	IN addr

Allows the user to perform input from the target port at the 
address specified by "addr".  If the target does not have specific 
input instructions or an I/O address space, then this command 
simply reads target memory at the specified address.  Sixteen 
address bits are sent to the target, but any page bits in the 
specified address are ignored.  Some target processors may ignore 
all but the low eight bits of the address.

If an address is specified on the command line, that address will 
be read.  If no address is specified, then the previously specified 
address will be read.

"I" is an abbreviation of "IN".

8.9.  OUT: Write byte to port

	OUT addr val

Allows the user to output "val" to the target port specified by 
"addr".  If the target does not have specific input instructions or 
an I/O address space, then this command simply writes to target 
memory at the specified address.  Sixteen address bits are sent to 
the target, but any page bits in the specified address are ignored.  
Some target processors may ignore all but the low eight bits of the 
address.

In contrast with the EDIT command, no verification of the write is 
performed after OUT, as this may cause undesired side effects with 
some I/O devices.  Thus, this command may be useful when dealing 
with I/O devices even for processors without separate I/O spaces.

"O" is an abbreviation of "OUT".

9.  SYMBOLS AND SOURCE DEBUG

9.1.  DEFINE symbol

	DEFINE name value

Defines a symbol called "name" with value "value".  "Name" may 
contain letters, digits, and the special characters underbar (_), 
period (.), dollar sign ($), or question mark (?).  The first 
character of a name cannot be a digit.

"Value" is an expression, which may contain a page number, if 
supported by the target processor.

Symbols may be used by the operator to specify commonly used 
addresses or values, and are displayed by the disassembler when an 
address, jump destination, or instruction argument has a value 
exactly equal to the value of the symbol.

A symbol may be given a new value by a subsequent DEFINE or DEFBASE 
command.

The symbol "name" may be deleted by entering

	DEFINE -name

"DEF" is an abbreviation of "DEFINE".

The command alias "SET" is provided for the convenience of users of 
certain Motorola freeware assemblers, which can output symbols to a 
file in the form "SET name hex_value".  The symbols in such a file 
can be defined by "executing" the file using the command

	PLAY file.ext

See section 13 for information on automated symbol definition using 
other assemblers.

9.2.  DEFBASE: Define base symbol

	DEFBASE name value

Defines a base symbol called "name" with value "value".  "Name" and 
"value" follow the rules defined in the previous section.  Base 
symbols differ from standard symbols in that they are used by the 
disassembler to show addresses in the form

	BASE+1234

where "BASE" denotes the name of the nearest base symbol whose 
value is less than or equal to the address in question, and "1234" 
is a non-negative hex integer which denotes the offset from the 
value of BASE.

A common usage of base symbols is to define one for each module of 
a program being debugged.  The value of each base symbol is set 
equal to the address of the first byte of the code segment in the 
associated module.  Thus, the disassembly listing will show offsets 
which match the offsets in the assembly listing file for the 
module.

A symbol may be given a new value by a subsequent DEFINE or DEFBASE 
command.

The symbol "name" may be deleted by entering

	DEFBASE -name

"DEFB" is an abbreviation of "DEFBASE".

See section 13 for information on automated symbol definition.

9.3.  CLEARSYMBOLS: Delete all symbols

	CLEARSYMBOLS

Deletes all symbols defined in this debug session.  Exiting and re-
entering NoICE will do the same, but the command is provided for 
completeness.

Note that individual symbols may be deleted by name by using the 
DEFINE or DEFBASE commands.

9.4.  AUTOGENERATE: Automatically generate symbols

This command controls the automatic generation of symbols during 
disassembly.  The command

	AUTOGENERATE  1

will enable automatic symbol generation.  The command

	AUTOGENERATE  0

will disable automatic symbol generation.

When AUTOGENERATE is enabled, the disassembler will examine the 
destination addresses of branch, jump, and call instructions.  If 
no symbol exists whose value is equal to the destination address, 
such a symbol is defined.  The symbol is given a name constructed 
of an “L” followed by the four character hex value of the 
destination address.  If the destination address is in a paged 
region, the symbol name will begin with “Pxx”, where “xx” denotes 
the memory page of the address.  Only explicit destinaion addresses 
are examined:  destination addresses sepecified by indirect or 
register addressing are not processed.

To use AUTOGENERATE to assist in disassembling code, disassemble 
the code region once to generate the symbols, then again to view 
the result including all symbols.  To save the disassembled output 
for later rework into source code, use the CAPTURE command.

The AUTOGENERATE command may be found on the SYMBOL menu.

9.5.  SYMBOL: Show symbol with value "expr"

	SYMBOL expr

This command displays the symbol whose value represents the 
expression.  If the value exactly matches a symbol, the name of the 
symbol will be shown.  If there is no exact match, but a base 
symbol whose value is lower than the expression exists, the name of 
the base symbol and the offset from it to the value of the 
expression will be shown.  If no appropriate symbol or base symbol 
is found, the message "no symbol found" will be shown.

If no expression is specified, the names and values of all defined 
symbols and base symbols will be shown in a dialog box.

"SYM" is an abbreviation of "SYMBOL".

9.6.  CASE: Control Symbol Case Sensitivity

Symbols in NOICE are case sensitive by default.  The command

	CASE 0

will disable case sensitivity.  The command

	CASE 1

will enable case sensitivity.  Symbols defined while case 
sensitivity is turned off will be stored in all upper case.

9.7.  FILE: Declare source file

	FILE filename {base}

Declares "filename" to be the current file for line number 
definitions using the LINE command.

"Base" is an optional address expression.  If "base" is specified, 
subsequent LINE commands will add the base value to the offset 
contained in the LINE command.

Multiple FILE commands may be issued for the same file.  Typically, 
such commands will contain different base values.

The FILE command with no parameters will list the currently defined 
source files.

In most cases, FILE commands will not be issued manually, but will 
be included within command files.  See section 13 for information 
on automated file and line number definition.

9.8.  LINE: Define line number

	LINE linenumber offset

Associates the specified line of the current source file (as 
specified by the most recent FILE command) with the specified 
address offset.  If the most recent FILE command specified a base, 
then the line number is associated with the sum of the base address 
plus the offset given in the LINE command.

In most cases, LINE commands will not be issued manually, but will 
be included within command files.  See section 13 for information 
on automated file and line number definition.

	LINE linenumber

If the viewer is open and the LINE command is issued with a line 
number but no address, the viewer will display a page beginning 
with the specified line of the current view file.

The LINE command with no parameters will show the number of source 
lines currently defined, along with the amount of line storage 
space available.

9.9.  NOFILES: Delete line numbers

This command deletes all previously defined file and line number 
information.

See section 13 for information on automated file and line number 
definition.

9.10.  MODE: Set source mode

This command controls the format of the source window.

	MODE 0

sets the mode to "disassembly".  The display will show disassembled 
processor instructions.

	MODE 1

sets the mode to "mixed source and disassembly".  The display will 
show source file lines which produce code, interleaved with the 
disassembled processor instructions which correspond to the source 
lines.

	MODE 2

sets the mode to "source".  The display will show source code, if 
it is available.  Otherwise, disassembled processor instructions 
will be shown.

When NoICE starts, the mode is set to zero.  When a LINE command is 
executed, the mode is set to two.

9.11.  SOURCE: Display source at address

This command allows the user to display a program in target memory 
as source code, as disassembled processor instructions, or as a 
mixture of the two.  The format of the display is determined by the 
MODE command and by the availability of source code and line number 
information.

To begin display at "addr" (where "addr" is an address expression), 
enter

	SOURCE addr

To continue display at the instruction after the last one shown in 
the source window, enter

	SOURCE

Note that if the display mode is 1 or 2, then the cursor keys may 
also be used to move around in the current source file.

"S" is an abbreviation of "SOURCE".

10.  COMMAND FILES

10.1.  PLAY commands from file

	 PLAY file.ext
or
	@file.ext

This command may be used to execute a list of commands contained in 
a text file "file.ext".  The "@" form of the command is for people 
with fond memories of RSX-11.

Only commands invoked by printable ASCII characters at the NoICE 
main prompt will be executed completely.  Thus, for example, the 
command

	EDIT 1000 55 66 77

will store the value 55 at address 1000, the value 66 at address 
1001, and 77 at the address 1002.  On the other hand, the command

	EDIT 1000

will display the contents of address 1000, and then wait for input 
from the user - not the next line of the command file.  Only when 
the user presses the ENTER key to terminate the EDIT command will 
additional commands be fetched from the command file.

Command files may be nested up to three deep.  If the command

	PLAY file2

appears in command file1, the effect is to call the commands in 
file2.  When the last command in file2 is executed, control will 
return to file1.

If an error occurs in the execution of a command from a command 
file, all open command files will be closed and execution of 
commands will cease.

10.2.  RECORD commands to file

	RECORD file.ext

Begins recording commands entered at the command prompt or via the 
menu system in the specified file.  If the file already exists, it 
is deleted and a new file of the same name is created.  Recording 
continues until the STOP command is entered.  Keystrokes entered 
in the file viewer, or when editing commands, are not recorded.

The "options" are zero to three characters which direct NoICE to 
save current information into the newly opened file.  Valid 
characters and their effects are
	B	saves all breakpoint definitions
	W	saves all watch definitions
	S	saves all symbol definitions

The use of these options allows a debugging session to be saved 
and resumed later.

Recorded files will most often be played back as command files, 
using the PLAY command.

10.3.  STOP recording commands to file

	STOP

This command closes the current recording file, if one is open.  If 
no recording file is open, this command has no effect.

10.4.  ECHO text string to Data Window

	ECHO {string}

Shows the remainder of the command line in the data window.  This 
is primarily useful within command files in order to annotate 
actions.  If no string is specified, a blank line will be 
displayed.

10.5.  REM:  Comment

	REM {string}

Ignores the "string" and performs no other operations.  This 
command is used to insert comments in command files or in 
NOICE.CFG.

10.6.  DELAY: Set post-command delay

	DELAY time

Specifies a time delay for use after each command from a command 
file.  This slows down command execution so that an operator can 
view the results.  The time delay is specified as a decimal number 
of DOS ticks (18.2 ticks per second).  Specifying a time delay of 
zero disables the delay.  Pressing any key during a delay interval 
aborts the delay.  This is useful if you accidentally set the delay 
to something huge.

11.  MISCELLANEOUS COMMANDS

11.1.  HELP: Show help display

	HELP

Opens a file containing help information and displays it in the 
data window.  The file contains a description of available commands 
and their syntax, derived from this document.  The file is 
NOICE.HLP, and is assumed to reside in the same directory as the 
NoICE executable.

"H" is an abbreviation of "HELP".  The F1 function key is 
equivalent to "HELP <carriage return>".

11.2.  QUIT: Exit to DOS

	QUIT

Exits NoICE and returns to DOS.

"Q" is an abbreviation of "QUIT".

11.3.  VALUE: Show value of expression

	VALUE expr

This command displays the value of the expression "expr" in hex and 
in decimal.  One use of this command is to perform hex to decimal 
conversion, or hex arithmetic.

Since any NoICE expression can contain symbol or register names, 
this command may also be used to show the value of a symbol.

"VAL" is an abbreviation of "VALUE".

11.4.  VIEW file

	VIEW file.ext

This command is used to view a file in the data or source window.  
Once the VIEW command has been executed, the viewer will remain 
active until either a VIEW command is given for a different file, 
or a NOVIEW command is executed.

If the viewer is inactive and no file name is specified, then the 
user will be prompted to enter a file name.  

If the viewer is active and no file name is specified, then the 
current view will be refreshed.  This is useful when the view data 
has been written over by the output from other commands.

In addition to the VIEW command, NoICE will automatically open 
files for viewing if source line number information is available.  
This will occur when the SOURCE command is executed, or when the 
source window is refreshed after a STEP, NEXT, or GO command.

If there is source line number information for a file opened for 
viewing, the file will be displayed in the source window, and the 
address of each code-producing line will be shown in the left 
margin.  if there is no source line number information for a file, 
then the file will be displayed in the data window.

While the viewer is active, the cursor control keys are used to 
control the viewer, rather than for command editing.  Command 
editing functions may be regained while the viewer is open either 
by pressing Control-Up, or by typing any character into the command 
buffer.

When the viewer is open:
*	the up and down cursor keys move the display backward and 
	forward in the file by one line.
*	the page up and page down keys move the display backward and 
	forward in the file by one window of lines.
*	the left and right cursor keys scroll the display left and right 
	by one character.  This is useful to view listing files, or 
	other files wider than the width of the display window.  Lines 
	longer than 300 bytes will be truncated at 300 bytes.
*	the TAB and Shift TAB keys scroll the display right and left by 
	eight characters.
*	the Home key moves the display to the beginning of the line.
*	the End key moves the display such that the end of the first 
	display line is visible.
*	Control Home or Control Page Up moves the display to the 
	beginning of the file.
*	Control End or Control Page Down moves the display to the end of 
	the file.

A Scroll Bar will appear on the right edge of the viewer window.   The 
scroll bar consists of an up arrow at the top, a down arrow at the 
bottom, and a Scroller in between, which shows the position of the 
currently visible lines within the file.  Clicking on the up and down 
arrows with the mouse will scroll the viewer through the file.  
Clicking on the scroller will move the viewer to the indicated 
position in the file.

"V" is an abbreviation of "VIEW".  The F4 function key is 
equivalent to "VIEW <carriage return>".  This will refresh the view 
at the current position within the file.

11.5.  NOVIEW

This command is used to close the file viewer, if it is open.

11.6.  FIND string in viewer

	FIND string

This command searches the current view file from the current 
position for a match to the entered string.  If the string is 
found, it is displayed on the top line of the window, along with 
the succeeding page of the file.  The search is case insensitive.

The default search direction is forward in the file.  If the string 
is prefixed with a minus ("-"), the search will be backward.  If 
the string is prefixed with a plus ("+"), the search will be 
forward.

	FIND

Repeats the previous search, in the previously defined direction, 
beginning at the current position in the file.

The commands "FIND +" or "FIND -" can be used to search for the 
previously defined string in a particular direction.

11.7.  LINE: View file at line number

	LINE linenumber

If the viewer is open, this command causes the viewer to display 
beginning with the specified line of the current view file.  Refer 
to section 9.8 for other uses of the LINE command.

11.8.  ASCII: Display view data in ASCII

This command causes the viewer to display the file in ASCII 
characters.  

11.9.  HEX: Display view data in hex

This command causes the viewer to display the file as hex bytes.  

When in hex mode, a "line" is considered to be 16 bytes of file 
data.  When in hex mode, the search function searches the file data 
as displayed in the viewer.  "Search" and "End" operations in hex 
mode may be rather slow.  Source level debugging while in hex mode 
is silly, and is not guaranteed.

11.10.  CAPTURE to file

	CAPTURE file.ext

Begins recording output from the DUMP and DISASSEMBLE commands, and 
characters received from the target which are not part of responses 
to NoICE messages, to the specified text file.  If the file already 
exists, it is deleted and a new file of the same name is created.  
Capture continues until the CAPTURE command is entered without a 
file name.

Only disassembly explicitly invoked via the “DISASSEMBLE” command 
is saved to the capture file.  Automatic disassembly which may 
occur during single-step and other operations is not saved.

CAPTURE has two major uses:
1)	It permits NoICE to be used as a disassember to reconstruct 
	source code from a binary image.  The AUTOGENERATE command is 
	useful to generate labels during disassembly.  CAPTURE then 
	allows the disassembly to be saved to a file.
2)	It permits capture of text output by the target which running.  
	This can be useful if your target has an operator interface 
	which shares the NoICE UART, or uses the UART to output other 
	information.

The CAPTURE command may be found on the FILE menu.

11.11.  VERSION: Display host and target versions

	VERSION

Displays the software version number and other information for the 
PC host and for the remote target.

If the processor type of the remote target does not match that 
expected by NoICE, an error will be displayed.  If there is a 
mismatch, the register and execution commands will be locked out.  
Memory manipulation commands, such as EDIT, DUMP, LOAD, and all 
other NoICE commands will function properly regardless of target 
type.

11.12.  DOS: Shell to DOS

	DOS

A full-screen window is opened, and a new copy of COMMAND.COM is 
loaded, providing the user with a DOS command prompt.  

The user may issue DOS commands at will, and may return to NoICE by 
typing the "EXIT" command.  When this is done, the NoICE screen is 
restored.

NoICE is not swapped out of memory.  Thus, the amount of memory 
available to DOS may be limited.  (This is a $25 debugger, not a 
programming environment!)

11.13.  SHOW: Hex Display of Communications

	SHOW value

If "value" is "1", then message communications between NoICE and 
the target monitor will be displayed in hex in a pop-up window.  At 
the end of each message, the user will be prompted to press any key 
to continue.  When a key is pressed, the pop-up window will be 
removed and NoICE will continue.

This is primarily useful when debugging a new target monitor, as it 
allows examination of the hex data exchanged between the host and 
the target.

If "value" is "0", then communications between NoICE and the target 
monitor will not be displayed.

Regardless of whether or not hex data is being shown, non-message 
serial data from the target while the target is running will be 
displayed as ASCII in the data window.

This command has the same effect as specifying the "SHOW=1" option 
on the command line when NoICE is invoked.

11.14.  MainColor, MainSelect, MainHighlight

	MAINCOLOR {value}

These commands set the colors used by NoICE.

The color set by MainColor is used for normal text in the register, 
source, and data windows.

The color set by MainSelect is used to indicate search targets, and 
the current program counter location.

Each two digit hex "value" is of the form

        (blink bit, 3 bit background, bright bit, 3 bit foreground)

Color choices are the standard IBM set
	0	black
	1	blue
	2	green
	3	cyan
	4	red
	5	magenta
	6	brown
	7	white

If the NOICE.CFG file is present and contains color commands, these 
will set the colors.  If NOICE.CFG is not present, or if it does 
not contain any color commands, the default colors are equivalent 
to:
	MAINCOLOR 1E		(yellow on blue)
	MAINHIGHLIGHT 1F	(white on blue)
	MAINSELECT 30		(black on cyan)
	MENUCOLOR 30		(black on cyan)
	MENUHIGHLIGHT 3F	(white on cyan)
	MENUSELECT 03		(cyan on black)
	
On a monochrome display, colors might be set as
	MAINCOLOR 07		(white on black)
	MAINHIGHLIGHT 0F	(bright white on black)
	MAINSELECT 70		(black on white)
	MENUCOLOR 70		(black on white)
	MENUHIGHLIGHT 07	(white on black)
	MENUSELECT 07		(white on black)

11.15.  MenuColor, MenuSelect, MenuHighlight

These commands  set the colors used for the menu bars, the menus, 
and the dialog boxes.  Refer to section 11.14 for color values.

The color set by MenuColor is used for normal text in the command 
line, menus, and dialog boxes.

The color set by MenuHighlight is used to indicate the "hot key" 
for menu and dialog boxes items.

The color set by MenuSelect is used to indicate the currently 
active item in menus and dialog boxes.

11.16.  LoadSpec, PlaySpec, ViewSpec, TraceSpec, CaptureSpec

These commands set the file specifications used by the file list 
boxes for the LOAD and SAVE; PLAY and RECORD; VIEW; TRACE and 
VIEWTRACE; and CAPTURE commands, respectively.  In many cases, 
these commands will be part of NOICE.CFG.

For example, if your assembler or linker produces Intel hex files 
with a .HEX suffix, the command

	LOADSPEC  *.HEX

will cause only files with the .HEX extension to be displayed in 
the LOAD and SAVE dialog boxes.  If your hex files reside in a 
directory other than the current directory, a command such as

	LOADSPEC \OBJ\*.HEX

will cause only files in the directory \OBJ which have the .HEX 
extension to be displayed in the LOAD and SAVE dialog boxes.

In the file dialog boxes, the current file specification is shown 
just below the file list box.  The file specification may be 
changed while the dialog box is open by typing a file name 
containing a wild card (* or ?) in the file name text box, and 
pressing ENTER or clicking on the OK button with the mouse.
