home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-10-04 | 39.3 KB | 1,039 lines |
- ****************************************************************************
- ** X128 Spectrum 128 Emulator V0.8 **
- ** by James McKay **
- ****************************************************************************
-
- X128 runs under DOS, but can run under Windows '95 just fine.
- A 486DX+ is recommended. For the Sound Blaster version, a 486DX2-66 is
- recommended.
-
- The author accepts no responsibility for any damage caused to anything by
- this software - no software is bug free! Although it's never done my machine
- any harm so far...
-
- ========
- FIRSTLY:
- ========
- See further down the text file for details about the new TZX files!
-
- Starting from V0.7, x128 comes in two varieties:
-
- 1. Adlib version. This is like the older version of x128, and supports
- Adlib and internal speaker sound.
-
- 2. S.A.O.M. (Special Audio Output Mode) version, this uses the SB to produce
- excellent quality sound, including the 48k internal speaker and AY speech!!
-
- The ZIP file will be called X128V08A.ZIP for the Adlib version, and
- X128V08S.ZIP for the SAOM version.
-
- The SAOM version requires a faster machine than the Adlib version, if your
- machine isn't fast enough then the output will be fuzzy. Also the SAOM
- version cannot autodetect the machine speed, basically, if you try to set
- the SAOM version to go at a speed which makes the sound fuzzy, then you are
- asking it to go too fast. Do not think that as a result of this,
- your P266 MMX will run it ridiculously fast, this is not the case, and
- generally, if you do have a faster machine then SAOM is the version for you.
-
- Also note that even though low end 486s cannot use the SAOM version without
- fuzzy sound, it is worth a go, just to hear the speech!
-
- ========================================
- EASY GUIDE TO SPECTRUM FILES YOU CAN USE
- ========================================
- file.z80 : Use F5 to load.
- file.sna : Use F5 to load. ** NEW - Supports SNA 128! **
- file.slt : Use F5 to load.
- file.voc : Use F7 to select, then type load "" or use tape loader. *
- file.tap : Use F7 to select, then type load "" or use tape loader.
- file.tzx : Use F7 to select, then type load "" or use tape loader. *
- file.dsk : Use F12 to select then use loader (in +3 mode).
- file.trd : Use F12 to select (in TR-DOS), LIST (the K key) then <RETURN> for
- a directory, then do RUN "filename" <RETURN>.
-
- * With TZX and VOC files, you now have to unpause them in order for them to
- play. Press Alt-F8 to do this (make the play icon turn white).
-
- If you get a .z80 file with other files called .dat then these will be
- dealt with automatically, just load the .z80 as described above, and if the
- filenames of the .dat files are wrong then the file selector will appear and
- you will have to select the correct DAT, or press ESCAPE. If you downloaded
- it then this should not be the case. If the file is a SLT format file
- which has still been incorrectly named .z80 at the end, then this emulator
- deals with it automatically.
-
- file.mdr : This cannot deal with microdrive cartridges.
- file.fdi : This cannot deal with TR-DOS/Betadisk extended disk image files.
-
- Any other file type you come across cannot be handled in this version of
- the emulator.
-
- ===============================
- NOTE ABOUT MENU COLOUR SCHEMES:
- ===============================
-
- WHITE : It can be selected.
- CYAN : It is temporarily unavailable due to another option in use, for
- example.
- RED : It does not work, ie it has not been implemented in the emulator.
-
- =============
- INSTRUCTIONS:
- =============
- Once you have typed 'x128' to run the emulator and the 128 BASIC screen
- has appeared (hey, /mono users can't see the menu bar!) then the
- following function keys are available:
-
- ---------
- F1 - HELP
- ---------
- This brings up a list of the functions keys available on the Spectrum
- window, press ESCAPE to go back to the emulation.
-
- Now when you bring up this option, you can select the function of any
- other function key from the menu that appears, by using cursor up/down and
- return to select. The selected option will have a > beside it. When you
- have completed the selected option, you will return to the emulator, not
- the help screen.
-
- Options available here that aren't available anywhere else are:
-
- * Alter ULA Delay: This controls the lining up of overscan bits (see F8
- and F9 keys), the max. value is 255.
-
- * Alter Frame Skip: This allows you to set up the screen update, 1/1 is
- full update, 1/255 updates the screen once every 255 times. 1/0 is
- effectively 1/256.
-
- In the Adlib version the frame skip is automatically selected as a value
- between 1 and 5, the SB version will always start with frame skip 1.
-
- * Alter Slow Down: This only applies to the Adlib version, the range is
- 0-65535 where 0 is no delay and 65535 is a ridiculously large delay.
-
- * Percent Speed: On the SAOM version, you actually change the speed by
- changing the actual percentage speed (see values below).
-
- When changing the speed you are actually stopping and starting the DMA
- and reallocating it with a different size buffer! You are not allowed to
- set the speed below 10% but you can set it "too high", in other words:
-
- 4900% WILL CRASH YOUR PC.
-
- You have been warned, so don't do it. I will accept no liability!
- When you try to set the speed to higher values it starts to get
- inaccurate, this is due to the fact that the percentage speed is actually
-
- (sound_rate*2)/BUFFER_SIZE
-
- The default sound rate is 22050hz.
-
- To help you determine if you can achieve the speed desired on your PC,
- there is an "overflow" dot at the top left of the PC screen, if you see
- a little white dot then your PC cannot emulate at the speed you are
- attempting, so slow down or try using a lower sample rate with the /hz
- command line option.
-
- * Loading Speed:
-
- SAOM:
- This lets you have one speed while loading a VOC/TZX and another for
- normal activity, you can set the loading speed to a higher value to cause
- tapes to load quicker. When the tape is paused or closed then the
- emulator will automatically return to the "percent speed" value.
-
- Adlib:
- When the tape is loading the slowdown value is set to zero. When the
- tape is paused or closed, the old slowdown value is restored. There is
- not much point in messing around with the slowdown value during loading,
- as the changes will be wiped out, and replaced with the value before
- loading took place.
-
- The values can be changed by moving the cursor to the option and pressing
- left (-1), right (+1), page up (-10) or page down (+10).
-
- Generally, the values will wrap round if you try to pass 0 or its maximum
- value. These options don't return to the emulator when you select them,
- you have to press ESCAPE.
-
- * Keyboard Issue: Press left/right to toggle between issue 2 and issue 3,
- where issue 3 is by far the most common. Occasionally a program will
- need this option to be set to 2 (usually an old program) otherwise the
- keys won't respond. A .Z80/.SLT file will change this value when you load
- it. Note that all 128K Spectrums were issue 3 and some Spectrum 48K were
- issue 2, but not that many.
-
- Note that options like load snap, save z80, joystick select, memory mode,
- etc return to the help menu, so that you can load in a snap and resave it
- with changed settings.
-
- ---------------
- F2 - NMI (M128)
- ---------------
- Yes, the Multiface 128 by Romantic Robot. If you can get the Genie 128
- software then you have a push button disassembler on your hands.
-
- Note that pressing the button more than once causes a crash, just like the
- real thing!
-
- Now, (starting from V0.8) you can have a different ROM called genie128.rom.
- This allows you to start up the emulator with the Genie 128 (or any other
- MF 128 utility) without having to manually install it!
-
- All you have to do is (using mf128.rom) install the Genie (or any other
- MF 128 utility) as normal, then reset the Spectrum, then type this short
- program:
-
- POKE 30000,243
- POKE 30001,219
- POKE 30002,191
- POKE 30003,118
-
- RANDOMIZE USR 30000
-
- Then, go into the F6 menu and set the start address to 0 and the length to
- 16384, then save it as genie128.rom (in the directory that x128 is in).
-
- The next time you load x128 the Genie (or any other MF 128 utility) will be
- automatically installed! In order to un-install a MF 128 utility, you press
- Caps Shift, Space and F2 at the same time.
-
- NOTE : My keyboard does not allow Shift, Space and F2 to be pressed at the
- same time, but it does allow Caps Lock, Space and F2 at the same time.
-
- * In Scorpion 256 mode this will bring up the Shadow Service Monitor.
-
- ----------------------
- F3 - RESET/MEMORY MODE
- ----------------------
- From here you have a little menu that you can select reset to 48 or 128
- mode, or you can try to swap modes with no reset, note that from 128 to 48
- no reset mode that ram page 0 will be slotted in regardless of what ram
- was actually paged in.
-
- Menu:
-
- Spectrum 48 Mode.
- Spectrum 128 Mode.
- Spectrum +2 Mode.
- Spectrum +2A Mode.
- Spectrum +3 Mode.
- Pentagon 128 Mode.
- Scorpion 128 Mode.
-
- Press RETURN to reset to a particular mode, or press SPACE to attempt to go
- to that mode (may cause trouble with +2A/+3 modes).
-
- Below this is the option Betadisk : On/Off.
- Followed by MF 128 : On/Off.
-
- Note that when you do a "reset" to a mode then the Betadisk option is forced
- into it's default mode (usually off, except for the Pentagon and Scorpion).
-
- In order to get to TR-DOS from the original Spectrums, type:
-
- RANDOMIZE USR 15616
-
- The Scorpion 256 is rather incomplete, and is not fully working at this time.
-
- You can use cursor up/down to move and escape to abort selection. Use
- cursor left/right to toggle the Betadisk on or off.
-
- You are on your own trying to work out the keywords in 48K Basic.
-
- --------------------
- F4 - JOYSTICK SELECT
- --------------------
- This will map one of 4 joystick possibilities (Kempston, Sinc 1, Sinc 2 and
- Cursor onto the cursor keys and TAB for fire.
-
- You will see the 4 options and a > which points to the current option. To
- select one use cursor keys up and down then press return to select. To
- abort and use current option, press ESCAPE.
-
- You can press left or right to toggle caps on/off for cursor keys.
-
- Note that .Z80/.SLT files set the joystick configuration when loaded.
- Whether cursor has caps shift included is not stored in a .Z80/.SLT and you
- may have to change this yourself.
-
- X128 supports 2 PC joysticks, the 1st is mapped onto the option chosen in
- this menu, the 2nd one is always mapped onto Sinclair (1-5).
-
- -------------------
- F5 - LOAD SNAP FILE
- -------------------
- Yes, this will allow you to load, at any time, a V1, V2 or V3 .z80 file in
- 48K or 128K mode (it will automatically pick the correct mode for the snap).
- This also allows loading of .sna (including SNA 128) files and .slt files.
-
- These files are exactly the same format as those used by the famous Z80
- Spectrum emulator for the PC. Note that any hardware like Interface 1,
- SamRam or MGT will be stripped off and ignored, if that piece of hardware
- was paged in at the time the Z80 was saved, then it might not work.
- But this is not usually the case.
-
- --------------
- F6 - SAVE MENU
- --------------
- NOTE : Yes, I know that one of the options is a "load" option!
-
- Options:
-
- * Save Z80/SLT file.
-
- This allows you to save the whole of memory to a snapshot file. It can
- save in 48K or 128K mode and will decide by itself what memory it has to
- save. The resulting file can be loaded back in using F5, or can be loaded
- in by another emulator that supports Z80 V2 files.
- This option is good for cheating at games.
-
- If the file is a SLT file then the additional level data will be crammed
- into the new file.
-
- NOTE : You do not select if it is a Z80 or SLT file, this is automatic.
-
- * Save SNA file.
-
- This allows you to save a SNApshot of memory, like above but in an
- uncompressed manner. This may be useful for older emulators which don't
- support the .Z80 format (are there any that don't?) Or maybe you just want
- the information to be easy to remove for a personal project.
-
- If you save a SNA in 48K mode then a traditional SNA file will be made.
- If you save in 128K mode then a SNA 128 file will be made.
-
- * Open VOC for saving.
-
- This option does not work!
-
- * Open TAP for saving.
-
- At last you can save TAP files! All blocks saved go into the currently
- open (save) TAP file.
-
- If the file already exists then you are given the option to Overwrite,
- Append or Cancel. Overwrite will remove the file and make a new one.
- Append will attach onto the end of the file, and Cancel will leave the
- file as it is.
-
- * Load Mem Block.
-
- You can load in raw files into the Spectrum's memory space, there is little
- point in trying to load anything into 0-16383, unless there is RAM paged
- in via the +3, Scorpion or Multiface. The block is loaded based on the
- values in Start Address and Length (below). Since there is no default file
- extension, the file selector will show everything.
-
- * Save Mem Block.
-
- Saves out raw files from the Spectrum's memory space, based on the values
- set in Start Address and Length (below). There is no default file
- extension.
-
- * Start Address.
-
- Simply sets the start address for loading and saving mem blocks.
- Press <RETURN> to begin entering the number, you can type in decimal or
- in hex by having $ as the first character.
-
- * Length.
-
- Sets the Length for loading and saving mem blocks. If you just press
- RETURN then the length will be set to (65536-Start Address). If Start
- Address is 0, then this is illegal - you cannot save a block greater than
- 65535. Number entry is the same as "Start Address" above.
-
- * Restore Screen Values.
-
- Sets the Start Address to 16384 and the Length to 6912.
- If the second screen happens to be use ... tough!
-
- ---------------------
- F7 - SELECT TAPE FILE
- ---------------------
- You want multiload games on emulator, yes? Well, this allows it to happen
- by being a file containing a string of just the important data from saves.
-
- These TAP files are the Z80 compatible files, NOT the Warajevo emulator
- ones, they won't work at all.
-
- Firstly select the file from the file selector.
-
- To load a file you must either:
-
- * Use the 128 BASIC Tape Loader (just press return).
- * In 128 BASIC (type load SHIFT-' SHIFT-' Return).
- * In 48 BASIC (type J SHIFT-' SHIFT-' Return).
-
- (ie Press shift and apostrophe at the same time, also do not leave a space
- between the two inverted commas).
-
- BEWARE: When using TAPs and other types of tape file. TAPs use ROMpokes,
- and TZX/VOC does not, if trouble arises make sure that you open a tape file
- (F7) before reaching the actual load routine in the ROM.
-
- NOTE : Starting from V0.8 the ROMpokes will only be present while a TAP file
- is open, and at no other time. A TAP file can now be closed in the F8 menu.
-
- Note for /mono users: when you start up the invisible bar is on the
- Tape Loader option.
-
- A VOC file is a Creative Voice Sample File, ie a multimegabyte-sized sample
- of your Spectrum cassette, you will have to make this on your own using
- some sampler and whatever.
-
- Any VOC file must be 8-bit, unpacked and mono. The sample rate doesn't
- matter, but it should be as high as possible to make sure that the game
- has the best chance of loading. This version of x128 can handle the 4 main
- VOC blocks that are usually required and will skip the ones that it doesn't
- like. When the VOC is finished loading it will close without telling you.
-
- When making a VOC file, you must be aware that some samplers leave a tiny
- little gap in the VOC file while it is being recorded, if such a VOC file
- is played into x128 (or any other emulator) then there is no way it can work.
- Try another sampler!
-
- ** TZX FILES **
-
- All new : TZX support! These files contain all the information of a VOC
- file but in a size similar to TAP files!
-
- TZX features:
-
- * Small!
- * Browser!
- * Information and messages!
- * Tape can be stopped automatically!
-
- There is really no need to use VOC files now, what you should do is get
- TAPER or VOC2TZX and convert the VOC into the all new format.
-
- When a TZX file reaches the end, it will go back to the start and then pause.
-
- * NOTE : When using a VOC or TZX file, these cause a large processor
- overhead, and will cause the emulator to run significantly slower.
-
- ---------------------
- ALT-F7 - TAPE BROWSER
- ---------------------
- This is a shortcut to the tape browser mentioned in the F8 menu.
-
- -----------------
- F8 - TAPE OPTIONS
- -----------------
- NOTE : Some options only appear if they are appropriate.
-
- * Loading Noise : Yes/No - If No, then no sound while loading, otherwise you
- get an approximation of the sound depending on how many IN 254s are
- happening. Having it switched on will require more CPU time.
-
- * Hide Blocks : Yes/No - If yes, then certain blocks will be suppressed
- from viewing when in the TZX browser.
-
- * Tape Browser - Lets you see what blocks are available in the current TZX
- or TAP file, you can also select a block to play by moving the cursor and
- pressing return.
-
- * Close Tape File - Does what it says, and is white if one is open.
-
- * VOC/TZX : Paused/Playing - Left or Right toggles the status...
-
- ---------------------------------
- ALT-F8 - TOGGLE TAPE PAUSE ON/OFF
- ---------------------------------
- TZX and VOC files now start off paused (indicated by the red icon at the top
- left of the screen), white indicates that it is playing.
-
- ------------------------------
- SHIFT-F8 - INCREMENT ULA DELAY
- ------------------------------
- T-States are a tricky business.
-
- This adds a value to the number of t-states counted at the end of every
- screen line (192 of them).
- So you can use this option to help align up that nice overscan bit on the
- screen.
-
- This option usually moves overscan bits DOWN the screen.
-
- It starts at 0, if you move too far, the emulator performance will start
- to be unusual, as this will affect the number of instructions between
- interrupts.
- The ULA Delay is reset to 0 every time you reset or load a snapshot.
-
- -------------
- F9 - PCX DUMP
- -------------
- The ability to save a 320x200 256 colour PCX, it saves it with any
- overscan bits intact! (And the white dot).
-
- A little window will pop up containing the full path of the last PCX file
- saved, you can type the name you want, and you can use backspace or delete
- to ... delete a character, you can choose the directory to save to by
- altering the path. If you decide that you didn't want to save after all
- then press ESCAPE. The code will try to be clever and determine whether you
- have typed .PCX at the end of the line, and append it as necessary, but you
- could still confuse it by calling a filename a.a or whatever.
-
- If the file you are trying to save already exists then you will be given
- the message 'Overwrite(Y/N)?'. You can reply 'y' to overwrite, 'n' to abort
- and ESCAPE to abort also.
-
- NOTE : On pressing F9 the screen will be saved to dump.tmp in the same
- directory as the emulator so make sure there is space for 2 PCX files and
- that the emulator is on a write enabled/permission drive.
-
- NOTE : Regardless of what palette scheme you have chosen, the PCX will be
- saved with the full colour settings.
-
- ------------------------------
- SHIFT-F9 - DECREMENT ULA DELAY
- ------------------------------
- See SHIFT-F8 for information.
-
- This option usually moves overscan bits UP the screen.
- Once you reach 0, it will not go into negative numbers.
-
- The ULA Delay is reset to 0 every time you reset or load a snapshot.
-
- ----------
- F10 - QUIT
- ----------
- This will quit the emulator and close the window and all that sort of thing,
- and yes it does remember to de-allocate the memory and close the TAP file,
- (maybe).
-
- On exit you will be told what ULA Delay you had.
-
- A small window appears and you have to press Y to quit. If you press N or
- ESCAPE then the quit does not occur.
-
- NOTE : If you press this on the SAOM version and decide not to quit, then the
- SB synchronisation may be lost, go to the speed select and toggle the
- speed up and then down again.
-
- -------------------
- F11 - SOUND OPTIONS
- -------------------
- You see three useful options:
-
- FOR THE SB VERSION:
-
- * Sound is On/Off : Press left/right to toggle this.
-
- On/Off is easy to understand?
-
- * 48K Sound : Low/Real. Low means that the volume of the beeper is
- equivalent to one AY channel. Real means that the beeper volume is
- equivalent to all three AY channels!
-
- FOR THE ADLIB VERSION:
-
- * Sound is Off/PC Speaker/Adlib : Press left/right to toggle this.
-
- Off - no sound is played.
- PC Speaker - Spectrum internal speaker is played through the PC speaker,
- and the AY-3-8912 is also played out of the PC speaker.
- Adlib - Spectrum internal speaker is played through the PC speaker and
- the AY-3-8912 through the Adlib card.
-
- * White Noise On/Off : I have added some really pathetic emulation of the
- white noise of the AY-3-8912 through the Adlib card, using the snare
- drum channel, so I have included this option to turn it off.
-
- FOR BOTH VERSIONS:
-
- * Create/Close PSG File : This allows you to log the OUTs to the AY-3-8912
- sound chip, you will be asked for a filename, it will automatically have
- a .psg extension, the files are then playable using the utility PSGPLAY,
- which comes with the Unix version of fMSX (/dev/dsp or /dev/audio), a DOS
- PSGPLAY doesn't exist yet (I think). Note that all interrupt marks are
- 0xFF and the multiple marks are not used. Also note that these are old
- style PSG files, in other words there is no configuration data in the
- 16 byte header.
-
- Note that you can convert PSG files to run under STSound, by using the
- PSG2YM utility.
-
- -----------------
- F12 - SELECT DISK
- -----------------
- In +3 mode this will show a menu to select DSK files. Otherwise it will
- show a menu for selecting TRD files.
-
- With one exception, if you are in +3 mode and have Betadisk turned on then
- the first menu you get will be the +3 menu, then after pressing ESCAPE the
- Betadisk menu will appear. Press ESCAPE once more to get out of the menu
- maze!
-
- * DRIVE A: - Select a DSK.
- * Write Protect : On/Off.
- * Remove Disk. - Remove a DSK.
-
- * DRIVE B: .... etc....
-
- NOTE : How to get a +3 to think it has 2 drives attached. Simply insert a
- disk into "Drive B" or switch write protect on "Drive B" to "On" then reset
- the Spectrum in the F3 menu. You MUST reset : +3 DOS will not check for
- "Drive B" at any other time.
-
- =============
- MULTIFACE 128
- =============
- By pressing F2 the M128 menu will appear, if you have the ROM.
-
- The ROM:
-
- mf128.rom 8192 bytes long, and is a dump of the values of the Spectrum from
- 0-8191 AFTER the mf128 rom has been paged in.
-
- It is also tightly entombed within the file ROMS.BIN that comes with Z80.
-
- The MF128 pages in 16K, of which 8K is ROM and 8K is RAM:
-
- 0-8191 ROM
- 8192-16383 RAM
- 16384+ Usual Spectrum memory.
-
- The memory is paged in and out like so:
-
- IN A,(191) Pages MF128 in. Returns 127 if the normal Spectrum screen is
- visible, or returns 255 if using the 128K second screen in RAM 7.
- IN A,(63) Pages MF128 out.
-
- When the MF128 is paged in, OUTs to 32765 still work, so that you can access
- all RAM, but for ROM the OUT to 32765 dictates which ROM will be visible
- after you page the MF128 back out.
-
- =======================
- USING THE FILE SELECTOR
- =======================
- Use the cursor keys to move up and down, the file selected is the one at
- the top (with the inversed colours).
-
- Directories are Magenta and Black with a slash preceeding the name.
- File are Blue and White.
- Drives (PC) are Cyan and Black.
-
- You can change directory/drive by pressing return while it is being pointed
- to, the listing of that directory will then appear for you to view.
-
- Keys:
-
- Up/Down : Move Up 1 file/Down 1 file.
- Page Up/Page Down : Move up 22 files/down 22 files.
- Home/End : Move to the top/bottom of the list.
- Return : select the file/drive/directory.
- Escape : leave the file selector without loading anything.
-
- Another feature is the file search by typing letters, so if you press 'b'
- the pointer will be moved to the first file (not directory) that starts
- with 'b'. If the search was successful, then when you type another letter
- you will be searching for the 2nd character position and so on, if a search
- fails, (in which case the pointer will not move) the next attempted search
- will begin with the first character again.
-
- If you move the pointer with cursor keys, page keys or home/end then the
- next search will be on the first character. Also included in the term
- 'letters' are numbers and some punctuation symbols.
-
- ====================
- COMMAND LINE OPTIONS
- ====================
- You can get x128 to do things from the command line by adding the following
- parameters:
-
- x128 /?
- Shows all the command line options available.
-
- x128 /48
- Resets to 48K mode on startup.
-
- x128 /128
- Resets to 128K mode on startup (default).
-
- x128 /P2
- Reset to +2 mode on startup.
-
- x128 /P2A
- Reset to +2A mode on startup.
-
- x128 /P3
- Reset to +3 mode on startup.
-
- x128 /pentagon
- Reset to Pentagon mode on startup.
-
- x128 /scorpion
- Reset to Scorpion mode on startup.
-
- x128 /a <filename>
- x128 /b <filename>
- Selects a DSK or TRD to go in drive A or drive B (respectively).
- Please use a full path ie C:\TRD\GAME.TRD otherwise the file selector will
- be messed up.
-
- x128 /quiet
- This starts up the emulator with the sound off, it can still be switched
- back on in the F11 menu.
-
- x128 /mono
- A silly option which runs the emulator in a monochrome EGA mode.
-
- x128 /colour <type>
-
- Where <type> can be:
-
- full - full colour (default).
- grey - grey scale (for mono monitors).
- red - red scale. Useless!
- green - green scale. Useless!
- blue - blue scale. Useless!
-
- This does not affect any PCX file that you make.
-
- x128 /delay <number>
- This sets the slow down delay (0-65535), eg x128 /delay 30000
- ADLIB only.
-
- x128 /frame <number>
- This sets the frame skip value (0-255), eg x128 /frame 4
-
- x128 /ula <number>
- This sets the ULA delay (0-255), eg x128 /ula 30
-
- x128 /speed <number>
- This sets the target percentage speed (0-65535).
- The default target speed is 100%.
-
- x128 /lspeed <number>
- This sets the loading percentage speed (0-65535). ** SAOM **
- The default loading speed is 100%. On the Adlib version the slowdown is
- set to zero whenever loading takes place.
-
- x128 /nlspeed
- Prevents the loading speed from being used, meaning that the emulator only
- ever goes at the "target percentage speed". Use this if you have soundcard
- problems and you can't seem to load any TZX or VOC at all.
-
- x128 /lnoise
- Switches on the loading noise. ** SAOM ONLY **
-
- x128 /hz <number>
- This sets the sample rate for the SB output, anything from 4000 up to 45454
- is accepted. The default is 22050hz. ** SAOM ONLY **
-
- x128 /sbclone
- This software now uses DSP command 0x1C to activate the soundcard at speeds
- of 22Khz or below. If you try sample rates greater than that then x128 will
- use DSP command 0x90, which some clones will not like, so use /sbclone to
- make sure that 0x1C is used at all speeds.
-
- x128 /real
- This selects "real" (loud) 48k beeper volume. ** SAOM ONLY **
-
- NOTE: With all these numerical options, entering non numbers, or numbers
- that are too large will cause confusion. Generally it will decide that
- the value should be set to 0, but in the case of /frame this is
- effectively 1/256 so you will get a big delay before the screen updates,
- so don't enter bad numbers!
-
- x128 <filename>
- If the filename is a sna or z80 then it will automatically load (and /48
- and /128 will be overridden by the type of snap loaded). This will work
- for slt files as well. BUG : when you load SLT or TZX files from the command
- line the file selector will be messed up unless you specify a full path, ie:
-
- C:\GAMES\POGO.SLT
-
- If the filename is a tap then it will be selected, but you will still have
- to load it via the tape loader or by typing load "".
- I suppose this means that x128 can now be used in this 'play spectrum games
- across the web thingy'.
-
- If the file is a VOC or TZX then you will have to do the same as a TAP file
- to actually get it to start loading.
-
- Tip : Make a .Z80 which is just before a LOAD "" takes place, ie:
-
- PAUSE 50 : LOAD ""
-
- Press enter, then quickly press F6 and save the .Z80, it is important to save
- it BEFORE the load takes effect, as there may be rom traps which would be
- skipped if you attempted to load the tape file after the load had taken
- effect. Make a .Z80 in 48 (LOAD48.Z80), and another in 128 mode
- (LOAD128.Z80).
-
- Then when you want to autoload a tape from the command line (which you want
- to load in 48k mode):
-
- x128 LOAD48.Z80 ROBO.TAP
-
- If using a TZX file SUPPLY THE FULL PATH to the TZX:
-
- X128 LOAD48.Z80 D:\GAMES\R\ROBO.TZX
-
- NOTE: I get a lot of requests from people to add some some sort of .INI file
- so that people don't have to keep entering switches or changing menu options
- for their favourite setup every time they run x128. But why don't you use a
- batch file instead?
-
- For example, use EDIT to create a new file in your x128 directory, type
- something like
-
- x128 /P3 /lnoise /hz 44100
-
- or whatever commands you use, then save it as, say, x.bat. Then you just
- have to run x.bat when you want to use x128 with those options.
-
- Of course Windows users can set permanent command line options for Dos
- applications quite easily, look it up in your help files.
-
- ===============
- TROUBLESHOOTING
- ===============
- SYMPTOM : The emulation is too slow.
- CAUSE : Try running this in DOS, if you are using a Windowed environment.
- Alternatively all you can do is get a faster machine or hope that a future
- release of this is more efficient. Or use the frame skip option, see near
- the top of this document on how use this option. Another option is to get
- your hands on a much faster video card. Also try using the /hz command line
- option to lower the sample rate.
-
- SYMPTOM : The EXE supplied will not run.
- CAUSE : Make sure you are using a 386 or above, and have at least 2Mb free.
- CAUSE : Do you have DOS4GW.EXE in the directory/path?
- NOTE : 2Mb is an old figure, and probably more is required now.
-
- SYMPTOM : The file selector will not open.
- CAUSE : Desperate shortage of memory! Free up some memory before running.
-
- SYMPTOM : The 128K music is occasionally fuzzy when I start up.
- CAUSE : If this wasn't for speed reasons as covered earlier (i.e. no white
- dot), it could be a bug that was in v0.71 but I hoped was fixed now. If it
- happens try pressing F1, then changing the emulation speed up and down a bit
- back to the level you want it, and press ESCAPE again. This hopefully will
- reinitialise the DMA and make the 128K sound 'clear' again.
-
- SYMPTOM : x128 returns to the DOS prompt/closes the window immediately.
- CAUSE : (SAOM) No BLASTER environment variable has been found.
- CAUSE : Some of the ROMs may be missing from the directory.
-
- SYMPTOM : x128 hangs/locks up tight.
- CAUSE : For some reason the SB doesn't generate an IRQ sometimes, I don't
- know why! You should now be able to press F10 to quit (hopefully).
-
- Also note that the SAOM version of x128 will REFUSE to run if it doesn't
- find a Sound Blaster - make sure you have the BLASTER environment
- variable in your autoexec.bat.
-
- ===================
- FUTURE IMPROVEMENTS
- ===================
-
- -------
- General
- -------
- Top and bottom borders in 320x240 resolution.
- Speed : Ever Better (or should that be slower?).
- Better t-state timing for overscan demos.
- Better Pentagon and Scorpion 256 emulation.
- Better TR-DOS/Betadisk disk emulation (TRD writing and FDI).
- Kempston mouse.
- DISCiPLE/Plus D disk emulation.
-
- --------
- Specific
- --------
- Speed Detect (SAOM).
- Pause between TAP blocks.
- TZX trap.
- Pause Until Load "" for VOC/TZX.
- VOC (music) save option.
- VOC (file) save option.
- VOC browser (silly?).
- Keyboard error.
-
- Always remember to check for the latest versions at:
-
- http://www.users.dircon.co.uk/~dmckay/x128.html
-
- =================
- HOW TO GET GAMES:
- =================
- Check ftp and www sites for files, Norway seems to have a lot.
-
- Try ftp://ftp.nvg.unit.no/pub/spectrum/
-
- Most sites will be in Europe. Try doing a web search for 'Sinclair' or
- 'Spectrum' if you have plenty of spare time that is.
-
- If you have a SB and a good sampler, then you can turn your tapes into VOC
- files and play them that way, then you could get some utilities to convert
- them into TZX files so that they take up hardly any space at all.
-
- You could register Z80 and buy a tape interface and +D file copier.
-
- Unprotected +3 disks can be converted to the PC if you own a +3 AND a +D
- (with Fixit) if you download the +3/+D conversion package from the x128
- webpage - if I bother releasing it!
-
- Since the +3 emulation cannot format DSK files and cannot create them, you'd
- be advised to download this utilit from NVG:
-
- ftp://ftp.nvg.unit.no/pub/cpc/utils/msdos/cpcfs085.zip
-
- A similar situation applies to TRD file, try this page for a number of
- utilities (copies of which are also on the X128 page):
-
- http://www.elf.stuba.sk/~eged/english.html
-
- ========
- CREDITS:
- ========
- James McKay : me : Author of the big (getting less) rubbish bit of the code.
- e-mail scet@rmplc.co.uk.
-
- Duncan McKay : Designed the web page, and found loads of stuff.
-
- Random for TR-DOS/Pentagon/Scorpion info etc...
- Hacker Scorpion for his help on the above subjects also.
-
- Ulrich Doewich : His uPD765A emulation code - as used in CPE (Amstrad CPC
- emulator, which he has adopted) allows for I/O level emulation and therefore
- protected +3 disks (although I have never managed to find a protected +3 disk
- on the web), so it's thanks to him for +3 disk support.
-
- Tomaz Kac : He created the TZX file, and offered a lot of support in
- implementing the TZX support in x128. Also the underlying SB library is
- from his PlayTZX utility. And he helped with all sorts of files for testing.
-
- Ville Halik : His original AY code for fMSX Unix was the starting point for
- the code in this release, the square wave generator, method of counting,
- envelope table and random number generator are still used. The general
- mixing, envelope timing, general code structure and playing library are
- substantially different.
-
- Igor Eged : Thanks for the TR-DOS files and information.
-
- ALSO:
- -----
- Marat Fayzullin : His C source gave the idea about how to access a
- variable as bytes and words at the same time. Also the Adlib AY emulation is
- written by Alex Krasivsky and him.
- Gerton Lunter : His Z80.DOC that came with his emulator, was a very useful
- technical reference.
- Rui Ribeiro : For the info on the Kempston joystick problem.
- Spectrum +2A Manual by Amstrad.
- Master Machine Code On Your Amstrad CPC 464 And 664 by Jeff Naylor and
- Diane Rogers.
- Understanding Your Spectrum by Dr. Ian Logan.
- My Spectrum 128 with it's dodgy keyboard.
- All those who took part in the SLT debate.
- All those who took part in the TZX debate.
- All those responsible for the c.s.s debate about perfectly emulating the AY
- sound chip, the document detailing this is available with the shareware
- version of Z80 V3.05.
- All those who gave SB help.
- Ulrich Doewich for his Ensoniq soundcard testing.
- All those who gave feedback and did beta-testing for x128.
- All on the TAPER mailing list.
-
- =======================
- HISTORY OF DEVELOPMENT:
- =======================
- (UK DD/MM/YY)
-
- V0.0 Date : 02/02/96
- V0.1 Date : 08/02/96
- V0.2 Date : 26/02/96
- V0.3 Date : 19/03/96
- V0.4 Date : 01/05/96
- V0.5 Date : 30/06/96
- V0.6 Date : 24/03/97
- V0.61 Date: 27/03/97
- V0.7 Date : 21/07/97
- V0.71 Date: 04/08/97
- V0.8 Date : 03/10/97
-
- -----------------
- V0.71 Bugs fixed:
- -----------------
- * IN 127 now always returns 255 so that the ship in Arcadia stays still!
- * Improved IN 255 emulation to allow Sidewize to work (and without flicker).
- * Z80/SNA/SLT files loaded from the command line (in the Adlib version) would
- have the registers slightly corrupted on some occasions - fixed.
- * Improved TAP trap register output so that Hyper Active TAP file works.
- * EI/HALT has been made an indivisable 16-bit instruction in an attempt to
- prevent DI/HALT problems in Op Thunderbolt, Batman The Movie, etc... I
- don't know if it is effective.
- * A rogue text message would appear when a TZX file was open and you tried to
- save a Z80 file as a result the TZX would close instead of going back to
- the start. This has been fixed.
- * The TZX pause block (and pause after blocks) was not implemented 100%
- accurately, so on very rare occasions the last edge would not be played,
- this is now fixed.
- * TZX jump blocks which had a positive number (forward) did not work, this
- has been fixed.
- * Fixed the occasionally fuzzy 128K sound that would affect some SB clones
- (hopefully).
-
- ------------------
- V0.8 Improvements:
- ------------------
- * MF 128 can be switched off.
- * New TZX blocks supported : Select, Loop, Loop End, Gosub and Return.
- * TAP traps (at 1386 and 1240) are now invisible to the Spectrum!
- * Limited Betadisk/TR-DOS emulation (read-only via TRD files).
- * Emulation of the Pentagon 128 (and limited emulation of the Scorpion).
- * Emulation of the +2 and +2A.
- * Emulation of the +3 and the disks using DSK (including extended DSK) files.
- * TAP browser.
- * Ability to save TAP files.
- * Ability to load/save blocks of memory.
- * Ability to save SNA 48 & 128 files and load SNA 128 files.
-
- ===========
- KNOWN BUGS:
- ===========
- Sometimes SNA 128 files don't load properly from the command line.
-
- Since the Z80 file format only supports 48K and 128K Spectrums, and only
- Interface 1, Sam Ram, MGT and Multiface 128 hardware interfaces - this means
- that saving snaps in all the new modes could be troublesome!
-
- Konami Ping Pong (released by Imagine) has corrupted bats, due to my shifty
- contended memory timing.
-
- New style of .Z80 not saveable yet (I could not be bothered doing it).
-
- This is more of a bad point : the parallel development of x128 on DOS and
- Unix has basically collapsed, meaning that the Unix version has almost none
- of the improvements listed above, and will NOT be released.
-
- Windows 3.1 can crash when you change the speed of the emulator, but don't
- worry, it only does it when you have important information to lose!
-
- Certain 48k games seem to try to output to the beeper so often that it is
- outside the human hearing range. When replayed through the SB, they fall to
- 11Khz which is within the human hearing range, as a rather annoying high
- pitched beep. I have muffled it slightly but it is still there.
- The games which are known to do this: Arkanoid, Fairlight, Fairlight 2,
- Fist 2 Practice, International Karate (A & B) and Sweevo's World.
-
- SLT files now work from the command line, BUT they mess up the path so that
- the menus may not work properly! THIS ALSO APPLIES TO TZX files! To avoid
- this, supply a full path, ie C:\GAMES\P\POGO.SLT
-
- A full path must also be used when selecting TRD or DSK files from the
- command line.
-
- Sometimes a .Z80 file will fail to work, then you reload it and it does
- work....
-
- In addition the screen timing is slightly off since V0.61,
- but it's not so bad, if anyone can describe the effects of contended memory
- perfectly (ie good enough to run the Overscan demo), then I'd like to hear
- from them!
-