From 0c6b256023edf4f068e6e6a8c08d442e2a85fad5 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 16 Apr 2010 21:53:15 -0400 Subject: games/xroar: Added (Dragon emulator) --- games/xroar/README | 32 +++++++++ games/xroar/doinst.sh | 4 ++ games/xroar/dragon.rom | Bin 0 -> 16384 bytes games/xroar/slack-desc | 19 ++++++ games/xroar/xroar.6 | 129 ++++++++++++++++++++++++++++++++++++ games/xroar/xroar.SlackBuild | 116 ++++++++++++++++++++++++++++++++ games/xroar/xroar.info | 10 +++ games/xroar/xroar.png | Bin 0 -> 527 bytes games/xroar/xroar_coco_ntsc.desktop | 7 ++ games/xroar/xroar_coco_pal.desktop | 7 ++ games/xroar/xroar_d32.desktop | 7 ++ games/xroar/xroar_d64.desktop | 7 ++ 12 files changed, 338 insertions(+) create mode 100644 games/xroar/README create mode 100644 games/xroar/doinst.sh create mode 100644 games/xroar/dragon.rom create mode 100644 games/xroar/slack-desc create mode 100644 games/xroar/xroar.6 create mode 100644 games/xroar/xroar.SlackBuild create mode 100644 games/xroar/xroar.info create mode 100644 games/xroar/xroar.png create mode 100644 games/xroar/xroar_coco_ntsc.desktop create mode 100644 games/xroar/xroar_coco_pal.desktop create mode 100644 games/xroar/xroar_d32.desktop create mode 100644 games/xroar/xroar_d64.desktop diff --git a/games/xroar/README b/games/xroar/README new file mode 100644 index 0000000000..f3cc8ff627 --- /dev/null +++ b/games/xroar/README @@ -0,0 +1,32 @@ +XRoar is a Dragon emulator for Linux, Unix, Mac OS X, GP32, Nintendo +DS and Windows. Due to hardware similarities, XRoar also emulates the +Tandy Colour Computer (CoCo) models 1 & 2. + +Optional, but recommended, is libsndfile (available from SlackBuilds.org). +xroar uses libsndfile to support audio files (WAV, etc) as cassette +images. It is not required for the emulator to play audio, nor is it +required for ".cas" files (cassette data images). + +To usefully emulate the Dragon or CoCo, you will need the images of +the system ROMs for the target system. The ROM images must be copied to +/usr/share/xroar/roms, and must be given the filenames xroar expects. See +the xroar info page or /usr/doc/xroar-0.23b/xroar.html for details on +ROM files. + +If you want to include ROM images in the package, get the files +"coco.zip", "coco2.zip", "cocoe.zip", "dragon32.zip", and/or +"dragon64.zip" from any site that carries MESS BIOS images. Place them +in the directory with the SlackBuild script before running it. The +resulting package cannot be redistributed (that would violate both the +GPL and the original copyright on the ROM images). + +If you don't include the ROM images, it's still possible to run +some Dragon32 software: the package includes a freeware ROM image +(mini-dragon.rom) that partly reimplements the original ROM code. This +is enough to run at least some cartridge-based games. + +More information on the Dragon and CoCo computers: + +http://en.wikipedia.org/wiki/TRS-80_Color_Computer +http://archive.worldofdragon.org/index.php?title=Main_Page +http://archive.worldofdragon.org/archive/index.php diff --git a/games/xroar/doinst.sh b/games/xroar/doinst.sh new file mode 100644 index 0000000000..4e8ba7071d --- /dev/null +++ b/games/xroar/doinst.sh @@ -0,0 +1,4 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + diff --git a/games/xroar/dragon.rom b/games/xroar/dragon.rom new file mode 100644 index 0000000000..b0e4fdff12 Binary files /dev/null and b/games/xroar/dragon.rom differ diff --git a/games/xroar/slack-desc b/games/xroar/slack-desc new file mode 100644 index 0000000000..175cdc0f47 --- /dev/null +++ b/games/xroar/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +xroar: XRoar (Dragon emulator) +xroar: +xroar: XRoar is a Dragon emulator for Linux, Unix, Mac OS X, GP32, Nintendo +xroar: DS and Windows. Due to hardware similarities, XRoar also emulates +xroar: the Tandy Colour Computer (CoCo) models 1 & 2. +xroar: +xroar: +xroar: +xroar: +xroar: +xroar: diff --git a/games/xroar/xroar.6 b/games/xroar/xroar.6 new file mode 100644 index 0000000000..6f1dbd157a --- /dev/null +++ b/games/xroar/xroar.6 @@ -0,0 +1,129 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. +.TH XROAR "6" "April 2010" "XRoar 0.23" "Games" +.SH NAME +xroar \- Dragon and CoCo 1/2 emulator. +.SH SYNOPSIS +.B xroar +[\fIOPTION\fR]... +.SH DESCRIPTION +XRoar is a Dragon emulator. Due to hardware similarities, XRoar also +emulates the Tandy Colour Computer (CoCo) models 1 & 2. +.PP +This man page just documents the command\-line options to xroar. For full +documentation, see the info page for xroar, or the HTML documentation +in /usr/doc/xroar-$VERSION/xroar.html. +.SH OPTIONS +The first non\-option argument is taken as a filename, and treated as though +it were given as the argument to \-run. +.SS +Emulator interface: +.TP +\fB\-ui\fR MODULE +user\-interface module (\fB\-ui\fR help for list) +.TP +\fB\-vo\fR MODULE +video module (\fB\-vo\fR help for list) +.TP +\fB\-gl\-filter\fR FILTER +OpenGL texture filter (auto, linear, nearest) +.TP +\fB\-ao\fR MODULE +audio module (\fB\-ao\fR help for list) +.TP +\fB\-fast\-sound\fR +faster but less accurate sound +.TP +\fB\-fs\fR +start emulator full\-screen if possible +.TP +\fB\-ccr\fR RENDERER +cross\-colour renderer (\fB\-ccr\fR help for list) +.TP +\fB\-fskip\fR FRAMES +frameskip (default: 0) +.TP +\fB\-keymap\fR CODE +host keyboard type (uk, us, fr, de) +.TP +\fB\-joy\-left\fR JOYSPEC +map left joystick +.TP +\fB\-joy\-right\fR JOYSPEC +map right joystick +.TP +\fB\-trace\fR +start with trace mode on +.SS +Emulated machine: +.TP +\fB\-machine\fR MACHINE +emulated machine (\fB\-machine\fR help for list) +.TP +\fB\-bas\fR FILENAME +BASIC ROM to use (CoCo only) +.TP +\fB\-extbas\fR FILENAME +Extended BASIC ROM to use +.TP +\fB\-altbas\fR FILENAME +alternate BASIC ROM (Dragon 64) +.TP +\fB\-noextbas\fR +disable Extended BASIC +.TP +\fB\-dostype\fR DOS +type of DOS cartridge (\fB\-dostype\fR help for list) +.TP +\fB\-dos\fR FILENAME +DOS ROM (or CoCo Disk BASIC) +.TP +\fB\-nodos\fR +disable DOS (ROM and hardware emulation) +.TP +\fB\-pal\fR +emulate PAL (50Hz) video +.TP +\fB\-ntsc\fR +emulate NTSC (60Hz) video +.TP +\fB\-ram\fR KBYTES +specify amount of RAM in K +.SS +Automatically load or run files: +.TP +\fB\-load\fR FILENAME +load or attach FILENAME +.TP +\fB\-run\fR FILENAME +load or attach FILENAME and attempt autorun +.SS +Other options: +.TP +\fB\-h\fR, \fB\-\-help\fR +display this help and exit +.TP +\fB\-\-version\fR +output version information and exit +.PP +A JOYSPEC maps physical joystick axes and buttons to one of the emulated +machine's joysticks. JOYSPEC is of the form 'DEV,AXIS:DEV,AXIS:DEV,BUTTON', +mapping two axes and a button to the X, Y and firebutton on the emulated +joystick respectively. +.SH COPYRIGHT +xroar is Copyright \(co 2009 Ciaran Anscomb +.PP +This man page written by B. Watson for the SlackBuilds.org project (but it +may be used by anyone). +.PP +This is free software. You may redistribute copies of it under the terms of +the GNU General Public License . +There is NO WARRANTY, to the extent permitted by law. +.SH SEE ALSO +The info page for \fBxroar\fR (includes much information not found in this +man page). +.br +http://en.wikipedia.org/wiki/TRS-80_Color_Computer +.br +http://archive.worldofdragon.org/index.php?title=Main_Page +.br +http://archive.worldofdragon.org/archive/index.php diff --git a/games/xroar/xroar.SlackBuild b/games/xroar/xroar.SlackBuild new file mode 100644 index 0000000000..6a7ae0fbd6 --- /dev/null +++ b/games/xroar/xroar.SlackBuild @@ -0,0 +1,116 @@ +#!/bin/sh + +# Slackware build script for xroar + +# Written by B. Watson (yalhcru@gmail.com) + +PRGNAM=xroar +VERSION=${VERSION:-0.23b} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +SRCVER=0.23 + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG +strip $PKG/usr/bin/$PRGNAM + +mv $PKG/usr/share/info $PKG/usr/info +rm -rf $PKG/usr/share +rm -f $PKG/usr/info/dir +gzip -9 $PKG/usr/info/*.info* + +mkdir -p $PKG/usr/share/xroar/roms + +# Mini-firmware. This is a freeware, incomplete implementation of the +# Dragon32 extended BASIC, allows running at least some programs. +# dragon.rom comes from http://www.6809.org.uk/dragon/dragon.rom +cat $CWD/dragon.rom > $PKG/usr/share/$PRGNAM/roms/mini-dragon.rom + +# Optional ROM images (from MESS site) +for zip in coco coco2 cocoe dragon32 dragon64; do + if [ -e $CWD/$zip.zip ]; then + rm -f *.rom + unzip $CWD/$zip.zip + install -oroot -groot -m0644 *.rom $PKG/usr/share/$PRGNAM/roms + fi +done + +# If the user doesn't include a d32.rom from a zip file, make the mini-rom +# the default (at least the emu will start, that way) +if [ ! -e $PKG/usr/share/$PRGNAM/roms/d32.rom ]; then + ln -s mini-dragon.rom $PKG/usr/share/$PRGNAM/roms/d32.rom +fi + +mkdir -p $PKG/usr/man/man6 +gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz + +# Icon taken from Fedora package here: +# ftp://mirror.switch.ch/pool/3/mirror/rpmfusion/free/fedora/updates/8/i386/xroar-0.21-2.fc8.i386.rpm +mkdir $PKG/usr/share/pixmaps +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +mkdir $PKG/usr/share/applications +cp $CWD/*.desktop $PKG/usr/share/applications + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +# Don't bother with the README: it's only about installation, not usage +cp -a \ + COPYING* ChangeLog \ + $PKG/usr/doc/$PRGNAM-$VERSION + +# HTML version of the info page, for those who hate info pages... +make doc/$PRGNAM.html +mv doc/$PRGNAM.html $PKG/usr/doc/$PRGNAM-$VERSION + +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/games/xroar/xroar.info b/games/xroar/xroar.info new file mode 100644 index 0000000000..6515df9d32 --- /dev/null +++ b/games/xroar/xroar.info @@ -0,0 +1,10 @@ +PRGNAM="xroar" +VERSION="0.23b" +HOMEPAGE="http://www.6809.org.uk/dragon/xroar.shtml" +DOWNLOAD="http://www.6809.org.uk/dragon/xroar-0.23b.tar.gz" +DOWNLOAD_x86_64="" +MD5SUM="0ba9e23c31b9aad6d62d2a6cac4ced2e" +MD5SUM_x86_64="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" +APPROVED="dsomero" diff --git a/games/xroar/xroar.png b/games/xroar/xroar.png new file mode 100644 index 0000000000..9a9d54d96a Binary files /dev/null and b/games/xroar/xroar.png differ diff --git a/games/xroar/xroar_coco_ntsc.desktop b/games/xroar/xroar_coco_ntsc.desktop new file mode 100644 index 0000000000..60424225b7 --- /dev/null +++ b/games/xroar/xroar_coco_ntsc.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=XRoar CoCo (NTSC) +Type=Application +Exec=xroar -ntsc -machine cocous +Icon=xroar +Terminal=false +Categories=Game;Emulator; diff --git a/games/xroar/xroar_coco_pal.desktop b/games/xroar/xroar_coco_pal.desktop new file mode 100644 index 0000000000..0e2eb8ddf0 --- /dev/null +++ b/games/xroar/xroar_coco_pal.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=XRoar CoCo (PAL) +Type=Application +Exec=xroar -pal -machine coco +Icon=xroar +Terminal=false +Categories=Game;Emulator; diff --git a/games/xroar/xroar_d32.desktop b/games/xroar/xroar_d32.desktop new file mode 100644 index 0000000000..11fa628ea4 --- /dev/null +++ b/games/xroar/xroar_d32.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=XRoar Dragon32 +Type=Application +Exec=xroar -machine dragon32 +Icon=xroar +Terminal=false +Categories=Game;Emulator; diff --git a/games/xroar/xroar_d64.desktop b/games/xroar/xroar_d64.desktop new file mode 100644 index 0000000000..1c838df74b --- /dev/null +++ b/games/xroar/xroar_d64.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=XRoar Dragon64 +Type=Application +Exec=xroar -machine dragon64 +Icon=xroar +Terminal=false +Categories=Game;Emulator; -- cgit v1.2.3