amiga_boottest

diff src/serial.h @ 4:995d42b33974

serial output
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 23 Feb 2018 13:29:37 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/serial.h	Fri Feb 23 13:29:37 2018 +0200
     1.3 @@ -0,0 +1,21 @@
     1.4 +#ifndef SERIAL_H_
     1.5 +#define SERIAL_H_
     1.6 +
     1.7 +#include "hwregs.h"
     1.8 +
     1.9 +/* dff030 is REG_SERDAT
    1.10 + * dff018 is REG_SERDATR
    1.11 + * bit 13 of SERDATR is TBE (transmit buffer empty)
    1.12 + */
    1.13 +#define ser_putchar(c) \
    1.14 +	asm volatile( \
    1.15 +		"or.w #0x100, %0\n\t" \
    1.16 +		"0: btst #13, 0xdff018\n\t" \
    1.17 +		"beq 0b\n\t" \
    1.18 +		"move.w %0, 0xdff030\n\t" \
    1.19 +		:: "d"((int16_t)c))
    1.20 +
    1.21 +void ser_init(int baud);
    1.22 +void ser_print(const char *s);
    1.23 +
    1.24 +#endif	/* SERIAL_H_ */