
Updated PHUNSY sources !

The project was revived on May 5th (yes, I am Dutch, and although
I live in the U.S. now, I still try do be off-work on that day ;-)
and several updates were done:

  - Made it compile with GCC, first step.
  - Cleaned up, removing dead code.
  - Added Windows resource file, program icon (the Signetics
    logo, from Wikipedia) and added version.h.
  - Added getopt.ch for Windows, preparing to use that later
  - Added timer.ch for Windows (itimer) so we can do proper
    instruction timing later.
  - Updated the SDL code to work with SDL2.
  - Updated the "roms" code, it is now included as roms.h.
  - Changed all types to use stdint (uint8_t etc) types.
  - Made things 'static' and 'const' where possible.
  - Fixed bug:

       if((ret&255)==127)
         if(extio[126]!=ext126_outold);  <---- semicolon?!
         {
           if(extio[126]==0)
             SDL_RemoveTimer(my_timer_id);
           else

    where that semicolon has to be removed.
  - Added the F12 key as a "QUIT" key for the emulator.
  - added Fullscreen (use -F commandline option) mode.
  - added GreenScreen (use -G commandline option) mode.

The program now compiles clean with MinGW (GCC), Visual Studio
and TCC (Tiny C Compiler) on Windows, for Intel x86, x64 and
ARM64 platforms. It also compiles clean on Linux, for the same
platforms, in my case using a Linux Mint distribution.

To compile, you use "make" (sorry folks, no CMake yet) with
a command like:

  make -f win32\Makefile.XXX ARCH=x86 DEBUG=n

for the Windows platform, where 'XXX' is MinGW, MSVC or TCC.

For Linux, the command is

  make -f unix/Makefile.GCC ARCH=x86 DEBUG=n

for the same result.

ARCH can be 'x86', 'x64', 'arm' (on Windows), or 'arm64' (also
on Windows) although it *should* work as-is using the GCC
Makefile on Linux as well. There is no reason why the Linux
version could not run on, say, a Raspberry Pi.

Note that the win32 directory also has a Solution file for use
with Visual Studio - if you use that environment, you can simply
doubleclick on the .sln file, and go from there.

DEBUG can be either 'n' (default) or 'y'. With debugging enabled,
you can use the GDB debugger in case things go bad.

Enjoy !

Fred N. van Kempen,
<waltje@varcem.com>

Last Update: 05/12/2023
