NOTE TO USERS WHO HAVE v0.05 and below: Change the "cycles_per_scanline" in squeem.ini
to "115", this was a problem i have forgot to remove when it makes a cfg file.  If you
dont do this, it will go slow.


NOTE: the default video plguin is SLOW, its there so you can explore the features and
stuff.  switch to the "ddvideo" plugin, its way faster and fullscreen, but switch
AFTER you explored all the neato features :)


squeem - By: Dead_Body
----------------------
Hey, this is my emulator for Windows, called squeem (no, its not related to bleem).  It 
is very basic and, well, rather shitty BUT it IS going to improve a whole bunch!  Im going
to try to make it the next NESticle, but i doubt it will ever get that good, because im 15
and not as experienced as Sardu (the author of WONDERFUL NESticle).  Well, thats the basic
story of squeem, i hope you like it and support it.

Everyone get Pretendo!  The makers of that like help me so much, so get thier emu!
Pretendo website - http://www.pretendo.org/

Oh yeah, i dont know what these things called "roms" are, so dont email me asking what
they are, what they do, how to get them, how to make them, why you need them, who should
have them, how old they are, what they smell like, if they will go out with you, if they
taste good, if they are legal, when i will know what they are, how many there are, why
they are cool, why they murdered your hampster, if they work with squeem, if they are for
sale, if they made one for you, why you cant find any, why there is so many, when people
will release them, how they eat, what they eat, when they eat, why they eat, how much 
they eat, what thier blood type is, if they have a favorite band, why they drive small
cars, how they can talk, what planet they are from, who created them, if they have a rom
god, if they can come out and play, why they dont wanna kiss you, if they play with you
cat, how they look, if they look good, if they wanna watch tv with you, and finally if
you can have them.


Plugins
-------
Yes, squeem uses plugins.  The idea came from PSEmu Pro (when i started, i didnt know about the
other kick ass nes emulator pretendo).  Here is the recomended plugins to use:

   ddvideo for the video plugin
   wininput for the input plugin

Them should get you up and running your games very fast.  If, for some weird reason, the ddvideo
plugin or any other plugin dont work, e-mail me and we can meet somewhere over the internet and
talk about the problem (if i havent already fixed it).  As far as i know, all the plugins should
work on any system (except for g2video, which requires a 3dfx card).


Cheat dialog
------------
For a picture which makes it easy to understand, visit this webpage:
   http://squeem.emucamp.com/cheat.htm

The cheat dialog...very handy and complicated device.  I will explain what each button
does in each group.  It would be easier to visit the webpage on it, but whatever pulls
your little red wagon will do.

   "Cheats loaded" section
   -----------------------
   This section shows all loaded cheats in a listbox.  There are three buttons up top
   for you to use, here is what they do:
      Delete: Delete the selected cheat
      Load: Load up a new set of cheats from a file
      Save: Save the current set of cheats to a file

   "Add (hex)" section
   -------------------
   In this section, you can add memory locations, game genie codes, or the location
   selected in the search list box (see below).  To add a game genie code or memory
   location, enter it in the edit box.  If its a memory location, enter it in like
   a hex digit (0 through F).  If you enter a memory location or select a search
   result, you will need a value for it to do something useful, so enter it in below
   in the "Cheat value" box in the "Edit (integer)" group (see below).  After you
   have entered something in, or searched and selected a memory location from the 
   search results box, press one of the buttons below the edit box, here is what
   each button does:
      Add memory: Add a memory location you entered in the edit box (with values set)
      Add game genie: Add a game genie code you entered in the edit box
      Add search: Add a memory location selected in the search results list (with values set)

   "Edit (integer)" section
   ------------------------
   Here you can change RAM values or set the cheat value for a cheat.  If you want to set a RAM
   value, enter it in in the RAM value edit box.  If you need to add/edit a cheat's value, use
   the Cheat value edit box.  Here is what the two buttons do:
      Refresh: Refreshes the RAM value edit box with the current RAM value for the selected cheat
      Set: Sets the new RAM value and Cheat value with the one in the boxes

   "Search (integer)" section
   --------------------------
   Man all this typing sucks...oh well.  Here you can search the RAM for values you enter in the
   "value" edit box.  Just enter a value and select what to search from (new or the old results)
   then where to search (currently RAM only) and press the "Start searching" button.  Easy huh?


Debugger
--------
Umm...since this is easy to figure out and understand, ill let you figure it out.  But there
is just one little note: if you plan on changing a, x, y, s, or pc, you should pause the
emulation, bring up the debugger, then change and apply them.  If you dont bad stuff may
happen...


Buttons to press
----------------
Here is what the buttons do:

  Keys you would want to use:
    F1     - Pause emulation
    F4     - Save current state
    F5     - Load current state
    Escape - Quit the emulator
   *Up     - Joystick up
   *Down   - Joystick down
   *Right  - Joystick right
   *Left   - Joystick left
   *Z      - B button
   *X      - A button
   *Tab    - Select button
   *Enter  - Start button

