=----------------------------------------------------------------------------= ____ __ ___ / ___| _ __ ___\ \/ / |_ _ __ _ _ _ __ ___ \___ \| '_ \ / _ \\ /| __| '__| | | | '_ ` _ \ ___) | |_) | __// \| |_| | | |_| | | | | | | |____/| .__/ \___/_/\_\\__|_| \__,_|_| |_| |_| |_| ! 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 to 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]