[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [376] trunk
Brought to you by:
fredm
|
From: <fr...@us...> - 2007-06-10 15:44:13
|
Revision: 376
http://svn.sourceforge.net/fuse-for-macosx/?rev=376&view=rev
Author: fredm
Date: 2007-06-10 08:44:08 -0700 (Sun, 10 Jun 2007)
Log Message:
-----------
Merge in changes from fusegl branch (remove SDL use, use Cocoa and OpenGL for
graphics, mouse, keyboard)
Modified Paths:
--------------
trunk/FuseImporter/libspectrum.h
trunk/README
trunk/fuse/ChangeLog
trunk/fuse/README
trunk/fuse/TODO
trunk/fuse/compat.h
trunk/fuse/configure.in
trunk/fuse/display.c
trunk/fuse/event.c
trunk/fuse/event.h
trunk/fuse/fuse.cpp
trunk/fuse/fuse.h
trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
trunk/fuse/fusepb/FuseMenus.h
trunk/fuse/fusepb/FuseMenus.m
trunk/fuse/fusepb/Info-Fuse.plist
trunk/fuse/fusepb/config.h
trunk/fuse/fusepb/controllers/DebuggerController.m
trunk/fuse/fusepb/controllers/FuseController.h
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/controllers/JoystickConfigurationController.m
trunk/fuse/fusepb/controllers/LoadBinaryController.m
trunk/fuse/fusepb/controllers/MemoryBrowserController.m
trunk/fuse/fusepb/controllers/PokeFinderController.m
trunk/fuse/fusepb/controllers/PreferencesController.h
trunk/fuse/fusepb/controllers/PreferencesController.m
trunk/fuse/fusepb/controllers/RollbackController.m
trunk/fuse/fusepb/controllers/SaveBinaryController.m
trunk/fuse/fusepb/controllers/TapeBrowserController.h
trunk/fuse/fusepb/controllers/TapeBrowserController.m
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/fusepb/thumbnail.h
trunk/fuse/fusepb/thumbnail.m
trunk/fuse/hacking/cvs-tags
trunk/fuse/if1.c
trunk/fuse/joystick.c
trunk/fuse/lib/Makefile.am
trunk/fuse/machine.c
trunk/fuse/machines/pentagon.c
trunk/fuse/machines/scorpion.c
trunk/fuse/machines/spec128.c
trunk/fuse/machines/spec16.c
trunk/fuse/machines/spec48.c
trunk/fuse/machines/spec_se.c
trunk/fuse/menu.h
trunk/fuse/periph.c
trunk/fuse/printer.c
trunk/fuse/rzx.c
trunk/fuse/screenshot.c
trunk/fuse/settings.dat
trunk/fuse/settings.pl
trunk/fuse/snapshot.c
trunk/fuse/sound/aosound.c
trunk/fuse/sound/coreaudiosound.c
trunk/fuse/sound/sdlsound.c
trunk/fuse/sound.c
trunk/fuse/spectrum.c
trunk/fuse/spectrum.h
trunk/fuse/ui/fb/fbdisplay.c
trunk/fuse/ui/ggi/ggidisplay.c
trunk/fuse/ui/gtk/gtkdisplay.c
trunk/fuse/ui/gtk/gtkui.c
trunk/fuse/ui/sdl/sdldisplay.c
trunk/fuse/ui/svga/svgadisplay.c
trunk/fuse/ui/uidisplay.h
trunk/fuse/ui/win32/win32display.c
trunk/fuse/ui/xlib/xdisplay.c
trunk/fuse/ui.c
trunk/fuse/uidisplay.c
trunk/fuse/ula.c
trunk/fuse/ula.h
trunk/fuse/utils.c
trunk/fuse/widget/Makefile.am
trunk/fuse/widget/filesel.c
trunk/fuse/widget/menu.c
trunk/libspectrum/libspectrum/ChangeLog
trunk/libspectrum/libspectrum/Makefile.am
trunk/libspectrum/libspectrum/configure.in
trunk/libspectrum/libspectrum/doc/libspectrum.txt
trunk/libspectrum/libspectrum/internals.h
trunk/libspectrum/libspectrum/libspectrum.h.in
trunk/libspectrum/libspectrum/rzx.c
trunk/libspectrum/libspectrum/tap.c
trunk/libspectrum/libspectrum/tzx_read.c
trunk/libspectrum/libspectrum/z80.c
trunk/libspectrum/libspectrum.h
Added Paths:
-----------
trunk/fuse/fusepb/content_arrays/HIDJoysticks.h
trunk/fuse/fusepb/content_arrays/HIDJoysticks.m
trunk/fuse/fusepb/main.h
trunk/fuse/fusepb/main.mm
trunk/fuse/fusepb/models/
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/fusepb/nibs/MainMenu.nib/
trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
trunk/fuse/fusepb/views/
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/
trunk/fuse/ui/cocoa/SDL_joystick/
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick.c
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick.h
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick_c.h
trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c
trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.h
trunk/fuse/ui/cocoa/cocoadisplay.h
trunk/fuse/ui/cocoa/cocoadisplay.m
trunk/fuse/ui/cocoa/cocoaerror.m
trunk/fuse/ui/cocoa/cocoajoystick.c
trunk/fuse/ui/cocoa/cocoascreenshot.h
trunk/fuse/ui/cocoa/cocoascreenshot.m
trunk/fuse/ui/cocoa/cocoastatusbar.m
trunk/fuse/ui/cocoa/cocoaui.h
trunk/fuse/ui/cocoa/cocoaui.m
trunk/fuse/ui/cocoa/keysyms.m
Removed Paths:
-------------
trunk/fuse/fusepb/SDLMain.h
trunk/fuse/fusepb/SDLMain.mm
trunk/fuse/fusepb/content_arrays/SDLJoysticks.h
trunk/fuse/fusepb/content_arrays/SDLJoysticks.m
trunk/fuse/fusepb/error.m
trunk/fuse/fusepb/keysyms.c
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
trunk/fuse/fusepb/nibs/SDLMain.nib/
trunk/fuse/fusepb/sdlscreenshot.h
trunk/fuse/fusepb/sdlscreenshot.m
trunk/fuse/fusepb/sdlui.h
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/SDL_joystick/
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick.c
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick.h
trunk/fuse/ui/cocoa/SDL_joystick/SDL_joystick_c.h
trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.c
trunk/fuse/ui/cocoa/SDL_joystick/SDL_sysjoystick.h
trunk/fuse/ui/cocoa/cocoadisplay.h
trunk/fuse/ui/cocoa/cocoadisplay.m
trunk/fuse/ui/cocoa/cocoaerror.m
trunk/fuse/ui/cocoa/cocoajoystick.c
trunk/fuse/ui/cocoa/cocoascreenshot.h
trunk/fuse/ui/cocoa/cocoascreenshot.m
trunk/fuse/ui/cocoa/cocoastatusbar.m
trunk/fuse/ui/cocoa/cocoaui.h
trunk/fuse/ui/cocoa/cocoaui.m
trunk/fuse/ui/cocoa/keysyms.m
Modified: trunk/FuseImporter/libspectrum.h
===================================================================
--- trunk/FuseImporter/libspectrum.h 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/FuseImporter/libspectrum.h 2007-06-10 15:44:08 UTC (rev 376)
@@ -1,7 +1,7 @@
/* libspectrum.h: the library for dealing with ZX Spectrum emulator files
Copyright (c) 2001-2007 Philip Kendall, Darren Salt, Fredrick Meunier
- $Id: libspectrum.h.in,v 1.141.2.2 2007/05/09 20:08:07 pak21 Exp $
+ $Id: libspectrum.h.in,v 1.141 2007/02/02 16:35:42 pak21 Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Modified: trunk/README
===================================================================
--- trunk/README 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/README 2007-06-10 15:44:08 UTC (rev 376)
@@ -1,8 +1,7 @@
FUSE for Mac OS X Source Distribution
This is the source distribution of the Mac OS X version of Fuse. Full source is
-included for fuse and libspectrum, you will also need to download SDL (at least
-version 1.2.5, from <http://www.libsdl.org>).
+included for fuse and libspectrum.
Your Mac is expected to be running OS X 10.4 with the Xcode development
environment.
@@ -10,7 +9,6 @@
The directory structure is expected to be:
fuse/
FuseImporter
- SDL.framework
fuse
lib765
bzip2
@@ -18,8 +16,7 @@
libspectrum
Full build instructions:
-Uncompress the source package, cd into the directory created, and put the
-SDL.framework in place. Then:
+Uncompress the source package, and cd into the directory created. Then:
cd bzip2
xcodebuild -configuration Deployment
Modified: trunk/fuse/ChangeLog
===================================================================
--- trunk/fuse/ChangeLog 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/ChangeLog 2007-06-10 15:44:08 UTC (rev 376)
@@ -807,4 +807,4 @@
* Version 0.1.0 released.
-$Id: ChangeLog,v 1.46.2.2 2007/05/10 07:32:38 pak21 Exp $
+$Id: ChangeLog,v 1.46 2007/02/02 16:21:50 pak21 Exp $
Modified: trunk/fuse/README
===================================================================
--- trunk/fuse/README 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/README 2007-06-10 15:44:08 UTC (rev 376)
@@ -141,4 +141,4 @@
Philip Kendall <phi...@sh...>
11 May 2007
-$Id: README,v 1.40.2.3 2007/05/10 07:32:38 pak21 Exp $
+$Id: README,v 1.40 2007/02/02 16:21:50 pak21 Exp $
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/TODO 2007-06-10 15:44:08 UTC (rev 376)
@@ -1,3 +1,50 @@
TODO
+X Move Fuse to have a loop that runs a single frame at a time (will be callback
+ in threaded Cocoa GL UI)
+X Switch to Cocoa run loop for Fuse
+X Add GL renderer
+X Add native keyboard processing (removes SDL keyboard input dependency from
+ Fuse)
+X Add native CoreAudio sound processing (removes SDL sound dependency from Fuse)
+X Fix menus, preferences etc.
+X Add native mouse processing (removes SDL mouse input dependency from Fuse)
+X Make it possible to constrain Speccy image to "correct" aspect ratio
+X Restore fullscreen support
+X Fix scalers
+X Add support for bilinear etc. OpenGL filters
+X Add option to snap window size to 1x, 2x, 3x
+X Grab mouse in fullscreen mode
+X Move emulation to it's own object
+X Move emulation object to it's own thread and call main thread methods with
+ performSelectorOnMainThread:withObject:waitUntilDone:, call emulation thread
+ methods with DO when emulation is not paused, this should avoid sound glitches
+ when menus are selected or window is minimised
+X Fix screen updating during fastloading
+X Make sure that fuse_end is called somewhere on exit
+X Restore activity icons
+X Restore joystick processing (re-use SDL joystick input files from SDL)
+X Sort out remaining FuseController calls into emulator object/thread
+X Restore application level volume adjustment
+* Use double buffered texture (in cocoadisplay have screen 0 and 1 for use of
+ DisplayOpenGLView and flip between them on frame end), should also have a
+ mutex taken while DisplayOpenGLView changes and cocoadisplay flips to
+ prevent thread sync problems
+* Quit keyhandling when command key is pressed
+* Use sheets rather than modal dialogs (for Save As)
+* Put in latest hq[23]x filters (HQ2x_555 from ScummVM should do the trick)
+* Make border display optional
+* Figure out why minimise icon image is partially blanked when minimise starts
+* Allow Cmd-w to close as many operations as possible
+* Make activity icons transparent
+* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
+ sound mixing
+* Add .WAV loader using audiofile
+* Shouldn't be able to load Interface II carts in Pentagon
+* Add volume option to standard fuse + a sound API method to set volume (or a
+ parameter to sound_lowlevel_init)
+* Save ROM into szx when using a non-default one
+* Randomise FRAMES sys var after autoload snapshot loaded in order to try and
+ get less deterministic program behaviour after load is complete
+
$Id: TODO,v 1.4 2004/03/02 13:38:08 pak21 Exp $
Modified: trunk/fuse/compat.h
===================================================================
--- trunk/fuse/compat.h 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/compat.h 2007-06-10 15:44:08 UTC (rev 376)
@@ -58,7 +58,7 @@
#endif /* #ifndef HAVE_GETOPT_LONG */
#ifndef HAVE_MKSTEMP
-int mkstemp( char *template );
+int mkstemp( char *tmpl );
#endif /* #ifndef HAVE_MKSTEMP */
#endif /* #ifndef FUSE_COMPAT_H */
Modified: trunk/fuse/configure.in
===================================================================
--- trunk/fuse/configure.in 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/configure.in 2007-06-10 15:44:08 UTC (rev 376)
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-dnl $Id: configure.in,v 1.155.2.3 2007/05/10 07:32:38 pak21 Exp $
+dnl $Id: configure.in,v 1.155 2007/02/02 16:21:50 pak21 Exp $
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
Modified: trunk/fuse/display.c
===================================================================
--- trunk/fuse/display.c 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/display.c 2007-06-10 15:44:08 UTC (rev 376)
@@ -2,7 +2,7 @@
Copyright (c) 1999-2006 Philip Kendall, Thomas Harte, Witold Filipczyk
and Fredrick Meunier
- $Id: display.c,v 1.59.2.1 2007/03/06 11:39:47 fredm Exp $
+ $Id: display.c,v 1.59 2007/02/02 16:21:50 pak21 Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,8 +38,6 @@
#include "screenshot.h"
#include "settings.h"
#include "spectrum.h"
-#include "tape.h"
-#include "timer.h"
#include "ui/ui.h"
#include "ui/uidisplay.h"
#include "scld.h"
@@ -143,8 +141,6 @@
static int border_changes_last = 0;
static struct border_change_t *border_changes = NULL;
-static timer_type last_frame_time;
-
struct border_change_t *
alloc_change(void)
{
@@ -225,8 +221,6 @@
display_last_border = scld_last_dec.name.hires ?
display_hires_border : display_lores_border;
- error = timer_get_real_time( &last_frame_time ); if( error ) return error;
-
return 0;
}
@@ -662,8 +656,8 @@
else *x = 0;
}
-void
-display_update_critical( int x, int y )
+inline static void
+update_critical_internal( int x, int y )
{
int beam_x, beam_y;
@@ -690,6 +684,12 @@
copy_critical_region( beam_x, beam_y );
}
+void
+display_update_critical( int x, int y )
+{
+ update_critical_internal( x, y );
+}
+
/* Mark the 8-pixel chunk at (x,y) as maybe dirty and update the critical
region as appropriate */
inline static void
@@ -700,7 +700,7 @@
if( y > critical_region_y ||
( y == critical_region_y && x >= critical_region_x ) ) {
- display_update_critical( x, y );
+ update_critical_internal( x, y );
}
display_maybe_dirty[y] |= ( (libspectrum_dword)1 << x );
@@ -728,16 +728,7 @@
for( i = 0; i < 8; i++ ) display_dirty_chunk( x, y + i );
}
-/* Get the attributes for the eight pixels starting at
- ( (8*x) , y ) */
-static void
-display_get_attr( int x, int y,
- libspectrum_byte *ink, libspectrum_byte *paper )
-{
- display_parse_attr( display_get_attr_byte( x, y ), ink, paper );
-}
-
-void
+inline void
display_parse_attr( libspectrum_byte attr,
libspectrum_byte *ink, libspectrum_byte *paper )
{
@@ -750,7 +741,16 @@
}
}
+/* Get the attributes for the eight pixels starting at
+ ( (8*x) , y ) */
static void
+display_get_attr( int x, int y,
+ libspectrum_byte *ink, libspectrum_byte *paper )
+{
+ display_parse_attr( display_get_attr_byte( x, y ), ink, paper );
+}
+
+static void
push_border_change( int colour )
{
int beam_x, beam_y;
@@ -952,32 +952,14 @@
int
display_frame( void )
{
- timer_type current_time;
- float difference;
- int error;
-
- /* Copy all the critical region to display_image[] */
+ /* Copy all the critical region to the display */
copy_critical_region( DISPLAY_WIDTH_COLS, DISPLAY_HEIGHT - 1 );
critical_region_x = critical_region_y = 0;
- error = timer_get_real_time( ¤t_time ); if( error ) return error;
- difference = timer_get_time_difference( ¤t_time, &last_frame_time );
+ update_border();
+ update_dirty_rects();
+ update_ui_screen();
- /* don't bother updating the screen more than 25 times a second if we are
- fastloading a tape, or 50 times a second if we are running at more than 100%
- speed */
- if( ( !( settings_current.fastload && tape_is_playing() ) &&
- ( settings_current.emulation_speed == 100 || difference >= (1.0/50.0) ) ) ||
- ( settings_current.fastload && tape_is_playing() &&
- difference >= (1.0/25.0) ) ) {
-
- update_border();
- update_dirty_rects();
- update_ui_screen();
- last_frame_time = current_time;
-
- }
-
if( screenshot_movie_record == 1 ) {
snprintf( screenshot_movie_name, SCREENSHOT_MOVIE_FILE_MAX,
Modified: trunk/fuse/event.c
===================================================================
--- trunk/fuse/event.c 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/event.c 2007-06-10 15:44:08 UTC (rev 376)
@@ -52,6 +52,12 @@
/* When will the next event happen? */
libspectrum_dword event_next_event;
+/* We are at the end of a frame */
+int event_frame_end;
+
+/* We've had a timer event */
+int event_timer;
+
/* The actual list of events */
static GSList* event_list;
@@ -79,6 +85,8 @@
event_list=NULL;
event_free=NULL;
event_next_event=event_no_events;
+ event_frame_end=0;
+ event_timer=0;
return 0;
}
@@ -119,6 +127,53 @@
: a->type - b->type;
}
+/* Do a frame end event */
+void
+event_do_frame_end(void)
+{
+ if( rzx_playback ) event_force_events();
+ rzx_frame();
+ psg_frame();
+ spectrum_frame();
+ z80_interrupt();
+ ui_joystick_poll();
+ timer_estimate_speed();
+ debugger_add_time_events();
+ ui_event();
+ ui_error_frame();
+ event_frame_end=0;
+}
+
+/* Do a single frame */
+void
+event_do_frame(void)
+{
+ while( !event_frame_end ) {
+ z80_do_opcodes();
+ event_do_events();
+ }
+ event_do_frame_end();
+}
+
+/* Run until target_tstates */
+void
+event_do_timer( libspectrum_dword target_tstates )
+{
+ if( event_add( target_tstates + tstates, EVENT_TYPE_TIMER ) ) {
+ /* Some sort of dire error */
+ return;
+ }
+ event_timer=0;
+ while( !event_timer ) {
+ z80_do_opcodes();
+ event_do_events();
+ if( event_frame_end ) {
+ event_do_frame_end();
+ }
+ }
+ event_timer=0;
+}
+
/* Do all events which have passed */
int event_do_events(void)
{
@@ -141,20 +196,11 @@
case EVENT_TYPE_EDGE: tape_next_edge( ptr->tstates ); break;
case EVENT_TYPE_TIMER:
- timer_frame( ptr->tstates );
+ event_timer = 1;
break;
case EVENT_TYPE_FRAME:
- if( rzx_playback ) event_force_events();
- rzx_frame();
- psg_frame();
- spectrum_frame();
- z80_interrupt();
- ui_joystick_poll();
- timer_estimate_speed();
- debugger_add_time_events();
- ui_event();
- ui_error_frame();
+ event_frame_end = 1;
break;
case EVENT_TYPE_INTERRUPT:
Modified: trunk/fuse/event.h
===================================================================
--- trunk/fuse/event.h 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/event.h 2007-06-10 15:44:08 UTC (rev 376)
@@ -59,6 +59,9 @@
/* When will the next event happen? */
extern libspectrum_dword event_next_event;
+/* We are at the end of a frame */
+extern int event_frame_end;
+
/* Set up the event list */
int event_init(void);
@@ -68,6 +71,15 @@
/* Do all events which have passed */
int event_do_events(void);
+/* Do a frame end event */
+void event_do_frame_end(void);
+
+/* Do a single frame */
+void event_do_frame(void);
+
+/* Run until the next timer event */
+void event_do_timer( libspectrum_dword target_tstates );
+
/* Called at end of frame to reduce T-state count of all entries */
int event_frame( libspectrum_dword tstates_per_frame );
Modified: trunk/fuse/fuse.cpp
===================================================================
--- trunk/fuse/fuse.cpp 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/fuse.cpp 2007-06-10 15:44:08 UTC (rev 376)
@@ -1,7 +1,7 @@
/* fuse.c: The Free Unix Spectrum Emulator
Copyright (c) 1999-2007 Philip Kendall
- $Id: fuse.c,v 1.133.2.3 2007/04/11 09:39:32 pak21 Exp $
+ $Id: fuse.c,v 1.133 2007/02/02 16:21:51 pak21 Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@
}
/* What name were we called under? */
-char *fuse_progname;
+const char *fuse_progname;
/* Which directory were we started in? */
char fuse_directory[ PATH_MAX ];
@@ -119,8 +119,6 @@
} start_files_t;
-static int fuse_init(int argc, char **argv);
-
static int creator_init( void );
static void fuse_show_copyright(void);
static void fuse_show_version( void );
@@ -131,9 +129,7 @@
start_files_t *start_files );
static int do_start_files( start_files_t *start_files );
-static int fuse_end(void);
-
-int main(int argc, char **argv)
+int old_main(int argc, char **argv)
{
if(fuse_init(argc,argv)) {
fprintf(stderr,"%s: error initialising -- giving up!\n", fuse_progname);
@@ -144,8 +140,7 @@
settings_current.show_version ) return 0;
while( !fuse_exiting ) {
- z80_do_opcodes();
- event_do_events();
+ event_do_frame();
}
fuse_end();
@@ -154,7 +149,7 @@
}
-static int fuse_init(int argc, char **argv)
+int fuse_init(int argc, char **argv)
{
int error, first_arg;
char *start_scaler;
@@ -726,7 +721,7 @@
}
/* Tidy-up function called at end of emulation */
-static int fuse_end(void)
+int fuse_end(void)
{
/* Must happen before memory is deallocated as we read the character
set from memory for the text output */
Modified: trunk/fuse/fuse.h
===================================================================
--- trunk/fuse/fuse.h 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/fuse.h 2007-06-10 15:44:08 UTC (rev 376)
@@ -33,7 +33,7 @@
#include "compat.h"
-extern char *fuse_progname; /* argv[0] */
+extern const char *fuse_progname; /* argv[0] */
extern char fuse_directory[ PATH_MAX ]; /* The directory we started in */
extern int fuse_exiting; /* Shall we exit now? */
@@ -44,6 +44,11 @@
void fuse_abort( void ) GCC_NORETURN; /* Emergency shutdown */
+int fuse_init(int argc, char **argv);
+
+int fuse_end(void); /* Tidy-up function called at end of
+ emulation */
+
extern libspectrum_creator *fuse_creator; /* Creator information for file
formats which support this */
Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
===================================================================
--- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-10 13:58:18 UTC (rev 375)
+++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-10 15:44:08 UTC (rev 376)
@@ -7,6 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
+ B615BFE70B4261E50082D535 /* HIDJoysticks.h in Headers */ = {isa = PBXBuildFile; fileRef = B615BFE50B4261E50082D535 /* HIDJoysticks.h */; };
+ B615BFE80B4261E50082D535 /* HIDJoysticks.m in Sources */ = {isa = PBXBuildFile; fileRef = B615BFE60B4261E50082D535 /* HIDJoysticks.m */; };
B61F459309121DF100C8096C /* Fuse Help in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F905ED05CDA24300C2F10D /* Fuse Help */; };
B61F459409121DF100C8096C /* disk_plus3.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B650C3F2076596C700DE7E81 /* disk_plus3.szx */; };
B61F459509121DF100C8096C /* tape_16.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B650C3F4076596FD00DE7E81 /* tape_16.szx */; };
@@ -21,13 +23,9 @@
B61F459F09121DF100C8096C /* tape_scorpion.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B650C40A0765988200DE7E81 /* tape_scorpion.szx */; };
B61F45A209121DF100C8096C /* spectrum.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = F541C04303963A9F01C2A5B9 /* spectrum.framework */; };
B61F45A309121DF100C8096C /* 765.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = F541C0750396490901C2A5B9 /* 765.framework */; };
- B61F45A409121DF100C8096C /* SDL.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = F50F65A003B2355701A804BA /* SDL.framework */; };
B61F45A609121DF100C8096C /* gcrypt.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6BA1A8B04E4F3290017354F /* gcrypt.framework */; };
B61F45A709121DF100C8096C /* libbz2.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6202BD105BD43D800A1EA8F /* libbz2.framework */; };
- B61F45A909121DF100C8096C /* SDLMain.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985400389209A01A804BA /* SDLMain.h */; };
B61F45AA09121DF100C8096C /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = F5598598038921C501A804BA /* config.h */; };
- B61F45AB09121DF100C8096C /* sdldisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985A40389221501A804BA /* sdldisplay.h */; };
- B61F45AC09121DF100C8096C /* sdlkeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985A60389221501A804BA /* sdlkeyboard.h */; };
B61F45AD09121DF100C8096C /* ui.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985AD0389222701A804BA /* ui.h */; };
B61F45AE09121DF100C8096C /* uidisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985AE0389222701A804BA /* uidisplay.h */; };
B61F45AF09121DF100C8096C /* z80_macros.h in Headers */ = {isa = PBXBuildFile; fileRef = F55985B10389224001A804BA /* z80_macros.h */; };
@@ -61,9 +59,7 @@
B61F45CB09121DF100C8096C /* debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = B68CB2C503DD920300A804BA /* debugger.h */; };
B61F45CC09121DF100C8096C /* DebuggerController.h in Headers */ = {isa = PBXBuildFile; fileRef = B632C6AE03E5368700A864FD /* DebuggerController.h */; };
B61F45CD09121DF100C8096C /* FuseMenus.h in Headers */ = {isa = PBXBuildFile; fileRef = B66EA7830401075300A864FD /* FuseMenus.h */; };
- B61F45CE09121DF100C8096C /* sdlscreenshot.h in Headers */ = {isa = PBXBuildFile; fileRef = B68D5B20041E085000A864FD /* sdlscreenshot.h */; };
B61F45CF09121DF100C8096C /* scaler_internals.h in Headers */ = {isa = PBXBuildFile; fileRef = B60A6A3A042BEECE00D41533 /* scaler_internals.h */; };
- B61F45D009121DF100C8096C /* sdljoystick.h in Headers */ = {isa = PBXBuildFile; fileRef = B6030027043363C900A864FD /* sdljoystick.h */; };
B61F45D109121DF100C8096C /* dck.h in Headers */ = {isa = PBXBuildFile; fileRef = B65E4C610445DB7D00A864FD /* dck.h */; };
B61F45D209121DF100C8096C /* psg.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA304D049CEC410037E9F2 /* psg.h */; };
B61F45D309121DF100C8096C /* compat.h in Headers */ = {isa = PBXBuildFile; fileRef = B6871C9D04AF7BEF00C24D83 /* compat.h */; };
@@ -74,7 +70,6 @@
B61F45D809121DF100C8096C /* pokefinder.h in Headers */ = {isa = PBXBuildFile; fileRef = B64586D3059BC04A00934482 /* pokefinder.h */; };
B61F45D909121DF100C8096C /* PokeFinderController.h in Headers */ = {isa = PBXBuildFile; fileRef = B62F3BCE059F5BF300A7009A /* PokeFinderController.h */; };
B61F45DA09121DF100C8096C /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = B6FD5C7A05A4F5B600A6C4FC /* utils.h */; };
- B61F45DB09121DF100C8096C /* sdlui.h in Headers */ = {isa = PBXBuildFile; fileRef = B627DAA705ACDF4E00609956 /* sdlui.h */; };
B61F45DC09121DF100C8096C /* MemoryBrowserController.h in Headers */ = {isa = PBXBuildFile; fileRef = B6D2989105B061CB00C2AA14 /* MemoryBrowserController.h */; };
B61F45DD09121DF100C8096C /* periph.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C57E0105ECA05B0056F1D0 /* periph.h */; };
B61F45DE09121DF100C8096C /* breakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = B66050ED0606AAF500247454 /* breakpoint.h */; };
@@ -83,8 +78,6 @@
B61F45E109121DF100C8096C /* machines.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AD8FEC06221FD500C70D75 /* machines.h */; };
B61F45E209121DF100C8096C /* simpleide.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AD90560622B59200C70D75 /* simpleide.h */; };
B61F45E309121DF100C8096C /* if2.h in Headers */ = {isa = PBXBuildFile; fileRef = B621A11F062E92FB00F63DBC /* if2.h */; };
- B61F45E409121DF100C8096C /* hq2x.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C8696A06561155003000A6 /* hq2x.h */; };
- B61F45E509121DF100C8096C /* hq3x.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C8696B06561155003000A6 /* hq3x.h */; };
B61F45E609121DF100C8096C /* intern.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C86978065611B3003000A6 /* intern.h */; };
B61F45E709121DF100C8096C /* zxatasp.h in Headers */ = {isa = PBXBuildFile; fileRef = B601847A065A586900B0BE59 /* zxatasp.h */; };
B61F45E809121DF100C8096C /* zxcf.h in Headers */ = {isa = PBXBuildFile; fileRef = B601847C065A586900B0BE59 /* zxcf.h */; };
@@ -101,7 +94,6 @@
B61F45F309121DF100C8096C /* MachineNameToIdTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = B67F3CC307EE0A130045339F /* MachineNameToIdTransformer.h */; };
B61F45F409121DF100C8096C /* CAMachines.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CC82FF0800E408006EFFB9 /* CAMachines.h */; };
B61F45F509121DF100C8096C /* Joysticks.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C740D90810BB0500AB170C /* Joysticks.h */; };
- B61F45F609121DF100C8096C /* SDLJoysticks.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C741110810C4A500AB170C /* SDLJoysticks.h */; };
B61F45F709121DF100C8096C /* VolumeSliderToPrefTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = B66D6C9608115FC200FAE6F3 /* VolumeSliderToPrefTransformer.h */; };
B61F45F809121DF100C8096C /* ScalerNameToIdTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = B67F3C1407ED1C9D0045339F /* ScalerNameToIdTransformer.h */; };
B61F45F909121DF100C8096C /* profile.h in Headers */ = {isa = PBXBuildFile; fileRef = B6E811F1084B5117008CF718 /* profile.h */; };
@@ -117,7 +109,7 @@
B61F460709121DF100C8096C /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = B6BA6F0207B1E04200E44C8D /* Preferences.nib */; };
B61F460809121DF100C8096C /* Rollback.nib in Resources */ = {isa = PBXBuildFile; fileRef = B600ADA3077237920030FD05 /* Rollback.nib */; };
B61F460909121DF100C8096C /* SaveBinary.nib in Resources */ = {isa = PBXBuildFile; fileRef = B6F74F9A04B85B4F0059D51C /* SaveBinary.nib */; };
- B61F460A09121DF100C8096C /* SDLMain.nib in Resources */ = {isa = PBXBuildFile; fileRef = F5598546038920E401A804BA /* SDLMain.nib */; };
+ B61F460A09121DF100C8096C /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = F5598546038920E401A804BA /* MainMenu.nib */; };
B61F460B09121DF100C8096C /* TapeBrowser.nib in Resources */ = {isa = PBXBuildFile; fileRef = F59B5587039F8DB601A804BA /* TapeBrowser.nib */; };
B61F460C09121DF100C8096C /* 48.rom in Resources */ = {isa = PBXBuildFile; fileRef = F559854C0389212301A804BA /* 48.rom */; };
B61F460D09121DF100C8096C /* 128-0.rom in Resources */ = {isa = PBXBuildFile; fileRef = F559854D0389212301A804BA /* 128-0.rom */; };
@@ -184,7 +176,6 @@
B61F464D09121DF100C8096C /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = F55986350389237101A804BA /* timer.c */; };
B61F464E09121DF100C8096C /* ui.c in Sources */ = {isa = PBXBuildFile; fileRef = F559863B0389238101A804BA /* ui.c */; };
B61F464F09121DF100C8096C /* uidisplay.c in Sources */ = {isa = PBXBuildFile; fileRef = F559863C0389238101A804BA /* uidisplay.c */; };
- B61F465009121DF100C8096C /* error.m in Sources */ = {isa = PBXBuildFile; fileRef = F5F8763503995372011FA3A4 /* error.m */; };
B61F465109121DF100C8096C /* FuseController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5F876380399540D011FA3A4 /* FuseController.m */; };
B61F465209121DF100C8096C /* TapeBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = F59B5590039FD8F901A804BA /* TapeBrowserController.m */; };
B61F465309121DF100C8096C /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = F536B56503A0C275011517A0 /* utils.c */; };
@@ -199,31 +190,22 @@
B61F465C09121DF100C8096C /* debugger.c in Sources */ = {isa = PBXBuildFile; fileRef = B68CB2C403DD920300A804BA /* debugger.c */; };
B61F465D09121DF100C8096C /* disassemble.c in Sources */ = {isa = PBXBuildFile; fileRef = B68CB2C603DD920300A804BA /* disassemble.c */; };
B61F465E09121DF100C8096C /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = B68CB2CC03DD923C00A804BA /* memory.c */; };
- B61F465F09121DF100C8096C /* sdlkeyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = B6586D8503E744C000A804BA /* sdlkeyboard.c */; };
B61F466009121DF100C8096C /* DebuggerController.m in Sources */ = {isa = PBXBuildFile; fileRef = B632C6AF03E5368700A864FD /* DebuggerController.m */; };
- B61F466109121DF100C8096C /* sdldisplay.c in Sources */ = {isa = PBXBuildFile; fileRef = B6F4396C03E9645500A864FD /* sdldisplay.c */; };
B61F466209121DF100C8096C /* FuseMenus.m in Sources */ = {isa = PBXBuildFile; fileRef = B66EA7840401075300A864FD /* FuseMenus.m */; };
B61F466309121DF100C8096C /* scaler.c in Sources */ = {isa = PBXBuildFile; fileRef = B63ABD8D042F175200A864FD /* scaler.c */; };
B61F466409121DF100C8096C /* tc2068.c in Sources */ = {isa = PBXBuildFile; fileRef = B6FEA44F0444C3370013916D /* tc2068.c */; };
B61F466509121DF100C8096C /* dck.c in Sources */ = {isa = PBXBuildFile; fileRef = B65E4C600445DB7D00A864FD /* dck.c */; };
- B61F466609121DF100C8096C /* keysyms.c in Sources */ = {isa = PBXBuildFile; fileRef = B61D4512048F8F5800FEA4F1 /* keysyms.c */; };
B61F466709121DF100C8096C /* psg.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CA304C049CEC410037E9F2 /* psg.c */; };
B61F466809121DF100C8096C /* LoadBinaryController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6F74F9704B855D40059D51C /* LoadBinaryController.m */; };
B61F466909121DF100C8096C /* SaveBinaryController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6F74F9D04B85B660059D51C /* SaveBinaryController.m */; };
- B61F466A09121DF100C8096C /* sdljoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B6C691B504C20A09005EE041 /* sdljoystick.c */; };
B61F466B09121DF100C8096C /* joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B6C691B704C20A42005EE041 /* joystick.c */; };
B61F466C09121DF100C8096C /* expression.c in Sources */ = {isa = PBXBuildFile; fileRef = B604635E04C5F37B00C225C9 /* expression.c */; };
B61F466D09121DF100C8096C /* NumberFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A7F0EA04C9A11D001025EB /* NumberFormatter.m */; };
B61F466E09121DF100C8096C /* pokefinder.c in Sources */ = {isa = PBXBuildFile; fileRef = B64586D2059BC04A00934482 /* pokefinder.c */; };
B61F466F09121DF100C8096C /* machine.c in Sources */ = {isa = PBXBuildFile; fileRef = B60B11F7059BC7E70048B64B /* machine.c */; };
B61F467009121DF100C8096C /* PokeFinderController.m in Sources */ = {isa = PBXBuildFile; fileRef = B62F3BCF059F5BF300A7009A /* PokeFinderController.m */; };
- B61F467109121DF100C8096C /* sdlui.c in Sources */ = {isa = PBXBuildFile; fileRef = B627DAA605ACDF4E00609956 /* sdlui.c */; };
B61F467209121DF100C8096C /* MemoryBrowserController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D2989205B061CB00C2AA14 /* MemoryBrowserController.m */; };
B61F467309121DF100C8096C /* periph.c in Sources */ = {isa = PBXBuildFile; fileRef = B6C57E0005ECA05B0056F1D0 /* periph.c */; };
- B61F467409121DF100C8096C /* SDLMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = B6C57E0605ECC4160056F1D0 /* SDLMain.mm */; };
- B61F467509121DF100C8096C /* scalers16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6C57E3F05ECC9260056F1D0 /* scalers16.cpp */; };
- B61F467609121DF100C8096C /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B65163AB05F4A11E001903BE /* hq2x.cpp */; };
- B61F467709121DF100C8096C /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B61EF5B905FED7930081DF70 /* hq3x.cpp */; };
B61F467809121DF100C8096C /* fuse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6CD0B9E06069F4A00847338 /* fuse.cpp */; };
B61F467909121DF100C8096C /* breakpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = B66050EC0606AAF500247454 /* breakpoint.c */; };
B61F467A09121DF100C8096C /* scorpion.c in Sources */ = {isa = PBXBuildFile; fileRef = B66050F80606AB0B00247454 /* scorpion.c */; };
@@ -240,7 +222,6 @@
B61F468509121DF100C8096C /* kempmouse.c in Sources */ = {isa = PBXBuildFile; fileRef = B68C17DC06C8C0DC004981AE /* kempmouse.c */; };
B61F468609121DF100C8096C /* if1.c in Sources */ = {isa = PBXBuildFile; fileRef = B6C8B723076D2B1A0007B7B5 /* if1.c */; };
B61F468709121DF100C8096C /* RollbackController.m in Sources */ = {isa = PBXBuildFile; fileRef = B63F994A077182B4004D6DFA /* RollbackController.m */; };
- B61F468809121DF100C8096C /* sdlsound.c in Sources */ = {isa = PBXBuildFile; fileRef = B6F06092078FB36500CD5D95 /* sdlsound.c */; };
B61F468909121DF100C8096C /* ts2068.c in Sources */ = {isa = PBXBuildFile; fileRef = B6F060A5078FB55400CD5D95 /* ts2068.c */; };
B61F468A09121DF100C8096C /* sfifo.c in Sources */ = {isa = PBXBuildFile; fileRef = B6F06100078FC2C900CD5D95 /* sfifo.c */; };
B61F468B09121DF100C8096C /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = B650F73F07E7CD3F00E4F3AF /* PreferencesController.m */; };
@@ -249,17 +230,14 @@
B61F468E09121DF100C8096C /* MachineNameToIdTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = B67F3CC407EE0A130045339F /* MachineNameToIdTransformer.m */; };
B61F468F09121DF100C8096C /* CAMachines.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CC83000800E408006EFFB9 /* CAMachines.m */; };
B61F469009121DF100C8096C /* Joysticks.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C740DA0810BB0500AB170C /* Joysticks.m */; };
- B61F469109121DF100C8096C /* SDLJoysticks.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C741120810C4A500AB170C /* SDLJoysticks.m */; };
B61F469209121DF100C8096C /* VolumeSliderToPrefTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = B66D6C9708115FC200FAE6F3 /* VolumeSliderToPrefTransformer.m */; };
B61F469309121DF100C8096C /* profile.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E811F0084B5117008CF718 /* profile.c */; };
B61F469409121DF100C8096C /* ide.c in Sources */ = {isa = PBXBuildFile; fileRef = B6E811F4084B5148008CF718 /* ide.c */; };
- B61F469509121DF100C8096C /* sdlscreenshot.m in Sources */ = {isa = PBXBuildFile; fileRef = B619FC69090E649700344F94 /* sdlscreenshot.m */; };
B61F469A09121DF100C8096C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
B61F469B09121DF100C8096C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; };
B61F469C09121DF100C8096C /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
B61F469D09121DF100C8096C /* spectrum.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F541C04303963A9F01C2A5B9 /* spectrum.framework */; };
B61F469E09121DF100C8096C /* 765.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F541C0750396490901C2A5B9 /* 765.framework */; };
- B61F469F09121DF100C8096C /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F50F65A003B2355701A804BA /* SDL.framework */; };
B61F46A109121DF100C8096C /* gcrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6BA1A8B04E4F3290017354F /* gcrypt.framework */; };
B61F46A209121DF100C8096C /* libbz2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6202BD105BD43D800A1EA8F /* libbz2.framework */; };
B61F46A409121DF100C8096C /* FuseImporter.mdimporter in CopyFiles */ = {isa = PBXBuildFile; fileRef = B64FEA96084F8EC300879389 /* FuseImporter.mdimporter */; };
@@ -278,8 +256,37 @@
B650986E09366C8F003AF1BF /* rom.icns in Resources */ = {isa = PBXBuildFile; fileRef = B650986B09366C8F003AF1BF /* rom.icns */; };
B650986F09366C8F003AF1BF /* rzx.icns in Resources */ = {isa = PBXBuildFile; fileRef = B650986C09366C8F003AF1BF /* rzx.icns */; };
B650987109366CA2003AF1BF /* szx.icns in Resources */ = {isa = PBXBuildFile; fileRef = B650987009366CA2003AF1BF /* szx.icns */; };
+ B65352DB0B8CF6780083F942 /* SDL_joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = B65352BD0B89B8AA0083F942 /* SDL_joystick.h */; };
+ B65352F20B8CF6CC0083F942 /* SDL_sysjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B65352BE0B89B8AA0083F942 /* SDL_sysjoystick.c */; };
+ B65352F30B8CF6CC0083F942 /* SDL_sysjoystick.h in Headers */ = {isa = PBXBuildFile; fileRef = B65352BF0B89B8AA0083F942 /* SDL_sysjoystick.h */; };
+ B65353150B8FF3D20083F942 /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B65353140B8FF3D20083F942 /* SDL_joystick.c */; };
+ B653532B0B902CB20083F942 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B653532A0B902CB20083F942 /* IOKit.framework */; };
+ B67DC2190B63835100FA31B6 /* cocoastatusbar.m in Sources */ = {isa = PBXBuildFile; fileRef = B67DC2180B63835100FA31B6 /* cocoastatusbar.m */; };
B6825549091817F30014B5EE /* divide.c in Sources */ = {isa = PBXBuildFile; fileRef = B6825547091817F30014B5EE /* divide.c */; };
B682554A091817F30014B5EE /* divide.h in Headers */ = {isa = PBXBuildFile; fileRef = B6825548091817F30014B5EE /* divide.h */; };
+ B6A24E330B49C67D00AD5B9D /* scalers16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6A24E320B49C67D00AD5B9D /* scalers16.cpp */; };
+ B6A24E3B0B49C78700AD5B9D /* hq2x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6A24E370B49C78700AD5B9D /* hq2x.cpp */; };
+ B6A24E3C0B49C78700AD5B9D /* hq2x.h in Headers */ = {isa = PBXBuildFile; fileRef = B6A24E380B49C78700AD5B9D /* hq2x.h */; };
+ B6A24E3D0B49C78700AD5B9D /* hq3x.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6A24E390B49C78700AD5B9D /* hq3x.cpp */; };
+ B6A24E3E0B49C78700AD5B9D /* hq3x.h in Headers */ = {isa = PBXBuildFile; fileRef = B6A24E3A0B49C78700AD5B9D /* hq3x.h */; };
+ B6A6F0960B3C108C000B88E9 /* coreaudiosound.c in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F0950B3C108C000B88E9 /* coreaudiosound.c */; };
+ B6A6F0DA0B3D141B000B88E9 /* cocoaui.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F0D90B3D141B000B88E9 /* cocoaui.m */; };
+ B6A6F0EE0B3D5F9E000B88E9 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A6F0ED0B3D5F9E000B88E9 /* CoreAudio.framework */; };
+ B6A6F0F30B3D602F000B88E9 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6A6F0F20B3D602F000B88E9 /* AudioUnit.framework */; };
+ B6A6F1060B3D60D0000B88E9 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F520C8BC038D022E01A804BA /* OpenGL.framework */; };
+ B6A6F10E0B3D6360000B88E9 /* cocoaerror.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F10D0B3D6360000B88E9 /* cocoaerror.m */; };
+ B6A6F11F0B3EA737000B88E9 /* cocoascreenshot.h in Headers */ = {isa = PBXBuildFile; fileRef = B6A6F11D0B3EA737000B88E9 /* cocoascreenshot.h */; };
+ B6A6F1200B3EA737000B88E9 /* cocoascreenshot.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A6F11E0B3EA737000B88E9 /* cocoascreenshot.m */; };
+ B6B076B20B59FE9A00D4F95C /* Emulator.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B076B00B59FE9A00D4F95C /* Emulator.h */; };
+ B6B076B30B59FE9A00D4F95C /* Emulator.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B076B10B59FE9A00D4F95C /* Emulator.m */; };
+ B6B99F8A0B5F798700EE408F /* cocoadisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B99F890B5F798700EE408F /* cocoadisplay.m */; };
+ B6CE7F410B2830A300EB65B3 /* cocoadisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE7F3B0B2830A300EB65B3 /* cocoadisplay.h */; };
+ B6CE7F420B2830A300EB65B3 /* cocoajoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7F3C0B2830A300EB65B3 /* cocoajoystick.c */; };
+ B6CE7F440B2830A300EB65B3 /* cocoaui.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE7F3E0B2830A300EB65B3 /* cocoaui.h */; };
+ B6CE7F520B283A0700EB65B3 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7F510B283A0700EB65B3 /* main.mm */; };
+ B6CE7FCD0B28FBD600EB65B3 /* DisplayOpenGLView.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE7FCB0B28FBD600EB65B3 /* DisplayOpenGLView.h */; };
+ B6CE7FCE0B28FBD600EB65B3 /* DisplayOpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7FCC0B28FBD600EB65B3 /* DisplayOpenGLView.m */; };
+ B6E0252C0B38AFE500E23A0F /* keysyms.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E0252B0B38AFE500E23A0F /* keysyms.m */; };
B6F047F60952A6D6006D8005 /* tape_se.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F20952A6BA006D8005 /* tape_se.szx */; };
B6F047F70952A6D6006D8005 /* tape_ts2068.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F30952A6BA006D8005 /* tape_ts2068.szx */; };
B6F047F80952A6E3006D8005 /* tape_plus3e.szx in CopyFiles */ = {isa = PBXBuildFile; fileRef = B6F047F00952A69A006D8005 /* tape_plus3e.szx */; };
@@ -325,7 +332,6 @@
files = (
B61F45A209121DF100C8096C /* spectrum.framework in CopyFiles */,
B61F45A309121DF100C8096C /* 765.framework in CopyFiles */,
- B61F45A409121DF100C8096C /* SDL.framework in CopyFiles */,
B61F45A609121DF100C8096C /* gcrypt.framework in CopyFiles */,
B61F45A709121DF100C8096C /* libbz2.framework in CopyFiles */,
);
@@ -353,24 +359,20 @@
B601847A065A586900B0BE59 /* zxatasp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = zxatasp.h; path = ../zxatasp.h; sourceTree = SOURCE_ROOT; };
B601847B065A586900B0BE59 /* zxcf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = zxcf.c; path = ../zxcf.c; sourceTree = SOURCE_ROOT; };
B601847C065A586900B0BE59 /* zxcf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = zxcf.h; path = ../zxcf.h; sourceTree = SOURCE_ROOT; };
- B6030027043363C900A864FD /* sdljoystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sdljoystick.h; path = ../ui/sdl/sdljoystick.h; sourceTree = "<group>"; };
B604635E04C5F37B00C225C9 /* expression.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = expression.c; path = ../debugger/expression.c; sourceTree = SOURCE_ROOT; };
B60A6A3A042BEECE00D41533 /* scaler_internals.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = scaler_internals.h; path = ../ui/scaler/scaler_internals.h; sourceTree = SOURCE_ROOT; };
B60B11F7059BC7E70048B64B /* machine.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = machine.c; path = ../machine.c; sourceTree = SOURCE_ROOT; };
B611190206A1FA12006D2711 /* JoystickConfigurationController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JoystickConfigurationController.h; path = controllers/JoystickConfigurationController.h; sourceTree = SOURCE_ROOT; };
B611190306A1FA12006D2711 /* JoystickConfigurationController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = JoystickConfigurationController.m; path = controllers/JoystickConfigurationController.m; sourceTree = SOURCE_ROOT; };
B611196806A1FBB6006D2711 /* JoystickConfiguration.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = JoystickConfiguration.nib; path = nibs/JoystickConfiguration.nib; sourceTree = "<group>"; };
+ B615BFE50B4261E50082D535 /* HIDJoysticks.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = HIDJoysticks.h; path = content_arrays/HIDJoysticks.h; sourceTree = "<group>"; };
+ B615BFE60B4261E50082D535 /* HIDJoysticks.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = HIDJoysticks.m; path = content_arrays/HIDJoysticks.m; sourceTree = "<group>"; };
B619FC2E090D9BC200344F94 /* SavePanelAccessoryView.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = SavePanelAccessoryView.nib; path = nibs/SavePanelAccessoryView.nib; sourceTree = "<group>"; };
- B619FC69090E649700344F94 /* sdlscreenshot.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = sdlscreenshot.m; sourceTree = SOURCE_ROOT; };
- B61D4512048F8F5800FEA4F1 /* keysyms.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = keysyms.c; sourceTree = SOURCE_ROOT; };
- B61EF5B905FED7930081DF70 /* hq3x.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hq3x.cpp; path = scaler/hq3x.cpp; sourceTree = SOURCE_ROOT; };
B61F46A909121DF100C8096C /* Info-Fuse.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "Info-Fuse.plist"; sourceTree = "<group>"; };
B61F46AA09121DF200C8096C /* Fuse.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Fuse.app; sourceTree = BUILT_PRODUCTS_DIR; };
B6202BD105BD43D800A1EA8F /* libbz2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libbz2.framework; path = ../../bzip2/build/Deployment/libbz2.framework; sourceTree = SOURCE_ROOT; };
B621A11E062E92FB00F63DBC /* if2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = if2.c; path = ../if2.c; sourceTree = SOURCE_ROOT; };
B621A11F062E92FB00F63DBC /* if2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = if2.h; path = ../if2.h; sourceTree = SOURCE_ROOT; };
- B627DAA605ACDF4E00609956 /* sdlui.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sdlui.c; path = ../ui/sdl/sdlui.c; sourceTree = SOURCE_ROOT; };
- B627DAA705ACDF4E00609956 /* sdlui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sdlui.h; sourceTree = SOURCE_ROOT; };
B62E1BC303E298B200A80002 /* Debugger.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Debugger.nib; path = nibs/Debugger.nib; sourceTree = SOURCE_ROOT; };
B62F3BB4059F5B5900A7009A /* PokeFinder.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = PokeFinder.nib; path = nibs/PokeFinder.nib; sourceTree = "<group>"; };
B62F3BCE059F5BF300A7009A /* PokeFinderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PokeFinderController.h; path = controllers/PokeFinderController.h; sourceTree = "<group>"; };
@@ -420,8 +422,11 @@
B650C40A0765988200DE7E81 /* tape_scorpion.szx */ = {isa = PBXFileReference; lastKnownFileType = file; name = tape_scorpion.szx; path = ../lib/compressed/tape_scorpion.szx; sourceTree = SOURCE_ROOT; };
B650F73E07E7CD3F00E4F3AF /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PreferencesController.h; path = controllers/PreferencesController.h; sourceTree = SOURCE_ROOT; };
B650F73F07E7CD3F00E4F3AF /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PreferencesController.m; path = controllers/PreferencesController.m; sourceTree = SOURCE_ROOT; };
- B65163AB05F4A11E001903BE /* hq2x.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hq2x.cpp; path = scaler/hq2x.cpp; sourceTree = SOURCE_ROOT; };
- B6586D8503E744C000A804BA /* sdlkeyboard.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sdlkeyboard.c; path = ../ui/sdl/sdlkeyboard.c; sourceTree = SOURCE_ROOT; };
+ B65352BD0B89B8AA0083F942 /* SDL_joystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_joystick.h; sourceTree = "<group>"; };
+ B65352BE0B89B8AA0083F942 /* SDL_sysjoystick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_sysjoystick.c; sourceTree = "<group>"; };
+ B65352BF0B89B8AA0083F942 /* SDL_sysjoystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDL_sysjoystick.h; sourceTree = "<group>"; };
+ B65353140B8FF3D20083F942 /* SDL_joystick.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SDL_joystick.c; sourceTree = "<group>"; };
+ B653532A0B902CB20083F942 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
B65E4C600445DB7D00A864FD /* dck.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dck.c; path = ../dck.c; sourceTree = SOURCE_ROOT; };
B65E4C610445DB7D00A864FD /* dck.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = dck.h; path = ../dck.h; sourceTree = SOURCE_ROOT; };
B66050EC0606AAF500247454 /* breakpoint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = breakpoint.c; path = ../debugger/breakpoint.c; sourceTree = SOURCE_ROOT; };
@@ -439,6 +444,7 @@
B66EA7830401075300A864FD /* FuseMenus.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FuseMenus.h; sourceTree = SOURCE_ROOT; };
B66EA7840401075300A864FD /* FuseMenus.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = FuseMenus.m; sourceTree = SOURCE_ROOT; };
B678E4060608FB4300678A33 /* spec_se.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = spec_se.c; path = ../machines/spec_se.c; sourceTree = SOURCE_ROOT; };
+ B67DC2180B63835100FA31B6 /* cocoastatusbar.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoastatusbar.m; sourceTree = "<group>"; };
B67F204203D4B629007BE3A0 /* trdos.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = trdos.c; sourceTree = "<group>"; };
B67F204303D4B629007BE3A0 /* trdos.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = trdos.h; sourceTree = "<group>"; };
B67F3C1407ED1C9D0045339F /* ScalerNameToIdTransformer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScalerNameToIdTransformer.h; path = transformers/ScalerNameToIdTransformer.h; sourceTree = SOURCE_ROOT; };
@@ -462,7 +468,18 @@
B68CB2C503DD920300A804BA /* debugger.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = debugger.h; path = ../debugger/debugger.h; sourceTree = "<group>"; };
B68CB2C603DD920300A804BA /* disassemble.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = disassemble.c; path = ../debugger/disassemble.c; sourceTree = "<group>"; };
B68CB2CC03DD923C00A804BA /* memory.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = memory.c; sourceTree = "<group>"; };
- B68D5B20041E085000A864FD /* sdlscreenshot.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sdlscreenshot.h; sourceTree = SOURCE_ROOT; };
+ B6A24E320B49C67D00AD5B9D /* scalers16.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = scalers16.cpp; path = scaler/scalers16.cpp; sourceTree = SOURCE_ROOT; };
+ B6A24E370B49C78700AD5B9D /* hq2x.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hq2x.cpp; path = scaler/hq2x.cpp; sourceTree = SOURCE_ROOT; };
+ B6A24E380B49C78700AD5B9D /* hq2x.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hq2x.h; path = scaler/hq2x.h; sourceTree = SOURCE_ROOT; };
+ B6A24E390B49C78700AD5B9D /* hq3x.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hq3x.cpp; path = scaler/hq3x.cpp; sourceTree = SOURCE_ROOT; };
+ B6A24E3A0B49C78700AD5B9D /* hq3x.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = hq3x.h; path = scaler/hq3x.h; sourceTree = SOURCE_ROOT; };
+ B6A6F0950B3C108C000B88E9 /* coreaudiosound.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = coreaudiosound.c; path = sound/coreaudiosound.c; sourceTree = "<group>"; };
+ B6A6F0D90B3D141B000B88E9 /* cocoaui.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoaui.m; sourceTree = "<group>"; };
+ B6A6F0ED0B3D5F9E000B88E9 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
+ B6A6F0F20B3D602F000B88E9 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
+ B6A6F10D0B3D6360000B88E9 /* cocoaerror.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoaerror.m; sourceTree = "<group>"; };
+ B6A6F11D0B3EA737000B88E9 /* cocoascreenshot.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cocoascreenshot.h; sourceTree = "<group>"; };
+ B6A6F11E0B3EA737000B88E9 /* cocoascreenshot.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoascreenshot.m; sourceTree = "<group>"; };
B6A7F0E904C9A11D001025EB /* NumberFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NumberFormatter.h; sourceTree = "<group>"; };
B6A7F0EA04C9A11D001025EB /* NumberFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NumberFormatter.m; sourceTree = "<group>"; };
B6AA8A3C03D2FC1C00FED55D /* trdos.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = trdos.rom; path = ../roms/trdos.rom; sourceTree = SOURCE_ROOT; };
@@ -479,22 +496,18 @@
B6AE204307704CFD00990F65 /* if1-1.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "if1-1.rom"; path = "../roms/if1-1.rom"; sourceTree = SOURCE_ROOT; };
B6AE204407704CFD00990F65 /* if1-2.rom */ = {isa = PBXFileReference; lastKnownFileType = file; name = "if1-2.rom"; path = "../roms/if1-2.rom"; sourceTree = SOURCE_ROOT; };
B6AF242A04156EE700F48F48 /* blank.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = blank.icns; path = resources/blank.icns; sourceTree = SOURCE_ROOT; };
+ B6B076B00B59FE9A00D4F95C /* Emulator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Emulator.h; sourceTree = "<group>"; };
+ B6B076B10B59FE9A00D4F95C /* Emulator.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = Emulator.m; sourceTree = "<group>"; };
+ B6B99F890B5F798700EE408F /* cocoadisplay.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = cocoadisplay.m; sourceTree = "<group>"; };
B6BA1A8B04E4F3290017354F /* gcrypt.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = gcrypt.framework; path = ../../libgcrypt/build/Deployment/gcrypt.framework; sourceTree = SOURCE_ROOT; };
B6BA1A9404E4F88F0017354F /* uijoystick.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = uijoystick.h; path = ../ui/uijoystick.h; sourceTree = SOURCE_ROOT; };
B6BA6F0207B1E04200E44C8D /* Preferences.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Preferences.nib; path = nibs/Preferences.nib; sourceTree = "<group>"; };
B6C3479F044B091100E1BBA7 /* ts2068.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ts2068.png; path = resources/ts2068.png; sourceTree = SOURCE_ROOT; };
B6C57E0005ECA05B0056F1D0 /* periph.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = periph.c; path = ../periph.c; sourceTree = SOURCE_ROOT; };
B6C57E0105ECA05B0056F1D0 /* periph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = periph.h; path = ../periph.h; sourceTree = SOURCE_ROOT; };
- ...
[truncated message content] |