* = default "wininput" plugin only

  Internal debugging keys:
    F10 - Dump the screen to "screen.out"
    F11 - Shutdown the video plugin
    F12 - Init the video plugin


What it does do
---------------
   * Emulates the 6502 completely and fast by using a kick ass 6502 emulator (see Credits) 
   * Almost all the registers
   * Scanline based background and sprite rendering
   * Plugins for video, input, and (coming soon) audio
   * Save/Load states
   * and a really nifty icon you can stare at :)
   * Palettes
   * Mappers: 0,1,2,3,7,11,32,34,71,78
   * Horizontal and vertical scrolling
   * Sprites: 8x8 and 8x16
   * Input (2 controllers and working on powerpad)
   * Sprite DMA
   * FAST FAST FAST emulation!
   * Debugger
   * Cheat dialog, for game genie and a little fun :) (not complete)
   * Frameskip
   * It prolly does more then this, cause im too lazy to update this section :)


What it dont do
---------------
   * Disk system and other weird add-ons (Zapper, Powerpad, etc...)
   * More mappers
   * Other crap is cant remember :)


Version history
---------------
   * Version 0.01 (first release)
      - First version and initial release (for DOS)
   * Version 0.02
      - Made it Windows
   * Version 0.03
      - Added mapper 2
   * Version 0.04
      - INPUT!
      - Fixed palette mirroring (thanks to Proxy)
      - Added mapper 7 (kinda)
      - Fixed up "wininput" plugin
      - Started to add powerpad support
      - Been a week, and FINALLY fixed the chrrom problem (VERY VERY stupid mistake >:( )
   * Version 0.05
      - Added all sound registers, but they so you dont get 82 million "unhandled write" messages
      - Made it more beautiful looking in fullscreen, and touched up ddvideo plugin
      - Made a Glide 2.x plugin, FAST
      - Added nifty debugger and cheat dialog
      - Added partial mapper1, mapper11, and mapper71 support
      - Added full mapper3 support
      - Created a Joystick Input plugin
      - Background priority for sprites (kinda)
      - Almost finished background renderer in assembly
      - Changed the $2002 register in the PPU to set write for $2005 (understand this? :)
      - Touched up mapper7
   * Version 0.06
      - Fixed a problem with default cycles per scanline
      - Little side note (im pissed): wasted a day looking for a bug because i changed the
        type of a variable.  That really sucks a fat one eh?
      - Added full mapper32 and mapper78 support
      - Added partial mapper9 and mapper34 support
      - Loading and saving of SaveRAM now
      - Fixed mapper2 bug
      - Completely rewrote mapper1
      - Pulse1 (Square Wave1) channel added (but no sound for you...yet)
      - Made 2 sound plugins (wavsound and nulsound)
      - Added fameskip-ish thing (uperiod in ini file)
      - Started to add Famicom DiskSystem support (dont use it yet :)
      - A windowed video plugin (using windows dib)...but its slow.
      - New settings dialog added
      - Save/Load state (squeem is almost the shit now, eh? :)
      - Customizable directories (roms and saves so far)
      - Fixed up the user interface a little (easier to use)
      - Started mapper4 and mapper15 (nothing works yet)
      - All the things in the menu works (except for the webpages, too lazy to add them)
      - Thing to see the average fps in the debug file when you quit (not quite working)
      - Improved lots of mappers (more games work)
      - Completely rewrote the mapper system, faster hopehully (i might of broke some
        games, and i might of fixed some games, who knows? :)
      - New menu item to load another rom without having to quit (big wow here :)
      - You can resize the window now if your using a windowed video plugin
      - PPU renderer plugins now, mainly for testing
      - Working on new renderer, which will be 100% accurate when finished (i hope it is)
      - Started my OWN 6502 emulator (currently with 3 opcodes and questionable addressing)


Notes
-----
   * You should use the default video mode for "ddvideo", or else it may have crap on screen
   * squeem slow on you?  try changing the "uperiod" setting to a higher value (uperiod = frameskip)


Contact info
------------
   E-mail: dead@squeem.emucamp.com
   Web: http://squeem.emucamp.com/


Credits
-------
   "Multi-6502 CPU emulator by Neil Bradley (neil@synthcom.com)"  <-- l33t :)
   \Firebug\ for the really cool mapper docs
   uzplayer- for getting me the hook up with a good site for hosting (Emucamp!)
   Marat Fayzullin for his emulator how-to, nes docs, and sound code from emulib
   Goroh for the FDS docs
   Jeremy Chadwick for the kick-ass nes documentation
   Crix_Sunrider for like being a great friend :)
   PrOxY and Delta for helping me with just about everything
   Lycia for explaining to me linear and ascending stuff
   Tennessee Carmel-Veilleux for the powerpad doc he wrote
   Chrome_X for beta testing my emulator
   ReaperSMS for telling me about stanknes (which i bummed a little code from)