Enable nonl mode in libcurses by default.

Update sl sources from https://github.com/mtoyoda/sl.
This commit is contained in:
Serge Vakulenko
2015-09-13 18:40:58 -07:00
parent 2b09c13056
commit 261f70aef6
9 changed files with 307 additions and 133 deletions

6
src/cmd/sl/LICENSE Normal file
View File

@@ -0,0 +1,6 @@
Copyright 1993,1998,2014 Toyoda Masashi (mtoyoda@acm.org)
Everyone is permitted to do anything on this program including copying,
modifying, and improving, unless you try to pretend that you wrote it.
i.e., the above copyright notice has to appear in all copies.
THE AUTHOR DISCLAIMS ANY RESPONSIBILITY WITH REGARD TO THIS SOFTWARE.

13
src/cmd/sl/Makefile-unix Normal file
View File

@@ -0,0 +1,13 @@
#==========================================
# Makefile: makefile for sl 5.1
# Copyright 1993, 1998, 2014
# Toyoda Masashi
# (mtoyoda@acm.org)
# Last Modified: 2014/03/31
#==========================================
CC = gcc
CFLAGS = -O -Wall -Werror
sl: sl.c sl.h
$(CC) $(CFLAGS) -o sl sl.c -lncurses

View File

@@ -1,12 +1,8 @@
===========================================
SL: $B%-!<%?%$%W6:@5%=%U%H(B
Copyright 1993,1998 Toyoda Masashi
(toyoda@is.titech.ac.jp)
===========================================
$B$`$+$7$K$bEj9F$5$l$?>iCL%=%U%H$N(B sl $B$N9k2ZHG$G$9!#(B
$B%"%$%G%"$O<Z$jJ*$G$9$,!"%W%m%0%i%`<+BN$O;d$N%*%j%8%J%k$G$9!#(B
a,l,F $B%*%W%7%g%s$,M-8z$G$9!#5!G=$O<B9T$7$F3N$+$a$F$/$@$5$$!#(B
make $B$9$l$P$G$-$"$,$j$^$9!#(B
SL(1): Cure your bad habit of mistyping
=======================================
SL (Steam Locomotive) runs across your terminal when you type "sl" as
you meant to type "ls". It's just a joke command, and not useful at
all.
Copyright 1993,1998,2014 Toyoda Masashi (mtoyoda@acm.org)

9
src/cmd/sl/README-ja Normal file
View File

@@ -0,0 +1,9 @@
SL: キータイプ矯正ソフト
========================
むかしにも投稿された冗談ソフトの sl の豪華版です。
アイデアは借り物ですが、プログラム自体は私のオリジナルです。
いまさらながら若干アップデートしました。
a,l,F,c オプションが有効です。機能は実行して確かめてください。
Copyright 1993,1998,2014 Toyoda Masashi (mtoyoda@acm.org)

View File

@@ -1,34 +1,36 @@
.\"
.\" Copyright 1993 Toyoda Masashi.
.\" (toyoda@is.titech.ac.jp)
.\" @(#)sl.1 2.02 19/01/93
.\" Copyright 1993,1998,2014 Toyoda Masashi (mtoyoda@acm.org)
.\"
.TH SL 1 "Jan 19, 1993"
.SH $@L>>N(J
sl \- $@%-!<%?%$%W$r6:@5$7$^$9!#(J
.SH $@7A<0(J
.\" @(#)sl.1
.\"
.TH SL 1 "March 31, 2014"
.SH NAME
sl \- cure your bad habit of mistyping
.SH SYNOPSIS
.B sl
[
.B \-alF
.B \-alFc
]
.SH $@2r@b(J
.SH DESCRIPTION
.B sl
$@$O!"9bEY$KH/E8$7$?!"%-!<%?%$%W6:@5$rL\E*$H$9$k%"%K%a!<%7%g%s%W%m%0%i%`$G$9!#(J
is a highly advanced animation program for curing your bad habit of mistyping.
.PP
$@<!$N$h$&$J%*%W%7%g%s$,$"$j$^$9!#(J
.TP
.B \-a
$@$J$K$+%"%/%7%G%s%H$,$"$C$?$h$&$G$9$M!#=u$1$r5a$a$k?M!9$,HaDK$G$9!#(J
An accident is occurring. People cry for help.
.TP
.B \-l
$@>.$5$/$J$j$^$9!#(J
Little version
.TP
.B \-F
$@Ht$S$^$9!#(J
It flies like the galaxy express 999.
.TP
.B \-c
C51 appears instead of D51.
.PP
.SH $@4XO";v9`(J
.SH SEE ALSO
.BR ls (1)
.SH $@%P%0(J
$@%+%l%s%H%G%#%l%/%H%j$NFbMF$,I=<($5$l$k$3$H$,$"$j$^$9!#(J
.SH $@Cx<T(J
$@K-ED(J $@@5;K!J(Jtoyoda@isea.is.titech.ac.jp$@!K(J
.SH BUGS
It sometimes lists directory contents.
.SH AUTHOR
Toyoda Masashi (mtoyoda@acm.org)

37
src/cmd/sl/sl.1-ja Normal file
View File

@@ -0,0 +1,37 @@
.\"
.\" Copyright 1993,2014 Toyoda Masashi.
.\" (mtoyoda@acm.org)
.\" @(#)sl.1
.\"
.TH SL 1 "March 31, 2014"
.SH 名称
sl \- キータイプを矯正します。
.SH 形式
.B sl
[
.B \-alF
]
.SH 解説
.B sl
は、高度に発展した、キータイプ矯正を目的とするアニメーションプログラムです。
.PP
次のようなオプションがあります。
.TP
.B \-a
なにかアクシデントがあったようですね。助けを求める人々が悲痛です。
.TP
.B \-l
小さくなります。
.TP
.B \-F
飛びます。
.TP
.B \-c
C51になります。
.PP
.SH 関連事項
.BR ls (1)
.SH バグ
カレントディレクトリの内容が表示されることがあります。
.SH 著者
豊田 正史 (mtoyoda@acm.org)

View File

@@ -1,14 +1,23 @@
/*========================================
* sl.c:
* Copyright 1993,1998 Toyoda Masashi
* (toyoda@is.titech.ac.jp)
* Last Modified: 1998/ 7/22
* sl.c: SL version 5.02
* Copyright 1993,1998,2014
* Toyoda Masashi
* (mtoyoda@acm.org)
* Last Modified: 2014/06/03
*========================================
*/
/* sl version 5.02 : Fix compiler warnings. */
/* by Jeff Schwab 2014/06/03 */
/* sl version 5.01 : removed cursor and handling of IO */
/* by Chris Seymour 2014/01/03 */
/* sl version 5.00 : add -c option */
/* by Toyoda Masashi 2013/05/05 */
/* sl version 4.00 : add C51, usleep(40000) */
/* by Toyoda Masashi 2002/12/31 */
/* sl version 3.03 : add usleep(20000) */
/* by Toyoda Masashi 1998/ 7/22 */
/* by Toyoda Masashi 1998/07/22 */
/* sl version 3.02 : D51 flies! Change options. */
/* by Toyoda Masashi 1993/ 1/19 */
/* by Toyoda Masashi 1993/01/19 */
/* sl version 3.01 : Wheel turns smoother */
/* by Toyoda Masashi 1992/12/25 */
/* sl version 3.00 : Add d(D51) option */
@@ -16,32 +25,41 @@
/* sl version 2.02 : Bug fixed.(dust remains in screen) */
/* by Toyoda Masashi 1992/12/17 */
/* sl version 2.01 : Smoke run and disappear. */
/* Change '-a' to accident option. */
/* Change '-a' to accident option. */
/* by Toyoda Masashi 1992/12/16 */
/* sl version 2.00 : Add a(all),l(long),F(Fly!) options. */
/* by Toyoda Masashi 1992/12/15 */
/* by Toyoda Masashi 1992/12/15 */
/* sl version 1.02 : Add turning wheel. */
/* by Toyoda Masashi 1992/12/14 */
/* by Toyoda Masashi 1992/12/14 */
/* sl version 1.01 : Add more complex smoke. */
/* by Toyoda Masashi 1992/12/14 */
/* sl version 1.00 : SL runs vomitting out smoke. */
/* by Toyoda Masashi 1992/12/11 */
/* by Toyoda Masashi 1992/12/11 */
#include <curses.h>
#include <signal.h>
#include <unistd.h>
#include "sl.h"
void add_smoke(int y, int x);
void add_man(int y, int x);
int add_C51(int x);
int add_D51(int x);
int add_sl(int x);
void option(char *str);
int my_mvaddstr(int y, int x, char *str);
int ACCIDENT = 0;
int LOGO = 0;
int FLY = 0;
int C51 = 0;
int my_mvaddstr(int y, int x, char *str)
{
for ( ; x < 0; ++x, ++str)
if (*str == '\0') return ERR;
if (*str == '\0') return ERR;
for ( ; *str != '\0'; ++str, ++x)
if (mvaddch(y, x, *str) == ERR) return ERR;
if (mvaddch(y, x, *str) == ERR) return ERR;
return OK;
}
@@ -50,23 +68,24 @@ void option(char *str)
extern int ACCIDENT, FLY, LONG;
while (*str != '\0') {
switch (*str++) {
case 'a': ACCIDENT = 1; break;
case 'F': FLY = 1; break;
case 'l': LOGO = 1; break;
default: break;
}
switch (*str++) {
case 'a': ACCIDENT = 1; break;
case 'F': FLY = 1; break;
case 'l': LOGO = 1; break;
case 'c': C51 = 1; break;
default: break;
}
}
}
void main(int argc, char *argv[])
int main(int argc, char *argv[])
{
int x, i;
for (i = 1; i < argc; ++i) {
if (*argv[i] == '-') {
option(argv[i] + 1);
}
if (*argv[i] == '-') {
option(argv[i] + 1);
}
}
initscr();
signal(SIGINT, SIG_IGN);
@@ -75,13 +94,17 @@ void main(int argc, char *argv[])
scrollok(stdscr, FALSE);
for (x = COLS - 1; ; --x) {
if (LOGO == 0) {
if (add_D51(x) == ERR) break;
} else {
if (add_sl(x) == ERR) break;
}
refresh();
usleep(20000);
if (LOGO == 1) {
if (add_sl(x) == ERR) break;
}
else if (C51 == 1) {
if (add_C51(x) == ERR) break;
}
else {
if (add_D51(x) == ERR) break;
}
refresh();
usleep(20000);
}
mvcur(0, COLS - 1, LINES - 1, 0);
endwin();
@@ -91,62 +114,62 @@ void main(int argc, char *argv[])
int add_sl(int x)
{
static char *sl[LOGOPATTERNS][LOGOHIGHT + 1]
= {{LOGO1, LOGO2, LOGO3, LOGO4, LWHL11, LWHL12, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL21, LWHL22, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL31, LWHL32, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL41, LWHL42, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL51, LWHL52, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL61, LWHL62, DELLN}};
= {{LOGO1, LOGO2, LOGO3, LOGO4, LWHL11, LWHL12, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL21, LWHL22, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL31, LWHL32, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL41, LWHL42, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL51, LWHL52, DELLN},
{LOGO1, LOGO2, LOGO3, LOGO4, LWHL61, LWHL62, DELLN}};
static char *coal[LOGOHIGHT + 1]
= {LCOAL1, LCOAL2, LCOAL3, LCOAL4, LCOAL5, LCOAL6, DELLN};
= {LCOAL1, LCOAL2, LCOAL3, LCOAL4, LCOAL5, LCOAL6, DELLN};
static char *car[LOGOHIGHT + 1]
= {LCAR1, LCAR2, LCAR3, LCAR4, LCAR5, LCAR6, DELLN};
= {LCAR1, LCAR2, LCAR3, LCAR4, LCAR5, LCAR6, DELLN};
int i, y, py1 = 0, py2 = 0, py3 = 0;
if (x < - LOGOLENGTH) return ERR;
y = LINES / 2 - 3;
if (FLY == 1) {
y = (x / 6) + LINES - (COLS / 6) - LOGOHIGHT;
py1 = 2; py2 = 4; py3 = 6;
y = (x / 6) + LINES - (COLS / 6) - LOGOHIGHT;
py1 = 2; py2 = 4; py3 = 6;
}
for (i = 0; i <= LOGOHIGHT; ++i) {
my_mvaddstr(y + i, x, sl[(LOGOLENGTH + x) / 3 % LOGOPATTERNS][i]);
my_mvaddstr(y + i + py1, x + 21, coal[i]);
my_mvaddstr(y + i + py2, x + 42, car[i]);
my_mvaddstr(y + i + py3, x + 63, car[i]);
my_mvaddstr(y + i, x, sl[(LOGOLENGTH + x) / 3 % LOGOPATTERNS][i]);
my_mvaddstr(y + i + py1, x + 21, coal[i]);
my_mvaddstr(y + i + py2, x + 42, car[i]);
my_mvaddstr(y + i + py3, x + 63, car[i]);
}
if (ACCIDENT == 1) {
add_man(y + 1, x + 14);
add_man(y + 1 + py2, x + 45); add_man(y + 1 + py2, x + 53);
add_man(y + 1 + py3, x + 66); add_man(y + 1 + py3, x + 74);
add_man(y + 1, x + 14);
add_man(y + 1 + py2, x + 45); add_man(y + 1 + py2, x + 53);
add_man(y + 1 + py3, x + 66); add_man(y + 1 + py3, x + 74);
}
add_smoke(y - 1, x + LOGOFUNNEL);
return OK;
}
add_D51(int x)
int add_D51(int x)
{
static char *d51[D51PATTERNS][D51HIGHT + 1]
= {{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL11, D51WHL12, D51WHL13, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL21, D51WHL22, D51WHL23, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL31, D51WHL32, D51WHL33, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL41, D51WHL42, D51WHL43, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL51, D51WHL52, D51WHL53, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL61, D51WHL62, D51WHL63, D51DEL}};
= {{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL11, D51WHL12, D51WHL13, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL21, D51WHL22, D51WHL23, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL31, D51WHL32, D51WHL33, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL41, D51WHL42, D51WHL43, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL51, D51WHL52, D51WHL53, D51DEL},
{D51STR1, D51STR2, D51STR3, D51STR4, D51STR5, D51STR6, D51STR7,
D51WHL61, D51WHL62, D51WHL63, D51DEL}};
static char *coal[D51HIGHT + 1]
= {COAL01, COAL02, COAL03, COAL04, COAL05,
COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL};
= {COAL01, COAL02, COAL03, COAL04, COAL05,
COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL};
int y, i, dy = 0;
@@ -154,72 +177,112 @@ add_D51(int x)
y = LINES / 2 - 5;
if (FLY == 1) {
y = (x / 7) + LINES - (COLS / 7) - D51HIGHT;
dy = 1;
y = (x / 7) + LINES - (COLS / 7) - D51HIGHT;
dy = 1;
}
for (i = 0; i <= D51HIGHT; ++i) {
my_mvaddstr(y + i, x, d51[(D51LENGTH + x) % D51PATTERNS][i]);
my_mvaddstr(y + i + dy, x + 53, coal[i]);
my_mvaddstr(y + i, x, d51[(D51LENGTH + x) % D51PATTERNS][i]);
my_mvaddstr(y + i + dy, x + 53, coal[i]);
}
if (ACCIDENT == 1) {
add_man(y + 2, x + 43);
add_man(y + 2, x + 47);
add_man(y + 2, x + 43);
add_man(y + 2, x + 47);
}
add_smoke(y - 1, x + D51FUNNEL);
return OK;
}
int add_C51(int x)
{
static char *c51[C51PATTERNS][C51HIGHT + 1]
= {{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH11, C51WH12, C51WH13, C51WH14, C51DEL},
{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH21, C51WH22, C51WH23, C51WH24, C51DEL},
{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH31, C51WH32, C51WH33, C51WH34, C51DEL},
{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH41, C51WH42, C51WH43, C51WH44, C51DEL},
{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH51, C51WH52, C51WH53, C51WH54, C51DEL},
{C51STR1, C51STR2, C51STR3, C51STR4, C51STR5, C51STR6, C51STR7,
C51WH61, C51WH62, C51WH63, C51WH64, C51DEL}};
static char *coal[C51HIGHT + 1]
= {COALDEL, COAL01, COAL02, COAL03, COAL04, COAL05,
COAL06, COAL07, COAL08, COAL09, COAL10, COALDEL};
int add_man(int y, int x)
int y, i, dy = 0;
if (x < - C51LENGTH) return ERR;
y = LINES / 2 - 5;
if (FLY == 1) {
y = (x / 7) + LINES - (COLS / 7) - C51HIGHT;
dy = 1;
}
for (i = 0; i <= C51HIGHT; ++i) {
my_mvaddstr(y + i, x, c51[(C51LENGTH + x) % C51PATTERNS][i]);
my_mvaddstr(y + i + dy, x + 55, coal[i]);
}
if (ACCIDENT == 1) {
add_man(y + 3, x + 45);
add_man(y + 3, x + 49);
}
add_smoke(y - 1, x + C51FUNNEL);
return OK;
}
void add_man(int y, int x)
{
static char *man[2][2] = {{"", "(O)"}, {"Help!", "\\O/"}};
int i;
for (i = 0; i < 2; ++i) {
my_mvaddstr(y + i, x, man[(LOGOLENGTH + x) / 12 % 2][i]);
my_mvaddstr(y + i, x, man[(LOGOLENGTH + x) / 12 % 2][i]);
}
}
int add_smoke(int y, int x)
#define SMOKEPTNS 16
void add_smoke(int y, int x)
#define SMOKEPTNS 16
{
static struct smokes {
int y, x;
int ptrn, kind;
int y, x;
int ptrn, kind;
} S[1000];
static int sum = 0;
static char *Smoke[2][SMOKEPTNS]
= {{"( )", "( )", "( )", "( )", "( )",
"( )" , "( )" , "( )" , "()" , "()" ,
"O" , "O" , "O" , "O" , "O" ,
" " },
{"(@@@)", "(@@@@)", "(@@@@)", "(@@@)", "(@@)",
"(@@)" , "(@)" , "(@)" , "@@" , "@@" ,
"@" , "@" , "@" , "@" , "@" ,
" " }};
= {{"( )", "( )", "( )", "( )", "( )",
"( )" , "( )" , "( )" , "()" , "()" ,
"O" , "O" , "O" , "O" , "O" ,
" " },
{"(@@@)", "(@@@@)", "(@@@@)", "(@@@)", "(@@)",
"(@@)" , "(@)" , "(@)" , "@@" , "@@" ,
"@" , "@" , "@" , "@" , "@" ,
" " }};
static char *Eraser[SMOKEPTNS]
= {" ", " ", " ", " ", " ",
" " , " " , " " , " " , " " ,
" " , " " , " " , " " , " " ,
" " };
= {" ", " ", " ", " ", " ",
" " , " " , " " , " " , " " ,
" " , " " , " " , " " , " " ,
" " };
static int dy[SMOKEPTNS] = { 2, 1, 1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 };
0, 0, 0, 0, 0, 0 };
static int dx[SMOKEPTNS] = {-2, -1, 0, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 3, 3, 3 };
2, 2, 2, 3, 3, 3 };
int i;
if (x % 4 == 0) {
for (i = 0; i < sum; ++i) {
my_mvaddstr(S[i].y, S[i].x, Eraser[S[i].ptrn]);
S[i].y -= dy[S[i].ptrn];
S[i].x += dx[S[i].ptrn];
S[i].ptrn += (S[i].ptrn < SMOKEPTNS - 1) ? 1 : 0;
my_mvaddstr(S[i].y, S[i].x, Smoke[S[i].kind][S[i].ptrn]);
}
my_mvaddstr(y, x, Smoke[sum % 2][0]);
S[sum].y = y; S[sum].x = x;
S[sum].ptrn = 0; S[sum].kind = sum % 2;
sum ++;
for (i = 0; i < sum; ++i) {
my_mvaddstr(S[i].y, S[i].x, Eraser[S[i].ptrn]);
S[i].y -= dy[S[i].ptrn];
S[i].x += dx[S[i].ptrn];
S[i].ptrn += (S[i].ptrn < SMOKEPTNS - 1) ? 1 : 0;
my_mvaddstr(S[i].y, S[i].x, Smoke[S[i].kind][S[i].ptrn]);
}
my_mvaddstr(y, x, Smoke[sum % 2][0]);
S[sum].y = y; S[sum].x = x;
S[sum].ptrn = 0; S[sum].kind = sum % 2;
sum ++;
}
}

View File

@@ -1,14 +1,15 @@
/*========================================
* sl.h: Text data of SL version 3.01
* Copyright 1993 Toyoda Masashi
* (toyoda@is.titech.ac.jp)
* Last Modified: 1992/12/23
* sl.h: SL version 5.02
* Copyright 1993,2002,2014
* Toyoda Masashi
* (mtoyoda@acm.org)
* Last Modified: 2014/06/03
*========================================
*/
#define D51HIGHT 10
#define D51FUNNEL 7
#define D51LENGTH 83
#define D51LENGTH 83
#define D51PATTERNS 6
@@ -102,3 +103,48 @@
#define LCAR6 " (O) (O) "
#define DELLN " "
#define C51HIGHT 11
#define C51FUNNEL 7
#define C51LENGTH 87
#define C51PATTERNS 6
#define C51DEL " "
#define C51STR1 " ___ "
#define C51STR2 " _|_|_ _ __ __ ___________"
#define C51STR3 " D__/ \\_(_)___| |__H__| |_____I_Ii_()|_________|"
#define C51STR4 " | `---' |:: `--' H `--' | |___ ___| "
#define C51STR5 " +|~~~~~~~~++::~~~~~~~H~~+=====+~~~~~~|~~||_| |_|| "
#define C51STR6 " || | :: H +=====+ | |:: ...| "
#define C51STR7 "| | _______|_::-----------------[][]-----| | "
#define C51WH61 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH62 "------'|oOo|==[]=- || || | ||=======_|__"
#define C51WH63 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| "
#define C51WH64 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "
#define C51WH51 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH52 "------'|oOo|===[]=- || || | ||=======_|__"
#define C51WH53 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| "
#define C51WH54 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "
#define C51WH41 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH42 "------'|oOo|===[]=- O=======O=======O | ||=======_|__"
#define C51WH43 "/~\\____|___|/~\\_| || || |__|+-/~\\_| "
#define C51WH44 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "
#define C51WH31 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH32 "------'|oOo|==[]=- O=======O=======O | ||=======_|__"
#define C51WH33 "/~\\____|___|/~\\_| || || |__|+-/~\\_| "
#define C51WH34 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "
#define C51WH21 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH22 "------'|oOo|=[]=- O=======O=======O | ||=======_|__"
#define C51WH23 "/~\\____|___|/~\\_| || || |__|+-/~\\_| "
#define C51WH24 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "
#define C51WH11 "| /~~ || |-----/~~~~\\ /[I_____I][][] --|||_______|__"
#define C51WH12 "------'|oOo|=[]=- || || | ||=======_|__"
#define C51WH13 "/~\\____|___|/~\\_| O=======O=======O |__|+-/~\\_| "
#define C51WH14 "\\_/ \\_/ \\____/ \\____/ \\____/ \\_/ "

View File

@@ -59,6 +59,8 @@ gettmode()
fprintf(outf, "GETTMODE: NONL = %s\n", NONL ? "TRUE" : "FALSE");
fprintf(outf, "GETTMODE: ospeed = %d\n", ospeed);
# endif
/* Use nonl mode by default. */
nonl();
}
/*