summaryrefslogtreecommitdiff
path: root/sys/arch/arm32/dev
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-02-07 07:47:08 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-02-07 07:47:08 +0000
commitb3fc6f9f0a3a3472a9af49ace7c1a296bc6d1491 (patch)
treeffd3b6e60860873a7676248e3b7dd41e949dca3d /sys/arch/arm32/dev
parent8893b355d53fce68341d4b27579a5242a58ff37d (diff)
We need to loose some weight.
If someone feels very opposed to this, the code is left in the Attic. Just revive and _make_it_work_.
Diffstat (limited to 'sys/arch/arm32/dev')
-rw-r--r--sys/arch/arm32/dev/console/console.c1220
-rw-r--r--sys/arch/arm32/dev/console/debugconsole.c88
-rw-r--r--sys/arch/arm32/dev/console/dumb.c146
-rw-r--r--sys/arch/arm32/dev/console/fonts/font_bold.h265
-rw-r--r--sys/arch/arm32/dev/console/fonts/font_italic.h265
-rw-r--r--sys/arch/arm32/dev/console/fonts/font_normal.h265
-rw-r--r--sys/arch/arm32/dev/console/fonts/font_wide.h259
-rw-r--r--sys/arch/arm32/dev/console/vidc.c255
-rw-r--r--sys/arch/arm32/dev/console/vidc_mc.S213
-rw-r--r--sys/arch/arm32/dev/console/vidcconsole.c1818
-rw-r--r--sys/arch/arm32/dev/console/vt220.c2008
-rw-r--r--sys/arch/arm32/dev/console/vt220.h117
-rw-r--r--sys/arch/arm32/dev/rd_hooks.c98
13 files changed, 0 insertions, 7017 deletions
diff --git a/sys/arch/arm32/dev/console/console.c b/sys/arch/arm32/dev/console/console.c
deleted file mode 100644
index a0beedf0bb1..00000000000
--- a/sys/arch/arm32/dev/console/console.c
+++ /dev/null
@@ -1,1220 +0,0 @@
-/* $NetBSD: console.c,v 1.6 1996/04/19 20:03:37 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * console.c
- *
- * Console functions
- *
- * Created : 17/09/94
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/proc.h>
-#include <sys/signalvar.h>
-#include <sys/device.h>
-#include <sys/time.h>
-#include <sys/systm.h>
-#include <sys/errno.h>
-#include <sys/tty.h>
-#include <sys/ioctl.h>
-#include <sys/uio.h>
-#include <sys/malloc.h>
-#include <sys/msgbuf.h>
-#include <sys/user.h>
-#include <sys/sysctl.h>
-#include <sys/syslog.h>
-
-#include <dev/cons.h>
-
-#include <machine/vidc.h>
-#include <machine/vconsole.h>
-#include <machine/katelib.h>
-
-#include "vt.h"
-
-#define CONSOLE_VERSION "[V203C] "
-
-/*
- * Externals
- */
-
-extern struct tty *constty;
-extern int debug_flags;
-#define consmap_col(x) (x & 0x3)
-#define CONSMAP_BOLD 8
-#define CONSMAP_ITALIC 16
-
-/*
- * Local variables (to this file)
- */
-
-int locked=0; /* Nut - is this really safe ? */
-struct tty *physcon_tty[NVT];
-struct vconsole vconsole_master_store;
-struct vconsole *vconsole_master = &vconsole_master_store;
-struct vconsole *vconsole_current;
-struct vconsole *vconsole_head;
-struct vconsole *vconsole_default;
-struct cfdriver rpc_cd;
-extern struct vconsole *debug_vc; /* rename this to vconsole_debug */
-int physcon_major=4;
-static char undefined_string[] = "UNDEFINED";
-int lastconsole;
-static int printing=0;
-static int want_switch=-1;
-
-/*
- * Prototypes
- */
-
-int physcon_switch __P((u_int /*number*/));
-void physconstart __P((struct tty */*tp*/));
-static struct vconsole *vconsole_spawn __P((dev_t , struct vconsole *));
-int physconparam __P((struct tty */*tp*/, struct termios */*t*/));
-void consinit __P((void));
-int physcon_switchup __P((void));
-int physcon_switchdown __P((void));
-
-/*
- * Exported variables
- */
-
-#define BLANKINIT (10*60*60)
-int vconsole_pending=0;
-int vconsole_blankinit=BLANKINIT;
-int vconsole_blankcounter=BLANKINIT;
-
-/*
- * Now list all my render engines and terminal emulators
- */
-
-extern struct render_engine vidcconsole;
-extern struct terminal_emulator vt220;
-
-/*
- * These find functions should move the console it finds to the top of
- * the list to achieve a caching type of operation. A doubly
- * linked list would be faster methinks.
- */
-
-struct tty *
-find_tp(dev)
- dev_t dev;
-{
- struct vconsole *vc;
- struct vconsole *last=0;
- int unit = minor (dev);
- int s;
-
- s = spltty();
- for (vc=vconsole_head; vc != NULL; vc=vc->next) {
- if (vc->number==unit) {
- if (vc != vconsole_head) {
- last->next = vc->next;
- vc->next = vconsole_head;
- vconsole_head = vc;
- }
- (void)splx(s);
- return vc->tp;
- }
- last = vc;
- }
- (void)splx(s);
- return NULL;
-}
-
-struct vconsole *
-find_vc(dev)
- dev_t dev;
-{
- struct vconsole *vc;
- struct vconsole *last=NULL;
- int unit = minor (dev);
- int s;
-
- s = spltty();
-
- for (vc=vconsole_head; vc!=NULL; vc=vc->next) {
- if (vc->number==unit) {
- if (vc!=vconsole_head) {
- last->next = vc->next;
- vc->next = vconsole_head;
- vconsole_head = vc;
- }
- (void)splx(s);
- return vc;
- }
- last=vc;
- }
- (void)splx(s);
- return NULL;
-}
-
-struct tty *console_tty = NULL;
-
-/*
- * Place a graphics driver under virtual console switching control.
- */
-
-struct vconsole *
-vconsole_spawn_re(dev, vc)
- dev_t dev;
- struct vconsole *vc;
-{
- struct vconsole *new;
- register int num = minor(dev);
-
- MALLOC(new, struct vconsole *, sizeof(struct vconsole),
- M_DEVBUF,M_NOWAIT );
-
- bzero ( (char *)new, sizeof(struct vconsole) );
- *new = *vc;
- new->number = num;
- new->next = vconsole_head;
- new->tp = vc->tp; /* Implied */
- new->data=0;
- new->t_scrolledback=0;
- new->r_scrolledback=0;
- new->r_data=0;
- new->flags=LOSSY;
- new->vtty = 0;
- vconsole_head = new;
- new->R_INIT ( new );
- new->SPAWN ( new );
- new->data = 0;
- /*new->charmap = 0;*/
- new->flags=LOSSY;
- new->proc = curproc;
- new->vtty = 0;
- return new;
-}
-
-static struct vconsole *
-vconsole_spawn(dev, vc)
- dev_t dev;
- struct vconsole *vc;
-{
- struct vconsole *new;
- register int num = minor(dev);
-
- if ( find_vc ( dev ) != 0 )
- return 0;
-
- MALLOC(new, struct vconsole *, sizeof(struct vconsole),
- M_DEVBUF, M_NOWAIT );
-
- bzero ( (char *)new, sizeof(struct vconsole) );
- *new = *vc;
- new->number = num;
- new->next = vconsole_head;
- new->tp=NULL;
- new->opened=0;
- new->data=0;
- new->t_scrolledback=0;
- new->r_scrolledback=0;
- new->r_data=0;
- new->vtty = 1;
- vconsole_head = new;
- new->R_INIT ( new );
- new->FLASH ( new, 1 );
- new->CURSOR_FLASH ( new, 1 );
- new->SPAWN ( new );
- new->vtty = 1;
-
- MALLOC (new->charmap, int *, sizeof(int)*((new->xchars)*(new->ychars)),
- M_DEVBUF, M_NOWAIT );
-
- if (new->charmap==0)
- return 0;
- {
- int counter=0;
- for ( counter=0; counter<((new->xchars)*(new->ychars)); counter++ )
- (new->charmap)[counter]=' ';
- }
- new->TERM_INIT ( new );
- new->proc = curproc;
- return new;
-}
-
-void
-vconsole_addcharmap(vc)
- struct vconsole *vc;
-{
- int counter=0;
-
- MALLOC (vc->charmap, int *, sizeof(int)*((vc->xchars)*(vc->ychars)),
- M_DEVBUF, M_NOWAIT );
- for ( counter=0; counter<((vc->xchars)*(vc->ychars)); counter++ )
- (vc->charmap)[counter]=' ';
-}
-
-int
-physconopen(dev, flag, mode, p)
- dev_t dev;
- int flag;
- int mode;
- struct proc *p;
-{
- struct vconsole *new;
-
- struct vconsole *vc;
- int unit = minor(dev);
- int found=0;
- int majorhack=0;
- int ret;
-
- /*
- * To allow the raw consoles a permanat hook for ioctls
- * Spawning another virtual console will actuall configure it
- */
-
- if ( unit >= NVT ) {
- if ( find_vc(dev)==0 )
- return ENXIO;
- }
-/*
- if (unit >= rpc_cd.cd_ndevs || !rpc_cd.cd_devs[unit])
- return ENXIO;
-*/
-
- /* If this virtual console is the real virtual console and hasn't got */
- /* a charmap then to allocate it one. We can be sure addcharmap works */
- /* here since this is the open routine. This is incase the console */
- /* was initialised before the system was brought up */
-
- if ((unit==0)&&(vconsole_master->charmap==0)) {
- if (vconsole_master==vconsole_current)
- majorhack=1;
- vconsole_addcharmap ( vconsole_master );
- vconsole_master->flags &= ~LOSSY;
- }
-
- /* Check to see if this console has already been spawned */
-
- for ( vc = vconsole_head; vc!=NULL; vc=vc->next ) {
- if ( vc->number == unit ) {
- found=1;
- break;
- }
- }
-
- /* Sanity check. If we have no default console, set it to the master one */
-
- if ( vconsole_default==0 )
- vconsole_default = vconsole_master;
-
- /* Ensure we have a vconsole structure. Allocate one if we dont already */
-
- if (found==0)
- new = vconsole_spawn ( dev, vconsole_default );
- else
- new = vc;
-
- new->proc = p;
-
- /* Initialise the terminal subsystem for this device */
-
-#define TP (new->tp)
-
- if (TP == NULL)
- TP = ttymalloc();
-
- physcon_tty[unit] = TP;
-
- TP->t_oproc = physconstart;
- TP->t_param = physconparam;
- TP->t_dev = dev;
- if ((TP->t_state & TS_ISOPEN) == 0) {
- TP->t_state |= TS_WOPEN;
- ttychars(TP);
- TP->t_iflag = TTYDEF_IFLAG;
- TP->t_oflag = TTYDEF_OFLAG;
- TP->t_cflag = TTYDEF_CFLAG;
- TP->t_lflag = TTYDEF_LFLAG;
- TP->t_ispeed = TP->t_ospeed = TTYDEF_SPEED;
- physconparam(TP, &TP->t_termios);
- ttsetwater(TP);
- } else if (TP->t_state&TS_XCLUDE && p->p_ucred->cr_uid != 0)
- return EBUSY;
- TP->t_state |= TS_CARR_ON;
-
- new->opened=1;
-
- TP->t_winsize.ws_col = new->xchars;
- TP->t_winsize.ws_row = new->ychars;
- ret = ((*linesw[TP->t_line].l_open)(dev, TP));
-
- if ( majorhack==1 ) {
- struct vconsole *vc_store;
- int counter;
- int end;
- int lines;
- int xs;
-
- end = msgbufp->msg_bufx-1;
- if (end>=MSG_BSIZE) end-=MSG_BSIZE;
-
- /*
- * Try some cute things. Count the number of lines in the msgbuf
- * then scroll the real screen up, just to fit the msgbuf on the
- * screen, then sink all output, and spew the msgbuf to the
- * new consoles charmap!
- */
-
- lines = 0; xs=0;
-
- for (counter=0;counter<end;counter++) {
- xs++;
- if (*((msgbufp->msg_bufc)+counter)==0x0a) {
- if (xs>vc->xchars) lines++;
- lines++;
- xs=0;
- }
- }
-
- if ( lines < vc->ychars ) {
- counter=vc->ycur;
- while ( (counter--) > lines )
- new->PUTSTRING ( "\x0a", 1, new );
- }
-
- new->SLEEP(new);
-
- vc_store = vconsole_current;
- vconsole_current = 0; /* !!! */
-
- /* HAHA, cant do this */
- /* new->CLS ( new ); */
-
- new->PUTSTRING ( "\x0c", 1, new );
-
- /*
- * Hmmm, I could really pass the whole damn thing to putstring
- * since it doesn't have zeros, but I need to do the crlf
- * conversion
- */
-
- xs=0;
-
- if ( end < 0 )
- panic ( "msgbuf trashed reboot and try again" );
-
- for (counter=0;counter<end;counter++) {
- if (*((msgbufp->msg_bufc)+counter)==0x0a) {
- new->PUTSTRING ( "\x0d", 1, new );
- xs=0;
- }
- if ( (xs++)<new->xchars )
- new->PUTSTRING ((msgbufp->msg_bufc)+counter, 1, new );
- }
- vconsole_master->ycur = lines;
- vconsole_current = vc_store;
- new->WAKE(new);
- vconsole_current->xcur = 0;
-
- printf ( "\x0a" );
- }
-
- return(ret);
-}
-
-/*
- * int physconclose(dev_t dev, int flag, int mode, struct proc *p)
- *
- * Close the physical console
- */
-
-int
-physconclose(dev, flag, mode, p)
- dev_t dev;
- int flag;
- int mode;
- struct proc *p;
-{
- register struct tty *tp;
-
- tp = find_tp ( dev );
- if (tp == NULL) {
- printf("physconclose: tp=0 dev=%04x\n", dev);
- return(ENXIO);
- }
- (*linesw[tp->t_line].l_close)(tp, flag);
- ttyclose(tp);
-
- return(0);
-}
-
-int
-physconread(dev, uio, flag)
- dev_t dev;
- struct uio *uio;
- int flag;
-{
- register struct tty *tp = find_tp ( dev );
- if (tp == NULL) {
- printf("physconread: tp=0 dev=%04x\n", dev);
- return(ENXIO);
- }
- return ((*linesw[tp->t_line].l_read)(tp, uio, flag));
-}
-
-int
-physconwrite(dev, uio, flag)
- dev_t dev;
- struct uio *uio;
- int flag;
-{
- register struct tty *tp;
-
- tp = find_tp(dev);
-
- if (tp == NULL) {
- printf("physconwrite: tp=0 dev=%04x\n", dev);
- return(ENXIO);
- }
-
- return((*linesw[tp->t_line].l_write)(tp, uio, flag));
-}
-
-struct tty *
-physcontty(dev)
- dev_t dev;
-{
- return(find_tp(dev));
-}
-
-int ioctlconsolebug;
-
-int
-physconioctl(dev, cmd, data, flag, p)
- dev_t dev;
- int cmd;
- caddr_t data;
- int flag;
- struct proc *p;
-{
- struct vconsole vconsole_new;
- struct tty *tp=(struct tty *)0xDEADDEAD ;
- int error;
- int s;
- struct vconsole *vc = find_vc(dev);
-
- ioctlconsolebug = cmd;
-
- tp = find_tp(dev);
-
- if ((vc==0)||(tp==0))
- return ENXIO;
-
- switch ( cmd ) {
- case CONSOLE_SWITCHUP:
- physcon_switchup ();
- return 0;
- case CONSOLE_SWITCHDOWN:
- physcon_switchdown ();
- return 0;
- case CONSOLE_SWITCHTO:
- if (!physcon_switch ( *(int *)data ))
- return 0;
- else
- return EINVAL;
- case CONSOLE_SWITCHPREV:
- physcon_switch ( lastconsole );
- return 0;
- case CONSOLE_CREATE:
- if ( vconsole_spawn ( makedev ( physcon_major, *(int *)data ),
- vconsole_default ) == 0 )
- return ENOMEM;
- else
- return 0;
- break;
-
- case CONSOLE_RENDERTYPE:
- strncpy ( (char *)data, vc->T_NAME, 20 );
- return 0;
-
- case CONSOLE_TERMTYPE:
- strncpy ( (char *)data, vc->T_NAME, 20 );
- return 0;
-
- case CONSOLE_LOCK:
- s = spltty();
- locked++;
- (void)splx(s);
- return 0;
- case CONSOLE_UNLOCK:
- s = spltty();
- locked--;
- if ( locked<0 )
- locked=0;
- (void)splx(s);
- return 0;
- case CONSOLE_SPAWN_VIDC:
-/*
- vconsole_new = *vconsole_default;
-*/
- vconsole_new = *vc;
- vconsole_new.render_engine = &vidcconsole;
- if ( vconsole_spawn_re (
- makedev ( physcon_major, *(int *)data ),
- &vconsole_new ) == 0 )
- return ENOMEM;
- else
- return 0;
-
- case CONSOLE_GETVC:
- {
-/* struct vconsole *vc_p;
- vc_p = find_vc(dev);
- *(int *)data = vc_p->number;*/
- *(int *)data = vconsole_current->number;
- return 0;
- }
-
- case CONSOLE_CURSORFLASHRATE:
- vc->CURSORFLASHRATE ( vc, *(int *)data );
- return 0;
-
- case CONSOLE_BLANKTIME:
- vconsole_blankinit = *(int *)data;
- return 0;
-
- case CONSOLE_DEBUGPRINT:
- {
- struct vconsole *vc_p;
-
- vc_p = find_vc(makedev(physcon_major,*(int*)data));
- if (vc_p==0) return EINVAL;
- printf ( "DEBUGPRINT for console %d\n", *(int*)data );
- printf ( "flags %08x vtty %01x\n", vc_p->flags, vc_p->vtty );
- printf ( "TTY INFO - winsize (%d, %d)\n",
- vc_p->tp->t_winsize.ws_col,
- vc_p->tp->t_winsize.ws_row);
- vc_p->R_DEBUGPRINT ( vc_p );
- vc_p->T_DEBUGPRINT ( vc_p );
- return 0;
- }
-
- default:
- error = vc->IOCTL ( vc, dev, cmd, data, flag, p );
- if ( error >=0 )
- return error;
- error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p);
- if (error >= 0)
- return error;
- error = ttioctl(tp, cmd, data, flag, p);
- if (error >= 0)
- return error;
- }
- return(ENOTTY);
-}
-
-int
-physconmmap(dev, offset, nprot)
- dev_t dev;
- int offset;
- int nprot;
-{
- struct vconsole *vc = find_vc(dev);
- u_int physaddr;
-
- if (minor(dev) < 64) {
- log(LOG_WARNING, "You should no longer use ttyv to mmap a frame buffer\n");
- log(LOG_WARNING, "For vidc use /dev/vidcvideo0\n");
- }
- physaddr = vc->MMAP(vc, offset, nprot);
- return(physaddr);
-}
-
-/*
- * Perform output on specified tty stream
- */
-
-void
-physconstart(tp)
- struct tty *tp;
-{
- int s, len;
- struct clist *cl;
- struct vconsole *vc;
- u_char buf[128];
-
- s = spltty();
-
- vc = find_vc ( tp->t_dev );
-
- /* Are we ready to perform output */
-
- if (tp->t_state & (TS_TIMEOUT | TS_BUSY | TS_TTSTOP)) {
- (void)splx(s);
- return;
- }
-
- tp->t_state |= TS_BUSY;
-
- /* Fill our buffer with the data to print */
-
- cl = &tp->t_outq;
-
- if ( vc->r_scrolledback ) vc->R_SCROLLBACKEND ( vc );
- if ( vc->t_scrolledback ) vc->T_SCROLLBACKEND ( vc );
-
- (void)splx(s);
-
- /* Apparently we do this out of spl since it _IS_ fairly expensive */
- /* and it stops the serial ports overflowing */
-
- while ( (len = q_to_b(cl, buf, 128)) ) {
- if ( vc!=NULL )
- vc->PUTSTRING(buf, len, vc);
- }
-
- s = spltty ();
-
- tp->t_state &= ~TS_BUSY;
-
- if (cl->c_cc) {
- tp->t_state |= TS_TIMEOUT;
- timeout_add(&tp->t_rstrt_to, 1);
- }
-
- if (cl->c_cc <= tp->t_lowat) {
- if (tp->t_state & TS_ASLEEP) {
- tp->t_state &= ~TS_ASLEEP;
- wakeup(cl);
- }
- selwakeup(&tp->t_wsel);
- }
-
- if ( want_switch != -1 ) {
- physcon_switch ( want_switch );
- want_switch=-1;
- }
-
- (void)splx(s);
-}
-
-int
-physconparam(tp, t)
- struct tty *tp;
- struct termios *t;
-{
- tp->t_ispeed = t->c_ispeed;
- tp->t_ospeed = t->c_ospeed;
- tp->t_cflag = t->c_cflag;
- return(0);
-}
-
-void
-physconstop(tp, flag)
- struct tty *tp;
- int flag;
-{
- /* Nothing necessary */
-}
-
-int
-physconkbd(key)
- int key;
-{
- char *string;
- register struct tty *tp;
- int s;
-
- s = spltty();
-
- tp = vconsole_current->tp;
-
- if (tp == NULL) return(1);
-
- if ((tp->t_state & TS_ISOPEN) == 0) {
- (void)splx(s);
- return(1);
- }
-
- if (key < 0x100)
- (*linesw[tp->t_line].l_rint)(key, tp);
- else {
- switch (key) {
- case 0x100:
- string = "\x1b[A";
- break;
- case 0x101:
- string = "\x1b[B";
- break;
- case 0x102:
- string = "\x1b[D";
- break;
- case 0x103:
- string = "\x1b[C";
- break;
- case 0x104:
- string = "\x1b[6~";
- break;
- case 0x105:
- string = "\x1b[5~";
- break;
- case 0x108:
- string = "\x1b[2~";
- break;
- case 0x109:
- string = "\x7f";
- break;
- default:
- string = "";
- break;
- }
- while (*string != 0) {
- (*linesw[tp->t_line].l_rint)(*string, tp);
- ++string;
- }
- }
- (void)splx(s);
- return(0);
-}
-
-static int physconinit_called = 0;
-
-void
-physconinit(cp)
- struct consdev *cp;
-{
- int *test;
- int counter;
-
- /*
- * Incase we're called more than once. All routines below here
- * undergo once time initialisation
- */
-
- if ( physconinit_called )
- return;
-
- physconinit_called=1;
-
- locked=0;
-
- physcon_major = major ( cp->cn_dev );
-
- /*
- * Create the master console
- */
-
- vconsole_master->next = NULL;
- vconsole_master->number = 0;
- vconsole_master->opened = 1;
- vconsole_master->tp = NULL;
-
- /*
- * Right, here I can choose some render routines
- */
-
- vconsole_master->render_engine = &vidcconsole;
- vconsole_master->terminal_emulator = &vt220;
-
- /*
- * We will very soon loose the master console, and number 0 will
- * become the current console so as not to waste a struct vconsole
- */
- vconsole_current = vconsole_head = vconsole_master;
- vconsole_master->data = NULL;
- vconsole_master->vtty = 1;
-
- /*
- * Perform initial checking
- */
-
- if ( vconsole_master->terminal_emulator->name == 0 )
- vconsole_master->terminal_emulator->name = undefined_string;
- if ( vconsole_master->render_engine->name == 0 )
- vconsole_master->render_engine->name = undefined_string;
-
- /*
- * Right, I have to assume the init and print procedures are ok
- * or there's nothing else that can be done
- */
-
- vconsole_master->R_INIT ( vconsole_master);
- vconsole_master->SPAWN ( vconsole_master );
- vconsole_master->TERM_INIT (vconsole_master);
- vconsole_master->flags = LOSSY;
-
- /*
- * Now I can do some productive verification
- */
-
- /* Ensure there are no zeros in the termulation and render_engine */
-
- test = (int *) vconsole_master->render_engine;
- for ( counter=0; counter<(sizeof(struct render_engine)/4)-1; counter++ )
- if (test[counter]==0)
- panic ( "Render engine %i is missins a routine",
- vconsole_master->render_engine->name );
-
- test = (int *) vconsole_master->terminal_emulator;
- for ( counter=0; counter<(sizeof(struct terminal_emulator)/4)-1; counter++ )
- if (test[counter]==0)
- panic ( "Render engine %i is missing a routine",
- vconsole_master->terminal_emulator->name );
-}
-
-/*
- * void physconputstring(char *string, int length)
- *
- * Render a string on the physical console
- */
-
-void
-physconputstring(string, length)
- char *string;
- int length;
-{
- vconsole_current->PUTSTRING(string, length, vconsole_current);
-}
-
-/*
- * void physcongetchar(void)
- *
- * Get a character from the physical console
- */
-
-int getkey_polled __P(());
-
-char
-physcongetchar(void)
-{
- return(getkey_polled());
-}
-
-void
-consinit(void)
-{
- static int consinit_called = 0;
-
- if (consinit_called != 0)
- return;
-
- consinit_called = 1;
- cninit();
-
-/* Ok get our start up message in early ! */
-
- printf("\x0cRiscBSD booting...\n%s\n", version);
-}
-
-void
-rpcconsolecnprobe(cp)
- struct consdev *cp;
-{
- int major;
-
-/* printf("rpcconsoleprobe: pc=%08x\n", cp);*/
-
-/*
- * Locate the major number for the physical console device
- * We do this by searching the character device list until we find
- * the device with the open function for the physical console
- */
-
- for (major = 0; major < nchrdev; ++major) {
- if (cdevsw[major].d_open == physconopen)
- break;
- }
-
-/* Initialise the required fields */
-
- cp->cn_dev = makedev(major, 0);
- cp->cn_pri = CN_INTERNAL;
-}
-
-#define RPC_BUF_LEN (64)
-char rpc_buf[RPC_BUF_LEN];
-int rpc_buf_ptr = 0;
-
-#define RPC_BUF_FLUSH \
-{ \
- vconsole_current->PUTSTRING ( rpc_buf, rpc_buf_ptr, vconsole_current ); \
- rpc_buf_ptr=0; \
-}
-
-void
-rpcconsolecninit(cp)
- struct consdev *cp;
-{
- physconinit(cp); /* woo Woo WOO!!!, woo, woo, yes ok bye */
-}
-
-void
-rpcconsolecnputc(dev, character)
- dev_t dev;
- char character;
-{
- extern int cold;
-
- if (( rpc_buf_ptr==RPC_BUF_LEN ) || (cold==0) )
- RPC_BUF_FLUSH
-
- rpc_buf[rpc_buf_ptr++] = character;
-
- if ((character == 0x0a )||(character==0x0d)||(character=='.'))
- RPC_BUF_FLUSH
-}
-
-int
-console_switchdown()
-{
- physcon_switchdown ();
- return 0;
-}
-
-int
-console_switchup()
-{
- physcon_switchup ();
- return 0;
-}
-
-int
-console_unblank()
-{
- vconsole_blankcounter = vconsole_blankinit;
- vconsole_current->BLANK ( vconsole_current, BLANK_NONE );
- return 0;
-}
-
-int
-console_scrollback ()
-{
- if (vconsole_current==NULL)
- return 0;
- if ( vconsole_current->R_SCROLLBACK(vconsole_current) ==-1 ) {
- if ( vconsole_current->T_SCROLLBACK(vconsole_current)==-1 ) {
- }
- }
- return 0;
-}
-
-int
-console_scrollforward ()
-{
- if (vconsole_current==NULL)
- return 0;
- if ( vconsole_current->R_SCROLLFORWARD(vconsole_current) ==-1 ) {
- if ( vconsole_current->T_SCROLLFORWARD(vconsole_current)==-1 ) {
- }
- }
- return 0;
-}
-
-int
-console_switchlast ()
-{
- return (physcon_switch ( lastconsole ));
-}
-
-int
-physcon_switchdown ()
-{
- int start;
- int next = (vconsole_current->number);
- start=next;
- do {
- next--;
- next = next&0xff;
- if (next==start) return 0;
- } while (physcon_switch ( next ));
- return 0;
-}
-
-int
-physcon_switchup ()
-{
- int start;
- int next = (vconsole_current->number);
- start=next;
- do {
- next++;
- next = next&0xff;
- if (next==start) return 0;
- } while (physcon_switch ( next ));
- return 0;
-}
-
-void
-console_switch(number)
- u_int number;
-{
- physcon_switch ( number );
-}
-
-/* switchto */
-int
-physcon_switch(number)
- u_int number;
-{
- register struct vconsole *vc;
- int s = spltty ();
- int ret;
-
- if ( locked!=0 ) {
- ret=0;
- goto out;
- }
-
- if ( printing ) {
- want_switch = number;
- ret=0;
- goto out;
- }
-
- vc = find_vc ( makedev ( physcon_major, number ) );
-
- if ( vc==0 ) {
- ret = 1;
- goto out;
- }
-
- if ( vc==vconsole_current ) {
- ret = 1;
- goto out;
- }
-
- /* Point of no return */
-
- locked++; /* We cannot reenter this routine now */
-
- /* De-activate the render engine functions */
- if ( vconsole_current->vtty==1 ) {
- vconsole_current->SLEEP(vconsole_current);
- vconsole_current->FLASH ( vc, 0 );
- vconsole_current->CURSOR_FLASH ( vc, 0 );
- }
-
- /* Swap in the new consoles state */
-
- lastconsole = vconsole_current->number;
- vconsole_current=vc;
- vconsole_current->R_SWAPIN ( vc );
-
- /* Re-activate the render engine functions */
-
- if ( vconsole_current->vtty==1 ) {
- vconsole_current->T_SWAPIN ( vc );
- vconsole_current->WAKE(vconsole_current);
- vconsole_current->FLASH ( vc, 1 );
- vconsole_current->CURSOR_FLASH ( vc, 1 );
- }
-
- locked--;
-
- /* Tell the process about the switch, like the X server */
-
- if ( vc->proc )
- psignal ( vc->proc, SIGIO );
-
- ret = 0;
-out:
- (void)splx(s);
- return(ret);
-}
-
-char
-rpcconsolecngetc(dev)
- dev_t dev;
-{
- return( physcongetchar () );
-}
-
-void
-rpcconsolecnpollc(dev, on)
- dev_t dev;
- int on;
-{
- RPC_BUF_FLUSH
-}
-
-int
-rpcprobe(parent, match, aux)
- struct device *parent;
- void *match;
- void *aux;
-{
- return(1);
-}
-
-void
-rpcattach(parent, self, aux)
- struct device *parent;
- struct device *self;
- void *aux;
-{
- printf(" riscbsd generic console driver %susing %s %s\n",
- CONSOLE_VERSION, vconsole_master->terminal_emulator->name,
- vconsole_master->render_engine->name);
-
- vconsole_master->T_ATTACH(vconsole_master, parent, self, aux);
- vconsole_master->R_ATTACH(vconsole_master, parent, self, aux);
-}
-
-/*
-struct cfattach rpc_ca = {
- sizeof(struct device), rpcprobe, rpcattach
-};
-
-struct cfdriver rpc_cd = {
- NULL, "rpc", DV_TTY
-};
-*/
-
-struct cfattach vt_ca = {
- sizeof(struct device), rpcprobe, rpcattach
-};
-
-struct cfdriver vt_cd = {
- NULL, "rpc", DV_TTY
-};
-
-extern struct terminal_emulator vt220;
-
-struct render_engine *render_engine_tab[] = {
- &vidcconsole,
-};
-
-struct terminal_emulator *terminal_emulator_tab[] = {
- &vt220,
-};
diff --git a/sys/arch/arm32/dev/console/debugconsole.c b/sys/arch/arm32/dev/console/debugconsole.c
deleted file mode 100644
index 2fc947b4c2c..00000000000
--- a/sys/arch/arm32/dev/console/debugconsole.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* $NetBSD: debugconsole.c,v 1.2 1996/03/18 19:33:04 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * debugconsole.c
- *
- * Console functions
- *
- * Created : 17/09/94
- */
-
-#ifdef DEBUGTERM
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/tty.h>
-#include <machine/stdarg.h>
-#include <machine/vconsole.h>
-
-#define TOTTY 0x02
-
-/*
- * This code allows the kernel developer to have a 'nice' virtual
- * console for debugging information.
- *
- * It is more useful than say, printf since the output is
- *
- * a) isolated
- *
- */
-
-struct vconsole *debug_vc=0;
-struct tty *debug_tty=0;
-
-void
-dprintf(fmt, va_alist)
- char *fmt;
-{
- if ( debug_vc==0 )
- return;
-
- dumb_putstring ( fmt, strlen(fmt), debug_vc );
-/*
- va_list *ap;
-
- if ( debug_tty == NULL )
- return;
-
- va_start(ap, fmt);
- kprintf(fmt, TOTTY, debug_tty, ap);
- va_end(ap);
-*/
-}
-
-#endif
-
diff --git a/sys/arch/arm32/dev/console/dumb.c b/sys/arch/arm32/dev/console/dumb.c
deleted file mode 100644
index 40396cbf70b..00000000000
--- a/sys/arch/arm32/dev/console/dumb.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* $NetBSD: dumb.c,v 1.2 1996/03/18 19:33:05 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * dumb.c
- *
- * Console functions
- *
- * Created : 17/09/94
- */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/malloc.h>
-#include <sys/device.h>
-#include <machine/param.h>
-#include <machine/katelib.h>
-#include <machine/cpu.h>
-#include <machine/bootconfig.h>
-#include <machine/iomd.h>
-#include <machine/vidc.h>
-#include <machine/vconsole.h>
-
-#define TERMTYPE_PUTSTRING dumb_putstring
-#define TERMTYPE_INIT dumb_init
-
-int
-TERMTYPE_INIT(vc)
- struct vconsole *vc;
-{
- /* This dumb termial is so dumb it requires very little init */
- return 0;
-}
-
-static void
-do_scrollup(vc)
- struct vconsole *vc;
-{
-
- if (vc==vconsole_current)
- vc->SCROLLUP ( vc, 0, vc->ychars-1 );
-
- vc->ycur=vc->ychars-1;
-
- if ( ((vc->flags)&(LOSSY)) == 0 ) {
- int counter;
- for ( counter=vc->xchars; counter < ((vc->ychars)*(vc->xchars)); counter++ ) {
- vc->charmap[counter-vc->xchars] = vc->charmap[counter];
- }
- for ( counter=vc->xchars*(vc->ychars-1); counter < (vc->xchars*vc->ychars); counter++ ) {
- vc->charmap[counter]=0x20;
- }
- }
-}
-
-static int
-do_render(c, vc)
- char c;
- struct vconsole *vc;
-{
- /* THE RENDER STAGE **********************************/
- if ((c>=0x20)&&(c<=0x7f)) {
- if (((vc->flags)&(LOSSY))==0) {
- vc->charmap[ vc->xcur + vc->ycur*vc->xchars ] = c | 7<<8;
- }
-
- if ( vc==vconsole_current )
- vc->RENDER ( vc, c );
-
- vc->xcur++;
- }
-
- if ( vc->xcur >= vc->xchars ) {
- vc->xcur=0;
- vc->ycur++;
- }
-
- if ( vc->ycur >= vc->ychars ) {
- do_scrollup ( vc );
- vc->xcur=0;
- vc->ycur=vc->ychars-1;
- }
-}
-
-int
-TERMTYPE_PUTSTRING(string, length, vc)
- char *string;
- int length;
- struct vconsole *vc;
-{
- char c;
-
- while ( ((c=*(string++))!=0) && ((length--)>0)) {
- if ((c<31)||(c>127)) c='*';
- switch (c) {
- case 0x0a:
- vc->ycur++;
- if ( vc->ycur>=vc->ychars ) {
- do_scrollup ( vc );
- vc->ycur=vc->ychars-1;
- }
- break;
-
- case 0x0d:
- vc->xcur=0;
- break;
-
- default:
- do_render ( c, vc );
- break;
- }
- }
-}
diff --git a/sys/arch/arm32/dev/console/fonts/font_bold.h b/sys/arch/arm32/dev/console/fonts/font_bold.h
deleted file mode 100644
index f3a792f24f5..00000000000
--- a/sys/arch/arm32/dev/console/fonts/font_bold.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/* $OpenBSD: font_bold.h,v 1.2 2000/03/03 00:54:47 todd Exp $ */
-/* $NetBSD: font_bold.h,v 1.1 1996/01/31 23:20:07 mark Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * font_terminal14_bold.h
- *
- * Font for physical console driver
- *
- * Created : 18/09/94
- * Last updated : 15/10/94
- *
- * Based on kate/display/14bold.h
- *
- */
-
-unsigned char font_terminal_14bold_data[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x7e, 0x7e, 0x24, 0x7e, 0x7e, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0x0c, 0x38, 0x60, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x6c, 0x76, 0x3c, 0x30, 0x18, 0x78, 0xdc, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x34, 0x34, 0x98, 0x7c, 0x66, 0x66, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x60, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x38, 0xfe, 0x38, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x66, 0x66, 0x66, 0x66, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x1c, 0x1a, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x70, 0x38, 0x1c, 0x0e, 0x66, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x38, 0x60, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x68, 0x64, 0x66, 0xfe, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x06, 0x06, 0x3e, 0x60, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x0c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x60, 0x30, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x8e, 0xe6, 0xb6, 0xb6, 0xe6, 0x0e, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x06, 0x06, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x76, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc6, 0x66, 0x36, 0x1e, 0x1e, 0x36, 0x66, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x6e, 0x6e, 0x76, 0x76, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x76, 0x3c, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x3e, 0x36, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x3e, 0x7c, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xd6, 0xd6, 0xd6, 0x7c, 0x28, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x60, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x0c, 0x3e, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x1e, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x66, 0x36, 0x1e, 0x1e, 0x36, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0xd6, 0xd6, 0xd6, 0xd6, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x06, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xcc, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x46, 0x3e, 0x7c, 0x62, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x3e, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x2c, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xd6, 0xd6, 0xd6, 0xfe, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x70, 0x38, 0x1c, 0x0e, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x70, 0x18, 0x18, 0x30, 0x1c, 0x30, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0e, 0x18, 0x18, 0x0c, 0x38, 0x0c, 0x18, 0x18, 0x18, 0x0e, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x4c, 0x7e, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x36, 0x36, 0x76, 0x36, 0x36, 0x36, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xd6, 0xf6, 0x16, 0xd6, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x3c, 0x66, 0x06, 0x66, 0x3c, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x78, 0x4c, 0x0c, 0x3e, 0x0c, 0x0c, 0xde, 0x7a, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x38, 0x6c, 0x6c, 0x38, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x7e, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3c, 0x66, 0x0e, 0x3c, 0x66, 0x66, 0x3c, 0x70, 0x66, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0xc3, 0xdb, 0xcb, 0xcb, 0xdb, 0xc3, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1c, 0x30, 0x3c, 0x36, 0x3c, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7e, 0x7e, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x3c, 0x7e, 0x81, 0x9d, 0xad, 0x9d, 0xad, 0x81, 0x7e, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1c, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1c, 0x32, 0x30, 0x1c, 0x06, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1c, 0x32, 0x18, 0x30, 0x32, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0xfe, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xfc, 0x5e, 0x5e, 0x5e, 0x5e, 0x5c, 0x58, 0x58, 0x58, 0x58, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x0c, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x1c, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1c, 0x36, 0x36, 0x36, 0x1c, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x36, 0x6c, 0x36, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x0e, 0x8c, 0x4c, 0x3e, 0x10, 0x68, 0x74, 0x6a, 0xfd, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x0e, 0x8c, 0x4c, 0x3e, 0x10, 0x68, 0xd4, 0xc2, 0x61, 0x30, 0xf0, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x1e, 0x98, 0x4c, 0x38, 0x1e, 0x6c, 0x74, 0x6a, 0xfd, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x0c, 0x46, 0x66, 0x3c, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x18, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3c, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x5c, 0x3a, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x2c, 0x2c, 0x18, 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x36, 0x36, 0x76, 0x3e, 0x36, 0x36, 0xf6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x06, 0x06, 0x06, 0x66, 0x3c, 0x10, 0x18, 0x00, 0x00,
- 0x00, 0x18, 0x30, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x60, 0x30, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3c, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x6c, 0x6c, 0x00, 0x7c, 0x0c, 0x0c, 0x3c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x18, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3c, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1c, 0x2c, 0x4c, 0x4c, 0x5e, 0x4c, 0x2c, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x5c, 0x3a, 0x00, 0x66, 0x66, 0x6e, 0x6e, 0x76, 0x76, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3c, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x5c, 0x3a, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x78, 0x6c, 0x6c, 0x7c, 0x7c, 0x6c, 0x6c, 0x3c, 0x02, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3c, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x3c, 0x6c, 0x6c, 0x3c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x36, 0x66, 0x66, 0x66, 0x36, 0x02, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x30, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x3c, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x6c, 0x6c, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3c, 0x6e, 0x3c, 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0xdc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xb2, 0xfc, 0x36, 0xb6, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x06, 0x66, 0x3c, 0x10, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x18, 0x00, 0x3c, 0x66, 0x7e, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x3c, 0x66, 0x7e, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x3c, 0x00, 0x3c, 0x66, 0x7e, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0x3c, 0x66, 0x7e, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x18, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x3c, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x36, 0x36, 0x00, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x1c, 0x30, 0x7c, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x5c, 0x3a, 0x00, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x3c, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x5c, 0x3a, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x7e, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x6c, 0x7c, 0x7c, 0x6c, 0x3a, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x3c, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x66, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x3c, 0x6c, 0x6c, 0x6c, 0x6c, 0x3c, 0x0c, 0x0c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x66, 0x3c, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
- 0x00, 0x00, 0x00, 0x08, 0x1c, 0x2a, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x49, 0x2a, 0x1c, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0xff, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xff, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-font_struct font_terminal_14bold = {
- 199,
- 1,
- 16,
- 8,
- 16,
- 8,
- 16,
- 3184,
- font_terminal_14bold_data
-};
-
-/* End of font14bold.h */
diff --git a/sys/arch/arm32/dev/console/fonts/font_italic.h b/sys/arch/arm32/dev/console/fonts/font_italic.h
deleted file mode 100644
index dd9b00dedbe..00000000000
--- a/sys/arch/arm32/dev/console/fonts/font_italic.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/* $OpenBSD: font_italic.h,v 1.2 2000/03/03 00:54:47 todd Exp $ */
-/* $NetBSD: font_italic.h,v 1.1 1996/01/31 23:20:13 mark Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * font_terminal14_italic.h
- *
- * Font for physical console driver
- *
- * Created : 18/09/94
- * Last updated : 15/10/94
- *
- * Based on kate/display/14norm.h
- *
- */
-
-unsigned char font_terminal_14italic_data[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x7e, 0x24, 0x7e, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x18, 0x30, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x24, 0x3a, 0x14, 0x10, 0x08, 0x28, 0x54, 0x24, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x14, 0x08, 0x54, 0x22, 0x22, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x38, 0x38, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x20, 0x18, 0x04, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x38, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x28, 0x24, 0x22, 0x7e, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x02, 0x02, 0x3e, 0x42, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x3c, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x20, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1c, 0x22, 0x20, 0x10, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x72, 0x4a, 0x4a, 0x72, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x72, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x24, 0x14, 0x0c, 0x0c, 0x14, 0x24, 0x44, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0xc6, 0xaa, 0xaa, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x4a, 0x52, 0x3c, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x12, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x3c, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc6, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x08, 0x3c, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x1c, 0x22, 0x22, 0x1c, 0x02, 0x3c, 0x42, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x22, 0x12, 0x0e, 0x12, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x92, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x40, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x4c, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x3c, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x3c, 0x08, 0x08, 0x08, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x24, 0x18, 0x18, 0x24, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x42, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x20, 0x10, 0x08, 0x04, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x08, 0x08, 0x10, 0x0c, 0x10, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x10, 0x10, 0x08, 0x30, 0x08, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x4c, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x12, 0x12, 0x72, 0x12, 0x12, 0x12, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x92, 0xf2, 0x12, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x38, 0x54, 0x14, 0x54, 0x38, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x08, 0x08, 0x3c, 0x08, 0x8c, 0x76, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, 0x44, 0x44, 0x44, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x7c, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x44, 0x04, 0x38, 0x44, 0x44, 0x38, 0x40, 0x44, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x82, 0xb2, 0x8a, 0x8a, 0xb2, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x10, 0x1c, 0x12, 0x1c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x12, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x82, 0x9a, 0xaa, 0x9a, 0xaa, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x10, 0x08, 0x04, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x10, 0x20, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x24, 0x12, 0x12, 0x6d, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7c, 0x2e, 0x2e, 0x2e, 0x2c, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c, 0x08, 0x08, 0x08, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x12, 0x12, 0x12, 0x0c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x48, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x06, 0x44, 0x24, 0x1e, 0x48, 0x64, 0x52, 0xf8, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x06, 0x44, 0x24, 0x1e, 0x68, 0x94, 0x42, 0x20, 0xf0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0c, 0x12, 0x08, 0x52, 0x2c, 0x50, 0x68, 0x54, 0xfa, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x08, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x14, 0x14, 0x72, 0x1e, 0x12, 0x12, 0xf2, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x02, 0x42, 0x3c, 0x10, 0x08, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x10, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x48, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x28, 0x28, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x10, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x28, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x28, 0x28, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x48, 0x48, 0x48, 0x5c, 0x48, 0x48, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x42, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xbc, 0x42, 0x62, 0x52, 0x52, 0x4a, 0x46, 0x3e, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x08, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x3c, 0x44, 0x44, 0x3c, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x26, 0x44, 0x44, 0x44, 0x34, 0x02, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x48, 0x48, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x44, 0x38, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x90, 0xfc, 0x12, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x42, 0x3c, 0x08, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x12, 0x0c, 0x0c, 0x12, 0x3c, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x7c, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7c, 0x62, 0x52, 0x4a, 0x46, 0x3e, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0xc6, 0x44, 0x44, 0x28, 0x30, 0x10, 0x12, 0x0c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x3c, 0x44, 0x44, 0x3c, 0x04, 0x0e, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0xc6, 0x44, 0x44, 0x28, 0x28, 0x10, 0x12, 0x0c, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
- 0x00, 0x00, 0x00, 0x08, 0x1c, 0x2a, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x49, 0x2a, 0x1c, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0xff, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xff, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-font_struct font_terminal_14italic = {
- 199,
- 1,
- 16,
- 8,
- 16,
- 8,
- 16,
- 3184,
- font_terminal_14italic_data
-};
-
-/* End of font14norm.h */
diff --git a/sys/arch/arm32/dev/console/fonts/font_normal.h b/sys/arch/arm32/dev/console/fonts/font_normal.h
deleted file mode 100644
index dfe8c017061..00000000000
--- a/sys/arch/arm32/dev/console/fonts/font_normal.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/* $OpenBSD: font_normal.h,v 1.2 2000/03/03 00:54:48 todd Exp $ */
-/* $NetBSD: font_normal.h,v 1.1 1996/01/31 23:20:16 mark Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * font_terminal14_normal.h
- *
- * Font for physical console driver
- *
- * Created : 18/09/94
- * Last updated : 15/10/94
- *
- * Based on kate/display/14norm.h
- *
- */
-
-unsigned char font_terminal_14normal_data[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x7e, 0x24, 0x7e, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x54, 0x18, 0x30, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x24, 0x3a, 0x14, 0x10, 0x08, 0x28, 0x54, 0x24, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x14, 0x08, 0x54, 0x22, 0x22, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x38, 0x38, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x20, 0x18, 0x04, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x40, 0x38, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x28, 0x24, 0x22, 0x7e, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x02, 0x02, 0x3e, 0x42, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x02, 0x3e, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x3c, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x20, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1c, 0x22, 0x20, 0x10, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x72, 0x4a, 0x4a, 0x72, 0x02, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x72, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x24, 0x14, 0x0c, 0x0c, 0x14, 0x24, 0x44, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0xc6, 0xaa, 0xaa, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x4a, 0x52, 0x3c, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x42, 0x42, 0x42, 0x3e, 0x12, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x3c, 0x40, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc6, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44, 0xc6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x3e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x5c, 0x62, 0x42, 0x42, 0x42, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x08, 0x3c, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x1c, 0x22, 0x22, 0x1c, 0x02, 0x3c, 0x42, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x22, 0x12, 0x0e, 0x12, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x92, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x3e, 0x02, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x40, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x4c, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x3c, 0x40, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x3c, 0x08, 0x08, 0x08, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x24, 0x18, 0x18, 0x24, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7c, 0x40, 0x42, 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x20, 0x10, 0x08, 0x04, 0x7e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x08, 0x08, 0x10, 0x0c, 0x10, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0c, 0x10, 0x10, 0x08, 0x30, 0x08, 0x10, 0x10, 0x10, 0x0c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x4c, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x12, 0x12, 0x72, 0x12, 0x12, 0x12, 0xfc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x92, 0xf2, 0x12, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x38, 0x54, 0x14, 0x54, 0x38, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x08, 0x08, 0x3c, 0x08, 0x8c, 0x76, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, 0x44, 0x44, 0x44, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x7c, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x44, 0x04, 0x38, 0x44, 0x44, 0x38, 0x40, 0x44, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x82, 0xb2, 0x8a, 0x8a, 0xb2, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x10, 0x1c, 0x12, 0x1c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x12, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7c, 0x82, 0x9a, 0xaa, 0x9a, 0xaa, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x10, 0x08, 0x04, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x10, 0x20, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x24, 0x12, 0x12, 0x6d, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7c, 0x2e, 0x2e, 0x2e, 0x2c, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c, 0x08, 0x08, 0x08, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x12, 0x12, 0x12, 0x0c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x48, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x06, 0x44, 0x24, 0x1e, 0x48, 0x64, 0x52, 0xf8, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x06, 0x44, 0x24, 0x1e, 0x68, 0x94, 0x42, 0x20, 0xf0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0c, 0x12, 0x08, 0x52, 0x2c, 0x50, 0x68, 0x54, 0xfa, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x08, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x18, 0x24, 0x42, 0x42, 0x7e, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x14, 0x14, 0x72, 0x1e, 0x12, 0x12, 0xf2, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x02, 0x02, 0x42, 0x3c, 0x10, 0x08, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x10, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x48, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x28, 0x28, 0x00, 0x7c, 0x04, 0x04, 0x3c, 0x04, 0x04, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x10, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x28, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x28, 0x28, 0x00, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x48, 0x48, 0x48, 0x5c, 0x48, 0x48, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x42, 0x46, 0x4a, 0x4a, 0x52, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4c, 0x32, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xbc, 0x42, 0x62, 0x52, 0x52, 0x4a, 0x46, 0x3e, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x08, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x3c, 0x44, 0x44, 0x3c, 0x04, 0x0e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x26, 0x44, 0x44, 0x44, 0x34, 0x02, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x48, 0x48, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x44, 0x38, 0x00, 0x3c, 0x40, 0x7c, 0x42, 0x42, 0xbc, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x90, 0xfc, 0x12, 0x92, 0x6c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x02, 0x02, 0x42, 0x3c, 0x08, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x7e, 0x02, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x12, 0x0c, 0x0c, 0x12, 0x3c, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3a, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x58, 0x34, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x7c, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7c, 0x62, 0x52, 0x4a, 0x46, 0x3e, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x62, 0x5c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0xc6, 0x44, 0x44, 0x28, 0x30, 0x10, 0x12, 0x0c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x3c, 0x44, 0x44, 0x3c, 0x04, 0x0e, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0xc6, 0x44, 0x44, 0x28, 0x28, 0x10, 0x12, 0x0c, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
- 0x00, 0x00, 0x00, 0x08, 0x1c, 0x2a, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x49, 0x2a, 0x1c, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0xff, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0xff, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-font_struct font_terminal_14normal = {
- 199,
- 1,
- 16,
- 8,
- 16,
- 8,
- 16,
- 3184,
- font_terminal_14normal_data
-};
-
-/* End of font14norm.h */
diff --git a/sys/arch/arm32/dev/console/fonts/font_wide.h b/sys/arch/arm32/dev/console/fonts/font_wide.h
deleted file mode 100644
index 646ecec35a9..00000000000
--- a/sys/arch/arm32/dev/console/fonts/font_wide.h
+++ /dev/null
@@ -1,259 +0,0 @@
-/* $OpenBSD: font_wide.h,v 1.2 2000/03/03 00:54:48 todd Exp $ */
-/* $NetBSD: font_wide.h,v 1.1 1996/01/31 23:20:22 mark Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * font_terminal14_wide.h
- *
- * Font for physical console driver
- *
- * Created : 18/09/94
- * Last updated : 15/10/94
- *
- * Based on kate/display/14widen.h
- *
- */
-
-unsigned char font_terminal_14widen_data[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0xfe, 0x07, 0x98,
- 0x01, 0xfe, 0x07, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xfc, 0x03, 0x66, 0x04, 0xfc,
- 0x03, 0x60, 0x06, 0x66, 0x06, 0xfc, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x06, 0x44, 0x03, 0xb8, 0x01, 0xc0,
- 0x00, 0x60, 0x00, 0xb0, 0x03, 0x58, 0x04, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0xf0,
- 0x04, 0x8c, 0x05, 0x06, 0x03, 0x06, 0x03, 0xfc, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x00, 0x60, 0x00, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x66, 0x06, 0xf8, 0x01, 0xf8,
- 0x01, 0x66, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfe,
- 0x07, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x03, 0x80, 0x01, 0xc0,
- 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0c, 0x03, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x70, 0x00, 0x78,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x00, 0x06, 0x80,
- 0x03, 0xe0, 0x01, 0x78, 0x00, 0x1e, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x00, 0x06, 0xe0,
- 0x03, 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x01, 0xa0, 0x01, 0x90,
- 0x01, 0x88, 0x01, 0x84, 0x01, 0xfe, 0x07, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x06, 0x00, 0x06, 0x00, 0xfe,
- 0x03, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x0c, 0x00, 0x06, 0x00, 0xfe,
- 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x03, 0x80, 0x01, 0xc0,
- 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x06, 0xfc,
- 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0xfc, 0x07, 0x00, 0x06, 0x00, 0x03, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x30,
- 0x00, 0x0c, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
- 0x07, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x30, 0x00, 0xc0,
- 0x00, 0x00, 0x03, 0xc0, 0x00, 0x30, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x00, 0x06, 0xc0,
- 0x03, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0xc6, 0x07, 0x66,
- 0x06, 0x66, 0x06, 0xc6, 0x07, 0x06, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x0c,
- 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x06, 0x06, 0x06, 0x06, 0xfe,
- 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x00, 0x06,
- 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x0c, 0x00, 0x0c, 0x00, 0xfc,
- 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x0c, 0x00, 0x0c, 0x00, 0x0c,
- 0x00, 0xfc, 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x00, 0x06,
- 0x00, 0x86, 0x07, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfe,
- 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x60, 0x00, 0x60, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0x86, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x86, 0x01, 0x66, 0x00, 0x1e,
- 0x00, 0x1e, 0x00, 0x66, 0x00, 0x86, 0x01, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c,
- 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x0e, 0x07, 0x9e, 0x07, 0xf6,
- 0x06, 0x66, 0x06, 0x66, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x0e, 0x06, 0x1e, 0x06, 0x36,
- 0x06, 0x66, 0x06, 0xc6, 0x06, 0x86, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0xfe, 0x03, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x86, 0x07, 0xfc, 0x03, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0xfe, 0x03, 0x86, 0x01, 0x06, 0x03, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06, 0x06, 0x06, 0x00, 0xfc,
- 0x03, 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x60, 0x00, 0x60, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x0c, 0x03, 0x98, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66,
- 0x06, 0x66, 0x06, 0xf6, 0x06, 0x9c, 0x03, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x0c, 0x03, 0x98, 0x01, 0xf0,
- 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0c, 0x03, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x0c, 0x03, 0x98, 0x01, 0xf0,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x80, 0x01, 0xc0, 0x00, 0x60,
- 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xf0, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60,
- 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xf8, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x98, 0x01, 0x06, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x00,
- 0x06, 0xfc, 0x07, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x0d, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf6, 0x03, 0x0e,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x06, 0xf6, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06,
- 0x06, 0x06, 0x00, 0x06, 0x00, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0xfc, 0x06, 0x06,
- 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0xfc, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06,
- 0x06, 0xfe, 0x07, 0x06, 0x00, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x18, 0x00, 0x18, 0x00, 0xfe,
- 0x03, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x07, 0x00, 0x06, 0x00, 0x03, 0xfc, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf6, 0x03, 0x0e,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x78, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xe0, 0x03, 0x00,
- 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xf8, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x86, 0x01, 0x66,
- 0x00, 0x1e, 0x00, 0x66, 0x00, 0x86, 0x01, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x03, 0x66,
- 0x06, 0x66, 0x06, 0x66, 0x06, 0x66, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x03, 0x0e,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x03, 0x0e,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x0e, 0x06, 0xf6, 0x03, 0x06, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x06, 0x06,
- 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0xfc, 0x06, 0x00, 0x06, 0x00, 0x06,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x03, 0x38,
- 0x06, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x06,
- 0x04, 0xfc, 0x03, 0x00, 0x06, 0x06, 0x06, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0xfe, 0x01, 0x18,
- 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0xfc, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
- 0x06, 0x0c, 0x03, 0x98, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
- 0x06, 0x66, 0x06, 0x66, 0x06, 0xf6, 0x06, 0x9c, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x07, 0x98,
- 0x01, 0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
- 0x06, 0x0c, 0x03, 0x98, 0x01, 0xf0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x1c, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x00,
- 0x07, 0xc0, 0x01, 0x70, 0x00, 0x1c, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, 0x3c,
- 0x00, 0x60, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xe0, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0,
- 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x00, 0x80,
- 0x07, 0xc0, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x66, 0x06, 0xc6, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0x66, 0x00, 0x66, 0x00, 0xe6,
- 0x01, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x66,
-};
-
-font_struct font_terminal_14widen = {
- 193,
- 2,
- 13,
- 12,
- 13,
- 12,
- 13,
- 5018,
- font_terminal_14widen_data
-};
-
-/* End of font14widen.h */
diff --git a/sys/arch/arm32/dev/console/vidc.c b/sys/arch/arm32/dev/console/vidc.c
deleted file mode 100644
index e289593fd56..00000000000
--- a/sys/arch/arm32/dev/console/vidc.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/* $NetBSD: vidc.c,v 1.2 1996/03/18 19:33:07 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * vidc.c
- *
- * Old console ioctl declarations
- *
- * Created : 17/09/94
- */
-
-#include <sys/types.h>
-#include <machine/vidc.h>
-#include <machine/katelib.h>
-
-/* VIDC STUFF */
-
-/*
- * A structure containing ALL the information required to restore
- * the VIDC20 to any given state. ALL vidc transactions should
- * go through these procedures, which record the vidc's state.
- * it may be an idea to set the permissions of the vidc base address
- * so we get a fault, so the fault routine can record the state but
- * I guess that's not really necessary for the time being, since we
- * can make the kernel more secure later on. Also, it is possible
- * to write a routine to allow 'reading' of the vidc registers.
- */
-
-struct vidc_state vidc_lookup = {
- { 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0
- },
-
- VIDC_PALREG,
- VIDC_BCOL,
- VIDC_CP1 ,
- VIDC_CP2,
- VIDC_CP3,
- VIDC_HCR,
- VIDC_HSWR,
- VIDC_HBSR,
- VIDC_HDSR,
- VIDC_HDER,
- VIDC_HBER,
- VIDC_HCSR,
- VIDC_HIR,
- VIDC_VCR,
- VIDC_VSWR,
- VIDC_VBSR,
- VIDC_VDSR,
- VIDC_VDER,
- VIDC_VBER,
- VIDC_VCSR,
- VIDC_VCER,
- VIDC_EREG,
- VIDC_FSYNREG,
- VIDC_CONREG,
- VIDC_DCTL
-};
-
-struct vidc_state vidc_current[1];
-
-int
-vidc_write(reg, value)
- u_int reg;
- int value;
-{
- int counter;
-
- int *current;
- int *tab;
-
- tab = (int *)&vidc_lookup;
- current = (int *)vidc_current;
-
- /* End higly doddgy code */
-/*
-WriteWord ( VIDC_BASE, reg | value );
-return 1;
-*/
-
- /*
- * OK, the VIDC_PALETTE register is handled differently
- * to the others on the VIDC, so take that into account here
- */
- if (reg==VIDC_PALREG) {
- vidc_current->palreg = 0;
- WriteWord ( VIDC_BASE, reg | value );
- return 0;
- }
-
- if (reg==VIDC_PALETTE) {
- WriteWord ( VIDC_BASE, reg | value );
- vidc_current->palette[vidc_current->palreg] = value;
- vidc_current->palreg++;
- vidc_current->palreg = vidc_current->palreg & 0xff;
- return 0;
- }
-
- /*
- * Undefine SAFER if you wish to speed things up (a little)
- * although this means the function will assume things abou
- * the structure of vidc_state. i.e. the first 256 words are
- * the palette array
- */
-
-#define SAFER
-
-#ifdef SAFER
-#define INITVALUE 0
-#else
-#define INITVALUE 256
-#endif
-
- for ( counter=INITVALUE; counter<= sizeof(struct vidc_state); counter++ ) {
- if ( reg==tab[counter] ) {
- WriteWord ( VIDC_BASE, reg | value );
- current[counter] = value;
- return 0;
- }
- }
- return -1;
-}
-
-void
-vidc_setpalette(vidc)
- struct vidc_state *vidc;
-{
- int counter = 0;
-
- vidc_write(VIDC_PALREG, 0x00000000);
- for (counter = 0; counter < 255; counter++)
- vidc_write(VIDC_PALETTE, vidc->palette[counter]);
-}
-
-void
-vidc_setstate(vidc)
- struct vidc_state *vidc;
-{
- vidc_write ( VIDC_PALREG, vidc->palreg );
- vidc_write ( VIDC_BCOL, vidc->bcol );
- vidc_write ( VIDC_CP1, vidc->cp1 );
- vidc_write ( VIDC_CP2, vidc->cp2 );
- vidc_write ( VIDC_CP3, vidc->cp3 );
- vidc_write ( VIDC_HCR, vidc->hcr );
- vidc_write ( VIDC_HSWR, vidc->hswr );
- vidc_write ( VIDC_HBSR, vidc->hbsr );
- vidc_write ( VIDC_HDSR, vidc->hdsr );
- vidc_write ( VIDC_HDER, vidc->hder );
- vidc_write ( VIDC_HBER, vidc->hber );
- vidc_write ( VIDC_HCSR, vidc->hcsr );
- vidc_write ( VIDC_HIR, vidc->hir );
- vidc_write ( VIDC_VCR, vidc->vcr );
- vidc_write ( VIDC_VSWR, vidc->vswr );
- vidc_write ( VIDC_VBSR, vidc->vbsr );
- vidc_write ( VIDC_VDSR, vidc->vdsr );
- vidc_write ( VIDC_VDER, vidc->vder );
- vidc_write ( VIDC_VBER, vidc->vber );
- vidc_write ( VIDC_VCSR, vidc->vcsr );
- vidc_write ( VIDC_VCER, vidc->vcer );
-/*
- * Right, dunno what to set these to yet, but let's keep RiscOS's
- * ones for now, until the time is right to finish this code
- */
-
-/* vidc_write ( VIDC_EREG, vidc->ereg ); */
-/* vidc_write ( VIDC_FSYNREG, vidc->fsynreg ); */
-/* vidc_write ( VIDC_CONREG, vidc->conreg ); */
-/* vidc_write ( VIDC_DCTL, vidc->dctl ); */
-
-}
-
-
-void
-vidc_getstate(vidc)
- struct vidc_state *vidc;
-{
- *vidc = *vidc_current;
-}
-
-void
-vidc_stdpalette()
-{
- WriteWord(VIDC_BASE, VIDC_PALREG | 0x00000000);
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL( 0, 0, 0));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 0, 0));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL( 0, 255, 0));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 255, 0));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL( 0, 0, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 0, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL( 0, 255, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 255, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(128, 128, 128));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 128, 128));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(128, 255, 128));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 255, 128));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(128, 128, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 128, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(128, 255, 255));
- WriteWord(VIDC_BASE, VIDC_PALETTE | VIDC_COL(255, 255, 255));
-}
-
-#if 0
-int
-vidc_col(red, green, blue)
- int red;
- int green;
- int blue;
-{
- red = red & 0xFF;
- green = green & 0xFF;
- blue = blue & 0xFF;
-
- return ( (blue<<16) + (green<<8) + red );
-}
-
-#endif
diff --git a/sys/arch/arm32/dev/console/vidc_mc.S b/sys/arch/arm32/dev/console/vidc_mc.S
deleted file mode 100644
index d22ece5384a..00000000000
--- a/sys/arch/arm32/dev/console/vidc_mc.S
+++ /dev/null
@@ -1,213 +0,0 @@
-/* $NetBSD: vidc_mc.S,v 1.3 1996/03/18 19:33:08 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * vidc_mc.S
- *
- * Console assembly functions
- *
- * Created : 17/09/94
- */
-
-#include "assym.h"
-#include <machine/iomd.h>
-
-lr .req r14
-pc .req r15
-sp .req r13
-
-.text
- .global _vidcconsole_loadtab
-_vidcconsole_loadtab:
- mov r0, r0
- ldmia r0!, { r2 }
- ldmia r0!, { r2-r3 }
- ldmia r0!, { r2-r4 }
- ldmia r0!, { r2-r5 }
- ldmia r0!, { r2-r6 }
- ldmia r0!, { r2-r7 }
- ldmia r0!, { r2-r8 }
- ldmia r0!, { r2-r9 }
- ldmia r0!, { r2-r10 }
- ldmia r0!, { r2-r11 }
- ldmia r0!, { r2-r12 }
- ldmia r0!, { r2-r12, r14 }
-
- .global _vidcconsole_storetab
-_vidcconsole_storetab:
- mov r0, r0
- stmia r0!, { r2 }
- stmia r0!, { r2-r3 }
- stmia r0!, { r2-r4 }
- stmia r0!, { r2-r5 }
- stmia r0!, { r2-r6 }
- stmia r0!, { r2-r7 }
- stmia r0!, { r2-r8 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r10 }
- stmia r0!, { r2-r11 }
- stmia r0!, { r2-r12 }
- stmia r0!, { r2-r12, r14 }
-
- .global _vidcconsole_pushtab
-_vidcconsole_pushtab:
- mov r0, r0
- stmfd r13!, { r0-r3 }
- stmfd r13!, { r0-r7 }
- stmfd r13!, { r0-r11 }
- stmfd r13!, { r0-r14 }
-
- .global _vidcconsole_poptab
-_vidcconsole_poptab:
- mov r0, r0
- ldmfd r13!, { r0-r3 }
- ldmfd r13!, { r0-r7 }
- ldmfd r13!, { r0-r11 }
- ldmfd r13!, { r0-r14 }
-
- .global _vidcconsole_enter
-_vidcconsole_enter:
- stmfd r13!, { r15 }
-
- .global _vidcconsole_exit
-_vidcconsole_exit:
- stmfd r13!, { r15 }
-
- .global _vidcconsolemc_render
-
- /* On entry r0 = addr */
- /* r1 = font */
- /* r2 = col */
- /* r3 = xres */
-
- /* Optimise for 8x16 font */
- /* At the moment */
-
-_vidcconsolemc_render:
-
- stmfd r13!, {r0-r9, lr}
-
- /* Generate colour mask */
-
- mov r9, r2, lsr #16
- mov r4, r2, lsr #8
- and r9, r9, #0xff
- and r4, r4, #0xff
- and r2, r2, #0xff
-
- /* For each row (8 pixels) */
-
-xloop:
- ldrb r5, [r1], #1
-
- mov r7, #0
- mov r8, #0
-
-/* This loop will get *SOOOO* much faster with */
-/* the new algorithmn */
- tst r5, #8
- orrne r7, r2, r7, lsl #8
- orreq r7, r4, r7, lsl #8
- tst r5, #4
- orrne r7, r2, r7, lsl #8
- orreq r7, r4, r7, lsl #8
- tst r5, #2
- orrne r7, r2, r7, lsl #8
- orreq r7, r4, r7, lsl #8
- tst r5, #1
- orrne r7, r2, r7, lsl #8
- orreq r7, r4, r7, lsl #8
- tst r5, #0x80
- orrne r8, r2, r8, lsl #8
- orreq r8, r4, r8, lsl #8
- tst r5, #0x40
- orrne r8, r2, r8, lsl #8
- orreq r8, r4, r8, lsl #8
- tst r5, #0x20
- orrne r8, r2, r8, lsl #8
- orreq r8, r4, r8, lsl #8
- tst r5, #0x10
- orrne r8, r2, r8, lsl #8
- orreq r8, r4, r8, lsl #8
-
- stmia r0, {r7, r8}
- add r0, r0, r3
-
- subs r9, r9, #1
- bne xloop
-
- ldmfd r13!, {r0-r9, pc}
-
- .global _vidcconsolemc_cls
-
- /* On entry r0 = start */
- /* r1 = end */
- /* r2 = col */
-
-
-_vidcconsolemc_cls:
- stmfd r13!, {r0-r9, lr}
-
- mov r3, r2
- mov r4, r2
- mov r5, r2
- mov r6, r2
- mov r7, r2
- mov r8, r2
- mov r9, r2
-
-loop:
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
- stmia r0!, { r2-r9 }
-
- cmp r0, r1
- ble loop
-
- ldmfd r13!, {r0-r9, pc}
-
diff --git a/sys/arch/arm32/dev/console/vidcconsole.c b/sys/arch/arm32/dev/console/vidcconsole.c
deleted file mode 100644
index bd8305e607e..00000000000
--- a/sys/arch/arm32/dev/console/vidcconsole.c
+++ /dev/null
@@ -1,1818 +0,0 @@
-/* $NetBSD: vidcconsole.c,v 1.7 1996/03/28 21:18:40 mark Exp $ */
-
-/*
- * Copyright (c) 1996 Robert Black
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * vidcconsole.c
- *
- * Console assembly functions
- *
- * Created : 17/09/94
- * Last updated : 07/02/96
- */
-
-/* woo */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/ioctl.h>
-#include <sys/conf.h>
-#include <sys/tty.h>
-#include <sys/device.h>
-#include <sys/map.h>
-#include <sys/proc.h>
-#include <sys/user.h>
-#include <sys/syslog.h>
-#include <sys/resourcevar.h>
-#include <vm/vm.h>
-
-#include <machine/cpu.h>
-#include <machine/param.h>
-#include <machine/katelib.h>
-#include <machine/cpu.h>
-#include <machine/bootconfig.h>
-#include <machine/iomd.h>
-#include <machine/irqhandler.h>
-#include <machine/pmap.h>
-#include <machine/vidc.h>
-#include <machine/vconsole.h>
-
-#include <arm32/dev/console/fonts/font_normal.h>
-#include <arm32/dev/console/fonts/font_bold.h>
-#include <arm32/dev/console/fonts/font_italic.h>
-
-
-#define BCOPY bcopy
-
-#ifndef DEBUGTERM
-#define dprintf(x) ;
-#endif
-
-/* Options ************************************/
-#define ACTIVITY_WARNING
-#define SCREENBLANKER
-#undef INVERSE_CONSOLE
-/**********************************************/
-
-/* Internal defines only **********************/
-#define DEVLOPING
-#undef SELFTEST
-#undef SILLIES
-/**********************************************/
-
-#ifdef SILLIES
-#define PRETTYCURSOR
-#endif
-
-extern int physcon_major;
-extern struct vconsole *vconsole_default;
-
-extern videomemory_t videomemory;
-
-extern font_struct font_terminal_14normal;
-extern font_struct font_terminal_14bold;
-extern font_struct font_terminal_14italic;
-
-#define font_normal font_terminal_14normal
-#define font_bold font_terminal_14bold
-#define font_italic font_terminal_14italic
-
-#define VIDC_ENGINE_NAME "VIDC"
-#define R_DATA ((struct vidc_info *)vc->r_data)
-#define MODE (R_DATA->mode)
-
-static int cold_init = 0;
-
-extern struct vconsole *vconsole_master;
-extern struct vconsole *vconsole_current;
-static struct vidc_mode vidc_initialmode;
-static struct vidc_mode *vidc_currentmode;
-
-unsigned int dispstart;
-unsigned int dispsize;
-unsigned int dispbase;
-unsigned int dispend;
-unsigned int ptov;
-unsigned int transfersize;
-unsigned int vmem_base;
-unsigned int phys_base;
-int flash;
-int cursor_flash;
-char *cursor_normal;
-char *cursor_transparent;
-int p_cursor_normal;
-int p_cursor_transparent;
-
-/* Local function prototypes */
-static void vidcconsole_cls __P(( struct vconsole */*vc*/ ));
-static int vidc_cursor_init __P(( struct vconsole */*vc*/ ));
-static int vidcconsole_cursorintr __P(( struct vconsole */*vc*/ ));
-int vidcconsole_flashintr __P(( struct vconsole */*vc*/ ));
-static int vidcconsole_textpalette __P(( struct vconsole */*vc*/ ));
-static void vidcconsole_render __P(( struct vconsole */*vc*/, char /*c*/ ));
-static void vidcconsole_mode __P(( struct vconsole */*vc*/, struct vidc_mode */*mode*/ ));
-int vidcconsole_flash __P(( struct vconsole */*vc*/, int /*flash*/ ));
-int vidcconsole_cursorflash __P(( struct vconsole */*vc*/, int /*flash*/ ));
-int vidcconsole_flash_go __P(( struct vconsole */*vc*/ ));
-int vidcconsole_blank __P(( struct vconsole */*vc*/, int /*type*/ ));
-void vidcconsole_putchar __P(( dev_t dev, char c, struct vconsole *vc));
-extern int vidcconsolemc_cls __P(( unsigned char *, unsigned char *, int ));
-
-void (*line_cpfunc) __P(( char *, char * ));
-
-/*
- * This will be called while still in the mode that we were left
- * in after exiting from riscos
- */
-
-static irqhandler_t cursor_ih;
-irqhandler_t flash_ih;
-
-
-#ifndef HARDCODEDMODES
-/* The table of modes is separately compiled */
-extern struct vidc_mode vidcmodes[];
-#else /* HARDCODEDMODES */
-#ifdef RC7500
-static struct vidc_mode vidcmodes[] = {
- {31500,/**/48, 84, 30, 640, 30, 0,/**/3, 28, 0, 480, 0, 9,/**/0,/**/3},
- {36000,/**/72, 84, 34, 800, 34, 0,/**/2, 22, 0, 600, 0, 1,/**/0,/**/3},
-};
-#else /* RC7500 */
-/* We have a hard compiled table of modes and a list of definable modes */
-static struct vidc_mode vidcmodes[] = {
- {32500,/**/52, 64, 30, 640, 30, 14,/**/3, 28, 0, 480, 0, 9,/**/0,/**/3},
- {65000,/**/128, 36, 60, 1024, 60 ,36,/**/6, 29, 0, 768, 0, 3,/**/0,/**/3},
-};
-#endif /* RC7500 */
-#endif /* HARDCODEDMODES */
-
-#ifdef RC7500
-struct vfreq {
- u_int frqcon;
- int freq;
-};
-
-static struct vfreq vfreq[] = {
- { VIDFREQ_25_18, 25175},
- { VIDFREQ_25_18, 25180},
- { VIDFREQ_28_32, 28320},
- { VIDFREQ_31_50, 31500},
- { VIDFREQ_36_00, 36000},
- { VIDFREQ_40_00, 40000},
- { VIDFREQ_44_90, 44900},
- { VIDFREQ_50_00, 50000},
- { VIDFREQ_65_00, 65000},
- { VIDFREQ_72_00, 72000},
- { VIDFREQ_75_00, 75000},
- { VIDFREQ_77_00, 77000},
- { VIDFREQ_80_00, 80000},
- { VIDFREQ_94_50, 94500},
- { VIDFREQ_110_0, 110000},
- { VIDFREQ_120_0, 120000},
- { VIDFREQ_130_0, 130000}
-};
-
-#define NFREQ (sizeof (vfreq) / sizeof(struct vfreq))
-u_int vfreqcon = 0;
-#else /* RC7500 */
-
-struct fsyn {
- int r, v, f;
-};
-
-static struct fsyn fsyn_pref[] = {
- { 6, 2, 8000 },
- { 4, 2, 12000 },
- { 3, 2, 16000 },
- { 2, 2, 24000 },
- { 41, 43, 25171 },
- { 50, 59, 28320 },
- { 3, 4, 32000 },
- { 2, 3, 36000 },
- { 31, 58, 44903 },
- { 12, 35, 70000 },
- { 0, 0, 00000 }
-};
-#endif /* RC7500 */
-
-static inline int
-mod ( int n )
-{
- if (n<0) return (-n);
- else return n;
-}
-
-static int
-vidcconsole_coldinit(vc)
- struct vconsole *vc;
-{
- int found;
- int loop;
-
- line_cpfunc = NULL;
-
- /* Do this first so it dont look messy */
-
- vidc_write ( VIDC_CP1, 0x0 );
- vidc_write ( VIDC_CP2, 0x0 );
- vidc_write ( VIDC_CP3, 0x0 );
-
- /* Try to determine the current mode */
- vidc_initialmode.hder = bootconfig.width+1;
- vidc_initialmode.vder = bootconfig.height+1;
-/*
- vidc_initialmode.hder = 1024;
- vidc_initialmode.vder = 768;
-*/
- vidc_initialmode.bitsperpixel = 1 << bootconfig.bitsperpixel;
-
-/* Nut - should be using videomemory.vidm_vbase - mark */
-
- dispbase = vmem_base = dispstart = bootconfig.display_start;
- phys_base = videomemory.vidm_pbase;
-
-/* Nut - should be using videomemory.vidm_size - mark */
-
-#ifdef RC7500
- dispsize = videomemory.vidm_size;
- transfersize = 16;
-#else /* RC7500 */
- dispsize = bootconfig.vram[0].pages * NBPG;
- transfersize = dispsize >> 10;
-#endif /* RC7500 */
-
- ptov = dispbase - phys_base;
-
- dispend = dispstart+dispsize;
-
- vidc_currentmode = &vidcmodes[0];
- loop = 0;
- found = 0;
-
- while (vidcmodes[loop].pixel_rate != 0) {
- if (vidcmodes[loop].hder == (bootconfig.width + 1)
- && vidcmodes[loop].vder == (bootconfig.height + 1)
- && vidcmodes[loop].frame_rate == bootconfig.framerate) {
- vidc_currentmode = &vidcmodes[loop];
- found = 1;
- }
- ++loop;
- }
-
- if (!found) {
- vidc_currentmode = &vidcmodes[0];
- loop = 0;
- found = 0;
-
- while (vidcmodes[loop].pixel_rate != 0) {
- if (vidcmodes[loop].hder == (bootconfig.width + 1)
- && vidcmodes[loop].vder == (bootconfig.height + 1)) {
- vidc_currentmode = &vidcmodes[loop];
- found = 1;
- }
- ++loop;
- }
- }
-
- /* vidc_currentmode = &vidcmodes[0];*/
- vidc_currentmode->bitsperpixel = 1 << bootconfig.bitsperpixel;
-
- R_DATA->flash = R_DATA->cursor_flash = 0;
-
- dispstart = dispbase;
- dispend = dispstart+dispsize;
-
- WriteWord ( IOMD_VIDINIT, dispstart-ptov );
- WriteWord ( IOMD_VIDSTART, dispstart-ptov );
- WriteWord ( IOMD_VIDEND, (dispend-transfersize)-ptov );
- return 0;
-}
-
-struct vidc_mode newmode;
-
-static const int bpp_mask_table[] = {
- 0, /* 1bpp */
- 1, /* 2bpp */
- 2, /* 4bpp */
- 3, /* 8bpp */
- 4, /* 16bpp */
- 6 /* 32bpp */
-};
-
-void
-vidcconsole_mode(vc, mode)
- struct vconsole *vc;
- struct vidc_mode *mode;
-{
- register int acc;
- int bpp_mask;
- int log_bpp;
- int tmp_bpp;
-
-#ifndef RC7500
- int best_r, best_v, best_match;
-#endif
-
-/*
- * Find out what bit mask we need to or with the vidc20 control register
- * in order to generate the desired number of bits per pixel.
- * log_bpp is log base 2 of the number of bits per pixel.
- */
-
- tmp_bpp = mode->bitsperpixel;
- if (tmp_bpp < 1 || tmp_bpp > 32)
- tmp_bpp = 8; /* Set 8 bpp if we get asked for something silly */
-
- for (log_bpp = 0; tmp_bpp != 1; tmp_bpp >>= 1)
- log_bpp++;
-
- bpp_mask = bpp_mask_table[log_bpp];
-
-/*
- printf ( "res = (%d, %d) rate = %d\n", mode->hder, mode->vder, mode->pixel_rate );
-*/
-
- newmode = *mode;
- vidc_currentmode = &newmode;
-
-#ifdef RC7500
- {
- int i;
- int old, new;
- u_int nfreq;
-
- old = vfreq[0].freq;
- nfreq = vfreq[0].frqcon;
- for (i = 0; i < (NFREQ - 1); i++) {
- new = vfreq[i].freq - mode->pixel_rate;
- if (new < 0)
- new = -new;
- if (new < old) {
- nfreq = vfreq[i].frqcon;
- old = new;
- }
- if (new == 0)
- break;
- }
- nfreq |= (vfreqcon & 0xf0);
- vfreqcon = nfreq;
- }
-#else /* RC7500 */
- /* Program the VCO Look up a preferred value before choosing one */
- {
- int least_error = mod (fsyn_pref[0].f - vidc_currentmode->pixel_rate);
- int counter;
- best_r = fsyn_pref[0].r;
- best_match = fsyn_pref[0].f;
- best_v = fsyn_pref[0].v;
-
- /* Look up */
-
- counter=0;
-
- while ( fsyn_pref[counter].r != 0 ) {
- if (least_error > mod (fsyn_pref[counter].f - vidc_currentmode->pixel_rate)) {
- best_match = fsyn_pref[counter].f;
- least_error = mod (fsyn_pref[counter].f - vidc_currentmode->pixel_rate);
- best_r = fsyn_pref[counter].r;
- best_v = fsyn_pref[counter].v;
- }
- counter++;
- }
-
- if ( least_error > 0) { /* Accuracy of 1000Hz */
- int r, v, f;
- for ( v=63; v>0; v-- )
- for ( r=63; r>0; r-- ) {
- f = (v * VIDC_FREF/1000) / r;
- if (least_error >= mod (f - vidc_currentmode->pixel_rate)) {
- best_match = f;
- least_error = mod (f - vidc_currentmode->pixel_rate);
- best_r = r;
- best_v = v;
- }
- }
- }
-
- if ( best_r>63 ) best_r=63;
- if ( best_v>63 ) best_v=63;
- if ( best_r<1 ) best_r= 1;
- if ( best_v<1 ) best_v= 1;
-
- }
-/*
- printf ( "best_v = %d best_r = %d best_f = %d\n", best_v, best_r, best_match );
-*/
-#endif /* RC7500 */
-
- if (vc==vconsole_current) {
-#ifdef RC7500
- outb(FREQCON, vfreqcon);
- /*
- * Need to program the control register first.
- */
- if ( dispsize>1024*1024 ) {
- if ( vidc_currentmode->hder>=800 )
- vidc_write ( VIDC_CONREG, 7<<8 | bpp_mask<<5);
- else
- vidc_write ( VIDC_CONREG, 6<<8 | bpp_mask<<5);
- } else {
- vidc_write ( VIDC_CONREG, 7<<8 | bpp_mask<<5);
- }
-
- /*
- * We don't use VIDC_FSYNREG. Program it low.
- */
- vidc_write(VIDC_FSYNREG, 0x2020);
-#else /* RC7500 */
- vidc_write ( VIDC_FSYNREG, (best_v-1)<<8 | (best_r-1)<<0 );
-#endif /* RC7500 */
- acc=0;
- acc+=vidc_currentmode->hswr;vidc_write(VIDC_HSWR,(acc - 8 )& (~1) );
- acc+=vidc_currentmode->hbsr;vidc_write(VIDC_HBSR,(acc - 12 )& (~1) );
- acc+=vidc_currentmode->hdsr;vidc_write(VIDC_HDSR,(acc - 18 )& (~1) );
- acc+=vidc_currentmode->hder;vidc_write(VIDC_HDER,(acc - 18 )& (~1) );
- acc+=vidc_currentmode->hber;vidc_write(VIDC_HBER,(acc - 12 )& (~1) );
- acc+=vidc_currentmode->hcr ;vidc_write(VIDC_HCR ,(acc - 8)&(~3));
-
- acc=0;
- acc+=vidc_currentmode->vswr; vidc_write(VIDC_VSWR,(acc - 1 ));
- acc+=vidc_currentmode->vbsr; vidc_write(VIDC_VBSR,(acc - 1 ));
- acc+=vidc_currentmode->vdsr; vidc_write(VIDC_VDSR,(acc - 1 ));
- acc+=vidc_currentmode->vder; vidc_write(VIDC_VDER,(acc - 1 ));
- acc+=vidc_currentmode->vber; vidc_write(VIDC_VBER,(acc - 1 ));
- acc+=vidc_currentmode->vcr; vidc_write(VIDC_VCR ,(acc - 1 ));
-
- WriteWord(IOMD_FSIZE, vidc_currentmode->vcr
- + vidc_currentmode->vswr
- + vidc_currentmode->vber
- + vidc_currentmode->vbsr - 1 );
-
- if ( dispsize==1024*1024 )
- vidc_write ( VIDC_DCTL, vidc_currentmode->hder>>2 | 1<<16 | 1<<12);
- else
- vidc_write ( VIDC_DCTL, vidc_currentmode->hder>>2 | 3<<16 | 1<<12);
-
- vidc_write ( VIDC_EREG, 1<<12 );
- if ( dispsize>1024*1024) {
- if ( vidc_currentmode->hder>=800 )
- vidc_write ( VIDC_CONREG, 7<<8 | bpp_mask<<5);
- else
- vidc_write ( VIDC_CONREG, 6<<8 | bpp_mask<<5);
- } else {
- vidc_write ( VIDC_CONREG, 7<<8 | bpp_mask<<5);
- }
- }
-
- R_DATA->mode = *vidc_currentmode;
- R_DATA->screensize = R_DATA->XRES * R_DATA->YRES * R_DATA->BITSPERPIXEL/8;
- R_DATA->pixelsperbyte = 8 / R_DATA->BITSPERPIXEL;
- R_DATA->frontporch = MODE.hswr + MODE.hbsr + MODE.hdsr;
- R_DATA->topporch = MODE.vswr + MODE.vbsr + MODE.vdsr;
- R_DATA->bytes_per_line = R_DATA->XRES *
- R_DATA->font->y_spacing/R_DATA->pixelsperbyte;
- R_DATA->bytes_per_scroll = (vc->ycur % R_DATA->font->y_spacing)
- * vc->xcur / R_DATA->pixelsperbyte;
- R_DATA->text_width = R_DATA->XRES / R_DATA->font->x_spacing;
- R_DATA->text_height = R_DATA->YRES / R_DATA->font->y_spacing;
- vc->xchars = R_DATA->text_width;
- vc->ychars = R_DATA->text_height;
-}
-
-void
-physcon_display_base(base)
- u_int base;
-{
- dispstart = dispstart-dispbase + base;
- dispbase = vmem_base = base;
- dispend = base + dispsize;
- ptov = dispbase - phys_base;
-}
-
-static struct vidc_info masterinfo;
-static int cursor_init = 0;
-
-int
-vidcconsole_init(vc)
- struct vconsole *vc;
-{
- struct vidc_info *new;
- int loop;
-
- if ( cold_init==0 ) {
- vidcconsole_coldinit ( vc );
- } else {
- if ( cursor_init == 0 )
- vidcconsole_flash_go ( vc );
- }
-
- /*
- * If vc->r_data is initialised then this means that the previous
- * render engine on this vconsole was not freed properly. I should
- * not try to clear it up, since I could panic the kernel. Instead
- * I forget about its memory, which could cause a memory leak, but
- * this would be easily detectable and fixable
- */
-
-#ifdef SELFTEST
- if ( vc->r_data != 0 ) {
- printf( "*********************************************************\n" );
- printf( "You have configured SELFTEST mode in the console driver\n" );
- printf( "vc->rdata non zero. This could mean a new console\n" );
- printf( "render engine has not freed up its data structure when\n" );
- printf( "exiting.\n" );
- printf( "DO NOT COMPILE NON DEVELOPMENT KERNELS WITH SELFTEST\n" );
- printf( "*********************************************************" );
- }
-#endif
-
- if ( vc==vconsole_master ) {
- vc->r_data = (char *)&masterinfo;
- } else {
- MALLOC ( (vc->r_data), char *, sizeof(struct vidc_info),
- M_DEVBUF, M_NOWAIT );
- }
-
- if (vc->r_data==0)
- panic ( "render engine initialisation failed. CLEAN THIS UP!" );
-
- R_DATA->normalfont = &font_normal;
- R_DATA->italicfont = &font_italic;
- R_DATA->boldfont = &font_bold;
- R_DATA->font = R_DATA->normalfont;
-
- vidcconsole_mode ( vc, vidc_currentmode );
- R_DATA->scrollback_end = dispstart;
-
- new = (struct vidc_info *)vc->r_data;
-
- R_DATA->text_colours = 1 << R_DATA->BITSPERPIXEL;
- if ( R_DATA->text_colours > 8 ) R_DATA->text_colours = 8;
-
-#ifdef INVERSE_CONSOLE
- R_DATA->n_backcolour = R_DATA->text_colours - 1;
- R_DATA->n_forecolour = 0;
-#else
- R_DATA->n_backcolour = 0;
- R_DATA->n_forecolour = R_DATA->text_colours - 1;
-#endif
-
- R_DATA->backcolour = R_DATA->n_backcolour;
- R_DATA->forecolour = R_DATA->n_forecolour;
-
- R_DATA->forefillcolour = 0;
- R_DATA->backfillcolour = 0;
-
- R_DATA->bold = 0;
- R_DATA->reverse = 0;
-
- for (loop = 0; loop < R_DATA->pixelsperbyte; ++loop) {
- R_DATA->forefillcolour |= (R_DATA->forecolour <<
- loop * R_DATA->BITSPERPIXEL);
- R_DATA->backfillcolour |= (R_DATA->backcolour <<
- loop * R_DATA->BITSPERPIXEL);
- }
-
- R_DATA->fast_render = R_DATA->forecolour | (R_DATA->backcolour<<8) | (R_DATA->font->pixel_height<<16);
- R_DATA->blanked=0;
- vc->BLANK ( vc, BLANK_NONE );
-
- if ( vc == vconsole_current )
- vidcconsole_textpalette ( vc );
-
- vidc_cursor_init ( vc ) ;
-
- if ( cold_init == 0 ) {
- vidc_write ( VIDC_CP1, 0x0 );
- vidc_write ( VIDC_CP2, 0x0 );
- vidc_write ( VIDC_CP3, 0x0 );
- }
- cold_init=1;
- return 0;
-}
-
-void
-vidcconsole_putchar(dev, c, vc)
- dev_t dev;
- char c;
- struct vconsole *vc;
-{
- vc->PUTSTRING ( &c, 1, vc );
-}
-
-int
-vidcconsole_spawn(vc)
- struct vconsole *vc;
-{
- vc->xchars = R_DATA->text_width;
- vc->ychars = R_DATA->text_height;
- vc->xcur = 0;
- vc->ycur = 0;
- vc->flags = 0;
- return 0;
-}
-
-int
-vidcconsole_redraw(vc, x, y, a, b)
- struct vconsole *vc;
- int x, y;
- int a, b;
-{
- int xs, ys;
- struct vidc_state vidc;
- font_struct *p_font = R_DATA->font;
- int p_forecol = R_DATA->forecolour;
- int p_backcol = R_DATA->backcolour;
- if (x<0) x=0;
- if (y<0) y=0;
- if (x>(vc->xchars-1)) x=vc->xchars-1;
- if (y>(vc->ychars-1)) x=vc->ychars-1;
-
- if (a>(vc->xchars-1)) a=vc->xchars-1;
- if (b>(vc->ychars-1)) b=vc->ychars-1;
-
- if (a<x) a=x;
- if (b<y) b=y;
-
-
- vidc = *vidc_current;
- xs=vc->xcur;
- ys=vc->ycur;
-
- vc->xcur = 0;
- vc->ycur = 0;
- if ( (vc->flags&LOSSY) == 0 )
- {
- register int c;
- /* This has *GOT* to be turboed */
- for ( vc->ycur=y; vc->ycur<=b; vc->ycur++ )
- {
- for ( vc->xcur=x; vc->xcur<=a; vc->xcur++ )
- {
- c = (vc->charmap)[vc->xcur+vc->ycur*vc->xchars];
- if ((c&BOLD)!=0)
- R_DATA->font = R_DATA->boldfont;
- else
- R_DATA->font = R_DATA->normalfont;
-R_DATA->fast_render = ((c>>8)&0x7)|(((c>>11)&0x7)<<8)| (R_DATA->font->pixel_height<<16);
-if ( c & BLINKING )
- c+=1<<8 | 1;
- if ((c&BLINKING)!=0)
- {
- R_DATA->forecolour+=16;
- R_DATA->backcolour+=16;
- }
- vidcconsole_render( vc, c&0xff );
- }
- }
- }
- vc->xcur = xs;
- vc->ycur = ys;
- R_DATA->forecolour = p_forecol;
- R_DATA->backcolour = p_backcol;
- R_DATA->font = p_font;
- return 0;
-}
-
-
-int
-vidcconsole_swapin(vc)
- struct vconsole *vc;
-{
- register int counter;
- int xs, ys;
- struct vidc_state vidc;
- font_struct *p_font = R_DATA->font;
- int p_forecol = R_DATA->forecolour;
- int p_backcol = R_DATA->backcolour;
-
-#ifdef ACTIVITY_WARNING
- vconsole_pending = 0;
-#endif
- vidc_write ( VIDC_CP1, 0x0 );
-
- vidc = *vidc_current;
- vidc_write ( VIDC_PALREG, 0x00000000 );
- for ( counter=0; counter<255; counter++ )
- vidc_write ( VIDC_PALETTE, 0x00000000 );
- xs=vc->xcur;
- ys=vc->ycur;
-/*TODO This needs to be vidc_restore (something) */
- vidcconsole_mode ( vc, &MODE );
-
- vc->xcur = 0;
- vc->ycur = 0;
- if ( (vc->flags&LOSSY) == 0 )
- {
- register int c;
- /* This has *GOT* to be turboed */
- for ( vc->ycur=0; vc->ycur<vc->ychars; vc->ycur++ )
- {
- for ( vc->xcur=0; vc->xcur<vc->xchars; vc->xcur++ )
- {
- c = (vc->charmap)[vc->xcur+vc->ycur*vc->xchars];
- if ((c&BOLD)!=0)
- R_DATA->font = R_DATA->boldfont;
- else
- R_DATA->font = R_DATA->normalfont;
-/*
- R_DATA->forecolour = ((c>>8)&0x7);
- R_DATA->backcolour = ((c>>11)&0x7);
-*/
-R_DATA->fast_render = ((c>>8)&0x7)|(((c>>11)&0x7)<<8)| (R_DATA->font->pixel_height<<16);
-if ( c & BLINKING )
- c+=1<<8 | 1;
- if ((c&BLINKING)!=0)
- {
- R_DATA->forecolour+=16;
- R_DATA->backcolour+=16;
- }
- vidcconsole_render( vc, c&0xff );
- }
- }
- }
- else
- {
- vc->CLS ( vc );
- }
-
- if ( vc->vtty==1 )
- {
- vc->xcur = xs;
- vc->ycur = ys;
- vidcconsole_textpalette ( vc );
- vidc_write ( VIDC_CP1, 0xffffff );
- R_DATA->forecolour = p_forecol;
- R_DATA->backcolour = p_backcol;
- R_DATA->font = p_font;
- }
-/* Make the cursor blank */
- WriteWord(IOMD_CURSINIT,p_cursor_transparent);
- return 0;
-
-}
-
-int
-vidcconsole_mmap(vc, offset, nprot)
- struct vconsole *vc;
- int offset;
- int nprot;
-{
- if (offset > videomemory.vidm_size)
- return (-1);
- return(arm_byte_to_page(((videomemory.vidm_pbase) + (offset))));
-}
-
-extern void vidcconsolemc_render __P(( unsigned char *addr, unsigned char *fontaddr,
- int fast_render, int xres ));
-
-void
-vidcconsole_render(vc, c)
- struct vconsole *vc;
- char c;
-{
- register unsigned char *fontaddr;
- register unsigned char *addr;
-
- /* Calculate the font's address */
-
- fontaddr = R_DATA->font->data
- + ((c-(0x20)) * R_DATA->font->height
- * R_DATA->font->width);
-
- addr = (unsigned char *)dispstart
- + (vc->xcur * R_DATA->font->x_spacing)
- + (vc->ycur * R_DATA->bytes_per_line);
-
- vidcconsolemc_render ( addr, fontaddr, R_DATA->fast_render,
- R_DATA->XRES );
-}
-
-/*
- * Uugh. vidc graphics dont support scrolling regions so we have to emulate
- * it here. This would normally require much software scrolling which is
- * horriblly slow, so I'm going to try and do a composite scroll, which
- * causes problems for scrollback but it's less speed critical
- */
-
-void
-vidcconsole_scrollup(vc, low, high)
- struct vconsole *vc;
- int low;
- int high;
-{
- unsigned char *start, *end;
-
- if ( ( low==0 ) && ( high==vc->ychars-1 ))
- {
- /* All hardware scroll */
- dispstart+=R_DATA->bytes_per_line;
- if ( dispstart >= dispend )
- dispstart -= dispsize;
-
- high=high+1; /* Big hack */
-
- WriteWord(IOMD_VIDINIT, dispstart - ptov );
- }
- else
- {
- char *oldstart=(char *)dispstart;
-
- /* Composite scroll */
-
- if ( (high-low) > (vc->ychars>>1) )
- {
- /* Scroll region greater than half the screen */
-
- dispstart+=R_DATA->bytes_per_line;
- if ( dispstart >= dispend ) dispstart -= dispsize;
-
- WriteWord(IOMD_VIDINIT, dispstart - ptov );
-
- if ( low!=0 )
- {
- start = (unsigned char *)oldstart;
- end=(unsigned char*)oldstart+((low+1) * R_DATA->bytes_per_line);
- BCOPY ( start, start+R_DATA->bytes_per_line,
- end-start-R_DATA->bytes_per_line);
- }
-
- if ( high!=(vc->ychars-1) )
- {
- start =(unsigned char *)dispstart+(high)*R_DATA->bytes_per_line;
- end=(unsigned char*)dispstart+((vc->ychars)*R_DATA->bytes_per_line);
- BCOPY ( start, start+R_DATA->bytes_per_line,
- end-start-R_DATA->bytes_per_line);
- }
- high++;
- }
- else
- {
- /* Scroll region less than half the screen */
-
- /* NO COMPOSITE SCROLL YET */
-
- high++;
- if (low<0) low=0;
- if (high>(vc->ychars)) high=vc->ychars;
- if (low>high) return; /* yuck */
- start = (unsigned char *)dispstart + ((low)*R_DATA->bytes_per_line);
- end = (unsigned char *)dispstart + ((high)*R_DATA->bytes_per_line);
- BCOPY ( start+R_DATA->bytes_per_line, start,
- (end-start)-R_DATA->bytes_per_line );
- R_DATA->scrollback_end = dispstart;
- }
- }
- memset ( (char *) dispstart + ((high-1)*R_DATA->bytes_per_line) ,
- R_DATA->backfillcolour,
- R_DATA->bytes_per_line );
-}
-
-void
-vidcconsole_scrolldown(vc, low, high)
- struct vconsole *vc;
- int low;
- int high;
-{
- unsigned char *start;
- unsigned char *end;
-
- if ( low<0 ) low = 0;
- if ( high>(vc->ychars-1) ) high=vc->ychars-1;
-
- if ( ( low==0 ) && ( high==vc->ychars-1 ))
- {
- dispstart-=R_DATA->bytes_per_line;
-
- if ( dispstart < dispbase )
- dispstart += dispsize;
-
- WriteWord(IOMD_VIDINIT, dispstart - ptov );
- }
- else
- {
- if ( ((high-low) > (vc->ychars>>1)) )
- {
-high--;
- if (high!=(vc->ychars-1))
- {
- start =(unsigned char*)dispstart+((high+1)*R_DATA->bytes_per_line);
- end=(unsigned char*)dispstart+((vc->ychars)*R_DATA->bytes_per_line);
- BCOPY ( start+R_DATA->bytes_per_line, start,
- (end-start)-R_DATA->bytes_per_line );
- }
-
- dispstart-=R_DATA->bytes_per_line;
- if ( dispstart < dispbase )
- dispstart += dispsize;
- WriteWord(IOMD_VIDINIT, dispstart - ptov );
- start = (unsigned char *)dispstart + (low * R_DATA->bytes_per_line);
-
- if (low!=0)
- {
- end = (unsigned char *)dispstart + ((low+1)*R_DATA->bytes_per_line);
- BCOPY ( (char*)(dispstart+R_DATA->bytes_per_line),
- (char *)dispstart,
- (int)((end-dispstart)-R_DATA->bytes_per_line ));
- }
- }
- else
- {
- start = (unsigned char *)dispstart + (low * R_DATA->bytes_per_line);
- end = (unsigned char *)dispstart + ((high+1) * R_DATA->bytes_per_line);
- BCOPY ( start, start+R_DATA->bytes_per_line, end-start-R_DATA->bytes_per_line);
- }
-
- }
- memset ((char*) dispstart + (low*R_DATA->bytes_per_line) ,
- R_DATA->backfillcolour, R_DATA->bytes_per_line );
-}
-
-void
-vidcconsole_cls(vc)
- struct vconsole *vc;
-{
-#ifdef RC7500
- dispstart = dispbase;
- dispend = dispstart+dispsize;
-
- WriteWord ( IOMD_VIDINIT, dispstart-ptov );
- WriteWord ( IOMD_VIDSTART, dispstart-ptov );
- WriteWord ( IOMD_VIDEND, (dispend-transfersize)-ptov );
-#endif
-
- vidcconsolemc_cls ( (char *)dispstart, (char *)dispstart+R_DATA->screensize, R_DATA->backfillcolour );
- /*
- memset((char *)dispstart,
- R_DATA->backfillcolour, R_DATA->screensize);
- */
- vc->xcur = vc->ycur = 0;
-}
-
-void
-vidcconsole_update(vc)
- struct vconsole *vc;
-{
-}
-
-static char vidcconsole_name[] = VIDC_ENGINE_NAME;
-
-static int scrollback_ptr = 0;
-
-int
-vidcconsole_scrollback(vc)
- struct vconsole *vc;
-{
- int temp;
-
- if (scrollback_ptr==0)
- scrollback_ptr=dispstart;
-
- temp = scrollback_ptr;
-
- scrollback_ptr-=R_DATA->bytes_per_line * (vc->ychars-2);
-
- if ( scrollback_ptr < dispbase )
- scrollback_ptr += dispsize;
-
- if ( (scrollback_ptr>dispstart)&&
- (scrollback_ptr<(dispstart+R_DATA->screensize) ) )
- {
- scrollback_ptr=temp;
- return 0;
- }
-
- vc->r_scrolledback = 1;
-
- WriteWord(IOMD_VIDINIT, scrollback_ptr - ptov );
- return 0;
-}
-
-int
-vidcconsole_scrollforward(vc)
- struct vconsole *vc;
-{
- register int temp;
-
- if (scrollback_ptr==0)
- return 0;
-
- temp = scrollback_ptr;
-
- scrollback_ptr+=R_DATA->bytes_per_line * (vc->ychars - 2);
-
- if ( scrollback_ptr >= dispend )
- scrollback_ptr -= dispsize;
-
- if ( scrollback_ptr == dispstart )
- {
- WriteWord(IOMD_VIDINIT, scrollback_ptr - ptov );
- scrollback_ptr=0;
- vc->r_scrolledback = 0;
- return 0;
- }
-
- WriteWord(IOMD_VIDINIT, scrollback_ptr - ptov );
- return 0;
-}
-
-int
-vidcconsole_scrollbackend(vc)
- struct vconsole *vc;
-{
- scrollback_ptr = 0;
- WriteWord(IOMD_VIDINIT, dispstart - ptov );
- vc->r_scrolledback = 0;
- return 0;
-}
-
-int
-vidcconsole_clreos(vc, code)
- struct vconsole *vc;
- int code;
-{
- char *addr;
- char *endofscreen;
-
- addr = (unsigned char *)dispstart
- + (vc->xcur * R_DATA->font->x_spacing)
- + (vc->ycur * R_DATA->bytes_per_line);
-
- endofscreen = (unsigned char *)dispstart
- + (vc->xchars * R_DATA->font->x_spacing)
- + (vc->ychars * R_DATA->bytes_per_line);
-
-
- switch (code)
- {
- case 0:
- vidcconsolemc_cls ( addr,
- (unsigned char *)dispend,
- R_DATA->backfillcolour );
- if ((unsigned char *)endofscreen > (unsigned char *)dispend) {
- char string[80];
- sprintf(string, "(addr=%08x eos=%08x dispend=%08x dispstart=%08x base=%08x)",
- (u_int)addr, (u_int)endofscreen, dispend, dispstart, dispbase);
- dprintf(string);
- vidcconsolemc_cls((unsigned char *)dispbase, (unsigned char *)(dispbase + (endofscreen - dispend)), R_DATA->backfillcolour);
- }
- break;
-
- case 1:
- vidcconsolemc_cls ( (unsigned char *)dispstart+R_DATA->screensize,
- addr,
- R_DATA->backfillcolour );
- break;
-
- case 2:
- default:
- vidcconsole_cls ( vc );
- break;
- }
- return 0;
-}
-
-#define VIDC R_DATA->vidc
-
-int
-vidcconsole_debugprint(vc)
- struct vconsole *vc;
-{
-#ifdef DEVLOPING
- printf ( "VIDCCONSOLE DEBUG INFORMATION\n\n" );
- printf ( "res (%d, %d) charsize (%d, %d) cursor (%d, %d)\n"
- , R_DATA->XRES, R_DATA->YRES
- , vc->xchars, vc->ychars, vc->xcur, vc->ycur );
- printf ( "bytes_per_line %d\n" , R_DATA->bytes_per_line );
- printf ( "pixelsperbyte %d\n" , R_DATA->pixelsperbyte );
- printf ( "dispstart %08x\n" , dispstart );
- printf ( "dispend %08x\n" , dispend );
- printf ( "screensize %08x\n" , R_DATA->screensize );
-
- printf ( "fontwidth %08x\n" , R_DATA->font->pixel_width );
- printf ( "fontheight %08x\n" , R_DATA->font->pixel_height );
- printf ( "\n" );
- printf ( "palreg = %08x bcol = %08x\n" , VIDC.palreg, VIDC.bcol );
- printf ( "cp1 = %08x cp2 = %08x cp3 = %08x\n" , VIDC.cp1, VIDC.cp2, VIDC.cp3 );
- printf ( "hcr = %08x hswr = %08x hbsr = %08x\n" , VIDC.hcr, VIDC.hswr, VIDC.hbsr );
- printf ( "hder = %08x hber = %08x hcsr = %08x\n" , VIDC.hder, VIDC.hber, VIDC.hcsr );
- printf ( "hir = %08x\n" , VIDC.hir );
- printf ( "vcr = %08x vswr = %08x vbsr = %08x\n" , VIDC.vcr, VIDC.vswr, VIDC.vbsr );
- printf ( "vder = %08x vber = %08x vcsr = %08x\n" , VIDC.vder, VIDC.vber, VIDC.vcsr );
- printf ( "vcer = %08x\n" , VIDC.vcer );
- printf ( "ereg = %08x fsynreg = %08x conreg = %08x\n" , VIDC.ereg, VIDC.fsynreg, VIDC.conreg );
- printf ( "\n" );
- printf ( "flash %08x, cursor_flash %08x", R_DATA->flash, R_DATA->cursor_flash );
-#else
- printf ( "VIDCCONSOLE - NO DEBUG INFO\n" );
-#endif
- return 0;
-}
-
-#ifdef NICE_UPDATE
-static int need_update = 0;
-
-void
-vidcconsole_updatecursor(arg)
- void *arg;
-{
- struct vconsole *vc = vconsole_current;
-
- vidc_write(VIDC_HCSR, R_DATA->frontporch-17+ (vc->xcur)*R_DATA->font->pixel_width );
- vidc_write(VIDC_VCSR, R_DATA->topporch-2+ (vc->ycur+1)*R_DATA->font->pixel_height-2 + 3
- - R_DATA->font->pixel_height);
- vidc_write(VIDC_VCER, R_DATA->topporch-2+ (vc->ycur+3)*R_DATA->font->pixel_height+2 + 3 );
- return;
-}
-
-int
-vidcconsole_cursorupdate(vc)
- struct vconsole *vc;
-{
- timeout ( vidcconsole_updatecursor, NULL, 20 );
- return 0;
-}
-
-#else
-
-static int
-vidcconsole_cursorupdate(vc)
- struct vconsole *vc;
-{
- vidc_write(VIDC_HCSR, R_DATA->frontporch-17+ (vc->xcur)*R_DATA->font->pixel_width );
- vidc_write(VIDC_VCSR, R_DATA->topporch-2+ (vc->ycur+1)*R_DATA->font->pixel_height-2 + 3
- - R_DATA->font->pixel_height);
- vidc_write(VIDC_VCER, R_DATA->topporch-2+ (vc->ycur+3)*R_DATA->font->pixel_height+2 + 3 );
- return (0);
-}
-
-#endif
-
-#define DEFAULT_CURSORSPEED (25)
-
-static int CURSORSPEED = DEFAULT_CURSORSPEED;
-
-static int
-vidcconsole_cursorflashrate(vc, rate)
- struct vconsole *vc;
- int rate;
-{
- CURSORSPEED = 60/rate;
-}
-
-static int cursorcounter=DEFAULT_CURSORSPEED;
-static int flashcounter=DEFAULT_CURSORSPEED;
-#ifdef PRETTYCURSOR
-static int pretty=0xff;
-#endif
-
-static int cursor_col = 0x0;
-
-static int
-vidcconsole_cursorintr(vc)
- struct vconsole *vc;
-{
- if ( cursor_flash==0 )
- return 0;
-
- /*
- * We don't need this.
- */
-#ifndef RC7500
- vconsole_blankcounter--;
-
- if ( vconsole_blankcounter<0 ) {
- vconsole_blankcounter=vconsole_blankinit;
- vidcconsole_blank ( vc, BLANK_OFF );
- }
-#endif
-
- cursorcounter--;
- if (cursorcounter<=0) {
- cursorcounter=CURSORSPEED;
- cursor_col = cursor_col ^ 0xffffff;
-#ifdef ACTIVITY_WARNING
- if (vconsole_pending) {
- if ( cursor_col==0 )
- WriteWord(IOMD_CURSINIT,p_cursor_transparent);
- else
- WriteWord(IOMD_CURSINIT,p_cursor_normal);
- vidc_write ( VIDC_CP1, cursor_col&0xff );
- } else
-#endif
- {
- if ( cursor_col==0 )
- WriteWord(IOMD_CURSINIT,p_cursor_transparent);
- else
- WriteWord(IOMD_CURSINIT,p_cursor_normal);
- vidc_write ( VIDC_CP1, 0xffffff );
- }
- }
- return(0);
-}
-
-int
-vidcconsole_flashintr(vc)
- struct vconsole *vc;
-{
- if ( flash==0 )
- return 0;
-
- flashcounter--;
- if (flashcounter<=0) {
- flashcounter=CURSORSPEED;
- if ( cursor_col == 0 ) {
-
- vidc_write(VIDC_PALREG, 0x00000010);
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 255, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 255, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 0, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 255, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 255, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL(128, 128, 128));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 128, 128));
- vidc_write(VIDC_PALETTE, VIDC_COL(128, 255, 128));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 255, 128));
- vidc_write(VIDC_PALETTE, VIDC_COL(128, 128, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 128, 255));
- vidc_write(VIDC_PALETTE, VIDC_COL(255, 255, 255));
- } else {
- vidc_write(VIDC_PALREG, 0x00000010);
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- vidc_write(VIDC_PALETTE, VIDC_COL( 0, 0, 0));
- }
- }
- return(0);
-}
-
-static int
-vidc_cursor_init(vc)
- struct vconsole *vc;
-{
- extern char *cursor_data;
- int counter;
- int line;
-
- /* Blank the cursor while initialising it's sprite */
-
- vidc_write ( VIDC_CP1, 0x0 );
- vidc_write ( VIDC_CP2, 0x0 );
- vidc_write ( VIDC_CP3, 0x0 );
-
- cursor_normal = cursor_data;
- cursor_transparent = cursor_data + (R_DATA->font->pixel_height *
- R_DATA->font->pixel_width);
-
- cursor_transparent += 32;
- cursor_transparent = (char *)((int)cursor_transparent & (~31) );
-
- for ( line = 0; line<R_DATA->font->pixel_height; ++ line )
- {
- for ( counter=0; counter<R_DATA->font->pixel_width/4;counter++ )
- cursor_normal[line*R_DATA->font->pixel_width + counter]=0x55;
- for ( ; counter<8; counter++ )
- cursor_normal[line*R_DATA->font->pixel_width + counter]=0;
- }
-
- for ( line = 0; line<R_DATA->font->pixel_height; ++ line )
- {
- for ( counter=0; counter<R_DATA->font->pixel_width/4;counter++ )
- cursor_transparent[line*R_DATA->font->pixel_width + counter]=0x00;
- for ( ; counter<8; counter++ )
- cursor_transparent[line*R_DATA->font->pixel_width + counter]=0;
- }
-
-
- p_cursor_normal = pmap_extract(kernel_pmap,(vm_offset_t)cursor_normal );
- p_cursor_transparent = pmap_extract(kernel_pmap,(vm_offset_t)cursor_transparent);
-
-/*
- memset ( cursor_normal, 0x55,
- R_DATA->font->pixel_width*R_DATA->font->pixel_height );
-
- memset ( cursor_transparent, 0x55,
- R_DATA->font->pixel_width*R_DATA->font->pixel_height );
-*/
-
- /* Ok, now see the cursor */
-
- vidc_write ( VIDC_CP1, 0xffffff );
- return 0;
-}
-
-int
-vidcconsole_setfgcol(vc, col)
- struct vconsole *vc;
- int col;
-{
- register int loop;
-
- if ( R_DATA->forecolour >= 16 )
- R_DATA->forecolour=16;
- else
- R_DATA->forecolour=0;
-
- R_DATA->forefillcolour = 0;
-
- R_DATA->forecolour += col;
-
-/*TODO
- if ( R_DATA->forecolour >> 1<<R_DATA->BITSPERPIXEL )
- R_DATA->forecolour>>1;
-*/
-
- for (loop = 0; loop < R_DATA->pixelsperbyte; ++loop) {
- R_DATA->forefillcolour |= (R_DATA->forecolour <<
- loop * R_DATA->BITSPERPIXEL);
- }
- R_DATA->fast_render = R_DATA->forecolour | (R_DATA->backcolour<<8) | (R_DATA->font->pixel_height<<16);
- return 0;
-}
-
-int
-vidcconsole_setbgcol(vc, col)
- struct vconsole *vc;
- int col;
-{
- register int loop;
-
- if ( R_DATA->backcolour >= 16 )
- R_DATA->backcolour=16;
- else
- R_DATA->backcolour=0;
-
- R_DATA->backfillcolour = 0;
- R_DATA->backcolour += col;
- /*TODO
- if ( R_DATA->backcolour >> 1<<R_DATA->BITSPERPIXEL )
- R_DATA->backcolour>>1;
-*/
-
- for (loop = 0; loop < R_DATA->pixelsperbyte; ++loop) {
- R_DATA->backfillcolour |= (R_DATA->backcolour <<
- loop * R_DATA->BITSPERPIXEL);
- }
- return 0;
-}
-
-int
-vidcconsole_textpalette(vc)
- struct vconsole *vc;
-{
- R_DATA->forecolour = COLOUR_WHITE_8;
- R_DATA->backcolour = COLOUR_BLACK_8;
-
- vidc_write( VIDC_PALREG , 0x00000000);
- vidc_write( VIDC_PALETTE , VIDC_COL( 0, 0, 0));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 0, 0));
- vidc_write( VIDC_PALETTE , VIDC_COL( 0, 255, 0));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 255, 0));
- vidc_write( VIDC_PALETTE , VIDC_COL( 0, 0, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 0, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL( 0, 255, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 255, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL(128, 128, 128));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 128, 128));
- vidc_write( VIDC_PALETTE , VIDC_COL(128, 255, 128));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 255, 128));
- vidc_write( VIDC_PALETTE , VIDC_COL(128, 128, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 128, 255));
- vidc_write( VIDC_PALETTE , VIDC_COL(255, 255, 255));
-
-R_DATA->fast_render = R_DATA->forecolour | (R_DATA->backcolour<<8) | (R_DATA->font->pixel_height<<16);
- return 0;
-}
-
-int
-vidcconsole_sgr (vc, type)
- struct vconsole *vc;
- int type;
-{
- switch ( type )
- {
- case 0: /* Normal */
- if (R_DATA->BITSPERPIXEL == 8)
- {
- R_DATA->n_forecolour = COLOUR_WHITE_8;
- R_DATA->n_backcolour = COLOUR_BLACK_8;
- }
-
- R_DATA->forecolour = R_DATA->n_forecolour;
- R_DATA->backcolour = R_DATA->n_backcolour;
- R_DATA->font = R_DATA->normalfont;
- break;
-
- case 1: /* bold */
- R_DATA->font = R_DATA->boldfont;
- break;
-
- case 22: /* not bold */
- R_DATA->font = R_DATA->normalfont;
- break;
-
- case 5: /* blinking */
- if ( R_DATA->forecolour < 16 )
- {
- R_DATA->forecolour+=16;
- R_DATA->backcolour+=16;
- R_DATA->n_forecolour+=16;
- R_DATA->n_backcolour+=16;
- }
- break;
-
- case 25: /* not blinking */
- if ( R_DATA->forecolour >= 16 )
- {
- R_DATA->forecolour-=16;
- R_DATA->backcolour-=16;
- R_DATA->n_forecolour-=16;
- R_DATA->n_backcolour-=16;
- }
- break;
-
- case 7: /* reverse */
- R_DATA->forecolour = R_DATA->n_backcolour;
- R_DATA->backcolour = R_DATA->n_forecolour;
- break;
-
- case 27: /* not reverse */
- R_DATA->forecolour = R_DATA->n_forecolour;
- R_DATA->backcolour = R_DATA->n_backcolour;
- break;
- }
-R_DATA->fast_render = R_DATA->forecolour | (R_DATA->backcolour<<8) | (R_DATA->font->pixel_height<<16);
- return 0;
-}
-
-int
-vidcconsole_scrollregion(vc, low, high)
- struct vconsole *vc;
- int low;
- int high;
-{
- return 0;
-}
-
-int
-vidcconsole_blank(vc, type)
- struct vconsole *vc;
- int type;
-{
- vc->blanked=type;
- switch (type) {
- case 0:
-#ifdef RC7500
- vidc_write ( VIDC_EREG, 0x51<<12 );
-#else
- vidc_write ( VIDC_EREG, 1<<12 );
-#endif
- break;
-
- case 1: /* not implemented yet */
- case 2:
- case 3:
- vidc_write ( VIDC_EREG, 0 );
- break;
- }
- return 0;
-}
-
-extern struct tty *find_tp __P((dev_t dev));
-
-int vidcconsole_ioctl ( struct vconsole *vc, dev_t dev, int cmd, caddr_t data,
- int flag, struct proc *p )
-{
- int error;
- struct tty *tp;
- struct winsize ws;
- switch ( cmd )
- {
- case CONSOLE_MODE:
- tp = find_tp(dev);
- printf ( "mode ioctl called\n" );
- vidcconsole_mode ( vc, (struct vidc_mode *)data );
- vc->MODECHANGE ( vc );
- ws.ws_row=vc->ychars;
- ws.ws_col=vc->xchars;
- error = (*linesw[tp->t_line].l_ioctl)(tp, TIOCSWINSZ, (char *)&ws, flag, p);
- error = ttioctl(tp, TIOCSWINSZ, (char *)&ws, flag, p);
- return 0;
- break;
-
- case CONSOLE_RESETSCREEN:
- {
- extern unsigned int dispbase;
- extern unsigned int dispsize;
- extern unsigned int ptov;
- extern unsigned int transfersize;
-
- WriteWord ( IOMD_VIDINIT, dispbase-ptov );
- WriteWord ( IOMD_VIDSTART, dispbase-ptov );
- WriteWord ( IOMD_VIDEND, (dispbase+dispsize-transfersize)-ptov );
- return 0;
- }
- case CONSOLE_RESTORESCREEN:
- {
- extern unsigned int dispstart;
- extern unsigned int dispsize;
- extern unsigned int ptov;
- extern unsigned int transfersize;
-
- WriteWord ( IOMD_VIDINIT, dispstart-ptov );
- WriteWord ( IOMD_VIDSTART, dispstart-ptov );
- WriteWord ( IOMD_VIDEND, (dispstart+dispsize-transfersize)-ptov );
- vidc_stdpalette();
- return 0;
- }
- case CONSOLE_GETINFO:
- {
- extern videomemory_t videomemory;
- register struct console_info *inf = (void *)data;
-
-
- inf->videomemory = videomemory;
- inf->width = R_DATA->mode.hder;
- inf->height = R_DATA->mode.vder;
- inf->bpp = R_DATA->mode.bitsperpixel;
- return 0;
- }
- case CONSOLE_PALETTE:
- {
- register struct console_palette *pal = (void *)data;
- vidc_write(VIDC_PALREG, pal->entry);
- vidc_write(VIDC_PALETTE, VIDC_COL(pal->red, pal->green, pal->blue));
- return 0;
- }
- }
- return -1;
-}
-
-int
-vidcconsole_attach(vc, parent, self, aux)
- struct vconsole *vc;
- struct device *parent;
- struct device *self;
- void *aux;
-{
- vidc_cursor_init ( vc );
- vidcconsole_flash_go ( vc );
- return 0;
-}
-
-int
-vidcconsole_flash_go(vc)
- struct vconsole *vc;
-{
- static lock=0;
- if (lock==1)
- return -1;
- lock=0;
-
- cursor_ih.ih_func = vidcconsole_cursorintr;
- cursor_ih.ih_arg = vc;
- cursor_ih.ih_level = IPL_TTY;
- cursor_ih.ih_name = "vsync";
- irq_claim ( IRQ_FLYBACK, &cursor_ih );
-
- cursor_init = 0;
- return 0;
-}
-
-/* What does this function do ? */
-int
-vidcconsole_flash(vc, flash)
- struct vconsole *vc;
- int flash;
-{
- flash = flash;
-}
-
-int
-vidcconsole_cursorflash(vc, flash)
- struct vconsole *vc;
- int flash;
-{
- cursor_flash = flash;
- return(0);
-}
-
-struct render_engine vidcconsole = {
- vidcconsole_name,
- vidcconsole_init,
-
- vidcconsole_putchar,
-
- vidcconsole_spawn,
- vidcconsole_swapin,
- vidcconsole_mmap,
- vidcconsole_render,
- vidcconsole_scrollup,
- vidcconsole_scrolldown,
- vidcconsole_cls,
- vidcconsole_update,
- vidcconsole_scrollback,
- vidcconsole_scrollforward,
- vidcconsole_scrollbackend,
- vidcconsole_clreos,
- vidcconsole_debugprint,
- vidcconsole_cursorupdate,
- vidcconsole_cursorflashrate,
- vidcconsole_setfgcol,
- vidcconsole_setbgcol,
- vidcconsole_textpalette,
- vidcconsole_sgr,
- vidcconsole_blank,
- vidcconsole_ioctl,
- vidcconsole_redraw,
- vidcconsole_attach,
- vidcconsole_flash,
- vidcconsole_cursorflash
-};
-
-
-
-
-
-
-
-struct vidcvideo_softc {
- struct device device;
- int sc_opened;
-};
-
-int
-vidcvideo_probe(parent, match, aux)
- struct device *parent;
- void *match;
- void *aux;
-{
-/*
- struct vidcvideo_softc *vidcvideosoftc = (void *)match;
- struct mainbus_attach_args *mb = aux;
-*/
-
- return 1;
-}
-
-void
-vidcvideo_attach(parent, self, aux)
- struct device *parent;
- struct device *self;
- void *aux;
-{
- struct vidcvideo_softc *vidcvideosoftc = (void *)self;
- vidcvideosoftc->sc_opened=0;
-
- printf ( ": vidc 20\n" );
-}
-
-struct cfattach vidcvideo_ca = {
- sizeof (struct vidcvideo_softc), vidcvideo_probe, vidcvideo_attach
-};
-
-struct cfdriver vidcvideo_cd = {
- NULL, "vidcvideo", DV_DULL
-};
-
-int
-vidcvideoopen(dev, flags, fmt, p)
- dev_t dev;
- int flags;
- int fmt;
- struct proc *p;
-{
- struct vidcvideo_softc *sc;
- struct vconsole vconsole_new;
- int unit = minor(dev);
- int s;
-
- if ( unit >= vidcvideo_cd.cd_ndevs )
- return ENXIO;
- sc = vidcvideo_cd.cd_devs[unit];
- if (!sc)
- return ENXIO;
-
- s = spltty();
-/* if (sc->sc_opened) {
- (void)splx(s);
- return(EBUSY);
- }*/
- ++sc->sc_opened;
- (void)splx(s);
-
- if (sc->sc_opened == 1) {
- vconsole_new = *vconsole_default;
- vconsole_new.render_engine = &vidcconsole;
- vconsole_spawn_re (
- makedev ( physcon_major, 64 + minor(dev) ),
- &vconsole_new );
- } else {
- log(LOG_WARNING, "Multiple open of/dev/vidcvideo0 by proc %d\n", p->p_pid);
- }
-
- return 0;
-}
-
-int
-vidcvideoclose(dev, flags, fmt, p)
- dev_t dev;
- int flags;
- int fmt;
- struct proc *p;
-{
- struct vidcvideo_softc *sc;
- int unit = minor(dev);
- int s;
-
- if ( unit >= vidcvideo_cd.cd_ndevs )
- return ENXIO;
- sc = vidcvideo_cd.cd_devs[unit];
- if (!sc)
- return ENXIO;
-
- s = spltty();
- --sc->sc_opened;
- (void)splx(s);
-
- return 0;
-}
-
-extern int physconioctl __P(( dev_t, int, caddr_t, int, struct proc *));
-
-int
-vidcvideoioctl(dev, cmd, data, flag, p)
- dev_t dev;
- int cmd;
- caddr_t data;
- int flag;
- struct proc *p;
-{
- dev = makedev(physcon_major, 64 + minor(dev));
- return ( physconioctl ( dev, cmd, data, flag, p ));
-}
-
-extern int physconmmap __P((dev_t, int, int));
-
-int
-vidcvideommap(dev, offset, prot)
- dev_t dev;
- int offset;
- int prot;
-{
- dev = makedev(physcon_major, 64 + minor(dev));
- return(physconmmap(dev, offset, prot));
-}
-
diff --git a/sys/arch/arm32/dev/console/vt220.c b/sys/arch/arm32/dev/console/vt220.c
deleted file mode 100644
index 41bb883da3b..00000000000
--- a/sys/arch/arm32/dev/console/vt220.c
+++ /dev/null
@@ -1,2008 +0,0 @@
-/* $NetBSD: vt220.c,v 1.3 1996/03/18 19:33:10 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * vt220.c
- *
- * VT220 emulation functions
- *
- * Created : 17/09/94
- */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/malloc.h>
-#include <sys/tty.h>
-#include <sys/conf.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-#include <sys/syslog.h>
-#include <machine/param.h>
-#include <machine/katelib.h>
-#include <machine/cpu.h>
-#include <machine/bootconfig.h>
-#include <machine/iomd.h>
-#include <machine/vconsole.h>
-#include <machine/vidc.h>
-
-#include <arm32/dev/console/vt220.h>
-
-/* Temporary for debugging the vnode bug */
-
-int vnodeconsolebug = 0;
-u_int vnodeconsolebug1 = 0;
-u_int vnodeconsolebug2 = 0;
-
-static char vt220_name[] = "vt100";
-
-/* These defines are for the developer only !!!! */
-#define SELFTEST
-#define dprintf(x) ;
-
-/*************************************************/
-
-#define FGCOL 0x0700
-#define BGCOL 0x3800
-
-/* Options */
-#define HARD_RESET_AT_INIT
-#undef SIMPLE_CURSOR /* Define if any render engine is cursorless */
-
-/*************************************************/
-
-#define DA_VT220 "\033[?62;1;2;6;7;8;9c"
-
-char console_proc[41]; /* Is this debugging ? */
-
-#ifdef SIMPLE_CURSOR
-#define SIMPLE_CURSOR_CHAR ('_')
-#endif
-
-#define TERMTYPE_PUTSTRING vt220_putstring
-#define TERMTYPE_INIT vt220_init
-
-extern struct vconsole *vconsole_master;
-
-static int default_beepstate = 0;
-
-#define CDATA struct vt220_info *cdata = (struct vt220_info *)vc->data
-
-struct vt220_info master_termdata_store;
-struct vt220_info *master_termdata = &master_termdata_store;
-
-int do_render __P(( char /*c*/, struct vconsole */*vc*/ ));
-void do_render_noscroll __P(( char /*c*/, struct vconsole */*vc*/ ));
-void do_scrollcheck __P(( struct vconsole */*vc*/ ));
-void vt_ris __P((struct vconsole */*vc*/));
-
-void
-clr_params(cdata)
- struct vt220_info *cdata;
-{
- int i;
- for (i=0; i<MAXPARMS; i++)
- cdata->param[i] = 0;
- cdata->parami = 0;
-}
-
-int
-TERMTYPE_INIT(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata;
-
- if (vc->data==NULL) {
- if ( vc==vconsole_master ) {
- vc->data = (char *) master_termdata;
- } else {
- MALLOC ( vc->data, char *, sizeof(struct vt220_info),
- M_DEVBUF, M_NOWAIT );
- }
- }
-
- cdata = (struct vt220_info *)vc->data;
-
- bzero ( (char *)cdata, sizeof (cdata) );
-
-#ifdef HARD_RESET_AT_INIT
- vt_ris ( vc );
-#else
- cdata->state = STATE_INIT;
- cdata->disable_function = 1;
- cdata->m_om = 0;
- vc->xcur = vc->ycur = 0;
- cdata->beepoff=default_beepstate;
- cdata->simple_cursor_store = ' ';
- cdata->scrr_beg = 0;
- cdata->scrr_len = vc->ychars;
- cdata->scrr_end = vc->ychars-1;
- cdata->simple_cursor_on = 0;
-
- for ( counter=0; counter<MAXTABSTOPS; counter++ ) {
- if ( !(counter%8) )
- cdata->tab_stops[counter] = 1;
- else
- cdata->tab_stops[counter] = 0;
- }
-#endif
- return 0;
-}
-
-int
-mapped_cls(vc)
- struct vconsole *vc;
-{
- int ptr;
- if (vc->charmap == NULL)
- return -1;
- for ( ptr=0; ptr<(vc->xchars*vc->ychars); ptr++ )
- vc->charmap[ptr]=0x20;
- return 0;
-}
-
-void
-do_scrolldown(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
-/*
- if ( ( cdata->scrr_beg<0 ) || ( cdata->scrr_end>=vc->ychars) )
- dprintf ( "INVALID SCROLLDOWN" );
-*/
-
- /* Clean up */
-
-/*
- if ( cdata->scrr_beg < 0 ) cdata->scrr_beg = 0;
-*/
- if ( cdata->scrr_end >= vc->ychars ) cdata->scrr_end=vc->ychars-1;
-
-
- if (vc==vconsole_current)
- vc->SCROLLDOWN ( vc, cdata->scrr_beg, cdata->scrr_end );
- else
- vconsole_pending=vc->number;
-
- if (vnodeconsolebug) {
- if (ReadWord(0xf148a000) != vnodeconsolebug2) {
- log(LOG_WARNING, "vnode 0xf148a000 v_flag changed from %08x to %08x in do_scrolldown(1)\n",
- vnodeconsolebug2, ReadWord(0xf148a000));
- log(LOG_WARNING, "vc=%08x vcur=%08x charmap=%08x\n", vc, vconsole_current, vc->charmap);
- }
- }
-
-/*
- * This version of the following code was responcible for the vnode bug
- * It can trash part of the word that follows the allocated block
- * e.g. charmap = 0xf1484000, size 0x6000
- * vnode = 0xf148a000
- * first word of vnode is trashed.
- * bug is an adjustment of -1 for counting backwards was not made.
-
- if ( ((vc->flags)&(LOSSY)) == 0 ) {
- int counter;
- for ( counter=((cdata->scrr_end+1)*(vc->xchars));
- counter > (cdata->scrr_beg+1)*(vc->xchars) ; counter-- ) {
- vc->charmap[counter] = vc->charmap[counter-vc->xchars];
- }
-
- for ( counter=(cdata->scrr_beg)*(vc->xchars);
- counter < (cdata->scrr_beg+1)*(vc->xchars); counter++ ) {
- vc->charmap[counter]=0x20;
- }
- }
-*/
- if ( ((vc->flags)&(LOSSY)) == 0 ) {
- int counter;
- for ( counter=((cdata->scrr_end+1)*(vc->xchars)) - 1;
- counter >= (cdata->scrr_beg+1)*(vc->xchars) ; counter-- ) {
- vc->charmap[counter] = vc->charmap[counter-vc->xchars];
- }
-
- for ( counter=(cdata->scrr_beg)*(vc->xchars);
- counter < (cdata->scrr_beg+1)*(vc->xchars); counter++ ) {
- vc->charmap[counter]=0x20;
- }
- }
- if (vnodeconsolebug) {
- if (ReadWord(0xf148a000) != vnodeconsolebug2) {
- log(LOG_WARNING, "vnode 0xf148a000 v_flag changed from %08x to %08x in do_scrolldown(2)\n",
- vnodeconsolebug2, ReadWord(0xf148a000));
- log(LOG_WARNING, "vc=%08x vcur=%08x charmap=%08x\n", vc, vconsole_current, vc->charmap);
- }
- }
-}
-
-void
-do_scrollup(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- if (vc==vconsole_current)
- vc->SCROLLUP ( vc, cdata->scrr_beg, cdata->scrr_end );
- else
- vconsole_pending = vc->number;
-
- if ( cdata->scrr_end == 0 )
- vc->ycur=vc->ychars-1;
- else
- vc->ycur=cdata->scrr_end;
-
-/* Do a cyclic buffer for this !!!!!!!!!!!!!! */
- if ( ((vc->flags)&(LOSSY)) == 0 ) {
-/* bcopy was weird, do this for now */
- int counter;
- for ( counter=(cdata->scrr_beg+1)*vc->xchars;
- counter < ((cdata->scrr_end+1)*(vc->xchars)); counter++ ) {
- vc->charmap[counter-vc->xchars] = vc->charmap[counter];
- }
- for ( counter=vc->xchars*(cdata->scrr_end);
- counter < (vc->xchars*(cdata->scrr_end+1)); counter++ ) {
- vc->charmap[counter]=0x20;
- }
- }
-}
-
-void
-respond(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- while (*cdata->report_chars && cdata->report_count > 0) {
- (*linesw[vc->tp->t_line].l_rint)
- (*cdata->report_chars++ & 0xff, vc->tp);
- cdata->report_count--;
- }
-}
-
-void
-vt_curadr(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
-#ifdef SELFTEST
-strcpy ( console_proc, "vt_curadr" );
-#endif
-
- if ( cdata->m_om ) /* relative to scrolling region */
- {
- cdata->param[0]+=cdata->scrr_beg;
- if ( (cdata->param[0]==0) && (cdata->param[1]==0) )
- {
- vc->xcur = 0;
- vc->ycur = 0;
- return;
- }
- /* Limit checking */
- cdata->param[0] = (cdata->param[0] <= 0) ? 1 : cdata->param[0];
- cdata->param[0] = (cdata->param[0] > vc->ychars) ? vc->ychars : cdata->param[0];
- cdata->param[1] = (cdata->param[1] <= 0) ? 1 : cdata->param[1];
- cdata->param[1] = (cdata->param[1] >= vc->xchars) ? (vc->xchars-1) : cdata->param[1];
- (cdata->param[0])--;
- (cdata->param[1])--;
- vc->ycur = cdata->param[0];
- vc->xcur = cdata->param[1];
- }
- else
- {
- if ( (cdata->param[0]==0) && (cdata->param[1]==0) )
- {
- vc->xcur = 0;
- vc->ycur = 0;
- return;
- }
- /* Limit checking */
-
- (cdata->param[0])--;
- (cdata->param[1])--;
-
- vc->ycur = cdata->param[0];
- vc->xcur = cdata->param[1];
-
-{
- char buf[80];
- sprintf ( buf, "vc->xcur %d vc->ycur %d", vc->xcur, vc->ycur );
- dprintf ( buf );
-}
- }
-}
-
-extern void beep_generate(void);
-
-void
-vt_reset_dec_priv_qm(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-#ifdef SELFTEST
-strcpy ( console_proc, "vt_reset_dec_priv_qm" );
-#endif
- switch(cdata->param[0])
- {
- case 7: /* AWM - auto wrap mode */
- beep_generate();
- cdata->flags &= ~F_AWM;
- break;
- case 0: /* error, ignored */
- case 1: /* CKM - cursor key mode */
- case 2: /* ANM - ansi/vt52 mode */
- case 3: /* COLM - column mode */
- case 4: /* SCLM - scrolling mode */
- case 5: /* SCNM - screen mode */
- case 8: /* ARM - auto repeat mode */
- case 9: /* INLM - interlace mode */
- case 10: /* EDM - edit mode */
- case 11: /* LTM - line transmit mode */
- case 12: /* */
- case 13: /* SCFDM - space compression / field delimiting */
- case 14: /* TEM - transmit execution mode */
- case 15: /* */
- case 16: /* EKEM - edit key execution mode */
- case 25: /* TCEM - text cursor enable mode */
- case 42: /* NRCM - 7bit NRC characters */
- break;
-
- case 6: /* OM - origin mode */
- cdata->m_om = 0;
- break;
- }
-}
-
-void
-vt_sc(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
-#ifdef SELFTEST
- strcpy ( console_proc, "vt_sc" );
-#endif
-
- cdata->sc_G0 = cdata->G0;
- cdata->sc_G1 = cdata->G1;
- cdata->sc_G2 = cdata->G2;
- cdata->sc_G3 = cdata->G3;
- cdata->sc_GL = cdata->GL;
- cdata->sc_GR = cdata->GR;
- cdata->sc_xcur = vc->xcur;
- cdata->sc_ycur = vc->ycur;
- cdata->sc_om = cdata->m_om;
- cdata->sflags = cdata->flags;
-/*
- cdata->sc_attr = cdata->c_attr;
- cdata->sc_awm = cdata->m_awm;
- cdata->sc_sel = cdata->selchar;
- cdata->sc_vtsgr = cdata->vtsgr;
- cdata->sc_flag = 1;
-*/
-}
-
-void
-vt_rc(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- cdata->G0 = cdata->sc_G0;
- cdata->G1 = cdata->sc_G1;
- cdata->G2 = cdata->sc_G2;
- cdata->G3 = cdata->sc_G3;
- cdata->GL = cdata->sc_GL;
- cdata->GR = cdata->sc_GR;
- vc->xcur = cdata->sc_xcur;
- vc->ycur = cdata->sc_ycur;
- cdata->m_om = cdata->sc_om;
- cdata->flags = cdata->sflags;
-
-/*
- cdata->c_attr = cdata->sc_attr;
- cdata->awm = cdata->sc_awm;
- cdata->sel = cdata->sc_selchar;
- cdata->vtsgr = cdata->sc_vtsgr;
- cdata->flag = 0;
-*/
-}
-
-void
-vt_clreol(vc)
- struct vconsole *vc;
-{
-/*
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-*/
- int counter;
- int x = vc->xcur;
- int y = vc->ycur;
-
-#ifdef SELFTEST
- strcpy ( console_proc, "vt_clreol" );
-#endif
-
- for ( counter=vc->xcur; counter<vc->xchars; counter++ )
- do_render_noscroll ( ' ', vc );
-
- vc->xcur = x;
- vc->ycur = y;
-}
-
-/* index, move cursor down */
-
-void
-vt_ind(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
-#ifdef SELFTEST
- strcpy ( console_proc, "vt_ind" );
-#endif
-
- vc->ycur++;
-
- {
- char buf[80];
- sprintf ( buf, "{vt_ind [%d,%d] [%d,%d] }",
- vc->xcur, vc->ycur, cdata->scrr_beg, cdata->scrr_end);
- dprintf ( buf );
- }
-
- do_scrollcheck ( vc );
-}
-
-void
-vt_nel(vc)
- struct vconsole *vc;
-{
- vc->ycur++;
- do_scrollcheck ( vc );
- vc->xcur=0;
-}
-
-void
-vt_ri(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- if (vnodeconsolebug & 1)
- vnodeconsolebug2 = ReadWord(0xf148a000);
-
- vc->ycur--;
-
- if (vc->ycur<=cdata->scrr_beg)
- vc->ycur = cdata->scrr_beg;
-
-
- if (vc->ycur <= cdata->scrr_beg) {
- if (vnodeconsolebug & 4) {
- if (ReadWord(0xf148a000) != vnodeconsolebug2) {
- log(LOG_WARNING, "vnode 0xf148a000 v_flag changed from %08x to %08x in vt_ri(1)\n",
- vnodeconsolebug2, ReadWord(0xf148a000));
- log(LOG_WARNING, "vc=%08x ycur=%d scrr_beg=%d\n", vc, vc->ycur, cdata->scrr_beg);
- vnodeconsolebug2 = ReadWord(0xf148a000);
- }
- }
- do_scrolldown ( vc );
- if (vnodeconsolebug & 4) {
- if (ReadWord(0xf148a000) != vnodeconsolebug2) {
- log(LOG_WARNING, "vnode 0xf148a000 v_flag changed from %08x to %08x in vt_ri(2)\n",
- vnodeconsolebug2, ReadWord(0xf148a000));
- log(LOG_WARNING, "vc=%08x ycur=%d scrr_beg=%d charmap=%08x\n", vc, vc->ycur, cdata->scrr_beg, vc->charmap);
- vnodeconsolebug2 = ReadWord(0xf148a000);
- }
- }
- vc->ycur = cdata->scrr_beg;
- }
-}
-
-/* selective in line erase */
-
-int
-vt_sel(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- register int counter;
- register int x = vc->xcur;
- register int y = vc->ycur;
-
- switch ( cdata->param[0] )
- {
- case 0: /* Delete to the end of the line */
- for ( counter=x; counter<vc->xchars; counter++ )
- do_render_noscroll ( ' ', vc );
- break;
-
- case 1: /* Delete to the beginning of the line */
- vc->xcur = 0;
- for ( counter=0; counter<x; counter++ )
- do_render_noscroll ( ' ', vc );
- break;
-
- case 2: /* Delete the whole line */
- default:
- vc->xcur = 0;
- for ( counter=0; counter<vc->xchars; counter++ )
- do_render_noscroll ( ' ', vc );
- break;
- }
-
- vc->xcur = x;
- vc->ycur = y;
- return 0;
-}
-
-void
-vt_cuu(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- cdata->param[0] = (cdata->param[0] <= 0) ? 1 : cdata->param[0];
- vc->ycur -= cdata->param[0];
- vc->ycur = vc->ycur < 0 ? 0 : vc->ycur;
-}
-
-void
-vt_cub(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- cdata->param[0] = (cdata->param[0] <= 0) ? 1 : cdata->param[0];
-
- vc->xcur -= cdata->param[0];
- cdata->param[0] = (cdata->param[0] < 0 ) ? 0 : cdata->param[0];
-}
-
-void
-vt_da(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- static u_char *response = (u_char *)DA_VT220;
-
- cdata->report_chars = response;
- cdata->report_count = 18;
- respond(vc);
-}
-
-void
-vt_str(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- int counter;
-
- if (cdata == NULL) {
- return;
- }
-
- clr_params ( cdata );
-
- cdata->state = STATE_INIT;
- cdata->disable_function = 1;
- cdata->m_om = 0; /* origin mode */
- vc->xcur = vc->ycur = 0;
- cdata->beepoff=default_beepstate;
- cdata->simple_cursor_store = ' ';
- cdata->scrr_beg = 0;
- cdata->scrr_len = vc->ychars;
- cdata->scrr_end = vc->ychars-1;
- cdata->simple_cursor_on = 0;
- cdata->nfgcol = 7;
- cdata->nbgcol = 0;
- cdata->fgcol = cdata->nfgcol;
- cdata->bgcol = cdata->nbgcol;
- cdata->attribs=cdata->fgcol<<8 | cdata->bgcol<<11;
- cdata->sc_flag = 0; /* save cursor position */
- cdata->flags = F_AWM;
- cdata->irm = 0;
-
- for ( counter=0; counter<MAXTABSTOPS; counter++ )
- {
- if ( !(counter%8) )
- cdata->tab_stops[counter] = 1;
- else
- cdata->tab_stops[counter] = 0;
- }
-}
-
-void
-vt_ris(vc)
- struct vconsole *vc;
-{
- vc->xcur = vc->ycur = 0;
- vt_str(vc); /* and soft terminal reset */
-}
-
-void
-vt_cud(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- cdata->param[0] = (cdata->param[0] <= 0) ? 1 : cdata->param[0];
-
- cdata->param[0] = (cdata->param[0] > (cdata->scrr_end-vc->ycur))
- ? (cdata->scrr_end-vc->ycur) : cdata->param[0];
-
- vc->ycur += cdata->param[0];
-
- do_scrollcheck ( vc );
-}
-
-void
-vt_tst(vc)
- struct vconsole *vc;
-{
- int counter, times;
-
- for ( times=0; times<100; times++ );
- for ( counter=32; counter<127; counter++ )
- do_render ( counter, vc );
-}
-
-void
-vt_il(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- register int beg, end;
-
- if ( vc->ycur >= (vc->ychars-2) )
- return;
-
- cdata->param[0] = cdata->param[0]<=0 ? 1 : cdata->param[0];
-
- beg = cdata->scrr_beg;
- end = cdata->scrr_end;
-
- cdata->scrr_beg = vc->ycur;
- cdata->scrr_end = vc->ychars-1;
-
- for ( ; cdata->param[0]>0; cdata->param[0]-- )
- do_scrolldown( vc );
-
- cdata->scrr_beg = beg;
- cdata->scrr_end = end;
-}
-
-void
-vt_ic(vc)
- struct vconsole *vc;
-{
- int counter;
- int ox, oy;
- int *ptr = vc->charmap + (vc->xcur + vc->ycur*vc->xchars);
- for ( counter=vc->xchars-vc->xcur; counter>=0; counter-- )
- ptr[counter+1] = ptr[counter];
- ptr[0] = ' ';
- ox = vc->xcur; oy = vc->ycur;
-
- for ( ; vc->xcur < vc->xchars; )
- do_render_noscroll ( vc->charmap[vc->xcur+vc->ycur*vc->xchars], vc );
- vc->xcur = ox; vc->ycur = oy;
-}
-
-void
-vt_dch(vc)
- struct vconsole *vc;
-{
- int counter;
- int ox, oy;
- int *ptr = vc->charmap + (vc->ycur*vc->xchars);
-
- for ( counter=vc->xcur; counter<(vc->xchars-1); counter++ )
- ptr[counter] = ptr[counter+1];
-
- ptr[vc->xchars] = ' ';
-
- ox = vc->xcur; oy = vc->ycur;
-
- for ( ; vc->xcur < vc->xchars; )
- do_render_noscroll ( vc->charmap[vc->xcur+vc->ycur*vc->xchars], vc );
-
- vc->xcur = ox; vc->ycur = oy;
-}
-
-void
-vt_dl(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- register int beg, end;
-
- cdata->param[0] = cdata->param[0]<=0 ? 1 : cdata->param[0];
- cdata->param[0] = cdata->param[0]>vc->xchars ? vc->xchars : cdata->param[0];
-
-/*
- vc->xcur=0;
-*/
-
- beg = cdata->scrr_beg;
- end = cdata->scrr_end;
-
- cdata->scrr_beg = vc->ycur;
- cdata->scrr_end = vc->ychars-1;
-
- for ( ; cdata->param[0]>0; cdata->param[0]-- )
- do_scrollup( vc );
-
- cdata->scrr_beg = beg;
- cdata->scrr_end = end;
-}
-
-/* Set scrolling region */
-
-void
-vt_stbm(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- if((cdata->param[0] == 0) && (cdata->param[1] == 0))
- {
- cdata->xcur = 0;
- cdata->ycur = 0;
- cdata->scrr_beg = 0;
- cdata->scrr_len = vc->ychars;
- cdata->scrr_end = cdata->scrr_len - 1;
- return;
- }
- if(cdata->param[1] <= cdata->param[0])
- return;
-
- /* range parm 1 */
-
- cdata->scrr_beg = cdata->param[0]-1;
- cdata->scrr_len = cdata->param[1] - cdata->param[0] + 1;
- cdata->scrr_end = cdata->param[1]-1;
-
-/*
- if (cdata->scrr_beg<0)
- cdata->scrr_beg = 0;
-*/
-
- if (cdata->scrr_end>(vc->ychars-1))
- cdata->scrr_end = vc->ychars-1;
-
- cdata->scrr_len = cdata->scrr_end - cdata->scrr_beg - 1;
-{
- char buf[80];
- sprintf ( buf, "scrr_beg %d, scrr_end %d", cdata->scrr_beg,
- cdata->scrr_end );
- dprintf ( buf );
-}
-
- cdata->flags &= ~F_LASTCHAR;
-}
-
-void
-vt_dsr(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- static u_char *answr = (u_char *)"\033[0n";
- static u_char *panswr = (u_char *)"\033[?13n"; /* Printer Unattached */
- static u_char *udkanswr = (u_char *)"\033[?21n"; /* UDK Locked */
- static u_char *langanswr = (u_char *)"\033[?27;1n"; /* North American*/
- static u_char buffer[16];
- int i = 0;
-
- switch(cdata->param[0])
- {
- case 5: /* return status */
- cdata->report_chars = answr;
- cdata->report_count = 4;
- respond(vc);
- break;
-
- case 6: /* return cursor position */
- buffer[i++] = 0x1b;
- buffer[i++] = '[';
- if((vc->ycur+1) > 10)
- buffer[i++] = ((vc->ycur+1) / 10) + '0';
- buffer[i++] = ((vc->ycur+1) % 10) + '0';
- buffer[i++] = ';';
- if((vc->xcur+1) > 10)
- buffer[i++] = ((cdata->xcur+1) / 10) + '0';
- buffer[i++] = ((vc->xcur+1) % 10) + '0';
- buffer[i++] = 'R';
- buffer[i++] = '\0';
-
- cdata->report_chars = buffer;
- cdata->report_count = i;
- respond(vc);
- break;
-
- case 15: /* return printer status */
- cdata->report_chars = panswr;
- cdata->report_count = 6;
- respond(vc);
- break;
-
- case 25: /* return udk status */
- cdata->report_chars = udkanswr;
- cdata->report_count = 6;
- respond(vc);
- break;
-
- case 26: /* return language status */
- cdata->report_chars = langanswr;
- cdata->report_count = 8;
- respond(vc);
- break;
-
- default: /* nothing else valid */
- break;
- }
-}
-
-void
-vt_su(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- cdata->param[0] = cdata->param[0]<=0 ? 1 : cdata->param[0];
- cdata->param[0] = cdata->param[0]>(vc->xchars-1) ? vc->xchars-1 : cdata->param[0];
-
- do_scrollup ( vc );
-}
-
-void
-vt_set_dec_priv_qm(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- switch(cdata->param[0])
- {
- case 7: /* AWM - auto wrap mode */
- cdata->flags |= F_AWM;
- break;
-
- /* Implement these */
- case 1: /* CKM - cursor key mode */
- case 3: /* COLM - column mode */
- case 6: /* OM - origin mode */
- case 8: /* ARM - auto repeat mode */
- case 25: /* TCEM - text cursor enable mode */
- break;
-
- case 0: /* error, ignored */
- case 2: /* ANM - ansi/vt52 mode */
- case 4: /* SCLM - scrolling mode */
- case 5: /* SCNM - screen mode */
- case 9: /* INLM - interlace mode */
- case 10: /* EDM - edit mode */
- case 11: /* LTM - line transmit mode */
- case 12: /* */
- case 13: /* SCFDM - space compression / field delimiting */
- case 14: /* TEM - transmit execution mode */
- case 15: /* */
- case 16: /* EKEM - edit key execution mode */
- case 42: /* NRCM - 7bit NRC characters */
- break;
- }
-}
-
-void
-vt_keyappl(vc)
- struct vconsole *vc;
-{
- dprintf ( "VT_KEYAPPL" );
-}
-
-void
-vt_clrtab(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- int i;
-
- if(cdata->param[0] == 0)
- cdata->tab_stops[vc->xcur] = 0;
- else if(cdata->param[0] == 3)
- {
- for(i=0; i<MAXTABSTOPS; i++)
- cdata->tab_stops[i] = 0;
- }
-}
-
-/*
-void
-vt_cuf(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- cdata->param[0] = (cdata->param[0] <= 0) ? 1 : cdata->param[0];
-
- vc->xcur += cdata->param[0];
-
- cdata->param[0] = (cdata->param[0] > vc->xchars ) ? vc->xchars : cdata->param[0];
-}
-*/
-
-void
-vt_cuf(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- register int p = cdata->param[0];
-
- if(vc->xcur == ((vc->xchars)-1)) /* already at right margin */
- return;
- if(p <= 0) /* parameter min = 1 */
- p = 1;
- else if(p > ((vc->xchars)-1)) /* parameter max = 79 */
- p = ((vc->xchars)-1);
- if((vc->xcur + p) > ((vc->xchars)-1)) /* not more than */
- p = ((vc->xchars)-1) - vc->xcur;
- vc->xcur += p;
-}
-
-void
-vt_sgr(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- register int i=0;
-
- do
- {
- vc->SGR ( vc, cdata->param[i] );
- switch ( cdata->param[i++] )
- {
- case 0: /* reset to normal attributes */
- cdata->fgcol = cdata->nfgcol;
- cdata->bgcol = cdata->nbgcol;
- cdata->attribs=cdata->fgcol<<8 | cdata->bgcol<<11;
- break;
- case 1: /* bold */
- cdata->attribs |= BOLD;
- break;
- case 4: /* underline */
- cdata->attribs |= UNDERLINE;
- break;
- case 5: /* blinking */
- cdata->attribs |= BLINKING;
- break;
- case 7: /* reverse */
- cdata->fgcol = cdata->nbgcol;
- cdata->bgcol = cdata->nfgcol;
- cdata->attribs |= REVERSE;
- cdata->attribs&=~0x3F00;
- cdata->attribs|=cdata->fgcol<<8 | cdata->bgcol<<11;
- break;
- case 22: /* not bold */
- cdata->attribs &= ~BOLD;
- break;
- case 24: /* not underlined */
- cdata->attribs &= ~UNDERLINE;
- break;
- case 25: /* not blinking */
- cdata->attribs &= ~BLINKING;
- break;
- case 27: /* not reverse */
- cdata->attribs &= ~REVERSE;
- cdata->fgcol = cdata->nfgcol;
- cdata->bgcol = cdata->nbgcol;
- cdata->attribs&=~0x3F00;
- cdata->attribs|=cdata->fgcol<<8 | cdata->bgcol<<11;
- break;
-
- default:
- if ( ( cdata->param[i-1] > 29 )&&( cdata->param[i-1] < 38 ) )
- {
- vc->SETFGCOL ( vc, cdata->param[i-1] - 30 );
- cdata->fgcol = cdata->param[i-1] - 30;
- cdata->attribs&=~0x3F00;
- cdata->attribs|=cdata->fgcol<<8 | cdata->bgcol<<11;
-
- }
- if ( ( cdata->param[i-1] > 39 )&&( cdata->param[i-1] < 48 ) )
- {
- vc->SETBGCOL ( vc, cdata->param[i-1] - 40 );
- cdata->bgcol = cdata->param[i-1] - 40;
- cdata->attribs&=~0x3F00;
- cdata->attribs|=cdata->fgcol<<8 | cdata->bgcol<<11;
- }
- }
- } while ( i<=cdata->parami );
-}
-
-void
-vt_clreos(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- int ptr;
- if ( vc == vconsole_current )
- vc->R_CLREOS ( vc, cdata->param[0] );
- else
- vconsole_pending = vc->number;
-
- switch ( cdata->param[0] )
- {
- case 0: /* Erase from cursor to end of screen */
- for ( ptr=vc->xcur + vc->ycur * vc->xchars
- ; ptr<(vc->xchars*vc->ychars); ptr++ )
- vc->charmap[ptr]=0x20;
- break;
-
- case 1: /* Erase from start to cursor */
- for ( ptr=0;
- ptr<vc->ycur*vc->xchars + vc->xcur;
- ptr++ )
- vc->charmap[ptr]=0x20;
- break;
-
- case 2: /* Blitz the whole bloody thing */
- if ((vc->flags&LOSSY)==0)
- mapped_cls(vc);
- if (vc==vconsole_current)
- vc->CLS(vc);
- else
- vconsole_pending = vc->number;
- break;
- }
-}
-
-void
-vt_set_ansi(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- switch(cdata->param[0])
- {
- case 0: /* error, ignored */
- case 1: /* GATM - guarded area transfer mode */
- case 2: /* KAM - keyboard action mode */
- case 3: /* CRM - Control Representation mode */
- case 20: /* LNM - line feed / newline mode */
- break;
-
- case 4: /* IRM - insert replacement mode */
- cdata->irm = 1;
- break;
-
- case 5: /* SRTM - status report transfer mode */
- case 6: /* ERM - erasue mode */
- case 7: /* VEM - vertical editing mode */
- case 10: /* HEM - horizontal editing mode */
- case 11: /* PUM - position unit mode */
- case 12: /* SRM - send-receive mode */
- case 13: /* FEAM - format effector action mode */
- case 14: /* FETM - format effector transfer mode */
- case 15: /* MATM - multiple area transfer mode */
- case 16: /* TTM - transfer termination */
- case 17: /* SATM - selected area transfer mode */
- case 18: /* TSM - tabulation stop mode */
- case 19: /* EBM - editing boundary mode */
- break;
- }
-}
-
-void
-vt_reset_ansi(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- switch(cdata->param[0])
- {
- /* Implement these */
- case 0: /* error, ignored */
- case 1: /* GATM - guarded area transfer mode */
- case 2: /* KAM - keyboard action mode */
- case 3: /* CRM - Control Representation mode */
- case 20: /* LNM - line feed / newline mode */
- break;
-
- case 4: /* IRM - insert replacement mode */
- cdata->irm = 0;
- break;
-
- case 5: /* SRTM - status report transfer mode */
- case 6: /* ERM - erasue mode */
- case 7: /* VEM - vertical editing mode */
- case 10: /* HEM - horizontal editing mode */
- case 11: /* PUM - position unit mode */
- case 12: /* SRM - send-receive mode */
- case 13: /* FEAM - format effector action mode */
- case 14: /* FETM - format effector transfer mode */
- case 15: /* MATM - multiple area transfer mode */
- case 16: /* TTM - transfer termination */
- case 17: /* SATM - selected area transfer mode */
- case 18: /* TSM - tabulation stop mode */
- case 19: /* EBM - editing boundary mode */
- break;
- }
-}
-
-/* DRN */
-
-void
-do_render_noscroll(c, vc)
- char c;
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- /* THE RENDER STAGE **********************************/
-
- if ((c>=0x20)&&(c<=0x7f))
- {
- if (((vc->flags)&(LOSSY))==0)
- {
- if ( vc->charmap[vc->xcur+vc->ycur*vc->xchars] != c|cdata->attribs )
- {
- if ( vc==vconsole_current )
- vc->RENDER ( vc, c );
- else
- vconsole_pending = vc->number;
- }
- vc->charmap[ vc->xcur + vc->ycur*vc->xchars ] = c|cdata->attribs;
- }
- else
- {
- if ( vc==vconsole_current )
- vc->RENDER ( vc, c );
- else
- vconsole_pending = vc->number;
- }
- }
-
- vc->xcur++;
-
- /*do_scrollcheck ( vc );*/
-}
-
-#ifdef SIMPLE_CURSOR
-void
-simple_cursor_on(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- if (cdata->simple_cursor_on)
- return 0;
- if (vc!=vconsole_current)
- return 0;
- if (((vc->flags)&(LOSSY))==0)
- {
- cdata->simple_cursor_store = vc->charmap[ vc->xcur + vc->ycur*vc->xchars ];
- vc->RENDER ( vc, SIMPLE_CURSOR_CHAR );
- }
- cdata->simple_cursor_on = 1;
-}
-
-void
-simple_cursor_off(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- if (!cdata->simple_cursor_on)
- return 0;
- if (vc!=vconsole_current)
- return 0;
- if (((vc->flags)&(LOSSY))==0)
- {
- vc->RENDER ( vc, cdata->simple_cursor_store );
- }
- cdata->simple_cursor_on = 0;
-}
-#endif
-
-/* DSC */
-void
-do_scrollcheck(vc)
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
-
- /* BOUNDARY CHECK ************************************/
- if ((vc->xcur >= (vc->xchars))&&((cdata->flags&F_AWM)!=0))
- {
- cdata->flags|=F_LASTCHAR;
- cdata->lastpos = vc->ycur*vc->xchars+vc->xcur;
- }
-
- /* SCROLL CHECK *************************************/
- if ( vc->ycur >= cdata->scrr_end+1 )
- {
- do_scrollup ( vc );
- }
-}
-
-/* DR */
-
-int
-do_render(c, vc)
- char c;
- struct vconsole *vc;
-{
- struct vt220_info *cdata = (struct vt220_info *)vc->data;
- /* THE RENDER STAGE **********************************/
-
- if (((cdata->flags&F_AWM)==0)&&(vc->xcur >= 20))
- return 0;
-
- if ( cdata->flags & F_LASTCHAR )
- {
- if ( cdata->lastpos==vc->ycur*vc->xchars+vc->xchars)
- {
- vc->ycur++;
- vc->xcur = 0;
- cdata->flags &= ~F_LASTCHAR;
- do_scrollcheck(vc);
- }
- else
- {
- cdata->flags &= ~F_LASTCHAR;
- }
- }
-
- if ((c>=0x20)&&(c<=0x7f))
- {
- if (((vc->flags)&(LOSSY))==0)
- {
- if ( cdata->irm == 0 )
- {
- if(vc->charmap[vc->xcur+vc->ycur*vc->xchars]!=c|cdata->attribs )
- {
- if ( vc==vconsole_current )
- vc->RENDER ( vc, c );
- else
- vconsole_pending = vc->number;
- }
- vc->charmap[vc->xcur+vc->ycur*vc->xchars ] = c|cdata->attribs;
- }
- else
- {
- int counter;
- int ox, oy;
- int *ptr = vc->charmap + (vc->xcur + vc->ycur*vc->xchars);
- for ( counter=vc->xchars-vc->xcur; counter>=0; counter-- )
- ptr[counter+1] = ptr[counter];
- ptr[0] = c;
- ox = vc->xcur; oy = vc->ycur;
-
- for ( ; vc->xcur < vc->xchars; )
- do_render_noscroll ( vc->charmap[vc->xcur+vc->ycur*vc->xchars], vc );
- vc->xcur = ox; vc->ycur = oy;
-
- }
- }
- else
- {
- if ( vc==vconsole_current )
- vc->RENDER ( vc, c );
- else
- vconsole_pending = vc->number;
- }
- }
-
- vc->xcur++;
-
- do_scrollcheck ( vc );
-
- if ( cdata->flags & F_LASTCHAR )
- vc->xcur--;
- return 0;
-}
-
-int
-TERMTYPE_PUTSTRING(string, length, vc)
- char *string;
- int length;
- struct vconsole *vc;
-{
- struct vt220_info *cdata;
- register char c;
- char dc[] = "x\0";
- cdata = (struct vt220_info *)vc->data;
-
- /* A piece of saftey code */
- if ( vconsole_current->vtty == 0 )
- return 0;
-
-#ifdef SIMPLE_CURSOR
- if ( vc==vconsole_current )
- if ( vc->CURSORUPDATE(vc)==-1 ) simple_cursor_off ( vc );
-#else
- if ( vc==vconsole_current )
- vc->CURSORUPDATE (vc);
-#endif
-
- while ( ((c=*(string++))!=0) && ((length--)>0) )
- {
-
- if ( cdata->state != STATE_INIT )
- cdata->flags &= ~F_LASTCHAR;
-
- if ( ( c == 0x0a ) || ( c== 0x0d ) )
- cdata->flags &= ~F_LASTCHAR;
-
-/* Middle mouse button freezes the display while active */
-
- while ((ReadByte(IO_MOUSE_BUTTONS) & MOUSE_BUTTON_MIDDLE) == 0);
-
-/* Left mouse button slows down the display speed */
-
- if ((ReadByte(IO_MOUSE_BUTTONS) & MOUSE_BUTTON_LEFT) == 0)
- delay(5000);
-
-/* Always process characters in the range of 0x00 to 0x1f */
-
-
-#ifdef DEBUGTERM
-*dc = c;
-switch (c)
-{
- case 0x0a: dprintf ( "[0a]" ); break;
- case 0x0d: dprintf ( "[0d]" ); break;
- case 0x0c: dprintf ( "[0c]" ); break;
- case 0x1b: dprintf ( "[1b]" ); break;
-}
-#endif
- if ( c <= 0x1f )
- {
- if ( cdata->disable_function )
- {
- if ( cdata->flags & F_LASTCHAR )
- {
- if ( cdata->lastpos==vc->ycur*vc->xchars+vc->xchars)
- {
- vc->ycur++;
- vc->xcur = 0;
- cdata->flags &= ~F_LASTCHAR;
- do_scrollcheck(vc);
- }
- else
- {
- cdata->flags &= ~F_LASTCHAR;
- }
- }
-
- switch (c)
- {
- case 0x00: /* NUL */
- case 0x01: /* SOH */
- case 0x02: /* STX */
- case 0x03: /* ETX */
- case 0x04: /* EOT */
- case 0x05: /* ENQ */
- case 0x06: /* ACK */
- break;
-
- case 0x07: /* BEL */
- beep_generate();
- if ( !cdata->beepoff )
- c = 'G';
- break;
-
- case 0x08: /* BS */
- cdata->flags &= ~F_LASTCHAR;
- if ( vc->xcur>0 )
- vc->xcur--;
- break;
-
- case 0x09: /* TAB */
- while ( vc->xcur < vc->xchars-1 )
- {
- vc->xcur++;
- if (cdata->tab_stops[vc->xcur])
- break;
- }
- break;
-
- case 0x0a:
- cdata->flags &= ~F_LASTCHAR;
- vc->ycur++;
- do_scrollcheck ( vc );
- break;
-
- case 0x0c:
- cdata->flags &= ~F_LASTCHAR;
- if ((vc->flags&LOSSY)==0)
- mapped_cls(vc);
- if (vc==vconsole_current)
- vc->CLS(vc);
- vc->xcur=0;
- vc->ycur=0;
-
- break;
- case 0x0d:
- cdata->flags &= ~F_LASTCHAR;
- vc->xcur=0;
- break;
-
- case 0x10: /* DLE */
- case 0x11: /* DC1/XON */
- case 0x12: /* DC2 */
- case 0x13: /* DC3/XOFF */
- case 0x14: /* DC4 */
- case 0x15: /* NAK */
- case 0x16: /* SYN */
- case 0x17: /* ETB */
- break;
-
- case 0x18: /* CAN */
- cdata->state = STATE_INIT;
- clr_params(cdata);
- break;
-
- case 0x19: /* EM */
- break;
-
- case 0x1a: /* SUB */
- cdata->state = STATE_INIT;
- clr_params(cdata);
- break;
-
- case 0x1b: /* ESC */
- cdata->state = STATE_ESC;
- clr_params(cdata);
- break;
-
- case 0x1c: /* FS */
- case 0x1d: /* GS */
- case 0x1e: /* RS */
- case 0x1f: /* US */
- break;
- }
- }
- }
- else
- {
- /* 0x20 to 0xff depends on current state */
- switch ( cdata->state )
- {
- case STATE_INIT:
- do_render ( c, vc );
- break;
-
- case STATE_ESC:
-#ifdef DEBUGTERM
-{
- char buf[]="x";
- buf[0] = c;
- dprintf ( buf );
-}
-#endif
- switch (c)
- {
- case '7': /* SAVE CUSOR */
- vt_sc ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case '8': /* RESTORE CUSOR */
- vt_rc ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case '=':
- vt_keyappl ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case '>': /* Keypad numeric mode */
-#ifdef DEBUGTERM
-dprintf ( "\r\nKEYPAD NUMERIC MODE\r\n ");
-#endif
- cdata->state = STATE_INIT;
- break;
-
- case 'D':
- vt_ind ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'E':
- vt_nel ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'H':
- cdata->tab_stops[vc->xcur] = 1;
- cdata->state = STATE_INIT;
- break;
-
- case 'M':
- vt_ri ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'N':
- cdata->Gs = cdata->G2;
- cdata->ss = 1;
- cdata->state = STATE_INIT;
- break;
-
- case 'O':
- cdata->Gs = cdata->G3;
- cdata->ss = 1;
- cdata->state = STATE_INIT;
- break;
-
- case 'P':
- cdata->dcs_state = DCS_INIT;
- cdata->state = STATE_DCS;
- break;
-
- case 'Z':
- vt_da ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case '~':
- cdata->GR = cdata->G1;
- cdata->state = STATE_INIT;
- break;
-
- case '[':
- clr_params ( cdata );
- cdata->state = STATE_CSI;
- break;
-
- case '\\':
- cdata->state = STATE_INIT;
- break;
-
- case 'c':
- vt_ris ( vc );
- cdata->state = STATE_CSI;
- break;
-
- case 'n':
- cdata->GL = cdata->G2;
- cdata->state = STATE_INIT;
- break;
-
- case 'o':
- cdata->GL = cdata->G3;
- cdata->state = STATE_INIT;
- break;
-
- case '}':
- cdata->GR = cdata->G2;
- cdata->state = STATE_INIT;
- break;
-
- case '|':
- cdata->GR = cdata->G3;
- cdata->state = STATE_INIT;
- break;
-
- default:
- do_render ( c, vc );
- cdata->state = STATE_INIT;
- break;
- }
- break;
-
- case STATE_CSIQM:
-#ifdef DEBUGTERM
-{
- char buf[]="x";
- buf[0] = c;
- dprintf ( buf );
-}
-#endif
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': /* parameters */
- cdata->param[cdata->parami] *= 10;
- cdata->param[cdata->parami] += (c-'0');
- break;
-
- case ';': /* next parameter */
- cdata->parami =
- (cdata->parami+1 < MAXPARMS) ?
- cdata->parami+1 : cdata->parami;
- break;
-
- case 'h':
- vt_set_dec_priv_qm ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'l':
- vt_reset_dec_priv_qm ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'n':
- vt_dsr ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'K':
- vt_sel ( vc );
- cdata->state = STATE_INIT;
- break;
-
- default:
- do_render ( '[', vc );
- do_render ( c, vc );
- cdata->state = STATE_INIT;
- {
- register int counter;
- for ( counter=0; counter<=cdata->parami; counter++ )
- {
- do_render ( '@', vc );
- }
- }
- do_render ( c, vc );
- break;
- }
-
- case STATE_CSI:
-#ifdef DEBUGTERM
-{
- char buf[]="x";
- buf[0] = c;
- dprintf ( buf );
-}
-#endif
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': /* parameters */
- cdata->param[cdata->parami] *= 10;
- cdata->param[cdata->parami] += (c-'0');
- break;
-
- case ';': /* next parameter */
- cdata->parami =
- (cdata->parami+1 < MAXPARMS) ?
- cdata->parami+1 : cdata->parami;
- break;
-
- case '?': /* ESC [ ? family */
- cdata->state = STATE_CSIQM;
- break;
-
- case '@': /* insert char */
- vt_ic ( vc );
- cdata->state = STATE_INIT;
- break;
-
- /*
- case '!':
- cdata->state = STATE_STR;
- break;
- */
-
- case 'A': /* cursor up */
- vt_cuu ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'B': /* cursor down */
- vt_cud ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'C':
- vt_cuf ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'D': /* cursor back */
- vt_cub ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'H': /* direct cursor addressing */
- vt_curadr ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'J': /* erase screen */
- vt_clreos ( vc );
- cdata->state = STATE_INIT;
- break;
-
- cdata->state = STATE_INIT;
- break;
-
- case 'K': /* erase line */
- vt_clreol ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'L': /* insert line */
- vt_il ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'M': /* delete line */
- vt_dl ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'P': /* Delete chars */
- vt_dch ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'S': /* scroll up */
- vt_su ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'c':
- vt_da ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'f':
- vt_curadr ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'h':
- vt_set_ansi ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'l':
- vt_reset_ansi ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'm': /* select graphic rendition */
- vt_sgr( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'n':
- vt_dsr ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'r': /* set scrolling region */
- vt_stbm ( vc );
- cdata->state = STATE_INIT;
- break;
-
- case 'y':
- vt_tst ( vc );
- cdata->state = STATE_INIT;
- break;
-
- default:
- do_render ( '[', vc );
- do_render ( c, vc );
- cdata->state = STATE_INIT;
- {
- register int counter;
- for ( counter=0; counter<=cdata->parami; counter++ )
- {
- do_render ( '@', vc );
- }
- }
- do_render ( c, vc );
- cdata->state = STATE_INIT;
- break;
- }
- break;
-
- default:
- cdata->state = STATE_INIT;
- break;
- }
- }
- }
-#ifdef SIMPLE_CURSOR
- if ( vc==vconsole_current )
- if ( vc->CURSORUPDATE(vc)==-1 )
- simple_cursor_on ( vc );
-#else
- if ( vc==vconsole_current )
- vc->CURSORUPDATE (vc);
-#endif
- return 0;
-}
-
-void
-console_debug()
-{
-}
-
-int
-vt220_swapin(vc)
- struct vconsole *vc;
-{
-#ifdef SIMPLE_CURSOR
- if ( vc==vconsole_current )
- if ( vc->CURSORUPDATE(vc)==-1 ) simple_cursor_on ( vc );
-#else
- if ( vc==vconsole_current )
- vc->CURSORUPDATE (vc);
-#endif
- return 0;
-}
-
-int
-vt220_swapout(vc)
- struct vconsole *vc;
-{
- return 0;
-}
-
-
-int
-vt220_sleep(vc)
- struct vconsole *vc;
-{
-#ifdef SIMPLE_CURSOR
- if ( vc==vconsole_current )
- if ( vc->CURSORUPDATE(vc)==-1 ) simple_cursor_off ( vc );
-#else
- if ( vc==vconsole_current )
- vc->CURSORUPDATE (vc);
-#endif
- vc->FLASH ( vc, 0 );
- vc->CURSOR_FLASH ( vc, 0 );
- return 0;
-}
-
-int
-vt220_wake(vc)
- struct vconsole *vc;
-{
- vc->FLASH ( vc, 1 );
- vc->CURSOR_FLASH ( vc, 1 );
-
-#ifdef SIMPLE_CURSOR
- if ( vc==vconsole_current )
- if ( vc->CURSORUPDATE(vc)==-1 )
- simple_cursor_on ( vc );
-#else
- if ( vc==vconsole_current )
- vc->CURSORUPDATE (vc);
-#endif
- return 0;
-}
-
-int
-vt220_scrollback(vc)
- struct vconsole *vc;
-{
- return -1;
-}
-
-int
-vt220_scrollforward(vc)
- struct vconsole *vc;
-{
- return -1;
-}
-
-int
-vt220_scrollbackend(vc)
- struct vconsole *vc;
-{
- return -1;
-}
-
-int
-vt220_debugprint(vc)
- struct vconsole *vc;
-{
- printf ( "VT220 TERMINAL EMULATOR\n\n" );
- printf ( "no information\n" );
- printf ( "\n" );
- return 0;
-}
-
-int
-vt220_modechange(vc)
- struct vconsole *vc;
-{
- if (vc->number >= 64)
- return(0);
-
- if (vc == NULL) {
- return(EINVAL);
- }
- vt_str ( vc );
- if (vc->charmap)
- {
- free ( vc->charmap, M_DEVBUF );
-
- MALLOC (vc->charmap, int *, sizeof(int)*((vc->xchars)*(vc->ychars)), M_DEVBUF, M_NOWAIT );
- if ((vc->flags&LOSSY)==0)
- mapped_cls(vc);
- if (vc==vconsole_current)
- vc->CLS(vc);
- vc->xcur=0;
- vc->ycur=0;
- }
-
- return 0;
-}
-
-int
-vt220_attach(vc, a, b, aux)
- struct vconsole *vc;
- struct device *a;
- struct device *b;
- void *aux;
-{
- return 0;
-}
-
-struct terminal_emulator vt220 = {
- vt220_name,
- vt220_init,
- vt220_putstring,
- vt220_swapin,
- vt220_swapout,
- vt220_sleep,
- vt220_wake,
- vt220_scrollback,
- vt220_scrollforward,
- vt220_scrollbackend,
- vt220_debugprint,
- vt220_modechange,
- vt220_attach
-};
diff --git a/sys/arch/arm32/dev/console/vt220.h b/sys/arch/arm32/dev/console/vt220.h
deleted file mode 100644
index ef877f0919d..00000000000
--- a/sys/arch/arm32/dev/console/vt220.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* $NetBSD: vt220.h,v 1.2 1996/03/18 19:33:12 mark Exp $ */
-
-/*
- * Copyright (c) 1994-1995 Melvyn Tang-Richardson
- * Copyright (c) 1994-1995 RiscBSD kernel team
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD kernel team
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE RISCBSD TEAM ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * vt220.h
- *
- * VT220 emulation header file
- *
- * Created : 17/09/94
- */
-
-#define MAXTABSTOPS 132
-
-#define STATE_INIT 0
-#define STATE_HASH 1
-#define STATE_BROPN 2
-#define STATE_BRCLO 3
-#define STATE_STAR 4
-#define STATE_PLUS 5
-#define STATE_MINUS 6
-#define STATE_DOT 7
-#define STATE_SLASH 8
-#define STATE_AMPSND 9
-#define SHP_INIT 10
-#define STATE_ESC 11
-#define STATE_CSIQM 14
-#define STATE_CSI 15
-#define STATE_DCS 16
-#define STATE_SCA 17
-#define STATE_STR 18
-
-/* sub-states for Device Control String processing */
-
-#define DCS_INIT 0 /* got ESC P ... */
-#define DCS_AND_UDK 1 /* got ESC P ... | */
-#define DCS_UDK_DEF 2 /* got ESC P ... | fnckey / */
-#define DCS_UDK_ESC 3 /* got ESC P ... | fnckey / ... ESC */
-#define DCS_DLD_DSCS 4 /* got ESC P ... { */
-#define DCS_DLD_DEF 5 /* got ESC P ... { dscs */
-#define DCS_DLD_ESC 6 /* got ESC P ... { dscs ... / ... ESC */
-
-#define F_AWM (1)
-#define F_LASTCHAR (2)
-#define F_IRM (3)
-
-#define MAXPARMS 10
-
-struct vt220_info {
- int tab_stops[MAXTABSTOPS];
- int state;
- int hp_state;
- int disable_function;
- int lastchar;
- int beepoff;
- int param[MAXPARMS];
- int parami;
- u_char m_om, sc_om; /* flag, vt100 mode, origin mode */
- u_char scrr_beg;
- u_char scrr_len;
- u_char scrr_end;
- int simple_cursor_store;
- int simple_cursor_on;
-
- int dcs_state;
-
- int G0, G1, G2, G3, GL, GR, sc_G0, sc_G1, sc_G2, sc_G3, sc_GL, sc_GR;
- int Gs, ss;
- int xcur, ycur, sc_xcur, sc_ycur;
- int sc_flag;
-
- char *report_chars;
- int report_count;
- int cursor_on;
-
- int fgcol, bgcol;
- int nfgcol, nbgcol;
-
- int attribs;
- int flags;
- int sflags;
-
- int lastpos;
- int irm;
-};
-
diff --git a/sys/arch/arm32/dev/rd_hooks.c b/sys/arch/arm32/dev/rd_hooks.c
deleted file mode 100644
index 7aa97324645..00000000000
--- a/sys/arch/arm32/dev/rd_hooks.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* $NetBSD: rd_hooks.c,v 1.5 1996/03/28 21:14:13 mark Exp $ */
-
-/*
- * Copyright (c) 1995 Gordon W. Ross
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/param.h>
-#include <sys/reboot.h>
-#include <sys/device.h>
-
-#include <vm/vm.h>
-#include <vm/vm_map.h>
-#include <vm/vm_kern.h>
-
-#include <dev/ramdisk.h>
-
-#ifndef RAMDISK_SIZE
-#define RAMDISK_SIZE 0
-#endif
-
-/*extern int boothowto;*/
-extern u_int ramdisc_size;
-struct rd_conf *bootrd = NULL;
-
-int load_ramdisc_from_floppy __P((struct rd_conf *rd, dev_t dev));
-
-/*
- * This is called during autoconfig.
- */
-int
-rd_match_hook(parent, self, aux)
- struct device *parent;
- void *self;
- void *aux;
-{
- return (1);
-}
-
-void
-rd_attach_hook(unit, rd)
- int unit;
- struct rd_conf *rd;
-{
- if (unit == 0) {
- if (ramdisc_size == 0 && RAMDISK_SIZE)
- ramdisc_size = (RAMDISK_SIZE * 1024);
-
- if (ramdisc_size != 0) {
- rd->rd_size = round_page(ramdisc_size);
- rd->rd_addr = (caddr_t)kmem_alloc(kernel_map, ramdisc_size);
- rd->rd_type = RD_KMEM_FIXED;
- bootrd = rd;
- }
- }
- printf("rd%d: allocated %dK (%d blocks)\n", unit, rd->rd_size / 1024, rd->rd_size / DEV_BSIZE);
-}
-
-
-/*
- * This is called during open (i.e. mountroot)
- */
-
-void
-rd_open_hook(unit, rd)
- int unit;
- struct rd_conf *rd;
-{
-/* I use the ramdisc for other testing ... */
-#if 0
- if (unit == 0) {
- /* The root ramdisk only works single-user. */
- boothowto |= RB_SINGLE;
- }
-#endif
-}