Initial import of Generator-0.34 into the NetBSD Packages collection.
Generator is an open source emulator designed to emulate the Sega Genesis / Mega Drive console, a popular games machine produced in the early 1990s. It is a portable program written in C and has been ported to the Amiga, Macintosh, Windows and even pocket PCs such as the iPAQ and Cassiopeia. Natively it compiles under unix for X Windows with either tcl/tk or gtk/SDL, for svgalib and even cross-compiles to DOS with djgpp/allegro. Generator uses its own custom 68000 processor emulation which is designed for dynamic recompilation, and uses techniques from this such as block-marking, flag calculation removal, operand pre-calculation, endian pre-conversion etc. There are approximately 1600 C routines generated by the first stage of compilation to cope with the 67 instruction families. These routines are used as a 'backup' when dynamic recompilation isn't supported on your platform or the recompiler doesn't support a particular instruction. The CPU engine is by all accounts very fast, whatever the mode. There is a 'test' recompiler written for the ARM processor, but it is no longer supported. If someone with assembler knowledge wants to put the effort into writing a recompiling back-end for a processor (and it really is major effort), let me know - particularly if you know i386.
This commit is contained in:
parent
a637f15783
commit
fdde4665dc
5 changed files with 67 additions and 0 deletions
22
emulators/generator/DESCR
Normal file
22
emulators/generator/DESCR
Normal file
|
@ -0,0 +1,22 @@
|
|||
Generator is an open source emulator designed to emulate the Sega
|
||||
Genesis / Mega Drive console, a popular games machine produced in the
|
||||
early 1990s. It is a portable program written in C and has been
|
||||
ported to the Amiga, Macintosh, Windows and even pocket PCs such as
|
||||
the iPAQ and Cassiopeia. Natively it compiles under unix for X
|
||||
Windows with either tcl/tk or gtk/SDL, for svgalib and even
|
||||
cross-compiles to DOS with djgpp/allegro.
|
||||
|
||||
Generator uses its own custom 68000 processor emulation which is
|
||||
designed for dynamic recompilation, and uses techniques from this such
|
||||
as block-marking, flag calculation removal, operand pre-calculation,
|
||||
endian pre-conversion etc. There are approximately 1600 C routines
|
||||
generated by the first stage of compilation to cope with the 67
|
||||
instruction families. These routines are used as a 'backup' when
|
||||
dynamic recompilation isn't supported on your platform or the
|
||||
recompiler doesn't support a particular instruction. The CPU engine
|
||||
is by all accounts very fast, whatever the mode.
|
||||
|
||||
There is a 'test' recompiler written for the ARM processor, but it is
|
||||
no longer supported. If someone with assembler knowledge wants to put
|
||||
the effort into writing a recompiling back-end for a processor (and it
|
||||
really is major effort), let me know - particularly if you know i386.
|
18
emulators/generator/Makefile
Normal file
18
emulators/generator/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
|||
# $NetBSD: Makefile,v 1.1.1.1 2002/05/09 19:08:39 agc Exp $
|
||||
#
|
||||
|
||||
DISTNAME= generator-0.34
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= http://www.squish.net/generator/files/
|
||||
|
||||
MAINTAINER= packages@netbsd.org
|
||||
HOMEPAGE= http://www.sqish.net/generator/
|
||||
COMMENT= Sega Mega drive genesis emulator
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS+= --with-gtk --with-raze
|
||||
|
||||
.include "../../devel/SDL/buildlink.mk"
|
||||
.include "../../x11/gtk/buildlink.mk"
|
||||
.include "../../mk/x11.buildlink.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
2
emulators/generator/PLIST
Normal file
2
emulators/generator/PLIST
Normal file
|
@ -0,0 +1,2 @@
|
|||
@comment $NetBSD: PLIST,v 1.1.1.1 2002/05/09 19:08:39 agc Exp $
|
||||
bin/generator-gtk
|
5
emulators/generator/distinfo
Normal file
5
emulators/generator/distinfo
Normal file
|
@ -0,0 +1,5 @@
|
|||
$NetBSD: distinfo,v 1.1.1.1 2002/05/09 19:08:39 agc Exp $
|
||||
|
||||
SHA1 (generator-0.34.tar.gz) = abf57875c60f63c9ffb97894f4ce9c638f60054f
|
||||
Size (generator-0.34.tar.gz) = 442852 bytes
|
||||
SHA1 (patch-aa) = 0878709485d884c1e4956b5ac4659024e31ef3ac
|
20
emulators/generator/patches/patch-aa
Normal file
20
emulators/generator/patches/patch-aa
Normal file
|
@ -0,0 +1,20 @@
|
|||
$NetBSD: patch-aa,v 1.1.1.1 2002/05/09 19:08:39 agc Exp $
|
||||
|
||||
--- main/gensoundp-unix.c 2002/05/09 19:02:00 1.1
|
||||
+++ main/gensoundp-unix.c 2002/05/09 19:02:56
|
||||
@@ -22,9 +22,15 @@
|
||||
# include "fm.h"
|
||||
#endif
|
||||
|
||||
+#if defined(__NetBSD__)
|
||||
+#include <soundcard.h>
|
||||
+
|
||||
+#define SOUND_DEVICE "/dev/sound"
|
||||
+#else
|
||||
#include <sys/soundcard.h>
|
||||
|
||||
#define SOUND_DEVICE "/dev/dsp"
|
||||
+#endif
|
||||
|
||||
/*** variables externed ***/
|
||||
|
Loading…
Reference in a new issue