1 /* $NetBSD: screen.c,v 1.2 2014/01/11 15:51:02 tsutsui Exp $ */ 2 3 /* 4 * Copyright (c) 1992 OMRON Corporation. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * OMRON Corporation. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 3. All advertising materials mentioning features or use of this software 18 * must display the following acknowledgement: 19 * This product includes software developed by the University of 20 * California, Berkeley and its contributors. 21 * 4. Neither the name of the University nor the names of its contributors 22 * may be used to endorse or promote products derived from this software 23 * without specific prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * @(#)screen.c 8.1 (Berkeley) 6/10/93 38 */ 39 /* 40 * Copyright (c) 1992, 1993 41 * The Regents of the University of California. All rights reserved. 42 * 43 * This code is derived from software contributed to Berkeley by 44 * OMRON Corporation. 45 * 46 * Redistribution and use in source and binary forms, with or without 47 * modification, are permitted provided that the following conditions 48 * are met: 49 * 1. Redistributions of source code must retain the above copyright 50 * notice, this list of conditions and the following disclaimer. 51 * 2. Redistributions in binary form must reproduce the above copyright 52 * notice, this list of conditions and the following disclaimer in the 53 * documentation and/or other materials provided with the distribution. 54 * 3. Neither the name of the University nor the names of its contributors 55 * may be used to endorse or promote products derived from this software 56 * without specific prior written permission. 57 * 58 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 59 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 60 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 61 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 62 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 63 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 64 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 65 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 66 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 67 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 68 * SUCH DAMAGE. 69 * 70 * @(#)screen.c 8.1 (Berkeley) 6/10/93 71 */ 72 73 /* 74 * screen.c -- screen handler 75 * by A.Fujita, Jun-17-1992 76 */ 77 78 #include <sys/param.h> 79 #include <lib/libkern/libkern.h> 80 #include <luna68k/stand/boot/samachdep.h> 81 #include <luna68k/stand/boot/status.h> 82 83 int 84 screen(int argc, char *argv[]) 85 { 86 int i, j, flag; 87 char *p; 88 short hcnt, vcnt; 89 90 if (!strcmp(argv[1], "clear")) { 91 bmdclear(); 92 } else if (!strcmp(argv[1], "adjust")) { 93 hcnt = vcnt = 0; 94 95 flag = 0; 96 for (p = argv[2] ; *p != '\0'; p++) { 97 if (*p == '-') 98 flag++; 99 else 100 hcnt = (hcnt * 10) + (*p - 0x30); 101 } 102 if (flag) 103 hcnt = -1 * hcnt; 104 105 flag = 0; 106 for (p = argv[3] ; *p != '\0'; p++) { 107 if (*p == '-') 108 flag++; 109 else 110 vcnt = (vcnt * 10) + (*p - 0x30); 111 } 112 if (flag) 113 vcnt = -1 * vcnt; 114 115 bmdadjust(hcnt, vcnt); 116 } else if (!strcmp(argv[1], "number")) { 117 for (j = 0; j < 50; j++) 118 for (i = 0; i < 10; i++) 119 bmdputc( 0x30 + i ); 120 121 } else if (!strcmp(argv[1], "alpha")) { 122 for (j = 0; j < 26; j++) { 123 for (i = 0; i < 90; i++) { 124 bmdputc(0x41 + j); 125 } 126 bmdputc(0x0D); 127 bmdputc(0x0A); 128 } 129 } 130 131 return ST_NORMAL; 132 } 133