2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
5 Desc: Emit one character via raw IO
9 #include <aros/config.h>
11 #ifdef DO_SERIAL_DEBUG
12 # include <asm/registers.h>
15 /*****i***********************************************************************
18 #include <proto/exec.h>
20 AROS_LH1(void, RawPutChar
,
23 AROS_LHA(UBYTE
, chr
, D0
),
26 struct ExecBase
*, SysBase
, 86, Exec
)
29 Emits a single character.
32 chr - The character to emit
38 This function is for very low level debugging only.
45 RawIOInit(), RawPutChar(), RawMayGetChar()
51 *****************************************************************************/
55 #ifdef DO_SERIAL_DEBUG
57 * This does not work with xcopilot...
61 * Wait until FIFO is half empty
63 while (0 == (RREG_W(UTX1
) & FIFO_HALF_F
)) {
65 WREG_W(UTX1
) = (UWORD
)chr
;
68 #ifdef AROS_PALM_DEBUG_HACK
69 /* This requires a patched XCopilot which turns writes to
70 address 0xdddddebc into output going to Linux shell
71 through a fprintf(stderr, chr). */
73 /* Don't write 0 bytes */
75 *(UBYTE
*)0xdddddebc = chr
;