Hello everyone.
This is the first working version for OS/2 of one of the best ZX Spectrum
emulators out there: FUSE (https://fuse-emulator.sourceforge.net/).

As per what is reported in the source distribution, I am including all the
source code with the only modification I had to make in order to make the
executable work correctly.

**************************
** HOW DID I COMPILE IT **
**************************

First of all I configured and compiled the needed libraries and utilities, namely
libspectrum (https://fuse-emulator.sourceforge.net/libspectrum.php)
fuse-utils (https://sourceforge.net/p/fuse-emulator/fuse-utils/ci/master/tree/)

which were basically easy to compile and install. The fuse-utils package is
included in this distribution, by the way, compiled like this:
zlib support: yes
libjpeg support: no
libpng support: yes
libgcrypt support: no
libaudiofile support: no
libspectrum's internal GLib replacement: yes
******************************************************************************


Then I set two fundamental variables:

set LIBSPECTRUM_CFLAGS=-I/usr/local/include
set LIBSPECTRUM_LIBS=-l/usr/local/lib/spectrum.a

then I called configure like this in order to setup compilation against our SDL 2:

sh ./configure --prefix=/Fuse-160 --with-sdl --disable-sdltest --disable-gtk3 --disable-gtktest --without-x --with-sdl --without-gtk --with-audio-driver=sdl

You may use any directory you wish for prefix. Default is /usr/bin which I don't like
for application projects.

I had to modify the source code of ui/sdl/sdldisplay.c replacing
******************************************************************************

  if( settings_current.sdl_fullscreen_mode ) {
    if( sscanf( settings_current.sdl_fullscreen_mode, " %dx%d", &mw, &mh ) != 2 ) {
      if( !no_modes &&
          sscanf( settings_current.sdl_fullscreen_mode, " %d", &mn ) == 1 &&
          mn <= i ) {
        mw = modes[mn - 1]->w; mh = modes[mn - 1]->h;
      }
    }
  }



with
******************************************************************************

#if defined (__OS2__)
	mn = 0; // Remove useless warning
	mw = modes[0]->w;
	mh = modes[0]->h;
	fprintf (stderr, "OS/2 system: resolution is %d x %d\n\r", mw, mh);
#else
  if( settings_current.sdl_fullscreen_mode ) {
    if( sscanf( settings_current.sdl_fullscreen_mode, " %dx%d", &mw, &mh ) != 2 ) {
      if( !no_modes &&
          sscanf( settings_current.sdl_fullscreen_mode, " %d", &mn ) == 1 &&
          mn <= i ) {
        mw = modes[mn - 1]->w; mh = modes[mn - 1]->h;
      }
    }
  }
#endif



******************************************************************************
This because apparently a call to SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_SWSURFACE);
reports three modes available but only mode 0 is valid (and corresponds to fullscreen).
I'm willing to delve deeper in this and maybe prepare a new release allowing
also working in a SDL window.



******************************************************************************
Compiled with
make

and
make install
******************************************************************************

A quirk: the font file fuse.font gets broken somehow during compilation, so I got
it from a Linux distribution and put in ui/widget/fuse_font_good.font. If you want
to compile FUSE under OS/2 please don't forget to copy this into ui/widget/fuse.font 
before issuing "make install".

Well, hope this was useful. I did a quick test and it seems working pretty good, solid and fast.
As usual, YMMV and I cant' be considered liable for any damage should you suffer from
the use (or misuse) of this program.