pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/arcem Update to 1.50
details: https://anonhg.NetBSD.org/pkgsrc/rev/1d37551e8cbd
branches: trunk
changeset: 626396:1d37551e8cbd
user: ryoon <ryoon%pkgsrc.org@localhost>
date: Sun Nov 10 12:50:19 2013 +0000
description:
Update to 1.50
* Included Linux image works fine on NetBSD/amd64 6.99.23
Changelog:
New features
Addition of ports to Amiga OS 3 and OS 4.
Sound emulation.
Support for RAM sizes other than 4MB (512KB, 1MB, 2MB,
4MB, 8MB, 12MB & 16MB now supported).
ARM250 & ARM3 CPU emulation.
ArcEm clock set from host's clock, partial RTC support.
Extension ROM emulation, allowing support for the
following new features when emulation RISC OS:
HostFS - A RISC OS filesystem to allow use of a
directory on the Host Filing system as a virtual
hard drive.
Mouse scroll wheel support.
Extra video modes, up to 1024x768 in 16 colours and
800x600 in 256 colours.
Bug fixes/Improvements
Many performance tweaks and optimisations, resulting in
a 5-6 times performance gain on ARM hosts. A 600MHz
XScale can now achieve a level of performance roughly
equivalent to an 8MHz ARM2. Similar performance gains
can be seen on other low-power hosts.
Video emulation rewritten to provide accurate redraw
and VSync timing, down to the scanline level.
Video emulation now supports upscaling and aspect ratio
correction for rectangular pixel modes.
All hardware clocks/timers (IOC timers, video DMA, audio
DMA, etc.) now run in real time, ensuring one second
takes one second no matter how fast the host machine
is.
Source code tidied a bit to remove redundant code,
including support for emulation of 32bit processor modes
(there are other, much better emulators for that!).
Source code converted to use C99 number types to aid
portability.
Instruction prefetch now correctly emulated - ensures
correct operation with self-modifying code and some
forms of copy protection.
RISC OS version now 32bit compatible, and ARMv7-safe.
Also much more useable with modern machines/LCD monitors
as it no longer requires the host to be able to support
Archimedes screen modes.
Windows version updated to build under Visual Studio
2010 (including Express edition).
Unix/X11 version now supports X servers that don't
support XWarpPointer.
diffstat:
emulators/arcem/Makefile | 14 ++-----
emulators/arcem/distinfo | 21 +++++-------
emulators/arcem/patches/patch-aa | 57 ++++++++++-----------------------
emulators/arcem/patches/patch-ab | 56 ---------------------------------
emulators/arcem/patches/patch-ac | 35 --------------------
emulators/arcem/patches/patch-ad | 35 --------------------
emulators/arcem/patches/patch-ae | 12 -------
emulators/arcem/patches/patch-hostfs.c | 26 +++++++++++++++
8 files changed, 57 insertions(+), 199 deletions(-)
diffs (truncated from 320 to 300 lines):
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/Makefile
--- a/emulators/arcem/Makefile Sun Nov 10 12:13:47 2013 +0000
+++ b/emulators/arcem/Makefile Sun Nov 10 12:50:19 2013 +0000
@@ -1,15 +1,11 @@
-# $NetBSD: Makefile,v 1.22 2012/10/23 10:24:03 wiz Exp $
+# $NetBSD: Makefile,v 1.23 2013/11/10 12:50:19 ryoon Exp $
#
-DISTNAME= arcem-1.00-src
+DISTNAME= arcem-1.50-src
PKGNAME= ${DISTNAME:S/-src//}
-PKGREVISION= 2
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=arcem/}
-
-NOT_FOR_PLATFORM+= ${LP64PLATFORMS}
-
-EXTRACT_SUFX= .tgz
+EXTRACT_SUFX= .zip
LINUX_FILES= \
linux.rom.gz \
@@ -26,14 +22,14 @@
HOMEPAGE= http://arcem.sourceforge.net/
COMMENT= Dave Gilbert's Acorn Archimedes emulator
-WRKSRC= ${WRKDIR}/arcem
+WRKSRC= ${WRKDIR}/arcem-src
USE_TOOLS+= gmake
MAKE_ENV+= SYSTEM=X
INSTALLATION_DIRS+= bin share/arcem
-BUILDLINK_TRANSFORM+= rm:-Werror
+#BUILDLINK_TRANSFORM+= rm:-Werror
post-install:
${INSTALL_DATA} ${WRKDIR}/linux.rom \
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/distinfo
--- a/emulators/arcem/distinfo Sun Nov 10 12:13:47 2013 +0000
+++ b/emulators/arcem/distinfo Sun Nov 10 12:50:19 2013 +0000
@@ -1,16 +1,13 @@
-$NetBSD: distinfo,v 1.5 2011/03/03 12:55:48 obache Exp $
+$NetBSD: distinfo,v 1.6 2013/11/10 12:50:19 ryoon Exp $
-SHA1 (arcem-1.00-src.tgz) = d2a487531ce6c66dfbeb59d1f1093c7d8fc3282a
-RMD160 (arcem-1.00-src.tgz) = 95044eed6e5cd871d5bd926c3d02d17706e0f93b
-Size (arcem-1.00-src.tgz) = 206416 bytes
+SHA1 (HardImage1.gz) = ab3c2ddd5a913a4051d4c21707e7701b27a103f3
+RMD160 (HardImage1.gz) = 09176071c9c325b50a3a2074938789f4e6136d44
+Size (HardImage1.gz) = 3545800 bytes
+SHA1 (arcem-1.50-src.zip) = b1f39b15e2d9ec5d7c82f618cb2beb0bc011c0b1
+RMD160 (arcem-1.50-src.zip) = 74253d5d6fcf5fc64abc10f95f6fbcd121f7eddf
+Size (arcem-1.50-src.zip) = 1420685 bytes
SHA1 (linux.rom.gz) = 5a3ed7b8bf7e560d14ede14232e50a40a96f9147
RMD160 (linux.rom.gz) = 5bf035a3e6f054a61de62fcf880c52c996f503c6
Size (linux.rom.gz) = 341085 bytes
-SHA1 (HardImage1.gz) = ab3c2ddd5a913a4051d4c21707e7701b27a103f3
-RMD160 (HardImage1.gz) = 09176071c9c325b50a3a2074938789f4e6136d44
-Size (HardImage1.gz) = 3545800 bytes
-SHA1 (patch-aa) = 3e3b3619552cd71326e9042d6f5878ead287ab62
-SHA1 (patch-ab) = f55cf50560e5a3d87ec1540fddd88990981d56ec
-SHA1 (patch-ac) = a9f3edbd7e7a974b7098936d62790821c5d3d4a1
-SHA1 (patch-ad) = 61823a1e47f783d1852c1f50762cdecbe3aeb3fb
-SHA1 (patch-ae) = c2580ed6b4940022dc427456519a066413a3c91f
+SHA1 (patch-aa) = 558eefa0f3061b295a24d8adfef86d902e7894aa
+SHA1 (patch-hostfs.c) = 56b3649fdd95ff4b6c98fc2666fd6b0d04c811f8
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-aa
--- a/emulators/arcem/patches/patch-aa Sun Nov 10 12:13:47 2013 +0000
+++ b/emulators/arcem/patches/patch-aa Sun Nov 10 12:50:19 2013 +0000
@@ -1,47 +1,24 @@
-$NetBSD: patch-aa,v 1.3 2011/03/03 12:55:48 obache Exp $
+$NetBSD: patch-aa,v 1.4 2013/11/10 12:50:19 ryoon Exp $
---- Makefile.orig 2002-05-05 22:09:39.000000000 +0000
+--- Makefile.orig 2012-12-12 23:41:33.000000000 +0000
+++ Makefile
-@@ -36,16 +36,15 @@ 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
-
-
+@@ -48,7 +48,9 @@ endif
--prefix=/usr/local
--
--INSTALL_DIR = $(prefix)/bin
--INSTALL=cp
-+INSTALL_DIR = $(DESTDIR)$(PREFIX)/bin
-+INSTALL= ${BSD_INSTALL_PROGRAM}
-
-
- # Everything else should be ok as it is.
-@@ -82,8 +81,8 @@ TARGET=!ArcEm/arcem
- endif
+ CC=gcc
+ LD=gcc
+-LDFLAGS=
++LDFLAGS= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib \
++ ${COMPILER_RPATH_FLAG}${X11BASE}/lib
++
- 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
+ WARN = -Wall -Wno-return-type -Wno-unknown-pragmas -Wshadow \
+ -Wpointer-arith -Wcast-align -Wstrict-prototypes \
+@@ -69,7 +71,7 @@ endif
- ifeq (${SYSTEM},win)
-@@ -110,7 +109,7 @@ VER=1.0
- all: $(TARGET)
+ CFLAGS += \
+ $(CFL) $(WARN) \
+- -I$(SYSTEM) -Iarch -I.
++ -I$(SYSTEM) -Iarch -I. \
- install: all
-- $(INSTALL) armul $(INSTALL_DIR)
-+ $(INSTALL) arcem $(INSTALL_DIR)
+ prefix=/usr/local
- $(TARGET): $(OBJS) $(MODEL).o
- $(CC) $(OBJS) $(LIBS) $(MODEL).o -o $@
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-ab
--- a/emulators/arcem/patches/patch-ab Sun Nov 10 12:13:47 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-$NetBSD: patch-ab,v 1.3 2007/10/10 22:36:05 rillig Exp $
-
---- X/DispKbd.c.orig 2002-05-06 00:09:39.000000000 +0200
-+++ X/DispKbd.c 2007-10-11 00:34:12.000000000 +0200
-@@ -45,7 +45,9 @@
- #define HD HOSTDISPLAY
- #define DC DISPLAYCONTROL
-
-+#if 0
- static unsigned AutoKey(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
-@@ -731,7 +735,7 @@ static void RefreshDisplay_TrueColor_8bp
- int DisplayWidth=(VIDC.Horiz_DisplayEnd-VIDC.Horiz_DisplayStart)*2;
- int x,y,memoffset;
- int VisibleDisplayWidth;
-- unsigned char Buffer[MonitorWidth];
-+ char Buffer[MonitorWidth];
- char *ImgPtr=HD.ImageData;
-
- /* First configure the colourmap */
-@@ -762,7 +766,7 @@ static void RefreshDisplay_TrueColor_8bp
- CopyScreenRAM(state,memoffset,VisibleDisplayWidth, Buffer);
-
- for(x=0;x<VisibleDisplayWidth;x++) {
-- XPutPixel(HD.DisplayImage,x,y,HD.pixelMap[Buffer[x]]);
-+ XPutPixel(HD.DisplayImage,x,y,HD.pixelMap[(unsigned char)Buffer[x]]);
- }; /* X loop */
- }; /* Refresh test */
- }; /* y */
-@@ -1119,7 +1123,7 @@ static void ProcessKey(ARMul_State *stat
- {
- XColor black, dummy;
- Pixmap bm_no;
-- static unsigned char bm_no_data[] = { 0,0,0,0, 0,0,0,0 };
-+ static char bm_no_data[] = { 0,0,0,0, 0,0,0,0 };
- XAllocNamedColor(HD.disp,HD.ArcsColormap,"black",&black,&dummy);
- bm_no = XCreateBitmapFromData(HD.disp, HD.MainPane, bm_no_data, 8,8);
- XDefineCursor(HD.disp, HD.MainPane, XCreatePixmapCursor(HD.disp, bm_no, bm_no, &black, &black,0, 0));
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-ac
--- a/emulators/arcem/patches/patch-ac Sun Nov 10 12:13:47 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-$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 -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-ad
--- a/emulators/arcem/patches/patch-ad Sun Nov 10 12:13:47 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-$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;
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-ae
--- a/emulators/arcem/patches/patch-ae Sun Nov 10 12:13:47 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-$NetBSD: patch-ae,v 1.1 2007/10/10 22:36:05 rillig Exp $
-
---- armdefs.h.orig 2002-03-17 00:30:30.000000000 +0100
-+++ armdefs.h 2007-10-11 00:31:14.000000000 +0200
-@@ -302,7 +302,6 @@ extern ARMword ARMul_OSLastErrorP(ARMul_
-
- extern ARMword ARMul_Debug(ARMul_State *state, ARMword pc, ARMword instr);
- extern unsigned ARMul_OSException(ARMul_State *state, ARMword vector, ARMword pc);
--extern int rdi_log;
-
- /***************************************************************************\
- * Host-dependent stuff *
diff -r 8e2c5f3d6998 -r 1d37551e8cbd emulators/arcem/patches/patch-hostfs.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/arcem/patches/patch-hostfs.c Sun Nov 10 12:50:19 2013 +0000
@@ -0,0 +1,26 @@
+$NetBSD: patch-hostfs.c,v 1.1 2013/11/10 12:50:19 ryoon Exp $
+
+* Fix build on NetBSD, functionality is not tested.
+
+--- hostfs.c.orig 2012-10-21 14:43:19.000000000 +0000
++++ hostfs.c
Home |
Main Index |
Thread Index |
Old Index