initial import of the "atitvout" package that provides tv-out capabilities

for many recent ATI video cards.  tested to be able to switch from the lcd
to the s-video tv-out with a radeon mobility 9000 (M9), and also known to
work on:
	ATI Technologies Inc Rage Mobility P/M AGP 2x
	ATI Technologies Inc 3D Rage LT Pro AGP-133
	ATI Rage Mobility M3
but to fail on:
	ATI Technologies Inc Rage Mobility M4 AGP
This commit is contained in:
mrg 2003-08-13 05:22:59 +00:00
parent 9dc7bdc3c5
commit cde1bddce7
7 changed files with 125 additions and 0 deletions

20
sysutils/atitvout/DESCR Normal file
View file

@ -0,0 +1,20 @@
This utility program may be used for executing several configuration
commands for the TV Out connector of ATI Rage Mobility P/M graphics
boards under GNU/Linux on x86. It is intended primarily to enable TV
Out support after bootup and for switching the used TV standard from
NTSC to PAL.
The utility makes use of x86-VESA-BIOS-calls and thus is not portable
to other architectures like PPC: *No TV-Out on Macs with this tool*.
Compatible Hardware:
All commands:
ATI Technologies Inc Rage Mobility P/M AGP 2x
ATI Technologies Inc 3D Rage LT Pro AGP-133
detect & active:
ATI Rage Mobility M3
Fail:
ATI Technologies Inc Rage Mobility M4 AGP

View file

@ -0,0 +1,8 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1.1.1 2003/08/13 05:23:00 mrg Exp $
Try running the ${PREFIX}/share/atitvout/test.sh program to find
out if this program works with your video card. It will cycle
through all available settings with pauses.
===========================================================================

View file

@ -0,0 +1,33 @@
# $NetBSD: Makefile,v 1.1.1.1 2003/08/13 05:23:00 mrg Exp $
DISTNAME= atitvout-0.4
WRKSRC= ${WRKDIR}/atitvout
CATEGORIES= sysutils graphics
MASTER_SITES= http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/
MAINTAINER= tech-pkg@NetBSD.org
HOMEPAGE= http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/
COMMENT= Allows TV-Out connector support under Linux/NetBSD
ONLY_FOR_PLATFORM= NetBSD-*-i386 # Linux-*-i386 [gnumakefile needs work]
USE_CONFIGURE= YES
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
DEPENDS+= lrmi>=0.8:../../emulators/lrmi
MAKEFILE= Makefile.bsd
do-configure:
${CP} ${FILESDIR}/Makefile.bsd ${WRKSRC}
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/atitvout ${PREFIX}/sbin
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/atitvout
${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/atitvout
${INSTALL_DATA} ${WRKSRC}/test.sh ${PREFIX}/share/doc/atitvout
.include "../../mk/bsd.pkg.mk"

5
sysutils/atitvout/PLIST Normal file
View file

@ -0,0 +1,5 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2003/08/13 05:23:00 mrg Exp $
sbin/atitvout
share/doc/atitvout/README
share/doc/atitvout/test.sh
@dirrm share/doc/atitvout

View file

@ -0,0 +1,5 @@
$NetBSD: distinfo,v 1.1.1.1 2003/08/13 05:22:59 mrg Exp $
SHA1 (atitvout-0.4.tar.gz) = ac0d3f19119fa0c096099f952c9c59ac44ccc840
Size (atitvout-0.4.tar.gz) = 27163 bytes
SHA1 (patch-aa) = 4a9dd24f5d1bb5db4cd1093c9c9e5a8d5e74e627

View file

@ -0,0 +1,14 @@
# $NetBSD: Makefile.bsd,v 1.1.1.1 2003/08/13 05:23:00 mrg Exp $
VERSION=0.4
CFLAGS=-Wall -O2 -g -DVERSION=\"$(VERSION)\" -I$(PREFIX)/include
OBJS=atitvout.o ati.o vbeinfo.o vbecall.o mach64.o radeon.o
BINARY=atitvout
LIBS=-llrmi -li386
all: $(BINARY)
$(BINARY): $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o $(BINARY) $(LIBS)
.PHONY: test install clean strip all

View file

@ -0,0 +1,40 @@
$NetBSD: patch-aa,v 1.1.1.1 2003/08/13 05:23:00 mrg Exp $
--- atitvout.c.orig 2002-09-17 05:37:08.000000000 +1000
+++ atitvout.c 2003-08-13 14:58:15.000000000 +1000
@@ -17,7 +17,13 @@
*/
#include <stdio.h>
+#ifdef __linux__
#include <sys/io.h>
+#endif
+#ifdef __NetBSD__
+#include <sys/types.h>
+#include <machine/sysarch.h>
+#endif
#include <string.h>
#include <assert.h>
@@ -98,8 +104,21 @@
return 0;
}
+#ifdef __linux__
ioperm(0, 1024, 1);
iopl(3);
+#endif
+#ifdef __NetBSD__
+ {
+#define FF 0xFFFFFFFF
+#define FF8 FF, FF, FF, FF, FF, FF, FF, FF
+ u_long map[] = { FF8, FF8, FF8, FF8 };
+#undef FF
+#undef FF8
+ i386_set_ioperm(map);
+ }
+ i386_iopl(3);
+#endif
if (!LRMI_init()) {
fprintf(stderr, "Could not initialise LRMI.\n");