@database "debug_lib"
@master "Work:RKM/Includes&Autodocs/doc/debug_lib.doc"

@Node Main "debug_lib.doc"
@toc "2.0Includes_Autodocs/Autodocs"

@{" KCmpStr() " Link "KCmpStr()"}     @{" KGetNum() " Link "KGetNum()"}        @{" KPrintF() " Link "KPrintF()"}     @{" KPutStr() " Link "KPutStr()"}
@{" KGetChar() " Link "KGetChar()"}    @{" KMayGetChar() " Link "KMayGetChar()"}    @{" KPutChar() " Link "KPutChar()"}

@EndNode

@Node "KCmpStr()" "debug.lib/KCmpStr"

NAME
    KCmpStr - compare two null terminated strings

SYNOPSIS
    mismatch = KCmpStr(string1, string2)
    D0         A0        A1

FUNCTION
    string1 is compared to string2 using the ASCII coalating
    sequence.  0 indicates the strings are identical.

@EndNode

@Node "KGetChar()" "debug.lib/KGetChar"

NAME
    KGetChar - get a character from the console
               (defaults to the serial port at 9600 baud)

SYNOPSIS
    char = KGetChar()
    D0

FUNCTION
    busy wait until a character arrives from the console.
    KGetChar is the assembly interface, _KGetChar and _kgetc
    are the C interfaces.

@EndNode

@Node "KGetNum()" "debug.lib/KGetNum"

NAME
    KGetNum - get a number from the console

SYNOPSIS
    number = KGetNum()
    D0

FUNCTION
    get a signed decimal integer from the console.  This will busy
    wait until the number arrives.

@EndNode

@Node "KMayGetChar()" "debug.lib/KMayGetChar"

NAME
    KMayGetChar - return a character if present, but don't wait
                  (defaults to the serial port at 9600 baud)

SYNOPSIS
    flagChar = KMayGetChar()
    D0

FUNCTION
    return either a -1, saying that there is no character present, or
    whatever character was waiting.  KMayGetChar is the assembly
    interface,  _KMayGetChar is the C interface.

@EndNode

@Node "KPrintF()" "debug.lib/KPrintF"

NAME
    KPrintF - print formatted data to the console
              (defaults to the serial port at 9600 baud)

SYNOPSIS
    KPrintF("format string",values)
             A0             A1

FUNCTION
    print a formatted C-type string to the console.  See the
    exec @{"RawDoFmt()" Link "exec/RawDoFmt()"} call for the supported % formatting commands.

INPUTS
    "format string" - A C style string with % commands to indicate
                      where paramters are to be inserted.
    values - A pointer to an array of paramters, to be inserted into
             specified places in the string.

    KPutFmt and KPrintF are identical assembly interfaces that want the
    two pointers in registers.  _KPrintF and _kprintf are C interfaces
    that expect the format string pointer on the stack, and the
    paramters on the stack above that.

SEE ALSO
    @{"exec.library/RawDoFmt" Link "exec/RawDoFmt()"}, any C compiler's "printf" call.

@EndNode

@Node "KPutChar()" "debug.lib/KPutChar"

NAME
    KPutChar - put a character to the console
               (defaults to the serial port at 9600 baud)

SYNOPSIS
    char = KPutChar(char)
    D0              D0

FUNCTION
    Put a character to the console.  This function will not return
    until the character has been completely transmitted.

INPUTS
    KPutChar is the assembly interface, the character must be in D0.
    _KPutChar and _kputc are the C interfaces, the character must be
    a longword on the stack.

@EndNode

@Node "KPutStr()" "debug.lib/KPutStr"

NAME
    KPutStr - put a string to the console
               (defaults to the serial port at 9600 baud)

SYNOPSIS
    KPutStr(string)
            A0

FUNCTION
    put a null terminated string to the console.  This function will
    not return until the string has been completely transmitted.

INPUTS
    KPutStr is the assembly interface, a string pointer must be in A0.
    _KPutStr and _kputs are the C interfaces, the string pointer must
    be on the stack.

@EndNode

