home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / Chip_1998-03_cd.bin / hry / Sinclair / SimDOS1 / X128.TXT < prev    next >
Text File  |  1997-08-03  |  32KB  |  853 lines

  1. X128 Spectrum 128 Emulator V0.71 by James McKay.
  2.  
  3. X128 runs under DOS, but can run under Windows '95 just fine.
  4. A 486DX+ is recommended.  For the SAOM version, a 486DX2-66 is recommended.
  5.  
  6.  
  7. FIRSTLY:
  8. --------
  9. See further down the text file for details about the new TZX files!
  10.  
  11. Starting from V0.7, x128 comes in two varieties:
  12.  
  13. 1.  Adlib version.  This is like the older version of x128, and supports
  14. Adlib and internal speaker sound.
  15.  
  16. 2. S.A.O.M. (Special Audio Output Mode) version, this uses the SB to produce
  17. excellent quality sound, including the 48k internal speaker and AY speech!!
  18.  
  19. The ZIP file will be called X128V71A.ZIP for the Adlib version, and
  20. X128V71S.ZIP for the SAOM version.  This assumes that I will never release
  21. a version 7.1!
  22.  
  23. The SAOM version requires a faster machine than the Adlib version, if your
  24. machine isn't fast enough then the output will be fuzzy.  Also the SAOM
  25. version cannot autodetect the machine speed, basically, if you try to set
  26. the SAOM version to go at a speed which makes the sound fuzzy, then you are
  27. asking it to go too fast.  Do not think that as a result of this,
  28. your P266 MMX will run it ridiculously fast, this is not the case, and
  29. generally, if you do have a faster machine then SAOM is the version for you.
  30.  
  31. Also note that even though low end 486s cannot use the SAOM version without
  32. fuzzy sound, it is worth a go, just to hear the speech!
  33.  
  34.  
  35. EASY GUIDE TO SPECTRUM FILES YOU CAN USE
  36. ----------------------------------------
  37. file.z80 : Use F5 to load.
  38. file.sna : Use F5 to load.
  39. file.slt : Use F5 to load.
  40. file.voc : Use F7 to select, then type load "" or use tape loader.
  41. file.tap : Use F7 to select, then type load "" or use tape loader.
  42. file.tzx : Use F7 to select, then type load "" or use tape loader.
  43.  
  44. If you get a .z80 file with other files called .dat then these will be
  45. dealt with automatically, just load the .z80 as described above, and if the
  46. filenames of the .dat files are wrong then the file selector will appear and
  47. you will have to select the correct DAT, or press ESCAPE.  If you downloaded
  48. it then this should not be the case.  If the file is a SLT format file
  49. (which has still been named .z80 at the end) then this emulator deals
  50. with it automatically.
  51.  
  52. file.dsk : This cannot deal with +3/CPC disk files.
  53. file.mdr : This cannot deal with microdrive cartridges.
  54.  
  55. Any other file type you come across cannot be handled in this version of
  56. the emulator.
  57.  
  58.  
  59. TROUBLESHOOTING - DOS:
  60. ----------------------
  61. SYMPTOM : The emulation is too slow.
  62. CAUSE   : Try running this in DOS, if you are using a Windowed environment.
  63. Alternatively all you can do is get a faster machine or hope that a future
  64. release of this is more efficient.  Or use the frame skip option, see near
  65. the top of this document on how use this option.  Another option is to get
  66. your hands on a much faster video card.  Also try using the /hz command line
  67. option to lower the sample rate.
  68.  
  69.  
  70. SYMPTOM : The EXE supplied will not run.
  71. CAUSE   : Make sure you are using a 386 or above, and have at least 2Mb free.
  72. CAUSE   : Do you have DOS4GW.EXE in the directory/path?
  73. NOTE    : 2Mb is an old figure, and probably more is required now.
  74.  
  75.  
  76. SYMPTOM : The file selector will not open.
  77. CAUSE   : Desperate shortage of memory!  Free up some memory before running.
  78.  
  79. Also note that the SAOM version of x128 will REFUSE to run if it doesn't
  80. find a Sound Blaster - make sure you have the BLASTER environment
  81. variable in your autoexec.bat.
  82.  
  83.  
  84. INSTRUCTIONS:
  85. -------------
  86. Once you have typed 'x128' to run the emulator and the 128 BASIC screen
  87. has appeared (hey, /mono users can't see the menu bar!) then the
  88. following function keys are available:
  89.  
  90.  
  91. F1 - HELP
  92. ---------
  93. This brings up a list of the functions keys available on the Spectrum
  94. window, press ESCAPE to go back to the emulation.
  95.  
  96. Now when you bring up this option, you can select the function of any
  97. other function key from the menu that appears, by using cursor up/down and
  98. return to select.  The selected option will have a > beside it.  When you
  99. have completed the selected option, you will return to the emulator, not
  100. the help screen.
  101.  
  102. Options available here that aren't available anywhere else are:
  103.  
  104.  
  105. Alter ULA Delay:
  106.  
  107. This controls the lining up of overscan bits (see F8 and F9 keys), the
  108. max. value is 255.
  109.  
  110.  
  111. Alter Frame Skip:
  112.  
  113. This allows you to set up the screen update, 1/1 is full update, 1/255
  114. updates the screen once every 255 times.  1/0 is effectively 1/256.
  115.  
  116. In the Adlib version the frame skip is automatically selected as a value
  117. between 1 and 5, the SB version will always start with frame skip 1.
  118.  
  119.  
  120. Alter Slow Down:
  121.  
  122. This only applies to the Adlib version, the range is 0-65535 where 0 is no
  123. delay and 65535 is a ridiculously large delay.
  124.  
  125. Percent Speed:
  126.  
  127. On the SAOM version, you actually change the speed by changing the actual
  128. percentage speed (see values below).
  129.  
  130. When changing the speed you are actually stopping and starting the DMA and
  131. reallocating it with a different size buffer!  You are not allowed to set
  132. the speed below 10% but you can set it "too high", in other words:
  133.  
  134. 4900% WILL CRASH YOUR PC.
  135.  
  136. You have been warned, so don't do it.  I will accept no liability!
  137. When you try to set the speed to higher values it starts to get inaccurate,
  138. this is due to the fact that the percentage speed is actually :
  139.  
  140. (sound_rate*2)/BUFFER_SIZE
  141.  
  142. The default sound rate is 22050hz.
  143.  
  144. To help you determine if you can achieve the speed desired on your PC, there
  145. is an "overflow" dot at the top left of the PC screen, if you see a little
  146. white dot then your PC cannot emulate at the speed you are attempting:
  147.  
  148. So, slow down or try using a lower sample rate with the /hz command line
  149. option.
  150.  
  151.  
  152. Loading Speed:
  153.  
  154. SAOM:
  155. This lets you have one speed while loading a VOC/TZX and another for normal
  156. activity, you can set the loading speed to a higher value to cause tapes
  157. to load quicker.  When the tape is paused or closed then the emulator will
  158. automatically return to the "percent speed" value.
  159.  
  160. Adlib:
  161. When the tape is loading the slowdown value is set to zero.  When the tape
  162. is paused or closed, the old slowdown value is restored.  There is not much
  163. point in messing around with the slowdown value during loading, as the
  164. changes will be wiped out, and replaced with the value before loading took
  165. place.
  166.  
  167. The values can be changed by moving the cursor to the option and pressing
  168. left (-1), right (+1), page up (-10) or page down (+10).
  169.  
  170. Generally, the values will wrap round if you try to pass 0 or its maximum
  171. value.
  172. These options don't return to the emulator when you select them, you have
  173. to press Escape.
  174.  
  175.  
  176. Keyboard Issue:
  177.  
  178. Press left/right to toggle between issue 2 and issue 3, where issue 3 is by
  179. far the most common.  Occasionally a program will need this option to be
  180. set to 2 (usually an old program) otherwise the keys won't respond.
  181. A .Z80/.SLT file will change this value when you load it.
  182. Note that all 128K Spectrums were issue 3 and some Spectrum 48K were
  183. issue 2, but not that many.
  184.  
  185.  
  186. Note that options like load snap, save z80, joystick select, memory mode,
  187. etc return to the help menu, so that you can load in a snap and resave it
  188. with changed settings.
  189.  
  190.  
  191. F2 - NMI (M128)
  192. ---------------
  193. Yes, the Multiface 128 by Romantic Robot, all you need is the ROM!  It has
  194. to be called mf128.rom and be 8192 bytes long.  Without it, this will crash
  195. the Spectrum when you press F2.  This ROM is such a hot ware, that I am
  196. risking my life just by talking about it!  If you can get the Genie 128
  197. software then you have a push button disassembler on your hands.
  198.  
  199. Note that pressing the button more than once causes a crash, just like the
  200. real thing!
  201.  
  202.  
  203. F3 - RESET/MEMORY MODE
  204. ----------------------
  205. From here you have a little menu that you can select reset to 48 or 128
  206. mode, or you can try to swap modes with no reset, note that from 128 to 48
  207. no reset mode that ram page 0 will be slotted in regardless of what ram
  208. was actually paged in.
  209. You can use cursor up/down to move, return to select and escape to abort
  210. selection.
  211.  
  212. You are on your own trying to work out the keywords in 48K Basic.
  213.  
  214.  
  215. F4 - JOYSTICK SELECT
  216. --------------------
  217. This will map one of 4 joystick possibilities (Kempston, Sinc 1, Sinc 2 and
  218. Cursor onto the cursor keys and TAB for fire.
  219.  
  220. You will see the 4 options and a > which points to the current option.  To
  221. select one use cursor keys up and down then press return to select.  To
  222. abort and use current option, press ESCAPE.
  223.  
  224. You can press left or right to toggle caps on/off for cursor keys.
  225.  
  226. Note that .Z80/.SLT files set the joystick configuration when loaded.
  227. Whether cursor has caps shift included is not stored in a .Z80/.SLT and you
  228. may have to change this yourself.
  229.  
  230. X128 supports 2 PC joysticks, the 1st is mapped onto the option chosen in
  231. this menu, the 2nd one is always mapped onto Sinclair (1-5).
  232.  
  233.  
  234. F5 - LOAD SNAP FILE
  235. -------------------
  236. Yes, this will allow you to load, at any time, a V1, V2 or V3 .z80 file in
  237. 48K or 128K mode (it will automatically pick the correct mode for the snap).
  238. This also allows loading of .sna files and .slt files.
  239.  
  240. These files are exactly the same format as those used by the famous Z80
  241. Spectrum emulator for the PC.  Note that any hardware like Interface 1,
  242. SamRam or MGT will be stripped off and ignored, if that piece of hardware
  243. was paged in at the time the Z80 was saved, then it might not work.
  244. But this is not usually the case.
  245.  
  246.  
  247. F6 - SAVE Z80 V2/SLT FILE
  248. -------------------------
  249. This allows you to save the whole of memory to a snapshot file.  It can
  250. save in 48K or 128K mode and will decide by itself what memory it has to
  251. save.  The resulting file can be loaded back in using F5, or can be loaded
  252. in by another emulator that supports Z80 V2 files.
  253. This option is good for cheating at games.
  254.  
  255. A little window will pop up containing the full path of the last Z80 file
  256. loaded, you can type the name you want, and you can use backspace or delete
  257. to ... delete a character, you can choose the directory to save to by
  258. altering the path.  If you decide that you didn't want to save after all
  259. then press ESCAPE.  The code will try to be clever and determine whether you
  260. have typed .z80 at the end of the line, and append it as necessary, but you
  261. could still confuse it by calling a filename a.a or whatever.
  262. If the file you are trying to save already exists then you will be given
  263. the message 'Overwrite(Y/N)?'.  You can reply 'y' to overwrite, 'n' to abort
  264. and ESCAPE to abort also.
  265. If you are saving a .SLT file, then the level data will be appended to the
  266. newly saved file (which will have .SLT as its extension), however try to
  267. make sure that you have space on your drive otherwise it is possible you
  268. could create difficulties.  Let me elaborate:
  269.  
  270. If there is no permission to create the temporary file (dump.tmp), then
  271. the save will be aborted with no difficulty.
  272.  
  273. If there is no permission to create the final completed file, then you
  274. will be left with 2 separate files which you will have to merge from the
  275. command line.  (If you were trying to overwrite then you have probably
  276. lost data.)
  277.  
  278. So you would have to exit the emulator, then (after clearing space),
  279. you will have to do:
  280.  
  281. DOS:
  282. copy /b file.z80 dump.tmp new.slt
  283.  
  284. Note that dump.tmp will always be saved in the directory you were in when
  285. you started the emulator, so make sure you have write permission to that
  286. directory!
  287.  
  288.  
  289. F7 - SELECT TAP/VOC/TZX FILE
  290. ----------------------------
  291. You want multiload games on emulator, yes?  Well, this allows it to happen
  292. by being a file containing a string of just the important data from saves.
  293.  
  294. These TAP files are the Z80 compatible files, NOT the Warajevo emulator
  295. ones, they won't work at all.
  296.  
  297. Firstly select the file from the file selector.
  298.  
  299. To load a file you must either:
  300.  
  301. * Use the 128 BASIC Tape Loader (just press return).
  302. * In 128 BASIC (type load SHIFT-' SHIFT-' Return).
  303. * In 48 BASIC (type J SHIFT-' SHIFT-' Return).
  304.  
  305. (ie Press shift and apostrophe at the same time, also do not leave a space
  306. between the two inverted commas).
  307.  
  308. BEWARE: When using TAPs and other types of tape file.  TAPs use ROMpokes,
  309. and TZX/VOC does not, if trouble arises make sure that you open a tape file
  310. (F7) before reaching the actual load routine in the ROM.
  311.  
  312. Note for /mono users: when you start up the invisible bar is on the
  313. Tape Loader option.
  314.  
  315. A VOC file is a Creative Voice Sample File, ie a multimegabyte-sized sample
  316. of your Spectrum cassette, you will have to make this on your own using
  317. some sampler and whatever.
  318.  
  319. Any VOC file must be 8-bit, unpacked and mono.  The sample rate doesn't
  320. matter, but it should be as high as possible to make sure that the game
  321. has the best chance of loading.  This version of x128 can handle the 4 main
  322. VOC blocks that are usually required and will skip the ones that it doesn't
  323. like.  When the VOC is finished loading it will close without telling you.
  324.  
  325. When making a VOC file, you must be aware that some samplers leave a tiny
  326. little gap in the VOC file while it is being recorded, if such a VOC file
  327. is played into x128 (or any other emulator) then there is no way it can work.
  328. Try another sampler!
  329.  
  330.  
  331. TZX FILES.
  332. ----------
  333. All new : TZX support!  These files contain all the information of a VOC
  334. file but in a size similar to TAP files!
  335.  
  336. TZX features:
  337.  
  338. * Small!
  339. * Browser!
  340. * Information and messages!
  341. * Tape can be stopped automatically!
  342.  
  343. There is really no need to use VOC files now, what you should do is get
  344. TAPER or VOC2TZX and convert the VOC into the all new format.
  345.  
  346. When a TZX file reaches the end, it will go back to the start and then pause.
  347.  
  348. * NOTE : When using a VOC or TZX file, these cause a large processor
  349.   overhead, and will cause the emulator to run significantly slower.
  350.  
  351.  
  352. F8 - TAPE OPTIONS
  353. -----------------
  354. NOTE : Some options only appear if they are appropriate.
  355.  
  356. * Loading Noise : Yes/No - If No, then no sound while loading, otherwise you
  357.   get an approximation of the sound depending on how many IN 254s are
  358.   happening.  Having it switched on will require more CPU time.
  359.  
  360. * Hide Blocks : Yes/No - If yes, then certain blocks will be suppressed
  361.   from viewing when in the TZX browser.
  362.  
  363. * TZX Browser - Lets you see what blocks are available in the current TZX
  364.   file, you can also select a block to play by moving the cursor and pressing
  365.   return.
  366.  
  367. * Close VOC/TZX File - Does what it says, and only appears if one is open.
  368.  
  369. * VOC/TZX : Paused/Playing - Left or Right toggles the status...
  370.  
  371.  
  372. SHIFT-F8 - INCREMENT ULA DELAY
  373. ------------------------------
  374. T-States are a tricky business.
  375.  
  376. The Spectrum +2A manual says that there are 228 t-states in a screen line.
  377. Z80 Emulators documentation says 224.
  378. (It turns out that the Spectrum 48K uses 224*312 and the 128K uses 228*311
  379. which is now supported).
  380. Games that you try say 'Any number, all different'.
  381.  
  382. This adds a value to the number of t-states counted at the end of every
  383. screen line (192 of them).
  384. So you can use this option to help align up that nice overscan bit on the
  385. screen.
  386.  
  387. This option usually moves overscan bits DOWN the screen.
  388.  
  389. It starts at 0, if you move too far, the emulator performance will start
  390. to be unusual, as this will affect the number of instructions between
  391. interrupts.
  392. The ULA Delay is reset to 0 every time you reset or load a snapshot.
  393.  
  394.  
  395. F9 - PCX DUMP
  396. -------------
  397. The ability to save a 320x200 256 colour PCX, it saves it with any
  398. overscan bits intact!  (And the white dot).
  399.  
  400. A little window will pop up containing the full path of the last PCX file
  401. saved, you can type the name you want, and you can use backspace or delete
  402. to ... delete a character, you can choose the directory to save to by
  403. altering the path.  If you decide that you didn't want to save after all
  404. then press ESCAPE.  The code will try to be clever and determine whether you
  405. have typed .PCX at the end of the line, and append it as necessary, but you
  406. could still confuse it by calling a filename a.a or whatever.
  407. If the file you are trying to save already exists then you will be given
  408. the message 'Overwrite(Y/N)?'.  You can reply 'y' to overwrite, 'n' to abort
  409. and ESCAPE to abort also.
  410.  
  411. NOTE : On pressing F9 the screen will be saved to dump.tmp in the same
  412. directory as the emulator so make sure there is space for 2 PCX files and
  413. that the emulator is on a write enabled/permission drive.
  414.  
  415. NOTE : Regardless of what palette scheme you have chosen, the PCX will be
  416. saved with the full colour settings.
  417.  
  418.  
  419. SHIFT-F9 - DECREMENT ULA DELAY
  420. ------------------------------
  421. See SHIFT-F8 for information.
  422.  
  423. This option usually moves overscan bits UP the screen.
  424. Once you reach 0, it will not go into negative numbers.
  425.  
  426. The ULA Delay is reset to 0 every time you reset or load a snapshot.
  427.  
  428.  
  429. F10- QUIT
  430. ---------
  431. This will quit the emulator and close the window and all that sort of thing,
  432. and yes it does remember to de-allocate the memory and close the TAP file,
  433. (maybe).
  434. On exit you will be told what ULA Delay you had.
  435.  
  436. NOTE : Once you press this button the emulator will quit immediately without
  437. asking confirmation.
  438.  
  439.  
  440. F11- SOUND OPTIONS
  441. ------------------
  442. You see three useful options:
  443.  
  444. FOR THE SB VERSION:
  445. Sound is On/Off : Press left/right to toggle this.
  446.  
  447. On/Off is easy to understand?
  448.  
  449. FOR THE ADLIB VERSION:
  450. Sound is Off/PC Speaker/Adlib : Press left/right to toggle this.
  451.  
  452. If you select Off, then no sound is played.
  453. If you select PC Speaker, then the Spectrum internal speaker is played
  454. through the PC speaker, and the AY-3-8912 is also played out of the PC
  455. speaker.
  456. If you select Adlib, then the Spectrum internal speaker is played through
  457. the PC speaker and the AY-3-8912 through the Adlib card.
  458.  
  459.  
  460. Create/Close PSG File : This allows you to log the OUTs to the AY-3-8912
  461. sound chip, you will be asked for a filename, it will automatically have a
  462. .psg extension, the files are then playable using the utility PSGPLAY, which
  463. comes with the Unix version of fMSX (/dev/dsp or /dev/audio), a DOS PSGPLAY
  464. doesn't exist yet (I think).  Note that all interrupt marks are 0xFF and the
  465. multiple marks are not used.  Also note that these are old style PSG files,
  466. in other words there is no configuration data in the 16 byte header.
  467.  
  468. Note that you can convert PSG files to run under STSound, by using the
  469. PSG2YM utility.
  470.  
  471. White Noise On/Off : I have added some really pathetic emulation of the white
  472. noise of the AY-3-8912 through the Adlib card, using the snare drum channel,
  473. so I have included this option to turn it off.  THIS OPTION HAS NO RELEVANCE
  474. TO THE SB VERSION!
  475.  
  476. 48K Sound : Low/Real.  Low means that the volume of the beeper is equivalent
  477. to one AY channel.  Real means that the beeper volume is equivalent to all
  478. three AY channels!  SAOM ONLY.
  479.  
  480.  
  481. MULTIFACE 128
  482. -------------
  483. By pressing F2 the M128 menu will appear, if you have the ROM.
  484.  
  485. The ROM:
  486.  
  487. mf128.rom 8192 bytes long, and is a dump of the values of the Spectrum from
  488. 0-8191 AFTER the mf128 rom has been paged in.
  489.  
  490. It is also tightly entombed within the file ROMS.BIN that comes with Z80.
  491.  
  492. The MF128 pages in 16K, of which 8K is ROM and 8K is RAM:
  493.  
  494. 0-8191     ROM
  495. 8192-16383 RAM
  496. 16384+     Usual Spectrum memory.
  497.  
  498. The memory is paged in and out like so:
  499.  
  500. IN A,(191) Pages MF128 in.  Returns 127 if the normal Spectrum screen is
  501. visible, or returns 255 if using the 128K second screen in RAM 7.
  502. IN A,(63)  Pages MF128 out.
  503.  
  504. When the MF128 is paged in, OUTs to 32765 still work, so that you can access
  505. all RAM, but for ROM the OUT to 32765 dictates which ROM will be visible
  506. after you page the MF128 back out.
  507.  
  508.  
  509. USING THE FILE SELECTOR
  510. -----------------------
  511. Use the cursor keys to move up and down, the file selected is the one at
  512. the top (with the inversed colours).
  513.  
  514. Directories are Magenta and Black with a slash preceeding the name.
  515. File are Blue and White.
  516. Drives (PC) are Cyan and Black.
  517.  
  518. You can change directory/drive by pressing return while it is being pointed
  519. to, the listing of that directory will then appear for you to view.
  520.  
  521. Keys:
  522.  
  523. Up/Down : Move Up 1 file/Down 1 file.
  524. Page Up/Page Down : Move up 22 files/down 22 files.
  525. Home/End : Move to the top/bottom of the list.
  526. Return : select the file/drive/directory.
  527. Escape : leave the file selector without loading anything.
  528.  
  529.  
  530. Another feature is the file search by typing letters, so if you press 'b'
  531. the pointer will be moved to the first file (not directory) that starts
  532. with 'b'.  If the search was successful, then when you type another letter
  533. you will be searching for the 2nd character position and so on, if a search
  534. fails, (in which case the pointer will not move) the next attempted search
  535. will begin with the first character again.
  536. If you move the pointer with cursor keys, page keys or home/end then the
  537. next search will be on the first character.  Also included in the term
  538. 'letters' are numbers and some punctuation symbols.
  539.  
  540.  
  541. COMMAND LINE OPTIONS
  542. --------------------
  543. You can get x128 to do things from the command line by adding the following
  544. parameters:
  545.  
  546. x128 /?
  547. Shows all the command line options available.
  548.  
  549. x128 /48
  550. Resets to 48K mode on startup.
  551.  
  552. x128 /128
  553. Resets to 128K mode on startup (default).
  554.  
  555. x128 /quiet
  556. This starts up the emulator with the sound off, it can still be switched
  557. back on in the F11 menu.
  558.  
  559. x128 /mono
  560. A silly option which runs the emulator in a monochrome EGA mode.
  561.  
  562. x128 /colour <type>
  563.  
  564. Where <type> can be:
  565.  
  566.         full  - full colour (default).
  567.         grey  - grey scale (for mono monitors).
  568.         red   - red scale.    Useless!
  569.         green - green scale.  Useless!
  570.         blue  - blue scale.   Useless!
  571.  
  572. This does not affect any PCX file that you make.
  573.  
  574. x128 /delay <number>
  575. This sets the slow down delay (0-65535), eg x128 /delay 30000
  576. ADLIB only.
  577.  
  578. x128 /frame <number>
  579. This sets the frame skip value (0-255), eg x128 /frame 4
  580.  
  581. x128 /ula <number>
  582. This sets the ULA delay (0-255), eg x128 /ula 30
  583.  
  584. x128 /speed <number>
  585. This sets the target percentage speed (0-65535).
  586. The default target speed is 100%.
  587.  
  588. x128 /lspeed <number>
  589. This sets the loading percentage speed (0-65535).  SAOM.
  590. The default loading speed is 100%.  On the Adlib version the slowdown is
  591. set to zero whenever loading takes place.
  592.  
  593. x128 /nlspeed
  594. Prevents the loading speed from being used, meaning that the emulator only
  595. ever goes at the "target percentage speed".
  596.  
  597. x128 /lnoise
  598. Switches on the loading noise (SAOM version).
  599.  
  600. x128 /hz <number>
  601. This sets the sample rate for the SB output, anything from 4000 up to 45454
  602. is accepted.  SAOM only.  The default is 22050hz.
  603.  
  604. x128 /sbclone
  605. This software now uses DSP command 0x1C to activate the soundcard at speeds
  606. of 22Khz or below.  If you try sample rates greater than that then x128 will
  607. use DSP command 0x90, which some clones will not like, so use /sbclone to
  608. make sure that 0x1C is used at all speeds.
  609.  
  610. x128 /real
  611. This selects "real" (loud) 48k beeper volume.  SAOM ONLY.
  612.  
  613. NOTE: With all these numerical options, entering non numbers, or numbers
  614. that are too large will cause confusion.  Generally it will decide that
  615. the value should be set to 0, but in the case of /frame this is
  616. effectively 1/256 so you will get a big delay before the screen updates,
  617. so don't enter bad numbers!
  618.  
  619. x128 <filename>
  620. If the filename is a sna or z80 then it will automatically load (and /48
  621. and /128 will be overridden by the type of snap loaded).  This will work
  622. for slt files as well.  BUG : when you load SLT or TZX files from the command
  623. line the file selector will be messed up unless you specify a full path, ie:
  624.  
  625. C:\GAMES\POGO.SLT
  626.  
  627. If the filename is a tap then it will be selected, but you will still have
  628. to load it via the tape loader or by typing load "".
  629. I suppose this means that x128 can now be used in this 'play spectrum games
  630. across the web thingy'.
  631.  
  632. If the file is a VOC or TZX then you will have to do the same as a TAP file
  633. to actually get it to start loading.
  634.  
  635. Tip : Make a .Z80 which is just before a LOAD "" takes place, ie:
  636.  
  637. PAUSE 50 : LOAD ""
  638.  
  639. Press enter, then quickly press F6 and save the .Z80, it is important to save
  640. it BEFORE the load takes effect, as there may be rom traps which would be
  641. skipped if you attempted to load the tape file after the load had taken
  642. effect.  Make a .Z80 in 48 (LOAD48.Z80), and another in 128 mode
  643. (LOAD128.Z80).
  644.  
  645. Then when you want to autoload a tape from the command line (which you want
  646. to load in 48k mode):
  647.  
  648. x128 LOAD48.Z80 ROBO.TAP
  649.  
  650. If using a TZX file SUPPLY THE FULL PATH to the TZX:
  651.  
  652. x128 LOAD48.Z80 D:\GAMES\R\ROBO.TZX
  653.  
  654.  
  655. FUTURE IMPROVEMENTS:
  656. --------------------
  657.  
  658. General
  659. -------
  660. Top and bottom borders in 320x240 resolution.
  661. Speed : Ever Better (or should that be slower?).
  662. Better t-state timing for overscan demos.
  663.  
  664. Specific
  665. --------
  666. Speed Detect (SAOM).
  667. Save TAP files.
  668. Load/Save .SCR/.BIN
  669. Pause between TAP blocks.
  670. TZX trap.
  671. Pause Until Load "" for VOC/TZX.
  672. VOC (music) save option.
  673. VOC (file) save option.
  674. TAP browser.
  675. VOC browser (silly?).
  676. Keyboard error.
  677.  
  678.  
  679. HOW TO GET GAMES:
  680. -----------------
  681. Check ftp and www sites for files, Norway seems to have a lot.
  682. Try ftp://ftp.nvg.unit.no/pub/spectrum/
  683. Most sites will be in Europe.  Try doing a web search for 'Sinclair' or
  684. 'Spectrum' if you have plenty of spare time that is.
  685.  
  686. If you have a SB and a good sampler, then you can turn your tapes into VOC
  687. files and play them that way, then you could get some utilities to convert
  688. them into TZX files so that they take up hardly any space at all.
  689.  
  690. You could register Z80 and buy a tape interface and plusd file copier.
  691.  
  692.  
  693. CREDITS:
  694. --------
  695. James McKay : me : Author of the big (getting less) rubbish bit of the code.
  696.  
  697. e-mail scet@rmplc.co.uk.
  698.  
  699. Duncan McKay : Designed the web page, and found loads of stuff.
  700.  
  701. Tomaz Kac : He created the TZX file, and offered a lot of support in
  702. implementing the TZX support in x128.  Also the underlying SB library is
  703. from his PlayTZX utility.  And he helped with all sorts of files for testing.
  704.  
  705. Ville Halik : His original AY code for fMSX Unix was the starting point for
  706. the code in this release, the square wave generator, method of counting,
  707. envelope table and random number generator are still used.  The general
  708. mixing, envelope timing, general code structure and playing library are
  709. substantially different.
  710.  
  711.  
  712. ALSO:
  713. -----
  714. Marat Fayzullin : His C source gave the idea about how to access a
  715. variable as bytes and words at the same time.  Also the Adlib AY emulation is
  716. written by Alex Krasivsky and him.
  717. Gerton Lunter : His Z80.DOC that came with his emulator, was a very useful
  718. technical reference.
  719. Rui Ribeiro : For the info on the Kempston joystick problem.
  720. Spectrum +2A Manual by Amstrad.
  721. Master Machine Code On Your Amstrad CPC 464 And 664 by Jeff Naylor and
  722. Diane Rogers.
  723. Understanding Your Spectrum by Dr. Ian Logan.
  724. My Spectrum 128 with it's dodgy keyboard.
  725. All those who took part in the SLT debate.
  726. All those who took part in the TZX debate.
  727. All those responsible for the c.s.s debate about perfectly emulating the AY
  728. sound chip, the document detailing this is available with the shareware
  729. version of Z80 V3.05.
  730. All those who gave SB help.
  731. Ulrich Doewich for his Ensoniq soundcard testing.
  732.  
  733.  
  734. HISTORY OF DEVELOPMENT:
  735. -----------------------
  736. (UK DD/MM/YY)
  737.  
  738. V0.0 Date : 02/02/96
  739. V0.1 Date : 08/02/96
  740. V0.2 Date : 26/02/96
  741. V0.3 Date : 19/03/96
  742. V0.4 Date : ??/05/96
  743. V0.5 Date : ??/06/96
  744. V0.6 Date : ??/03/97
  745. V0.61 Date: ??/03/97
  746. V0.7 Date : 21/07/97
  747. V0.71 Date: 04/08/97
  748.  
  749.  
  750. V0.7 Bugs fixed:
  751.  
  752. * Registers modified during ED FB which caused Outrun.SLT not to work.  I
  753.   thought the registers were supposed to be modified!
  754.  
  755. * /speed option now works in SB version.
  756.  
  757. * PAS16 and Ensoniq users had problems, all SB cards should be catered for up
  758.   to 22Khz, but above that is risky, if you try above 22Khz and it locks up
  759.   then try using the /sbclone option as well.
  760.  
  761. * Removed an OUT from the DMA close down code, it now works under Win 3.1
  762.   without crashing (when you press F10), well, it works for me,
  763.   hopefully it will work for you too!
  764.  
  765.  
  766. V0.6 Bugs Fixed:
  767.  
  768. * IFF2 now handled properly, this allows the Laser Squad 128k remix to work
  769.   (without all your weapons disappearing!)  It also allows Speedlock 1 and 2
  770.   to work!
  771.  
  772. * TAP files can now be selected from the command line (again!)
  773.  
  774. * SNA files can be loaded from the command line without nuclear detonation!
  775.  
  776. * Ghosts N Goblins requires that the ADD A,XX instruction is emulated with
  777.   bits 3 and 5 of the flags supported, the C versions did this, but the
  778.   assembly version did not, so I fixed it.
  779.  
  780. * Bits 3 and 5 emulated for CPL instruction, since the Tomahawk loader
  781.   requires it IF you do the fix for Ghosts N Goblins!
  782.  
  783. * Super Scramble Sim and Cyclone didn't work, this was due to a silly bug in
  784.   the C part of the code which caused IM2 interrupts to fetch a byte from
  785.   beyond the boundaries of the Z80 memory (F3F3 trick).  This didn't affect
  786.   any games which used the JR FFF4 trick, since that word fetch is done
  787.   from asm.  Anyway, fixed it!
  788.  
  789.  
  790. V0.71 Improvements:
  791.  
  792. * Loading speed option which allows you to have one speed when you are
  793.   loading and another for normal operation.
  794.  
  795. * Added option to undo the above option.
  796.  
  797. * Loading noise can now be switched on from command line.
  798.  
  799. * Grey scale option for mono monitors, not tested, but R=G=B.
  800.  
  801. * Red, green and blue scales, totally useless, but were easy to do after
  802.   getting the grey scale done.
  803.  
  804.  
  805. V0.7 Improvements:
  806.  
  807. * Super SB support!  Builds a sample every 1/50th of a second allowing such
  808.   things as 128k speech and accurate 48k tunes!
  809.  
  810. * TZX support added.
  811.  
  812. * Loading noise option for VOC/TZX files on SAOM version.
  813.  
  814. * ROMs are now loaded from the directory that the emulator is in, regardless
  815.   of which directory you are currently in.  This does not apply to
  816.   "dump.tmp" temporary file.
  817.  
  818.  
  819. KNOWN BUGS:
  820. -----------
  821. Konami Ping Pong (released by Imagine) has corrupted bats, due to my shifty
  822. contended memory timing.
  823.  
  824. New style of .Z80 not saveable yet (I could not be bothered doing it).
  825.  
  826. This is more of a bad point : the parallel development of x128 on DOS and
  827. Unix has basically collapsed, meaning that the Unix version has almost none
  828. of the improvements listed above, and will NOT be released.
  829.  
  830. Windows 3.1 can crash when you change the speed of the emulator, but don't
  831. worry, it only does it when you have important information to lose!
  832.  
  833. Certain 48k games seem to try to output to the beeper so often that it is
  834. outside the human hearing range.  When replayed through the SB, they fall to
  835. 11Khz which is within the human hearing range, as a rather annoying high
  836. pitched beep.  I have muffled it slightly but it is still there.
  837. The games which are known to do this:  Arkanoid, Fairlight, Fairlight 2,
  838. Fist 2 Practice, International Karate (A & B) and Sweevo's World.
  839.  
  840. SLT files now work from the command line, BUT they mess up the path so that
  841. the menus may not work properly!  THIS ALSO APPLIES TO TZX files!  To avoid
  842. this, supply a full path, ie C:\GAMES\P\POGO.SLT
  843.  
  844. Sometimes a .Z80 file will fail to work, then you reload it and it does
  845. work....
  846.  
  847. Sometimes rogue text messages will appear on screen...
  848.  
  849. In addition the screen timing is slightly off since V0.61,
  850. but it's not so bad, if anyone can describe the effects of contended memory
  851. perfectly (ie good enough to run the Overscan demo), then I'd like to hear
  852. from them!
  853.