mirror of
https://github.com/cc65/cc65.git
synced 2025-01-03 01:31:55 +00:00
Patch from Greg
git-svn-id: svn://svn.cc65.org/cc65/trunk@2191 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
f47f86c7b4
commit
158d5a080f
@ -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,14 +38,17 @@ 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.
|
||||
*/
|
||||
@ -56,12 +65,15 @@ int main(void) {
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user