Short:    SNES Emulator for PowerPC (WarpUP) V3.5a
Author:   MagicSN@Birdland.es.bawue.de (Amiga Port), chinoclast@softhome.net (Sound Code), Jeremy Koot and Gary Henderson (original Unix Version)
Uploader: MagicSN@Birdland.es.bawue.de
Type:     misc/emu

New in V3.5a

- No crashes on exit anymore with sound enabled (V3.5 sometimes crashed on
  exit if sound enabled, i found the bug and fixed it). Else no changes in
  this version.

New in V3.5:

- Sound Support !!!

Options for AHI-Sound:

-nosound: Switch off Sound (Default: Sound is on)
-soundskip: values 0-3, only if sound is disabled
-soundquality:

0 - off
1 - 8192
2 - 11025
3 - 16500
4 - 22050 (default)
5 - 29300
6 - 33600
7 - 44000

Try a bit around what produces the best output !!! Also try
around with your AHI settings. Usually GOOD is:

* Paula = Set frequency as high as possible
* Sound Board = Set frequency to EXACTLY the one set in soundquality,
                for example 22050

If the sound jerks, play around with the settings !!!

-stereo (default)
-mono
-buffersize: 4096-32768 (default: 16384)

(Try playing around with this too... i think the default gives the
best results)

Important note to owners of Soundboards:

Appearently it does not work nice with Soundboard (at least not with
my Prelude). It only jerks. The same happens when i use my Soundboard
with Abuse 68k. I do not know if the hardware or the AHI Driver is
the problem.

There exists a

-prelude

Parameter for Prelude native sound. Not sure if it will make it into
the first sound-supporting version already, but there will be an update
of WarpSNES soon. Hopyfully then it will also sound good on Prelude.

The next version hopefully will also support SNES9x 1.18e changes. But
i wanted to finish sound-support first !!!

New in last version:

- Removed the AGA Speedup again, as it was incompatible with some games (actually
  a LOT of games). These games then only crashed, even if called on a GFX Board
  Screen. I now provided two versions of the executable, WarpSNES without the
  AGA speedup, WarpSNES.old with it (but not all games run on WarpSNES.old).
  WarpSNES is V3.4, WarpSNES.old is V3.3.

New in last version:

- Major speedup for AGA (thanks to the author of SNES9xPPC for hints)
  Note: For optimal speed it is still recommended to use a CD32 Joypad.
  Keyboard controls are rather slow. But AGA display now runs at 80%
  of GFX Board Display.
- Now also works on systems without TCP/IP Stack installed (actually
  removed TCP/IP part, as it still was not working... will reinsert it
  later... now back to try to make the sound working :) )

New in last version:

- Adapted Sources to new-released SNES9x 1.10 (which means mainly that the DSP Emulation
  improved so that more games run now, MarioKart *nearly* runs fine now)
- Changed Joypad Buttons, so that they come closer to the real SNES
- -minimal option added to switch of keyboard code with exception of ESC (did not
  give much of a speedup, though)
- Network Support of 1.10 SNES9x (Untested, might not work)
- No unzip support of 1.10 SNES9x (but gzip Support works like always)
- Sound still does not work, sorry, also no ASM Optimizations yet... (maybe next 
  version...). If anybody has an idea about the sound, contact me :) 
- fps should now show the real value for frameskip
- added a 4th GUI sent to me by the author, Johan Lundell (ghwerig@home.se).
  Thanks for the Support :)

- Last version:

- frameskip now works. Note: the fps counter will show the 

  Frames Displayed / second

  So the number will be much lower than your gaming feeling.
  Somehow i am not sure if the number is displayed correct. If i
  do -f 0 i get 36 fps, if i do -f 2 i get 15 fps, but the 15 fps
  of -f 2 are definitely faster than the 36 fps :) The 36 fps are
  correctly calculated however... somehow measuring goes strange
  when frameskip is enabled... as the result looks much more like
  50 fps than like 15 fps...

  Use -f 0 to play with every frame displayed.

- Included a new version of SNES9xgui
- Included wsl GUI which by mistake was not included last time (instead
  theguis.lha included an old version of WarpSNES last time... shame on me :) )

New in last versions:

- Lots of bugfixes
- If Subdirectory Snapshots exists, saving works
- Added 3 GUI's sent to me by different people. Use the one you like best :)
  Thanks to Andreas Falkenhahn, Rune J. Keller and Sinan Gurkan for the
  GUI's (personally i prefer snes9xgui from Andreas Falkenhahn)
- Note about the GUIs: The GUI of Andreas Falkenhahn sets the name of the
  Emulator (it works with both WarpSNES and SNES9x for 68k) in a Tooltype.
  The GUI of Sinan Gurkan assumes the name to be WarpSNES, the GUI of Rune J.
  Keller enables the user to choose a name.
