=----------------------------------------------------------------------------=

                ____            __  ___
               / ___| _ __   ___\ \/ / |_ _ __ _   _ _ __ ___
               \___ \| '_ \ / _ \\  /| __| '__| | | | '_ ` _ \
                ___) | |_) |  __//  \| |_| |  | |_| | | | | | |
               |____/| .__/ \___/_/\_\\__|_|   \__,_|_| |_| |_|
                     |_|
                           !  SpeXtrum v0.3 Beta  !
                           !    23rd July 2004    !

  Note: This is a Beta release and as such should be considered in the Beta 
  stages of development. Please bear this in mind, as although this is a 
  vastly updated version from the Alpha, SpeXtrum may or may not work as 
  expected and may contain bugs.  Use at your own risk! 

=----------------------------------------------------------------------------=

  Changes:
  =------=
  
  Changed for v0.3 Beta:
  
    + - Fixed memory leak which caused the xbox to hang after 10/15 mins use.
    + - Fixed bug which caused Flicker Filter level not to be saved.
    + - Improved file loading, more snapshots and tape images should work now.
    + - Better optimizations, improved frame rate especially with HQ2x.
    + - File list now 'remembers' its position.
  
=----------------------------------------------------------------------------=

  Introduction:
  =-----------=

  SpeXtrum is a ZX Spectrum emulator written from scratch for the XBOX, it is 
  not a port of any existing emulator.

  Current Features:

    + - Spectrum 48K, 128K and Plus 2 emulation
    + - Spectrum Plus 3 emulation.
    + - AY-8912 sound emulation.
    + - Accurate screen emulation.
    + - Snapshot support (both .SNA and .Z80 formats) - loading only.
    + - TAP file support (with instant loading ability).
    + - TZX file support (16x high-speed loading option).
    + - Accurate tape loading
    + - Joystick emulation (Sinclair 1, 2 and Kempston).
    + - ZIP file support (loads first compatible file found).
    + - Virtual keyboard.
    + - Full support for USB keyboards.
    + - Software Video filters (AdMAME, HQ2x, 2xSAI, SuperEagle, Scanlines)
    + - Hardware filter options
    + - Flicker filter (selectable flicker level)
    + - Widescreen video mode support (currently disabled).

=----------------------------------------------------------------------------=

  Getting started:
  =--------------=

  On loading you will be presented with the emulator running with it's default
  configuration and the familiar Sinclair/Amstrad boot screen.

  Tap the right thumbstick in, and select the Main Menu icon.  You will then
  see a number of options, as detailed below:

  Main Menu
  |_
    File Browser (with directory structure and file format filtering)
    |
    Hardware Select (48k and various 128k models)
    |
    Settings
    |_
      Emulation Settings
      |_
        Autoload (toggle)
        High Speed loading (toggle)
        Instant loading (toggle)
        Joystick setting
      |
      Video Settings
      |_ 
        Software filter
	Hardware filter
	Flicker Level
        Widescreen adjustment
    |
    Credits
    |
    Quit SpeXtrum (returns to Dashboard / disk menu)

  Most menu screens have a helpful display highlighting what button on the 
  D-pad does what, but in the main, A accepts or advances, B moves up a 
  directory level in the file browser and BACK cancels and moves back a screen
  or returns to the emulation.

  The File Browser is explained in the chapter below, so let's just go 
  through the rest of the menu first.


  Emulation Settings:
  =-----------------=

  The various Emulation settings are related to tape loading (except, of 
  course, the Joystick menu) 

  - Autoload
 
  With this option enabled SpeXtrum will automatically start loading a tape
  or disk when one is selected from the file browser.

  - Instant Tape Loading

  When loading TAP files SpeXtrum will try to load the file without emulating
  the Spectrum loading process.
 
  In some cases this may cause compatibility issues. If a TAP file does not 
  run correctly using this mode, try loading the file with this option disabled
  and/or High Speed Loading enabled.

  - High Speed Loading

  The normal Spectrum loading process can be quite lengthy, with this option
  enabled SpeXtrum will detect the loading process and will run the emulation
  16x faster. 

  This is useful when loading tape image files for which instant loading 
  does not work. Currently this includes all TZX format files.

  For example this option causes a TAP image of Fantasy World Dizzy to load in
  just over 1 minute 40 seconds. This is compared to a usual loading time of
  over 10 minutes.

  Instant and High Speed loading can not both be enabled at the same time.

  - Joystick Type

  Controls the type of joystick interface which is currently being emulated.
  The default is Kempston.


  Video Settings:
  =-------------=

  The options on the Video Settings menu control the overall image that is
  displayed by SpeXtrum.

  - Software Filter

  This option controls which (if any) of the various software image filters
  will be used when rendering the Spectrum video image.

  - Hardware Filter

  Selects the type of image filtering the XBOX hardware should apply to the 
  display. This applies to the whole display, both emulation output and UI.

  - Flicker Level

  Controls the amount of screen flicker. Higher levels of flicker may give a
  sharper image with a trade off against the stability of the image.
  Combinations of flicker level and soft/hardware filters can be used to adjust
  the display.

  - Widescreen Adjustment

  Allows those with 16:9 displays to run the Spectrum in it's intended aspect 
  ratio as opposed to being stretched out.
  This is currently disabled in this point release.

