xboxscene.org forums

OG Xbox Forums => Software Forums => Emulators => Topic started by: Carcharius on June 25, 2004, 11:17:00 AM

Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 11:17:00 AM
***** UPDATED ******

                          !  SpeXtrum v0.2A Beta  !
                          !    26th June 2004     !

 Changes:
 =------=

 Version 0.2A fixes a bug with emulating flashing attributes.

 Thanks to Tanas for pointing this out.

 For those that have already downloaded and installed v0.2 there is an XBE only
 package available (~340KB).

 Anyone downloading for the first time should download the full package (~1.7MB).

********************


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

                          !  SpeXtrum v0.2 Beta  !
                          !    25th June 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!

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

 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
   X - Spectrum Plus 3 emulation.
   + - Improved AY-8912 sound emulation (Robocop speech now works correctly).
   + - More accurate screen emulation.
   * - Snapshot support (both .SNA and .Z80 formats) - loading only.
   + - TAP file support (now with transport controls).
   X - TZX file support (preliminary support, not all TZX's will load)
   X - 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)
   X - Hardware filter options
   X - Flicker filter (selectable flicker level)
   X - Widescreen video mode support (currently disabled).
   X - Customisable keymappings in an xml (everything is changeable).

 Key to above:

   * - as v0.1
   + - enhanced over v0.1
   X - brand new in v0.2

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

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

 SpeXtrum v0.2 features a brand new UI.  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
 [email protected]

 Default Skin / Readme: Asterix*
 [email protected]

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

[end of file]
Title: Spextrum V0.2 Beta
Post by: deathx88 on June 25, 2004, 11:31:00 AM
this is great
ive been waiting for a new version  biggrin.gif
Title: Spextrum V0.2 Beta
Post by: spleen on June 25, 2004, 01:15:00 PM
Very nice.
This is a vast improvement on an already excellent emulator.
Now that the GUI is better, it's superb.
Thanks.

Have a beer on me. beerchug.gif  beerchug.gif
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 01:36:00 PM
Do you have the IGR options turned off in Evo-X?

The xbe is already patched for retail so that shouldn't need doing.

Carch
Title: Spextrum V0.2 Beta
Post by: Wiggly on June 25, 2004, 01:47:00 PM
Have you got your Xbox operating in PAL 50 mode?
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 01:52:00 PM
Did you turn off ALL of the IGR options?

It's possible the download got corrupted I guess. The file on xbins must be ok as spleen seems to have gotten it to run. So if anything has become corrupt it must be either during your download or whilst transferring to your xbox.

Could also be worth checking the software you used to unrar the package. It was compressed with WinRAR 3.20.

Also make sure you copied over ALL of the files from the RAR, and that you kept the directory structure the same.

Failing that - can you give some more info on your specific setup. You say you have a v1.0 xbox, is it PAL or NTSC, where have you installed SpeXtrum, which bios you are using etc.

Carch
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 01:55:00 PM
QUOTE (Wiggly @ Jun 25 2004, 10:47 PM)
Have you got your Xbox operating in PAL 50 mode?

Shouldn't matter - my own xbox is running PAL60 and SpeXtrum runs fine.
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 02:04:00 PM
That was v0.1.

This is v0.2!! wink.gif

That should not be an issue anymore.
Title: Spextrum V0.2 Beta
Post by: Wiggly on June 25, 2004, 02:09:00 PM
Excellent.  Just checked, this will save me switching video modes all the time. biggrin.gif

Maybe Pytzamarama has downloaded the older version.
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 02:11:00 PM
Phew - glad that worked! Won't have egg on my face now!
Title: Spextrum V0.2 Beta
Post by: Pytzamarama on June 25, 2004, 10:10:00 PM
Congratulations Carchacius.
Excellent work!!!
I redownload it and works Ok in PAL60
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 10:43:00 PM
Good call Tanas.

That one slipped through the net. I'll take a look and get an updated xbe out asap.

Carch
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 25, 2004, 11:44:00 PM
All fixed now (see first post of the topic)

Carch
Title: Spextrum V0.2 Beta
Post by: montymole on June 26, 2004, 01:32:00 AM
smile.gif

Very impressive  beerchug.gif
Title: Spextrum V0.2 Beta
Post by: pike-old on June 26, 2004, 03:58:00 AM


