home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 December / MICD_2000_12_NR1.iso / Zx / doc / man128.txt < prev    next >
Text File  |  2000-11-07  |  52KB  |  1,298 lines

  1.                            ----------------------
  2.                    --------------------------------------
  3.                 ============================================
  4.                 Sinclair ZX Spectrum 128 Introductory Manual
  5.                 ============================================
  6.                    --------------------------------------
  7.                            ----------------------
  8.  
  9.                  ASCII text version created by Damien Burke
  10.  
  11.                       Visit my Spectrum web pages at:
  12.               http://www.jetman.dircon.co.uk/speccy/index.html
  13.  
  14.                  Including a HTML version of this manual at: 
  15.          http://www.jetman.dircon.co.uk/speccy/128manua/index.html
  16.  
  17.                             This manual remains
  18.                          Copyright (c) 1986 Amstrad
  19.  
  20.         Thanks to Cliff Lawson at Amstrad for distribution permission.
  21.  
  22. - Front cover -------------------------------------------------- Front cover -
  23.  
  24.                                        sinclair
  25.  
  26.                                ZX Spectrum 128
  27.  
  28.                                  Introduction
  29.  
  30.                                          /////
  31.  
  32. - Page 1 ------------------------------------------------------------ Page 1 -
  33.  
  34.                          INTRODUCING THE SPECTRUM 128
  35.  
  36.                   Your Spectrum 128 is two computers in one.
  37.  
  38. It has all the features which have made the Sinclair Spectrum the most popular
  39.      home computer you can buy, and will run existing software for the ZX
  40.                    Spectrumá+ and the 16 and 48K Spectrum.
  41.  
  42.   But now the Spectrum 128 adds a whole new dimension to Spectrum computing.
  43.    Its full 128K of memory means that it can run more complicated programs,
  44.     play more exciting games, store more information - everything you want
  45.         to do will run that much more easily or work that much better.
  46.  
  47. The Spectrum 128 also has many convenient features in addition to those on the
  48. standard ZX Spectrumá+. These include advanced sound, including the ability to
  49. drive a synthesizer; a full screen editor to make it easier to write your own
  50.   programs in BASIC; and a Calculator facility. There are also extra sockets
  51.     for connecting peripherals such as a colour monitor or a printer and a
  52.     special extension keypad giving easy control of the editing facilities.
  53.  
  54.   A simple command lets you switch off the features which are unique to the
  55.    Spectrum 128 so that it performs exactly like a standard 48K Spectrumá+
  56.             (if you want to run a 48K Spectrum game, for instance).
  57.  
  58. Your Spectrum 128 has two manuals. This introduction describes in detail how
  59.   to set up your Spectrum 128 and how to use its special features. There is
  60.      also a copy of the ZX Spectrumá+ User Guide, which describes how the
  61.       Spectrum 128 works when running as a Spectrumá+, and has detailed
  62.             instructions on how to write your own BASIC programs.
  63.  
  64. Start by reading the first section of this introduction (pages 2 to 6) which
  65. shows how to set up your Spectrum 128, how to load 128K programs, and how to
  66.                       use the computer as a Spectrumá+.
  67.  
  68. The second part of this introduction covers the special programming features
  69.  of the Spectrum 128, including how to write or edit a BASIC program, how to
  70.       use the Calculator and how to program music. If you want to learn
  71.        programming on the Spectrum 128, we suggest you start by trying 
  72.             some of the examples in the ZX Spectrumá+ User Guide.
  73.  
  74. - Page 2 ------------------------------------------------------------ Page 2 -
  75.  
  76. ==========
  77. SETTING UP
  78. ==========
  79.  
  80. When you unpack your Spectrum 128, make sure that you have all the parts shown
  81. on page 4 of the ZX Spectrumá+ User Guide. (Note that the software supplied is
  82. different from that detailed there). You will also need your own colour TV or
  83. colour monitor, although you can use a black and white TV if you want. You
  84. will also need a cassette player if you want to load any cassette-based
  85. software.
  86.  
  87. ===============================
  88. Connecting up your Spectrum 128
  89. ===============================
  90.  
  91. All connections to the Spectrum 128 must be made firmly - especially the power
  92. supply. If you accidentally switch off the power or disconnect the power lead
  93. while the Spectrum 128 is running, you will lose the program and any
  94. information which is in the computer.
  95.  
  96. You must be careful how you plug or unplug the connectors for some of the
  97. equipment which can be connected to the Spectrum 128. Like any computer, the
  98. Spectrum 128 can be damaged if some of its leads are carelessly plugged in or
  99. disconnected when the computer is switched on. This applies especially to any
  100. equipment which plugs into the edge connector on the back - such as a
  101. joystick, for example. Never make or break any connection to the edge
  102. connector (or to an extension of it on a 'through' peripheral) without first
  103. turning off the Spectrum 128's power supply by pulling out the plug from the
  104. back of the computer. If you do not, you may damage either the Spectrum 128,
  105. or what you are connecting it to, or both.
  106.  
  107. Your TV or monitor is a powerful generator of static electricity for a few
  108. seconds after it is switched on or off. if you connect or disconnect it from
  109. the Spectrum 128 during this period, you could end up giving your computer a
  110. fatal static shock - so leave the connections alone for a few seconds after
  111. switching the TV or monitor on or off.
  112.  
  113. The other connectors on your Spectrum 128 can be connected or disconnected
  114. with the computer power on, but take care with any other mains powered devices
  115. (cassette recorder, printer etc) since they can generate voltage surges at
  116. switch-on which might cause the computer to crash. Switch them on before
  117. connecting them to the Spectrum 128.
  118.  
  119. =============================
  120. The Spectrum 128 power supply
  121. =============================
  122.  
  123. The mains connection to your Spectrum 128 is the same as described on page 5
  124. of the ZX Spectrumá+ User Guide. When you have finished using your Spectrum
  125. 128, always switch off the power and pull out the mains plug.
  126.  
  127. ===============
  128. Connecting a TV
  129. ===============
  130.  
  131. If you are using the Spectrum 128 with a colour or black and white TV, you
  132. connect it exactly as described on pages 6 and 7 of the ZX Spectrumá+ User
  133. Guide.
  134.  
  135. Unlike the Spectrumá+ which has an internal loudspeaker, the Spectrum 128's
  136. sound is directed through the TV, so you can control the sound level by
  137. turning the TV's volume control up or down.
  138.  
  139. The Spectrum 128 has a built-in TV test screen to ensure that you get the
  140. best possible picture and sound. You turn it on by holding down the [BREAK]
  141. key and pressing the reset button or switching on the power. When your TV is
  142. tuned correctly, you will see a multi-coloured pattern and hear an
  143. intermittent tone. If there is an AFC switch, turn this off, then tune the TV
  144. until you see coloured bars and numbers and hear a sound. Make sure that you
  145. do not tune in just the picture - the sound should be present as well. Reset
  146. the AFC, then adjust volume and picture controls as you prefer.
  147.  
  148. ====================
  149. Connecting a monitor
  150. ====================
  151.  
  152. The Spectrum 128 has an output suitable for use with RGB or colour composite
  153. monitors, which give a better quality colour picture than a TV. Sinclair
  154. Research will offer advice on suitable models.
  155.  
  156. Because most monitors do not have sound, you may need to amplify the Spectrum
  157. 128's sound output separately (see page 3 for details).
  158.  
  159. The monitor lead plugs into the Spectrum 128's RGB socket. There is no need to
  160. tune in the monitor, although some types will need setting to match the
  161. Spectrum 128's signal.
  162.  
  163. A lead ready to connect to the RGB socket is available from Sinclair Research.
  164. You will need to make your own connections at the monitor end, since there
  165.  
  166. - Page 3 ------------------------------------------------------------ Page 3 -
  167.  
  168. is no standard connection. The diagram below gives details of the pin
  169. configuration of the Spectrum 128's RGB output. The monitor dealer should be
  170. able to advise you how to make the connections to the monitor.
  171.  
  172.         RGB              Pin  Signal              Level
  173.                          -------------------------------------------------
  174.    --7--   --6--         1    Composite PAL       75 Ohms, 1.2 Volts pk-pk
  175.          |               2    0 Volts DC
  176.     3--  8  --1          3    Bright output       TTL
  177.   --     |     --        4    Composite sync      TTL
  178.       /     \            5    Vertical sync       TTL
  179.      5   |   4           6    Green               TTL
  180.     /    2    \          7    Red                 TTL
  181.          |               8    Blue                TTL
  182.  
  183. ==============================
  184. Connecting an extension keypad
  185. ==============================
  186.  
  187. The Spectrum 128 has an optional extra extension keypad which provides extra
  188. facilities when editing programs and works as a games controller and
  189. calculator.
  190.  
  191. The keypad is connected by its own coiled cable which fits into the socket on
  192. the front of the computer. There is a slight pause after you first switch on
  193. the Spectrum 128 during which the keypad will not respond. Note that the
  194. keypad functions are not available when running 48 BASIC or playing a 48K
  195. game, and so the keypad need not be connected. It can safely be unplugged
  196. while the computer is switched on.
  197.  
  198. ==============================
  199. Connecting a cassette recorder
  200. ==============================
  201.  
  202. A cassette tape recorder can be connected to the Spectrum 128 for loading or
  203. saving programs in a similar way to that described on pages 12 and 13 of the
  204. ZX Spectrumá+ User Guide.
  205.  
  206. Note that the MIC and EAR sockets are on the left of the computer rather than
  207. at the back, and that the double lead can be used either to connect the EAR
  208. socket on the Spectrum 128 to the EAR socket on the cassette player (for
  209. loading) or MIC to MIC (for saving) - you should not connect both at the same
  210. time. You can plug or unplug the lead while the computer is switched on.
  211.  
  212. You can also use a cassette player as an external amplifier, as shown on page
  213. 37 of he ZX Spectrumá+ User Guide.
  214.  
  215. ======================
  216. Connecting Microdrives
  217. ======================
  218.  
  219. Sinclair Microdrives are a powerful means for saving and loading programs more
  220. quickly than using tapes. They are connected to the Spectrum 128 by using a
  221. Sinclair Interface 1, as described on pages 46 and 47 of the ZX Spectrumá+
  222. User Guide.
  223.  
  224. =====================
  225. Connecting a joystick
  226. =====================
  227.  
  228. A joystick can be connected to the edge connector on the back of the Spectrum
  229. 128 by using a suitable interface which should be available with the joystick.
  230. Make sure that the model you buy will work with your software, as there are
  231. several joystick standards. Do not connect or disconnect a joystick interface
  232. while the Spectrum 128 is switched on.
  233.  
  234. ====================
  235. Connecting a printer
  236. ====================
  237.  
  238. The Spectrum 128 can be used with many types of printer which conform to the
  239. RS232 standard (the commonest type) or which are fitted with an RS232
  240. interface. A separate list of suitable models can be obtained from Sinclair
  241. Research.
  242.  
  243. The printer plugs into the RS232 socket on the left hand side of the Spectrum
  244. 128, using a special connecting lead which can be obtained from Sinclair
  245. Research.
  246.  
  247. Printers such as the Sinclair ZX printer which were designed for earlier
  248. Spectrum models can also be used with the Spectrum 128 but will only work when
  249. the computer is running 48 BASIC, They are not suitable for use when the
  250. Spectrum 128's special features are in use. This type of printer plugs onto
  251. the edge connector at the back of the computer.
  252.  
  253. ==============================
  254. Connecting musical instruments
  255. ==============================
  256.  
  257. The Spectrum 128 can be used to control electronic musical instruments such as
  258. synthesizers and drum machines which conform to the MIDI standard (see page
  259. 14).
  260.  
  261. To make the connection, you need a MIDI lead which is available from Sinclair
  262. Research.
  263.  
  264. ============================
  265. Connecting other peripherals
  266. ============================
  267.  
  268. Your Spectrum 128 can be connected to a wide variety of other computer
  269. peripherals such as light pens, disk drives and modems. Make sure that the
  270. equipment is specifically compatible with the Spectrum 128 as well as other
  271. Spectrum models. Connection details should be provided by the manufacturers
  272. of the equipment.
  273.  
  274. - Page 4 ------------------------------------------------------------ Page 4 -
  275.  
  276. ===============
  277. GETTING STARTED
  278. ===============
  279.  
  280. When you switch on your Spectrum 128 or press the reset button on the left
  281. hand end, you will see the Spectrum 128 main menu screen which lists these
  282. main functions and allows you to choose between them with a few simple
  283. keypresses
  284.                                Tape Loader
  285.                                128 BASIC
  286.                                Calculator
  287.                                48 BASIC
  288.                                Tape Tester
  289.  
  290. There is a blue bar (the selection cursor) showing the option which is
  291. currently selected - it starts off on Tape Loader at the top of the menu. Use
  292. the [up arrow] and [down arrow] keys on the main keyboard or keypad to move
  293. the selection cursor up and down. Press [ENTER] (or [CMND] if you have a
  294. keypad) to select the option shown by the cursor.
  295.  
  296. ===========
  297. Tape Loader
  298. ===========
  299.  
  300. This enables you to load any 128K program from tape at high speed. Taped 48K
  301. or 16K programs must be loaded by selecting 48 BASIC. The Tape Loader is
  302. described in detail on page 5.
  303.  
  304. =========
  305. 128 BASIC
  306. =========
  307.  
  308. Select this option to write your own 128 BASIC program. 128 BASIC is similar
  309. to standard Spectrum BASIC, with the addition of some new commands and
  310. improved editing. Spectrum BASIC is described in the ZX Spectrumá+ User
  311. Guide, and pages 6 - 8 of this Introduction give full details of the extra
  312. features.
  313.  
  314. ==========
  315. Calculator
  316. ==========
  317.  
  318. This option turns the keyboard or keypad into a simple calculator. The
  319. calculation and results are displayed on the screen. Page 8 of this
  320. Introduction shows you how to use the Calculator.
  321.  
  322. ========
  323. 48 BASIC
  324. ========
  325.  
  326. Select this to make your Spectrum 128 work as a Spectrumá+, allowing you to
  327. load 48K or 16K Spectrum programs or write your own programs in Spectrum
  328. BASIC.
  329.  
  330. When you select this option, the screen will clear and you will see the 1982
  331. copyright message as shown on page 6 of the ZX Spectrumá+ User Guide.
  332.  
  333. The computer will then behave exactly like an ordinary 48K Spectrumá+. You
  334. will not be able to use a keypad or any of the other special program features
  335. of the Spectrum 128 - although you will be able to use a monitor.
  336.  
  337. If there is a program in your Spectrum 128's memory when you select 48 BASIC,
  338. it will be lost. it is possible to carry over a program from 128 BASIC to 48
  339. BASIC by typing the command SPECTRUM. However, any commands (such as sound
  340. commands) which are only available in 128 BASIC will not be accepted by the
  341. computer.
  342.  
  343. Your Spectrum 128 will stay in 48 BASIC until you switch off or press the
  344. reset button. There is no command which will let you return to 128 BASIC -
  345. you must press the reset button and start again.
  346.  
  347. ===========
  348. Tape Tester
  349. ===========
  350.  
  351. This will check that you have set the volume on your cassette player to the
  352. best possible level for any given tape. Details are given in the Loading a
  353. program section.
  354.  
  355. - Page 5 ------------------------------------------------------------ Page 5 -
  356.  
  357. =================
  358. LOADING A PROGRAM
  359. =================
  360.  
  361. The Spectrum 128 can be used to run programs which you have bought for it, or
  362. programs which you have written yourself and saved on tape, Microdrive or
  363. disk. It will load all programs which were specially written for the Spectrum
  364. 128, as well as many programs which were written for the Spectrumá+, Spectrum
  365. 48K and 16K. However, you must use a different loading method for these
  366. programs, and it is extremely unlikely that a program will run if you use the
  367. wrong method.
  368.  
  369. Loading problems can be minimised by running the special Tape Tester program
  370. to ensure that the tape player is set to the ideal volume.
  371.  
  372. =================
  373. Loading checklist
  374. =================
  375.  
  376. The different loading methods are explained in detail below. This checklist
  377. shows when to use each one.
  378.  
  379. * 128K programs on tape
  380.   Most programs will load automatically by using the Tape Loader option. A 
  381.   very few may need special loading instructions entered in 128 BASIC.
  382.  
  383. * 128K programs on Microdrive or disk
  384.   The loading instructions must be entered from 128 BASIC.
  385.  
  386. * Spectrumá+, 48K or 16K programs on tape, Microdrive, or disk
  387.   The loading instructions must be entered from 48 BASIC.
  388.  
  389. ======================
  390. Loading a 128K program
  391. ======================
  392.  
  393. The Tape Loader option on the main menu can be used for any cassette-based
  394. 128K program which accepts a LOAD "" command (almost all commercial programs
  395. do this). It cannot be used for Microdrive- based or disk-based software, nor
  396. the very small number of taped programs which require special loading
  397. instructions.
  398.  
  399. To use the Tape Loader, ensure that your cassette player is connected
  400. correctly (see page 3), then select the Tape Loader option on the main menu.
  401. If this is the first time you have used the program with your Spectrum 128,
  402. you may wish to use the Tape Tester option first (see below). Otherwise, just
  403. press PLAY on your cassette player and loading is then automatic.
  404.  
  405. If the program is on Microdrive or disk, or the cassette is one of the very
  406. few which requires a special loading command, you will need to select 128
  407. BASIC from the main menu. Now check the loading instructions given with the
  408. software and type in the command given there (see 128 BASIC for further
  409. details).
  410.  
  411. ===========================
  412. Loading a 48 or 16K program
  413. ===========================
  414.  
  415. Select 48 BASIC then follow the software loading instructions given in the ZX
  416. Spectrumá+ User Guide.
  417.  
  418. =================
  419. Loading problems?
  420. =================
  421.  
  422. Most tape loading problems are not due to a fault with the software or the
  423. computer. If you have problems loading a program from tape, first check that
  424. you have used the right method. Have you tried to load a 128K program in 48K
  425. BASIC, or vice versa?
  426.  
  427. Then check that your cassette player is set to the optimum volume (see below).
  428. You may also find it useful to check the Software loading troubleshooter chart
  429. on page 16 of the ZX Spectrumá+ User Guide.
  430.  
  431. =====================
  432. Using the Tape Tester
  433. =====================
  434.  
  435. The Tape Tester provides a means of checking that your cassette player is set
  436. to the best volume for any given tape. This will minimise loading problems,
  437. but if your cassette player is faulty or you have a badly recorded tape, it
  438. does not guarantee loading.
  439.  
  440. Connect up your cassette player and insert the program tape which you wish to
  441. test. Wind it on a little so that you have a signal on the tape. Now select
  442. Tape Tester from the menu. You will see a horizontal blue bar on the screen
  443. with a light blue square to the left of it. Start the tape and you should see
  444. the light blue square move to the right.
  445.  
  446. Now adjust the volume control up or down until the light blue square fails as
  447. far to the right as possible.
  448.  
  449. Leave the volume control in this position and rewind the tape. You can now
  450. load it as normal. It is worth marking the volume setting on the tape label
  451. for future reference.
  452.  
  453. - Page 6 ------------------------------------------------------------ Page 6 -
  454.  
  455. =========
  456. 128 BASIC
  457. =========
  458.  
  459. Choosing the 128 BASIC option from the main menu lets you write your own
  460. BASIC program. it also lets you edit a program which you have previously
  461. written, or issue a direct command for things like loading software which
  462. cannot be loaded using the easy Tape Loader.
  463.  
  464. If you are used to writing in Spectrum BASIC (see the ZX Spectrumá+ User
  465. Guide), you will find that 128 BASIC is very similar but contains some extra
  466. commands. The most important difference is the way in which you type in 128
  467. BASIC.
  468.  
  469. Ordinary Spectrum BASIC commands are entered in by pressing one key (sometimes
  470. after pressing one or two others). The whole keyword (printed in small letters
  471. on the key) then appears on the screen.
  472.  
  473. In 128 BASIC none of these special key entries apply. Instead, you type each
  474. word in full, letter by letter.
  475.  
  476. You can use 128 BASIC to type in any program which was originally written for
  477. the Spectrum 128. it can also be used for many programs which were written for
  478. the 16K or 48K Spectrum, including those in the ZX Spectrumá+ User Guide. It
  479. does not matter that these originally used special keys to enter them.
  480. However, you may find that some programs for the earlier Spectrums contain
  481. instructions which will cause them to fail if run in 128 BASIC.
  482.  
  483. Note that the TRUE VIDEO and INVERSE VIDEO keys are not used in 128 BASIC.
  484. INVERSE effects are available by using the keywords INVERSE 1 and INVERSE 0 as
  485. described on page 31 of the ZX Spectrumá+ User Guide.
  486.  
  487. In 128 BASIC, EXTEND MODE is only used for a few symbols shown above the
  488. letters on the keys, such as 1. To get these symbols, press the EXTEND MODE
  489. key and then SYMBOL SHIFT and the symbol key together. The Spectrum 128 then
  490. reverts to normal typing. >=, <= and <> must be entered as two characters.
  491. GRAPHICS mode works as it does in Spectrum BASIC but you must leave GRAPHICS
  492. mode if you wish to use the cursor keys to edit a program. Colour control
  493. codes (see page 33 of the ZX Spectrumá+ User Guide) are not available in 128
  494. BASIC and you should use the colour keywords instead. Spectrum BASIC programs
  495. which contain the keywords POKE or PEEK may not work correctly in 128 BASIC.
  496.  
  497. When you are typing in 128 BASIC, you can use either capitals or lower case
  498. letters except when entering music (see page 10) The other examples printed
  499. here are in capitals for clarity, but this is not essential. You also do not
  500. always need to include spaces on either side of BASIC keywords as shown in the
  501. program examples (the Spectrumá+ puts these in automatically). However, if you
  502. are typing a keyword next to another letter (eg, FOR N or IF A) you must put
  503. in the space. When a program line is accepted by the Spectrum 128 (see below)
  504. it automatically converts all the keywords to capitals and inserts spaces as
  505. shown in the examples.
  506.  
  507. ============
  508. Start typing
  509. ============
  510.  
  511. As soon as you have selected 128 BASIC from the main menu, you will see a
  512. blank screen ready to type onto. Try typing this
  513.  
  514. -----------------------------
  515. 10 BORDER 1:PAPER 6:INK 2:CLS
  516. -----------------------------
  517.  
  518. Note that you could just as well type
  519.  
  520. -----------------------------
  521. 10 border 1:paper 6:ink 2:cls
  522. -----------------------------
  523.  
  524. as they mean the same to the Spectrum 128. Press [ENTER] when you reach the
  525. end of the line.
  526.  
  527. Now you want to run your program to see its effect, Type
  528.  
  529. ---
  530. RUN
  531. ---
  532.  
  533. and press [ENTER]. The screen should turn yellow with a dark blue border.
  534.  
  535. ===============
  536. Program errors?
  537. ===============
  538.  
  539. The Spectrum 128 will check each program line after you have typed it in. If
  540. you make a typing mistake which it cannot understand, it will not accept the
  541. line when you press [ENTER]. The commonest errors are spelling mistakes and
  542. missing spaces. For example, in the program line you have just entered, you
  543. might have typed
  544.  
  545. -----------------------------
  546. 10 BORDER 1:PAPER 6:UNK 2:CLS
  547. -----------------------------
  548.  
  549. which has a spelling mistake.
  550.  
  551. When an error is detected, a red cursor will flash in the line. This cursor
  552. will almost always indicate the keyword which
  553.  
  554. - Page 7 ------------------------------------------------------------ Page 7 -
  555.  
  556. contains the first error (as it will here), but with some types of mistake
  557. this is not the case.
  558.  
  559. The Spectrum 128 only checks each line as you enter it, so it does not
  560. guarantee that the program as a whole is correct. Nor is it a mind-reader. If
  561. you type
  562.  
  563. -----------------
  564. 10 PRINT "Hellop"
  565. -----------------
  566.  
  567. the line will be accepted. The computer cannot know that you meant to type
  568. "Hello".
  569.  
  570. =======================
  571. Correcting your program
  572. =======================
  573.  
  574. If you make any typing mistakes or just want to change something, the BASIC
  575. editor lets you make corrections very easily using the keyboard. And if you
  576. have a keypad, this has extra keys which give you more control over moving
  577. around and deleting parts of the program.
  578.  
  579. =============
  580. Moving around
  581. =============
  582.  
  583. Try moving the cursor around the program using the cursor keys on the
  584. keyboard
  585.  
  586. [right arrow] moves the cursor one character to the right
  587. [left arrow] moves the cursor one character to the left
  588. [up arrow] moves the cursor up one line
  589. [down arrow] moves the cursor down one line
  590.  
  591. If you have a keypad, these movements are duplicated by the red cursor keys.
  592. You also have these additional keys
  593.  
  594. [double right arrow] moves the cursor as far as the begining of the next word
  595. [double left arrow] moves the cursor as far as the next space to the left
  596. [double up arrow] moves the cursor up 10 lines of the program - this will not
  597.                   work unless you have more than 10 lines in your current
  598.                   program
  599. [double down arrow] moves the cursor down 10 lines of the program - this will
  600.                     not work unless you have more than 10 lines in your
  601.                     current program
  602. [bar and double left arrow] moves the cursor to the start of the BASIC line
  603. [double right arrow and bar] moves the cursor to the end of the BASIC line
  604.  
  605. ========================
  606. Deleting program entries
  607. ========================
  608.  
  609. You can erase mistakes by using the [DELETE] key on the keyboard to delete
  610. the character to the left of the cursor.
  611.  
  612. If you have a keypad, this offers several extra delete keys.
  613.  
  614. [DEL and left arrow] deletes the character to the left of the cursor
  615. [DEL and right arrow] deletes the character which the cursor is on
  616.  
  617. You can delete larger amounts by using the following keys on the keypad. To
  618. prevent unwanted erasures you must hold down [SHIFT] at the same time as
  619. pressing these keys.
  620.  
  621. [DEL and double left arrow] deletes as far as the next space to the left of
  622.                             the cursor
  623. [DEL and double right arrow] deletes from the character under the cursor, as
  624.                              far as the next space to the right
  625. [DEL and bar and double left arrow] deletes from the left of the cursor to the
  626.                                     beginning of the line
  627. [DEL and double right arrow and bar] deletes from the character under the
  628.                                      cursor to the end of the line
  629.  
  630. ======================
  631. The 128 BASIC commands
  632. ======================
  633.  
  634. Press [EDIT] (or [CMND] if you have a keypad) to bring up the Options menu
  635. which offers these commands.
  636.                                128 BASIC
  637.                                Renumber
  638.                                Screen
  639.                                Print
  640.                                Exit
  641.  
  642. This works like the main menu-you move the cursor up and down with [up arrow]
  643. and [down arrow], and use [ENTER] to select your option.
  644.  
  645. =========
  646. 128 BASIC
  647. =========
  648.  
  649. Selecting this returns you to the BASIC screen if you have selected the
  650. command Options menu by mistake.
  651.  
  652. ========
  653. Renumber
  654. ========
  655.  
  656. This automatically alters the line numbers of the current BASIC program so
  657. that it starts at line 10 and goes up in steps of 10. It also changes any
  658. references to the line numbers which appear within the lines (such as GOTO
  659. 200, for example). This is most useful when you have developed a program by
  660. adding new BASIC lines between the originals. You can use the command to tidy
  661. up the program by spacing it out to absorb the new additions.
  662.  
  663. ======
  664. Screen
  665. ======
  666.  
  667. This option changes the size of the BASIC program screen. Instead of your
  668. program occupying the whole screen area, it can be displayed in just the
  669. bottom two lines. The
  670.  
  671. - Page 8 ------------------------------------------------------------ Page 8 -
  672.  
  673. small screen is mainly used when you are saving a screen display or copying
  674. it to a printer - confining the program to an off- screen area ensures that
  675. it does not overwrite the display which you want to keep.
  676.  
  677. =====
  678. Print
  679. =====
  680.  
  681. If you have a suitable printer connected, this lets you print out the current
  682. program on paper.
  683.  
  684. If no printer is connected, or there is some other problem, the computer may
  685. appear to 'freeze'. it can be cleared by pressing [BREAK]. When printing is
  686. complete, you will be returned to the program screen.
  687.  
  688. ====
  689. Exit
  690. ====
  691.  
  692. This option returns you to the main menu. Your current program is
  693. automatically stored and will be recalled if you select 128 BASIC again. If
  694. you switch off, select 48 BASIC or press the reset button the program will be
  695. lost.
  696.  
  697. ====================
  698. USING THE CALCULATOR
  699. ====================
  700.  
  701. The number keys and mathematical symbols on the keyboard or keypad can be used
  702. exactly like an ordinary pocket calculator, by selecting the Calculator option
  703. from the main menu.
  704.  
  705. When you select the option, you will see the blank Calculator screen. Now just
  706. type in your calculation in standard mathematical notation. For example, type
  707.  
  708. -----
  709. 27*45
  710. -----
  711.  
  712. When you press [ENTER] the answer = 1215 will appear. As on an ordinary
  713. calculator, the current result is held in the Spectrum's memory - so if you
  714. want to carry out further calculations, there is no need to retype it. For
  715. example, to take 685 from the answer you just got, you type
  716.  
  717. ----
  718. -685
  719. ----
  720.  
  721. and press [ENTER] to see the answer = 530.
  722.  
  723. The calculator uses all the mathematical functions available in Spectrum
  724. BASIC (see the ZX Spectrumá+ User Guide). The keypad has the four main
  725. mathematical functions * / + - and also supports the use of brackets.
  726.  
  727. When you have finished with the calculator, you can return to the main menu by
  728. pressing [EDIT]. This brings up the Options menu:
  729.  
  730.                                Calculator
  731.                                Exit
  732.  
  733. Select Calculator to return to the Calculator screen, or Exit to return to the
  734. main menu.
  735.  
  736. - Page 9 ------------------------------------------------------------ Page 9 -
  737.  
  738. ======================
  739. STORING DATA IN MEMORY
  740. ======================
  741.  
  742. The additional memory in your Spectrum 128 can be used for running large
  743. machine code programs. It can also be used by BASIC to store programs and data
  744. in much the same way as a cassette or Microdrive - but many times faster.
  745.  
  746. This type of storage is called a RAM disk and it allows BASIC programs to
  747. manipulate data in much the same way as professional programs on big machines.
  748.  
  749. An important difference between RAM storage and a cassette or Microdrive is
  750. that the data will be lost as soon as the power is switched off or the reset
  751. button is pressed. It will also be as good as lost if you type SPECTRUM.
  752. Always save your work to cassette or Microdrive before doing any of these
  753. things. Data which has been stored in RAM will not be affected by a NEW
  754. command.
  755.  
  756. All the commands for RAM disk storage are the same as cassette commands except
  757. that an exclamation mark (!) must be typed after the keyword, eg
  758.  
  759. ------------------------
  760. SAVE! "program" LINE 10
  761. LOAD! "program"
  762. SAVE! "picture" SCREEN$
  763. LOAD! "physics" DATA p()
  764. MERGE! "overlay"
  765. ------------------------
  766.  
  767. The VERIFY keyword is not used with the RAM disk.
  768.  
  769. You can get an alphabetic catalogue of all the files (programs and data) saved
  770. in RAM by typing
  771.  
  772. ----
  773. CAT!
  774. ----
  775.  
  776. Individual files can be removed by typing
  777.  
  778. -----------------
  779. ERASE! "filename"
  780. -----------------
  781.  
  782. ===============
  783. MUSIC AND SOUND
  784. ===============
  785.  
  786. The Spectrum 128 has two different ways to make music and sound effects. Both
  787. work through the sound channel of your TV or can be sent to an external
  788. amplifier as explained on page 3. There is no internal speaker.
  789.  
  790. The first method uses the Spectrum BASIC BEEP command (see pages 36-37 and 53
  791. of the ZX Spectrum User Guide). But 128 BASIC also has the PLAY command which
  792. allows you to make sophisticated music with up to three notes at once. It also
  793. gives you more control over the sound of each individual note than is possible
  794. using BEEP.
  795.  
  796. The PLAY command can be used to let your Spectrum 128 play tunes on many types
  797. of synthesizer and other electronic musical instruments, such as drum
  798. machines. The Spectrum 128 is MIDI (Musical Instrument Digital Interface)
  799. compatible, which allows it to be connected to any other equipment which
  800. conforms to the MIDI standard.
  801.  
  802. ==================
  803. Programming sounds
  804. ==================
  805.  
  806. Making music and sound effects with PLAY is simple. You just type in the
  807. series of notes that make up a tune, then ask the Spectrum 128 to PLAY them.
  808. You can also include instructions that tell the Spectrum 128 what sort of tone
  809. you want for the sound.
  810.  
  811. To hear some of the wide range of sounds that you can make, type in one of the
  812. two programs below, RUN it, then try the other example, Don't worry if the
  813. program lines look complicated, they are explained in detail later
  814.  
  815. =====
  816. MUSIC
  817. =====
  818.  
  819. --------------------------------------------------
  820. 10 LET a$="T180O6(CDEC)(5EF7G)(3GAGF5EC)5Cg7C9CgC"
  821. 20 LET b$="O4(CDEC)(5EF7G)(3GAGF5EC)5Eb7E9EbE"
  822. 30 LET c$="O3(7CG)(7CG)(7CG)5GD7G9GDG"
  823. 40 PLAY a$,b$,c$
  824. --------------------------------------------------
  825.  
  826. - Page 10 ---------------------------------------------------------- Page 10 -
  827.  
  828. =============
  829. SOUND EFFECTS
  830. =============
  831.  
  832. -----------------------------------------------------
  833. 10 LET a$="M8UX350W507(((C)))": PLAY a$ : PAUSE 25
  834. 20 LET a$="M56UX5000W1O3(((C)))" : PLAY a$ : PAUSE 25
  835. 30 LET a$="M56W2O1N8C" : PLAY a$ : PAUSE 25
  836. -----------------------------------------------------
  837.  
  838. ======================
  839. Using the PLAY command
  840. ======================
  841.  
  842. In the examples above, you will see that each time the PLAY command appears,
  843. it is followed by up to three different letters, each followed by a $ sign in
  844. a statement like
  845.  
  846. -------------
  847. PLAY a$,b$,c$
  848. -------------
  849.  
  850. Each of these is the name of a string (a series of characters) which you have
  851. already given to the computer earlier in the program. The strings tell the
  852. Spectrum 128 which sounds to make.
  853.  
  854. PLAY controls three separate sound channels called A, B, and C and there can
  855. be up to three strings, one for each channel. In the MUSIC example given
  856. above, a$ tells channel A to play the melody line, b$ tells channel B to play
  857. a harmony, and c$ tells channel C to play a bass part. In the SOUND EFFECTS
  858. example, only one noise is used at a time (although up to three can be), so
  859. each one is in channel A and the command is simply PLAY a$.
  860.  
  861. In fact any of the channels can produce either a musical tone or noise, so you
  862. can mix sound effects in with your music (see Channel selection).
  863.  
  864. ====================
  865. Constructing strings
  866. ====================
  867.  
  868. Composing music and sound effects on the Spectrum 128 is simply a matter of
  869. creating strings containing the information you want. You can see how this
  870. works in the MUSIC example above. Each string is created with the LET command,
  871. followed by the name of the string, and its contents enclosed in "" marks. Try
  872. this example, which plays just one note - an A.
  873.  
  874. -------------------
  875. LET a$="a": PLAY a$
  876. -------------------
  877.  
  878. Any music program using PLAY also uses LET to tell it what to play, as you can
  879. see by looking at the earlier examples. The reason why these programs look
  880. more complicated than the example above is that the strings enclosed in the ""
  881. marks contain many letters and numbers to define a longer tune or more complex
  882. sound.
  883.  
  884. Any musical sound has a pitch and duration. It also has a volume and tone
  885. quality. The strings in the earlier examples contain information about all of
  886. these. The summary below lists each possible command, and they are explained
  887. in detail opposite.
  888.  
  889. ====================
  890. PLAY command summary
  891. ====================
  892.  
  893. This is a brief list of the commands which can be contained in a PLAY string.
  894. Note that all letters except note names must always be in capitals.
  895.  
  896. String entry Function
  897. ------------------------------------------------------------------------------
  898. c-b or C-B   Gives pitch of note within current octave range
  899. $            Flattens note following it
  900. #            Sharpens note following it
  901. O            Followed by number 0 to 8 sets current octave range
  902. 1-12         Sets length of notes
  903. &            Denotes a rest
  904. N            Separates two numbers
  905. V            Followed by a number 0 to 15 sets volume of notes
  906. W            Followed by a number 0 to 7 sets volume effect
  907. U            Turns on volume effect in any string
  908. X            Followed by a number 0 to 65535 sets duration of volume effect
  909. T            Followed by a number from 60 to 240 sets tempo of music
  910. ( )          Enclose repeated phrase
  911. ! !          Enclose a comment
  912. H            Stops a PLAY command
  913. M            Followed by a number from 1 to 63 selects channels
  914. Y            Followed by a number from 1 to 16 turns on a MIDI channel
  915. Z            Followed by a number sends that number as a MIDI programming code 
  916.  
  917. - Page 11 ---------------------------------------------------------- Page 11 -
  918.  
  919. =================
  920. Setting the pitch
  921. =================
  922.  
  923. As you saw above, you set the pitch of any note by giving its musical name -
  924. eg, C E G. Sharp notes are prefixed by # (eg #C) and flat notes by $. Your
  925. 'instrument' covers two octaves in the key of C, and uses letters c to b for
  926. the notes in the lower octave, C to B in capitals for the higher one.
  927.  
  928. Any number of notes within these two octaves can be played one after another,
  929. eg
  930.  
  931. ----------------------------
  932. 10 LET a$="cfedafgCFEDAFGCC"
  933. 20 PLAY a$
  934. ----------------------------
  935.  
  936. If you want to span more than just two octaves, you can change the overall
  937. pitch of your 'instrument' by using the octave command 0 followed by a number
  938. from 0 to 8. if you do not specify an octave (as in the example above) it is
  939. automatically set to 5 (the range containing middle C). The octave command
  940. remains in force for all notes which follow it until a new octave command is
  941. given.
  942.  
  943. This program lets you hear the same tune played in a higher octave (just add
  944. the O7 to your earlier program)
  945.  
  946. ------------------------------
  947. 10 LET a$="O7cfedafgCFEDAFGCC"
  948. 20 PLAY a$
  949. ------------------------------
  950.  
  951. Try changing the octave number progressively to hear the full pitch range
  952. which your Spectrum 128 can produce. Notice that some of the very lowest notes
  953. in octaves 0 and 1 will not be reproduced at the right pitch except through
  954. the MIDI output. The Spectrum 128 will simply play them at the lowest pitch
  955. possible.
  956.  
  957. Since each pitch range covers two octaves, two adjacent ranges overlap. For
  958. example, the high part of 04 contains the low part of 05 (see the diagram
  959. below). Note that you can extend any range slightly by using a series of
  960. sharps (####) or flats ($$$$) to raise the pitch of individual high notes or
  961. lower the pitch of low ones.
  962.  
  963. =============
  964. Note duration
  965. =============
  966.  
  967. If you do not specify the length of each note, they will all be played at the
  968. same length (as crotchets) as in the examples above. You can fix the length of
  969. any note or series of notes by prefixing it with a number from 1 to 12. This
  970. program lets you hear the different note duration with numbers from 1 to 9.
  971.  
  972. ------------------------------
  973. 10 LET a$="1C2C3C4C5C6C7C8C9C"
  974. 20 PLAY a$
  975. ------------------------------
  976.  
  977. Pitch values for making music with PLAY
  978.  
  979. This diagram shows how you can create different notes using the Spectrum 128's
  980. octave command. The command O followed by a number from 0 to 7 sets the
  981. Spectrum 128 to a range of two octaves beginning with a C. The diagram shows
  982. the complete range of notes covered by O4. O5, and O6. Adjacent octave ranges
  983. overlap, so the same notes appear in the upper part of one range and the
  984. lower part of another.Individual notes within an octave range are set by
  985. using the letters c to b in lower case for the lower notes and C to B in
  986. capitals to give the notes in the upper octave. Placing a # before any note
  987. letter gives a sharp note - a $ flattens it.
  988.  
  989. [There was a diagram here, but it's a bit beyond ASCII art, so take a look at
  990. the HTML version's sp128111.gif file -DB]
  991.  
  992. - Page 12 ---------------------------------------------------------- Page 12 -
  993.  
  994. 1 is the shortest note and 9 the longest. They are related to musical
  995. convention according to the following table.
  996.  
  997.                   Number  Note Name          Musical symbol
  998.                   -----------------------------------------
  999.                   1       semi quaver
  1000.                   2       dotted semi-quaver
  1001.                   3       quaver
  1002.                   4       dotted quaver
  1003.                   5       crotchet
  1004.                   6       dotted crotchet
  1005.                   7       minim
  1006.                   8       dotted minim
  1007.                   9       semi-breve
  1008.  
  1009. [The musical symbols are also beyond ASCII art so take a look at the HTML
  1010. version's sp128121.gif through to sp12812c.gif files -DB]
  1011.  
  1012. Each of these controls the length of all notes which follow it until you give
  1013. a new number code.
  1014.  
  1015. You can also use the numbers from 10 to 12 to specify triplet notes (three
  1016. notes played in the time normally used for two).
  1017.  
  1018.                   10      triplet semi-quaver
  1019.                   11      triplet quaver
  1020.                   12      triplet crotchet
  1021.  
  1022. Each of these only applies to the three notes following it and must be
  1023. followed by their three names, eg
  1024.  
  1025. -----------------
  1026. 10 LET a$="11ACE"
  1027. -----------------
  1028.  
  1029. A rest (no note playing) is specified by a & and has the same length as the
  1030. current note. For example
  1031.  
  1032. ----------------------
  1033. 10 LET a$="7A&B&C&D&E"
  1034. ----------------------
  1035.  
  1036. is five minims with equal pauses between them.
  1037.  
  1038. Tied notes can be indicated by giving the two note durations connected by an
  1039. underscore character and the note name, eg
  1040.  
  1041. ----------------
  1042. 10 LET a$="3_5A"
  1043. ----------------
  1044.  
  1045. The second note duration you give will also apply to any following codes until
  1046. you give another duration code.
  1047.  
  1048. =============
  1049. The N Command
  1050. =============
  1051.  
  1052. In some or the examples you will see the letter N used to introduce a series
  1053. of notes within the string, eg
  1054.  
  1055. ----------------
  1056. LET a$="O7N1CDE"
  1057. ----------------
  1058.  
  1059. N is used in cases where two sets of numbers would otherwise clash. In the
  1060. example above, 0 is set to octave 7, then a series of notes is given, starting
  1061. with the duration code 1. Without the N code, the Spectrum 128 would read the
  1062. octave code as 71 - obviously not what was intended!
  1063.  
  1064. ===========
  1065. Note volume
  1066. ===========
  1067.  
  1068. The overall volume of the sound is controlled by the volume setting of your
  1069. TV or amplifier. You can control the volume of individual notes and phrases
  1070. within the tune by using the V command. V followed by a number from 0 to 15
  1071. sets the following note(s) to a constant volume. The lower the number, the
  1072. quieter the sound, with V0 completely silent (V0 is a useful way of stopping
  1073. one channel playing while others continue). V15 is the maximum and is used
  1074. automatically by the Spectrum 128 if you do not specify a level.
  1075.  
  1076. The low volumes are very quiet and you will normally use 10 to 15 unless you
  1077. are outputting to an amplification system or via the MIDI port to a
  1078. synthesizer. Try running this program
  1079.  
  1080. -----------------------------
  1081. 10 LET a$="V10cdefgabCDEFGAB"
  1082. 20 PLAY a$
  1083. -----------------------------
  1084.  
  1085. Now try changing the number after the V to a new value to hear the difference
  1086.  
  1087. ==============
  1088. Volume effects
  1089. ==============
  1090.  
  1091. Instead of you just setting each note to a fixed volume, PLAY also lets you
  1092. change the volume of the sound while it is playing. For example, you can make
  1093. a note start suddenly and then die away (like a piano) or make a sound effect
  1094. rise and fall in volume (like a steam train).
  1095.  
  1096. This effect is controlled by the letter W which can be included in any of the
  1097. strings controlled by the PLAY command. You must also include the letter U in
  1098. each string where you want to use the effect. You cannot use it if the string
  1099. already has a volume setting (if it contains a V) - the volume command will
  1100. overrule the effect.
  1101.  
  1102. - Page 13 ---------------------------------------------------------- Page 13 -
  1103.  
  1104. The W must be followed by a number from 0 to 7 which controls how the sound
  1105. builds up (the attack) or fails off (the decay). This is the full range of
  1106. numbers and what they do
  1107.  
  1108.                 0  \____________   0 single decay then off
  1109.  
  1110.                 1  /|___________   1 single attack then off
  1111.  
  1112.                 2  \|-----------   2 single decay then hold
  1113.  
  1114.                 3  /------------   3 single attack then hold
  1115.  
  1116.                 4  \|\|\|\|\|\|\|  4 repeated decay
  1117.  
  1118.                 5  /|/|/|/|/|/|/|  5 repeated attack
  1119.  
  1120.                 6  /\/\/\/\/\/\/\  6 repeated attack-decay
  1121.  
  1122.                 7  \/\/\/\/\/\/\/  7 repeated decay-attack 
  1123.  
  1124. This program plays the same note with each effect in turn to let you hear
  1125. what they sound like
  1126.  
  1127. -------------------------------------------------
  1128. 10 LET a$="UX1000W0C&W1C&W2C&W3C&W4C&W5C&W6C&W7C"
  1129. 20 PLAY a$
  1130. -------------------------------------------------
  1131.  
  1132. Notice the U to turn on the effect, then the series of W numbers.
  1133.  
  1134. There is one other new command used here, the letter X. This can be followed
  1135. by a number from 0 to 65535 to set the length of the sound effect - the larger
  1136. the number, the longer the effect is drawn out.
  1137.  
  1138. You do not have to include an X setting. If you do not, the Spectrum 128 will
  1139. automatically choose the longest. In general, repetitive effects (W4 to 7) are
  1140. more effective with quite short settings, eg X300.'Single shot' effects (W0 to
  1141. W3) need a longer period, eg X1000. Try changing the value after X in the
  1142. program above to hear the difference.
  1143.  
  1144. =====
  1145. Tempo
  1146. =====
  1147.  
  1148. The speed at which a piece of music is played can be set with the command T
  1149. followed by the number of crotchet beats per minute (bpm) in the range 60 to
  1150. 240. The command controls the speed at which all notes are played, but can
  1151. only be included in channel A (the first string after the PLAY command)
  1152. otherwise it is ignored, eg
  1153.  
  1154. ---------------------
  1155. 10 LET a$="T180cdefg"
  1156. 20 PLAY a$
  1157. ---------------------
  1158.  
  1159. If no tempo is specified, the music will be played at 120 bpm.
  1160.  
  1161. ================
  1162. Repeated phrases
  1163. ================
  1164.  
  1165. Any musical phrase can be repeated by enclosing the appropriate string or part
  1166. of a string in brackets. For example
  1167.  
  1168. ---------------------
  1169. 10 LET a$="abC(DEFG)"
  1170. ---------------------
  1171.  
  1172. will repeat the last four notes. If there is an unequal number of brackets,
  1173. the phrase will be repeated back to the last bracket. If there is only a
  1174. closing bracket, the phrase will be repeated back to the beginning of the
  1175. string, eg
  1176.  
  1177. --------------------
  1178. 10 LET a$="abCDEFG)"
  1179. --------------------
  1180.  
  1181. will repeat all seven notes. Double closing brackets
  1182.  
  1183. --------------------
  1184. 10 LET a$="O2CEGA))"
  1185. --------------------
  1186.  
  1187. will cause an 'infinite' repeat. This is particularly useful for things like
  1188. repetitive bass lines. To turn off an 'infinite' repeat you use the H command.
  1189.  
  1190. =============
  1191. The H command
  1192. =============
  1193.  
  1194. An H included in any string immediately turns off the PLAY command. The main
  1195. use of this is where you have an infinitely repeated bass line in one string.
  1196. You can stop this at the end of the tune by putting an H on the end of the
  1197. string which plays the melody.
  1198.  
  1199. - Page 14 ---------------------------------------------------------- Page 14 -
  1200.  
  1201. ========
  1202. Comments
  1203. ========
  1204.  
  1205. You can include reminders and comments anywhere you like by using !! marks.
  1206. Anything written after a ! will be ignored until the next ! or the " at the
  1207. end of the string is reached, eg
  1208.  
  1209. ---------------------------------
  1210. 10 LET a$="abCDEFG!chorus!aCEaDG"
  1211. ---------------------------------
  1212.  
  1213. =================
  1214. Channel selection
  1215. =================
  1216.  
  1217. The command M is used to select which of the three channels are in operation
  1218. and whether these give noise or musical tones.
  1219.  
  1220. You can have a maximum of three channels in use at any one time, but it does
  1221. not matter whether they are all tone, all noise, or a mixture of both.
  1222.  
  1223. Your choice is entered with a number following the M, worked out like this
  1224.  
  1225.                             Tone channels  Noise channels
  1226.                               A   B   C      A   B   C     
  1227.                     Number    1   2   4      8  16  32 
  1228.  
  1229. Mark each channel you want to turn on, and note down its number. Then just
  1230. add them together to get the code you should use after the M. For example, if
  1231. you want to use tone channels A, B, and C, you add the numbers 1 + 2 + 4 = 7,
  1232. so you use the command M7. In the same way, M56 would turn on noise channels
  1233. A, B, and C.
  1234.  
  1235. Noise can be used on any channel but the most wide-ranging frequencies are
  1236. available in channel A. For the best results put your sound effects in the
  1237. string which controls this channel - a$, the first string after the PLAY
  1238. command.
  1239.  
  1240. ===============================
  1241. Controlling musical instruments
  1242. ===============================
  1243.  
  1244. Whenever PLAY is running, a signal can be sent to the MIDI port in the RS232
  1245. socket at the front of the computer. This output will drive any MIDI-
  1246. compatible musical instrument such as many makes of synthesizer and drum
  1247. machine, so that the instrument will play the music which has been programmed
  1248. into the Spectrum 128.
  1249.  
  1250. Using the MIDI output lets you play more complicated music with up to eight
  1251. notes at a time instead of three. All you do is to follow the PLAY command
  1252. with the names of up to eight strings, (a$ to h$, for example) each of which
  1253. is constructed as described above.
  1254.  
  1255. Do not try to send music to the MIDI port unless you have already connected
  1256. the instrument (see page 3). To send the output to the MIDI port, each string
  1257. should include the letter Y followed by a channel number from 1 to 16. If you
  1258. use the same number in each string, up to eight notes can be played by one
  1259. instrument at the same time. If you use different numbers, you can control up
  1260. to eight different instruments at the same time.
  1261.  
  1262. Most MIDI instruments power up in OMNI mode so that they play the notes on
  1263. channel 1 as well as the channel to which they are directed. To get the notes
  1264. on the correct channels, the MIDI instrument must be put into POLY mode. You
  1265. can do this by directly altering the instrument's MIDI channel, or by
  1266. including the appropriate MIDI programming code in the string. The programming
  1267. codes for your instrument should be listed in its handbook and can be sent to
  1268. it from the Spectrum 128 by including the letter Z in the string, followed by
  1269. the MIDI code number.
  1270.  
  1271. If your synthesizer understands key velocity (so that the program you send it
  1272. controls the volume at which it plays) this is interpreted from the V settings
  1273. in the strings. It is calculated at eight times the volume set by the V
  1274. command, so it takes the values 0, 8, 16 ... 120. The key release velocity
  1275. when a note is switched off is sent as 64. If the synthesizer is not designed
  1276. to understand key velocity, it will play the same volume regardless.
  1277.  
  1278. - Back cover ---------------------------------------------------- Back cover -
  1279.  
  1280. First published 1986 by Sinclair Research Ltd, Milton Hall, Milton, Cambridge
  1281. CB4 4AE
  1282.  
  1283. Copyright (c) 1986 Sinclair Research Ltd
  1284.  
  1285. ISBN 1 85016 056 2
  1286.  
  1287. sinclair, ZX Spectrumá+, ZX Spectrum 128, ZX Microdrive, and ZX Interface are
  1288. Trade Marks of Sinclair Research Ltd.
  1289.  
  1290. All rights reserved. No part of this publication may be reproduced in any
  1291. form. Unauthorized copying, hiring, lending or sale and repurchase prohibited.
  1292.  
  1293. [ASCII text version created by Damien Burke. You can ignore the stuff above, I
  1294. just kept it in for completeness; Amstrad do not mind distribution of old
  1295. Sinclair stuff. Lovely people! However, Amstrad retains the copyright to this
  1296. document. -DB]
  1297.  
  1298.