Commit 99e8f5c4 authored by GnoStiC's avatar GnoStiC

puae 2.3.1

parent 757e2ea2
# P-UAE
#
# 2010 Mustafa TUFAN
# 2010 Mustafa TUFAN (aka GnoStiC/BRONX)
#
#
#
base=" --with-sdl --with-sdl-gl --with-sdl-gfx --with-sdl-sound --enable-drvsnd "
cd32=" --enable-cd32 "
a600=" --enable-gayle "
scsi=" --enable-scsi-device --enable-ncr --enable-a2091 "
other=" --with-caps --enable-amax "
#
#
./bootstrap.sh
./configure --with-sdl --with-sdl-gl --with-sdl-gfx --with-sdl-sound --with-caps --enable-drvsnd --enable-amax --enable-cd32 --enable-scsi-device --enable-a2091 --enable-gayle --enable-ncr CFLAGS="-m32" LDFLAGS="-m32" CPPFLAGS="-m32"
./configure $base $cd32 $a600 $scsi $other CFLAGS="-m32" LDFLAGS="-m32" CPPFLAGS="-m32"
make clean
make
......@@ -1217,7 +1217,6 @@ AC_MSG_CHECKING([whether to build A2091 SCSI emulation])
if [[ "x$WANT_A2091" = "xno" ]]; then
AC_MSG_RESULT(no)
else
UAE_DEFINES="$UAE_DEFINES -DA2091"
AC_MSG_RESULT(yes)
fi
......@@ -1275,9 +1274,12 @@ if [[ "x$WANT_SCSIEMU" = "xyes" ]]; then
else
if [[ "$OSDEP" = "od-amiga" ]]; then
AC_MSG_RESULT(yes)
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) scsi.$(OBJEXT) a2091.$(OBJEXT)'
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) scsi.$(OBJEXT)'
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
UAE_DEFINES="$UAE_DEFINES -DA2091"
if [[ "x$WANT_A2091" = "xyes" ]]; then
UAE_DEFINES="$UAE_DEFINES -DA2091"
SCSIOBJS='$SCSIOBJS a2091.$(OBJEXT)'
fi
NEED_THREAD_SUPPORT=yes
else
SCGLIBS="-lscg -lschily"
......@@ -1310,9 +1312,12 @@ typedef int BOOL;
[{SCSI *scgp = scg_open (0, 0, 0, 0, 0);}],
[
AC_MSG_RESULT(yes)
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) blkdev-libscg.$(OBJEXT) scsi.$(OBJEXT) a2091.$(OBJEXT)'
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) blkdev-libscg.$(OBJEXT) scsi.$(OBJEXT)'
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
UAE_DEFINES="$UAE_DEFINES -DA2091"
if [[ "x$WANT_A2091" = "xyes" ]]; then
UAE_DEFINES="$UAE_DEFINES -DA2091"
SCSIOBJS='$SCSIOBJS a2091.$(OBJEXT)'
fi
UAE_CPPFLAGS="$UAE_CPPFLAGS $LIBSCG_CPPFLAGS"
UAE_LIBS="$LIBSCG_LIBS $UAE_LIBS"
NEED_THREAD_SUPPORT=yes
......@@ -1332,9 +1337,12 @@ typedef int BOOL;
[{SCSI *scgp = scg_open (0, 0, 0, 0, 0);}],
[
AC_MSG_RESULT(yes)
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) blkdev-libscg.$(OBJEXT) scsi.$(OBJEXT) a2091.$(OBJEXT)'
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) blkdev-libscg.$(OBJEXT) scsi.$(OBJEXT)'
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
UAE_DEFINES="$UAE_DEFINES -DA2091"
if [[ "x$WANT_A2091" = "xyes" ]]; then
UAE_DEFINES="$UAE_DEFINES -DA2091"
SCSIOBJS='$SCSIOBJS a2091.$(OBJEXT)'
fi
NEED_THREAD_SUPPORT=yes
if [[ "$srcdir" != "." ]]; then
# AC_CONFIG_LINKS(src/libscg.a:src/libscg.a)
......@@ -1355,9 +1363,12 @@ typedef int BOOL;
[{struct cdrom_generic_command cmd; ioctl (0, CDROM_SEND_PACKET, &cmd);}],
[
AC_MSG_RESULT(yes)
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) scsi.$(OBJEXT) a2091.$(OBJEXT)'
SCSIOBJS='scsiemul.$(OBJEXT) blkdev.$(OBJEXT) scsi.$(OBJEXT)'
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU -DSCSIEMU_LINUX_IOCTL"
UAE_DEFINES="$UAE_DEFINES -DA2091"
if [[ "x$WANT_A2091" = "xyes" ]]; then
UAE_DEFINES="$UAE_DEFINES -DA2091"
SCSIOBJS='$SCSIOBJS a2091.$(OBJEXT)'
fi
NEED_THREAD_SUPPORT=yes
],
[
......
......@@ -19,6 +19,7 @@ rm -rf ./src/machdep
rm -rf ./src/osdep
rm -rf ./src/sounddep
rm -rf ./src/threaddep
rm -rf ./src/PUAE.app
rm -rf `find . -type d -name autom4te.cache`
rm -rf `find . -type d -name .deps`
......
......@@ -5,6 +5,7 @@
*
* Copyright 1996 Bernd Schmidt
* Copyright 2004,2010 Steven J. Saunders
* 2010 Mustafa TUFAN
*/
#include <stdlib.h>
#include <stdarg.h>
......@@ -131,11 +132,12 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
NSString *menuTitle;
// Create a menu for manipulating the emulated amiga
NSMenu *vAmigaMenu = [[NSMenu alloc] initWithTitle:@"Virtual Amiga"];
NSMenu *vAmigaMenu = [[NSMenu alloc] initWithTitle:@"PUAE"];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Cold Reset" action:@selector(resetAmiga:) tag:1];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Warm Reset" action:@selector(resetAmiga:) tag:0];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Pause" action:@selector(pauseAmiga:) tag:0];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Reset" action:@selector(resetAmiga:) tag:0];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Hard Reset" action:@selector(resetAmiga:) tag:1];
[self createMenuItemInMenu:vAmigaMenu withTitle:@"Hebe" action:@selector(hebeHebe:) tag:0];
// [self createMenuItemInMenu:vAmigaMenu withTitle:@"Pause" action:@selector(pauseAmiga:) tag:0];
#ifdef ACTION_REPLAY
[self createMenuItemInMenu:vAmigaMenu
......@@ -184,7 +186,7 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
[ejectFloppyMenu release];
menuItem = [[NSMenuItem alloc] initWithTitle:@"Virtual Amiga" action:nil keyEquivalent:@""];
menuItem = [[NSMenuItem alloc] initWithTitle:@"PUAE" action:nil keyEquivalent:@""];
[menuItem setSubmenu:vAmigaMenu];
[[NSApp mainMenu] insertItem:menuItem atIndex:1];
......@@ -198,12 +200,16 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
NSMenu *portMenu = [[NSMenu alloc] initWithTitle:@"Game Port 0"];
[self createMenuItemInMenu:portMenu withTitle:@"None" action:@selector(changePort0:) tag:JSEM_END];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick 0" action:@selector(changePort0:) tag:JSEM_JOYS];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick 1" action:@selector(changePort0:) tag:JSEM_JOYS+1];
[self createMenuItemInMenu:portMenu withTitle:@"Mouse" action:@selector(changePort0:) tag:JSEM_MICE];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick" action:@selector(changePort0:) tag:JSEM_JOYS];
[self createMenuItemInMenu:portMenu withTitle:@"Second Joystick" action:@selector(changePort0:) tag:JSEM_JOYS+1];
[self createMenuItemInMenu:portMenu withTitle:@"Numeric Keypad 2/4/6/8 + 5" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT];
[self createMenuItemInMenu:portMenu withTitle:@"Cursor Keys + Right Ctrl/Alt" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+1];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard T/B/F/H + Left Alt" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+2];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout A (NumPad, 0 & 5 = Fire)" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout B (Cursor, RCtrl & Alt = Fire)" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+1];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout C (WASD, LAlt = Fire)" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+2];
#ifdef ARCADE
[self createMenuItemInMenu:portMenu withTitle:@"X-Arcade (Left)" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+3];
[self createMenuItemInMenu:portMenu withTitle:@"X-Arcade (Right)" action:@selector(changePort0:) tag:JSEM_KBDLAYOUT+4];
#endif
menuItem = [[NSMenuItem alloc] initWithTitle:@"Game Port 0" action:nil keyEquivalent:@""];
[menuItem setSubmenu:portMenu];
......@@ -215,12 +221,16 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
portMenu = [[NSMenu alloc] initWithTitle:@"Game Port 1"];
[self createMenuItemInMenu:portMenu withTitle:@"None" action:@selector(changePort1:) tag:JSEM_END];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick 0" action:@selector(changePort1:) tag:JSEM_JOYS];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick 1" action:@selector(changePort1:) tag:JSEM_JOYS+1];
[self createMenuItemInMenu:portMenu withTitle:@"Mouse" action:@selector(changePort1:) tag:JSEM_MICE];
[self createMenuItemInMenu:portMenu withTitle:@"Joystick" action:@selector(changePort1:) tag:JSEM_JOYS];
[self createMenuItemInMenu:portMenu withTitle:@"Second Joystick" action:@selector(changePort1:) tag:JSEM_JOYS+1];
[self createMenuItemInMenu:portMenu withTitle:@"Numeric Keypad 2/4/6/8 + 5" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT];
[self createMenuItemInMenu:portMenu withTitle:@"Cursor Keys + Right Ctrl/Alt" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+1];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard T/B/F/H + Left Alt" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+2];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout A (NumPad, 0 & 5 = Fire)" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout B (Cursor, RCtrl & Alt = Fire)" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+1];
[self createMenuItemInMenu:portMenu withTitle:@"Keyboard Layout C (WASD, LAlt = Fire)" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+2];
#ifdef ARCADE
[self createMenuItemInMenu:portMenu withTitle:@"X-Arcade (Left)" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+3];
[self createMenuItemInMenu:portMenu withTitle:@"X-Arcade (Right)" action:@selector(changePort1:) tag:JSEM_KBDLAYOUT+4];
#endif
menuItem = [[NSMenuItem alloc] initWithTitle:@"Game Port 1" action:nil keyEquivalent:@""];
[menuItem setSubmenu:portMenu];
......@@ -464,14 +474,14 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
restoreFullscreen();
#endif
if (returnCode != NSOKButton) return;
if (returnCode != NSOKButton) return;
int drive = [((NSString*)contextInfo) intValue];
[((NSString*)contextInfo) release];
int drive = [((NSString*)contextInfo) intValue];
[((NSString*)contextInfo) release];
if ((drive >= 0) && (drive < 4)) {
NSArray *files = [sheet filenames];
NSString *file = [files objectAtIndex:0];
if ((drive >= 0) && (drive < 4)) {
NSArray *files = [sheet filenames];
NSString *file = [files objectAtIndex:0];
lossyASCIICopy (changed_prefs.floppyslots[drive].df, file, COCOA_GUI_MAX_PATH);
......@@ -480,6 +490,22 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
}
}
- (void)hebeHebe:(id)sender
{
NSRect frame = NSMakeRect(100, 100, 200, 200);
NSUInteger styleMask;
NSRect rect = [NSWindow contentRectForFrameRect:frame styleMask:styleMask];
NSWindow * window = [[NSWindow alloc] initWithContentRect:rect styleMask:styleMask backing:NSBackingStoreBuffered defer:false];
[window center];
[window makeKeyAndOrderFront: window];
NSTabViewItem* item=[[NSTabViewItem alloc] initWithIdentifier:identifier];
[item setLabel:label];
[item setView:newView];
[tabView addTabViewItem:item];
}
- (void)resetAmiga:(id)sender
{
uae_reset([((NSMenuItem *)sender) tag]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment