summaryrefslogtreecommitdiffstats
path: root/system/trs80-roms
diff options
context:
space:
mode:
Diffstat (limited to 'system/trs80-roms')
-rw-r--r--system/trs80-roms/README23
-rw-r--r--system/trs80-roms/slack-desc19
-rw-r--r--system/trs80-roms/trs80-roms.SlackBuild79
-rw-r--r--system/trs80-roms/trs80-roms.info20
4 files changed, 141 insertions, 0 deletions
diff --git a/system/trs80-roms/README b/system/trs80-roms/README
new file mode 100644
index 0000000000..7b229a3efe
--- /dev/null
+++ b/system/trs80-roms/README
@@ -0,0 +1,23 @@
+trs80-roms (ROM images for use with sdltrs and xtrs)
+
+This package includes ROM images for the TRS-80 Model I (Level I and
+Level II BASIC), Model III, Model 4, and Model 4P.
+
+Also included in the package are ld4-631.dsk (a bootable disk image
+of the final version of LS-DOS sold by Misosys, for the Model III
+and 4) two disk images with various utility software (utility.dsk
+and cpmutil.dsk), and newdos_80sssd_jv1.dsk (a bootable disk image of
+NEWDOS-80 v2.0 for the Model I).
+
+The sdltrs and xtrs emulators on SlackBuilds.org have been patched to
+use these ROM images by default, if there's no user config file. You
+can still use other ROMs by editing the config file or using the
+emulator's user interface.
+
+The copyright status of these ROM images is murky, but they've been
+widely available on the 'net since the 1990s. If you own the original
+TRS-80 computers, you probably can legally use the ROM images,
+depending on the laws where you live.
+
+There is a nice archive of TRS-80 Model I software available here:
+https://www.classic-computers.org.nz/system-80/software_archive.htm
diff --git a/system/trs80-roms/slack-desc b/system/trs80-roms/slack-desc
new file mode 100644
index 0000000000..e5a0969d51
--- /dev/null
+++ b/system/trs80-roms/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+trs80-roms: trs80-roms (ROM images for use with sdltrs and xtrs)
+trs80-roms:
+trs80-roms: This package includes ROM images for the TRS-80 Model I (Level I and
+trs80-roms: Level II BASIC), Model III, Model 4, and Model 4P.
+trs80-roms:
+trs80-roms: Also included in the package are ld4-631.dsk (a disk image of the
+trs80-roms: final version of LS-DOS sold by Misosys) and two disk images with
+trs80-roms: various utility software (utility.dsk and cpmutil.dsk).
+trs80-roms:
+trs80-roms:
+trs80-roms:
diff --git a/system/trs80-roms/trs80-roms.SlackBuild b/system/trs80-roms/trs80-roms.SlackBuild
new file mode 100644
index 0000000000..79a9ff0030
--- /dev/null
+++ b/system/trs80-roms/trs80-roms.SlackBuild
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+# Slackware build script for trs80-roms
+
+# Written by B. Watson (urchlay@slackware.uk)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# 20230516 bkw: v20230516, add NewDOS image for Model I.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=trs80-roms
+VERSION=${VERSION:-20230516}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+ARCH=noarch
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+PKGROMS=$PKG/usr/share/trs80-roms
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+rm -rf $PKG
+mkdir -p $TMP $PKGROMS $PKGDOC $OUTPUT
+cd $PKGROMS
+
+# There is no "source" directory; everything is extracted directly
+# to $PKG.
+
+# Model I: level1.rom and level2.rom
+unzip -q $CWD/trs_roms.zip
+
+# Model III and 4: model3.rom and model4.rom.
+# Do not use the model4p.rom from this zip file, it won't work with
+# sdltrs or xtrs.
+unzip -LL -q $CWD/trs80-62.zip 'model?.rom'
+
+# Model 4P: model4p.rom. Both emulators can actually get by without this
+# (they have a built-in "hack" ROM that can boot a disk), but for
+# versimilitude, let's include the real deal. This is a split MAME ROM,
+# we have to combine the parts for xtrs and sdltrs.
+unzip -q $CWD/trs80m4p.zip 8075332.u69 8049007.u103
+cat 8075332.u69 8049007.u103 > model4p.rom
+rm -f 8075332.u69 8049007.u103
+
+# LS-DOS (not a ROM, a disk image). The zip file comment goes in $PKGDOC,
+# since it's useful documentation.
+unzip -q $CWD/ld4-631.zip
+unzip -z $CWD/ld4-631.zip > $PKGDOC/ld4-631.txt
+
+# 2 more disk images: cpmutil.dsk and utility.dsk. These ship with both
+# sdltrs and xtrs, and are identical in both source tarballs.
+tar xf $CWD/xtrs-4.9d.tar.gz --strip-components=1 --wildcards '*.dsk'
+
+# Another disk image: a bootable DOS for the Model I.
+cat $CWD/NEWDOS_80sssd_jv1.DSK > newdos_80sssd_jv1.dsk
+
+chmod 644 *
+chown root:root *
+
+# No docs, include our own README (better than nothing).
+cat $CWD/README > $PKGDOC/README
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/system/trs80-roms/trs80-roms.info b/system/trs80-roms/trs80-roms.info
new file mode 100644
index 0000000000..538a4de898
--- /dev/null
+++ b/system/trs80-roms/trs80-roms.info
@@ -0,0 +1,20 @@
+PRGNAM="trs80-roms"
+VERSION="20230516"
+HOMEPAGE="https://sdltrs.sourceforge.net/docs/index.html"
+DOWNLOAD="https://www.filfre.net/misc/trs_roms.zip \
+ http://cpmarchives.classiccmp.org/trs80/mirrors/www.discover-net.net/~dmkeil/trs80/files/trs80-62.zip \
+ https://www.tim-mann.org/trs80/ld4-631.zip \
+ https://archive.org/download/mame-0.250-roms-split_202212/MAME%200.250%20ROMs%20%28split%29/trs80m4p.zip \
+ http://www.tim-mann.org/trs80/xtrs-4.9d.tar.gz \
+ https://www.classic-computers.org.nz/system-80/disks/NEWDOS_80sssd_jv1.DSK"
+MD5SUM="ecd2c47c0624885fbcfb17889241f0ed \
+ 9b342f4401801bbc947e303cbeb9902f \
+ f2678aa45b76d935a34a0cd2b108925d \
+ 8a0f1567df8f166f4056a6a71ef7dce5 \
+ 8bb7cf88a3bc1da890f1f29398120bf3 \
+ 6f624bdbf4b410cfbe8603fa3bef44fa"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="urchlay@slackware.uk"