From de0e42142beb43d0be8fb6fe4295b4f20578ce84 Mon Sep 17 00:00:00 2001 From: Andre Richter Date: Mon, 2 Apr 2018 17:44:05 +0200 Subject: [PATCH] stay closer to original --- 03_uart1/src/main.rs | 1 + 05_uart0/kernel8.img | Bin 2040 -> 2080 bytes 05_uart0/src/main.rs | 3 +++ 05_uart0/src/uart.rs | 3 +++ 4 files changed, 7 insertions(+) diff --git a/03_uart1/src/main.rs b/03_uart1/src/main.rs index 660261e8..012e54a2 100644 --- a/03_uart1/src/main.rs +++ b/03_uart1/src/main.rs @@ -42,6 +42,7 @@ fn main() { uart.getc(); // Press a key first before being greeted uart.puts("Hello Rustacean!\n"); + // echo everything back loop { uart.send(uart.getc()); } diff --git a/05_uart0/kernel8.img b/05_uart0/kernel8.img index fe9766c13a12d7d9e92ae56fd45ca214e35b15ee..0f7e74d77e20650888d4442178dcab39d8ffe57a 100755 GIT binary patch delta 247 zcmeytzd&Gu4CCpIvd+vxa~K$=a56AV-~wWWmj`Vf-%c)KE@N8AHTe~DI_JlOwjc?| zr<0>t+7%t-Cn_;D1U*P*nt1Ww|LHH78I9_hII z#J~^&au%5H%CG|@cKHAQkbnI0KOQj4uX+f?ZzdPAmuZIPB_`#hDwO0a6qcqIRVoyx T7G);pC~`3Qvd+vxGZ+}Aa56AV-~wWWrw45vUrsJ!E@M*UoBWD7o%8KMTabj~ z!^u%B?TQTY6P1`6f*vF@O}zN;|MVBkj7IfL9NCIY3?Ym_Rf;Z?nOL=XX2?$jsd&W9 zV6<;?ENijI=W6ejUxU3?{%2;M7{|aM!Tq86-As}~v o`K}B*Kw^jg{}1`cFaP5Kv;3-uK>T5HBYT-30|N&K$Ot$M0K!~Ez5oCK diff --git a/05_uart0/src/main.rs b/05_uart0/src/main.rs index 2d4da612..2d90506f 100644 --- a/05_uart0/src/main.rs +++ b/05_uart0/src/main.rs @@ -72,8 +72,11 @@ fn main() { uart.hex(mbox.buffer[6]); uart.hex(mbox.buffer[5]); uart.puts("\n"); + } else { + uart.puts("Unable to query serial!\n"); } + // echo everything back loop { uart.send(uart.getc()); } diff --git a/05_uart0/src/uart.rs b/05_uart0/src/uart.rs index bb526696..c410c1cc 100644 --- a/05_uart0/src/uart.rs +++ b/05_uart0/src/uart.rs @@ -173,8 +173,11 @@ impl Uart { let mut n; for i in 0..8 { + // get highest tetrad n = d.wrapping_shr(28 - i * 4) & 0xF; + // 0-9 => '0'-'9', 10-15 => 'A'-'F' + // Add proper offset for ASCII table if n > 9 { n += 0x37; } else {