X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM2%2Fdisplay_basic.c;h=1d697934454db54fa5ff7acd566fa43ae946f8f9;hb=refs%2Fheads%2Fmaster;hp=4db73ba2e32183c7c2d65314ad245175dad5deef;hpb=82d9bd37915eb07b55f22a2cea157d0f8ab2d025;p=uccvend-snackrom.git diff --git a/ROM2/display_basic.c b/ROM2/display_basic.c index 4db73ba..1d69793 100644 --- a/ROM2/display_basic.c +++ b/ROM2/display_basic.c @@ -15,14 +15,41 @@ void display_reset(); void set_msg(char newmsg[11]) { int i; + int prevchar = 0; + //display_reset(); spi_enable(); for (i=0; i < 10; i++) { if (newmsg[i] == 0) break; } + display_send_byte(0xaf); // reset ptr to start for (i--; i >= 0; i--) { + if (prevchar && newmsg[i] == 0x2E) { + display_send_byte(newmsg[i]&0x7f); + continue; + } + + // check if next character is a period + if (newmsg[i] == 0x2E) { + prevchar = newmsg[i]; + continue; + } + + if (prevchar) { + display_send_byte(newmsg[i]&0x7f); + display_send_byte(prevchar&0x7f); + prevchar = 0; + continue; + } + + if (newmsg[i] == 0) break; + display_send_byte(newmsg[i]&0x7f); } + + if (prevchar) { + display_send_byte(prevchar&0x7f); + } spi_disable(); } @@ -36,7 +63,7 @@ void display_send_byte(char c) { bclr_misc_output(A3800_DISPLAY_WRITE); /* disable the display clock */ } -#define DISPLAY_DELAY 50 /* ms to delay between ops - could be tweaked */ +#define DISPLAY_DELAY 20 /* ms to delay between ops - could be tweaked */ void display_reset() { /* lower the reset line for a while */ bclr((void*)&_io_ports[M6811_PORTA], PORTA_DISP_RESET);