=----------------------------------------------------------------------------=

  The File Browser:
  =---------------=

  One of the biggest improvements over the 0.1 Alpha is the file browser.  Now
  you can access snapshots, tapes and disk files from anywhere on the Xbox
  (and even from a DVD-ROM if required).  Once you've clicked File Browser in
  the main menu you'll see the familiar drive letters in the window on the 
  right. Simply navigate to the required folder (A goes into a folder, B goes 
  back to the parent folder) until you get to your Spectrum games folder. This 
  can be anywhere on the harddrive or DVD, and can be as many folders as you 
  wish.

  You can then filter which types of files you want with the options on the 
  left hand side of the screen.  They consist of snapshots (.SNA, .Z80), 
  tape files (.TAP) and disk files, separately, or you can click ALL to show
  all files.

  Once you've clicked on the file you want, the emulator will switch back
  into focus and your game will be in the Spectrum.  If it's a snapshot file
  the game will load instantly to the point the snapshot was taken; tape files
  will load automatically if the option is toggled in the Emulation settings
  and the right thumbstick button will bring up tape transport controls, such
  as play, rewind and eject.  

=----------------------------------------------------------------------------=

  In game:
  =------=

  The default controls in game use the D-pad or left thumb stick to emulate 
  the joystick and the A button for fire. The type of joystick that is 
  emulated can be changed from the EMulation Settings menu.

  Other default controls you should be aware of include the Right Trigger on
  the Joypad to bring up the virtual keyboard (check that out!) and we've 
  already mentioned the Right Thumbstick brings up the popup menu.

  As well as the tape/disk controls (rewind play eject etc) the popup menu 
  also contains controls for accessing the main menu and an option to reset
  the current emulation.

=----------------------------------------------------------------------------=

  Fine Tuning:
  =----------=

  All controls are fully definable from the mappings.xml file in the media/
  folder.  Should you wish to use the X button for the SPACE BAR, for example,
  simple change the line 

  <action description="Spec Space" actionid="157" keyboard="space" />	

  to

  <action description="Spec Space" actionid="157" gamepad="X" />	

  SpeXtrum's xml format allows for multiple controls for each actionid, so you
  could just add the above line underneath the other to keep both Space on the
  keyboard /and/ X for SPACE BAR, rather than replacing it.

  A list of all the action id's will be made available sometime in the future.

  As can be seen in the mappings.xml file, the other controls of note for
  those of you using a real USB keyboard are:

  > Caps Shift - either Shift key
  > Symbol Shift - either CTRL key
  > Space - Space
  > Delete - Backspace
  > Break - Escape
  > Extended Mode - Tab

  Note that SpeXtrum prompts you to save all changes to the configuration when
  you choose Quit from the menu.  This includes any menu settings, default
  hardware etc.

=----------------------------------------------------------------------------=

  To do:
  =----=

    + - Save states
    + - Screen adjustment
    + - Complete skinning support
    + - Control definition from within the UI

=----------------------------------------------------------------------------=

  Credits:
  =------=

  Programming / Interface / Conception: Carcharius
  carcharius@gmail.com

  Default Skin / Readme: Asterix*
  alexmarkcarroll@hotmail.com

=----------------------------------------------------------------------------=

[end of file]