Stunning. Simply stunning! Having the game playing in the likkle window when bringing up the virtual keyboard is just showing off!

Very, very clever. Just a quick note, there is a dodgy version floating about on efnet, that winrar will give a bad crc - unexpected end of archive error, so don't mess about trying to get it to work

The newly posted version with the bug fix, works like a dream, though, and is already patched to retails, so you don't have to bother messing with that, either

Is there somewhere we can send/post bug reports?

Commando suggests pressing keys 1, 2, 3 or 4 for picking the type of joystick, but none of these keys are active on the virtual keyboard (they are ignoresd when selected). I think its a game specific bug, becuase you have to press 1 on the virtual keyboard to start Bomb Jack and that classic game works a treat!

Re Commando, no big problem as you can redefine the keys. Thus if someone knows what keys the Kempston, Sinclair 1, 2 or cursor emulated, then please post here. Then all we have to do is chose those keys and make sure you have the relevant joystick they mimic seleceted within the emu!


Carch promised us a Q2 release and has delivered in spades. I AM going to finish Alien Highway, NOW
Title: Spextrum V0.2 Beta
Post by: GrigOrig on June 26, 2004, 05:08:00 AM
Is there a way i can redefine the keys for Chuckie egg?
Title: Spextrum V0.2 Beta
Post by: pike-old on June 26, 2004, 05:41:00 AM

That game never had joystick options as I recall, so you can't even chose keys that mimic Kempston/Cursor/Sinclair

Hope that the main man adds a the ability for the xbox joystick to be recognised when redefining keys. Thus when the game asks 'key for Up?' You just press up on the stick etc. A possible future enhancement?
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 26, 2004, 05:55:00 AM
Select one of the Sinclair joystick types in the menu.

Then try redefining the keys using joystick directions.

Sinclair joystick types correspond to keys 6, 7, 8, 9 and 0 fro Sinclair 1. And 1, 2,  3, 4, 5 for Sinclair 2.

Carch
Title: Spextrum V0.2 Beta
Post by: Tanas on June 26, 2004, 08:55:00 AM
I always remember having problems with Chuckie Egg and redefining the keys to use a Siniclair Interface 1 or 2 on a real spectrum. The problem is that the up doesnt work unless you do diagonal up left or right, which means when you walk past a ladder you will go up it whether  you want to or not, depending on which  diagonal you assigned to up, which makes the game unplayable.
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 26, 2004, 10:41:00 AM
QUOTE (Tanas @ Jun 26 2004, 05:55 PM)
I always remember having problems with Chuckie Egg and redefining the keys to use a Siniclair Interface 1 or 2 on a real spectrum. The problem is that the up doesnt work unless you do diagonal up left or right, which means when you walk past a ladder you will go up it whether  you want to or not, depending on which  diagonal you assigned to up, which makes the game unplayable.

I noticed that with SpeXtrum earlier and thought it was due to misreading of the input. I was about to start trying to debug that!

So thanks Tanas - you've just saved me having to do that! smile.gif

It is possible to change the joypad mapping so that the xbox buttons represent spectrum keys rather than the joystick. At the moment you'll have to edit the mappings.xml file.

