Make it work for both Amiga and Atari. Add new '-f' option.
This commit is contained in:
parent
af73578e82
commit
93dc1f1fea
@ -1,7 +1,8 @@
|
||||
# $Id: Makefile,v 1.2 1994/12/22 11:34:57 cgd Exp $
|
||||
# $NetBSD: Makefile,v 1.3 1995/05/12 21:04:26 leo Exp $
|
||||
|
||||
PROG=iteconfig
|
||||
MAN=iteconfig.8
|
||||
CFLAGS+=-I${.CURDIR}/../../sys/arch
|
||||
MAN= iteconfig_${MACHINE}.8
|
||||
MLINKS= iteconfig_${MACHINE}.8 iteconfig.8
|
||||
CFLAGS+=-I${.CURDIR}/../../sys/arch -D${MACHINE}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* $NetBSD: iteconfig.c,v 1.4 1995/05/12 21:04:29 leo Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1994 Christian E. Hopps
|
||||
* All rights reserved.
|
||||
@ -27,16 +28,28 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: iteconfig.c,v 1.3 1994/04/10 00:56:57 chopps Exp $
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/queue.h>
|
||||
|
||||
#if !defined(amiga) && !defined(atari)
|
||||
#error "This source is not suitable for this architecture!"
|
||||
#endif
|
||||
|
||||
#if defined(amiga)
|
||||
#include <amiga/dev/grfabs_reg.h>
|
||||
#include <amiga/dev/viewioctl.h>
|
||||
#include <amiga/dev/iteioctl.h>
|
||||
#endif /* defined(amiga) */
|
||||
|
||||
#if defined(atari)
|
||||
#include <atari/dev/grfabs_reg.h>
|
||||
#include <atari/dev/viewioctl.h>
|
||||
#include <atari/dev/iteioctl.h>
|
||||
#endif /* defined(atari) */
|
||||
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
@ -54,6 +67,8 @@ void usage __P((void));
|
||||
void xioctl __P((int, int, void *));
|
||||
colormap_t *xgetcmap __P((int, int));
|
||||
long xstrtol __P((char *));
|
||||
int initialize __P((char *, struct itewinsize *, struct itebell *,
|
||||
struct itewinsize *, struct itebell *));
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
@ -64,28 +79,31 @@ main(argc, argv)
|
||||
struct itebell ib, newib;
|
||||
struct winsize ws;
|
||||
colormap_t *cm;
|
||||
int ch, fd, i, iflag, max_colors;
|
||||
char *file = _PATH_CONSOLE;
|
||||
int ch, fd, i, iflag, max_colors, did_reset;
|
||||
long val;
|
||||
|
||||
iflag = 0;
|
||||
did_reset = 0;
|
||||
|
||||
fd = open(_PATH_AMIGACONSOLE, O_RDONLY | O_NONBLOCK);
|
||||
if (fd == -1)
|
||||
err(1, "open console");
|
||||
fd = initialize(_PATH_CONSOLE, &is, &ib, &newis, &newib);
|
||||
|
||||
xioctl(fd, ITEIOCGWINSZ, &is);
|
||||
xioctl(fd, ITEIOCGBELL, &ib);
|
||||
|
||||
memcpy(&newis, &is, sizeof(is));
|
||||
memcpy(&newib, &ib, sizeof(ib));
|
||||
|
||||
while ((ch = getopt(argc, argv, "D:H:P:T:V:W:X:Y:d:h:ip:t:v:w:x:y:"))
|
||||
while ((ch = getopt(argc, argv, "D:H:P:T:V:W:X:Y:d:f:h:ip:t:v:w:x:y:"))
|
||||
!= EOF) {
|
||||
switch (ch) {
|
||||
case 'D': /* undocumented backward compat */
|
||||
case 'd':
|
||||
newis.depth = xstrtol(optarg);
|
||||
break;
|
||||
case 'f':
|
||||
if (did_reset)
|
||||
break;
|
||||
if (fd != -1)
|
||||
close(fd);
|
||||
file = optarg;
|
||||
fd = initialize(optarg, &is, &ib, &newis, &newib);
|
||||
did_reset = optreset = optind = 1;
|
||||
break;
|
||||
case 'H': /* undocumented backward compat */
|
||||
case 'h':
|
||||
newis.height = xstrtol(optarg);
|
||||
@ -123,6 +141,8 @@ main(argc, argv)
|
||||
}
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
if(fd == -1)
|
||||
err(1, "open \"%s\"", file);
|
||||
|
||||
if (memcmp(&newis, &is, sizeof(is))) {
|
||||
xioctl(fd, ITEIOCSWINSZ, &newis);
|
||||
@ -236,6 +256,26 @@ printcmap(cm, ncols)
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
int
|
||||
initialize(file, is, ib, newis, newib)
|
||||
char *file;
|
||||
struct itewinsize *is, *newis;
|
||||
struct itebell *ib, *newib;
|
||||
{
|
||||
int fd;
|
||||
|
||||
fd = open(file, O_RDONLY | O_NONBLOCK);
|
||||
if (fd == -1)
|
||||
return(-1);
|
||||
|
||||
xioctl(fd, ITEIOCGWINSZ, is);
|
||||
xioctl(fd, ITEIOCGBELL, ib);
|
||||
|
||||
memcpy(newis, is, sizeof(*is));
|
||||
memcpy(newib, ib, sizeof(*ib));
|
||||
return(fd);
|
||||
}
|
||||
|
||||
void
|
||||
usage()
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
.\" $NetBSD: iteconfig_amiga.8,v 1.1 1995/05/12 21:04:30 leo Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1994 Christian E. Hopps
|
||||
.\" All rights reserved.
|
||||
@ -27,7 +28,6 @@
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: iteconfig.8,v 1.3 1994/04/10 00:56:55 chopps Exp $
|
||||
.\"
|
||||
.Dd February 3, 1994
|
||||
.Dt ITECONFIG 8 amiga
|
||||
@ -38,6 +38,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm iteconfig
|
||||
.Op Fl i
|
||||
.Op Fl f Ar file
|
||||
.Op Fl v Ar volume
|
||||
.Op Fl p Ar pitch
|
||||
.Op Fl t Ar msec
|
||||
@ -63,6 +64,11 @@ The following flags are interpreted by
|
||||
.It Fl i
|
||||
After processing all other arguments,
|
||||
print information about the console's state.
|
||||
.It Fl f
|
||||
Open and use the terminal named by
|
||||
.Ar file
|
||||
rather than the default console
|
||||
.Nm "/dev/ttye0".
|
||||
.It Fl v
|
||||
Set the volume of the console bell to
|
||||
.Ar volume ,
|
160
usr.sbin/iteconfig/iteconfig_atari.8
Normal file
160
usr.sbin/iteconfig/iteconfig_atari.8
Normal file
@ -0,0 +1,160 @@
|
||||
.\" $NetBSD: iteconfig_atari.8,v 1.1 1995/05/12 21:04:31 leo Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1994 Christian E. Hopps
|
||||
.\" 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 Christian E. Hopps.
|
||||
.\" 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.
|
||||
.\"
|
||||
.\"
|
||||
.Dd April 15, 1995
|
||||
.Dt ITECONFIG 8 atari
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm iteconfig
|
||||
.Nd modify console attributes at run time
|
||||
.Sh SYNOPSIS
|
||||
.Nm iteconfig
|
||||
.Op Fl i
|
||||
.Op Fl f Ar file
|
||||
.Op Fl v Ar volume
|
||||
.Op Fl p Ar pitch
|
||||
.Op Fl t Ar msec
|
||||
.Op Fl w Ar width
|
||||
.Op Fl h Ar height
|
||||
.Op Fl d Ar depth
|
||||
.Op Fl x Ar offset
|
||||
.Op Fl y Ar offset
|
||||
.Op Ar color ...
|
||||
.Sh DESCRIPTION
|
||||
.Nm Iteconfig
|
||||
is used to modify or examine the attributes of the
|
||||
.Tn Atari's
|
||||
console bell and bitmapped console display.
|
||||
The console bell's volume, pitch, and count may be
|
||||
specified, as well as
|
||||
the bitmapped display's width, height, horizontal and
|
||||
vertical offset, pixel depth, and color map.
|
||||
.Pp
|
||||
The following flags are interpreted by
|
||||
.Nm iteconfig :
|
||||
.Bl -tag -width indent
|
||||
.It Fl i
|
||||
After processing all other arguments,
|
||||
print information about the console's state.
|
||||
.It Fl f
|
||||
Open and use the terminal named by
|
||||
.Ar file
|
||||
rather than the default console
|
||||
.Nm "/dev/ttye0".
|
||||
.It Fl v
|
||||
Set the volume of the console bell to
|
||||
.Ar volume ,
|
||||
which must be between 0 and 63, inclusive.
|
||||
.It Fl p
|
||||
Set the pitch of the console bell to
|
||||
.Ar pitch ,
|
||||
which must be between 10 and 1399.
|
||||
.It Fl t
|
||||
Set the duration of the beep to
|
||||
.Ar msec
|
||||
milliseconds which must be between 1 and 5000 (5 seconds).
|
||||
.It Fl w
|
||||
Set the width of the console display to
|
||||
.Ar width
|
||||
pixel columns.
|
||||
.Ar Width
|
||||
must be a positive integer.
|
||||
.It Fl h
|
||||
Set the height of the console display to
|
||||
.Ar height
|
||||
pixel rows.
|
||||
.Ar Height
|
||||
must be a positive integer.
|
||||
.It Fl d
|
||||
Set the number of bitplanes the console view should use to
|
||||
.Ar depth .
|
||||
For example, if
|
||||
.Ar depth
|
||||
is 3 then 8 colors will be used.
|
||||
.It Fl x
|
||||
Set the horizontal offset of the console view on the monitor to
|
||||
.Ar offset
|
||||
pixel columns. The horizontal offset may be a positive or a
|
||||
negative integer, positive being an offset to the right, negative
|
||||
to the left.
|
||||
.It Fl y
|
||||
Set the vertical offset of the console view on the monitor to
|
||||
.Ar offset
|
||||
pixel rows. The vertical offset may be a positive or a negative
|
||||
integer, positive being an offset down, negative up.
|
||||
.El
|
||||
.Pp
|
||||
Any additional arguments will be interpreted as colors and will
|
||||
be used to supply the color values for the console view's
|
||||
color map, starting with the first entry in the map. (See the
|
||||
.Sx COLOR SPECIFICATION
|
||||
section of this manual page for information on how to specify
|
||||
colors.)
|
||||
If more colors are supplied than are usable by the console
|
||||
view, a warning is printed and the extra colors are ignored.
|
||||
.Sh COLOR SPECIFICATION
|
||||
Colors are hexidecimal numbers which have one of the following
|
||||
formats:
|
||||
.Bl -tag -width "0xRRGGBB"
|
||||
.It Ar 0xRRGGBB
|
||||
.Ar RR ,
|
||||
.Ar GG ,
|
||||
and
|
||||
.Ar BB
|
||||
are taken to be eight-bit values specifying the
|
||||
intensities of the red, green and blue components, respectively,
|
||||
of the color to be used. For example,
|
||||
.Li 0xff0000
|
||||
is bright red,
|
||||
.Li 0xffffff
|
||||
is white, and
|
||||
.Li 0x008080
|
||||
is dark cyan.
|
||||
.It Ar 0xGG
|
||||
.Ar GG
|
||||
is taken to be an eight-bit value specifying the intensity
|
||||
of grey to be used. A value of
|
||||
.Li 0x00
|
||||
is black, a value of
|
||||
.Li 0xff
|
||||
is white, and a value of
|
||||
.Li 0x80
|
||||
is a grey
|
||||
approximately half way in between.
|
||||
.It Ar 0xM
|
||||
.Ar M
|
||||
is taken to be the one-bit monochrome value to be used.
|
||||
A value of
|
||||
.Li 0x1
|
||||
is black, and a value of
|
||||
.Li 0x0
|
||||
is white.
|
||||
.El
|
@ -1,3 +1,4 @@
|
||||
/* $NetBSD: pathnames.h,v 1.3 1995/05/12 21:04:32 leo Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1994 Christopher G. Demetriou
|
||||
* All rights reserved.
|
||||
@ -27,7 +28,8 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: pathnames.h,v 1.2 1994/06/04 12:13:49 chopps Exp $
|
||||
*/
|
||||
|
||||
#define _PATH_AMIGACONSOLE "/dev/ttye0"
|
||||
#if defined(amiga) || defined(atari)
|
||||
#define _PATH_CONSOLE "/dev/ttye0"
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user