- Another note: Even if Andreas' GUI display's .zip'ed files, WarpSNES does not
  run these. It can run gzip, not zip !!! That was a misunderstanding between
  me and Andreas, hopefully fixed in the next version of the GUI :)
- BTW: WarpSNES now also runs .fig format, not only .smc !!!
- 15/16 Bit for *all* GFX Boards with WORKING Transparency effects
- Mousepointer is switched off during the game runs
- Still no sound, sadly. Hopefully next version :)

Notes:

- -speedhack gives 1-2 extra fps, but does not work with all games
- as long as sound does not work -nosound is also useful, gives 3-4 extra
  fps normally
- 16 Bit looks much better than 15 Bit, and is not slower
- 256*256 Screenmodes enable a special optimization that gives 1 extra fps
- 15/16 Bit is only recommended for PPC 604e + Zorro III Boards, it really
  pushes your system to its limits (on my system Earthworm Jim runs with
  -speedhack -nosound on a 256*256 16 Bit Mode - RGB16PC - at around
  24-25 fps... probably on a GFX Board without Byte-Swapping 16 Bit is 
  faster...)
- Byteswapping for 15/16 Bit is MUCH optimized. If anyone thinks he can
  do better, contact me :) A piece of code to load 8 Bytes at once from
  memory, Byteswap them and store them to memory, using lfdu/stfdu, would
  be nice... currently i am using "4-Bytes at once".

New in the last version:

- "Wrong-Colors-Bug" of the first version (the colors looked dull at best)
  fixed.
- Experimental 16 Bit Support integrated. Transparency currently lets things
  look in very strange colors (Transparency can be toggled on/off by pressing
  F10). 16 Bit currently only works on GFX Boards with RGB16PC GFX Modes (for
  example Picasso IV or Piccolo SD64). I do NOT guarantee that you won't get
  crashes in 16 Bit mode, activate it with -hicolor.
- stretch currently does not work (but why anyways, on Amiga you can do a
  screenmode the size that you get Fullscreen !!!)
- hires support added (activate it with -hires)
- snes: assign is not needed anymore
- Loading of Compressed Files is now supported (use gzip to pack an Image
  File, gzip should be on Aminet, and no, gzip is NOT the same like zip !!!)
  The loading of the packed image files is very fast, as it is PPC Boosted :)
  You then don't need the depacked images anymore on your harddrive. The
  Emulator depacks them to RAM and starts them... :) Thanks to zlib...

If ANYBODY has an idea why 16 Bit stuff looks that strange, please tell me !!!
I will then add the 16 Bit support for the other GFX Boards, also... hopefully
the next versionwill also have sound-support. I also hope that till the next
version Phase 5 have ruled out the problems with their A1200-FlashROM-Software.

BTW: Remember to raise the stack to a higher value.

WarpSNES Documentation
======================

Games reported to run/not to run:
---------------------------------

Game            Runs ?          Hardware                    fps
----            ------          --------                    ---

Earthworm Jim   yes             150 MHz 604e + Picasso IV   27
R-Type III      yes             150 MHz 604e + Picasso IV   32
Mariokarts      no              150 MHz 604e + Picasso IV   --
Ranma 1/2       yes             150 MHz 604e + Picasso IV   30
Uniracers       yes             150 MHz 604e + Picasso IV   28
Final Fantasy 5 yes             150 MHz 604e + Picasso IV   32

For the AGA users among us, i did also some AGA tests.

Earthworm Jim   yes             150 MHz 604e + AGA          21
R-Type III      yes             150 MHz 604e + AGA          23

WarpSNES is the first SNES Emulator for the PowerPC. It is really fast.
WarpSNES needs WarpUP V12 and the rtgmaster.library to run. If you want
Joystick/Joypad Support, you should also have the lowlevel.library.

An assign snes: has to exist.

WarpSNES bases on the great SNES9x code by Jeremy Koot and Gary Henderson.

At this place the copyright notice:

/*
 * Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
 *
 * (c) Copyright 1996, 1997, 1998 Gary Henderson (gary@daniver.demon.co.uk) and
 *                                Jerremy Koot (jkoot@euronet.nl)
 *
 * Super FX C emulator code
 * (c) Copyright 1997, 1998 Lestat (lstat@hotmail.com) and
 *                          Gary Henderson.
 * Super FX assembler emulator code (c) Copyright 1998 zsKnight and _Demo_.
 *
 * DSP1 emulator code (c) Copyright 1998 Lestat and Gary Henderson.
 * DOS port code contains the works of other authors. See headers in
 * individual files.
 *
 * Permission to use, copy, modify and distribute Snes9x in both binary and
 * source form, for non-commercial purposes, is hereby granted without fee,
 * providing that this license information and copyright notice appear with
 * all copies and any derived work.
 *
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event shall the authors be held liable for any damages
 * arising from the use of this software.
 *
 * Snes9x is freeware for PERSONAL USE only. Commercial users should
 * seek permission of the copyright holders first. Commercial use includes
 * charging money for Snes9x or software derived from Snes9x.
 *
 * The copyright holders request that bug fixes and improvements to the code
 * should be forwarded to them so everyone can benefit from the modifications
 * in future versions.
 *
 * Super NES and Super Nintendo Entertainment System are trademarks of
 * Nintendo Co., Limited and its subsidiary companies.

WarpSNES is AFAIK the first Amiga-port of SNES9x, and it is for PowerPC and
damned fast !!! :)

And before someone asks: I know that the latest Flashrom Update for BlizzardPPC
has problems with WarpUP. But this is not my problem, it is the problem of
Phase 5. They should fix it. As long as it is not fixed i can only recommend
NOT to update the FlashROM if you did not do it already and wait for a bugfixed
version (the latest FlashROM has not only problems with WarpUP, but also with
MUI and other things, so it is NOT recommended).

Now we come to the more detailed docs:

WarpSNES does not (yet...) support :

- Sound
- Emulation of SNES Mouse
- timing correction

If someone could help me with SNES Sound-Stuff (a coder of a 68k SNES Emulator
maybe...), simply contact me. Also if you think you can do a nice GUI for it,
contact me... at MagicSN@Birdland.es.bawue.de...

WarpSNES will get better versions later...

It has to be said, that i only can recommend using a CD32 Pad with this emulation.
The keyboard movement sucks IMHO (you can't press several keys at the same time !!!)
Play it with the CD32 Pad for the correct Console-Feeling...

The movement:

(Controller always means that you also can get this function by using a CD32 Controller
instead of pressing a key...). I tried to stay as close as possible with the original
SNES9x controls. A lot of functions are available on several keys.

Controller 1:

- cursor right or controller => Right
- cursor left or controller => Left
- cursor up or controller => Up
- cursor down or controller => Down
- Keypad Enter or controller "Play" => Start
- Keypad Plus => Select
- Insert or Controller => TL
- Remove or Controller => TR
- Home or Controller => X
- End or Controller => Y
- Pageup or Controller => A
- Pagedown or Controller => B

Controller 2:

- K, Cursorblockright, Controller => Right
- H, Cursorblockleft, Controller => Left
- N,J,Cursorblockdown, Controller => Down
- U,Cursorblockup,Controller => Up
- Return, Controller => Start
- Space => Select
- A,V,Q,Controller => TL
- Z,B,W,Controller => TR
- S,M,E,Controller => X
- X,,,R,Controller => Y
- D,.,T,Controller => A
- C,\,Y,Controller => B

- 1-5: No idea what this does, but something... ("BG_Forced")
- 0: Disable HDMA
- 8: Toggle BGLayering
- 6: Swap Joypads
- Backspace: Toggle DisableGraphicWindows
- P: Pause
- <: Something with frame-skip, probably does not yet have an effect
- +: ""
- left alt+f2 or del => load snapshot
- left alt+f3 or help => save snapshot

New options not in the original Unix Version:

-nosecondjoy

disables second joypad for less contextswitches

-showfps

shows the fps rate on the game screen


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
   40196   15957 60.3% 14-Oct-98 01:41:12  CHANGES
    1575     752 52.2% 14-Oct-98 01:41:12  COPYRIGHT
    9365    9365  0.0% 14-Oct-98 19:11:48  gui4.lha
    1072     606 43.4% 20-Mar-99 22:43:02  PPC.notes
   19065    7858 58.7% 14-Oct-98 01:41:12  PROBLEMS
   34601   14206 58.9% 14-Oct-98 01:41:12  README.TXT
   42188   42188  0.0% 20-Mar-99 22:47:36  SNES9xGUI1_9.lha
     195     149 23.5% 20-Mar-99 22:47:12  SNES9xGUI1_9.readme
   14418   14418  0.0% 21-Mar-99 20:00:20  SNESLauncher.lha
    1656     905 45.3% 20-Mar-99 22:38:04  Sound.notes
 1821432  165910 90.8% 21-Jun-99 18:15:32  WarpSNES
   13204    5823 55.8% 21-Jun-99 18:16:50  WarpSNES.readme
   47018   47018  0.0% 26-Aug-98 00:17:46  wsl.lha
-------- ------- ----- --------- --------
 2045985  325155 84.1% 22-Jun-99 19:42:28   13 files
