summaryrefslogtreecommitdiffstats
path: root/development/rmac
diff options
context:
space:
mode:
Diffstat (limited to 'development/rmac')
-rw-r--r--development/rmac/rmac.161
-rw-r--r--development/rmac/rmac.SlackBuild25
-rw-r--r--development/rmac/rmac.info12
-rw-r--r--development/rmac/rmac.rst40
4 files changed, 100 insertions, 38 deletions
diff --git a/development/rmac/rmac.1 b/development/rmac/rmac.1
index bf28056a44..4b151440ea 100644
--- a/development/rmac/rmac.1
+++ b/development/rmac/rmac.1
@@ -1,8 +1,5 @@
.\" Man page generated from reStructuredText.
.
-.TH RMAC 1 "2017-09-01" "1.8.6" "SlackBuilds.org"
-.SH NAME
-RMAC \- 68000 and 6502 cross assembler
.
.nr rst2man-indent-level 0
.
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
+.TH "RMAC" 1 "2023-01-03" "2.2.14_20221221" "SlackBuilds.org"
+.SH NAME
+rmac \- 68000 and 6502 cross assembler
.\" RST source for rmac(1) man page. Convert with:
.
.\" rst2man.py rmac.rst > rmac.1
@@ -64,8 +64,14 @@ BSD COFF output object file format.
.BI \-f\fB e
ELF output object file format.
.TP
+.BI \-f\fB r
+Absolute address. Source is required to have only one \fB\&.org\fP\&.
+.TP
.BI \-f\fB x
Atari 800 com/exe/xex output object file format.
+.TP
+.B \-g
+Generate source level debug info. Requires BSD COFF object file format.
.UNINDENT
.INDENT 0.0
.TP
@@ -75,20 +81,26 @@ Atari 800 com/exe/xex output object file format.
.sp
\-l\fI[file[prn]]\fP Construct and direct assembly listing to the specified file.
.sp
-\-l\fI*[filename]\fP Create an output listing file without pagination
+\-l\fI*[filename]\fP Create an output listing file without pagination.
.INDENT 0.0
.TP
-.B \-n
-Don\(aqt do things behind your back in RISC assembler
+.B \-m\fIcpu\fP Set default CPU type. Choices are: \fB68000\fP \fB68020\fP
+\fB68030\fP \fB68040\fP \fB68060\fP \fB68881\fP \fB68882\fP
+\fB56001\fP \fB6502\fP \fBtom\fP \fBjerry\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-n
+Don\(aqt do things behind your back in RISC assembler.
.UNINDENT
.sp
\-o\fIfile[.o]\fP Direct object code output to the specified file.
.sp
+/~oall Turn all optimisations on/off
.sp
-+o\fI0\-3\fP Enable specific optimisation
++o\fI0\-30\fP Enable specific optimisation
.sp
-~o\fI0\-3\fP Disable specific optimisation
+~o\fI0\-30\fP Disable specific optimisation
.INDENT 0.0
.INDENT 3.5
\fI0: Absolute long adddresses to word (default: on)\fP
@@ -98,21 +110,33 @@ Don\(aqt do things behind your back in RISC assembler
\fI2: Word branches to short (default: on)\fP
.sp
\fI3: Outer displacement 0(an) to (an) (default: on)\fP
-.sp
\fI4: lea size(An),An to addq #size,An (default: off)\fP
+\fI5: 68020+ Absolute long base displacement to word (default: off)\fP
.sp
-\fI5: Absolute long base displacement to word (default: off)\fP
+\fI6: Convert null short branches to NOP\fP
+.sp
+\fI7: Convert clr.l Dn to moveq #0,Dn\fP
+.sp
+\fI8: Convert adda.w/l #x,Dy to addq.w/l #x,Dy\fP
+.sp
+\fI9: Convert adda.w/l #x,Dy to lea x(Dy),Dy\fP
+.sp
+\fI10: 56001 Use short format for immediate values if possible\fP
+.sp
+\fI11: 56001 Auto convert short addressing mode to long (default: on)\fP
+.sp
+\fI30: Enforce PC relative (alternative name: op)\fP
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
-.B \-p
+.B \-p
Produce an executable (\fB\&.prg\fP) output file.
.TP
.BI \-p\fB s
Produce an executable (\fB\&.prg\fP) output file with symbols.
.TP
-.B \-q
+.B \-q
Make RMAC resident in memory (Atari ST only).
.UNINDENT
.INDENT 0.0
@@ -136,20 +160,23 @@ specified boundary. Size is a letter that specifies the desired boundary.
.UNINDENT
.INDENT 0.0
.TP
-.B \-s
+.B \-s
Warn about unoptimized long branches and applied optimisations.
.TP
-.B \-u
+.B \-u
Force referenced and undefined symbols global.
.TP
-.B \-v
+.B \-v
Verbose mode (print running dialogue).
.TP
-.B \-x
+.B \-x
Turn on debugging mode
.TP
.BI \-y\fB n
Set listing page size to n lines.
+.TP
+.B \-4
+Use C style operator precedence.
.UNINDENT
.sp
file\fI[s]\fP Assemble the specified file.
@@ -183,6 +210,6 @@ by B. Watson, and is licensed under the WTFPL.
.sp
\fIhatari\fP(1)
.sp
-The full \fBrmac\fP documentation in /usr/doc/rmac\-1.8.6/rmac.rst.
+The full \fBrmac\fP documentation: /usr/doc/rmac\-2.2.14_20221221/rmac.html
.\" Generated by docutils manpage writer.
.
diff --git a/development/rmac/rmac.SlackBuild b/development/rmac/rmac.SlackBuild
index a304fad8b7..b1d39b41ac 100644
--- a/development/rmac/rmac.SlackBuild
+++ b/development/rmac/rmac.SlackBuild
@@ -1,20 +1,28 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for rmac
-# Written by B. Watson (yalhcru@gmail.com)
+# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# Upstream doesn't do source release tarballs, see git2targz.sh.
+# 20230103 bkw:
+# - update for v2.2.14_20221221.
+# - convert rst doc to html.
+
+# 20210907 bkw: update for v2.1.12_20210820.
# 20180922 bkw:
# - updated for v1.13.5_20180603, had to add -j1 to make command.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=rmac
-VERSION=${VERSION:-1.13.5_20180603}
+VERSION=${VERSION:-2.2.14_20221221}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -24,7 +32,11 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+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}
@@ -82,9 +94,10 @@ cd -
mkdir -p $PKG/usr/man/man1
gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+# rst2html is part of Slackware now, use it.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
ln -s ../../share/$PRGNAM/examples $PKG/usr/doc/$PRGNAM-$VERSION/examples
-cp -a docs/* $PKG/usr/doc/$PRGNAM-$VERSION
+rst2html.py docs/rmac.rst > $PKG/usr/doc/$PRGNAM-$VERSION/rmac.html
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -93,4 +106,4 @@ sed "s,@gitrev@,$( cat $PRGNAM.gitrev )," \
> $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/rmac/rmac.info b/development/rmac/rmac.info
index 2bbf953b6e..dd1ab18943 100644
--- a/development/rmac/rmac.info
+++ b/development/rmac/rmac.info
@@ -1,12 +1,12 @@
PRGNAM="rmac"
-VERSION="1.13.5_20180603"
-HOMEPAGE="http://atariage.com/forums/topic/264842-rmac-the-grandchild-of-madmac-assembler-finally-gets-6502-support/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/rmac-1.13.5_20180603.tar.xz \
- http://urchlay.naptime.net/~urchlay/src/madmac-examples.tar.xz"
-MD5SUM="b42fb292daf2f20147bead7dc9fe607d \
+VERSION="2.2.14_20221221"
+HOMEPAGE="https://atariage.com/forums/topic/264842-rmac-the-grandchild-of-madmac-assembler-finally-gets-6502-support/"
+DOWNLOAD="https://slackware.uk/~urchlay/src/rmac-2.2.14_20221221.tar.xz \
+ https://slackware.uk/~urchlay/src/madmac-examples.tar.xz"
+MD5SUM="c329d5c0cc01b46529f171b1033f7699 \
3d6dff2b72815935c322c91277ea5074"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
+EMAIL="urchlay@slackware.uk"
diff --git a/development/rmac/rmac.rst b/development/rmac/rmac.rst
index aeb8d8eaf7..e0f5bd1920 100644
--- a/development/rmac/rmac.rst
+++ b/development/rmac/rmac.rst
@@ -2,11 +2,11 @@
.. rst2man.py rmac.rst > rmac.1
.. rst2man.py comes from the SBo development/docutils package.
-.. |version| replace:: 1.8.6
+.. |version| replace:: 2.2.14_20221221
.. |date| date::
====
-RMAC
+rmac
====
------------------------------
@@ -47,24 +47,32 @@ OPTIONS
-fe ELF output object file format.
+-fr Absolute address. Source is required to have only one **.org**.
+
-fx Atari 800 com/exe/xex output object file format.
+-g Generate source level debug info. Requires BSD COFF object file format.
+
-i\ *path* Set include-file directory search path. *Note* this is a
**semicolon** separated list of directories.
-l\ *[file[prn]]* Construct and direct assembly listing to the specified file.
--l\ *\*[filename]* Create an output listing file without pagination
+-l\ *\*[filename]* Create an output listing file without pagination.
+
+-m\ *cpu* Set default CPU type. Choices are: **68000** **68020**
+ **68030** **68040** **68060** **68881** **68882**
+ **56001** **6502** **tom** **jerry**
--n Don't do things behind your back in RISC assembler
+-n Don't do things behind your back in RISC assembler.
-o\ *file[.o]* Direct object code output to the specified file.
+/~oall Turn all optimisations on/off
-+o\ *0-3* Enable specific optimisation
++o\ *0-30* Enable specific optimisation
-~o\ *0-3* Disable specific optimisation
+~o\ *0-30* Disable specific optimisation
`0: Absolute long adddresses to word (default: on)`
@@ -73,10 +81,22 @@ OPTIONS
`2: Word branches to short (default: on)`
`3: Outer displacement 0(an) to (an) (default: on)`
-
`4: lea size(An),An to addq #size,An (default: off)`
+ `5: 68020+ Absolute long base displacement to word (default: off)`
+
+ `6: Convert null short branches to NOP`
+
+ `7: Convert clr.l Dn to moveq #0,Dn`
- `5: Absolute long base displacement to word (default: off)`
+ `8: Convert adda.w/l #x,Dy to addq.w/l #x,Dy`
+
+ `9: Convert adda.w/l #x,Dy to lea x(Dy),Dy`
+
+ `10: 56001 Use short format for immediate values if possible`
+
+ `11: 56001 Auto convert short addressing mode to long (default: on)`
+
+ `30: Enforce PC relative (alternative name: op)`
-p Produce an executable (**.prg**) output file.
@@ -108,6 +128,8 @@ OPTIONS
-yn Set listing page size to n lines.
+-4 Use C style operator precedence.
+
file\ *[s]* Assemble the specified file.
FILES
@@ -135,4 +157,4 @@ SEE ALSO
*hatari*\ (1)
-The full **rmac** documentation in /usr/doc/rmac-|version|/rmac.rst.
+The full **rmac** documentation: /usr/doc/rmac-|version|/rmac.html