At the moment the thumbsticks can only really be mapped to joystick movement (I've forgotten to include mappings for the separate thumbstick directions...DOH!). But it is still possible to have say the left thumbstick mapped to joystick movement, A mapped to joystick fire, the d-pad mapped to (for example) Q,A,O and P, and X, Y, Z, Black or White mapped to other keys.

This way the majority of control options are catered for. If this seems like a good idea to people then I will make this the default setup in future versions, so comments please!

Ultimately the controls will be definable from within the UI, I just haven't gotten round to that yet!

Carch
Title: Spextrum V0.2 Beta
Post by: frakman on June 26, 2004, 04:35:00 PM
biggrin.gif

Half of the kids wishing to play emulated N64 games all the time don't know what they're missing. Speccy & C64 emulation still provides the best retro gaming experience on the xbox!

One thing that would look very cool in the future (if it's possible) is to incorporate GamebaseZX. Xport incorporated the amazing Gamebase64 into vice64X and although the Speccy version of the database only contains info on 500 of the most popular titles, having it would really make the whole Spextrum package shine.
Of course, you have enough on your plate right now but I didn't think it'd hurt to suggest it wink.gif
Title: Spextrum V0.2 Beta
Post by: Dahak on June 26, 2004, 08:37:00 PM
Absolutely the best implementation of a virtual keyboard I've ever seen. Great work Carcharius.
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 27, 2004, 12:14:00 AM
smile.gif

There's still plenty more to come from the GUI in future versions.

Carch
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 27, 2004, 01:46:00 AM
I'm guessing you've (accidentally) selected a drive/folder that doesn't have any compatible files in it.

Try pressing B to go back up a level.
Or quit and restart the emulator.


On another note - has anyone noticed the cunning time limit feature?????

ok, ok - it's not a time limit, there's a memory leak.

It takes a good while to cause any problems though, so most people probably won't notice.
I'm pretty sure I know where it is, so I'll be sure to fix that for the next release.

Carch
Title: Spextrum V0.2 Beta
Post by: Tazmanian_Devil on June 27, 2004, 05:13:00 AM
blink.gif
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 27, 2004, 09:09:00 AM
QUOTE

It's also quite unstable, I have had it freeze on me in both the menues, when trying to launch a .z80 & freeze ingame for no apparent reason.


This is most likely due to the memory leak I mentioned earlier. I'm pretty sure I've fixed it already. The one when loading the .z80 might be specific to that particular file though - can you send me that particular file by e-mail? (addy is in the readme).

QUOTE

I would be nice if you could consistently use the RED xbox button to move backwards in directories in both the options menu and the filebrowser menus.


You can if you want - it's just a case of changing the mapping in the mappings.xml file.

Beware though - if you have both directory up and previous menu as the same button then you will get some funky behaviour in the file browser! You'll probably find that you won't be able to go back a screen unless you go all the way to the root of the browser first (might not even go back then, can't remember how exactly I've got that working off hand).

Other things will most likely make it in over time.

Carch
Title: Spextrum V0.2 Beta
Post by: Tazmanian_Devil on June 27, 2004, 10:50:00 AM
tongue.gif , but will use the emu for easyness of loading games.

Nice one for the most excellent work ur doing.
Title: Spextrum V0.2 Beta
Post by: Pytzamarama on June 28, 2004, 01:59:00 AM
Carchacius your work is cool!!
Some suggestions
1)It would be nice to have the filebrowser "remember" the last game that it was loaded.Imagine u have 1000 games and you load them all in sequence.It will be nicer to give one down press to the dpad rather than begin from the first game.
2)Some games (especially the ones that are split into sections eg way of the tiger,karnov but also some regular games like way of the exploding fist) give an error
3)Screenhots would be a nice addition too
4)Save of the emulator configuration (I think u have already mentioned it)

Keep up the good work!!!!!!!!
Thanx
Title: Spextrum V0.2 Beta
Post by: Carcharius on June 28, 2004, 02:16:00 AM
wink.gif

4) you already can save the emulator configuration - when you use the 'Quit SpeXtrum' option you get asked if you want to save settings. Just choose yes to save them!

Carch
Title: Spextrum V0.2 Beta
Post by: Tanas on June 28, 2004, 03:03:00 AM
yadster, I've found that Bruce lee doesnt work when its .sna, but it works fine  when in .tap. This also may apply to other games, you never know.
Title: Spextrum V0.2 Beta
Post by: Tazmanian_Devil on June 29, 2004, 09:20:00 AM
Dunno if this is anything to do with the memory leak u was talking about but i was playing Daley Thompsons Olympic Challenge and my xbox hung after about 10 minutes.

UPDATE: Playing any game hangs my xbox after 10 mins or so
Title: Spextrum V0.2 Beta
Post by: Tazmanian_Devil on July 24, 2004, 06:41:00 AM
sad.gif

but other than that it seems to work fine, wieeeeeeee

beerchug.gif
Title: Spextrum V0.2 Beta
Post by: Carcharius on July 24, 2004, 06:49:00 AM
Were you loading from a snapshot or tape image? Try changing the type of joystick that is being emulated.

Can I ask that any further bugs/problems are posted in the new v0.3 specific thread. This makes it easier for me to track any problems etc.

Thanks

Carch