diff --git a/samples/ascii.c b/samples/ascii.c
index 704833b09..190025e9d 100644
--- a/samples/ascii.c
+++ b/samples/ascii.c
@@ -2,14 +2,17 @@
 **
 ** Shows the ASCII (or ATASCII, PETSCII) codes of typed characters.
 **
-** 2002-12-25, Greg King <gngking@erols.com>
+** 2003-03-09, Greg King <gngking@erols.com>
 */
 
-/* Define CONIO when you want to use the conio functions.
-** Undefine it when you want to use the stdio functions.
-** NOTE: Undefining CONIO will currently not work on the CBMs!!!
+/* Define USE_STDIO, when you want to use the stdio functions.
+** Do not define it, when you want to use the conio functions.
+** NOTE:  stdin on some targets is line-bufferred.  You might need to type
+**        a key, then tap the return(enter)-key, in order to see each code.
+*/
+/*
+#define USE_STDIO
 */
-#define CONIO
 
 #include <conio.h>
 #include <stdio.h>
@@ -18,10 +21,13 @@
 
 #define QUIT	'Q'
 
+/* r -- row.  t -- table-column.
+*/
 static unsigned char height, width, r, t;
 static int c;
 
-#ifdef CONIO
+#ifndef USE_STDIO
+
 # define PRINT	cprintf
 # define PUT(c)	cputc((char)(c))
 
@@ -32,19 +38,22 @@ static int GET(void) {
 	PUT(c = (int)cgetc());
 	return c;
 	}
+
 #else
+
 # define PRINT	printf
 # define GET	getchar
+
 #endif
 
 int main(void) {
 
-#	ifdef CONIO
+#	ifndef USE_STDIO
 	/* conio doesn't scroll!  Avoid trouble by starting at the top
 	** of the screen, and never going "below" the bottom of the screen.
 	*/
 	clrscr();
-	r = 7;		/* allow for prompt */
+	r = 7;				/* allow for prompt */
 #	endif
 
 	/* This prompt fits on the VIC-20's narrow screen.
@@ -52,21 +61,24 @@ int main(void) {
 	PRINT("Type characters to see\r\ntheir hexadecimal code\r\nnumbers:\r\n\n");
 	screensize(&width, &height);	/* get the screen's dimensions */
 	width /= 6;			/* get number of codes on a line */
-       	cursor(true);
+	cursor(true);
 	t = 0;
 	while ((c = GET()) != EOF) {
 
-#		ifdef CONIO
+#		ifndef USE_STDIO
 		if (r == height) {
 			clrscr();
+			t = 0;
 			PUT(c);	/* echo char. again because screen was erased */
 			r = 1;
 			}
+		if (c == '\n')
+			++r;
 #		endif
 
 		PRINT("=$%02x ", c);
 		if (c == QUIT)
-		    break;
+			break;
 		if (++t == width) {
 			PRINT("\r\n");
 			++r;