X-Git-Url: https://git.ucc.asn.au/?p=uccvend-snackrom.git;a=blobdiff_plain;f=ROM2%2Fsci.c;h=739d706069a49c0ca5a061f06c9a3f4040947164;hp=2346b28569b60332f84f04c28feb2feda1a9cb04;hb=8209e6e9a79982684e617d386505952a338b15f2;hpb=c1fd53d73bce8779c822e3ed74de94f40714f9ca diff --git a/ROM2/sci.c b/ROM2/sci.c index 2346b28..739d706 100644 --- a/ROM2/sci.c +++ b/ROM2/sci.c @@ -40,7 +40,9 @@ void sci_rx_int() { return; } sci_rx_buf[sci_rx_buf_ptr] = _io_ports[M6811_SCDR]; - if (sci_rx_buf[sci_rx_buf_ptr] == '\n') { + if (sci_rx_buf[sci_rx_buf_ptr] == '\n' || + sci_rx_buf[sci_rx_buf_ptr] == '\r') { + if (sci_rx_buf_ptr == 0) return; /* we've read a blank packet in */ sci_rx_buf[sci_rx_buf_ptr] = '\0'; sci_have_packet = 1; sci_rx_buf_ptr = 0; @@ -68,15 +70,11 @@ void msg_clr() { } void send_ack() { - sci_tx_buf[0] = '!'; - sci_tx_buf[1] = '\n'; - sci_tx_buf[2] = '\0'; + my_strncpy(sci_tx_buf, "!\n", BUFFER_LEN); send_packet(); } void send_nack() { - sci_tx_buf[0] = '?'; - sci_tx_buf[1] = '\n'; - sci_tx_buf[2] = '\0'; + my_strncpy(sci_tx_buf, "?\n", BUFFER_LEN); send_packet(); }