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