summaryrefslogtreecommitdiff
path: root/com32/modules
diff options
context:
space:
mode:
authorhpa <hpa>2004-11-30 22:09:56 +0000
committerhpa <hpa>2004-11-30 22:09:56 +0000
commit7a8f0a4ab860f2ad0aa8255120d5d55942327d08 (patch)
tree50c64a5add7501f8a8738789a6f14a5c9a5f5737 /com32/modules
parent65c7485dfdcbebe57194d8432439125a8c7ed797 (diff)
downloadsyslinux-2.12-pre2.tar.gz
Actually working ANSI device; add demosyslinux-2.12-pre2
Diffstat (limited to 'com32/modules')
-rw-r--r--com32/modules/Makefile2
-rw-r--r--com32/modules/fancyhello.c44
-rw-r--r--com32/modules/hello.c2
3 files changed, 46 insertions, 2 deletions
diff --git a/com32/modules/Makefile b/com32/modules/Makefile
index af72f6bd..cfd44b43 100644
--- a/com32/modules/Makefile
+++ b/com32/modules/Makefile
@@ -35,7 +35,7 @@ LIBGCC := $(shell $(CC) --print-libgcc)
.SUFFIXES: .lss .c .o .elf .c32
-all: hello.c32
+all: hello.c32 fancyhello.c32
.PRECIOUS: %.o
%.o: %.S
diff --git a/com32/modules/fancyhello.c b/com32/modules/fancyhello.c
new file mode 100644
index 00000000..a59be43a
--- /dev/null
+++ b/com32/modules/fancyhello.c
@@ -0,0 +1,44 @@
+#ident "$Id$"
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2004 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+ * Bostom MA 02111-1307, USA; either version 2 of the License, or
+ * (at your option) any later version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * fancyhello.c
+ *
+ * Hello, World! using libcom32 and ASI console
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <console.h>
+
+int main(void)
+{
+ char buffer[1024];
+
+ /* Write both to the ANSI console and the serial port, if configured */
+ openconsole(&dev_stdcon_r, &dev_ansiserial_w);
+
+ printf("(lifesign)\r\n(another)\r\n(another)\r\n");
+ printf("\033[1;33;44m *** \033[37mHello, World!\033[33m *** \033[0m\r\n");
+
+ for (;;) {
+ printf("\033[1;36m>\033[0m ");
+ fgets(buffer, sizeof buffer, stdin);
+ /* fgets() prints an \n for us, but not \r */
+ putchar('\r');
+ if ( !strncmp(buffer, "exit", 4) )
+ break;
+ printf("\033[1m:\033[0m %s\r", buffer);
+ }
+ return 0;
+}
diff --git a/com32/modules/hello.c b/com32/modules/hello.c
index 98964e04..7d0504bc 100644
--- a/com32/modules/hello.c
+++ b/com32/modules/hello.c
@@ -1,7 +1,7 @@
#ident "$Id$"
/* ----------------------------------------------------------------------- *
*
- * Copyright 2002 H. Peter Anvin - All Rights Reserved
+ * Copyright 2004 H. Peter Anvin - All Rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by