From: <sp...@us...> - 2008-08-13 02:06:40
|
Revision: 3747 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3747&view=rev Author: specu Date: 2008-08-13 02:06:49 +0000 (Wed, 13 Aug 2008) Log Message: ----------- Win32: Added version requirement for DirectX sound interface. The module needs version DirectX 7 or higher. This also stops all the redefinition errors happening without this requirement (Marek) Modified Paths: -------------- trunk/fuse/configure.in trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2008-08-12 21:52:42 UTC (rev 3746) +++ trunk/fuse/configure.in 2008-08-13 02:06:49 UTC (rev 3747) @@ -365,7 +365,8 @@ AC_CHECK_HEADER( dsound.h, [dxsound_available=yes], - [AC_MSG_WARN(dsound.h not found - no DirectSound output)] + [AC_MSG_WARN(dsound.h not found - no DirectSound output)], + [#define DIRECTSOUND_VERSION 0x0700] ) dnl Check if MS Windows Multimedia API sound is available @@ -407,6 +408,7 @@ if test "$dxsound_available" = yes; then SOUND_LIBADD='dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid' AC_MSG_RESULT(DirectX) + AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required]) elif test "$win32sound_available" = yes; then SOUND_LIBADD='win32sound.$(OBJEXT)' SOUND_LIBS='-lwinmm' AC_MSG_RESULT(win32sound) Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-12 21:52:42 UTC (rev 3746) +++ trunk/fuse/hacking/ChangeLog 2008-08-13 02:06:49 UTC (rev 3747) @@ -2853,3 +2853,7 @@ (Marek). 20080811 ui/win32/memorybrowser.c: Win32: made the memory browser dialog use the win32ui_get_monospaced_font function (Marek). +20080812 configure.in: Win32: Added version requirement for DirectX sound + interface. The module needs version DirectX 7 or higher. This also + stops all the redefinition errors happening without this requirement + (Marek). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-08-15 09:04:25
|
Revision: 3748 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3748&view=rev Author: pak21 Date: 2008-08-15 09:04:33 +0000 (Fri, 15 Aug 2008) Log Message: ----------- Add sanity checks for disk geometry (fixes bug #2051291) (Gergely Szasz). Modified Paths: -------------- trunk/fuse/disk/disk.c trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/disk/disk.c =================================================================== --- trunk/fuse/disk/disk.c 2008-08-13 02:06:49 UTC (rev 3747) +++ trunk/fuse/disk/disk.c 2008-08-15 09:04:33 UTC (rev 3748) @@ -667,6 +667,9 @@ } /* open a disk image */ +#define GEOM_CHECK \ + if( d->sides < 1 || d->sides > 2 || \ + d->cylinders < 1 || d->cylinders > 85 ) return d->status = DISK_GEOM static int open_udi( FILE *file, disk_t *d ) @@ -675,7 +678,8 @@ d->sides = head[10] + 1; d->cylinders = head[9] + 1; - d->density = DISK_DENS_AUTO;; + GEOM_CHECK; + d->density = DISK_DENS_AUTO; fseek( file, 16, SEEK_SET ); d->bpt = 0; @@ -786,6 +790,7 @@ fseek( file, 22, SEEK_SET ); d->sides = head[18]; d->cylinders = head[19]; + GEOM_CHECK; sectors = head[20]; seclen = head[21] * 64; @@ -848,6 +853,7 @@ d->wrprot = head[0x03] == 1 ? 1 : 0; d->sides = head[0x06] + 256 * head[0x07]; d->cylinders = head[0x04] + 256 * head[0x05]; + GEOM_CHECK; data_offset = head[0x0a] + 256 * head[0x0b]; h = 0x0e + head[0x0c] + 256 * head[0x0d]; /* save head start */ head_offset = h; @@ -942,6 +948,7 @@ d->sides = head[0x31]; d->cylinders = head[0x30]; /* maximum number of tracks */ + GEOM_CHECK; for( i = 0; i < d->sides*d->cylinders; i++ ) { /* sometimes in the header there are more track than in the file */ if( fread( head, 1, 1, file ) != 1 && feof( file ) ) { @@ -1032,6 +1039,9 @@ idlen = 0x80 << head[ 0x1b + 8 * j ]; /* sector length from ID */ trlen += seclen; + if( idlen == 0 || idlen > ( 0x80 << 0x08 ) ) /* error in sector length code -> ignore */ + idlen = seclen; + if( seclen > idlen && seclen % idlen ) /* seclen != N * len */ return d->status = DISK_OPEN; Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-13 02:06:49 UTC (rev 3747) +++ trunk/fuse/hacking/ChangeLog 2008-08-15 09:04:33 UTC (rev 3748) @@ -2857,3 +2857,5 @@ interface. The module needs version DirectX 7 or higher. This also stops all the redefinition errors happening without this requirement (Marek). +20080815 disk/disk.c: add sanity checks for disk geometry (fixes bug #2051291) + (Gergely Szasz). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2008-08-15 12:47:36
|
Revision: 3749 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3749&view=rev Author: fredm Date: 2008-08-15 12:47:44 +0000 (Fri, 15 Aug 2008) Log Message: ----------- Unify input_joystick_button and input_key and allow widget UI to be controlled by joystick. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/input.c trunk/fuse/input.h trunk/fuse/ui/sdl/sdljoystick.c trunk/fuse/ui/svga/svgajoystick.c trunk/fuse/ui/uijoystick.c trunk/fuse/ui/widget/browse.c trunk/fuse/ui/widget/filesel.c trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options.pl trunk/fuse/ui/widget/picture.c trunk/fuse/ui/widget/query.c trunk/fuse/ui/widget/select.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/hacking/ChangeLog 2008-08-15 12:47:44 UTC (rev 3749) @@ -2859,3 +2859,7 @@ (Marek). 20080815 disk/disk.c: add sanity checks for disk geometry (fixes bug #2051291) (Gergely Szasz). +20080815 input.[ch],ui/sdl/sdljoystick.c,ui/svga/svgajoystick.c, + ui/uijoystick.c,ui/widget/{browse.c,filesel.c,menu.c,options.pl, + picture.c,query.c,select.c}: unify input_joystick_button and input_key + and allow widget UI to be controlled by joystick (Fred). Modified: trunk/fuse/input.c =================================================================== --- trunk/fuse/input.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/input.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -209,7 +209,7 @@ } static keyboard_key_name -get_fire_button_key( int which, input_joystick_button button ) +get_fire_button_key( int which, input_key button ) { switch( which ) { @@ -257,6 +257,24 @@ { int which; +#ifdef USE_WIDGET + if( widget_level >= 0 ) { + if( press ) widget_keyhandler( joystick_event->button ); + return 0; + } + + switch( joystick_event->button ) { + case INPUT_JOYSTICK_FIRE_2: + fuse_emulation_pause(); + widget_do( WIDGET_TYPE_MENU, &widget_menu ); + fuse_emulation_unpause(); + break; + + default: break; /* Remove gcc warning */ + + } +#endif /* #ifdef USE_WIDGET */ + which = joystick_event->which; if( joystick_event->button < INPUT_JOYSTICK_FIRE_1 ) { Modified: trunk/fuse/input.h =================================================================== --- trunk/fuse/input.h 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/input.h 2008-08-15 12:47:44 UTC (rev 3749) @@ -168,18 +168,7 @@ INPUT_KEY_Hyper_R, INPUT_KEY_Mode_switch, -} input_key; - -typedef struct input_event_key_t { - - input_key native_key; - input_key spectrum_key; - -} input_event_key_t; - -typedef enum input_joystick_button { - - INPUT_JOYSTICK_UP = 0, + INPUT_JOYSTICK_UP = 0x1100, INPUT_JOYSTICK_DOWN, INPUT_JOYSTICK_LEFT, INPUT_JOYSTICK_RIGHT, @@ -195,12 +184,19 @@ INPUT_JOYSTICK_FIRE_9, INPUT_JOYSTICK_FIRE_10, -} input_joystick_button; +} input_key; +typedef struct input_event_key_t { + + input_key native_key; + input_key spectrum_key; + +} input_event_key_t; + typedef struct input_event_joystick_t { int which; - input_joystick_button button; + input_key button; } input_event_joystick_t; Modified: trunk/fuse/ui/sdl/sdljoystick.c =================================================================== --- trunk/fuse/ui/sdl/sdljoystick.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/sdl/sdljoystick.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -45,8 +45,8 @@ static SDL_Joystick *joystick1 = NULL; static SDL_Joystick *joystick2 = NULL; -static void do_axis( int which, Sint16 value, input_joystick_button negative, - input_joystick_button positive ); +static void do_axis( int which, Sint16 value, input_key negative, + input_key positive ); int ui_joystick_init( void ) @@ -145,8 +145,7 @@ } static void -do_axis( int which, Sint16 value, - input_joystick_button negative, input_joystick_button positive ) +do_axis( int which, Sint16 value, input_key negative, input_key positive ) { input_event_t event1, event2; Modified: trunk/fuse/ui/svga/svgajoystick.c =================================================================== --- trunk/fuse/ui/svga/svgajoystick.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/svga/svgajoystick.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -97,8 +97,7 @@ } static void -do_axis( int which, int position, input_joystick_button negative, - input_joystick_button positive ) +do_axis( int which, int position, input_key negative, input_key positive ) { input_event_t event1, event2; Modified: trunk/fuse/ui/uijoystick.c =================================================================== --- trunk/fuse/ui/uijoystick.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/uijoystick.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -62,9 +62,8 @@ static js_data_struct jsd[2]; static void poll_joystick( int which ); -static void do_axis( int which, double position, - input_joystick_button negative, - input_joystick_button positive ); +static void do_axis( int which, double position, input_key negative, + input_key positive ); static int init_stick( int which, const char *const device, @@ -224,8 +223,7 @@ } static void -do_axis( int which, double position, input_joystick_button negative, - input_joystick_button positive ) +do_axis( int which, double position, input_key negative, input_key positive ) { input_event_t event1, event2; Modified: trunk/fuse/ui/widget/browse.c =================================================================== --- trunk/fuse/ui/widget/browse.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/browse.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -139,12 +139,14 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); return; case INPUT_KEY_Down: case INPUT_KEY_6: case INPUT_KEY_j: + case INPUT_JOYSTICK_DOWN: if( highlight < block_count - 1 ) { highlight++; if( highlight >= top_line + 18 ) top_line += 18; @@ -155,6 +157,7 @@ case INPUT_KEY_Up: case INPUT_KEY_7: case INPUT_KEY_k: + case INPUT_JOYSTICK_UP: if( highlight > 0 ) { highlight--; if( highlight < top_line ) @@ -195,6 +198,7 @@ break; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: widget_end_widget( WIDGET_FINISHED_OK ); return; Modified: trunk/fuse/ui/widget/filesel.c =================================================================== --- trunk/fuse/ui/widget/filesel.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/filesel.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -804,30 +804,35 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); break; case INPUT_KEY_Left: case INPUT_KEY_5: case INPUT_KEY_h: + case INPUT_JOYSTICK_LEFT: if( current_file > 0 ) new_current_file--; break; case INPUT_KEY_Down: case INPUT_KEY_6: case INPUT_KEY_j: + case INPUT_JOYSTICK_DOWN: if( current_file+2 < widget_numfiles ) new_current_file += 2; break; case INPUT_KEY_Up: case INPUT_KEY_7: /* Up */ case INPUT_KEY_k: + case INPUT_JOYSTICK_UP: if( current_file > 1 ) new_current_file -= 2; break; case INPUT_KEY_Right: case INPUT_KEY_8: case INPUT_KEY_l: + case INPUT_JOYSTICK_RIGHT: if( current_file < widget_numfiles-1 ) new_current_file++; break; @@ -890,6 +895,7 @@ break; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: #ifdef WIN32 if( is_drivesel ) { widget_filesel_chdrv(); Modified: trunk/fuse/ui/widget/menu.c =================================================================== --- trunk/fuse/ui/widget/menu.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/menu.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -141,10 +141,12 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); return; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: ptr=&menu[1 + highlight_line]; if(!ptr->inactive) { if( ptr->submenu ) { @@ -157,6 +159,7 @@ case INPUT_KEY_Up: case INPUT_KEY_7: + case INPUT_JOYSTICK_UP: if ( highlight_line ) { new_highlight_line = highlight_line - 1; cursor_pressed = 1; @@ -165,6 +168,7 @@ case INPUT_KEY_Down: case INPUT_KEY_6: + case INPUT_JOYSTICK_DOWN: if ( highlight_line + 1 < (ptrdiff_t)count ) { new_highlight_line = highlight_line + 1; cursor_pressed = 1; Modified: trunk/fuse/ui/widget/options.pl =================================================================== --- trunk/fuse/ui/widget/options.pl 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/options.pl 2008-08-15 12:47:44 UTC (rev 3749) @@ -412,11 +412,13 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); break; case INPUT_KEY_Up: case INPUT_KEY_7: + case INPUT_JOYSTICK_UP: if ( highlight_line ) { new_highlight_line = highlight_line - 1; cursor_pressed = 1; @@ -425,6 +427,7 @@ case INPUT_KEY_Down: case INPUT_KEY_6: + case INPUT_JOYSTICK_DOWN: if ( highlight_line + 1 < $count ) { new_highlight_line = highlight_line + 1; cursor_pressed = 1; @@ -433,12 +436,14 @@ case INPUT_KEY_space: case INPUT_KEY_0: + case INPUT_JOYSTICK_RIGHT: options_$_->{name}\[highlight_line+1\].click(); options_$_->{name}\[highlight_line+1\].draw( menu_left_edge_x, menu_width, options_$_->{name} + highlight_line + 1, &widget_options_settings ); return; break; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: widget_end_all( WIDGET_FINISHED_OK ); CODE print " $_->{posthook}();\n" if $_->{posthook}; Modified: trunk/fuse/ui/widget/picture.c =================================================================== --- trunk/fuse/ui/widget/picture.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/picture.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -53,10 +53,12 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); break; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: widget_end_all( WIDGET_FINISHED_OK ); break; Modified: trunk/fuse/ui/widget/query.c =================================================================== --- trunk/fuse/ui/widget/query.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/query.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -204,11 +204,13 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); break; case INPUT_KEY_Up: case INPUT_KEY_7: + case INPUT_JOYSTICK_UP: if ( highlight_line ) { new_highlight_line = highlight_line - 1; cursor_pressed = 1; @@ -217,6 +219,7 @@ case INPUT_KEY_Down: case INPUT_KEY_6: + case INPUT_JOYSTICK_DOWN: if ( highlight_line < num_entries - 2 ) { new_highlight_line = highlight_line + 1; cursor_pressed = 1; @@ -224,6 +227,7 @@ break; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: query[highlight_line].click(); widget_end_all( WIDGET_FINISHED_OK ); display_refresh_all(); Modified: trunk/fuse/ui/widget/select.c =================================================================== --- trunk/fuse/ui/widget/select.c 2008-08-15 09:04:33 UTC (rev 3748) +++ trunk/fuse/ui/widget/select.c 2008-08-15 12:47:44 UTC (rev 3749) @@ -123,15 +123,18 @@ #endif case INPUT_KEY_Escape: + case INPUT_JOYSTICK_FIRE_2: widget_end_widget( WIDGET_FINISHED_CANCEL ); return; case INPUT_KEY_Return: + case INPUT_JOYSTICK_FIRE_1: widget_end_widget( WIDGET_FINISHED_OK ); return; case INPUT_KEY_Up: case INPUT_KEY_7: + case INPUT_JOYSTICK_UP: if ( highlight_line ) { new_highlight_line = highlight_line - 1; cursor_pressed = 1; @@ -140,6 +143,7 @@ case INPUT_KEY_Down: case INPUT_KEY_6: + case INPUT_JOYSTICK_DOWN: if ( highlight_line + 1 < (ptrdiff_t)count ) { new_highlight_line = highlight_line + 1; cursor_pressed = 1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-08-18 16:15:43
|
Revision: 3750 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3750&view=rev Author: pak21 Date: 2008-08-18 15:43:28 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Don't abort on startup. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/z80/coretest.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-15 12:47:44 UTC (rev 3749) +++ trunk/fuse/hacking/ChangeLog 2008-08-18 15:43:28 UTC (rev 3750) @@ -2863,3 +2863,4 @@ ui/uijoystick.c,ui/widget/{browse.c,filesel.c,menu.c,options.pl, picture.c,query.c,select.c}: unify input_joystick_button and input_key and allow widget UI to be controlled by joystick (Fred). +20080818 z80/coretest.c: don't abort on startup. Modified: trunk/fuse/z80/coretest.c =================================================================== --- trunk/fuse/z80/coretest.c 2008-08-15 12:47:44 UTC (rev 3749) +++ trunk/fuse/z80/coretest.c 2008-08-18 15:43:28 UTC (rev 3750) @@ -444,7 +444,7 @@ int event_register( event_fn_t fn GCC_UNUSED, const char *string GCC_UNUSED ) { - abort(); + return 0; } int plusd_available = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-08-19 15:46:01
|
Revision: 3751 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3751&view=rev Author: specu Date: 2008-08-19 15:46:09 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Added ability to define the keyboard joystick emulation keys (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/input.c trunk/fuse/settings.dat trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/win32/win32joystick.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-18 15:43:28 UTC (rev 3750) +++ trunk/fuse/hacking/ChangeLog 2008-08-19 15:46:09 UTC (rev 3751) @@ -2864,3 +2864,5 @@ picture.c,query.c,select.c}: unify input_joystick_button and input_key and allow widget UI to be controlled by joystick (Fred). 20080818 z80/coretest.c: don't abort on startup. +20080819 settings.dat,input.c,ui/win32/win32joystick.c,ui/gtk/gtkjoystick.c: + Added ability to define the keyboard joystick emulation keys (Marek). Modified: trunk/fuse/input.c =================================================================== --- trunk/fuse/input.c 2008-08-18 15:43:28 UTC (rev 3750) +++ trunk/fuse/input.c 2008-08-19 15:46:09 UTC (rev 3751) @@ -85,27 +85,21 @@ } swallow = 0; - /* Joystick emulation via QAOP<space> */ - switch( event->spectrum_key ) { - - case INPUT_KEY_q: + /* Joystick emulation via keyboard keys */ + if ( event->spectrum_key == settings_current.joystick_keyboard_up ) { swallow = joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_UP , 1 ); - break; - case INPUT_KEY_a: + } + else if( event->spectrum_key == settings_current.joystick_keyboard_down ) { swallow = joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_DOWN , 1 ); - break; - case INPUT_KEY_o: + } + else if( event->spectrum_key == settings_current.joystick_keyboard_left ) { swallow = joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_LEFT , 1 ); - break; - case INPUT_KEY_p: + } + else if( event->spectrum_key == settings_current.joystick_keyboard_right ) { swallow = joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_RIGHT, 1 ); - break; - case INPUT_KEY_space: + } + else if( event->spectrum_key == settings_current.joystick_keyboard_fire ) { swallow = joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_FIRE , 1 ); - break; - - default: break; /* Remove warning */ - } if( swallow ) return 0; @@ -188,22 +182,22 @@ keyboard_release( ptr->key2 ); } - /* Joystick emulation via QAOP<space> */ - switch( event->spectrum_key ) { - - case INPUT_KEY_q: - joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_UP , 0 ); break; - case INPUT_KEY_a: - joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_DOWN , 0 ); break; - case INPUT_KEY_o: - joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_LEFT , 0 ); break; - case INPUT_KEY_p: - joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_RIGHT, 0 ); break; - case INPUT_KEY_space: - joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_FIRE , 0 ); break; - - default: break; /* Remove warning */ + /* Joystick emulation via keyboard keys */ + if( event->spectrum_key == settings_current.joystick_keyboard_up ) { + joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_UP , 0 ); } + else if( event->spectrum_key == settings_current.joystick_keyboard_down ) { + joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_DOWN , 0 ); + } + else if( event->spectrum_key == settings_current.joystick_keyboard_left ) { + joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_LEFT , 0 ); + } + else if( event->spectrum_key == settings_current.joystick_keyboard_right ) { + joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_RIGHT, 0 ); + } + else if( event->spectrum_key == settings_current.joystick_keyboard_fire ) { + joystick_press( JOYSTICK_KEYBOARD, JOYSTICK_BUTTON_FIRE , 0 ); + } return 0; } Modified: trunk/fuse/settings.dat =================================================================== --- trunk/fuse/settings.dat 2008-08-18 15:43:28 UTC (rev 3750) +++ trunk/fuse/settings.dat 2008-08-19 15:46:09 UTC (rev 3751) @@ -102,6 +102,11 @@ joystick_2_fire_9, numeric, 4096 joystick_2_fire_10, numeric, 4096 joystick_keyboard_output, numeric, 0 +joystick_keyboard_up, numeric, 113 +joystick_keyboard_down, numeric, 97 +joystick_keyboard_left, numeric, 111 +joystick_keyboard_right, numeric, 112 +joystick_keyboard_fire, numeric, 32 rzx_compression, boolean, 1,, compress-rzx competition_mode, boolean, 0 Modified: trunk/fuse/ui/gtk/gtkjoystick.c =================================================================== --- trunk/fuse/ui/gtk/gtkjoystick.c 2008-08-18 15:43:28 UTC (rev 3750) +++ trunk/fuse/ui/gtk/gtkjoystick.c 2008-08-19 15:46:09 UTC (rev 3751) @@ -41,6 +41,7 @@ struct button_info { int *setting; + char name[80]; GtkWidget *label; keyboard_key_name key; }; @@ -127,7 +128,6 @@ { GtkWidget *dialog, *hbox, *vbox; struct joystick_info info; - char buffer[ 80 ]; size_t i; fuse_emulation_pause(); @@ -155,8 +155,7 @@ for( j = i; j < i + 5; j++ ) if( info.button[j].setting ) { - snprintf( buffer, 80, "Button %lu", (unsigned long)j + 1 ); - create_fire_button_selector( buffer, &( info.button[j] ), + create_fire_button_selector( info.button[j].name, &( info.button[j] ), GTK_BOX( vbox ) ); } } @@ -189,6 +188,8 @@ info->button[7].setting = &( settings_current.joystick_1_fire_8 ); info->button[8].setting = &( settings_current.joystick_1_fire_9 ); info->button[9].setting = &( settings_current.joystick_1_fire_10 ); + for( i = 0; i < 10; i++ ) + snprintf( info->button[i].name, 80, "Button %lu", (unsigned long)i + 1 ); break; case 2: @@ -203,11 +204,23 @@ info->button[7].setting = &( settings_current.joystick_2_fire_8 ); info->button[8].setting = &( settings_current.joystick_2_fire_9 ); info->button[9].setting = &( settings_current.joystick_2_fire_10 ); + for( i = 0; i < 10; i++ ) + snprintf( info->button[i].name, 80, "Button %lu", (unsigned long)i + 1 ); break; case 3: info->type = &( settings_current.joystick_keyboard_output ); - for( i = 0; i < 10; i++ ) info->button[i].setting = NULL; + info->button[0].setting = &( settings_current.joystick_keyboard_up ); + snprintf( info->button[0].name, 80, "Button for UP" ); + info->button[1].setting = &( settings_current.joystick_keyboard_down ); + snprintf( info->button[1].name, 80, "Button for DOWN" ); + info->button[2].setting = &( settings_current.joystick_keyboard_left ); + snprintf( info->button[2].name, 80, "Button for LEFT" ); + info->button[3].setting = &( settings_current.joystick_keyboard_right ); + snprintf( info->button[3].name, 80, "Button for RIGHT" ); + info->button[4].setting = &( settings_current.joystick_keyboard_fire ); + snprintf( info->button[4].name, 80, "Button for FIRE" ); + for( i = 5; i < 10; i++ ) info->button[i].setting = NULL; break; } Modified: trunk/fuse/ui/win32/win32joystick.c =================================================================== --- trunk/fuse/ui/win32/win32joystick.c 2008-08-18 15:43:28 UTC (rev 3750) +++ trunk/fuse/ui/win32/win32joystick.c 2008-08-19 15:46:09 UTC (rev 3751) @@ -47,7 +47,10 @@ struct button_info { int *setting; - HWND label; + TCHAR name[80]; + HWND label; /* this is the label on the button */ + HWND static_label; /* this is the label on the static */ + HWND frame; keyboard_key_name key; }; @@ -66,7 +69,8 @@ static void create_joystick_type_selector( struct joystick_info *info, HWND hwndDlg ); static void -create_fire_button_selector( struct button_info *info, HWND hwndDlg ); +create_fire_button_selector( const TCHAR *title, struct button_info *info, + HWND hwndDlg ); static void set_key_text( HWND hlabel, keyboard_key_name key ); static void joystick_done( LONG user_data ); static void show_key_selection_popoup( HWND hwndDlg, LPARAM lParam ); @@ -139,17 +143,23 @@ info->button[i].label = GetDlgItem( hwndDlg, IDC_JOYSTICKS_BUTTON_BUTTON1 + i ); + info->button[i].static_label = GetDlgItem( hwndDlg, + IDC_JOYSTICKS_STATIC_BUTTON1 + i ); + info->button[i].frame = GetDlgItem( hwndDlg, + IDC_JOYSTICKS_GROUP_BUTTON1 + i ); if( info->button[i].setting ) { - create_fire_button_selector( &( info->button[i] ), hwndDlg ); + create_fire_button_selector( info->button[i].name, &( info->button[i] ), + hwndDlg ); } else { /* disable the button configuration part of the dialog */ SendMessage( info->button[i].label, WM_SETTEXT, 0, ( LPARAM ) TEXT( "N/A" ) ); + SendMessage( info->button[i].static_label, WM_SETTEXT, + 0, ( LPARAM ) TEXT( "N/A" ) ); EnableWindow( info->button[i].label, FALSE ); + EnableWindow( info->button[i].static_label, FALSE ); EnableWindow( GetDlgItem( hwndDlg, - IDC_JOYSTICKS_STATIC_BUTTON1 + i ), FALSE ); - EnableWindow( GetDlgItem( hwndDlg, IDC_JOYSTICKS_GROUP_BUTTON1 + i ), FALSE ); } } @@ -174,6 +184,9 @@ info->button[7].setting = &( settings_current.joystick_1_fire_8 ); info->button[8].setting = &( settings_current.joystick_1_fire_9 ); info->button[9].setting = &( settings_current.joystick_1_fire_10 ); + for( i = 0; i < 10; i++ ) + _sntprintf( info->button[i].name, 80, "Button %lu", + (unsigned long)i + 1 ); break; case 2: @@ -188,11 +201,24 @@ info->button[7].setting = &( settings_current.joystick_2_fire_8 ); info->button[8].setting = &( settings_current.joystick_2_fire_9 ); info->button[9].setting = &( settings_current.joystick_2_fire_10 ); + for( i = 0; i < 10; i++ ) + _sntprintf( info->button[i].name, 80, "Button %lu", + (unsigned long)i + 1 ); break; case 3: info->type = &( settings_current.joystick_keyboard_output ); - for( i = 0; i < 10; i++ ) info->button[i].setting = NULL; + info->button[0].setting = &( settings_current.joystick_keyboard_up ); + _sntprintf( info->button[0].name, 80, "Button for UP" ); + info->button[1].setting = &( settings_current.joystick_keyboard_down ); + _sntprintf( info->button[1].name, 80, "Button for DOWN" ); + info->button[2].setting = &( settings_current.joystick_keyboard_left ); + _sntprintf( info->button[2].name, 80, "Button for LEFT" ); + info->button[3].setting = &( settings_current.joystick_keyboard_right ); + _sntprintf( info->button[3].name, 80, "Button for RIGHT" ); + info->button[4].setting = &( settings_current.joystick_keyboard_fire ); + _sntprintf( info->button[4].name, 80, "Button for FIRE" ); + for( i = 5; i < 10; i++ ) info->button[i].setting = NULL; break; } @@ -235,10 +261,13 @@ } static void -create_fire_button_selector( struct button_info *info, HWND hwndDlg ) +create_fire_button_selector( const TCHAR *title, struct button_info *info, + HWND hwndDlg ) { + SendMessage( info->frame, WM_SETTEXT, 0, ( LPARAM ) title ); info->key = *info->setting; set_key_text( info->label, info->key ); + set_key_text( info->static_label, info->key ); SetWindowLong( info->label, GWL_USERDATA, ( LONG ) info ); } @@ -303,5 +332,6 @@ else info->key = KEYBOARD_NONE; set_key_text( info->label, info->key ); + set_key_text( info->static_label, info->key ); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-08-20 00:49:53
|
Revision: 3752 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3752&view=rev Author: specu Date: 2008-08-20 00:50:02 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Win32 DirectX sound: Added static keyword where applicable (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/sound/dxsound.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-19 15:46:09 UTC (rev 3751) +++ trunk/fuse/hacking/ChangeLog 2008-08-20 00:50:02 UTC (rev 3752) @@ -2866,3 +2866,5 @@ 20080818 z80/coretest.c: don't abort on startup. 20080819 settings.dat,input.c,ui/win32/win32joystick.c,ui/gtk/gtkjoystick.c: Added ability to define the keyboard joystick emulation keys (Marek). +20080819 sound/dxsound.c: Win32 DirectX sound: Added static keyword where + applicable (Marek). Modified: trunk/fuse/sound/dxsound.c =================================================================== --- trunk/fuse/sound/dxsound.c 2008-08-19 15:46:09 UTC (rev 3751) +++ trunk/fuse/sound/dxsound.c 2008-08-20 00:50:02 UTC (rev 3752) @@ -36,10 +36,10 @@ /* same as for SDL Sound */ #define MAX_AUDIO_BUFFER 8192*5 -LPDIRECTSOUND lpDS; /* DirectSound object */ -LPDIRECTSOUNDBUFFER lpDSBuffer; /* sound buffer */ +static LPDIRECTSOUND lpDS; /* DirectSound object */ +static LPDIRECTSOUNDBUFFER lpDSBuffer; /* sound buffer */ -DWORD nextpos; /* next position in circular buffer */ +static DWORD nextpos; /* next position in circular buffer */ static int sixteenbit; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-08-20 03:05:04
|
Revision: 3753 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3753&view=rev Author: specu Date: 2008-08-20 03:05:13 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Win32 mmsystem sound: Added support for 8 bit sound, applied static keyword where applicable, applied coding style fixes (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/sound/win32sound.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-20 00:50:02 UTC (rev 3752) +++ trunk/fuse/hacking/ChangeLog 2008-08-20 03:05:13 UTC (rev 3753) @@ -2868,3 +2868,6 @@ Added ability to define the keyboard joystick emulation keys (Marek). 20080819 sound/dxsound.c: Win32 DirectX sound: Added static keyword where applicable (Marek). +20080819 sound/win32sound.c: Win32 mmsystem sound: Added support for 8 bit + sound, applied static keyword where applicable, applied coding style + fixes (Marek). Modified: trunk/fuse/sound/win32sound.c =================================================================== --- trunk/fuse/sound/win32sound.c 2008-08-20 00:50:02 UTC (rev 3752) +++ trunk/fuse/sound/win32sound.c 2008-08-20 03:05:13 UTC (rev 3753) @@ -31,19 +31,19 @@ #include "sound.h" #include "ui/ui.h" -HWAVEOUT hwaveout; -WAVEHDR wavehdr[2]; -HANDLE sem_sound_done; -CRITICAL_SECTION sound_lock; +static HWAVEOUT hwaveout; +static WAVEHDR wavehdr[2]; +static HANDLE sem_sound_done; +static CRITICAL_SECTION sound_lock; -int buffer_size; -void *buffers[2]; -int buffer_used[2]; -int current_buffer; +static int buffer_size; +static void *buffers[2]; +static int buffer_used[2]; +static int current_buffer; static int sixteenbit; -void +static void sound_display_mmresult( char *func, MMRESULT result ); static void CALLBACK @@ -55,10 +55,6 @@ WAVEFORMATEX pcmwf; /* waveformat struct */ MMRESULT result; - /* FIXME: those 2 values shouldn't be forced by sound device */ - settings_current.sound_freq = 44100; - settings_current.sound_force_8bit = 0; - /* create wave format description */ memset( &pcmwf, 0, sizeof( WAVEFORMATEX ) ); @@ -81,20 +77,16 @@ &pcmwf, ( DWORD_PTR ) sound_callback, 0, CALLBACK_FUNCTION ); if( result != MMSYSERR_NOERROR ) - { sound_display_mmresult( "waveOutOpen", result ); - } buffer_size = 10000; buffers[0] = malloc( buffer_size ); - if( buffers[0] == 0 ) - { + if( buffers[0] == 0 ) { settings_current.sound = 0; return 1; } buffers[1] = malloc( buffer_size ); - if( buffers[1] == 0 ) - { + if( buffers[1] == 0 ) { settings_current.sound = 0; free( buffers[0] ); return 1; @@ -125,22 +117,16 @@ } /* unprepare wave headers */ - if( wavehdr[ 0 ].dwFlags & WHDR_PREPARED ) - { + if( wavehdr[ 0 ].dwFlags & WHDR_PREPARED ) { result = waveOutUnprepareHeader( hwaveout, &wavehdr[ 0 ], sizeof( WAVEHDR ) ); if( result != MMSYSERR_NOERROR ) - { sound_display_mmresult( "waveOutUnprepareHeader", result ); - } } - if( wavehdr[ 1 ].dwFlags & WHDR_PREPARED ) - { + if( wavehdr[ 1 ].dwFlags & WHDR_PREPARED ) { result = waveOutUnprepareHeader( hwaveout, &wavehdr[ 1 ], sizeof( WAVEHDR ) ); if( result != MMSYSERR_NOERROR ) - { sound_display_mmresult( "waveOutUnprepareHeader", result ); - } } /* close the device */ @@ -160,32 +146,40 @@ void sound_lowlevel_frame( libspectrum_signed_word *data, int len ) { + static unsigned char buf8[4096]; MMRESULT result; /* Convert to bytes */ - libspectrum_signed_byte* bytes = (libspectrum_signed_byte*) data; + unsigned char *bytes = (unsigned char *) data; len <<= 1; + if( !sixteenbit ) { + libspectrum_signed_word *src; + unsigned char *dst; + int f; + + src = data; dst = buf8; + len >>= 1; + /* TODO: confirm byteorder on IA64 */ + for( f = 0; f < len; f++ ) + *dst++ = 128 + (int)( (*src++) / 256 ); + + bytes = buf8; + } - if( len > buffer_size ) - { + if( len > buffer_size ) { ui_error( UI_ERROR_WARNING, "%s: requested wave size exceeds the buffer size", __func__ ); return; } /* wait for the buffer to finish playing */ if( buffer_used[ current_buffer ] > 0 ) - { WaitForSingleObject( sem_sound_done, INFINITE ); - } /* unprepare the header if it's prepared */ - if( wavehdr[ current_buffer ].dwFlags & WHDR_PREPARED ) - { + if( wavehdr[ current_buffer ].dwFlags & WHDR_PREPARED ) { result = waveOutUnprepareHeader( hwaveout, &wavehdr[ current_buffer ], sizeof( WAVEHDR ) ); if( result != MMSYSERR_NOERROR ) - { sound_display_mmresult( "waveOutUnprepareHeader", result ); - } } /* copy the new wave into the buffer */ @@ -198,32 +192,26 @@ wavehdr[ current_buffer ].dwLoops |= WHDR_BEGINLOOP | WHDR_ENDLOOP; result = waveOutPrepareHeader( hwaveout, &wavehdr[ current_buffer ], sizeof( WAVEHDR ) ); - if( result != MMSYSERR_NOERROR ) { + if( result != MMSYSERR_NOERROR ) sound_display_mmresult( "waveOutPrepareHeader", result ); - } /* play */ result = waveOutWrite( hwaveout, &wavehdr[ current_buffer ], sizeof( WAVEHDR ) ); if( result != MMSYSERR_NOERROR ) - { sound_display_mmresult( "waveOutWrite", result ); - } /* FIXME this could be done way easier */ current_buffer++; if( current_buffer == 2 ) - { current_buffer = 0; - } } -void +static void sound_display_mmresult( char *func, MMRESULT result ) { char *mmresult; - switch ( result ) - { + switch ( result ) { case WAVERR_BADFORMAT: mmresult = "WAVERR_BADFORMAT"; break; case WAVERR_SYNC: mmresult = "WAVERR_SYNC"; break; case WAVERR_STILLPLAYING: mmresult = "WAVERR_STILLPLAYING"; break; @@ -242,8 +230,7 @@ static void CALLBACK sound_callback( HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2 ) { - if( uMsg == WOM_DONE ) - { + if( uMsg == WOM_DONE ) { EnterCriticalSection( &sound_lock ); ReleaseSemaphore( sem_sound_done, 1, NULL ); LeaveCriticalSection( &sound_lock ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-08-20 03:34:13
|
Revision: 3754 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3754&view=rev Author: specu Date: 2008-08-20 03:34:23 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Wi32 mmsystem sound: Changed buffer_size to be a macro instead of int, changed buffer memory allocation to static instead of dynamic (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/sound/win32sound.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-20 03:05:13 UTC (rev 3753) +++ trunk/fuse/hacking/ChangeLog 2008-08-20 03:34:23 UTC (rev 3754) @@ -2871,3 +2871,6 @@ 20080819 sound/win32sound.c: Win32 mmsystem sound: Added support for 8 bit sound, applied static keyword where applicable, applied coding style fixes (Marek). +20080819 sound/win32sound.c: Wi32 mmsystem sound: Changed buffer_size to be a + macro instead of int, changed buffer memory allocation to static + instead of dynamic (Marek). Modified: trunk/fuse/sound/win32sound.c =================================================================== --- trunk/fuse/sound/win32sound.c 2008-08-20 03:05:13 UTC (rev 3753) +++ trunk/fuse/sound/win32sound.c 2008-08-20 03:34:23 UTC (rev 3754) @@ -36,10 +36,13 @@ static HANDLE sem_sound_done; static CRITICAL_SECTION sound_lock; -static int buffer_size; +#define BUFFER_SIZE 4096 + static void *buffers[2]; static int buffer_used[2]; static int current_buffer; +static char buffer1[ BUFFER_SIZE ]; +static char buffer2[ BUFFER_SIZE ]; static int sixteenbit; @@ -79,18 +82,8 @@ if( result != MMSYSERR_NOERROR ) sound_display_mmresult( "waveOutOpen", result ); - buffer_size = 10000; - buffers[0] = malloc( buffer_size ); - if( buffers[0] == 0 ) { - settings_current.sound = 0; - return 1; - } - buffers[1] = malloc( buffer_size ); - if( buffers[1] == 0 ) { - settings_current.sound = 0; - free( buffers[0] ); - return 1; - } + buffers[0] = buffer1; + buffers[1] = buffer2; buffer_used[0] = 0; buffer_used[1] = 0; current_buffer = 0; @@ -166,7 +159,7 @@ bytes = buf8; } - if( len > buffer_size ) { + if( len > BUFFER_SIZE ) { ui_error( UI_ERROR_WARNING, "%s: requested wave size exceeds the buffer size", __func__ ); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-08-24 13:41:13
|
Revision: 3756 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3756&view=rev Author: specu Date: 2008-08-24 13:41:23 +0000 (Sun, 24 Aug 2008) Log Message: ----------- Changed configure logic: if SDL ui is selected, choose SDL for sound over any other available sound API (Marek) Modified Paths: -------------- trunk/fuse/configure.in trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2008-08-21 09:28:16 UTC (rev 3755) +++ trunk/fuse/configure.in 2008-08-24 13:41:23 UTC (rev 3756) @@ -405,16 +405,16 @@ dnl AC_MSG_CHECKING(which sound routines to use) -if test "$dxsound_available" = yes; then +if test "$UI" = sdl; then + SOUND_LIBADD='sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes + AC_MSG_RESULT(SDL) +elif test "$dxsound_available" = yes; then SOUND_LIBADD='dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid' AC_MSG_RESULT(DirectX) AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required]) elif test "$win32sound_available" = yes; then SOUND_LIBADD='win32sound.$(OBJEXT)' SOUND_LIBS='-lwinmm' AC_MSG_RESULT(win32sound) -elif test "$UI" = sdl; then - SOUND_LIBADD='sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes - AC_MSG_RESULT(SDL) elif test "$alsa_available" = yes; then SOUND_LIBADD='alsasound.$(OBJEXT)' SOUND_LIBS='-lasound' AC_MSG_RESULT(ALSA) Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-21 09:28:16 UTC (rev 3755) +++ trunk/fuse/hacking/ChangeLog 2008-08-24 13:41:23 UTC (rev 3756) @@ -2874,3 +2874,5 @@ 20080819 sound/win32sound.c: Wi32 mmsystem sound: Changed buffer_size to be a macro instead of int, changed buffer memory allocation to static instead of dynamic (Marek). +20080824 configure.in: Changed configure logic: if SDL ui is selected, choose + SDL for sound over any other available sound API (Marek). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-02 03:42:03
|
Revision: 3765 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3765&view=rev Author: specu Date: 2008-09-02 03:42:12 +0000 (Tue, 02 Sep 2008) Log Message: ----------- Win32: Simplified WM_SIZE handlers by getting rid of GetClientRect (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/ui/win32/statusbar.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32ui.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-08-31 11:27:02 UTC (rev 3764) +++ trunk/fuse/hacking/ChangeLog 2008-09-02 03:42:12 UTC (rev 3765) @@ -2876,3 +2876,5 @@ instead of dynamic (Marek). 20080824 configure.in: Changed configure logic: if SDL ui is selected, choose SDL for sound over any other available sound API (Marek). +20080901 ui/win32/{win32ui.c,win32internals.h,statusbar.c}: Win32: Simplified + WM_SIZE handlers by getting rid of GetClientRect (Marek). Modified: trunk/fuse/ui/win32/statusbar.c =================================================================== --- trunk/fuse/ui/win32/statusbar.c 2008-08-31 11:27:02 UTC (rev 3764) +++ trunk/fuse/ui/win32/statusbar.c 2008-09-02 03:42:12 UTC (rev 3765) @@ -228,16 +228,13 @@ } void -win32statusbar_resize( HWND hWnd ) +win32statusbar_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ) { const int speed_bar_width = 70; /* divide status bar */ - RECT rect; - GetClientRect( hWnd, &rect ); - int parts[3]; - parts[0] = rect.right - rect.left - icons_part_width - speed_bar_width; + parts[0] = LOWORD( lParam ) - icons_part_width - speed_bar_width; parts[1] = parts[0] + icons_part_width; parts[2] = parts[1] + speed_bar_width; SendMessage( fuse_hStatusWindow, SB_SETPARTS, 3, ( LPARAM ) &parts ); Modified: trunk/fuse/ui/win32/win32internals.h =================================================================== --- trunk/fuse/ui/win32/win32internals.h 2008-08-31 11:27:02 UTC (rev 3764) +++ trunk/fuse/ui/win32/win32internals.h 2008-09-02 03:42:12 UTC (rev 3765) @@ -108,7 +108,7 @@ void win32statusbar_create(); int win32statusbar_set_visibility( int visible ); void win32statusbar_redraw( HWND hWnd, LPARAM lParam ); -void win32statusbar_resize( HWND hWnd ); +void win32statusbar_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ); /* * Dialog box reset Modified: trunk/fuse/ui/win32/win32ui.c =================================================================== --- trunk/fuse/ui/win32/win32ui.c 2008-08-31 11:27:02 UTC (rev 3764) +++ trunk/fuse/ui/win32/win32ui.c 2008-09-02 03:42:12 UTC (rev 3765) @@ -809,9 +809,7 @@ static int win32ui_window_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ) { - RECT cr; - GetClientRect( fuse_hWnd, &cr ); - win32display_drawing_area_resize( cr.right - cr.left, cr.bottom - cr.top ); + win32display_drawing_area_resize( LOWORD( lParam ), HIWORD( lParam ) ); /* FIXME: statusbar needs to be accounted for in size */ SendMessage( fuse_hStatusWindow, WM_SIZE, wParam, lParam ); @@ -828,7 +826,7 @@ } } - win32statusbar_resize( hWnd ); + win32statusbar_resize( hWnd, wParam, lParam ); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-02 04:18:17
|
Revision: 3766 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3766&view=rev Author: specu Date: 2008-09-02 04:18:27 +0000 (Tue, 02 Sep 2008) Log Message: ----------- Win32: Implemented gain and lose focus handlers similiarly to gtk ui (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/ui/win32/win32ui.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-02 03:42:12 UTC (rev 3765) +++ trunk/fuse/hacking/ChangeLog 2008-09-02 04:18:27 UTC (rev 3766) @@ -2878,3 +2878,5 @@ SDL for sound over any other available sound API (Marek). 20080901 ui/win32/{win32ui.c,win32internals.h,statusbar.c}: Win32: Simplified WM_SIZE handlers by getting rid of GetClientRect (Marek). +20080902 ui/win32/win32ui.c: Win32: Implemented gain and lose focus handlers + similiarly to gtk ui (Marek). Modified: trunk/fuse/ui/win32/win32ui.c =================================================================== --- trunk/fuse/ui/win32/win32ui.c 2008-09-02 03:42:12 UTC (rev 3765) +++ trunk/fuse/ui/win32/win32ui.c 2008-09-02 04:18:27 UTC (rev 3766) @@ -28,6 +28,7 @@ #include "debugger/debugger.h" #include "display.h" #include "fuse.h" +#include "keyboard.h" #include "menu.h" #include "menu_data.h" #include "psg.h" @@ -76,6 +77,10 @@ } win32ui_select_info; static BOOL win32ui_make_menu( void ); + +static int win32ui_lose_focus( HWND hWnd, WPARAM wParam, LPARAM lParam ); +static int win32ui_gain_focus( HWND hWnd, WPARAM wParam, LPARAM lParam ); + static int win32ui_window_paint( HWND hWnd, WPARAM wParam, LPARAM lParam ); static int win32ui_window_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ); static int win32ui_window_resizing( HWND hWnd, WPARAM wParam, LPARAM lParam ); @@ -208,6 +213,14 @@ else return( DefWindowProc( hWnd, msg, wParam, lParam ) ); + case WM_ACTIVATE: + if( ( LOWORD( wParam ) == WA_ACTIVE ) || + ( LOWORD( wParam ) == WA_CLICKACTIVE ) ) + return win32ui_gain_focus( hWnd, wParam, lParam ); + else if( LOWORD( wParam ) == WA_INACTIVE ) + return win32ui_lose_focus( hWnd, wParam, lParam ); + break; + default: return( DefWindowProc( hWnd, msg, wParam, lParam ) ); } @@ -374,6 +387,23 @@ return 0; } +/* The callbacks used by various routines */ + +static int +win32ui_lose_focus( HWND hWnd, WPARAM wParam, LPARAM lParam ) +{ + keyboard_release_all(); + ui_mouse_suspend(); + return 0; +} + +static int +win32ui_gain_focus( HWND hWnd, WPARAM wParam, LPARAM lParam ) +{ + ui_mouse_resume(); + return 0; +} + /* Called by the menu when File/Exit selected */ void menu_file_exit( int action ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-02 04:24:52
|
Revision: 3767 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3767&view=rev Author: specu Date: 2008-09-02 04:25:02 +0000 (Tue, 02 Sep 2008) Log Message: ----------- Win32: Fixed an error message occurring when window is being minimized (Unknown display size/image size 0/1) (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/ui/win32/win32ui.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-02 04:18:27 UTC (rev 3766) +++ trunk/fuse/hacking/ChangeLog 2008-09-02 04:25:02 UTC (rev 3767) @@ -2880,3 +2880,6 @@ WM_SIZE handlers by getting rid of GetClientRect (Marek). 20080902 ui/win32/win32ui.c: Win32: Implemented gain and lose focus handlers similiarly to gtk ui (Marek). +20080902 ui/win32/win32ui.c: Win32: Fixed an error message occurring when + window is being minimized (Unknown display size/image size 0/1) + (Marek). Modified: trunk/fuse/ui/win32/win32ui.c =================================================================== --- trunk/fuse/ui/win32/win32ui.c 2008-09-02 04:18:27 UTC (rev 3766) +++ trunk/fuse/ui/win32/win32ui.c 2008-09-02 04:25:02 UTC (rev 3767) @@ -839,24 +839,25 @@ static int win32ui_window_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ) { - win32display_drawing_area_resize( LOWORD( lParam ), HIWORD( lParam ) ); - - /* FIXME: statusbar needs to be accounted for in size */ - SendMessage( fuse_hStatusWindow, WM_SIZE, wParam, lParam ); - if( wParam == SIZE_MINIMIZED ) { if( !size_paused ) { size_paused = 1; fuse_emulation_pause(); } } else { + win32display_drawing_area_resize( LOWORD( lParam ), HIWORD( lParam ) ); + + /* FIXME: statusbar needs to be accounted for in size */ + SendMessage( fuse_hStatusWindow, WM_SIZE, wParam, lParam ); + if( size_paused ) { size_paused = 0; fuse_emulation_unpause(); } + + win32statusbar_resize( hWnd, wParam, lParam ); } - win32statusbar_resize( hWnd, wParam, lParam ); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-07 01:33:09
|
Revision: 3768 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3768&view=rev Author: specu Date: 2008-09-07 01:33:19 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Win32: Reviewed and fixed all the return codes for all window message handles fixed selector dialog problem where cancelling the dialog would result in choosing option 0 (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/menu_data.pl trunk/fuse/ui/win32/browse.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/memorybrowser.c trunk/fuse/ui/win32/options.pl trunk/fuse/ui/win32/picture.c trunk/fuse/ui/win32/pokefinder.c trunk/fuse/ui/win32/win32internals.h trunk/fuse/ui/win32/win32ui.c Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/hacking/ChangeLog 2008-09-07 01:33:19 UTC (rev 3768) @@ -2883,3 +2883,8 @@ 20080902 ui/win32/win32ui.c: Win32: Fixed an error message occurring when window is being minimized (Unknown display size/image size 0/1) (Marek). +20080906 menu_data.pl,ui/win32/{win32ui.c,memorybrowser.c,debugger.c, + win32internals.h,browse.c,picture.c,options.pl,pokefinder.c}: Win32: + Reviewed and fixed all the return codes for all window message handles + fixed selector dialog problem where cancelling the dialog would result + in choosing option 0 (Marek). Modified: trunk/fuse/menu_data.pl =================================================================== --- trunk/fuse/menu_data.pl 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/menu_data.pl 2008-09-07 01:33:19 UTC (rev 3768) @@ -277,7 +277,7 @@ print << "CODE"; #include "menu_data.h" -void handle_menu( DWORD cmd, HWND window ) +int handle_menu( DWORD cmd, HWND window ) { switch( cmd ) { @@ -301,6 +301,7 @@ if( $mode eq 'c' ) { print << "CODE"; + return 1; } } CODE @@ -365,7 +366,7 @@ my $function = $item->{function} || "${path}_$cname"; print " case $idmname:\n"; print " $function( " . ( $item->{action} || 0 ) . " ); " - . "break;\n"; + . "return 0;\n"; } elsif( $mode eq 'rc' ) { my $hotkey; if( $item->{hotkey} ) { Modified: trunk/fuse/ui/win32/browse.c =================================================================== --- trunk/fuse/ui/win32/browse.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/browse.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -135,7 +135,7 @@ if( ( ( LPNMHDR ) lParam )->code == NM_DBLCLK ) { if( ( ( LPNMHDR ) lParam )->idFrom == IDC_BROWSE_LV ) { select_row( ( LPNMITEMACTIVATE ) lParam ); - return TRUE; + return 0; } } break; @@ -143,7 +143,7 @@ case WM_COMMAND: if( LOWORD( wParam ) == IDCLOSE ) { ShowWindow( dialog, SW_HIDE ); - return TRUE; + return 0; } break; Modified: trunk/fuse/ui/win32/debugger.c =================================================================== --- trunk/fuse/ui/win32/debugger.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/debugger.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -95,7 +95,7 @@ static void add_event( gpointer data, gpointer user_data GCC_UNUSED ); static int deactivate_debugger( void ); -static void move_disassembly( WPARAM scroll_command ); +static int move_disassembly( WPARAM scroll_command ); static void evaluate_command( void ); static void win32ui_debugger_done_step( void ); @@ -941,7 +941,7 @@ } /* Called when the disassembly scrollbar is moved */ -static void +static int move_disassembly( WPARAM scroll_command ) { SCROLLINFO si; @@ -975,6 +975,8 @@ case SB_THUMBTRACK: value = HIWORD( scroll_command ); break; + default: + return 1; } if( value > disassembly_max ) value = disassembly_max; if( value < disassembly_min ) value = disassembly_min; @@ -1015,6 +1017,8 @@ /* And update the disassembly if the debugger is active */ if( debugger_active ) update_disassembly(); + + return 0; } /* Evaluate the command currently in the entry box */ @@ -1091,19 +1095,19 @@ switch( LOWORD( wParam ) ) { case IDCLOSE: win32ui_debugger_done_close(); - return TRUE; + return 0; case IDC_DBG_BTN_CONT: win32ui_debugger_done_continue(); - return TRUE; + return 0; case IDC_DBG_BTN_BREAK: win32ui_debugger_break(); - return TRUE; + return 0; case IDC_DBG_BTN_STEP: win32ui_debugger_done_step(); - return TRUE; + return 0; case IDC_DBG_BTN_EVAL: evaluate_command(); - return TRUE; + return 0; /* menus */ case IDM_DBG_REG: @@ -1125,10 +1129,12 @@ toggle_display( DEBUGGER_PANE_EVENTS, IDM_DBG_EVENTS ); return 0; } - return FALSE; + break; + case WM_CLOSE: delete_dialog(); - return TRUE; + return 0; + case WM_NOTIFY: switch ( ( ( LPNMHDR ) lParam )->code ) { @@ -1137,19 +1143,19 @@ case IDC_DBG_LV_EVENTS: events_click( ( LPNMITEMACTIVATE ) lParam ); - return TRUE; + return 0; case IDC_DBG_LV_STACK: stack_click( ( LPNMITEMACTIVATE ) lParam ); - return TRUE; + return 0; } } - return FALSE; + break; + case WM_VSCROLL: - if( ( HWND ) lParam != NULL ) { - move_disassembly( wParam ); - return 0; - } - return FALSE; + if( ( HWND ) lParam != NULL ) + if( ! move_disassembly( wParam ) ) + return 0; + break; } return FALSE; } Modified: trunk/fuse/ui/win32/memorybrowser.c =================================================================== --- trunk/fuse/ui/win32/memorybrowser.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/memorybrowser.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -93,7 +93,7 @@ } } -static void +static int scroller( HWND hwndDlg, WPARAM scroll_command ) { libspectrum_word base; @@ -129,6 +129,8 @@ case SB_THUMBTRACK: value = HIWORD( scroll_command ); break; + default: + return 1; } if( value > memorysb_max ) value = memorysb_max; if( value < memorysb_min ) value = memorysb_min; @@ -144,6 +146,8 @@ SetScrollInfo( GetDlgItem( hwndDlg, IDC_MEM_SB ), SB_CTL, &si, TRUE ); update_display( hwndDlg, base ); + + return 0; } void @@ -166,21 +170,21 @@ case WM_COMMAND: if( LOWORD( wParam ) == IDCLOSE ) { EndDialog( hwndDlg, 0 ); - return TRUE; + return 0; } - return FALSE; + break; case WM_CLOSE: { EndDialog( hwndDlg, 0 ); - return TRUE; + return 0; } case WM_VSCROLL: if( ( HWND ) lParam != NULL ) { - scroller( hwndDlg, wParam ); - return 0; + if( ! scroller( hwndDlg, wParam ) ) + return 0; } - return FALSE; + break; case WM_MOUSEWHEEL: /* FIXME: when one of the lines in the listview is selected, Modified: trunk/fuse/ui/win32/options.pl =================================================================== --- trunk/fuse/ui/win32/options.pl 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/options.pl 2008-09-07 01:33:19 UTC (rev 3768) @@ -100,8 +100,9 @@ print << "CODE"; - return TRUE; + return FALSE; } + case WM_COMMAND: switch( LOWORD( wParam ) ) { @@ -137,16 +138,18 @@ display_refresh_all(); EndDialog( hwndDlg, 0 ); - return TRUE; + return 0; } + case IDCANCEL: EndDialog( hwndDlg, 0 ); - return TRUE; + return 0; } - return FALSE; + break; + case WM_CLOSE: EndDialog( hwndDlg, 0 ); - return TRUE; + return 0; } return FALSE; } Modified: trunk/fuse/ui/win32/picture.c =================================================================== --- trunk/fuse/ui/win32/picture.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/picture.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -114,7 +114,7 @@ EndPaint( hWnd, &ps ); DeleteDC( pic_dc ); - break; + return 0; } case WM_COMMAND: @@ -123,15 +123,16 @@ { hDialogPicture = NULL; DestroyWindow( hWnd ); - break; + return 0; } } + break; case WM_CLOSE: { hDialogPicture = NULL; DestroyWindow( hWnd ); - break; + return 0; } } return FALSE; Modified: trunk/fuse/ui/win32/pokefinder.c =================================================================== --- trunk/fuse/ui/win32/pokefinder.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/pokefinder.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -52,35 +52,38 @@ WPARAM wParam, LPARAM lParam ) { switch( msg ) { + case WM_COMMAND: switch( LOWORD( wParam ) ) { case IDCLOSE: win32ui_pokefinder_close(); - return TRUE; + return 0; case IDC_PF_INC: win32ui_pokefinder_incremented(); - return TRUE; + return 0; case IDC_PF_DEC: win32ui_pokefinder_decremented(); - return TRUE; + return 0; case IDC_PF_SEARCH: win32ui_pokefinder_search(); - return TRUE; + return 0; case IDC_PF_RESET: win32ui_pokefinder_reset(); - return TRUE; + return 0; } - return FALSE; + break; + case WM_CLOSE: win32ui_pokefinder_close(); - return TRUE; + return 0; + case WM_NOTIFY: switch ( ( ( LPNMHDR ) lParam )->code ) { case NM_DBLCLK: possible_click( ( LPNMITEMACTIVATE ) lParam ); - return TRUE; + return 0; /* "The return value for this notification is not used." */ } - return FALSE; + break; } return FALSE; } Modified: trunk/fuse/ui/win32/win32internals.h =================================================================== --- trunk/fuse/ui/win32/win32internals.h 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/win32internals.h 2008-09-07 01:33:19 UTC (rev 3768) @@ -93,7 +93,7 @@ int win32ui_get_monospaced_font( HFONT *font ); void win32ui_set_font( HWND hDlg, int nIDDlgItem, HFONT font ); -void handle_menu( DWORD cmd, HWND okno ); +int handle_menu( DWORD cmd, HWND okno ); void win32_verror( int is_error ); Modified: trunk/fuse/ui/win32/win32ui.c =================================================================== --- trunk/fuse/ui/win32/win32ui.c 2008-09-02 04:25:02 UTC (rev 3767) +++ trunk/fuse/ui/win32/win32ui.c 2008-09-07 01:33:19 UTC (rev 3768) @@ -83,7 +83,7 @@ static int win32ui_window_paint( HWND hWnd, WPARAM wParam, LPARAM lParam ); static int win32ui_window_resize( HWND hWnd, WPARAM wParam, LPARAM lParam ); -static int win32ui_window_resizing( HWND hWnd, WPARAM wParam, LPARAM lParam ); +static BOOL win32ui_window_resizing( HWND hWnd, WPARAM wParam, LPARAM lParam ); static int selector_dialog( win32ui_select_info *items ); @@ -121,39 +121,47 @@ { switch( msg ) { case WM_COMMAND: - handle_menu( LOWORD( wParam ), hWnd ); + if( ! handle_menu( LOWORD( wParam ), hWnd ) ) + return 0; break; case WM_DROPFILES: handle_drop( ( HDROP )wParam ); - break; + return 0; case WM_CLOSE: menu_file_exit( 0 ); - break; + return 0; case WM_KEYDOWN: win32keyboard_keypress( wParam, lParam ); - break; + return 0; case WM_KEYUP: win32keyboard_keyrelease( wParam, lParam ); - break; + return 0; case WM_PAINT: - return win32ui_window_paint( hWnd, wParam, lParam ); + if( ! win32ui_window_paint( hWnd, wParam, lParam ) ) + return 0; + break; case WM_SIZING: - return win32ui_window_resizing( hWnd, wParam, lParam ); + if( win32ui_window_resizing( hWnd, wParam, lParam ) ) + return TRUE; + break; case WM_SIZE: - return win32ui_window_resize( hWnd, wParam, lParam ); + if( ! win32ui_window_resize( hWnd, wParam, lParam ) ) + return 0; + break; case WM_DRAWITEM: if( wParam == ID_STATUSBAR ) { win32statusbar_redraw( hWnd, lParam ); return TRUE; } + break; case WM_DESTROY: fuse_exiting = 1; @@ -162,20 +170,20 @@ /* Stop the paused state to allow us to exit (occurs from main emulation loop) */ if( paused ) menu_machine_pause( 0 ); - break; + return 0; case WM_ENTERMENULOOP: case WM_ENTERSIZEMOVE: { fuse_emulation_pause(); - break; + return 0; } case WM_EXITMENULOOP: case WM_EXITSIZEMOVE: { fuse_emulation_unpause(); - break; + return 0; } case WM_LBUTTONUP: @@ -220,12 +228,9 @@ else if( LOWORD( wParam ) == WA_INACTIVE ) return win32ui_lose_focus( hWnd, wParam, lParam ); break; - - default: - return( DefWindowProc( hWnd, msg, wParam, lParam ) ); } - return 0; + return( DefWindowProc( hWnd, msg, wParam, lParam ) ); } /* this is where windows program begins */ @@ -697,7 +702,6 @@ switch( uMsg ) { case WM_INITDIALOG: - { /* items are passed to WM_INITDIALOG as lParam */ items = ( win32ui_select_info * ) lParam; @@ -720,6 +724,8 @@ if( i == items->selected ) { SendDlgItemMessage( hwndDlg, ( IDC_SELECT_OFFSET + i ), BM_SETCHECK, BST_CHECKED, 0 ); + /* remember the default item, and return it in case of cancelling */ + SetWindowLong( hwndDlg, GWL_USERDATA, i ); } pos_y += 16; @@ -746,16 +752,14 @@ SetWindowPos( hwndDlg, NULL, 0, 0, 177, pos_y, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE ); - return TRUE; - } + return FALSE; + case WM_SETFONT: - { h_ms_font = (HFONT) wParam; - return TRUE; - } + return 0; /* "This message does not return a value." */ + case WM_COMMAND: - { - if ( HIWORD( wParam ) != BN_CLICKED ) return 0; + if ( HIWORD( wParam ) != BN_CLICKED ) break; /* service OK and Cancel buttons */ switch LOWORD( wParam ) @@ -769,29 +773,25 @@ if( SendDlgItemMessage( hwndDlg, ( IDC_SELECT_OFFSET + i ), BM_GETCHECK, 0, 0 ) == BST_CHECKED ) { EndDialog( hwndDlg, i ); - return TRUE; + return 0; } i++; } - return FALSE; /* program should never reach here */ + break; /* program should never reach here */ } case IDCANCEL: - { - EndDialog( hwndDlg, 0 ); - return TRUE; - } + EndDialog( hwndDlg, GetWindowLong( hwndDlg, GWL_USERDATA ) ); + return 0; } /* service clicking radiobuttons */ /* FIXME should also be checking if wParam < offset + radio count */ - if( LOWORD( wParam ) >= IDC_SELECT_OFFSET ) { - return TRUE; - } - } + if( LOWORD( wParam ) >= IDC_SELECT_OFFSET ) + return 0; + break; + case WM_DESTROY: - { - EndDialog( hwndDlg, 0 ); - return TRUE; - } + EndDialog( hwndDlg, GetWindowLong( hwndDlg, GWL_USERDATA ) ); + return 0; } return FALSE; } @@ -863,7 +863,7 @@ /* Handler for the main window's WM_SIZING notification. The handler is an equivalent of setting window geometry in GTK */ -static int +static BOOL win32ui_window_resizing( HWND hWnd, WPARAM wParam, LPARAM lParam ) { RECT *selr, wr, cr , statr; @@ -924,8 +924,6 @@ selr->right = selr->left + width; } - /* FIXME: function is defined to return int, - check which one does window proc expect */ return TRUE; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-07 02:26:01
|
Revision: 3769 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3769&view=rev Author: specu Date: 2008-09-07 02:26:10 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Win32: Minor fix to the menu handling code - moved return into proper place (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/menu_data.pl Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-07 01:33:19 UTC (rev 3768) +++ trunk/fuse/hacking/ChangeLog 2008-09-07 02:26:10 UTC (rev 3769) @@ -2888,3 +2888,5 @@ Reviewed and fixed all the return codes for all window message handles fixed selector dialog problem where cancelling the dialog would result in choosing option 0 (Marek). +20080906 menu_data.pl: Win32: Minor fix to the menu handling code - moved + return into proper place (Marek). Modified: trunk/fuse/menu_data.pl =================================================================== --- trunk/fuse/menu_data.pl 2008-09-07 01:33:19 UTC (rev 3768) +++ trunk/fuse/menu_data.pl 2008-09-07 02:26:10 UTC (rev 3769) @@ -301,8 +301,8 @@ if( $mode eq 'c' ) { print << "CODE"; - return 1; } + return 1; } CODE } elsif( $mode eq 'rc' ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-09-11 03:46:52
|
Revision: 3770 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3770&view=rev Author: specu Date: 2008-09-11 03:47:01 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Win32: Changed style for all dialogs to make those dialogs show on the taskbar, converted select_template.rc from DOS to UNIX (Marek) Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/ui/win32/binary.rc trunk/fuse/ui/win32/browse.rc trunk/fuse/ui/win32/debugger.rc trunk/fuse/ui/win32/memorybrowser.rc trunk/fuse/ui/win32/options-resource.pl trunk/fuse/ui/win32/picture.rc trunk/fuse/ui/win32/pokefinder.rc trunk/fuse/ui/win32/rollback.rc trunk/fuse/ui/win32/roms.rc trunk/fuse/ui/win32/select_template.rc trunk/fuse/ui/win32/win32joystick.rc Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/hacking/ChangeLog 2008-09-11 03:47:01 UTC (rev 3770) @@ -2890,3 +2890,8 @@ in choosing option 0 (Marek). 20080906 menu_data.pl: Win32: Minor fix to the menu handling code - moved return into proper place (Marek). +20080910 ui/win32/{roms.rc,win32joystick.rc,pokefinder.rc,options-resource.pl, + browse.rc,picture.rc,memorybrowser.rc,binary.rc,debugger.rc, + rollback.rc,select_template.rc}: Win32: Changed style for all dialogs + to make those dialogs show on the taskbar, converted + select_template.rc from DOS to UNIX (Marek). Modified: trunk/fuse/ui/win32/binary.rc =================================================================== --- trunk/fuse/ui/win32/binary.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/binary.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -29,6 +29,7 @@ IDD_BINARY DIALOGEX 0,0,396,85 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Load Binary Data" FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN Modified: trunk/fuse/ui/win32/browse.rc =================================================================== --- trunk/fuse/ui/win32/browse.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/browse.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -29,6 +29,7 @@ IDD_BROWSE DIALOGEX 0,0,230,153 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Browse Tape" FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN Modified: trunk/fuse/ui/win32/debugger.rc =================================================================== --- trunk/fuse/ui/win32/debugger.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/debugger.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -32,6 +32,7 @@ FONT 8,"MS Sans Serif" MENU IDM_MENU STYLE WS_POPUP | WS_CAPTION | WS_VISIBLE | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW BEGIN CONTROL "", IDC_DBG_LV_PC, "SysListView32", \ WS_CHILD | WS_VISIBLE | LVS_REPORT | \ Modified: trunk/fuse/ui/win32/memorybrowser.rc =================================================================== --- trunk/fuse/ui/win32/memorybrowser.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/memorybrowser.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -31,6 +31,7 @@ CAPTION "Fuse - Memory Browser" FONT 8,"MS Sans Serif" STYLE WS_POPUP | WS_CAPTION | WS_VISIBLE | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW BEGIN CONTROL "", IDC_MEM_LV, "SysListView32", \ WS_CHILD | WS_VISIBLE | LVS_REPORT | \ Modified: trunk/fuse/ui/win32/options-resource.pl =================================================================== --- trunk/fuse/ui/win32/options-resource.pl 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/options-resource.pl 2008-09-11 03:47:01 UTC (rev 3770) @@ -79,6 +79,7 @@ CAPTION "Fuse - $_->{title}" FONT 8,"Ms Shell Dlg 2",400,0,1 STYLE WS_POPUP | WS_CAPTION | WS_BORDER | WS_SYSMENU + EXSTYLE WS_EX_APPWINDOW BEGIN CODE Modified: trunk/fuse/ui/win32/picture.rc =================================================================== --- trunk/fuse/ui/win32/picture.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/picture.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -30,6 +30,7 @@ IDD_PICTURE DIALOG DISCARDABLE 16, 16, 160, 138 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Keyboard" BEGIN DEFPUSHBUTTON "Close", IDCLOSE, 108, 122, 50, 14 Modified: trunk/fuse/ui/win32/pokefinder.rc =================================================================== --- trunk/fuse/ui/win32/pokefinder.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/pokefinder.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -29,6 +29,7 @@ IDD_POKEFINDER DIALOGEX DISCARDABLE 6,6,341,83 CAPTION "Fuse - Poke Finder" STYLE WS_POPUP | WS_CAPTION | WS_VISIBLE | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN CTEXT "Search for:", IDC_PF_SEARCH_FOR, 20, 25, 38, 9 Modified: trunk/fuse/ui/win32/rollback.rc =================================================================== --- trunk/fuse/ui/win32/rollback.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/rollback.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -27,6 +27,7 @@ IDD_ROLLBACK DIALOGEX 0,0,125,100 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Select Rollback Point" FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN Modified: trunk/fuse/ui/win32/roms.rc =================================================================== --- trunk/fuse/ui/win32/roms.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/roms.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -27,6 +27,7 @@ IDD_ROMS DIALOGEX 0,0,163,84 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Select ROMs" FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN Modified: trunk/fuse/ui/win32/select_template.rc =================================================================== --- trunk/fuse/ui/win32/select_template.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/select_template.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -1,36 +1,37 @@ -/* select_template.rc: Machine Select dialog box - Copyright (c) 2008 Marek Januszewski - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - Author contact information: - - E-mail: phi...@sh... - -*/ - -#include <windows.h> - -#include "select_template.h" - -IDD_SELECT_DIALOG DIALOGEX 0,0,177,247 -STYLE DS_MODALFRAME | DS_SETFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU -CAPTION "Fuse - Select" -FONT 8,"Ms Shell Dlg 2",400,0,1 -BEGIN -/* those will be generated at runtime on WM_INITDIALOG - easier to control the size and position */ -/* DEFPUSHBUTTON "&OK",IDOK,6,193,75,23 */ -/* PUSHBUTTON "&Cancel",IDCANCEL,90,193,75,23 */ -END +/* select_template.rc: Machine Select dialog box + Copyright (c) 2008 Marek Januszewski + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + Author contact information: + + E-mail: phi...@sh... + +*/ + +#include <windows.h> + +#include "select_template.h" + +IDD_SELECT_DIALOG DIALOGEX 0,0,177,247 +STYLE DS_MODALFRAME | DS_SETFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Fuse - Select" +FONT 8,"Ms Shell Dlg 2",400,0,1 +BEGIN +/* those will be generated at runtime on WM_INITDIALOG - easier to control the size and position */ +/* DEFPUSHBUTTON "&OK",IDOK,6,193,75,23 */ +/* PUSHBUTTON "&Cancel",IDCANCEL,90,193,75,23 */ +END Modified: trunk/fuse/ui/win32/win32joystick.rc =================================================================== --- trunk/fuse/ui/win32/win32joystick.rc 2008-09-07 02:26:10 UTC (rev 3769) +++ trunk/fuse/ui/win32/win32joystick.rc 2008-09-11 03:47:01 UTC (rev 3770) @@ -29,6 +29,7 @@ IDD_JOYSTICKS DIALOGEX 0,0,300,149 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW CAPTION "Fuse - Configure Joystick" FONT 8,"Ms Shell Dlg 2",400,0,1 BEGIN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2008-10-06 00:49:50
|
Revision: 3776 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3776&view=rev Author: fredm Date: 2008-10-06 00:49:45 +0000 (Mon, 06 Oct 2008) Log Message: ----------- Make sure mode is specified when opening a file for writing (fixes bug #2146742) (thanks, Cygnus). Modified Paths: -------------- trunk/fuse/compat/unix/file.c trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/compat/unix/file.c =================================================================== --- trunk/fuse/compat/unix/file.c 2008-09-28 03:28:22 UTC (rev 3775) +++ trunk/fuse/compat/unix/file.c 2008-10-06 00:49:45 UTC (rev 3776) @@ -48,7 +48,7 @@ compat_file_open( const char *path, int write ) { int flags = write ? O_WRONLY | O_CREAT | O_BINARY : O_RDONLY | O_BINARY; - return open( path, flags ); + return open( path, flags, 0666 ); } off_t Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-09-28 03:28:22 UTC (rev 3775) +++ trunk/fuse/hacking/ChangeLog 2008-10-06 00:49:45 UTC (rev 3776) @@ -2895,3 +2895,5 @@ rollback.rc,select_template.rc}: Win32: Changed style for all dialogs to make those dialogs show on the taskbar, converted select_template.rc from DOS to UNIX (Marek). +20081006 compat/unix/file.c: make sure mode is specified when opening a file + for writing (fixes bug #2146742) (thanks, Cygnus) (Fred). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-21 10:09:47
|
Revision: 3782 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3782&view=rev Author: pak21 Date: 2008-10-21 10:09:30 +0000 (Tue, 21 Oct 2008) Log Message: ----------- Small documentation update (patch #2183257) (Matthew Westcott). Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/z80/tests/README Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-21 09:45:25 UTC (rev 3781) +++ trunk/fuse/hacking/ChangeLog 2008-10-21 10:09:30 UTC (rev 3782) @@ -2897,3 +2897,5 @@ select_template.rc from DOS to UNIX (Marek). 20081006 compat/unix/file.c: make sure mode is specified when opening a file for writing (fixes bug #2146742) (thanks, Cygnus) (Fred). +20081021 z80/tests/README: small documentation update (patch #2183257) + (Matthew Westcott). Modified: trunk/fuse/z80/tests/README =================================================================== --- trunk/fuse/z80/tests/README 2008-10-21 09:45:25 UTC (rev 3781) +++ trunk/fuse/z80/tests/README 2008-10-21 10:09:30 UTC (rev 3782) @@ -8,10 +8,12 @@ <arbitrary test description> AF BC DE HL AF' BC' DE' HL' IX IY SP PC -I R IFF1 IFF2 <halted> <tstates> +I R IFF1 IFF2 IM <halted> <tstates> <halted> specifies whether the Z80 is halted. -<tstates> specifies the number of tstates to run the test for. +<tstates> specifies the number of tstates to run the test for, in + decimal; the number actually executed may be higher, as the final + instruction is allowed to complete. Then followed by lines specifying the initial memory setup. Each has the format: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-21 13:33:35
|
Revision: 3783 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3783&view=rev Author: pak21 Date: 2008-10-21 13:33:25 +0000 (Tue, 21 Oct 2008) Log Message: ----------- Update for 0.10.0 release. Modified Paths: -------------- trunk/fuse/ChangeLog trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2008-10-21 10:09:30 UTC (rev 3782) +++ trunk/fuse/ChangeLog 2008-10-21 13:33:25 UTC (rev 3783) @@ -1,3 +1,53 @@ +2008-11-?? Philip Kendall <phi...@sh...> + + * Fuse 0.10.0 released + + * New upd765 FDC emulation; all known +3 DSK images now work (Gergely + Szasz; thanks to Simon Owen for expert technical advice). + * Loading acceleration (Philip Kendall). + * Many improvements to Win32 UI (mostly Marek Januszewski). + * Improved widget UI, with look and feel borrowed from that in FuseX + (Fredrick Meunier; thanks, crabfists). + + * Emulation core improvements: + * New --late-timings option to emulate machines with 1 tstate + later timings (Philip Kendall) + * Reading from the 128K's memory control port causes that byte to + be written back to the port (Philip Kendall; thanks, Marat + Fayzullin). + * NMI causes Z80 to unHALT (Philip Kendall; thanks, Simon Owen). + * Emulate C, H and P/V flags on repeated IO instructions (Philip + Kendall). + * Fix crash when using Interface 1 on unoptimised Fuse builds + (Philip Kendall). + + * Debugger improvements: + * Debugger events to allow the debugger to stop when various + Spectrum-level events happen (Philip Kendall). + * Allow debugger commands to be run when a breakpoint is hit. + No UI for this at present, but can be set from the command line. + (Philip Kendall). + * Command to exit emulator (Philip Kendall). + * Make time breakpoints work properly when more than one is present + (Philip Kendall). + + * Miscellaneous improvements: + * Loader detection now works with the Digital Integration loader + (Philip Kendall). + * New HQ2X and HQ3x scalers (Gergely Szasz). + * Revert Pentagon 128 to being the "base" machine without extra + ROMs (Fredrick Meunier). + * Updated +3e ROMs (Fredrick Meunier; thanks, Garry Lancaster). + * Allow DivIDE, custom ROMs, Kempston mouse status and Simple 8-bit + IDE interface to be saved in snapshots (Fredrick Meunier). + * Better (but probably not perfect) TS2068 contention (Philip + Kendall). + * OpenSolaris compilation fixes (Fredrick Meunier; thanks, Andrew + Owen). + * C89 compatibility fixes (Fredrick Meunier; thanks, sweetlilmr). + * Remove GTK+'s build explicit dependency on Xlib (Philip Kendall). + * Minor AmigaOS improvements (Chris Young). + 2008-01-05 Philip Kendall <phi...@sh...> * Fuse 0.9.0 released Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-21 10:09:30 UTC (rev 3782) +++ trunk/fuse/hacking/ChangeLog 2008-10-21 13:33:25 UTC (rev 3783) @@ -2899,3 +2899,4 @@ for writing (fixes bug #2146742) (thanks, Cygnus) (Fred). 20081021 z80/tests/README: small documentation update (patch #2183257) (Matthew Westcott). +20081021 ChangeLog: update for 0.10.0 release. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-22 19:10:40
|
Revision: 3787 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3787&view=rev Author: pak21 Date: 2008-10-22 19:10:25 +0000 (Wed, 22 Oct 2008) Log Message: ----------- Support for autosaves when using RZX recording. Modified Paths: -------------- trunk/fuse/ChangeLog trunk/fuse/hacking/ChangeLog trunk/fuse/menu.c trunk/fuse/rzx.c trunk/fuse/settings.dat trunk/fuse/ui/options.dat Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/ChangeLog 2008-10-22 19:10:25 UTC (rev 3787) @@ -5,6 +5,7 @@ * New upd765 FDC emulation; all known +3 DSK images now work (Gergely Szasz; thanks to Simon Owen for expert technical advice). * Loading acceleration (Philip Kendall). + * Automatic saves while using RZX recording (Philip Kendall). * Many improvements to Win32 UI (mostly Marek Januszewski). * Improved widget UI, with look and feel borrowed from that in FuseX (Fredrick Meunier; thanks, crabfists). Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/hacking/ChangeLog 2008-10-22 19:10:25 UTC (rev 3787) @@ -2900,3 +2900,5 @@ 20081021 z80/tests/README: small documentation update (patch #2183257) (Matthew Westcott). 20081021 ChangeLog: update for 0.10.0 release. +20081022 menu.c,rzx.c,settings.dat,ui/options.dat: support for autosaves + when using RZX recording. Modified: trunk/fuse/menu.c =================================================================== --- trunk/fuse/menu.c 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/menu.c 2008-10-22 19:10:25 UTC (rev 3787) @@ -93,7 +93,7 @@ error = snapshot_copy_to( snap ); if( error ) { libspectrum_snap_free( snap ); return; } - libspectrum_rzx_add_snap( rzx, snap ); + libspectrum_rzx_add_snap( rzx, snap, 0 ); libspectrum_rzx_start_input( rzx, tstates ); } Modified: trunk/fuse/rzx.c =================================================================== --- trunk/fuse/rzx.c 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/rzx.c 2008-10-22 19:10:25 UTC (rev 3787) @@ -58,6 +58,9 @@ /* The number of bytes read via IN during the current frame */ size_t rzx_in_count; +/* The number of frames we've recorded in this RZX file */ +static size_t autosave_frame_count; + /* And the values of those bytes */ libspectrum_byte *rzx_in_bytes; @@ -95,6 +98,9 @@ a competition mode RZX file */ static const float SPEED_TOLERANCE = 5; +/* How often will we create an autosave file */ +static const size_t AUTOSAVE_INTERVAL = 5 * 50; + /* Debugger events */ static const char *event_type_string = "rzx"; static const char *end_event_detail_string = "end"; @@ -152,7 +158,7 @@ return 1; } - error = libspectrum_rzx_add_snap( rzx, snap ); + error = libspectrum_rzx_add_snap( rzx, snap, 0 ); if( error ) { libspectrum_snap_free( snap ); return error; @@ -160,13 +166,12 @@ } - /* Put an input recording block into the RZX file */ libspectrum_rzx_start_input( rzx, tstates ); - /* Start the count of instruction fetches here */ - counter_reset(); rzx_in_count = 0; + counter_reset(); + rzx_in_count = 0; + autosave_frame_count = 0; - /* Note that we're recording */ rzx_recording = 1; ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 ); @@ -366,6 +371,80 @@ return 0; } +typedef struct prune_info_t { + libspectrum_rzx_iterator it; + size_t frames; +} prune_info_t; + +static void +autosave_prune( void ) +{ + GArray *autosaves = g_array_new( FALSE, FALSE, sizeof( prune_info_t ) ); + libspectrum_rzx_iterator it; + size_t i, frames = 0; + + for( it = libspectrum_rzx_iterator_begin( rzx ); + it; + it = libspectrum_rzx_iterator_next( it ) ) { + + libspectrum_rzx_block_id id = libspectrum_rzx_iterator_get_type( it ); + + switch( id ) { + + case LIBSPECTRUM_RZX_INPUT_BLOCK: + frames += libspectrum_rzx_iterator_get_frames( it ); break; + + case LIBSPECTRUM_RZX_SNAPSHOT_BLOCK: + if( libspectrum_rzx_iterator_snap_is_automatic( it ) ) { + prune_info_t info = { it, frames }; + g_array_append_val( autosaves, info ); + } + break; + + default: + break; + } + } + + /* Convert 'time from start' into 'time before now' */ + for( i = 0; i < autosaves->len; i++ ) { + prune_info_t *info = &( g_array_index( autosaves, prune_info_t, i ) ); + info->frames = frames - info->frames; + } + + for( i = autosaves->len - 1; i > 0; i-- ) { + prune_info_t save1 = g_array_index( autosaves, prune_info_t, i ), + save2 = g_array_index( autosaves, prune_info_t, i - 1 ); + + if( ( save1.frames == 15 * 50 || + save1.frames == 60 * 50 || + save1.frames == 300 * 50 ) && + save2.frames < 2 * save1.frames + ) + /* FIXME: could possibly merge adjacent IRBs here */ + libspectrum_rzx_iterator_delete( rzx, save1.it ); + } + + g_array_set_size( autosaves, 0 ); +} + +static void +autosave_frame( void ) +{ + libspectrum_snap *snap; + + if( ++autosave_frame_count % AUTOSAVE_INTERVAL ) return; + + snap = libspectrum_snap_alloc(); + snapshot_copy_to( snap ); + + libspectrum_rzx_stop_input( rzx ); + libspectrum_rzx_add_snap( rzx, snap, 1 ); + libspectrum_rzx_start_input( rzx, tstates ); + + autosave_prune(); +} + static int recording_frame( void ) { libspectrum_error error; @@ -395,6 +474,8 @@ } + if( settings_current.rzx_autosaves ) autosave_frame(); + return 0; } Modified: trunk/fuse/settings.dat =================================================================== --- trunk/fuse/settings.dat 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/settings.dat 2008-10-22 19:10:25 UTC (rev 3787) @@ -112,6 +112,7 @@ competition_mode, boolean, 0 competition_code, numeric, 0 embed_snapshot, boolean, 1 +rzx_autosaves, boolean, 1 snapshot, string, NULL, 's' tape_file, string, NULL, 't', tape, tapefile Modified: trunk/fuse/ui/options.dat =================================================================== --- trunk/fuse/ui/options.dat 2008-10-22 18:33:54 UTC (rev 3786) +++ trunk/fuse/ui/options.dat 2008-10-22 19:10:25 UTC (rev 3787) @@ -48,6 +48,7 @@ rzx RZX Options +Checkbox, Create (a)utosaves, rzx_autosaves, INPUT_KEY_a Checkbox, (C)ompress RZX data, rzx_compression, INPUT_KEY_c Checkbox, C(o)mpetition mode, competition_mode, INPUT_KEY_o Entry, Co(m)petition code, competition_code, INPUT_KEY_m, 8, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-25 13:04:53
|
Revision: 3788 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3788&view=rev Author: pak21 Date: 2008-10-25 13:04:43 +0000 (Sat, 25 Oct 2008) Log Message: ----------- Update. Still TODO: debugger updates. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-22 19:10:25 UTC (rev 3787) +++ trunk/fuse/hacking/ChangeLog 2008-10-25 13:04:43 UTC (rev 3788) @@ -2902,3 +2902,4 @@ 20081021 ChangeLog: update for 0.10.0 release. 20081022 menu.c,rzx.c,settings.dat,ui/options.dat: support for autosaves when using RZX recording. +20081024 man/fuse.1: update. Still TODO: debugger updates. Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2008-10-22 19:10:25 UTC (rev 3787) +++ trunk/fuse/man/fuse.1 2008-10-25 13:04:43 UTC (rev 3788) @@ -80,6 +80,17 @@ .\" the options list is in alphabetical order by long option name (or .\" short option name if none). .\" +.I \-\-accelerate\-loader +.RS +Specify whether Fuse should attempt to accelerate tape loaders by "short +circuiting" the loading loop. This will in general speed up loading, but +may cause some loaders to fail. (Enabled by default, but you can use +.RI ` \-\-no\-accelerate\-loader ' +to disable). The same as the General Options dialog's +.I "Accelerate loaders" +option. +.RE +.PP .I \-\-aspect\-hint .RS Specify whether the GTK+ and Xlib user interfaces should `hint' to the @@ -115,6 +126,14 @@ option. .RE .PP +.I \-\-beeper\-stereo +.RS +Specify whether fake stereo should be added to the emulation of the +Spectrum beeper. Same as the Sound Options dialog's +.I "Beeper pseudo-stereo" +option. +.RE +.PP .I \-\-beta128 .RS Emulate a Beta 128 interface. Same as the Peripherals Options dialog's @@ -122,12 +141,9 @@ option. .RE .PP -.I \-\-beeper\-stereo .RS -Specify whether fake stereo should be added to the emulation of the -Spectrum beeper. Same as the Sound Options dialog's -.I "Beeper pseudo-stereo" -option. +.I \-\-betadisk +Specify a Betadisk image to load. .RE .PP .I \-\-bw\-tv @@ -178,6 +194,15 @@ option. .RE .PP +.I "\-\-debugger\-command string" +.RS +Specify a debugger command to be run before emulator startup. This can +be used to set breakpoints or the like. Currently, this is the only +method to input multi-line debugger commands. (See the +.B "MONITOR/DEBUGGER" +section for more information). +.RE +.PP .I "\-\-detect\-loader" .RS Specify whether Fuse should attempt to detect when the tape is being @@ -189,12 +214,42 @@ option. .RE .PP +.I \-\-divide +.RS +Emulate the DivIDE interface. The same as the Peripherals Options +dialog's +.I "DivIDE interface" +option. +.RE +.PP +.I "\-\-divide\-masterfile file" +.br +.I "\-\-divide\-slavefile file" +.RS +Specify an IDE image to be loaded into the DivIDE's emulated master +and slave drives respectively. +.RE +.PP +.I \-\-divide\-write\-protect +.RS +Specify that the emulated DivIDE's write protect jumper should be +considered set. The same as the Peripherals Options dialog's +.I "DivIDE write protect" +option. +.RE +.PP .I "\-\-dock file" .RS Insert the specified file into the emulated Timex 2068 variant dock; also select the TC2068 on startup if available. .RE .PP +.I "\-\-doublescan\-mode" +.RS +Specify the the framebuffer UI should attempt to use a double scan mode +(where each line is displayed twice). +.RE +.PP .I "\-\-embed\-snapshot" .RS Specify whether a snapshot should be embedded in an RZX file when @@ -291,7 +346,9 @@ .PP .I \-\-interface2 .RS -Emulate a Sinclair Interface II. Same as the Peripherals Options dialog's +Emulate a Sinclair Interface II. (Enabled by default, but you can use +.RI ` \-\-no\-interface2 ' +to disable). Same as the Peripherals Options dialog's .I "Interface II" option. .RE @@ -326,6 +383,16 @@ .RI ` /dev/js1 "'." .RE .PP +.I \-\-joystick-prompt +.RS +If this option is specified, Fuse Fuse will prompt you which form of +joystick emulation you wish to use when loading a snapshot. No prompt +will be issued if the configuration in the snapshot matches what you +are currently using. The same as the General Options dialog's +.I "Snap joystick prompt" +option. +.RE +.PP .I \-\-kempston .RS Emulate a Kempston joystick. Same as the Peripherals Options dialog's @@ -340,6 +407,16 @@ option. .RE .PP +.I \-\-late\-timings +.RS +It has been observed that some real Spectrums run such that the screen +is rendered one tstate later than on other real hardware. This option +specifies that Fuse should emulate such a machine. Same as the General +Options dialog's +.I "Late timings" +option. +.RE +.PP .I \-\-loading\-sound .RS Specify whether the sound made while tapes are loading should be @@ -576,6 +653,16 @@ options. .RE .PP +.I \-\-rzx-autosaves +.RS +Specify that, while recording an RZX file, Fuse should automatically add +a snapshot to the recording stream every 5 seconds. (Default to on, but +you can use +.RI ` \-\-no-rzx-autosaves ' +to disable). Same as the RZX Options dialog's "Create autosaves" option; +see there for more details. +.RE +.PP .I \-\-separation .RS Give stereo separation of the 128's AY sound channels. Same as the @@ -1453,7 +1540,15 @@ to connect to the joystick interface enabled in the snapshot unless it already matches your current configuration. .RE +.PP +.I "Late timings" +.RS +If selected, Fuse will cause all screen-related timings (for example, +when the screen is rendered and when memory contention occurs) to be +one tstate later than "normal", an effect which is present on some real +hardware. .RE +.RE .PP .I "Options, Sound..." .RS @@ -1677,6 +1772,20 @@ aborts). Note that any changed settings only apply to the currently-running Fuse. .PP +.I "Create autosaves" +.RS +If this option is selected, Fuse will add a snapshot into the recording +stream every 5 seconds while creating an RZX file, thus enabling the +rollback facilities to be used without having to explicitly add +snapshots into the stream. Older snapshots will be pruned from the +stream to keep the file size and number of snapshots down: each snapshot +up to 15 seconds will be kept, then one snapshot every 15 seconds until +one minute, then one snapshot every minute until 5 minutes, and then one +snapshot every 5 minutes. Note that this "pruning" applies only to +automatically inserted snapshots: snapshots manually inserted into the +stream will never be pruned. +.RE +.PP .I "Compress RZX data" .RS If this option is selected, and @@ -1960,11 +2069,11 @@ .RS Another Russian clone of the Spectrum. Some details can be found at -.IR "http://www.worldofspectrum.org/rusfaq/index.html" , like all the -Russian clones they they have built in 3.5" disk drives, accessed via -the Beta 128 disk interface and TR-DOS (the Technology Research Disk -Operating System). The most important distinction from the Pentagon -128k and similar machines is the display timing details. +.IR "http://www.worldofspectrum.org/rusfaq/index.html" , +like all the Russian clones they they have built in 3.5" disk drives, +accessed via the Beta 128 disk interface and TR-DOS (the Technology +Research Disk Operating System). The most important distinction from +the Pentagon 128k and similar machines is the display timing details. .RE .PP .I "Spectrum SE" @@ -3319,7 +3428,8 @@ .PP The libao file output devices not work properly with the GTK+ UI. No error reporting, but the created file does not contain any sound data. -If you use a `weak' machine alsa09 make a lot of click and pop with +If you use a `weak' machine alsa09 makes a lot of clicks and pops and +will output .RI ` "ALSA: underrun, at least 0ms." ' error messages. .\" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-25 16:20:07
|
Revision: 3789 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3789&view=rev Author: pak21 Date: 2008-10-25 16:19:54 +0000 (Sat, 25 Oct 2008) Log Message: ----------- Debugger updates. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-25 13:04:43 UTC (rev 3788) +++ trunk/fuse/hacking/ChangeLog 2008-10-25 16:19:54 UTC (rev 3789) @@ -2903,3 +2903,4 @@ 20081022 menu.c,rzx.c,settings.dat,ui/options.dat: support for autosaves when using RZX recording. 20081024 man/fuse.1: update. Still TODO: debugger updates. +20081024 man/fuse.1: debugger updates. Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2008-10-25 13:04:43 UTC (rev 3788) +++ trunk/fuse/man/fuse.1 2008-10-25 16:19:54 UTC (rev 3789) @@ -3008,11 +3008,65 @@ .RS Set a breakpoint to occur .I time -tstates after the start of the current frame, assuming +tstates after the start of the every frame, assuming .I condition evaluates true (if one is given). .RE .PP +br{eakpoint} ev{ent} +.IR area : detail " [" condition ] +.RS +Set a breakpoint to occur when the event specified by +.IR area : detail +occurs and +.I condition +evaluates to true. The events which can be caught are: +.PP +divide:page +.br +divide:unpage +.RS +The DivIDE interface is paged into or out of memory respectively +.RE +.br +if1:page +.br +if1:unpage +.RS +The Interface 1 shadow ROM is paged into or out of memory +.RE +.br +rzx:end +.RS +An RZX recording finishes playing +.RE +.br +tape:play +.br +tape:stop +.RS +The emulated tape starts or stops playing +.RE +.br +zxcf:page +.br +zxcf:unpage +.RS +The ZXCF interface is paged into or out of memory +.RE +.br +zxatasp:page +.br +zxatasp:unpage +.RS +The ZXATASP interface is paged into or out of memory +.RE +.PP +In all cases, the event can be specified as +.IR area :* +to catch all events from that area. +.RE +.PP cl{ear} .RI [ address ] .RS @@ -3023,6 +3077,25 @@ is omitted. Port read/write breakpoints are unaffected. .RE .PP +com{mmands} +.I id <newline> +.br +.I <debugger command> <newline> +.br +.I <debugger command> <newline> +.br +.I ... +.br +end +.RS +Set things such that the specified debugger commands will be +automatically executed when breakpoint +.I id +is triggered. There is currently no user interface for entering +multi-line debugger commands, so the only way to specify this command is +on the command-line via the \-\-debugger\-command option. +.RE +.PP cond{ition} .IR "id " [ condition ] .RS @@ -3059,6 +3132,11 @@ .IR address . .RE .PP +ex{it} +.RS +Exit the emulator immediately. +.RE +.PP fi{nish} .RS Exit from the current CALL or equivalent. This isn't infallible: it This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2008-10-25 22:46:26
|
Revision: 3790 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3790&view=rev Author: fredm Date: 2008-10-25 22:46:20 +0000 (Sat, 25 Oct 2008) Log Message: ----------- Minor update for disk formats and compressed disk images. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/man/fuse.1 Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-25 16:19:54 UTC (rev 3789) +++ trunk/fuse/hacking/ChangeLog 2008-10-25 22:46:20 UTC (rev 3790) @@ -2904,3 +2904,5 @@ when using RZX recording. 20081024 man/fuse.1: update. Still TODO: debugger updates. 20081024 man/fuse.1: debugger updates. +20081024 man/fuse.1: minor update for disk formats and compressed disk images + (Fred). Modified: trunk/fuse/man/fuse.1 =================================================================== --- trunk/fuse/man/fuse.1 2008-10-25 16:19:54 UTC (rev 3789) +++ trunk/fuse/man/fuse.1 2008-10-25 22:46:20 UTC (rev 3790) @@ -3404,8 +3404,9 @@ .RE .PP .I .SAD +.I .SDF .RS -For compatibility with SAM Coup\('e disk images using this format. +For compatibility with SAM Coup\('e disk images using these formats. Note that SAM Coup\('e `.DSK' images share the same format as `.MGT'. .RE .PP @@ -3438,11 +3439,6 @@ .I http://www.cpc-emu.org/linux/cpcemu_e.txt .RE .PP -.I .SDF -.RS -TODO -.RE -.PP Fuse supports most of them for writing: .I .UDI .FDI .MGT .IMG .SAD .TRD .SCL .DSK (only the old CPC format). @@ -3472,9 +3468,7 @@ or .IR gzip (3) just as if they were uncompressed. -.I libdsk -provides an equivalent functionality for +3 images if available, -but there is currently no support for reading compressed +D or Beta +There is currently no support for reading compressed +3, +D or Beta disk images. .\" .\"------------------------------------------------------------------ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2008-10-28 20:55:51
|
Revision: 3796 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3796&view=rev Author: specu Date: 2008-10-28 20:44:45 +0000 (Tue, 28 Oct 2008) Log Message: ----------- Fixed a typo in the configure script (was '--without-libsamplerate use libsamplerate') (Marek) Modified Paths: -------------- trunk/fuse/configure.in trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/configure.in =================================================================== --- trunk/fuse/configure.in 2008-10-27 21:02:43 UTC (rev 3795) +++ trunk/fuse/configure.in 2008-10-28 20:44:45 UTC (rev 3796) @@ -380,7 +380,7 @@ dnl Check if libsamplerate is available AC_MSG_CHECKING(whether libsamplerate support requested) AC_ARG_WITH(libsamplerate, - [ --without-libsamplerate use libsamplerate], + [ --without-libsamplerate don't use libsamplerate], if test "$withval" = no; then libsamplerate=no; else libsamplerate=yes; fi, libsamplerate=yes) AC_MSG_RESULT($libsamplerate) Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-27 21:02:43 UTC (rev 3795) +++ trunk/fuse/hacking/ChangeLog 2008-10-28 20:44:45 UTC (rev 3796) @@ -2906,3 +2906,5 @@ 20081024 man/fuse.1: debugger updates. 20081024 man/fuse.1: minor update for disk formats and compressed disk images (Fred). +20081028 configure.in: Fixed a typo in the configure script + (was '--without-libsamplerate use libsamplerate') (Marek). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fr...@us...> - 2008-10-29 12:04:42
|
Revision: 3797 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3797&view=rev Author: fredm Date: 2008-10-29 12:04:34 +0000 (Wed, 29 Oct 2008) Log Message: ----------- Move up settings_end to happen just after printer_end for simmilar reasons - on OS X settings_end refers to machine and other entries, so must be complete before deallocating the machine arrays. Modified Paths: -------------- trunk/fuse/fuse.c trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2008-10-28 20:44:45 UTC (rev 3796) +++ trunk/fuse/fuse.c 2008-10-29 12:04:34 UTC (rev 3797) @@ -751,6 +751,10 @@ set from memory for the text output */ printer_end(); + /* also required before memory is deallocated on Fuse for OS X where + settings need to look up machine names etc. */ + settings_end(); + psg_end(); rzx_end(); debugger_end(); @@ -774,8 +778,6 @@ widget_end(); #endif /* #ifdef USE_WIDGET */ - settings_end(); - libspectrum_creator_free( fuse_creator ); return 0; Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-28 20:44:45 UTC (rev 3796) +++ trunk/fuse/hacking/ChangeLog 2008-10-29 12:04:34 UTC (rev 3797) @@ -2908,3 +2908,7 @@ (Fred). 20081028 configure.in: Fixed a typo in the configure script (was '--without-libsamplerate use libsamplerate') (Marek). +20081029 fuse.c: move up settings_end to happen just after printer_end for + simmilar reasons - on OS X settings_end refers to machine and other + entries, so must be complete before deallocating the machine arrays + (Fred). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2008-10-31 16:22:23
|
Revision: 3801 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3801&view=rev Author: pak21 Date: 2008-10-31 16:22:13 +0000 (Fri, 31 Oct 2008) Log Message: ----------- Small update for 0.10.0. Modified Paths: -------------- trunk/fuse/README trunk/fuse/hacking/ChangeLog Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2008-10-30 10:14:06 UTC (rev 3800) +++ trunk/fuse/README 2008-10-31 16:22:13 UTC (rev 3801) @@ -5,8 +5,9 @@ unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home computer, especially in the UK) for Unix. However, it has now also been ported to Mac OS X, which may or may not count as a Unix variant -depending on your advocacy position and emulates some of the -better-known ZX Spectrum clones as well. +depending on your advocacy position and Windows which definitely isn't +a Unix variant. Fuse also emulates some of the better-known ZX Spectrum +clones as well. What Fuse does have: @@ -15,7 +16,7 @@ Pentagon 128, "512" (Pentagon 128 with extra memory) and 1024 and Scorpion ZS 256 emulation. * Runs at true Speccy speed on any computer you're likely to try it on. -* Support for loading from .tzx files. +* Support for loading from .tzx files, including accelerated loading. * Sound (on systems supporting the Open Sound System, SDL, or OpenBSD/ Solaris's /dev/audio). * Emulation of most of the common joysticks used on the Spectrum Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2008-10-30 10:14:06 UTC (rev 3800) +++ trunk/fuse/hacking/ChangeLog 2008-10-31 16:22:13 UTC (rev 3801) @@ -2912,3 +2912,4 @@ similar reasons - on OS X settings_end refers to machine and other entries, so must be complete before deallocating the machine arrays (Fred). +20081031 README: small update for 0.10.0. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |