summaryrefslogtreecommitdiff
path: root/emulators/arcem
diff options
context:
space:
mode:
authorskrll <skrll@pkgsrc.org>2004-12-03 15:15:23 +0000
committerskrll <skrll@pkgsrc.org>2004-12-03 15:15:23 +0000
commitb7a81af86c3ec7b08f30dbba34aa49c61317ed6d (patch)
tree3c0c3250090c1e36b994b9f9fde46e5c0a489e03 /emulators/arcem
parent6e02d7ee4135596fbf3221f6c20ff5e8cf314775 (diff)
downloadpkgsrc-b7a81af86c3ec7b08f30dbba34aa49c61317ed6d.tar.gz
Update arcem to 1.00
Changes are - New manual and new SourceForge page. Other documentation deprecated. - Added project files for MS VC++, and fix warnings provoked by it. - Further split of windowing/non-windowing functionality to aid division of architecture-independent files. - Windows version made independent from Cygwin. - Windows support imported from eQRD version. Features brought inline with other versions, including icon change, and same format for choices file. - Entirety of build warnings fixed under GCC, including those that appeared from turning on harsh warning flags. - General tidying. - Makefile rearranged so that default Unix builds are more sensible. - Support for running RISC OS, by Alex Macfarlane Smith and Peter Naulls - Split of the windowing aspects of the code, to allow independent development. - Some small speed ups. - Source code tidying and warning fixes.
Diffstat (limited to 'emulators/arcem')
-rw-r--r--emulators/arcem/MESSAGE16
-rw-r--r--emulators/arcem/Makefile36
-rw-r--r--emulators/arcem/PLIST14
-rw-r--r--emulators/arcem/distinfo12
-rw-r--r--emulators/arcem/files/dot.arcemrc4
-rw-r--r--emulators/arcem/patches/patch-aa61
-rw-r--r--emulators/arcem/patches/patch-ab63
-rw-r--r--emulators/arcem/patches/patch-ac35
-rw-r--r--emulators/arcem/patches/patch-ad35
9 files changed, 175 insertions, 101 deletions
diff --git a/emulators/arcem/MESSAGE b/emulators/arcem/MESSAGE
index 6d9e729041e..4b4f231db94 100644
--- a/emulators/arcem/MESSAGE
+++ b/emulators/arcem/MESSAGE
@@ -1,18 +1,16 @@
===========================================================================
-$NetBSD: MESSAGE,v 1.3 2003/05/06 17:41:09 jmmv Exp $
+$NetBSD: MESSAGE,v 1.4 2004/12/03 15:15:23 skrll Exp $
-When you run armul-arc, you need to be in a directory containing the
-armem files and the ROM file. The distribution is supplied with the
+When you run arcem, you need to be in a directory containing the
+arcem files and the ROM file. The distribution is supplied with the
Linux ROM and Hard Drive files from Dave Gilbert's site. The hard drive
-file needs to be writable by you. Also, you will need an
-.arcemrc file in your home directory e.g.
+file needs to be writable by you. For example:
- $ cp -R ${PREFIX}/share/arcem ~/Archimedes
+ $ mkdir ~/Archimedes
+ $ cp ${PREFIX}/share/arcem/* ~/Archimedes
$ cp ~/Archimedes/dot.arcemrc ~/.arcemrc
$ cd ~/Archimedes
$ chmod +w HardImage1
- $ armul-arc
-
-See ${PREFIX}/share/arcem/README.OrElse for more details.
+ $ arcem
===========================================================================
diff --git a/emulators/arcem/Makefile b/emulators/arcem/Makefile
index 3e685347ee0..5cf918249a1 100644
--- a/emulators/arcem/Makefile
+++ b/emulators/arcem/Makefile
@@ -1,33 +1,41 @@
-# $NetBSD: Makefile,v 1.7 2004/11/13 21:28:28 jlam Exp $
+# $NetBSD: Makefile,v 1.8 2004/12/03 15:15:23 skrll Exp $
#
-DISTNAME= arcem0.50
-PKGNAME= arcem-0.50
+DISTNAME= arcem-1.00-src
+PKGNAME= ${DISTNAME:S/-src//}
CATEGORIES= emulators
-MASTER_SITES= ftp://ftp.arm.uk.linux.org/pub/linux/arcem/
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=arcem/}
+
EXTRACT_SUFX= .tgz
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+
+LINUX_FILES= \
linux.rom.gz \
HardImage1.gz
+.for f in ${LINUX_FILES}
+SITES_${f}+= \
+ ftp://ftp.arm.uk.linux.org/pub/linux/arcem/
+.endfor
+
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${LINUX_FILES}
+
MAINTAINER= cjep@NetBSD.org
-HOMEPAGE= ftp://ftp.arm.uk.linux.org/pub/linux/arcem/Index
+HOMEPAGE= http://arcem.sourceforge.net/
COMMENT= Dave Gilbert's Acorn Archimedes emulator
-WRKSRC= ${WRKDIR}/armul-arc
-USE_BUILDLINK3= yes
+WRKSRC= ${WRKDIR}/arcem
+USE_BUILDLINK3= # defined
USE_X11= # defined
+USE_GNU_TOOLS+= make
+
+MAKE_ENV+= SYSTEM=X
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/arcem
${INSTALL_DATA} ${WRKDIR}/linux.rom ${PREFIX}/share/arcem/ROM
${INSTALL_DATA} ${WRKDIR}/HardImage1 ${PREFIX}/share/arcem/HardImage1
- ${INSTALL_DATA} ${WRKSRC}/arch/dot.arcemrc \
- ${PREFIX}/share/arcem/dot.arcemrc
+ ${INSTALL_DATA} ${FILESDIR}/dot.arcemrc \
+ ${PREFIX}/share/arcem/dot.arcemrc
${INSTALL_DATA} ${WRKSRC}/hexcmos ${PREFIX}/share/arcem/hexcmos
- ${INSTALL_DATA} ${WRKSRC}/hexcmos.2 ${PREFIX}/share/arcem/hexcmos.2
- ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/arcem/README
- ${INSTALL_DATA} ${WRKSRC}/README.OrElse \
- ${PREFIX}/share/arcem/README.OrElse
.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/arcem/PLIST b/emulators/arcem/PLIST
index cca59788a0b..ec697ebff51 100644
--- a/emulators/arcem/PLIST
+++ b/emulators/arcem/PLIST
@@ -1,10 +1,10 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2002/03/31 21:41:31 cjep Exp $
-bin/armul-arc
-share/arcem/ROM
+@comment $NetBSD: PLIST,v 1.2 2004/12/03 15:15:23 skrll Exp $
+bin/arcem
+@comment share/arcem/dot.arcemrc
share/arcem/HardImage1
-share/arcem/dot.arcemrc
+share/arcem/ROM
share/arcem/hexcmos
-share/arcem/hexcmos.2
-share/arcem/README
-share/arcem/README.OrElse
+@comment share/arcem/hexcmos.2
+@comment share/arcem/README
+@comment share/arcem/README.OrElse
@dirrm share/arcem
diff --git a/emulators/arcem/distinfo b/emulators/arcem/distinfo
index 3858fb52ae5..4c5c47b5170 100644
--- a/emulators/arcem/distinfo
+++ b/emulators/arcem/distinfo
@@ -1,10 +1,12 @@
-$NetBSD: distinfo,v 1.1.1.1 2002/03/31 21:41:31 cjep Exp $
+$NetBSD: distinfo,v 1.2 2004/12/03 15:15:23 skrll Exp $
-SHA1 (arcem0.50.tgz) = 4c19c13971e7481b7b9d4538ab5c413769f08c2f
-Size (arcem0.50.tgz) = 113990 bytes
+SHA1 (arcem-1.00-src.tgz) = d2a487531ce6c66dfbeb59d1f1093c7d8fc3282a
+Size (arcem-1.00-src.tgz) = 206416 bytes
SHA1 (linux.rom.gz) = 5a3ed7b8bf7e560d14ede14232e50a40a96f9147
Size (linux.rom.gz) = 341085 bytes
SHA1 (HardImage1.gz) = ab3c2ddd5a913a4051d4c21707e7701b27a103f3
Size (HardImage1.gz) = 3545800 bytes
-SHA1 (patch-aa) = dd5ef10c7f455dd944fda3d14e4bd7780115b646
-SHA1 (patch-ab) = 4dbe031e69aabe04dbbcfca046b8d15ff2441a6f
+SHA1 (patch-aa) = afc6f0a77315fb7476e10f472441093360b637e8
+SHA1 (patch-ab) = 92408b25cdd23444a7220191ba65348c6bef482f
+SHA1 (patch-ac) = a9f3edbd7e7a974b7098936d62790821c5d3d4a1
+SHA1 (patch-ad) = 61823a1e47f783d1852c1f50762cdecbe3aeb3fb
diff --git a/emulators/arcem/files/dot.arcemrc b/emulators/arcem/files/dot.arcemrc
new file mode 100644
index 00000000000..b4e7d208c78
--- /dev/null
+++ b/emulators/arcem/files/dot.arcemrc
@@ -0,0 +1,4 @@
+MFM disc
+1 612 4 32 256
+MFM disc
+2 612 4 32 256
diff --git a/emulators/arcem/patches/patch-aa b/emulators/arcem/patches/patch-aa
index 683ae4fc28e..a81a7846cd4 100644
--- a/emulators/arcem/patches/patch-aa
+++ b/emulators/arcem/patches/patch-aa
@@ -1,36 +1,45 @@
-$NetBSD: patch-aa,v 1.1.1.1 2002/03/31 21:41:31 cjep Exp $
+$NetBSD: patch-aa,v 1.2 2004/12/03 15:15:23 skrll Exp $
---- Makefile.orig Tue Aug 3 21:00:16 1999
-+++ Makefile Sun Mar 31 21:34:25 2002
-@@ -22,13 +22,10 @@
- #Default endianness of the emulated processor (LITTLEEND or BIGEND)
- ENDIAN=LITTLEEND
+--- Makefile.orig 2002-05-05 23:09:39.000000000 +0100
++++ Makefile
+@@ -36,15 +36,14 @@ WARN = -Wall -Wno-return-type -Wno-unkno
+
+
+ # add -DHOST_BIGENDIAN for big endian hosts, e.g. Sun, SGI, HP
+-CFLAGS = -O3 -D$(ENDIAN) $(CFL) -DNOOS -DNOFPE $(WARN) \
+- -I$(SYSTEM) -Iarch -funroll-loops -fexpensive-optimizations -ffast-math \
+- -fomit-frame-pointer -frerun-cse-after-loop
++#CFLAGS = -O3 -D$(ENDIAN) $(CFL) -DNOOS -DNOFPE $(WARN) \
++# -I$(SYSTEM) -Iarch -funroll-loops -fexpensive-optimizations -ffast-math \
++# -fomit-frame-pointer -frerun-cse-after-loop
++CFLAGS = -g -D$(ENDIAN) $(CFL) -DNOOS -DNOFPE $(WARN) -I$(SYSTEM) -Iarch
+
+
-prefix=/usr/local
--CC = /home/dg/egcs/bin/gcc
--# add -DHOST_BIGENDIAN for big endian hosts, eg. sun, sgi, hp
--CFLAGS = -O6 -D$(ENDIAN) $(CFL) -Wall -Wno-return-type -DNOOS -DNOFPE -I/usr/X11/include
--#CFLAGS = -g -D$(ENDIAN) $(CFL) -Wall -DNOOS -DNOFPE -I/usr/X11/include -DBENCHMARKEXIT
+-
-INSTALL_DIR = $(prefix)/bin
--INSTALL=cp
-+CFLAGS = -O6 -D$(ENDIAN) $(CFL) -Wall -Wno-return-type \
-+ -DNOOS -DNOFPE -I${X11BASE}/include
-+
-+INSTALL_DIR = ${PREFIX}/bin
++INSTALL_DIR = $(PREFIX)/bin
+ INSTALL=cp
- # Everything else should be ok as it is.
-@@ -56,10 +53,11 @@
- all: armul-arc
+@@ -82,8 +81,8 @@ TARGET=!ArcEm/arcem
+ endif
+
+ ifeq (${SYSTEM},X)
+-CFLAGS += -DSYSTEM_X -I/usr/X11R6/include
+-LIBS += -L/usr/X11R6/lib -lXext -lX11
++CFLAGS += -DSYSTEM_X -I${X11BASE}/include
++LIBS += -L${X11BASE}/lib -Wl,-R${X11BASE}/lib -lXext -lX11
+ endif
+
+ ifeq (${SYSTEM},win)
+@@ -110,7 +109,7 @@ VER=1.0
+ all: $(TARGET)
install: all
- $(INSTALL) armul $(INSTALL_DIR)
-+ $(INSTALL) armul-arc $(INSTALL_DIR)
-
- armul-arc: $(OBJS) $(MODEL).o
-- $(CC) $(CFLAGS) $(OBJS) $(MODEL).o -o $@ -L/usr/X11/lib -lm -lXext -lX11
-+ $(CC) $(CFLAGS) $(OBJS) $(MODEL).o -o $@ -Wl,-R${X11BASE}/lib \
-+ -L${X11BASE}/lib -lm -lXext -lX11
++ $(INSTALL) arcem $(INSTALL_DIR)
- clean:
- rm -f *.o arch/*.o armul-arc core *.bb *.bbg *.da
+ $(TARGET): $(OBJS) $(MODEL).o
+ $(CC) $(OBJS) $(LIBS) $(MODEL).o -o $@
diff --git a/emulators/arcem/patches/patch-ab b/emulators/arcem/patches/patch-ab
index 8e94500b2d1..5bac55b5ee8 100644
--- a/emulators/arcem/patches/patch-ab
+++ b/emulators/arcem/patches/patch-ab
@@ -1,46 +1,29 @@
-$NetBSD: patch-ab,v 1.1.1.1 2002/03/31 21:41:31 cjep Exp $
+$NetBSD: patch-ab,v 1.2 2004/12/03 15:15:23 skrll Exp $
---- arch/DispKbd.c.orig Tue Aug 3 21:00:17 1999
-+++ arch/DispKbd.c Sun Mar 31 15:34:10 2002
-@@ -43,6 +43,41 @@
+--- X/DispKbd.c.orig 2002-05-05 23:09:39.000000000 +0100
++++ X/DispKbd.c
+@@ -45,7 +45,9 @@
#define HD HOSTDISPLAY
#define DC DISPLAYCONTROL
-+/* Endian */
-+
-+#ifndef HOST_BIGENDIAN
-+
-+#ifdef __Linux__
-+#define __USE_BSD
-+#include <endian.h>
-+#if BYTE_ORDER == BIG_ENDIAN
-+#define HOST_BIGENDIAN
-+#endif
-+#endif
-+
-+#ifdef __NetBSD__
-+#include <sys/endian.h>
-+#if BYTE_ORDER == BIG_ENDIAN
-+#define HOST_BIGENDIAN
-+#endif
-+#endif
-+
-+#ifdef __APPLE__
-+#include <nameser.h>
-+#if BYTE_ORDER == BIG_ENDIAN
-+#define HOST_BIGENDIAN
-+#endif
-+#endif
-+
-+#ifdef __sun__
-+#include <sys/byteorder.h>
-+#ifdef _BIG_ENDIAN
-+#define HOST_BIGENDIAN
-+#endif
-+#endif
-+
-+#endif /* HOST_BIGENDIAN */
-+
++#if 0
static unsigned AutoKey(ARMul_State *state);
- unsigned DisplayKbd_XPoll(ARMul_State *state);
++#endif
+ static struct EventNode enodes[4];
+ //static int autokeyenode=0; /* Flips between 0 and 1 */
+@@ -87,12 +89,14 @@ static unsigned long get_pixelval(unsign
+ } /* get_pixval */
+
+ /*----------------------------------------------------------------------------*/
++#if 0
+ static unsigned AutoKey(ARMul_State *state) {
+ /*fprintf(stderr,"AutoKey!\n"); */
+ KBD.TimerIntHasHappened+=2;
+
+ return 0;
+ };
++#endif
+ /*-----------------------------------------------------------------------------*/
+ /* I'm not confident that this is completely correct - if it's wrong all hell
+ is bound to break loose! If it works however it should speed things up
diff --git a/emulators/arcem/patches/patch-ac b/emulators/arcem/patches/patch-ac
new file mode 100644
index 00000000000..1e4868c096c
--- /dev/null
+++ b/emulators/arcem/patches/patch-ac
@@ -0,0 +1,35 @@
+$NetBSD: patch-ac,v 1.1 2004/12/03 15:15:23 skrll Exp $
+
+--- armrdi.c.orig 2004-06-04 09:21:14.000000000 +0100
++++ armrdi.c
+@@ -114,11 +114,13 @@ void ARMul_ConsolePrint(ARMul_State *sta
+ }
+ }
+
++#if 0
+ static void ARMul_DebugPause(ARMul_State *state)
+ {
+ if(!(rdi_log & 8))
+ state->hostif->dbgpause(state->hostif->dbgarg);
+ }
++#endif
+
+ /***************************************************************************\
+ * RDI_open *
+@@ -278,6 +280,7 @@ static int RDI_CPUwrite(unsigned mode, u
+ * Internal functions for breakpoint table manipulation *
+ \***************************************************************************/
+
++#if 0
+ static void deletewatchnode(WatchNode **prevp)
+ { WatchNode *p = *prevp;
+ *prevp = p->next;
+@@ -305,7 +308,7 @@ static WatchNode *installwatch(ARMword a
+ p->bound = bound;
+ return p;
+ }
+-
++#endif
+ /***************************************************************************\
+ * RDI_execute *
+ \***************************************************************************/
diff --git a/emulators/arcem/patches/patch-ad b/emulators/arcem/patches/patch-ad
new file mode 100644
index 00000000000..79678af0f3a
--- /dev/null
+++ b/emulators/arcem/patches/patch-ad
@@ -0,0 +1,35 @@
+$NetBSD: patch-ad,v 1.1 2004/12/03 15:15:23 skrll Exp $
+
+--- arch/armarc.c.orig 2002-05-06 09:52:53.000000000 +0100
++++ arch/armarc.c
+@@ -355,7 +355,7 @@ unsigned ARMul_MemoryInit(ARMul_State *s
+ FILE *ROMFile;
+ unsigned int ROMWordNum,ROMWord;
+ int PresPage;
+- unsigned int index;
++ unsigned int idx;
+
+ PrivDPtr = (PrivateDataType *)malloc(sizeof(PrivateDataType));
+ if (PrivDPtr == NULL) {
+@@ -392,8 +392,8 @@ unsigned ARMul_MemoryInit(ARMul_State *s
+ exit(3);
+ };
+
+- for (index = 0; index < (MEMC.RAMSize / 4); index++)
+- MEMC.PhysRamfuncs[index]=ARMul_Emulate_DecodeInstr;
++ for (idx = 0; idx < (MEMC.RAMSize / 4); idx++)
++ MEMC.PhysRamfuncs[idx]=ARMul_Emulate_DecodeInstr;
+
+ MEMC.ROMMapFlag=1; /* Map ROM to address 0 */
+ MEMC.ControlReg=0; /* Defaults */
+@@ -461,8 +461,8 @@ unsigned ARMul_MemoryInit(ARMul_State *s
+ PRIVD->irqflags = 0;
+ PRIVD->fiqflags = 0;
+
+- for(index = 0;index < (512 * 1024) / UPDATEBLOCKSIZE; index++) {
+- MEMC.UpdateFlags[index] = 1;
++ for(idx = 0;idx < (512 * 1024) / UPDATEBLOCKSIZE; idx++) {
++ MEMC.UpdateFlags[idx] = 1;
+ }
+
+ MEMC.OldAddress1 = -1;