Home » Personal collection » Acorn hard disk » apps » sound » !S.Tracker/STDocs4.07
!S.Tracker/STDocs4.07
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn hard disk » apps » sound |
Filename: | !S.Tracker/STDocs4.07 |
Read OK: | ✔ |
File size: | A685 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
!S/Tracker (Soundtracker/Tracker module music player) ----------------------------------------------------- Version 4.07 (24 Jan 1991) Originally written by Hugo Fiennes and Fabrice Mercier [(c) The Serial Port] SWI interface and other bits added by Matt Farrow Feel free to use this module in any p.d. demos or programs etc., and for inclusion with commercial programs if needed (but let us know first!!) Much time and effort has been spent on developing this module (for no commercial gain), and it would be a courtesy if you could credit the authors whenever you use it, and inform us if you intend to distribute it on a large scale. The !S/Tracker application is a P.D. application, and may be freely copied if nothing more than the cost of a disc and a small amount for the trouble is charged, but it must be distributed with all the files complete and unchanged (with the possible exception of the 'STDocsX/XX' file). Overview -------- The module exists principally to support the multi-tasking playing of both the Serial Port Tracker and amiga Sound/Protracker music module formats. Via either a full command line interface, or using SWI's (with desktop front-ends if desired), a whole range of operations can be performed (such as setting the stereo position; fading in and fading out; playing sound effects; changing the sample quality; monitoring the state of each channel, etc.). As mentioned earlier, the module will play (and automatically detect) several different formats: 1) Archimedes Tracker - A full implementation differing from the original routines only in ways which are an improvement (ie. volume slides of 1 don't cause distortion). Tracker tunes are not converted in any way when they are loaded, and so are preserved in memory (suitable for editing). 2) Amiga formats (soundtracker 15/31 inst, protracker) - From version 4.06 onwards these are replayed as accurately as possible (including volumes), with the unimplemented commands being 5-7, 9, E (mostly unused or h/w dependent anyway). When an amiga format tune is loaded, it is converted before being played (the pattern data is converted into Tracker format data, except any volume or slide commands are preserved). You should not, therefore, save soundtracker tunes while they are playing or in pause mode, but if they have been 'MemoryLoad'ed they will be converted back after a *PlayStop etc. (but any instruments out of range [32-36] etc. will be ignored/mis- converted). This documentation was written to accompany the !S/Tracker application containing the latest Trackermodule ('PM') and not much else (this was so that file lengths could be kept down and the module made reasonably easy to distribute). It was intended that 3rd party PD writers could write their own front-ends for the module and keep the interfaces 'clean' so that it is a simple task to keep up with changes in the Tracker format, for example, by just replacing the module in the application directory. DOCUMENTATION OF * COMMANDS AND SWI's ------------------------------------- *PlayMod - Loads into memory and starts to play the specified Tracker or Soundtracker module, determining automatically which format it is. Syntax: *PlayMod <filename> *PlayPause - Will pause the currently playing tune (kills all sound immed- iately) but retains the soundtracker/tracker module in memory. The tune can be restarted with a *PlayStart command. Syntax: *PlayPause *PlayStart - Will resume playing a tune after a *PlayPause command. Syntax: *PlayStart *PlayPos - Will set the current position in the sequence table, or if no parameter is given, will simply return the current position. Syntax: *PlayPos [<0-127>] *PlaySamples - Will list all the samples associated with the currently installed music module. Syntax: *PlaySamples *PlaySpeed - Will change the sample playback rate and therefore vary the approximate amount of CPU time taken up by the playroutine. Currently, the only four options are: 0 - normal sample rate 1 - half sample rate 2 - normal sample rate (for VIDC enhancers) 3 - half sample rate (for VIDC enhancers) If option 1 or 3 is selected, the sample quality is reduced, but 8 channel tunes will take up only a little more time than 4 channel tunes originally. The function of *PlaySpeed is duplicated by the SWI 'Tracker_Speed' (see later). Syntax: *PlaySpeed <0|1|2|3> *PlayStatus - Will print information about the current tune module loaded Syntax: *PlayStatus *PlayStereo - Controls the stereo settings while the older format sound- tracker modules are playing (the stereo is fixed on an Amiga), and will switch between five possible settings to cater for most configurations: 0 - Slightly off-centre left and right (normal) 1 - Fully left and right (amiga-style) 2 - Fully left 3 - Fully right 4 - Don't alter stereo settings (normally alters settings when a tune is loaded and when it plays a tracker stereo command - see SWI Tracker_Stereo) Syntax: *PlayStereo <0|1|2|3> *PlayStop - Will stop and kill the currently playing tune module, removing it from memory. Syntax: *PlayStop *PlayVolume - Changes the overall loudness of any tunes playing. The scale is logarithmic and goes from 1 (silent) to 127 (full volume). *PlayVolume with no parameters displays the current volume. Syntax: *PlayVolume [<0-127>] SWI COMMANDS ------------ Several SWI commands have been added to the module in order to simplify the task of adding soundtracker/tracker music to your demos etc. (especially multi-tasking situations). These provide all of the facilities offered by the various * commands, but also allow a more detailed control of some of the module's features. All the SWI's remain in SVC mode, and do not alter the interrupt status. I think most are re-entrant, except those which use system SWI's (load, play, stop etc.), so avoid calling them from interrupts if you can avoid it. The SWI chunk number given here (&43200) is an officially recognised chunk number issued by Acorn. ----------------------------------------------------------------------------- Tracker_Version (SWI &43200) ----------------------------------------------------------------------------- On Entry: - On Exit : R0 = version number*100 (ie. for V1.23 = 123) Use this call to ensure that the trackermodule installed is a recent enough version to support the SWI's you wish to use. Versions 4.00 onwards incorpor- ate the SWI's. ----------------------------------------------------------------------------- Tracker_Load (SWI &43201) ----------------------------------------------------------------------------- On Entry: R0 = pointer to filename of soundtracker/tracker module On Exit : R0 preserved This call will claim memory from the RMA and load the specified tune module, initialise the sound system, and set the playroutine in pause mode. You must then use the SWI Tracker_Play to start the tune playing. The command *PlayMod calls this routine, and then the SWI Tracker_Play. An error will be generated if the module cannot be loaded or not enough memory can be claimed. ----------------------------------------------------------------------------- Tracker_MemoryLoad (SWI &43202) ----------------------------------------------------------------------------- On Entry: R0 = pointer to first word of soundtracker/tracker module in memory (NB must be word-aligned) R1 = length of module in bytes On Exit : R0 and R1 preserved This call can be used by a non-multitasking application to specify an area of memory as a tune module, and thereby remove the need for a seperate file to hold a tune, and there is no need to claim a large amount of RMA space. Once this SWI is called, the module will be treated as if it was loaded in the module's own workspace. Important: You must tell the trackermodule to forget the module if the memory will be overwritten, otherwise the module may crash. (*PlayStop or Tracker_Stop SWI) NB This call will not work for programs running under the desktop if the module is loaded in user memory. When a soundtracker module is loaded, the pattern data is converted to Tracker format data (except for volumes which remain 0-64), so for the purposes of editing, as long as Tracker_Read/WriteSampleTable are used, the module can be considered as a Tracker module. When SWI Tracker_Stop/*PlayStop is called, the data is converted back. ----------------------------------------------------------------------------- Tracker_Play (SWI &43203) ----------------------------------------------------------------------------- On Entry: - On Exit : - This call will restart a tune after it has been paused or loaded with the Tracker_Load SWI. ----------------------------------------------------------------------------- Tracker_Stop (SWI &43204) ----------------------------------------------------------------------------- On Entry: - On Exit : - This performs the same actions as *PlayStop Using *PlayStop or this SWI is the only way to get the trackermodule to release the memory taken up by the tune module, or to force it to forget the address of a module if it has been loaded with the 'Tracker_MemoryLoad' SWI. If the module is soundtracker and has been loaded with Tracker_MemoryLoad, calling this SWI or *PlayStop will convert the data back to the original format. ----------------------------------------------------------------------------- Tracker_Pause (SWI &43205) ----------------------------------------------------------------------------- On Entry: - On Exit : - This performs the same actions as *PlayPause ----------------------------------------------------------------------------- Tracker_Stereo (SWI &43206) ----------------------------------------------------------------------------- On Entry: R0 = Stereo setting (0-4) or -1 to read current setting On Exit : If R0>=0 on entry: R0 preserved If R0=-1 on entry: R0 = current PlayStereo setting R1 = pointer to 8-byte stereo position table This performs the same actions as *PlayStereo, with R0 passed as a parameter. If R0 is set to 4 on entry, then the stereo settings will be unaltered whenever a module is loaded or killed, and disables any stereo commands in tracker modules. This is to allow interfacing programs to provide their own stereo options, or to allow adjustment to the stereo positions while tracker tunes are playing (which have default stereo settings stored as part of the tune). Alternatively, if R0=-1 on entry, R0 will be the last parameter passed to this SWI or the *PlayStereo command, and R1 points to an 8-byte table (one byte per channel) which is updated every time either a tune starts; this SWI or *PlayStereo is called with a parameter of 0-3; or if a stereo command is executed in a Tracker tune. The byte will be in the range of 1-7 (where 1 is full left, 7 is full right, and 4 is centre). Some Tracker tunes may contain stereo settings out of range. ----------------------------------------------------------------------------- Tracker_SetPos (SWI &43207) ----------------------------------------------------------------------------- On Entry: R0 = New sequence position (0-127 max) R1 = Event (0-63 max) On Exit : R0 preserved This performs the same actions as *PlayPos, except that the event with the pattern can be specified (0-63 normally). If an event number higher than the number of events in the current pattern is specified, the pattern will begin at event 0. If there is no tune currently loaded, an error is generated. ----------------------------------------------------------------------------- Tracker_ReadPos (SWI &43208) ----------------------------------------------------------------------------- On Entry: - On Exit : R0 = Current position in sequence table (0-127 max) R1 = Current position in pattern (0-63 max) R2 = Maximum position in sequence table This performs the same actions as *PlayPos with no parameters, but also returns the current position in the current pattern (in case some applic- ations need to synchronize events with the tune being played). ----------------------------------------------------------------------------- Tracker_PlayNote (SWI &43209) ----------------------------------------------------------------------------- On Entry: R0 = Sound channel to sound note on (1-8 max) R1 = Tracker format note number (1-36) R2 = Sample to play (1-36) R3 = Volume (0-255) [Tracker volume even if soundtracker tune loaded]. On Exit : R0-R3 preserved If tune not paused then C flag set otherwise C flag cleared. If there is no tune loaded, an error will be generated. It plays one of the samples which are part of the paused tune at a given pitch (1=low, 36=high) and volume (0=silent, 255=loud). If any of the values are out of range, an error will be reported. The number of sound channels that can be used depends on the module loaded (soundtracker modules will always use 4 voices, whereas Tracker modules can use up to 8). Use the Tracker_TuneInfo SWI to find out the maximum number of voices if you intend to play more than one note at a time. NB This call should be avoided if possible, unless the purpose is to hear each sample seperately. ----------------------------------------------------------------------------- Tracker_TuneInfo (SWI &4320A) ----------------------------------------------------------------------------- On Entry: - On Exit : R0 = Sequence table length (1-128) R1 = Number of voices (1-8) R2 = Current speed (1-15) R3 = Pointer to tune name (terminated by 0, max length 32 chars) R4 = Pointer to author's name (0 terminated, max length 32 chars) or zero if soundtracker format module (not applicable) R5 = Address of currently loaded tune module If the tune is paused, the C flag is set, otherwise the C flag is cleared. If there is no tune loaded, R0 is set to zero, and R1-R5 are preserved. This call provides miscellaneous information about the tune currently loaded. You should not need to directly access the tune module (using the address passed in R5), because all information is available via the various SWI's, and soundtracker format modules will have been converted partially to Tracker format when loaded (and therefore in an unknown format). This information is provided if, for example, multi-tasking players/editors need to know if the tune currently playing is running from ordinary RMA, or the player's/editor's own workspace. ----------------------------------------------------------------------------- Tracker_SoundInfo (SWI &4320B) ----------------------------------------------------------------------------- On Entry: R0 = Pointer to word-aligned 256 byte block to hold sound data On Exit : R0 preserved if the tune is paused, the C flag will be set, otherwise the C flag will be cleared. If there is no tune loaded an error will be generated. This call is only provided for advanced uses of the trackermodule, and involves information of a highly technical nature. It is advised that you do not use this call if you can avoid it. The call will transfer the current contents of the sound voice info table to the location pointed to by R0. 256 bytes (64 words) will be transferred in total (8 words per sound channel), regardless of the number of voices actually active. When a note is played and then ends, word 6 of the appropriate channel is zeroed. The sound routines will only try and play the sample if this word is non-zero. When a tune is paused, the block is saved and overwritten with zeros. When the tune is restarted, the old contents are restored, so that the samples will continue to play from the same point. The format of the table is as follows:- Word Offset Sound channel 1... 0 +0 The current pitch accumulator. (shift right 16 bits to get the actual byte offset into the sample being played). 1 +4 The current pitch increment (added to accumulator after every byte filled). This is obtained using internal tables given the sample period (word 7) 2 +8 The sample loop offset (given in bytes). When the routine reaches the end of a sample or the sample length, the accumul- ator is loaded with this value shifted left 16 bits (ie. to give a byte offset). If this is a zero value, the sample will stop instead of looping. 3 +12 The sample length / repeat length (in bytes). The routine checks every 4 bytes filled to see if the current accumulator exceeds this value when shifted right 16 bits. (See above) 4 +16 The sample number (1-36). 5 +20 The current volume (0-255). This value is subtracted from every byte filled, therefore 0 = maximum volume and 255 = silent. NB This is the reverse of the normal volume command. 6 +24 This is the tracker format note number of the sample being played (1-36, 1=C octave 1 36=B octave 3). The arpeggio command makes use of this word. If this word is zero, no sound will be played. 7 +28 This is a copy of the sample period (from which the pitch increment value is calculated), and is used by the portamento commands. The range of the sample period is from 1 to hex &400 (although the portamento commands have smaller limits in practice). 8 +32 Word 0 of sound channel 2... 9 +36 Word 1 of sound channel 2... etc. -> word 8 of sound channel 8 ----------------------------------------------------------------------------- Tracker_ReadSampleTable (SWI &4320C) ----------------------------------------------------------------------------- On Entry: R0 = Sample number (1-36) On Exit : R0 preserved R1 = Pointer to sample name (0-terminated, max length 22 chars) R2 = Sample volume (0-255, 255=maximum volume, 0=silent) (or 0-64 [soundtracker], 64=max vol.) R3 = Sample length (bytes) R4 = Repeat offset (bytes) R5 = Repeat length (bytes) R6 = Address of raw sample data This call returns all relevant information about the specified sample. If there is no tune loaded, an error will be generated. If the sample number is out of range (for example, if reading sample 16 on a 15-instrument module), R1 and R6 will point to a zero, and R2-R5 will contain a zero. ----------------------------------------------------------------------------- Tracker_WriteSampleTable (SWI &43213) ----------------------------------------------------------------------------- On Entry: R0 = Sample number (1-36) R1 = New sample volume (0-255/0-64) or -1 to leave unchanged. R2 = Repeat offset (bytes) or -1 to leave unchanged. R3 = Repeat length (bytes) or -1 to leave unchanged. You should use this SWI if you wish to alter the sample data without needing to know the relevant module format. Sample length is not alterable, because the occasions when this is necessary (eg. loading new sample in) need direct manipulation of the module in memory anyway, and problems occur when the sample length is set above the actual length. Versions between 3.00 and 4.05 copied the sample information into a more convenient format when the module was initialised, and so altering the data directly would have had no effect (causing problems for editors which needed to do this..). Should you wish to alter any other aspect of the module directly which might affect the playroutine (ie. number of voices), you should call 'Tracker_UpdateData' (see below..). An error is generated if: * No module is loaded * The sample number to change exceeds the max. of the format (ie. 15/31/36) * The relevant information is out of range (ie. vol > [64 or 255]) * A combination of repeat offset and repeat length would cause the player to loop outside the sample limit. This SWI is part of the locking system. ----------------------------------------------------------------------------- Tracker_Lock (SWI &4320D) ----------------------------------------------------------------------------- On Entry: R0 = locking code (passed in R4 to SWI's) On Exit : - This SWI and the corresponding Tracker_Unlock SWI are provided to prevent user intervention with any of the features of the module when this would be undesirable for any multi-tasking applications using the module (for example issuing a *PlayStop command). By calling this SWI, an applic- ation can gain complete control of the module, but as a result, this feature must be used carefully, because the module cannot then be unlocked unless the code specified in the lock SWI is known (and if not, the module must be re-initialised). When the module is locked, calling any commands or SWI's which alter anything (such as changing the current play position, loading or killing tunes, playing notes) will cause an error, but SWI's returning information will function as normal. For the application which is responsible for the locking to be able to use the affected SWI's, R4 must be set to the locking code (passed in R0) before any of the affected SWI's is called (no commands will work even if the locking code is known). If the trackermodule is already 'locked' when this SWI is called, an error will be generated. It is advisable to avoid using this call unless absolutely neccessary. The restricted commands are: *PlayMod, *PlayPause, *PlayStart, *PlayPos, *PlayStereo, *PlayStop, *PlayVolume. The restricted SWI's are: Tracker_Load, Tracker_MemoryLoad, Tracker_Play, Tracker_Stop, Tracker_Stereo, Tracker_SetPos, Tracker_PlayNote, Tracker_Volume. ----------------------------------------------------------------------------- Tracker_Unlock (SWI &4320E) ----------------------------------------------------------------------------- On Entry: R0 = locking code (specified in Tracker_Lock) On Exit : - This SWI should be called to unlock the module after it has been locked with 'Tracker_Lock'. If the value passed in R0 is different to the locking code given in the lock SWI, or the module has not been locked, an error is generated. ----------------------------------------------------------------------------- Tracker_MuteChannel (SWI &4320F) ----------------------------------------------------------------------------- On Entry: R0 = channel to mute (1-8) On Exit : - This SWI allows you to turn off selected channels while leaving all the other channels unaffected. The channels can be turned back on by using the 'Tracker_RestoreChannel' SWI. No error is generated if the channel number is higher than the number of channels actually being used by the trackermodule. ----------------------------------------------------------------------------- Tracker_RestoreChannel (SWI &43210) ----------------------------------------------------------------------------- On Entry: R0 = channel to turn on (1-8) On Exit : - This SWI will reverse the effect of a 'Tracker_MuteChannel' SWI, and turn the selected channel back on. No error is generated if the channel number is higher than the number of channels actually being used by the trackermodule. ----------------------------------------------------------------------------- Tracker_Speed (SWI &43211) ----------------------------------------------------------------------------- On Entry: R0 = new speed setting (0-3) On Exit : - This SWI will select the future sample rate and overall pitch to cater for VIDC enhancers and 8-channel tunes, taking effect immediately if a tune is currently playing. For details of the different options see the command *PlaySpeed. This SWI is not included in the locking system because it was only intro- duced in version 4.04, and some programs may have already been written which use the locking system but don't control the sample speed/pitch etc. ----------------------------------------------------------------------------- Tracker_Volume (SWI &43212) ----------------------------------------------------------------------------- On Entry: R0 = new overall volume (0-127) or -1 to read volume On Exit : R0 = old volume This SWI will set the overall volume of any tunes playing by subtracting (254-volume*2) from the volume of any sample playing. This takes effect immediately, and also affects samples which are in mid-play. Calling the SWI with R0=-1 will return the current volume in R0. You can use this SWI to provide smooth fade-outs and fade-ins, for example. This SWI is part of the locking system. ----------------------------------------------------------------------------- Tracker_TranslateVolume (SWI &43214) ----------------------------------------------------------------------------- On Entry: R0 = Soundtracker volume to convert (0-64) On Exit : R0 = Logarithmic volume (0-255), 255=max. This SWI will convert a soundtracker volume (as returned by the SWI Tracker_ReadSampleTable when a soundtracker tune is playing) into a Tracker format logarithmic volume (0-255). ----------------------------------------------------------------------------- Tracker_UpdateData (SWI &43215) ----------------------------------------------------------------------------- On Entry: - On Exit : - This is really an editor SWI which you should call whenever you alter one of the following, so that the module can update its data:- * Number of voices (and therefore pattern length) * Sample length/load new sample * Music length * Stereo settings (Tracker) ============================================================================= Note translation table ---------------------- The tracker format note numbers and the notes they refer to are as follows: no. note sample period --- ---- ------------- 1 C -1 &358 2 C#-1 &328 3 D -1 &2FA 4 D#-1 &2D0 5 E -1 &2A6 6 F -1 &280 7 F#-1 &25C 8 G -1 &23A 9 G#-1 &21A 10 A -1 &1FC 11 A#-1 &1E0 12 B -1 &1C5 13 C -2 &1AC 14 C#-2 &194 15 D -2 &17D 16 D#-2 &168 17 E -2 &153 18 F -2 &140 19 F#-2 &12E 20 G -2 &11D 21 G#-2 &10D 22 A -2 &FE 23 A#-2 &F0 24 B -2 &E2 25 C -3 &D6 26 C#-3 &CA 27 D -3 &BE 28 D#-3 &B4 29 E -3 &AA 30 F -3 &A0 31 F#-3 &97 32 G -3 &8F 33 G#-3 &87 34 A -3 &7F 35 A#-3 &78 36 B -3 &71 ============================================================================= Tracker and Soundtracker commands --------------------------------- In all tunes, there are special commands which have a type (0-&F for amiga, 0-9 & A-Z for Tracker) and data (usually presented as a hex byte, ie. &XX), which is sometimes treated as two seperate nibbles (ie. arpeggio). A list of the commands found in Tracker/STracker tunes is as follows: Command Effect ------- ------ 0 (both) Arpeggio - note2=base note+(first digit of data) semitones note3= " " +(second " " " ) " Play note3 for one vsync, then note2, base note, note3, note2 and then the base note to achieve a chord effect (ie. C-2 with command 0 data '&47' (hex) would play a major arpeggio of C-2, E-2, G-2. If the speed is less than 6, the arpeggio will be cut short. 1 (both) Pitch slide (portamento up) - while the command is playing, DECREMENT the sample period by <parameter> (0-15 usually). This has the effect of INCREASING the pitch smoothly without restarting the sample. Note that the pitch gained by a fixed change to the sample period is not constant over the 3 octaves. 2 (both) Pitch slide (portamento down) - like command 1 but slides the pitch down. 3 (amiga only) Portamento - Sounds similar to commands 1 & 2, but behaves differently. When you use command 3 with a note specified, the note is not played, but the pitch of the note is set as the 'goal' of the portamento. Then, whenever a command 3 comes up, the pitch is automatically slided in the appropriate direction by the value last given as a parameter for command 3, until the 'goal' is met, and further command 3's will have no effect. 4 (amiga only) Vibrato - This causes the pitch to rise and fall in a warbling effect. The first digit gives the speed of the pitch change (1=slow, &F=fast), and the second digit gives the magnitude of the vibrato. The vibrato is created by altering the pitch of the channel by a sinusoidally varying amount (-ve and +ve). 5,6,7 (amiga) Combinations of the volume and pitch slides (Not implemented) 9 (amiga only) Set sample offset (Not implemented). A (amiga) Volume slide - If the first nibble is non-zero, add this value to the current volume every vsync, else subtract the second nibble in a similar fashion. G, H (Tracker) Volume slide up, down - These commands are the same as the A command on the amiga, but take a byte parameter. B (amiga), J (Tracker) Position jump - When this command is met, jump to position <parameter> in song. B (Tracker) Break pattern - =amiga command D C (amiga), V (Tracker) Set volume - Alters the current volume of the channel to the value spec- ified (0-64 amiga, 0-255 arc). Volume 0 means mute sound. D (amiga), B (Tracker) Break pattern - When this command is encountered, the pattern is ended, and the next pattern jumped to. E (amiga) Various commands (ie. h/w filter commands) [Not implemented]. E (Tracker) Set stereo - Set the stereo position (1-7) of the current sound channel (1-8). F (amiga), S (Tracker) Set speed - Sets the speed (number of vsyncs between events) to <param.>. ============================================================================= Errors ------ The error numbers and messages which the trackermodule may generate: No tune loaded (&43200) - an operation was attempted which requires a tune to be loaded into memory beforehand using *PlayMod or SWI Tracker_Load. Sequence position out of range - The sequence position given with *PlayPos (&43201) or SWI Tracker_SetPos was higher than the actual number of patterns in the song. No room for module (&43202) - The trackermodule could not claim enough RMA workspace to load the module. To get more memory, quit basic to the supervisor prompt, and retry. If you are using the desktop instead, remove an application and retry. Channel number out of range - The sound channel number was not a value (&43203) between 1 and the number of sound channels used for that particular tune. Sample number out of range - The sample number was not within the range (&43204) of 1-36. Note number out of range - The note number was not within the range of (&43205) 1-36. Volume out of range (&43206) - The volume was not within the range of 0-255 Module already locked (&43207) - Tracker_Lock was called when the module was already locked. The module can only be unlocked when the application in control of the module issues a Tracker_Unlock SWI. Unlock failed (&43208) - Tracker_Unlock was called but either the wrong locking code was specified, or the module was not locked at the time. TrackerModule in use (&43209) - An attempt was made to execute one of the restricted commands or SWI's while the module was locked (see Tracker_Lock) Speed not implemented (&4320A) - Tracker_Speed was called with R0 outside the range of values currently accepted. Bad sample looping (&4320B) - Values of repeat offset/repeat length would cause sample to loop outside its limit. ============================================================================= This module was written for enthusiasts who wish to enjoy the benefits of the Archimedes sound system in a multi-tasking environment. Versions 0.00 to 1.xx of the original module were written by Hugo Fiennes allowing the playing of any soundtracker tunes. Versions 2.00 to 2.xx were written by Fabrice Mercier and Hugo, playing any tracker tunes (with changes/improvements). Versions 3.00 to 4.07 were written by Matthew Farrow to allow the playing of soundtracker or tracker tunes, with the SWI extension from versions 4.00 onwards. You can contact Hugo in the following ways: Voice: UK (0749) 72234 (ask for Hugo) VodaFone: (0831) 444192 The World of Cryton (bbs) : UK (0749) 679794 (300-2400 - 1 line) : UK (0749) 670030 (300-HST/V32 - 2 lines) Mail: Prestel 045847608, CIX altman Burcott Manor, Wells, Somerset, BA5 1NH, UK Matt Farrow: Mail: Arcade bbs [081-654 2212] as 'Matthew Farrow' (#483) [081-655 4412] 45 Alleyn Park, Dulwich, London SE21 8AT ============================================================================= Updates ------- Version 4.00 (from 3.04) - SWI interface added. - Volume translations for soundtracker modules performed correctly now (?) - Locking system introduced - Next pattern line played just after pattern position incremented, not just before (so the position doesn't appear to be ahead of the music). - Removal of more minor bugs.. Version 4.01 - Doesn't slow everything down so much when paused - Fixed bug in Tracker_PlayNote (concerning channel number) - Corrected documentation on Tracker_ReadSampleTable Version 4.02 - Added new SWI's 'Tracker_MuteChannel' and 'Tracker_RestoreChannel' - Arpeggio command altered to conform with a soundtracker-derivative format; I think it's the same as the soundtracker format proper, but I can't find any documentation to check this! - Fixed bug where if you did a Tracker_PlayNote while the tune was paused, it sometimes didn't clear the sound buffers afterwards (buzzing etc.) Version 4.03 - I have fixed the Tracker_PlayNote bug from V4.01 now, honest! - Fixed problem introduced in V4.02 where doing Tracker_PlayNote while a tune was playing sometimes crashed (if the sample was blank) - Should crash less often when loading a new tune (no promises!) Version 4.04 - Added *PlaySpeed and option to change sample rate (faster 8-channel tunes) - Provision for VIDC enhancer owners (tunes are normally a perfect fifth too high) in the form of *PlaySpeed <2|3> - Added Tracker_Speed SWI (same as *PlaySpeed) - Module now claims memory in RMA and builds tables as it needs them, saving about 12K of disc space. - Altered *PlaySamples command to print '-' for sample name if blank (used to ignore non-zero samples with blank names) - Main interrupt put on TickerV, so this should end problems any multisync monitor owners may have had with tunes going too fast etc. Version 4.05 - Fixed Tracker_ReadSampleTable (when R0 was out of range [ie. >15/>31] R1 pointed to an undefined string) so that R1 and R6 will point to a zero if the sample number is out of range. - Changed command order so that '*Plays.' will do *PlayStatus rather than *PlaySamples. - Module now installs itself as a sound channel handler (no more of the 'TrackerVox' voice). Effects of this recoding are:- * It's much trickier for programs to sabotage any current tunes, as assigning sound voices has no effect (unless the tune is stopped). * Before, samples played simultaneously on different channels were sometimes played slightly out of phase (sounded quieter/weird). This sometimes still happens, but less often. * Re-configuring the sample rate will not work while a tune is playing, so that should be one less thing to go wrong. - Slightly changed *Playsamples command to include sample number. - Fixed problem with *Playstatus and non-terminated tune names. - Altered Tracker_Stereo to return current settings if R0=-1 on entry. - Added *PlayVolume/Tracker_Volume to control overall volume. version (B) - If *PlayStereo 4 was selected, stereo settings were being corrupted when the tune was stopped. - Tracker 'E' stereo commands caused a crash if *PlayStereo 4 was enabled. Version 4.06 Major update I finally got some decent amiga soundtracker documentation. Then I discovered how much I had wrong.. major update needed! - Soundtracker tunes were being converted wrongly.. * Repeat offset now made twice as big. * Volumes above the specified maximum (64) were converted strangely. Now out-of-range volumes are set to 64. - Accuracy of the sound routines improved to cope with very small looping samples which were seemingly pitched wrongly as a result of 4-byte accuracy. Accuracy now 1 byte. This may slow things down a tiny bit. - Altered the volume system so that soundtracker volumes are as accurate as possible (ie. volume slides now slide down the soundtracker (0-64) volumes rather than the arc log volumes (0-255), but still keeping the same system for tracker tunes. Therefore, if you want the most accurate playback of a soundtracker tune, ensure it is in its original format. - Finally implemented commands 3 (portamento) and 4 (vibrato). If you have converted original soundtracker tunes into tracker format, command 4 will have no effect due to the different volume formats. The vibrato effect may not be exactly the same as on the amiga, but it's close enough. - When soundtracker tunes are SWI 'MemoryLoad'ed, they are converted back to the original format when *PlayStop etc. is performed (to allow editors to save as soundtracker format). NB Tracker-specific commands and out of range instruments etc. are ignored/mis-converted. - Tracker_WriteSampleTable introduced to allow transparent access of the sample data and independence (almost) of the Tracker format. - ** Please Note ** Volumes returned by Tracker_ReadSampleTable while soundtracker tunes are loaded are now in the range 0-64. These can be converted into tracker volumes using the new Tracker_TranslateVolume SWI. *PlaySamples converts the volumes first. - SWI Tracker_UpdateData introduced to help editors interface with the Trackermodule. - Sample data information now read directly in the main routines rather than copied when the module is loaded, to enable editors to alter the module while playing. - On reset, tune continues playing rather than being killed as before. - When tune is stopped, the sound system is restored more effectively (ie. resetting the sample rate with 8 voices active previously now works - eg. when interrupting !Maestro). Version 4.07 - Changed command 4 again.. it wasn't bugged, I just changed the specs. It seems that some players disagree on what command 4 should be, and I'm now implementing it as varying the pitch (as much over as below the original pitch).
00000000 21 53 2f 54 72 61 63 6b 65 72 20 28 53 6f 75 6e |!S/Tracker (Soun| 00000010 64 74 72 61 63 6b 65 72 2f 54 72 61 63 6b 65 72 |dtracker/Tracker| 00000020 20 6d 6f 64 75 6c 65 20 6d 75 73 69 63 20 70 6c | module music pl| 00000030 61 79 65 72 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |ayer).----------| 00000040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 56 65 72 |-----------..Ver| 00000070 73 69 6f 6e 20 34 2e 30 37 20 28 32 34 20 4a 61 |sion 4.07 (24 Ja| 00000080 6e 20 31 39 39 31 29 0a 0a 4f 72 69 67 69 6e 61 |n 1991)..Origina| 00000090 6c 6c 79 20 77 72 69 74 74 65 6e 20 62 79 20 48 |lly written by H| 000000a0 75 67 6f 20 46 69 65 6e 6e 65 73 20 61 6e 64 20 |ugo Fiennes and | 000000b0 46 61 62 72 69 63 65 20 4d 65 72 63 69 65 72 20 |Fabrice Mercier | 000000c0 5b 28 63 29 20 54 68 65 20 53 65 72 69 61 6c 20 |[(c) The Serial | 000000d0 50 6f 72 74 5d 0a 53 57 49 20 69 6e 74 65 72 66 |Port].SWI interf| 000000e0 61 63 65 20 61 6e 64 20 6f 74 68 65 72 20 62 69 |ace and other bi| 000000f0 74 73 20 61 64 64 65 64 20 62 79 20 4d 61 74 74 |ts added by Matt| 00000100 20 46 61 72 72 6f 77 0a 0a 20 46 65 65 6c 20 66 | Farrow.. Feel f| 00000110 72 65 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 |ree to use this | 00000120 6d 6f 64 75 6c 65 20 69 6e 20 61 6e 79 20 70 2e |module in any p.| 00000130 64 2e 20 64 65 6d 6f 73 20 6f 72 20 70 72 6f 67 |d. demos or prog| 00000140 72 61 6d 73 20 65 74 63 2e 2c 20 61 6e 64 20 66 |rams etc., and f| 00000150 6f 72 0a 69 6e 63 6c 75 73 69 6f 6e 20 77 69 74 |or.inclusion wit| 00000160 68 20 63 6f 6d 6d 65 72 63 69 61 6c 20 70 72 6f |h commercial pro| 00000170 67 72 61 6d 73 20 69 66 20 6e 65 65 64 65 64 20 |grams if needed | 00000180 28 62 75 74 20 6c 65 74 20 75 73 20 6b 6e 6f 77 |(but let us know| 00000190 20 66 69 72 73 74 21 21 29 0a 20 4d 75 63 68 20 | first!!). Much | 000001a0 74 69 6d 65 20 61 6e 64 20 65 66 66 6f 72 74 20 |time and effort | 000001b0 68 61 73 20 62 65 65 6e 20 73 70 65 6e 74 20 6f |has been spent o| 000001c0 6e 20 64 65 76 65 6c 6f 70 69 6e 67 20 74 68 69 |n developing thi| 000001d0 73 20 6d 6f 64 75 6c 65 20 28 66 6f 72 20 6e 6f |s module (for no| 000001e0 0a 63 6f 6d 6d 65 72 63 69 61 6c 20 67 61 69 6e |.commercial gain| 000001f0 29 2c 20 61 6e 64 20 69 74 20 77 6f 75 6c 64 20 |), and it would | 00000200 62 65 20 61 20 63 6f 75 72 74 65 73 79 20 69 66 |be a courtesy if| 00000210 20 79 6f 75 20 63 6f 75 6c 64 20 63 72 65 64 69 | you could credi| 00000220 74 20 74 68 65 20 61 75 74 68 6f 72 73 0a 77 68 |t the authors.wh| 00000230 65 6e 65 76 65 72 20 79 6f 75 20 75 73 65 20 69 |enever you use i| 00000240 74 2c 20 61 6e 64 20 69 6e 66 6f 72 6d 20 75 73 |t, and inform us| 00000250 20 69 66 20 79 6f 75 20 69 6e 74 65 6e 64 20 74 | if you intend t| 00000260 6f 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 |o distribute it | 00000270 6f 6e 20 61 20 6c 61 72 67 65 0a 73 63 61 6c 65 |on a large.scale| 00000280 2e 0a 0a 20 54 68 65 20 21 53 2f 54 72 61 63 6b |... The !S/Track| 00000290 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 |er application i| 000002a0 73 20 61 20 50 2e 44 2e 20 61 70 70 6c 69 63 61 |s a P.D. applica| 000002b0 74 69 6f 6e 2c 20 61 6e 64 20 6d 61 79 20 62 65 |tion, and may be| 000002c0 20 66 72 65 65 6c 79 20 63 6f 70 69 65 64 0a 69 | freely copied.i| 000002d0 66 20 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 |f nothing more t| 000002e0 68 61 6e 20 74 68 65 20 63 6f 73 74 20 6f 66 20 |han the cost of | 000002f0 61 20 64 69 73 63 20 61 6e 64 20 61 20 73 6d 61 |a disc and a sma| 00000300 6c 6c 20 61 6d 6f 75 6e 74 20 66 6f 72 20 74 68 |ll amount for th| 00000310 65 20 74 72 6f 75 62 6c 65 20 69 73 0a 63 68 61 |e trouble is.cha| 00000320 72 67 65 64 2c 20 62 75 74 20 69 74 20 6d 75 73 |rged, but it mus| 00000330 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 |t be distributed| 00000340 20 77 69 74 68 20 61 6c 6c 20 74 68 65 20 66 69 | with all the fi| 00000350 6c 65 73 20 63 6f 6d 70 6c 65 74 65 20 61 6e 64 |les complete and| 00000360 20 75 6e 63 68 61 6e 67 65 64 0a 28 77 69 74 68 | unchanged.(with| 00000370 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 65 78 | the possible ex| 00000380 63 65 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 27 |ception of the '| 00000390 53 54 44 6f 63 73 58 2f 58 58 27 20 66 69 6c 65 |STDocsX/XX' file| 000003a0 29 2e 0a 0a 0a 20 4f 76 65 72 76 69 65 77 0a 20 |).... Overview. | 000003b0 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 54 68 65 20 6d |--------. The m| 000003c0 6f 64 75 6c 65 20 65 78 69 73 74 73 20 70 72 69 |odule exists pri| 000003d0 6e 63 69 70 61 6c 6c 79 20 74 6f 20 73 75 70 70 |ncipally to supp| 000003e0 6f 72 74 20 74 68 65 20 6d 75 6c 74 69 2d 74 61 |ort the multi-ta| 000003f0 73 6b 69 6e 67 20 70 6c 61 79 69 6e 67 20 6f 66 |sking playing of| 00000400 0a 62 6f 74 68 20 74 68 65 20 53 65 72 69 61 6c |.both the Serial| 00000410 20 50 6f 72 74 20 54 72 61 63 6b 65 72 20 61 6e | Port Tracker an| 00000420 64 20 61 6d 69 67 61 20 53 6f 75 6e 64 2f 50 72 |d amiga Sound/Pr| 00000430 6f 74 72 61 63 6b 65 72 20 6d 75 73 69 63 20 6d |otracker music m| 00000440 6f 64 75 6c 65 20 66 6f 72 6d 61 74 73 2e 0a 20 |odule formats.. | 00000450 20 56 69 61 20 65 69 74 68 65 72 20 61 20 66 75 | Via either a fu| 00000460 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 |ll command line | 00000470 69 6e 74 65 72 66 61 63 65 2c 20 6f 72 20 75 73 |interface, or us| 00000480 69 6e 67 20 53 57 49 27 73 20 28 77 69 74 68 20 |ing SWI's (with | 00000490 64 65 73 6b 74 6f 70 0a 66 72 6f 6e 74 2d 65 6e |desktop.front-en| 000004a0 64 73 20 69 66 20 64 65 73 69 72 65 64 29 2c 20 |ds if desired), | 000004b0 61 20 77 68 6f 6c 65 20 72 61 6e 67 65 20 6f 66 |a whole range of| 000004c0 20 6f 70 65 72 61 74 69 6f 6e 73 20 63 61 6e 20 | operations can | 000004d0 62 65 20 70 65 72 66 6f 72 6d 65 64 20 28 73 75 |be performed (su| 000004e0 63 68 0a 61 73 20 73 65 74 74 69 6e 67 20 74 68 |ch.as setting th| 000004f0 65 20 73 74 65 72 65 6f 20 70 6f 73 69 74 69 6f |e stereo positio| 00000500 6e 3b 20 66 61 64 69 6e 67 20 69 6e 20 61 6e 64 |n; fading in and| 00000510 20 66 61 64 69 6e 67 20 6f 75 74 3b 20 70 6c 61 | fading out; pla| 00000520 79 69 6e 67 20 73 6f 75 6e 64 0a 65 66 66 65 63 |ying sound.effec| 00000530 74 73 3b 20 63 68 61 6e 67 69 6e 67 20 74 68 65 |ts; changing the| 00000540 20 73 61 6d 70 6c 65 20 71 75 61 6c 69 74 79 3b | sample quality;| 00000550 20 6d 6f 6e 69 74 6f 72 69 6e 67 20 74 68 65 20 | monitoring the | 00000560 73 74 61 74 65 20 6f 66 20 65 61 63 68 20 63 68 |state of each ch| 00000570 61 6e 6e 65 6c 2c 0a 65 74 63 2e 29 2e 0a 20 20 |annel,.etc.).. | 00000580 41 73 20 6d 65 6e 74 69 6f 6e 65 64 20 65 61 72 |As mentioned ear| 00000590 6c 69 65 72 2c 20 74 68 65 20 6d 6f 64 75 6c 65 |lier, the module| 000005a0 20 77 69 6c 6c 20 70 6c 61 79 20 28 61 6e 64 20 | will play (and | 000005b0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 65 |automatically de| 000005c0 74 65 63 74 29 20 0a 73 65 76 65 72 61 6c 20 64 |tect) .several d| 000005d0 69 66 66 65 72 65 6e 74 20 66 6f 72 6d 61 74 73 |ifferent formats| 000005e0 3a 0a 0a 20 20 20 31 29 20 41 72 63 68 69 6d 65 |:.. 1) Archime| 000005f0 64 65 73 20 54 72 61 63 6b 65 72 20 2d 20 41 20 |des Tracker - A | 00000600 66 75 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 |full implementat| 00000610 69 6f 6e 20 64 69 66 66 65 72 69 6e 67 20 66 72 |ion differing fr| 00000620 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a |om the original.| 00000630 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 69 | routi| 00000640 6e 65 73 20 6f 6e 6c 79 20 69 6e 20 77 61 79 73 |nes only in ways| 00000650 20 77 68 69 63 68 20 61 72 65 20 61 6e 20 69 6d | which are an im| 00000660 70 72 6f 76 65 6d 65 6e 74 20 28 69 65 2e 20 76 |provement (ie. v| 00000670 6f 6c 75 6d 65 20 73 6c 69 64 65 73 0a 20 20 20 |olume slides. | 00000680 20 20 20 20 20 20 20 20 6f 66 20 31 20 64 6f 6e | of 1 don| 00000690 27 74 20 63 61 75 73 65 20 64 69 73 74 6f 72 74 |'t cause distort| 000006a0 69 6f 6e 29 2e 0a 20 20 20 20 20 20 20 20 20 20 |ion).. | 000006b0 20 20 20 54 72 61 63 6b 65 72 20 74 75 6e 65 73 | Tracker tunes| 000006c0 20 61 72 65 20 6e 6f 74 20 63 6f 6e 76 65 72 74 | are not convert| 000006d0 65 64 20 69 6e 20 61 6e 79 20 77 61 79 20 77 68 |ed in any way wh| 000006e0 65 6e 20 74 68 65 79 20 61 72 65 20 6c 6f 61 64 |en they are load| 000006f0 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 61 |ed,. a| 00000700 6e 64 20 73 6f 20 61 72 65 20 70 72 65 73 65 72 |nd so are preser| 00000710 76 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 28 73 |ved in memory (s| 00000720 75 69 74 61 62 6c 65 20 66 6f 72 20 65 64 69 74 |uitable for edit| 00000730 69 6e 67 29 2e 0a 20 20 20 32 29 20 41 6d 69 67 |ing).. 2) Amig| 00000740 61 20 66 6f 72 6d 61 74 73 20 28 73 6f 75 6e 64 |a formats (sound| 00000750 74 72 61 63 6b 65 72 20 31 35 2f 33 31 20 69 6e |tracker 15/31 in| 00000760 73 74 2c 20 70 72 6f 74 72 61 63 6b 65 72 29 20 |st, protracker) | 00000770 2d 0a 20 20 20 20 20 20 20 20 20 20 20 46 72 6f |-. Fro| 00000780 6d 20 76 65 72 73 69 6f 6e 20 34 2e 30 36 20 6f |m version 4.06 o| 00000790 6e 77 61 72 64 73 20 74 68 65 73 65 20 61 72 65 |nwards these are| 000007a0 20 72 65 70 6c 61 79 65 64 20 61 73 20 61 63 63 | replayed as acc| 000007b0 75 72 61 74 65 6c 79 20 61 73 0a 20 20 20 20 20 |urately as. | 000007c0 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 28 | possible (| 000007d0 69 6e 63 6c 75 64 69 6e 67 20 76 6f 6c 75 6d 65 |including volume| 000007e0 73 29 2c 20 77 69 74 68 20 74 68 65 20 75 6e 69 |s), with the uni| 000007f0 6d 70 6c 65 6d 65 6e 74 65 64 20 63 6f 6d 6d 61 |mplemented comma| 00000800 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 62 |nds. b| 00000810 65 69 6e 67 20 35 2d 37 2c 20 39 2c 20 45 20 28 |eing 5-7, 9, E (| 00000820 6d 6f 73 74 6c 79 20 75 6e 75 73 65 64 20 6f 72 |mostly unused or| 00000830 20 68 2f 77 20 64 65 70 65 6e 64 65 6e 74 20 61 | h/w dependent a| 00000840 6e 79 77 61 79 29 2e 0a 20 20 20 20 20 20 20 20 |nyway).. | 00000850 20 20 20 20 20 57 68 65 6e 20 61 6e 20 61 6d 69 | When an ami| 00000860 67 61 20 66 6f 72 6d 61 74 20 74 75 6e 65 20 69 |ga format tune i| 00000870 73 20 6c 6f 61 64 65 64 2c 20 69 74 20 69 73 20 |s loaded, it is | 00000880 63 6f 6e 76 65 72 74 65 64 20 62 65 66 6f 72 65 |converted before| 00000890 0a 20 20 20 20 20 20 20 20 20 20 20 62 65 69 6e |. bein| 000008a0 67 20 70 6c 61 79 65 64 20 28 74 68 65 20 70 61 |g played (the pa| 000008b0 74 74 65 72 6e 20 64 61 74 61 20 69 73 20 63 6f |ttern data is co| 000008c0 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 54 72 61 |nverted into Tra| 000008d0 63 6b 65 72 20 66 6f 72 6d 61 74 0a 20 20 20 20 |cker format. | 000008e0 20 20 20 20 20 20 20 64 61 74 61 2c 20 65 78 63 | data, exc| 000008f0 65 70 74 20 61 6e 79 20 76 6f 6c 75 6d 65 20 6f |ept any volume o| 00000900 72 20 73 6c 69 64 65 20 63 6f 6d 6d 61 6e 64 73 |r slide commands| 00000910 20 61 72 65 20 70 72 65 73 65 72 76 65 64 29 2e | are preserved).| 00000920 0a 20 20 20 20 20 20 20 20 20 20 20 59 6f 75 20 |. You | 00000930 73 68 6f 75 6c 64 20 6e 6f 74 2c 20 74 68 65 72 |should not, ther| 00000940 65 66 6f 72 65 2c 20 73 61 76 65 20 73 6f 75 6e |efore, save soun| 00000950 64 74 72 61 63 6b 65 72 20 74 75 6e 65 73 20 77 |dtracker tunes w| 00000960 68 69 6c 65 20 74 68 65 79 20 61 72 65 0a 20 20 |hile they are. | 00000970 20 20 20 20 20 20 20 20 20 70 6c 61 79 69 6e 67 | playing| 00000980 20 6f 72 20 69 6e 20 70 61 75 73 65 20 6d 6f 64 | or in pause mod| 00000990 65 2c 20 62 75 74 20 69 66 20 74 68 65 79 20 68 |e, but if they h| 000009a0 61 76 65 20 62 65 65 6e 20 27 4d 65 6d 6f 72 79 |ave been 'Memory| 000009b0 4c 6f 61 64 27 65 64 0a 20 20 20 20 20 20 20 20 |Load'ed. | 000009c0 20 20 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 | they will be | 000009d0 63 6f 6e 76 65 72 74 65 64 20 62 61 63 6b 20 61 |converted back a| 000009e0 66 74 65 72 20 61 20 2a 50 6c 61 79 53 74 6f 70 |fter a *PlayStop| 000009f0 20 65 74 63 2e 20 28 62 75 74 20 61 6e 79 0a 20 | etc. (but any. | 00000a00 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 | instru| 00000a10 6d 65 6e 74 73 20 6f 75 74 20 6f 66 20 72 61 6e |ments out of ran| 00000a20 67 65 20 5b 33 32 2d 33 36 5d 20 65 74 63 2e 20 |ge [32-36] etc. | 00000a30 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2f |will be ignored/| 00000a40 6d 69 73 2d 0a 20 20 20 20 20 20 20 20 20 20 20 |mis-. | 00000a50 63 6f 6e 76 65 72 74 65 64 29 2e 0a 0a 20 20 54 |converted)... T| 00000a60 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f |his documentatio| 00000a70 6e 20 77 61 73 20 77 72 69 74 74 65 6e 20 74 6f |n was written to| 00000a80 20 61 63 63 6f 6d 70 61 6e 79 20 74 68 65 20 21 | accompany the !| 00000a90 53 2f 54 72 61 63 6b 65 72 20 61 70 70 6c 69 63 |S/Tracker applic| 00000aa0 61 74 69 6f 6e 0a 63 6f 6e 74 61 69 6e 69 6e 67 |ation.containing| 00000ab0 20 74 68 65 20 6c 61 74 65 73 74 20 54 72 61 63 | the latest Trac| 00000ac0 6b 65 72 6d 6f 64 75 6c 65 20 28 27 50 4d 27 29 |kermodule ('PM')| 00000ad0 20 61 6e 64 20 6e 6f 74 20 6d 75 63 68 20 65 6c | and not much el| 00000ae0 73 65 20 28 74 68 69 73 20 77 61 73 20 73 6f 0a |se (this was so.| 00000af0 74 68 61 74 20 66 69 6c 65 20 6c 65 6e 67 74 68 |that file length| 00000b00 73 20 63 6f 75 6c 64 20 62 65 20 6b 65 70 74 20 |s could be kept | 00000b10 64 6f 77 6e 20 61 6e 64 20 74 68 65 20 6d 6f 64 |down and the mod| 00000b20 75 6c 65 20 6d 61 64 65 20 72 65 61 73 6f 6e 61 |ule made reasona| 00000b30 62 6c 79 20 65 61 73 79 20 74 6f 0a 64 69 73 74 |bly easy to.dist| 00000b40 72 69 62 75 74 65 29 2e 20 49 74 20 77 61 73 20 |ribute). It was | 00000b50 69 6e 74 65 6e 64 65 64 20 74 68 61 74 20 33 72 |intended that 3r| 00000b60 64 20 70 61 72 74 79 20 50 44 20 77 72 69 74 65 |d party PD write| 00000b70 72 73 20 63 6f 75 6c 64 20 77 72 69 74 65 20 74 |rs could write t| 00000b80 68 65 69 72 20 6f 77 6e 0a 66 72 6f 6e 74 2d 65 |heir own.front-e| 00000b90 6e 64 73 20 66 6f 72 20 74 68 65 20 6d 6f 64 75 |nds for the modu| 00000ba0 6c 65 20 61 6e 64 20 6b 65 65 70 20 74 68 65 20 |le and keep the | 00000bb0 69 6e 74 65 72 66 61 63 65 73 20 27 63 6c 65 61 |interfaces 'clea| 00000bc0 6e 27 20 73 6f 20 74 68 61 74 20 69 74 20 69 73 |n' so that it is| 00000bd0 20 61 20 0a 73 69 6d 70 6c 65 20 74 61 73 6b 20 | a .simple task | 00000be0 74 6f 20 6b 65 65 70 20 75 70 20 77 69 74 68 20 |to keep up with | 00000bf0 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 54 |changes in the T| 00000c00 72 61 63 6b 65 72 20 66 6f 72 6d 61 74 2c 20 66 |racker format, f| 00000c10 6f 72 20 65 78 61 6d 70 6c 65 2c 20 62 79 0a 6a |or example, by.j| 00000c20 75 73 74 20 72 65 70 6c 61 63 69 6e 67 20 74 68 |ust replacing th| 00000c30 65 20 6d 6f 64 75 6c 65 20 69 6e 20 74 68 65 20 |e module in the | 00000c40 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 69 72 65 |application dire| 00000c50 63 74 6f 72 79 2e 0a 0a 0a 20 20 20 20 20 20 20 |ctory.... | 00000c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000c70 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 | . | 00000c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00000ca0 20 20 20 20 20 20 20 0a 0a 0a 44 4f 43 55 4d 45 | ...DOCUME| 00000cb0 4e 54 41 54 49 4f 4e 20 4f 46 20 2a 20 43 4f 4d |NTATION OF * COM| 00000cc0 4d 41 4e 44 53 20 41 4e 44 20 53 57 49 27 73 0a |MANDS AND SWI's.| 00000cd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000cf0 2d 2d 2d 2d 2d 0a 0a 2a 50 6c 61 79 4d 6f 64 20 |-----..*PlayMod | 00000d00 20 20 20 20 2d 20 4c 6f 61 64 73 20 69 6e 74 6f | - Loads into| 00000d10 20 6d 65 6d 6f 72 79 20 61 6e 64 20 73 74 61 72 | memory and star| 00000d20 74 73 20 74 6f 20 70 6c 61 79 20 74 68 65 20 73 |ts to play the s| 00000d30 70 65 63 69 66 69 65 64 20 54 72 61 63 6b 65 72 |pecified Tracker| 00000d40 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 | or. | 00000d50 20 20 20 53 6f 75 6e 64 74 72 61 63 6b 65 72 20 | Soundtracker | 00000d60 6d 6f 64 75 6c 65 2c 20 64 65 74 65 72 6d 69 6e |module, determin| 00000d70 69 6e 67 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c |ing automaticall| 00000d80 79 20 77 68 69 63 68 20 66 6f 72 6d 61 74 20 69 |y which format i| 00000d90 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |t. | 00000da0 20 69 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | is... | 00000db0 20 20 20 20 20 53 79 6e 74 61 78 3a 20 2a 50 6c | Syntax: *Pl| 00000dc0 61 79 4d 6f 64 20 3c 66 69 6c 65 6e 61 6d 65 3e |ayMod <filename>| 00000dd0 0a 20 20 20 20 20 20 20 20 20 0a 0a 0a 0a 2a 50 |. ....*P| 00000de0 6c 61 79 50 61 75 73 65 20 20 20 2d 20 57 69 6c |layPause - Wil| 00000df0 6c 20 70 61 75 73 65 20 74 68 65 20 63 75 72 72 |l pause the curr| 00000e00 65 6e 74 6c 79 20 70 6c 61 79 69 6e 67 20 74 75 |ently playing tu| 00000e10 6e 65 20 28 6b 69 6c 6c 73 20 61 6c 6c 20 73 6f |ne (kills all so| 00000e20 75 6e 64 20 69 6d 6d 65 64 2d 0a 20 20 20 20 20 |und immed-. | 00000e30 20 20 20 20 20 20 20 20 20 20 69 61 74 65 6c 79 | iately| 00000e40 29 20 62 75 74 20 72 65 74 61 69 6e 73 20 74 68 |) but retains th| 00000e50 65 20 73 6f 75 6e 64 74 72 61 63 6b 65 72 2f 74 |e soundtracker/t| 00000e60 72 61 63 6b 65 72 20 6d 6f 64 75 6c 65 20 69 6e |racker module in| 00000e70 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 20 | memory.. | 00000e80 20 20 20 20 20 20 20 20 54 68 65 20 74 75 6e 65 | The tune| 00000e90 20 63 61 6e 20 62 65 20 72 65 73 74 61 72 74 65 | can be restarte| 00000ea0 64 20 77 69 74 68 20 61 20 2a 50 6c 61 79 53 74 |d with a *PlaySt| 00000eb0 61 72 74 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 20 20 |art command... | 00000ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 53 79 6e | Syn| 00000ed0 74 61 78 3a 20 2a 50 6c 61 79 50 61 75 73 65 0a |tax: *PlayPause.| 00000ee0 0a 0a 0a 0a 2a 50 6c 61 79 53 74 61 72 74 20 20 |....*PlayStart | 00000ef0 20 2d 20 57 69 6c 6c 20 72 65 73 75 6d 65 20 70 | - Will resume p| 00000f00 6c 61 79 69 6e 67 20 61 20 74 75 6e 65 20 61 66 |laying a tune af| 00000f10 74 65 72 20 61 20 2a 50 6c 61 79 50 61 75 73 65 |ter a *PlayPause| 00000f20 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 20 20 20 20 20 | command... | 00000f30 20 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 78 | Syntax| 00000f40 3a 20 2a 50 6c 61 79 53 74 61 72 74 0a 0a 20 0a |: *PlayStart.. .| 00000f50 0a 0a 2a 50 6c 61 79 50 6f 73 20 20 20 20 20 2d |..*PlayPos -| 00000f60 20 57 69 6c 6c 20 73 65 74 20 74 68 65 20 63 75 | Will set the cu| 00000f70 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 |rrent position i| 00000f80 6e 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 |n the sequence t| 00000f90 61 62 6c 65 2c 20 6f 72 20 69 66 20 6e 6f 0a 20 |able, or if no. | 00000fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 | pa| 00000fb0 72 61 6d 65 74 65 72 20 69 73 20 67 69 76 65 6e |rameter is given| 00000fc0 2c 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 72 65 |, will simply re| 00000fd0 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 |turn the current| 00000fe0 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 | position... | 00000ff0 20 20 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 | Synta| 00001000 78 3a 20 2a 50 6c 61 79 50 6f 73 20 5b 3c 30 2d |x: *PlayPos [<0-| 00001010 31 32 37 3e 5d 0a 0a 20 20 20 20 20 20 20 20 20 |127>].. | 00001020 20 20 20 20 20 20 20 0a 0a 0a 2a 50 6c 61 79 53 | ...*PlayS| 00001030 61 6d 70 6c 65 73 20 2d 20 57 69 6c 6c 20 6c 69 |amples - Will li| 00001040 73 74 20 61 6c 6c 20 74 68 65 20 73 61 6d 70 6c |st all the sampl| 00001050 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 |es associated wi| 00001060 74 68 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 |th the currently| 00001070 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00001080 69 6e 73 74 61 6c 6c 65 64 20 6d 75 73 69 63 20 |installed music | 00001090 6d 6f 64 75 6c 65 2e 20 0a 0a 20 20 20 20 20 20 |module. .. | 000010a0 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 78 3a | Syntax:| 000010b0 20 2a 50 6c 61 79 53 61 6d 70 6c 65 73 0a 0a 0a | *PlaySamples...| 000010c0 0a 2a 50 6c 61 79 53 70 65 65 64 20 20 20 2d 20 |.*PlaySpeed - | 000010d0 57 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 |Will change the | 000010e0 73 61 6d 70 6c 65 20 70 6c 61 79 62 61 63 6b 20 |sample playback | 000010f0 72 61 74 65 20 61 6e 64 20 74 68 65 72 65 66 6f |rate and therefo| 00001100 72 65 20 76 61 72 79 20 74 68 65 0a 20 20 20 20 |re vary the. | 00001110 20 20 20 20 20 20 20 20 20 20 20 61 70 70 72 6f | appro| 00001120 78 69 6d 61 74 65 20 61 6d 6f 75 6e 74 20 6f 66 |ximate amount of| 00001130 20 43 50 55 20 74 69 6d 65 20 74 61 6b 65 6e 20 | CPU time taken | 00001140 75 70 20 62 79 20 74 68 65 20 70 6c 61 79 72 6f |up by the playro| 00001150 75 74 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 |utine.. | 00001160 20 20 20 20 20 20 43 75 72 72 65 6e 74 6c 79 2c | Currently,| 00001170 20 74 68 65 20 6f 6e 6c 79 20 66 6f 75 72 20 6f | the only four o| 00001180 70 74 69 6f 6e 73 20 61 72 65 3a 0a 20 20 20 20 |ptions are:. | 00001190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000011a0 20 20 20 30 20 2d 20 6e 6f 72 6d 61 6c 20 73 61 | 0 - normal sa| 000011b0 6d 70 6c 65 20 72 61 74 65 0a 20 20 20 20 20 20 |mple rate. | 000011c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000011d0 20 31 20 2d 20 68 61 6c 66 20 73 61 6d 70 6c 65 | 1 - half sample| 000011e0 20 72 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 | rate. | 000011f0 20 20 20 20 20 20 20 20 20 20 20 20 20 32 20 2d | 2 -| 00001200 20 6e 6f 72 6d 61 6c 20 73 61 6d 70 6c 65 20 72 | normal sample r| 00001210 61 74 65 20 28 66 6f 72 20 56 49 44 43 20 65 6e |ate (for VIDC en| 00001220 68 61 6e 63 65 72 73 29 0a 20 20 20 20 20 20 20 |hancers). | 00001230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001240 33 20 2d 20 68 61 6c 66 20 73 61 6d 70 6c 65 20 |3 - half sample | 00001250 72 61 74 65 20 28 66 6f 72 20 56 49 44 43 20 65 |rate (for VIDC e| 00001260 6e 68 61 6e 63 65 72 73 29 0a 20 20 20 20 20 20 |nhancers). | 00001270 20 20 20 20 20 20 20 20 20 49 66 20 6f 70 74 69 | If opti| 00001280 6f 6e 20 31 20 6f 72 20 33 20 69 73 20 73 65 6c |on 1 or 3 is sel| 00001290 65 63 74 65 64 2c 20 74 68 65 20 73 61 6d 70 6c |ected, the sampl| 000012a0 65 20 71 75 61 6c 69 74 79 20 69 73 20 72 65 64 |e quality is red| 000012b0 75 63 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 |uced,. | 000012c0 20 20 20 20 20 62 75 74 20 38 20 63 68 61 6e 6e | but 8 chann| 000012d0 65 6c 20 74 75 6e 65 73 20 77 69 6c 6c 20 74 61 |el tunes will ta| 000012e0 6b 65 20 75 70 20 6f 6e 6c 79 20 61 20 6c 69 74 |ke up only a lit| 000012f0 74 6c 65 20 6d 6f 72 65 20 74 69 6d 65 20 74 68 |tle more time th| 00001300 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |an. | 00001310 20 20 34 20 63 68 61 6e 6e 65 6c 20 74 75 6e 65 | 4 channel tune| 00001320 73 20 6f 72 69 67 69 6e 61 6c 6c 79 2e 0a 20 20 |s originally.. | 00001330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 | T| 00001340 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 2a |he function of *| 00001350 50 6c 61 79 53 70 65 65 64 20 69 73 20 64 75 70 |PlaySpeed is dup| 00001360 6c 69 63 61 74 65 64 20 62 79 20 74 68 65 20 53 |licated by the S| 00001370 57 49 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |WI. | 00001380 20 20 27 54 72 61 63 6b 65 72 5f 53 70 65 65 64 | 'Tracker_Speed| 00001390 27 20 28 73 65 65 20 6c 61 74 65 72 29 2e 0a 0a |' (see later)...| 000013a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S| 000013b0 79 6e 74 61 78 3a 20 2a 50 6c 61 79 53 70 65 65 |yntax: *PlaySpee| 000013c0 64 20 3c 30 7c 31 7c 32 7c 33 3e 0a 0a 0a 0a 0a |d <0|1|2|3>.....| 000013d0 2a 50 6c 61 79 53 74 61 74 75 73 20 20 2d 20 57 |*PlayStatus - W| 000013e0 69 6c 6c 20 70 72 69 6e 74 20 69 6e 66 6f 72 6d |ill print inform| 000013f0 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 |ation about the | 00001400 63 75 72 72 65 6e 74 20 74 75 6e 65 20 6d 6f 64 |current tune mod| 00001410 75 6c 65 20 6c 6f 61 64 65 64 0a 20 20 20 20 20 |ule loaded. | 00001420 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 | . | 00001430 20 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 78 | Syntax| 00001440 3a 20 2a 50 6c 61 79 53 74 61 74 75 73 0a 0a 0a |: *PlayStatus...| 00001450 0a 0a 2a 50 6c 61 79 53 74 65 72 65 6f 20 20 2d |..*PlayStereo -| 00001460 20 43 6f 6e 74 72 6f 6c 73 20 74 68 65 20 73 74 | Controls the st| 00001470 65 72 65 6f 20 73 65 74 74 69 6e 67 73 20 77 68 |ereo settings wh| 00001480 69 6c 65 20 74 68 65 20 6f 6c 64 65 72 20 66 6f |ile the older fo| 00001490 72 6d 61 74 20 73 6f 75 6e 64 2d 0a 20 20 20 20 |rmat sound-. | 000014a0 20 20 20 20 20 20 20 20 20 20 20 74 72 61 63 6b | track| 000014b0 65 72 20 6d 6f 64 75 6c 65 73 20 61 72 65 20 70 |er modules are p| 000014c0 6c 61 79 69 6e 67 20 28 74 68 65 20 73 74 65 72 |laying (the ster| 000014d0 65 6f 20 69 73 20 66 69 78 65 64 20 6f 6e 20 61 |eo is fixed on a| 000014e0 6e 20 41 6d 69 67 61 29 2c 0a 20 20 20 20 20 20 |n Amiga),. | 000014f0 20 20 20 20 20 20 20 20 20 61 6e 64 20 77 69 6c | and wil| 00001500 6c 20 73 77 69 74 63 68 20 62 65 74 77 65 65 6e |l switch between| 00001510 20 66 69 76 65 20 70 6f 73 73 69 62 6c 65 20 73 | five possible s| 00001520 65 74 74 69 6e 67 73 20 74 6f 20 63 61 74 65 72 |ettings to cater| 00001530 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 | for. | 00001540 20 20 20 20 6d 6f 73 74 20 63 6f 6e 66 69 67 75 | most configu| 00001550 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 20 |rations:. | 00001560 20 20 20 20 20 20 20 20 20 20 20 20 30 20 2d 20 | 0 - | 00001570 53 6c 69 67 68 74 6c 79 20 6f 66 66 2d 63 65 6e |Slightly off-cen| 00001580 74 72 65 20 6c 65 66 74 20 61 6e 64 20 72 69 67 |tre left and rig| 00001590 68 74 20 28 6e 6f 72 6d 61 6c 29 0a 20 20 20 20 |ht (normal). | 000015a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | 1| 000015b0 20 2d 20 46 75 6c 6c 79 20 6c 65 66 74 20 61 6e | - Fully left an| 000015c0 64 20 72 69 67 68 74 20 28 61 6d 69 67 61 2d 73 |d right (amiga-s| 000015d0 74 79 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 |tyle). | 000015e0 20 20 20 20 20 20 20 20 20 32 20 2d 20 46 75 6c | 2 - Ful| 000015f0 6c 79 20 6c 65 66 74 0a 20 20 20 20 20 20 20 20 |ly left. | 00001600 20 20 20 20 20 20 20 20 20 20 20 33 20 2d 20 46 | 3 - F| 00001610 75 6c 6c 79 20 72 69 67 68 74 0a 20 20 20 20 20 |ully right. | 00001620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 20 | 4 | 00001630 2d 20 44 6f 6e 27 74 20 61 6c 74 65 72 20 73 74 |- Don't alter st| 00001640 65 72 65 6f 20 73 65 74 74 69 6e 67 73 0a 20 20 |ereo settings. | 00001650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001660 20 20 20 20 20 20 20 20 28 6e 6f 72 6d 61 6c 6c | (normall| 00001670 79 20 61 6c 74 65 72 73 20 73 65 74 74 69 6e 67 |y alters setting| 00001680 73 20 77 68 65 6e 20 61 20 74 75 6e 65 20 69 73 |s when a tune is| 00001690 20 6c 6f 61 64 65 64 20 20 20 20 20 20 20 20 20 | loaded | 000016a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000016b0 20 20 20 20 20 20 61 6e 64 20 77 68 65 6e 20 69 | and when i| 000016c0 74 20 70 6c 61 79 73 20 61 20 74 72 61 63 6b 65 |t plays a tracke| 000016d0 72 20 73 74 65 72 65 6f 20 63 6f 6d 6d 61 6e 64 |r stereo command| 000016e0 20 2d 20 73 65 65 0a 20 20 20 20 20 20 20 20 20 | - see. | 000016f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001700 20 20 53 57 49 20 54 72 61 63 6b 65 72 5f 53 74 | SWI Tracker_St| 00001710 65 72 65 6f 29 0a 0a 20 20 20 20 20 20 20 20 20 |ereo).. | 00001720 20 20 20 20 20 20 53 79 6e 74 61 78 3a 20 2a 50 | Syntax: *P| 00001730 6c 61 79 53 74 65 72 65 6f 20 3c 30 7c 31 7c 32 |layStereo <0|1|2| 00001740 7c 33 3e 0a 0a 0a 0a 0a 2a 50 6c 61 79 53 74 6f ||3>.....*PlaySto| 00001750 70 20 20 20 20 2d 20 57 69 6c 6c 20 73 74 6f 70 |p - Will stop| 00001760 20 61 6e 64 20 6b 69 6c 6c 20 74 68 65 20 63 75 | and kill the cu| 00001770 72 72 65 6e 74 6c 79 20 70 6c 61 79 69 6e 67 20 |rrently playing | 00001780 74 75 6e 65 20 6d 6f 64 75 6c 65 2c 0a 20 20 20 |tune module,. | 00001790 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f | remo| 000017a0 76 69 6e 67 20 69 74 20 66 72 6f 6d 20 6d 65 6d |ving it from mem| 000017b0 6f 72 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 |ory... | 000017c0 20 20 20 20 20 53 79 6e 74 61 78 3a 20 2a 50 6c | Syntax: *Pl| 000017d0 61 79 53 74 6f 70 0a 0a 0a 20 20 20 20 20 20 20 |ayStop... | 000017e0 20 20 20 20 20 20 20 20 0a 0a 2a 50 6c 61 79 56 | ..*PlayV| 000017f0 6f 6c 75 6d 65 20 20 2d 20 43 68 61 6e 67 65 73 |olume - Changes| 00001800 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 6c 6f 75 | the overall lou| 00001810 64 6e 65 73 73 20 6f 66 20 61 6e 79 20 74 75 6e |dness of any tun| 00001820 65 73 20 70 6c 61 79 69 6e 67 2e 20 54 68 65 20 |es playing. The | 00001830 73 63 61 6c 65 0a 20 20 20 20 20 20 20 20 20 20 |scale. | 00001840 20 20 20 20 20 69 73 20 6c 6f 67 61 72 69 74 68 | is logarith| 00001850 6d 69 63 20 61 6e 64 20 67 6f 65 73 20 66 72 6f |mic and goes fro| 00001860 6d 20 31 20 28 73 69 6c 65 6e 74 29 20 74 6f 20 |m 1 (silent) to | 00001870 31 32 37 20 28 66 75 6c 6c 20 76 6f 6c 75 6d 65 |127 (full volume| 00001880 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |).. | 00001890 20 20 2a 50 6c 61 79 56 6f 6c 75 6d 65 20 77 69 | *PlayVolume wi| 000018a0 74 68 20 6e 6f 20 70 61 72 61 6d 65 74 65 72 73 |th no parameters| 000018b0 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 63 75 | displays the cu| 000018c0 72 72 65 6e 74 20 76 6f 6c 75 6d 65 2e 0a 0a 20 |rrent volume... | 000018d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 79 | Sy| 000018e0 6e 74 61 78 3a 20 2a 50 6c 61 79 56 6f 6c 75 6d |ntax: *PlayVolum| 000018f0 65 20 5b 3c 30 2d 31 32 37 3e 5d 0a 0a 0a 0a 0a |e [<0-127>].....| 00001900 0a 53 57 49 20 43 4f 4d 4d 41 4e 44 53 0a 2d 2d |.SWI COMMANDS.--| 00001910 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 53 65 76 65 72 |----------.Sever| 00001920 61 6c 20 53 57 49 20 63 6f 6d 6d 61 6e 64 73 20 |al SWI commands | 00001930 68 61 76 65 20 62 65 65 6e 20 61 64 64 65 64 20 |have been added | 00001940 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 6e |to the module in| 00001950 20 6f 72 64 65 72 20 74 6f 20 73 69 6d 70 6c 69 | order to simpli| 00001960 66 79 20 74 68 65 0a 74 61 73 6b 20 6f 66 20 61 |fy the.task of a| 00001970 64 64 69 6e 67 20 73 6f 75 6e 64 74 72 61 63 6b |dding soundtrack| 00001980 65 72 2f 74 72 61 63 6b 65 72 20 6d 75 73 69 63 |er/tracker music| 00001990 20 74 6f 20 79 6f 75 72 20 64 65 6d 6f 73 20 65 | to your demos e| 000019a0 74 63 2e 20 28 65 73 70 65 63 69 61 6c 6c 79 0a |tc. (especially.| 000019b0 6d 75 6c 74 69 2d 74 61 73 6b 69 6e 67 20 73 69 |multi-tasking si| 000019c0 74 75 61 74 69 6f 6e 73 29 2e 20 54 68 65 73 65 |tuations). These| 000019d0 20 70 72 6f 76 69 64 65 20 61 6c 6c 20 6f 66 20 | provide all of | 000019e0 74 68 65 20 66 61 63 69 6c 69 74 69 65 73 20 6f |the facilities o| 000019f0 66 66 65 72 65 64 20 62 79 0a 74 68 65 20 76 61 |ffered by.the va| 00001a00 72 69 6f 75 73 20 2a 20 63 6f 6d 6d 61 6e 64 73 |rious * commands| 00001a10 2c 20 62 75 74 20 61 6c 73 6f 20 61 6c 6c 6f 77 |, but also allow| 00001a20 20 61 20 6d 6f 72 65 20 64 65 74 61 69 6c 65 64 | a more detailed| 00001a30 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 73 6f 6d 65 | control of some| 00001a40 20 6f 66 20 74 68 65 0a 6d 6f 64 75 6c 65 27 73 | of the.module's| 00001a50 20 66 65 61 74 75 72 65 73 2e 0a 41 6c 6c 20 74 | features..All t| 00001a60 68 65 20 53 57 49 27 73 20 72 65 6d 61 69 6e 20 |he SWI's remain | 00001a70 69 6e 20 53 56 43 20 6d 6f 64 65 2c 20 61 6e 64 |in SVC mode, and| 00001a80 20 64 6f 20 6e 6f 74 20 61 6c 74 65 72 20 74 68 | do not alter th| 00001a90 65 20 69 6e 74 65 72 72 75 70 74 20 73 74 61 74 |e interrupt stat| 00001aa0 75 73 2e 0a 49 20 74 68 69 6e 6b 20 6d 6f 73 74 |us..I think most| 00001ab0 20 61 72 65 20 72 65 2d 65 6e 74 72 61 6e 74 2c | are re-entrant,| 00001ac0 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 77 68 | except those wh| 00001ad0 69 63 68 20 75 73 65 20 73 79 73 74 65 6d 20 53 |ich use system S| 00001ae0 57 49 27 73 20 28 6c 6f 61 64 2c 20 70 6c 61 79 |WI's (load, play| 00001af0 2c 0a 73 74 6f 70 20 65 74 63 2e 29 2c 20 73 6f |,.stop etc.), so| 00001b00 20 61 76 6f 69 64 20 63 61 6c 6c 69 6e 67 20 74 | avoid calling t| 00001b10 68 65 6d 20 66 72 6f 6d 20 69 6e 74 65 72 72 75 |hem from interru| 00001b20 70 74 73 20 69 66 20 79 6f 75 20 63 61 6e 20 61 |pts if you can a| 00001b30 76 6f 69 64 20 69 74 2e 0a 0a 54 68 65 20 53 57 |void it...The SW| 00001b40 49 20 63 68 75 6e 6b 20 6e 75 6d 62 65 72 20 67 |I chunk number g| 00001b50 69 76 65 6e 20 68 65 72 65 20 28 26 34 33 32 30 |iven here (&4320| 00001b60 30 29 20 69 73 20 61 6e 20 6f 66 66 69 63 69 61 |0) is an officia| 00001b70 6c 6c 79 20 72 65 63 6f 67 6e 69 73 65 64 20 63 |lly recognised c| 00001b80 68 75 6e 6b 0a 6e 75 6d 62 65 72 20 69 73 73 75 |hunk.number issu| 00001b90 65 64 20 62 79 20 41 63 6f 72 6e 2e 0a 0a 0a 2d |ed by Acorn....-| 00001ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 |------------.Tra| 00001bf0 63 6b 65 72 5f 56 65 72 73 69 6f 6e 20 20 20 20 |cker_Version | 00001c00 20 20 20 20 28 53 57 49 20 26 34 33 32 30 30 29 | (SWI &43200)| 00001c10 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00001c20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001c50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a |--------------..| 00001c60 4f 6e 20 45 6e 74 72 79 3a 20 20 2d 0a 0a 4f 6e |On Entry: -..On| 00001c70 20 45 78 69 74 20 3a 20 20 52 30 20 3d 20 76 65 | Exit : R0 = ve| 00001c80 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2a 31 30 30 |rsion number*100| 00001c90 20 20 28 69 65 2e 20 66 6f 72 20 56 31 2e 32 33 | (ie. for V1.23| 00001ca0 20 3d 20 31 32 33 29 0a 0a 55 73 65 20 74 68 69 | = 123)..Use thi| 00001cb0 73 20 63 61 6c 6c 20 74 6f 20 65 6e 73 75 72 65 |s call to ensure| 00001cc0 20 74 68 61 74 20 74 68 65 20 74 72 61 63 6b 65 | that the tracke| 00001cd0 72 6d 6f 64 75 6c 65 20 69 6e 73 74 61 6c 6c 65 |rmodule installe| 00001ce0 64 20 69 73 20 61 20 72 65 63 65 6e 74 20 65 6e |d is a recent en| 00001cf0 6f 75 67 68 0a 76 65 72 73 69 6f 6e 20 74 6f 20 |ough.version to | 00001d00 73 75 70 70 6f 72 74 20 74 68 65 20 53 57 49 27 |support the SWI'| 00001d10 73 20 79 6f 75 20 77 69 73 68 20 74 6f 20 75 73 |s you wish to us| 00001d20 65 2e 20 56 65 72 73 69 6f 6e 73 20 34 2e 30 30 |e. Versions 4.00| 00001d30 20 6f 6e 77 61 72 64 73 20 69 6e 63 6f 72 70 6f | onwards incorpo| 00001d40 72 2d 0a 61 74 65 20 74 68 65 20 53 57 49 27 73 |r-.ate the SWI's| 00001d50 2e 0a 0a 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |......----------| 00001d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001da0 2d 2d 2d 0a 54 72 61 63 6b 65 72 5f 4c 6f 61 64 |---.Tracker_Load| 00001db0 20 20 20 20 20 20 20 20 20 20 20 28 53 57 49 20 | (SWI | 00001dc0 26 34 33 32 30 31 29 0a 2d 2d 2d 2d 2d 2d 2d 2d |&43201).--------| 00001dd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001e10 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a |-----..On Entry:| 00001e20 20 20 52 30 20 3d 20 70 6f 69 6e 74 65 72 20 74 | R0 = pointer t| 00001e30 6f 20 66 69 6c 65 6e 61 6d 65 20 6f 66 20 73 6f |o filename of so| 00001e40 75 6e 64 74 72 61 63 6b 65 72 2f 74 72 61 63 6b |undtracker/track| 00001e50 65 72 20 6d 6f 64 75 6c 65 0a 0a 4f 6e 20 45 78 |er module..On Ex| 00001e60 69 74 20 3a 20 20 52 30 20 70 72 65 73 65 72 76 |it : R0 preserv| 00001e70 65 64 0a 0a 54 68 69 73 20 63 61 6c 6c 20 77 69 |ed..This call wi| 00001e80 6c 6c 20 63 6c 61 69 6d 20 6d 65 6d 6f 72 79 20 |ll claim memory | 00001e90 66 72 6f 6d 20 74 68 65 20 52 4d 41 20 61 6e 64 |from the RMA and| 00001ea0 20 6c 6f 61 64 20 74 68 65 20 73 70 65 63 69 66 | load the specif| 00001eb0 69 65 64 20 74 75 6e 65 20 6d 6f 64 75 6c 65 2c |ied tune module,| 00001ec0 0a 69 6e 69 74 69 61 6c 69 73 65 20 74 68 65 20 |.initialise the | 00001ed0 73 6f 75 6e 64 20 73 79 73 74 65 6d 2c 20 61 6e |sound system, an| 00001ee0 64 20 73 65 74 20 74 68 65 20 70 6c 61 79 72 6f |d set the playro| 00001ef0 75 74 69 6e 65 20 69 6e 20 70 61 75 73 65 20 6d |utine in pause m| 00001f00 6f 64 65 2e 0a 59 6f 75 20 6d 75 73 74 20 74 68 |ode..You must th| 00001f10 65 6e 20 75 73 65 20 74 68 65 20 53 57 49 20 54 |en use the SWI T| 00001f20 72 61 63 6b 65 72 5f 50 6c 61 79 20 74 6f 20 73 |racker_Play to s| 00001f30 74 61 72 74 20 74 68 65 20 74 75 6e 65 20 70 6c |tart the tune pl| 00001f40 61 79 69 6e 67 2e 0a 54 68 65 20 63 6f 6d 6d 61 |aying..The comma| 00001f50 6e 64 20 2a 50 6c 61 79 4d 6f 64 20 63 61 6c 6c |nd *PlayMod call| 00001f60 73 20 74 68 69 73 20 72 6f 75 74 69 6e 65 2c 20 |s this routine, | 00001f70 61 6e 64 20 74 68 65 6e 20 74 68 65 20 53 57 49 |and then the SWI| 00001f80 20 54 72 61 63 6b 65 72 5f 50 6c 61 79 2e 0a 0a | Tracker_Play...| 00001f90 41 6e 20 65 72 72 6f 72 20 77 69 6c 6c 20 62 65 |An error will be| 00001fa0 20 67 65 6e 65 72 61 74 65 64 20 69 66 20 74 68 | generated if th| 00001fb0 65 20 6d 6f 64 75 6c 65 20 63 61 6e 6e 6f 74 20 |e module cannot | 00001fc0 62 65 20 6c 6f 61 64 65 64 20 6f 72 20 6e 6f 74 |be loaded or not| 00001fd0 20 65 6e 6f 75 67 68 0a 6d 65 6d 6f 72 79 20 63 | enough.memory c| 00001fe0 61 6e 20 62 65 20 63 6c 61 69 6d 65 64 2e 0a 0a |an be claimed...| 00001ff0 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...-------------| 00002000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002040 0a 54 72 61 63 6b 65 72 5f 4d 65 6d 6f 72 79 4c |.Tracker_MemoryL| 00002050 6f 61 64 20 20 20 20 20 28 53 57 49 20 26 34 33 |oad (SWI &43| 00002060 32 30 32 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |202).-----------| 00002070 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000020b0 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 52 |--..On Entry: R| 000020c0 30 20 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 66 |0 = pointer to f| 000020d0 69 72 73 74 20 77 6f 72 64 20 6f 66 20 73 6f 75 |irst word of sou| 000020e0 6e 64 74 72 61 63 6b 65 72 2f 74 72 61 63 6b 65 |ndtracker/tracke| 000020f0 72 20 6d 6f 64 75 6c 65 20 69 6e 0a 20 20 20 20 |r module in. | 00002100 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 6f | memo| 00002110 72 79 20 28 4e 42 20 6d 75 73 74 20 62 65 20 77 |ry (NB must be w| 00002120 6f 72 64 2d 61 6c 69 67 6e 65 64 29 0a 20 20 20 |ord-aligned). | 00002130 20 20 20 20 20 20 20 20 52 31 20 3d 20 6c 65 6e | R1 = len| 00002140 67 74 68 20 6f 66 20 6d 6f 64 75 6c 65 20 69 6e |gth of module in| 00002150 20 62 79 74 65 73 0a 0a 4f 6e 20 45 78 69 74 20 | bytes..On Exit | 00002160 3a 20 20 52 30 20 61 6e 64 20 52 31 20 70 72 65 |: R0 and R1 pre| 00002170 73 65 72 76 65 64 0a 0a 54 68 69 73 20 63 61 6c |served..This cal| 00002180 6c 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 |l can be used by| 00002190 20 61 20 6e 6f 6e 2d 6d 75 6c 74 69 74 61 73 6b | a non-multitask| 000021a0 69 6e 67 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ing application | 000021b0 74 6f 20 73 70 65 63 69 66 79 20 61 6e 20 61 72 |to specify an ar| 000021c0 65 61 0a 6f 66 20 6d 65 6d 6f 72 79 20 61 73 20 |ea.of memory as | 000021d0 61 20 74 75 6e 65 20 6d 6f 64 75 6c 65 2c 20 61 |a tune module, a| 000021e0 6e 64 20 74 68 65 72 65 62 79 20 72 65 6d 6f 76 |nd thereby remov| 000021f0 65 20 74 68 65 20 6e 65 65 64 20 66 6f 72 20 61 |e the need for a| 00002200 20 73 65 70 65 72 61 74 65 20 66 69 6c 65 0a 74 | seperate file.t| 00002210 6f 20 68 6f 6c 64 20 61 20 74 75 6e 65 2c 20 61 |o hold a tune, a| 00002220 6e 64 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e |nd there is no n| 00002230 65 65 64 20 74 6f 20 63 6c 61 69 6d 20 61 20 6c |eed to claim a l| 00002240 61 72 67 65 20 61 6d 6f 75 6e 74 20 6f 66 20 52 |arge amount of R| 00002250 4d 41 20 73 70 61 63 65 2e 0a 4f 6e 63 65 20 74 |MA space..Once t| 00002260 68 69 73 20 53 57 49 20 69 73 20 63 61 6c 6c 65 |his SWI is calle| 00002270 64 2c 20 74 68 65 20 6d 6f 64 75 6c 65 20 77 69 |d, the module wi| 00002280 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 |ll be treated as| 00002290 20 69 66 20 69 74 20 77 61 73 20 6c 6f 61 64 65 | if it was loade| 000022a0 64 20 69 6e 0a 74 68 65 20 6d 6f 64 75 6c 65 27 |d in.the module'| 000022b0 73 20 6f 77 6e 20 77 6f 72 6b 73 70 61 63 65 2e |s own workspace.| 000022c0 0a 20 49 6d 70 6f 72 74 61 6e 74 3a 20 59 6f 75 |. Important: You| 000022d0 20 6d 75 73 74 20 74 65 6c 6c 20 74 68 65 20 74 | must tell the t| 000022e0 72 61 63 6b 65 72 6d 6f 64 75 6c 65 20 74 6f 20 |rackermodule to | 000022f0 66 6f 72 67 65 74 20 74 68 65 20 6d 6f 64 75 6c |forget the modul| 00002300 65 20 69 66 20 74 68 65 0a 6d 65 6d 6f 72 79 20 |e if the.memory | 00002310 77 69 6c 6c 20 62 65 20 6f 76 65 72 77 72 69 74 |will be overwrit| 00002320 74 65 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 |ten, otherwise t| 00002330 68 65 20 6d 6f 64 75 6c 65 20 6d 61 79 20 63 72 |he module may cr| 00002340 61 73 68 2e 0a 28 2a 50 6c 61 79 53 74 6f 70 20 |ash..(*PlayStop | 00002350 6f 72 20 54 72 61 63 6b 65 72 5f 53 74 6f 70 20 |or Tracker_Stop | 00002360 53 57 49 29 0a 0a 4e 42 20 54 68 69 73 20 63 61 |SWI)..NB This ca| 00002370 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b |ll will not work| 00002380 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 72 75 | for programs ru| 00002390 6e 6e 69 6e 67 20 75 6e 64 65 72 20 74 68 65 20 |nning under the | 000023a0 64 65 73 6b 74 6f 70 20 69 66 20 74 68 65 0a 20 |desktop if the. | 000023b0 20 20 6d 6f 64 75 6c 65 20 69 73 20 6c 6f 61 64 | module is load| 000023c0 65 64 20 69 6e 20 75 73 65 72 20 6d 65 6d 6f 72 |ed in user memor| 000023d0 79 2e 0a 0a 20 20 20 57 68 65 6e 20 61 20 73 6f |y... When a so| 000023e0 75 6e 64 74 72 61 63 6b 65 72 20 6d 6f 64 75 6c |undtracker modul| 000023f0 65 20 69 73 20 6c 6f 61 64 65 64 2c 20 74 68 65 |e is loaded, the| 00002400 20 70 61 74 74 65 72 6e 20 64 61 74 61 20 69 73 | pattern data is| 00002410 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 0a 20 20 | converted to. | 00002420 20 54 72 61 63 6b 65 72 20 66 6f 72 6d 61 74 20 | Tracker format | 00002430 64 61 74 61 20 28 65 78 63 65 70 74 20 66 6f 72 |data (except for| 00002440 20 76 6f 6c 75 6d 65 73 20 77 68 69 63 68 20 72 | volumes which r| 00002450 65 6d 61 69 6e 20 30 2d 36 34 29 2c 20 73 6f 20 |emain 0-64), so | 00002460 0a 20 20 20 66 6f 72 20 74 68 65 20 70 75 72 70 |. for the purp| 00002470 6f 73 65 73 20 6f 66 20 65 64 69 74 69 6e 67 2c |oses of editing,| 00002480 20 61 73 20 6c 6f 6e 67 20 61 73 20 54 72 61 63 | as long as Trac| 00002490 6b 65 72 5f 52 65 61 64 2f 57 72 69 74 65 53 61 |ker_Read/WriteSa| 000024a0 6d 70 6c 65 54 61 62 6c 65 20 61 72 65 0a 20 20 |mpleTable are. | 000024b0 20 75 73 65 64 2c 20 74 68 65 20 6d 6f 64 75 6c | used, the modul| 000024c0 65 20 63 61 6e 20 62 65 20 63 6f 6e 73 69 64 65 |e can be conside| 000024d0 72 65 64 20 61 73 20 61 20 54 72 61 63 6b 65 72 |red as a Tracker| 000024e0 20 6d 6f 64 75 6c 65 2e 20 57 68 65 6e 20 53 57 | module. When SW| 000024f0 49 0a 20 20 20 54 72 61 63 6b 65 72 5f 53 74 6f |I. Tracker_Sto| 00002500 70 2f 2a 50 6c 61 79 53 74 6f 70 20 69 73 20 63 |p/*PlayStop is c| 00002510 61 6c 6c 65 64 2c 20 74 68 65 20 64 61 74 61 20 |alled, the data | 00002520 69 73 20 63 6f 6e 76 65 72 74 65 64 20 62 61 63 |is converted bac| 00002530 6b 2e 0a 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |k.....----------| 00002540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002580 2d 2d 2d 0a 54 72 61 63 6b 65 72 5f 50 6c 61 79 |---.Tracker_Play| 00002590 20 20 20 20 20 20 20 20 20 20 20 28 53 57 49 20 | (SWI | 000025a0 26 34 33 32 30 33 29 0a 2d 2d 2d 2d 2d 2d 2d 2d |&43203).--------| 000025b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000025f0 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a |-----..On Entry:| 00002600 20 20 2d 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 | -..On Exit : | 00002610 2d 0a 0a 54 68 69 73 20 63 61 6c 6c 20 77 69 6c |-..This call wil| 00002620 6c 20 72 65 73 74 61 72 74 20 61 20 74 75 6e 65 |l restart a tune| 00002630 20 61 66 74 65 72 20 69 74 20 68 61 73 20 62 65 | after it has be| 00002640 65 6e 20 70 61 75 73 65 64 20 6f 72 20 6c 6f 61 |en paused or loa| 00002650 64 65 64 20 77 69 74 68 20 74 68 65 0a 54 72 61 |ded with the.Tra| 00002660 63 6b 65 72 5f 4c 6f 61 64 20 53 57 49 2e 0a 0a |cker_Load SWI...| 00002670 0a 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |....------------| 00002680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000026c0 2d 0a 54 72 61 63 6b 65 72 5f 53 74 6f 70 20 20 |-.Tracker_Stop | 000026d0 20 20 20 20 20 20 20 20 20 28 53 57 49 20 26 34 | (SWI &4| 000026e0 33 32 30 34 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |3204).----------| 000026f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002730 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 |---..On Entry: | 00002740 2d 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 2d 0a |-..On Exit : -.| 00002750 0a 54 68 69 73 20 70 65 72 66 6f 72 6d 73 20 74 |.This performs t| 00002760 68 65 20 73 61 6d 65 20 61 63 74 69 6f 6e 73 20 |he same actions | 00002770 61 73 20 2a 50 6c 61 79 53 74 6f 70 0a 55 73 69 |as *PlayStop.Usi| 00002780 6e 67 20 2a 50 6c 61 79 53 74 6f 70 20 6f 72 20 |ng *PlayStop or | 00002790 74 68 69 73 20 53 57 49 20 69 73 20 74 68 65 20 |this SWI is the | 000027a0 6f 6e 6c 79 20 77 61 79 20 74 6f 20 67 65 74 20 |only way to get | 000027b0 74 68 65 20 74 72 61 63 6b 65 72 6d 6f 64 75 6c |the trackermodul| 000027c0 65 20 74 6f 0a 72 65 6c 65 61 73 65 20 74 68 65 |e to.release the| 000027d0 20 6d 65 6d 6f 72 79 20 74 61 6b 65 6e 20 75 70 | memory taken up| 000027e0 20 62 79 20 74 68 65 20 74 75 6e 65 20 6d 6f 64 | by the tune mod| 000027f0 75 6c 65 2c 20 6f 72 20 74 6f 20 66 6f 72 63 65 |ule, or to force| 00002800 20 69 74 20 74 6f 20 66 6f 72 67 65 74 20 74 68 | it to forget th| 00002810 65 0a 61 64 64 72 65 73 73 20 6f 66 20 61 20 6d |e.address of a m| 00002820 6f 64 75 6c 65 20 69 66 20 69 74 20 68 61 73 20 |odule if it has | 00002830 62 65 65 6e 20 6c 6f 61 64 65 64 20 77 69 74 68 |been loaded with| 00002840 20 74 68 65 20 27 54 72 61 63 6b 65 72 5f 4d 65 | the 'Tracker_Me| 00002850 6d 6f 72 79 4c 6f 61 64 27 20 53 57 49 2e 0a 49 |moryLoad' SWI..I| 00002860 66 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 73 20 |f the module is | 00002870 73 6f 75 6e 64 74 72 61 63 6b 65 72 20 61 6e 64 |soundtracker and| 00002880 20 68 61 73 20 62 65 65 6e 20 6c 6f 61 64 65 64 | has been loaded| 00002890 20 77 69 74 68 20 54 72 61 63 6b 65 72 5f 4d 65 | with Tracker_Me| 000028a0 6d 6f 72 79 4c 6f 61 64 2c 0a 63 61 6c 6c 69 6e |moryLoad,.callin| 000028b0 67 20 74 68 69 73 20 53 57 49 20 6f 72 20 2a 50 |g this SWI or *P| 000028c0 6c 61 79 53 74 6f 70 20 77 69 6c 6c 20 63 6f 6e |layStop will con| 000028d0 76 65 72 74 20 74 68 65 20 64 61 74 61 20 62 61 |vert the data ba| 000028e0 63 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e |ck to the origin| 000028f0 61 6c 0a 66 6f 72 6d 61 74 2e 0a 0a 0a 0a 2d 2d |al.format.....--| 00002900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 |-----------.Trac| 00002950 6b 65 72 5f 50 61 75 73 65 20 20 20 20 20 20 20 |ker_Pause | 00002960 20 20 20 28 53 57 49 20 26 34 33 32 30 35 29 0a | (SWI &43205).| 00002970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000029b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f |-------------..O| 000029c0 6e 20 45 6e 74 72 79 3a 20 20 2d 0a 0a 4f 6e 20 |n Entry: -..On | 000029d0 45 78 69 74 20 3a 20 20 2d 0a 0a 54 68 69 73 20 |Exit : -..This | 000029e0 70 65 72 66 6f 72 6d 73 20 74 68 65 20 73 61 6d |performs the sam| 000029f0 65 20 61 63 74 69 6f 6e 73 20 61 73 20 2a 50 6c |e actions as *Pl| 00002a00 61 79 50 61 75 73 65 0a 0a 0a 0a 0a 0a 2d 2d 2d |ayPause......---| 00002a10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002a50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b |----------.Track| 00002a60 65 72 5f 53 74 65 72 65 6f 20 20 20 20 20 20 20 |er_Stereo | 00002a70 20 20 28 53 57 49 20 26 34 33 32 30 36 29 0a 2d | (SWI &43206).-| 00002a80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e |------------..On| 00002ad0 20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 53 74 | Entry: R0 = St| 00002ae0 65 72 65 6f 20 73 65 74 74 69 6e 67 20 28 30 2d |ereo setting (0-| 00002af0 34 29 20 6f 72 20 2d 31 20 74 6f 20 72 65 61 64 |4) or -1 to read| 00002b00 20 63 75 72 72 65 6e 74 20 73 65 74 74 69 6e 67 | current setting| 00002b10 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 49 66 20 |..On Exit : If | 00002b20 52 30 3e 3d 30 20 6f 6e 20 65 6e 74 72 79 3a 20 |R0>=0 on entry: | 00002b30 52 30 20 70 72 65 73 65 72 76 65 64 0a 20 20 20 |R0 preserved. | 00002b40 0a 20 20 20 20 20 20 20 20 20 20 20 49 66 20 52 |. If R| 00002b50 30 3d 2d 31 20 6f 6e 20 65 6e 74 72 79 3a 20 52 |0=-1 on entry: R| 00002b60 30 20 3d 20 63 75 72 72 65 6e 74 20 50 6c 61 79 |0 = current Play| 00002b70 53 74 65 72 65 6f 20 73 65 74 74 69 6e 67 0a 20 |Stereo setting. | 00002b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002b90 20 20 20 20 20 20 20 20 20 20 20 20 20 52 31 20 | R1 | 00002ba0 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 38 2d 62 |= pointer to 8-b| 00002bb0 79 74 65 20 73 74 65 72 65 6f 20 70 6f 73 69 74 |yte stereo posit| 00002bc0 69 6f 6e 20 74 61 62 6c 65 0a 20 20 20 20 20 20 |ion table. | 00002bd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002be0 20 20 20 20 20 0a 0a 54 68 69 73 20 70 65 72 66 | ..This perf| 00002bf0 6f 72 6d 73 20 74 68 65 20 73 61 6d 65 20 61 63 |orms the same ac| 00002c00 74 69 6f 6e 73 20 61 73 20 2a 50 6c 61 79 53 74 |tions as *PlaySt| 00002c10 65 72 65 6f 2c 20 77 69 74 68 20 52 30 20 70 61 |ereo, with R0 pa| 00002c20 73 73 65 64 20 61 73 20 61 20 70 61 72 61 6d 65 |ssed as a parame| 00002c30 74 65 72 2e 0a 49 66 20 52 30 20 69 73 20 73 65 |ter..If R0 is se| 00002c40 74 20 74 6f 20 34 20 6f 6e 20 65 6e 74 72 79 2c |t to 4 on entry,| 00002c50 20 74 68 65 6e 20 74 68 65 20 73 74 65 72 65 6f | then the stereo| 00002c60 20 73 65 74 74 69 6e 67 73 20 77 69 6c 6c 20 62 | settings will b| 00002c70 65 20 75 6e 61 6c 74 65 72 65 64 0a 77 68 65 6e |e unaltered.when| 00002c80 65 76 65 72 20 61 20 6d 6f 64 75 6c 65 20 69 73 |ever a module is| 00002c90 20 6c 6f 61 64 65 64 20 6f 72 20 6b 69 6c 6c 65 | loaded or kille| 00002ca0 64 2c 20 61 6e 64 20 64 69 73 61 62 6c 65 73 20 |d, and disables | 00002cb0 61 6e 79 20 73 74 65 72 65 6f 20 63 6f 6d 6d 61 |any stereo comma| 00002cc0 6e 64 73 20 69 6e 0a 74 72 61 63 6b 65 72 20 6d |nds in.tracker m| 00002cd0 6f 64 75 6c 65 73 2e 20 54 68 69 73 20 69 73 20 |odules. This is | 00002ce0 74 6f 20 61 6c 6c 6f 77 20 69 6e 74 65 72 66 61 |to allow interfa| 00002cf0 63 69 6e 67 20 70 72 6f 67 72 61 6d 73 20 74 6f |cing programs to| 00002d00 20 70 72 6f 76 69 64 65 20 74 68 65 69 72 20 6f | provide their o| 00002d10 77 6e 0a 73 74 65 72 65 6f 20 6f 70 74 69 6f 6e |wn.stereo option| 00002d20 73 2c 20 6f 72 20 74 6f 20 61 6c 6c 6f 77 20 61 |s, or to allow a| 00002d30 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 |djustment to the| 00002d40 20 73 74 65 72 65 6f 20 70 6f 73 69 74 69 6f 6e | stereo position| 00002d50 73 20 77 68 69 6c 65 20 74 72 61 63 6b 65 72 0a |s while tracker.| 00002d60 74 75 6e 65 73 20 61 72 65 20 70 6c 61 79 69 6e |tunes are playin| 00002d70 67 20 28 77 68 69 63 68 20 68 61 76 65 20 64 65 |g (which have de| 00002d80 66 61 75 6c 74 20 73 74 65 72 65 6f 20 73 65 74 |fault stereo set| 00002d90 74 69 6e 67 73 20 73 74 6f 72 65 64 20 61 73 20 |tings stored as | 00002da0 70 61 72 74 20 6f 66 20 74 68 65 0a 74 75 6e 65 |part of the.tune| 00002db0 29 2e 0a 20 41 6c 74 65 72 6e 61 74 69 76 65 6c |).. Alternativel| 00002dc0 79 2c 20 69 66 20 52 30 3d 2d 31 20 6f 6e 20 65 |y, if R0=-1 on e| 00002dd0 6e 74 72 79 2c 20 52 30 20 77 69 6c 6c 20 62 65 |ntry, R0 will be| 00002de0 20 74 68 65 20 6c 61 73 74 20 70 61 72 61 6d 65 | the last parame| 00002df0 74 65 72 20 70 61 73 73 65 64 20 74 6f 0a 74 68 |ter passed to.th| 00002e00 69 73 20 53 57 49 20 6f 72 20 74 68 65 20 2a 50 |is SWI or the *P| 00002e10 6c 61 79 53 74 65 72 65 6f 20 63 6f 6d 6d 61 6e |layStereo comman| 00002e20 64 2c 20 61 6e 64 20 52 31 20 70 6f 69 6e 74 73 |d, and R1 points| 00002e30 20 74 6f 20 61 6e 20 38 2d 62 79 74 65 20 74 61 | to an 8-byte ta| 00002e40 62 6c 65 20 28 6f 6e 65 0a 62 79 74 65 20 70 65 |ble (one.byte pe| 00002e50 72 20 63 68 61 6e 6e 65 6c 29 20 77 68 69 63 68 |r channel) which| 00002e60 20 69 73 20 75 70 64 61 74 65 64 20 65 76 65 72 | is updated ever| 00002e70 79 20 74 69 6d 65 20 65 69 74 68 65 72 20 61 20 |y time either a | 00002e80 74 75 6e 65 20 73 74 61 72 74 73 3b 20 74 68 69 |tune starts; thi| 00002e90 73 20 53 57 49 0a 6f 72 20 2a 50 6c 61 79 53 74 |s SWI.or *PlaySt| 00002ea0 65 72 65 6f 20 69 73 20 63 61 6c 6c 65 64 20 77 |ereo is called w| 00002eb0 69 74 68 20 61 20 70 61 72 61 6d 65 74 65 72 20 |ith a parameter | 00002ec0 6f 66 20 30 2d 33 3b 20 6f 72 20 69 66 20 61 20 |of 0-3; or if a | 00002ed0 73 74 65 72 65 6f 20 63 6f 6d 6d 61 6e 64 20 69 |stereo command i| 00002ee0 73 0a 65 78 65 63 75 74 65 64 20 69 6e 20 61 20 |s.executed in a | 00002ef0 54 72 61 63 6b 65 72 20 74 75 6e 65 2e 20 54 68 |Tracker tune. Th| 00002f00 65 20 62 79 74 65 20 77 69 6c 6c 20 62 65 20 69 |e byte will be i| 00002f10 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 31 |n the range of 1| 00002f20 2d 37 20 28 77 68 65 72 65 20 31 20 69 73 0a 66 |-7 (where 1 is.f| 00002f30 75 6c 6c 20 6c 65 66 74 2c 20 37 20 69 73 20 66 |ull left, 7 is f| 00002f40 75 6c 6c 20 72 69 67 68 74 2c 20 61 6e 64 20 34 |ull right, and 4| 00002f50 20 69 73 20 63 65 6e 74 72 65 29 2e 20 53 6f 6d | is centre). Som| 00002f60 65 20 54 72 61 63 6b 65 72 20 74 75 6e 65 73 20 |e Tracker tunes | 00002f70 6d 61 79 20 63 6f 6e 74 61 69 6e 0a 73 74 65 72 |may contain.ster| 00002f80 65 6f 20 73 65 74 74 69 6e 67 73 20 6f 75 74 20 |eo settings out | 00002f90 6f 66 20 72 61 6e 67 65 2e 0a 0a 0a 0a 2d 2d 2d |of range.....---| 00002fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002fe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b |----------.Track| 00002ff0 65 72 5f 53 65 74 50 6f 73 20 20 20 20 20 20 20 |er_SetPos | 00003000 20 20 28 53 57 49 20 26 34 33 32 30 37 29 0a 2d | (SWI &43207).-| 00003010 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003050 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e |------------..On| 00003060 20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 4e 65 | Entry: R0 = Ne| 00003070 77 20 73 65 71 75 65 6e 63 65 20 70 6f 73 69 74 |w sequence posit| 00003080 69 6f 6e 20 28 30 2d 31 32 37 20 6d 61 78 29 0a |ion (0-127 max).| 00003090 20 20 20 20 20 20 20 20 20 20 20 52 31 20 3d 20 | R1 = | 000030a0 45 76 65 6e 74 20 28 30 2d 36 33 20 6d 61 78 29 |Event (0-63 max)| 000030b0 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 52 30 20 |..On Exit : R0 | 000030c0 70 72 65 73 65 72 76 65 64 0a 0a 54 68 69 73 20 |preserved..This | 000030d0 70 65 72 66 6f 72 6d 73 20 74 68 65 20 73 61 6d |performs the sam| 000030e0 65 20 61 63 74 69 6f 6e 73 20 61 73 20 2a 50 6c |e actions as *Pl| 000030f0 61 79 50 6f 73 2c 20 65 78 63 65 70 74 20 74 68 |ayPos, except th| 00003100 61 74 20 74 68 65 20 65 76 65 6e 74 20 77 69 74 |at the event wit| 00003110 68 20 74 68 65 0a 70 61 74 74 65 72 6e 20 63 61 |h the.pattern ca| 00003120 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 28 |n be specified (| 00003130 30 2d 36 33 20 6e 6f 72 6d 61 6c 6c 79 29 2e 20 |0-63 normally). | 00003140 49 66 20 61 6e 20 65 76 65 6e 74 20 6e 75 6d 62 |If an event numb| 00003150 65 72 20 68 69 67 68 65 72 20 74 68 61 6e 20 74 |er higher than t| 00003160 68 65 0a 6e 75 6d 62 65 72 20 6f 66 20 65 76 65 |he.number of eve| 00003170 6e 74 73 20 69 6e 20 74 68 65 20 63 75 72 72 65 |nts in the curre| 00003180 6e 74 20 70 61 74 74 65 72 6e 20 69 73 20 73 70 |nt pattern is sp| 00003190 65 63 69 66 69 65 64 2c 20 74 68 65 20 70 61 74 |ecified, the pat| 000031a0 74 65 72 6e 20 77 69 6c 6c 20 62 65 67 69 6e 0a |tern will begin.| 000031b0 61 74 20 65 76 65 6e 74 20 30 2e 0a 0a 49 66 20 |at event 0...If | 000031c0 74 68 65 72 65 20 69 73 20 6e 6f 20 74 75 6e 65 |there is no tune| 000031d0 20 63 75 72 72 65 6e 74 6c 79 20 6c 6f 61 64 65 | currently loade| 000031e0 64 2c 20 61 6e 20 65 72 72 6f 72 20 69 73 20 67 |d, an error is g| 000031f0 65 6e 65 72 61 74 65 64 2e 0a 0a 0a 0a 0a 0a 2d |enerated.......-| 00003200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 |------------.Tra| 00003250 63 6b 65 72 5f 52 65 61 64 50 6f 73 20 20 20 20 |cker_ReadPos | 00003260 20 20 20 20 28 53 57 49 20 26 34 33 32 30 38 29 | (SWI &43208)| 00003270 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00003280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000032b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a |--------------..| 000032c0 4f 6e 20 45 6e 74 72 79 3a 20 20 2d 0a 0a 4f 6e |On Entry: -..On| 000032d0 20 45 78 69 74 20 3a 20 20 52 30 20 3d 20 43 75 | Exit : R0 = Cu| 000032e0 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 |rrent position i| 000032f0 6e 20 73 65 71 75 65 6e 63 65 20 74 61 62 6c 65 |n sequence table| 00003300 20 28 30 2d 31 32 37 20 6d 61 78 29 0a 20 20 20 | (0-127 max). | 00003310 20 20 20 20 20 20 20 20 52 31 20 3d 20 43 75 72 | R1 = Cur| 00003320 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e |rent position in| 00003330 20 70 61 74 74 65 72 6e 20 28 30 2d 36 33 20 6d | pattern (0-63 m| 00003340 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 52 |ax). R| 00003350 32 20 3d 20 4d 61 78 69 6d 75 6d 20 70 6f 73 69 |2 = Maximum posi| 00003360 74 69 6f 6e 20 69 6e 20 73 65 71 75 65 6e 63 65 |tion in sequence| 00003370 20 74 61 62 6c 65 0a 0a 54 68 69 73 20 70 65 72 | table..This per| 00003380 66 6f 72 6d 73 20 74 68 65 20 73 61 6d 65 20 61 |forms the same a| 00003390 63 74 69 6f 6e 73 20 61 73 20 2a 50 6c 61 79 50 |ctions as *PlayP| 000033a0 6f 73 20 77 69 74 68 20 6e 6f 20 70 61 72 61 6d |os with no param| 000033b0 65 74 65 72 73 2c 20 62 75 74 20 61 6c 73 6f 0a |eters, but also.| 000033c0 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 |returns the curr| 000033d0 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 |ent position in | 000033e0 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 74 74 |the current patt| 000033f0 65 72 6e 20 28 69 6e 20 63 61 73 65 20 73 6f 6d |ern (in case som| 00003400 65 20 61 70 70 6c 69 63 2d 0a 61 74 69 6f 6e 73 |e applic-.ations| 00003410 20 6e 65 65 64 20 74 6f 20 73 79 6e 63 68 72 6f | need to synchro| 00003420 6e 69 7a 65 20 65 76 65 6e 74 73 20 77 69 74 68 |nize events with| 00003430 20 74 68 65 20 74 75 6e 65 20 62 65 69 6e 67 20 | the tune being | 00003440 70 6c 61 79 65 64 29 2e 0a 0a 0a 0a 0a 0a 2d 2d |played).......--| 00003450 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003490 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 |-----------.Trac| 000034a0 6b 65 72 5f 50 6c 61 79 4e 6f 74 65 20 20 20 20 |ker_PlayNote | 000034b0 20 20 20 28 53 57 49 20 26 34 33 32 30 39 29 0a | (SWI &43209).| 000034c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f |-------------..O| 00003510 6e 20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 53 |n Entry: R0 = S| 00003520 6f 75 6e 64 20 63 68 61 6e 6e 65 6c 20 74 6f 20 |ound channel to | 00003530 73 6f 75 6e 64 20 6e 6f 74 65 20 6f 6e 20 28 31 |sound note on (1| 00003540 2d 38 20 6d 61 78 29 0a 20 20 20 20 20 20 20 20 |-8 max). | 00003550 20 20 20 52 31 20 3d 20 54 72 61 63 6b 65 72 20 | R1 = Tracker | 00003560 66 6f 72 6d 61 74 20 6e 6f 74 65 20 6e 75 6d 62 |format note numb| 00003570 65 72 20 28 31 2d 33 36 29 0a 20 20 20 20 20 20 |er (1-36). | 00003580 20 20 20 20 20 52 32 20 3d 20 53 61 6d 70 6c 65 | R2 = Sample| 00003590 20 74 6f 20 70 6c 61 79 20 28 31 2d 33 36 29 0a | to play (1-36).| 000035a0 20 20 20 20 20 20 20 20 20 20 20 52 33 20 3d 20 | R3 = | 000035b0 56 6f 6c 75 6d 65 20 28 30 2d 32 35 35 29 20 5b |Volume (0-255) [| 000035c0 54 72 61 63 6b 65 72 20 76 6f 6c 75 6d 65 20 65 |Tracker volume e| 000035d0 76 65 6e 20 69 66 20 73 6f 75 6e 64 74 72 61 63 |ven if soundtrac| 000035e0 6b 65 72 20 74 75 6e 65 0a 20 20 20 20 20 20 20 |ker tune. | 000035f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003620 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 61 64 | load| 00003630 65 64 5d 2e 0a 4f 6e 20 45 78 69 74 20 3a 20 20 |ed]..On Exit : | 00003640 52 30 2d 52 33 20 70 72 65 73 65 72 76 65 64 0a |R0-R3 preserved.| 00003650 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 75 | If tu| 00003660 6e 65 20 6e 6f 74 20 70 61 75 73 65 64 20 74 68 |ne not paused th| 00003670 65 6e 20 43 20 66 6c 61 67 20 73 65 74 20 6f 74 |en C flag set ot| 00003680 68 65 72 77 69 73 65 20 43 20 66 6c 61 67 20 63 |herwise C flag c| 00003690 6c 65 61 72 65 64 2e 0a 0a 49 66 20 74 68 65 72 |leared...If ther| 000036a0 65 20 69 73 20 6e 6f 20 74 75 6e 65 20 6c 6f 61 |e is no tune loa| 000036b0 64 65 64 2c 20 61 6e 20 65 72 72 6f 72 20 77 69 |ded, an error wi| 000036c0 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e |ll be generated.| 000036d0 0a 0a 49 74 20 70 6c 61 79 73 20 6f 6e 65 20 6f |..It plays one o| 000036e0 66 20 74 68 65 20 73 61 6d 70 6c 65 73 20 77 68 |f the samples wh| 000036f0 69 63 68 20 61 72 65 20 70 61 72 74 20 6f 66 20 |ich are part of | 00003700 74 68 65 20 70 61 75 73 65 64 20 74 75 6e 65 20 |the paused tune | 00003710 61 74 20 61 20 67 69 76 65 6e 0a 70 69 74 63 68 |at a given.pitch| 00003720 20 28 31 3d 6c 6f 77 2c 20 33 36 3d 68 69 67 68 | (1=low, 36=high| 00003730 29 20 61 6e 64 20 76 6f 6c 75 6d 65 20 28 30 3d |) and volume (0=| 00003740 73 69 6c 65 6e 74 2c 20 32 35 35 3d 6c 6f 75 64 |silent, 255=loud| 00003750 29 2e 20 49 66 20 61 6e 79 20 6f 66 20 74 68 65 |). If any of the| 00003760 20 76 61 6c 75 65 73 0a 61 72 65 20 6f 75 74 20 | values.are out | 00003770 6f 66 20 72 61 6e 67 65 2c 20 61 6e 20 65 72 72 |of range, an err| 00003780 6f 72 20 77 69 6c 6c 20 62 65 20 72 65 70 6f 72 |or will be repor| 00003790 74 65 64 2e 0a 54 68 65 20 6e 75 6d 62 65 72 20 |ted..The number | 000037a0 6f 66 20 73 6f 75 6e 64 20 63 68 61 6e 6e 65 6c |of sound channel| 000037b0 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 |s that can be us| 000037c0 65 64 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 |ed depends on th| 000037d0 65 20 6d 6f 64 75 6c 65 20 6c 6f 61 64 65 64 0a |e module loaded.| 000037e0 28 73 6f 75 6e 64 74 72 61 63 6b 65 72 20 6d 6f |(soundtracker mo| 000037f0 64 75 6c 65 73 20 77 69 6c 6c 20 61 6c 77 61 79 |dules will alway| 00003800 73 20 75 73 65 20 34 20 76 6f 69 63 65 73 2c 20 |s use 4 voices, | 00003810 77 68 65 72 65 61 73 20 54 72 61 63 6b 65 72 20 |whereas Tracker | 00003820 6d 6f 64 75 6c 65 73 20 63 61 6e 0a 75 73 65 20 |modules can.use | 00003830 75 70 20 74 6f 20 38 29 2e 0a 55 73 65 20 74 68 |up to 8)..Use th| 00003840 65 20 54 72 61 63 6b 65 72 5f 54 75 6e 65 49 6e |e Tracker_TuneIn| 00003850 66 6f 20 53 57 49 20 74 6f 20 66 69 6e 64 20 6f |fo SWI to find o| 00003860 75 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e |ut the maximum n| 00003870 75 6d 62 65 72 20 6f 66 20 76 6f 69 63 65 73 20 |umber of voices | 00003880 69 66 20 79 6f 75 0a 69 6e 74 65 6e 64 20 74 6f |if you.intend to| 00003890 20 70 6c 61 79 20 6d 6f 72 65 20 74 68 61 6e 20 | play more than | 000038a0 6f 6e 65 20 6e 6f 74 65 20 61 74 20 61 20 74 69 |one note at a ti| 000038b0 6d 65 2e 0a 4e 42 20 54 68 69 73 20 63 61 6c 6c |me..NB This call| 000038c0 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 | should be avoid| 000038d0 65 64 20 69 66 20 70 6f 73 73 69 62 6c 65 2c 20 |ed if possible, | 000038e0 75 6e 6c 65 73 73 20 74 68 65 20 70 75 72 70 6f |unless the purpo| 000038f0 73 65 20 69 73 20 74 6f 20 68 65 61 72 0a 20 20 |se is to hear. | 00003900 20 65 61 63 68 20 73 61 6d 70 6c 65 20 73 65 70 | each sample sep| 00003910 65 72 61 74 65 6c 79 2e 0a 0a 0a 0a 0a 0a 2d 2d |erately.......--| 00003920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 |-----------.Trac| 00003970 6b 65 72 5f 54 75 6e 65 49 6e 66 6f 20 20 20 20 |ker_TuneInfo | 00003980 20 20 20 28 53 57 49 20 26 34 33 32 30 41 29 0a | (SWI &4320A).| 00003990 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000039d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f |-------------..O| 000039e0 6e 20 45 6e 74 72 79 3a 20 20 2d 0a 0a 4f 6e 20 |n Entry: -..On | 000039f0 45 78 69 74 20 3a 20 20 52 30 20 3d 20 53 65 71 |Exit : R0 = Seq| 00003a00 75 65 6e 63 65 20 74 61 62 6c 65 20 6c 65 6e 67 |uence table leng| 00003a10 74 68 20 28 31 2d 31 32 38 29 0a 20 20 20 20 20 |th (1-128). | 00003a20 20 20 20 20 20 20 52 31 20 3d 20 4e 75 6d 62 65 | R1 = Numbe| 00003a30 72 20 6f 66 20 76 6f 69 63 65 73 20 28 31 2d 38 |r of voices (1-8| 00003a40 29 0a 20 20 20 20 20 20 20 20 20 20 20 52 32 20 |). R2 | 00003a50 3d 20 43 75 72 72 65 6e 74 20 73 70 65 65 64 20 |= Current speed | 00003a60 28 31 2d 31 35 29 0a 20 20 20 20 20 20 20 20 20 |(1-15). | 00003a70 20 20 52 33 20 3d 20 50 6f 69 6e 74 65 72 20 74 | R3 = Pointer t| 00003a80 6f 20 74 75 6e 65 20 6e 61 6d 65 20 28 74 65 72 |o tune name (ter| 00003a90 6d 69 6e 61 74 65 64 20 62 79 20 30 2c 20 6d 61 |minated by 0, ma| 00003aa0 78 20 6c 65 6e 67 74 68 20 33 32 20 63 68 61 72 |x length 32 char| 00003ab0 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 52 34 |s). R4| 00003ac0 20 3d 20 50 6f 69 6e 74 65 72 20 74 6f 20 61 75 | = Pointer to au| 00003ad0 74 68 6f 72 27 73 20 6e 61 6d 65 20 28 30 20 74 |thor's name (0 t| 00003ae0 65 72 6d 69 6e 61 74 65 64 2c 20 6d 61 78 20 6c |erminated, max l| 00003af0 65 6e 67 74 68 20 33 32 20 63 68 61 72 73 29 0a |ength 32 chars).| 00003b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003b10 6f 72 20 7a 65 72 6f 20 69 66 20 73 6f 75 6e 64 |or zero if sound| 00003b20 74 72 61 63 6b 65 72 20 66 6f 72 6d 61 74 20 6d |tracker format m| 00003b30 6f 64 75 6c 65 20 28 6e 6f 74 20 61 70 70 6c 69 |odule (not appli| 00003b40 63 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 |cable). | 00003b50 20 20 52 35 20 3d 20 41 64 64 72 65 73 73 20 6f | R5 = Address o| 00003b60 66 20 63 75 72 72 65 6e 74 6c 79 20 6c 6f 61 64 |f currently load| 00003b70 65 64 20 74 75 6e 65 20 6d 6f 64 75 6c 65 0a 20 |ed tune module. | 00003b80 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 | . | 00003b90 20 20 20 20 20 20 49 66 20 74 68 65 20 74 75 6e | If the tun| 00003ba0 65 20 69 73 20 70 61 75 73 65 64 2c 20 74 68 65 |e is paused, the| 00003bb0 20 43 20 66 6c 61 67 20 69 73 20 73 65 74 2c 20 | C flag is set, | 00003bc0 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 43 20 |otherwise the C | 00003bd0 66 6c 61 67 20 69 73 0a 20 20 20 20 20 20 20 20 |flag is. | 00003be0 20 20 20 63 6c 65 61 72 65 64 2e 0a 0a 20 20 20 | cleared... | 00003bf0 20 20 20 20 20 20 20 20 49 66 20 74 68 65 72 65 | If there| 00003c00 20 69 73 20 6e 6f 20 74 75 6e 65 20 6c 6f 61 64 | is no tune load| 00003c10 65 64 2c 20 52 30 20 69 73 20 73 65 74 20 74 6f |ed, R0 is set to| 00003c20 20 7a 65 72 6f 2c 20 61 6e 64 20 52 31 2d 52 35 | zero, and R1-R5| 00003c30 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 | are. | 00003c40 70 72 65 73 65 72 76 65 64 2e 0a 20 20 20 20 20 |preserved.. | 00003c50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a | ..| 00003c90 54 68 69 73 20 63 61 6c 6c 20 70 72 6f 76 69 64 |This call provid| 00003ca0 65 73 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 |es miscellaneous| 00003cb0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f | information abo| 00003cc0 75 74 20 74 68 65 20 74 75 6e 65 20 63 75 72 72 |ut the tune curr| 00003cd0 65 6e 74 6c 79 20 6c 6f 61 64 65 64 2e 0a 0a 59 |ently loaded...Y| 00003ce0 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 |ou should not ne| 00003cf0 65 64 20 74 6f 20 64 69 72 65 63 74 6c 79 20 61 |ed to directly a| 00003d00 63 63 65 73 73 20 74 68 65 20 74 75 6e 65 20 6d |ccess the tune m| 00003d10 6f 64 75 6c 65 20 28 75 73 69 6e 67 20 74 68 65 |odule (using the| 00003d20 20 61 64 64 72 65 73 73 0a 70 61 73 73 65 64 20 | address.passed | 00003d30 69 6e 20 52 35 29 2c 20 62 65 63 61 75 73 65 20 |in R5), because | 00003d40 61 6c 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |all information | 00003d50 69 73 20 61 76 61 69 6c 61 62 6c 65 20 76 69 61 |is available via| 00003d60 20 74 68 65 20 76 61 72 69 6f 75 73 20 53 57 49 | the various SWI| 00003d70 27 73 2c 0a 61 6e 64 20 73 6f 75 6e 64 74 72 61 |'s,.and soundtra| 00003d80 63 6b 65 72 20 66 6f 72 6d 61 74 20 6d 6f 64 75 |cker format modu| 00003d90 6c 65 73 20 77 69 6c 6c 20 68 61 76 65 20 62 65 |les will have be| 00003da0 65 6e 20 63 6f 6e 76 65 72 74 65 64 20 70 61 72 |en converted par| 00003db0 74 69 61 6c 6c 79 20 74 6f 20 54 72 61 63 6b 65 |tially to Tracke| 00003dc0 72 0a 66 6f 72 6d 61 74 20 77 68 65 6e 20 6c 6f |r.format when lo| 00003dd0 61 64 65 64 20 28 61 6e 64 20 74 68 65 72 65 66 |aded (and theref| 00003de0 6f 72 65 20 69 6e 20 61 6e 20 75 6e 6b 6e 6f 77 |ore in an unknow| 00003df0 6e 20 66 6f 72 6d 61 74 29 2e 20 54 68 69 73 20 |n format). This | 00003e00 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 0a 70 |information is.p| 00003e10 72 6f 76 69 64 65 64 20 69 66 2c 20 66 6f 72 20 |rovided if, for | 00003e20 65 78 61 6d 70 6c 65 2c 20 6d 75 6c 74 69 2d 74 |example, multi-t| 00003e30 61 73 6b 69 6e 67 20 70 6c 61 79 65 72 73 2f 65 |asking players/e| 00003e40 64 69 74 6f 72 73 20 6e 65 65 64 20 74 6f 20 6b |ditors need to k| 00003e50 6e 6f 77 20 69 66 20 74 68 65 0a 74 75 6e 65 20 |now if the.tune | 00003e60 63 75 72 72 65 6e 74 6c 79 20 70 6c 61 79 69 6e |currently playin| 00003e70 67 20 69 73 20 72 75 6e 6e 69 6e 67 20 66 72 6f |g is running fro| 00003e80 6d 20 6f 72 64 69 6e 61 72 79 20 52 4d 41 2c 20 |m ordinary RMA, | 00003e90 6f 72 20 74 68 65 20 70 6c 61 79 65 72 27 73 2f |or the player's/| 00003ea0 65 64 69 74 6f 72 27 73 0a 6f 77 6e 20 77 6f 72 |editor's.own wor| 00003eb0 6b 73 70 61 63 65 2e 0a 0a 0a 20 20 20 20 20 20 |kspace.... | 00003ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a 0a | ...| 00003ed0 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00003ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 |--------------.T| 00003f20 72 61 63 6b 65 72 5f 53 6f 75 6e 64 49 6e 66 6f |racker_SoundInfo| 00003f30 20 20 20 20 20 20 28 53 57 49 20 26 34 33 32 30 | (SWI &4320| 00003f40 42 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |B).-------------| 00003f50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003f90 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 52 30 20 |..On Entry: R0 | 00003fa0 3d 20 50 6f 69 6e 74 65 72 20 74 6f 20 77 6f 72 |= Pointer to wor| 00003fb0 64 2d 61 6c 69 67 6e 65 64 20 32 35 36 20 62 79 |d-aligned 256 by| 00003fc0 74 65 20 62 6c 6f 63 6b 20 74 6f 20 68 6f 6c 64 |te block to hold| 00003fd0 20 73 6f 75 6e 64 20 64 61 74 61 0a 0a 4f 6e 20 | sound data..On | 00003fe0 45 78 69 74 20 3a 20 20 52 30 20 70 72 65 73 65 |Exit : R0 prese| 00003ff0 72 76 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 |rved. | 00004000 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 69 | . i| 00004010 66 20 74 68 65 20 74 75 6e 65 20 69 73 20 70 61 |f the tune is pa| 00004020 75 73 65 64 2c 20 74 68 65 20 43 20 66 6c 61 67 |used, the C flag| 00004030 20 77 69 6c 6c 20 62 65 20 73 65 74 2c 20 6f 74 | will be set, ot| 00004040 68 65 72 77 69 73 65 20 74 68 65 20 43 0a 20 20 |herwise the C. | 00004050 20 20 20 20 20 20 20 20 20 66 6c 61 67 20 77 69 | flag wi| 00004060 6c 6c 20 62 65 20 63 6c 65 61 72 65 64 2e 0a 0a |ll be cleared...| 00004070 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 74 |If there is no t| 00004080 75 6e 65 20 6c 6f 61 64 65 64 20 61 6e 20 65 72 |une loaded an er| 00004090 72 6f 72 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 |ror will be gene| 000040a0 72 61 74 65 64 2e 0a 0a 54 68 69 73 20 63 61 6c |rated...This cal| 000040b0 6c 20 69 73 20 6f 6e 6c 79 20 70 72 6f 76 69 64 |l is only provid| 000040c0 65 64 20 66 6f 72 20 61 64 76 61 6e 63 65 64 20 |ed for advanced | 000040d0 75 73 65 73 20 6f 66 20 74 68 65 20 74 72 61 63 |uses of the trac| 000040e0 6b 65 72 6d 6f 64 75 6c 65 2c 20 61 6e 64 0a 69 |kermodule, and.i| 000040f0 6e 76 6f 6c 76 65 73 20 69 6e 66 6f 72 6d 61 74 |nvolves informat| 00004100 69 6f 6e 20 6f 66 20 61 20 68 69 67 68 6c 79 20 |ion of a highly | 00004110 74 65 63 68 6e 69 63 61 6c 20 6e 61 74 75 72 65 |technical nature| 00004120 2e 20 49 74 20 69 73 20 61 64 76 69 73 65 64 20 |. It is advised | 00004130 74 68 61 74 20 79 6f 75 0a 64 6f 20 6e 6f 74 20 |that you.do not | 00004140 75 73 65 20 74 68 69 73 20 63 61 6c 6c 20 69 66 |use this call if| 00004150 20 79 6f 75 20 63 61 6e 20 61 76 6f 69 64 20 69 | you can avoid i| 00004160 74 2e 0a 0a 54 68 65 20 63 61 6c 6c 20 77 69 6c |t...The call wil| 00004170 6c 20 74 72 61 6e 73 66 65 72 20 74 68 65 20 63 |l transfer the c| 00004180 75 72 72 65 6e 74 20 63 6f 6e 74 65 6e 74 73 20 |urrent contents | 00004190 6f 66 20 74 68 65 20 73 6f 75 6e 64 20 76 6f 69 |of the sound voi| 000041a0 63 65 20 69 6e 66 6f 20 74 61 62 6c 65 0a 74 6f |ce info table.to| 000041b0 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 70 6f | the location po| 000041c0 69 6e 74 65 64 20 74 6f 20 62 79 20 52 30 2e 20 |inted to by R0. | 000041d0 32 35 36 20 62 79 74 65 73 20 28 36 34 20 77 6f |256 bytes (64 wo| 000041e0 72 64 73 29 20 77 69 6c 6c 20 62 65 20 74 72 61 |rds) will be tra| 000041f0 6e 73 66 65 72 72 65 64 0a 69 6e 20 74 6f 74 61 |nsferred.in tota| 00004200 6c 20 28 38 20 77 6f 72 64 73 20 70 65 72 20 73 |l (8 words per s| 00004210 6f 75 6e 64 20 63 68 61 6e 6e 65 6c 29 2c 20 72 |ound channel), r| 00004220 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 |egardless of the| 00004230 20 6e 75 6d 62 65 72 20 6f 66 20 76 6f 69 63 65 | number of voice| 00004240 73 0a 61 63 74 75 61 6c 6c 79 20 61 63 74 69 76 |s.actually activ| 00004250 65 2e 0a 0a 57 68 65 6e 20 61 20 6e 6f 74 65 20 |e...When a note | 00004260 69 73 20 70 6c 61 79 65 64 20 61 6e 64 20 74 68 |is played and th| 00004270 65 6e 20 65 6e 64 73 2c 20 77 6f 72 64 20 36 20 |en ends, word 6 | 00004280 6f 66 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 |of the appropria| 00004290 74 65 20 63 68 61 6e 6e 65 6c 20 69 73 0a 7a 65 |te channel is.ze| 000042a0 72 6f 65 64 2e 20 54 68 65 20 73 6f 75 6e 64 20 |roed. The sound | 000042b0 72 6f 75 74 69 6e 65 73 20 77 69 6c 6c 20 6f 6e |routines will on| 000042c0 6c 79 20 74 72 79 20 61 6e 64 20 70 6c 61 79 20 |ly try and play | 000042d0 74 68 65 20 73 61 6d 70 6c 65 20 69 66 20 74 68 |the sample if th| 000042e0 69 73 20 77 6f 72 64 20 69 73 0a 6e 6f 6e 2d 7a |is word is.non-z| 000042f0 65 72 6f 2e 0a 0a 57 68 65 6e 20 61 20 74 75 6e |ero...When a tun| 00004300 65 20 69 73 20 70 61 75 73 65 64 2c 20 74 68 65 |e is paused, the| 00004310 20 62 6c 6f 63 6b 20 69 73 20 73 61 76 65 64 20 | block is saved | 00004320 61 6e 64 20 6f 76 65 72 77 72 69 74 74 65 6e 20 |and overwritten | 00004330 77 69 74 68 20 7a 65 72 6f 73 2e 20 57 68 65 6e |with zeros. When| 00004340 0a 74 68 65 20 74 75 6e 65 20 69 73 20 72 65 73 |.the tune is res| 00004350 74 61 72 74 65 64 2c 20 74 68 65 20 6f 6c 64 20 |tarted, the old | 00004360 63 6f 6e 74 65 6e 74 73 20 61 72 65 20 72 65 73 |contents are res| 00004370 74 6f 72 65 64 2c 20 73 6f 20 74 68 61 74 20 74 |tored, so that t| 00004380 68 65 20 73 61 6d 70 6c 65 73 0a 77 69 6c 6c 20 |he samples.will | 00004390 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 6c 61 79 |continue to play| 000043a0 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 70 | from the same p| 000043b0 6f 69 6e 74 2e 0a 0a 20 54 68 65 20 66 6f 72 6d |oint... The form| 000043c0 61 74 20 6f 66 20 74 68 65 20 74 61 62 6c 65 20 |at of the table | 000043d0 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 2d 0a |is as follows:-.| 000043e0 0a 57 6f 72 64 20 20 4f 66 66 73 65 74 20 20 20 |.Word Offset | 000043f0 20 20 20 20 53 6f 75 6e 64 20 63 68 61 6e 6e 65 | Sound channe| 00004400 6c 20 31 2e 2e 2e 0a 30 20 20 20 20 20 2b 30 20 |l 1....0 +0 | 00004410 20 20 20 20 20 54 68 65 20 63 75 72 72 65 6e 74 | The current| 00004420 20 70 69 74 63 68 20 61 63 63 75 6d 75 6c 61 74 | pitch accumulat| 00004430 6f 72 2e 20 28 73 68 69 66 74 20 72 69 67 68 74 |or. (shift right| 00004440 20 31 36 20 62 69 74 73 20 74 6f 20 67 65 74 20 | 16 bits to get | 00004450 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |the. | 00004460 20 20 61 63 74 75 61 6c 20 62 79 74 65 20 6f 66 | actual byte of| 00004470 66 73 65 74 20 69 6e 74 6f 20 74 68 65 20 73 61 |fset into the sa| 00004480 6d 70 6c 65 20 62 65 69 6e 67 20 70 6c 61 79 65 |mple being playe| 00004490 64 29 2e 0a 0a 31 20 20 20 20 20 2b 34 20 20 20 |d)...1 +4 | 000044a0 20 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 70 | The current p| 000044b0 69 74 63 68 20 69 6e 63 72 65 6d 65 6e 74 20 28 |itch increment (| 000044c0 61 64 64 65 64 20 74 6f 20 61 63 63 75 6d 75 6c |added to accumul| 000044d0 61 74 6f 72 20 61 66 74 65 72 20 65 76 65 72 79 |ator after every| 000044e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 |. b| 000044f0 79 74 65 20 66 69 6c 6c 65 64 29 2e 20 54 68 69 |yte filled). Thi| 00004500 73 20 69 73 20 6f 62 74 61 69 6e 65 64 20 75 73 |s is obtained us| 00004510 69 6e 67 20 69 6e 74 65 72 6e 61 6c 20 74 61 62 |ing internal tab| 00004520 6c 65 73 20 67 69 76 65 6e 20 74 68 65 0a 20 20 |les given the. | 00004530 20 20 20 20 20 20 20 20 20 20 20 20 73 61 6d 70 | samp| 00004540 6c 65 20 70 65 72 69 6f 64 20 28 77 6f 72 64 20 |le period (word | 00004550 37 29 0a 0a 32 20 20 20 20 20 2b 38 20 20 20 20 |7)..2 +8 | 00004560 20 20 54 68 65 20 73 61 6d 70 6c 65 20 6c 6f 6f | The sample loo| 00004570 70 20 6f 66 66 73 65 74 20 28 67 69 76 65 6e 20 |p offset (given | 00004580 69 6e 20 62 79 74 65 73 29 2e 20 57 68 65 6e 20 |in bytes). When | 00004590 74 68 65 20 72 6f 75 74 69 6e 65 0a 20 20 20 20 |the routine. | 000045a0 20 20 20 20 20 20 20 20 20 20 72 65 61 63 68 65 | reache| 000045b0 73 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 73 |s the end of a s| 000045c0 61 6d 70 6c 65 20 6f 72 20 74 68 65 20 73 61 6d |ample or the sam| 000045d0 70 6c 65 20 6c 65 6e 67 74 68 2c 20 74 68 65 20 |ple length, the | 000045e0 61 63 63 75 6d 75 6c 2d 0a 20 20 20 20 20 20 20 |accumul-. | 000045f0 20 20 20 20 20 20 20 61 74 6f 72 20 69 73 20 6c | ator is l| 00004600 6f 61 64 65 64 20 77 69 74 68 20 74 68 69 73 20 |oaded with this | 00004610 76 61 6c 75 65 20 73 68 69 66 74 65 64 20 6c 65 |value shifted le| 00004620 66 74 20 31 36 20 62 69 74 73 20 28 69 65 2e 20 |ft 16 bits (ie. | 00004630 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |to. | 00004640 20 67 69 76 65 20 61 20 62 79 74 65 20 6f 66 66 | give a byte off| 00004650 73 65 74 29 2e 20 49 66 20 74 68 69 73 20 69 73 |set). If this is| 00004660 20 61 20 7a 65 72 6f 20 76 61 6c 75 65 2c 20 74 | a zero value, t| 00004670 68 65 20 73 61 6d 70 6c 65 20 77 69 6c 6c 0a 20 |he sample will. | 00004680 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f | sto| 00004690 70 20 69 6e 73 74 65 61 64 20 6f 66 20 6c 6f 6f |p instead of loo| 000046a0 70 69 6e 67 2e 0a 0a 33 20 20 20 20 20 2b 31 32 |ping...3 +12| 000046b0 20 20 20 20 20 54 68 65 20 73 61 6d 70 6c 65 20 | The sample | 000046c0 6c 65 6e 67 74 68 20 2f 20 72 65 70 65 61 74 20 |length / repeat | 000046d0 6c 65 6e 67 74 68 20 28 69 6e 20 62 79 74 65 73 |length (in bytes| 000046e0 29 2e 20 54 68 65 20 72 6f 75 74 69 6e 65 0a 20 |). The routine. | 000046f0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 65 | che| 00004700 63 6b 73 20 65 76 65 72 79 20 34 20 62 79 74 65 |cks every 4 byte| 00004710 73 20 66 69 6c 6c 65 64 20 74 6f 20 73 65 65 20 |s filled to see | 00004720 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 |if the current a| 00004730 63 63 75 6d 75 6c 61 74 6f 72 0a 20 20 20 20 20 |ccumulator. | 00004740 20 20 20 20 20 20 20 20 20 65 78 63 65 65 64 73 | exceeds| 00004750 20 74 68 69 73 20 76 61 6c 75 65 20 77 68 65 6e | this value when| 00004760 20 73 68 69 66 74 65 64 20 72 69 67 68 74 20 31 | shifted right 1| 00004770 36 20 62 69 74 73 2e 20 28 53 65 65 20 61 62 6f |6 bits. (See abo| 00004780 76 65 29 0a 0a 34 20 20 20 20 20 2b 31 36 20 20 |ve)..4 +16 | 00004790 20 20 20 54 68 65 20 73 61 6d 70 6c 65 20 6e 75 | The sample nu| 000047a0 6d 62 65 72 20 28 31 2d 33 36 29 2e 0a 0a 35 20 |mber (1-36)...5 | 000047b0 20 20 20 20 2b 32 30 20 20 20 20 20 54 68 65 20 | +20 The | 000047c0 63 75 72 72 65 6e 74 20 76 6f 6c 75 6d 65 20 28 |current volume (| 000047d0 30 2d 32 35 35 29 2e 20 54 68 69 73 20 76 61 6c |0-255). This val| 000047e0 75 65 20 69 73 20 73 75 62 74 72 61 63 74 65 64 |ue is subtracted| 000047f0 20 66 72 6f 6d 20 65 76 65 72 79 0a 20 20 20 20 | from every. | 00004800 20 20 20 20 20 20 20 20 20 20 62 79 74 65 20 66 | byte f| 00004810 69 6c 6c 65 64 2c 20 74 68 65 72 65 66 6f 72 65 |illed, therefore| 00004820 20 30 20 3d 20 6d 61 78 69 6d 75 6d 20 76 6f 6c | 0 = maximum vol| 00004830 75 6d 65 20 61 6e 64 20 32 35 35 20 3d 20 73 69 |ume and 255 = si| 00004840 6c 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 |lent.. | 00004850 20 20 20 20 4e 42 20 54 68 69 73 20 69 73 20 74 | NB This is t| 00004860 68 65 20 72 65 76 65 72 73 65 20 6f 66 20 74 68 |he reverse of th| 00004870 65 20 6e 6f 72 6d 61 6c 20 76 6f 6c 75 6d 65 20 |e normal volume | 00004880 63 6f 6d 6d 61 6e 64 2e 0a 0a 36 20 20 20 20 20 |command...6 | 00004890 2b 32 34 20 20 20 20 20 54 68 69 73 20 69 73 20 |+24 This is | 000048a0 74 68 65 20 74 72 61 63 6b 65 72 20 66 6f 72 6d |the tracker form| 000048b0 61 74 20 6e 6f 74 65 20 6e 75 6d 62 65 72 20 6f |at note number o| 000048c0 66 20 74 68 65 20 73 61 6d 70 6c 65 20 62 65 69 |f the sample bei| 000048d0 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |ng. | 000048e0 20 70 6c 61 79 65 64 20 28 31 2d 33 36 2c 20 31 | played (1-36, 1| 000048f0 3d 43 20 6f 63 74 61 76 65 20 31 20 33 36 3d 42 |=C octave 1 36=B| 00004900 20 6f 63 74 61 76 65 20 33 29 2e 20 54 68 65 20 | octave 3). The | 00004910 61 72 70 65 67 67 69 6f 20 63 6f 6d 6d 61 6e 64 |arpeggio command| 00004920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d |. m| 00004930 61 6b 65 73 20 75 73 65 20 6f 66 20 74 68 69 73 |akes use of this| 00004940 20 77 6f 72 64 2e 20 49 66 20 74 68 69 73 20 77 | word. If this w| 00004950 6f 72 64 20 69 73 20 7a 65 72 6f 2c 20 6e 6f 20 |ord is zero, no | 00004960 73 6f 75 6e 64 20 77 69 6c 6c 20 62 65 0a 20 20 |sound will be. | 00004970 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 79 | play| 00004980 65 64 2e 0a 0a 37 20 20 20 20 20 2b 32 38 20 20 |ed...7 +28 | 00004990 20 20 20 54 68 69 73 20 69 73 20 61 20 63 6f 70 | This is a cop| 000049a0 79 20 6f 66 20 74 68 65 20 73 61 6d 70 6c 65 20 |y of the sample | 000049b0 70 65 72 69 6f 64 20 28 66 72 6f 6d 20 77 68 69 |period (from whi| 000049c0 63 68 20 74 68 65 20 70 69 74 63 68 0a 20 20 20 |ch the pitch. | 000049d0 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 72 65 | incre| 000049e0 6d 65 6e 74 20 76 61 6c 75 65 20 69 73 20 63 61 |ment value is ca| 000049f0 6c 63 75 6c 61 74 65 64 29 2c 20 61 6e 64 20 69 |lculated), and i| 00004a00 73 20 75 73 65 64 20 62 79 20 74 68 65 20 70 6f |s used by the po| 00004a10 72 74 61 6d 65 6e 74 6f 0a 20 20 20 20 20 20 20 |rtamento. | 00004a20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 73 2e | commands.| 00004a30 20 54 68 65 20 72 61 6e 67 65 20 6f 66 20 74 68 | The range of th| 00004a40 65 20 73 61 6d 70 6c 65 20 70 65 72 69 6f 64 20 |e sample period | 00004a50 69 73 20 66 72 6f 6d 20 31 20 74 6f 20 68 65 78 |is from 1 to hex| 00004a60 20 26 34 30 30 0a 20 20 20 20 20 20 20 20 20 20 | &400. | 00004a70 20 20 20 20 28 61 6c 74 68 6f 75 67 68 20 74 68 | (although th| 00004a80 65 20 70 6f 72 74 61 6d 65 6e 74 6f 20 63 6f 6d |e portamento com| 00004a90 6d 61 6e 64 73 20 68 61 76 65 20 73 6d 61 6c 6c |mands have small| 00004aa0 65 72 20 6c 69 6d 69 74 73 20 69 6e 0a 20 20 20 |er limits in. | 00004ab0 20 20 20 20 20 20 20 20 20 20 20 70 72 61 63 74 | pract| 00004ac0 69 63 65 29 2e 0a 0a 38 20 20 20 20 20 2b 33 32 |ice)...8 +32| 00004ad0 20 20 20 20 20 57 6f 72 64 20 30 20 6f 66 20 73 | Word 0 of s| 00004ae0 6f 75 6e 64 20 63 68 61 6e 6e 65 6c 20 32 2e 2e |ound channel 2..| 00004af0 2e 0a 0a 39 20 20 20 20 20 2b 33 36 20 20 20 20 |...9 +36 | 00004b00 20 57 6f 72 64 20 31 20 6f 66 20 73 6f 75 6e 64 | Word 1 of sound| 00004b10 20 63 68 61 6e 6e 65 6c 20 32 2e 2e 2e 20 20 65 | channel 2... e| 00004b20 74 63 2e 20 0a 20 20 20 20 20 0a 20 20 20 20 2d |tc. . . -| 00004b30 3e 20 77 6f 72 64 20 38 20 6f 66 20 73 6f 75 6e |> word 8 of soun| 00004b40 64 20 63 68 61 6e 6e 65 6c 20 38 0a 0a 0a 0a 0a |d channel 8.....| 00004b50 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00004b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004b90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 |--------------.T| 00004ba0 72 61 63 6b 65 72 5f 52 65 61 64 53 61 6d 70 6c |racker_ReadSampl| 00004bb0 65 54 61 62 6c 65 20 20 20 28 53 57 49 20 26 34 |eTable (SWI &4| 00004bc0 33 32 30 43 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |320C).----------| 00004bd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004c10 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 |---..On Entry: | 00004c20 52 30 20 3d 20 53 61 6d 70 6c 65 20 6e 75 6d 62 |R0 = Sample numb| 00004c30 65 72 20 28 31 2d 33 36 29 0a 0a 4f 6e 20 45 78 |er (1-36)..On Ex| 00004c40 69 74 20 3a 20 20 52 30 20 70 72 65 73 65 72 76 |it : R0 preserv| 00004c50 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 52 31 |ed. R1| 00004c60 20 3d 20 50 6f 69 6e 74 65 72 20 74 6f 20 73 61 | = Pointer to sa| 00004c70 6d 70 6c 65 20 6e 61 6d 65 20 28 30 2d 74 65 72 |mple name (0-ter| 00004c80 6d 69 6e 61 74 65 64 2c 20 6d 61 78 20 6c 65 6e |minated, max len| 00004c90 67 74 68 20 32 32 20 63 68 61 72 73 29 20 0a 20 |gth 22 chars) . | 00004ca0 20 20 20 20 20 20 20 20 20 20 52 32 20 3d 20 53 | R2 = S| 00004cb0 61 6d 70 6c 65 20 76 6f 6c 75 6d 65 20 28 30 2d |ample volume (0-| 00004cc0 32 35 35 2c 20 32 35 35 3d 6d 61 78 69 6d 75 6d |255, 255=maximum| 00004cd0 20 76 6f 6c 75 6d 65 2c 20 30 3d 73 69 6c 65 6e | volume, 0=silen| 00004ce0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |t). | 00004cf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004d00 20 28 6f 72 20 30 2d 36 34 20 5b 73 6f 75 6e 64 | (or 0-64 [sound| 00004d10 74 72 61 63 6b 65 72 5d 2c 20 36 34 3d 6d 61 78 |tracker], 64=max| 00004d20 20 76 6f 6c 2e 29 20 0a 20 20 20 20 20 20 20 20 | vol.) . | 00004d30 20 20 20 52 33 20 3d 20 53 61 6d 70 6c 65 20 6c | R3 = Sample l| 00004d40 65 6e 67 74 68 20 28 62 79 74 65 73 29 0a 20 20 |ength (bytes). | 00004d50 20 20 20 20 20 20 20 20 20 52 34 20 3d 20 52 65 | R4 = Re| 00004d60 70 65 61 74 20 6f 66 66 73 65 74 20 28 62 79 74 |peat offset (byt| 00004d70 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 52 |es). R| 00004d80 35 20 3d 20 52 65 70 65 61 74 20 6c 65 6e 67 74 |5 = Repeat lengt| 00004d90 68 20 28 62 79 74 65 73 29 0a 20 20 20 20 20 20 |h (bytes). | 00004da0 20 20 20 20 20 52 36 20 3d 20 41 64 64 72 65 73 | R6 = Addres| 00004db0 73 20 6f 66 20 72 61 77 20 73 61 6d 70 6c 65 20 |s of raw sample | 00004dc0 64 61 74 61 0a 0a 54 68 69 73 20 63 61 6c 6c 20 |data..This call | 00004dd0 72 65 74 75 72 6e 73 20 61 6c 6c 20 72 65 6c 65 |returns all rele| 00004de0 76 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e |vant information| 00004df0 20 61 62 6f 75 74 20 74 68 65 20 73 70 65 63 69 | about the speci| 00004e00 66 69 65 64 20 73 61 6d 70 6c 65 2e 20 0a 0a 49 |fied sample. ..I| 00004e10 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 74 75 |f there is no tu| 00004e20 6e 65 20 6c 6f 61 64 65 64 2c 20 61 6e 20 65 72 |ne loaded, an er| 00004e30 72 6f 72 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 |ror will be gene| 00004e40 72 61 74 65 64 2e 0a 0a 49 66 20 74 68 65 20 73 |rated...If the s| 00004e50 61 6d 70 6c 65 20 6e 75 6d 62 65 72 20 69 73 20 |ample number is | 00004e60 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 28 66 6f |out of range (fo| 00004e70 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 72 65 |r example, if re| 00004e80 61 64 69 6e 67 20 73 61 6d 70 6c 65 20 31 36 20 |ading sample 16 | 00004e90 6f 6e 20 61 0a 31 35 2d 69 6e 73 74 72 75 6d 65 |on a.15-instrume| 00004ea0 6e 74 20 6d 6f 64 75 6c 65 29 2c 20 52 31 20 61 |nt module), R1 a| 00004eb0 6e 64 20 52 36 20 77 69 6c 6c 20 70 6f 69 6e 74 |nd R6 will point| 00004ec0 20 74 6f 20 61 20 7a 65 72 6f 2c 20 61 6e 64 20 | to a zero, and | 00004ed0 52 32 2d 52 35 20 77 69 6c 6c 20 63 6f 6e 74 61 |R2-R5 will conta| 00004ee0 69 6e 0a 61 20 7a 65 72 6f 2e 0a 0a 20 20 20 20 |in.a zero... | 00004ef0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00004f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a | ..| 00004f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 |-------------.Tr| 00004f70 61 63 6b 65 72 5f 57 72 69 74 65 53 61 6d 70 6c |acker_WriteSampl| 00004f80 65 54 61 62 6c 65 20 20 28 53 57 49 20 26 34 33 |eTable (SWI &43| 00004f90 32 31 33 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |213).-----------| 00004fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004fe0 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 52 |--..On Entry: R| 00004ff0 30 20 3d 20 53 61 6d 70 6c 65 20 6e 75 6d 62 65 |0 = Sample numbe| 00005000 72 20 28 31 2d 33 36 29 0a 20 20 20 20 20 20 20 |r (1-36). | 00005010 20 20 20 20 52 31 20 3d 20 4e 65 77 20 73 61 6d | R1 = New sam| 00005020 70 6c 65 20 76 6f 6c 75 6d 65 20 28 30 2d 32 35 |ple volume (0-25| 00005030 35 2f 30 2d 36 34 29 20 6f 72 20 2d 31 20 74 6f |5/0-64) or -1 to| 00005040 20 6c 65 61 76 65 20 75 6e 63 68 61 6e 67 65 64 | leave unchanged| 00005050 2e 0a 20 20 20 20 20 20 20 20 20 20 20 52 32 20 |.. R2 | 00005060 3d 20 52 65 70 65 61 74 20 6f 66 66 73 65 74 20 |= Repeat offset | 00005070 28 62 79 74 65 73 29 20 6f 72 20 2d 31 20 74 6f |(bytes) or -1 to| 00005080 20 6c 65 61 76 65 20 75 6e 63 68 61 6e 67 65 64 | leave unchanged| 00005090 2e 0a 20 20 20 20 20 20 20 20 20 20 20 52 33 20 |.. R3 | 000050a0 3d 20 52 65 70 65 61 74 20 6c 65 6e 67 74 68 20 |= Repeat length | 000050b0 28 62 79 74 65 73 29 20 6f 72 20 2d 31 20 74 6f |(bytes) or -1 to| 000050c0 20 6c 65 61 76 65 20 75 6e 63 68 61 6e 67 65 64 | leave unchanged| 000050d0 2e 0a 0a 20 59 6f 75 20 73 68 6f 75 6c 64 20 75 |... You should u| 000050e0 73 65 20 74 68 69 73 20 53 57 49 20 69 66 20 79 |se this SWI if y| 000050f0 6f 75 20 77 69 73 68 20 74 6f 20 61 6c 74 65 72 |ou wish to alter| 00005100 20 74 68 65 20 73 61 6d 70 6c 65 20 64 61 74 61 | the sample data| 00005110 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 | without needing| 00005120 0a 74 6f 20 6b 6e 6f 77 20 74 68 65 20 72 65 6c |.to know the rel| 00005130 65 76 61 6e 74 20 6d 6f 64 75 6c 65 20 66 6f 72 |evant module for| 00005140 6d 61 74 2e 20 53 61 6d 70 6c 65 20 6c 65 6e 67 |mat. Sample leng| 00005150 74 68 20 69 73 20 6e 6f 74 20 61 6c 74 65 72 61 |th is not altera| 00005160 62 6c 65 2c 20 62 65 63 61 75 73 65 0a 74 68 65 |ble, because.the| 00005170 20 6f 63 63 61 73 69 6f 6e 73 20 77 68 65 6e 20 | occasions when | 00005180 74 68 69 73 20 69 73 20 6e 65 63 65 73 73 61 72 |this is necessar| 00005190 79 20 28 65 67 2e 20 6c 6f 61 64 69 6e 67 20 6e |y (eg. loading n| 000051a0 65 77 20 73 61 6d 70 6c 65 20 69 6e 29 20 6e 65 |ew sample in) ne| 000051b0 65 64 0a 64 69 72 65 63 74 20 6d 61 6e 69 70 75 |ed.direct manipu| 000051c0 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f |lation of the mo| 000051d0 64 75 6c 65 20 69 6e 20 6d 65 6d 6f 72 79 20 61 |dule in memory a| 000051e0 6e 79 77 61 79 2c 20 61 6e 64 20 70 72 6f 62 6c |nyway, and probl| 000051f0 65 6d 73 20 6f 63 63 75 72 20 77 68 65 6e 0a 74 |ems occur when.t| 00005200 68 65 20 73 61 6d 70 6c 65 20 6c 65 6e 67 74 68 |he sample length| 00005210 20 69 73 20 73 65 74 20 61 62 6f 76 65 20 74 68 | is set above th| 00005220 65 20 61 63 74 75 61 6c 20 6c 65 6e 67 74 68 2e |e actual length.| 00005230 0a 20 56 65 72 73 69 6f 6e 73 20 62 65 74 77 65 |. Versions betwe| 00005240 65 6e 20 33 2e 30 30 20 61 6e 64 20 34 2e 30 35 |en 3.00 and 4.05| 00005250 20 63 6f 70 69 65 64 20 74 68 65 20 73 61 6d 70 | copied the samp| 00005260 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 |le information i| 00005270 6e 74 6f 20 61 20 6d 6f 72 65 0a 63 6f 6e 76 65 |nto a more.conve| 00005280 6e 69 65 6e 74 20 66 6f 72 6d 61 74 20 77 68 65 |nient format whe| 00005290 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 77 61 73 |n the module was| 000052a0 20 69 6e 69 74 69 61 6c 69 73 65 64 2c 20 61 6e | initialised, an| 000052b0 64 20 73 6f 20 61 6c 74 65 72 69 6e 67 20 74 68 |d so altering th| 000052c0 65 20 64 61 74 61 0a 64 69 72 65 63 74 6c 79 20 |e data.directly | 000052d0 77 6f 75 6c 64 20 68 61 76 65 20 68 61 64 20 6e |would have had n| 000052e0 6f 20 65 66 66 65 63 74 20 28 63 61 75 73 69 6e |o effect (causin| 000052f0 67 20 70 72 6f 62 6c 65 6d 73 20 66 6f 72 20 65 |g problems for e| 00005300 64 69 74 6f 72 73 20 77 68 69 63 68 20 6e 65 65 |ditors which nee| 00005310 64 65 64 0a 74 6f 20 64 6f 20 74 68 69 73 2e 2e |ded.to do this..| 00005320 29 2e 0a 20 53 68 6f 75 6c 64 20 79 6f 75 20 77 |).. Should you w| 00005330 69 73 68 20 74 6f 20 61 6c 74 65 72 20 61 6e 79 |ish to alter any| 00005340 20 6f 74 68 65 72 20 61 73 70 65 63 74 20 6f 66 | other aspect of| 00005350 20 74 68 65 20 6d 6f 64 75 6c 65 20 64 69 72 65 | the module dire| 00005360 63 74 6c 79 20 77 68 69 63 68 20 6d 69 67 68 74 |ctly which might| 00005370 0a 61 66 66 65 63 74 20 74 68 65 20 70 6c 61 79 |.affect the play| 00005380 72 6f 75 74 69 6e 65 20 28 69 65 2e 20 6e 75 6d |routine (ie. num| 00005390 62 65 72 20 6f 66 20 76 6f 69 63 65 73 29 2c 20 |ber of voices), | 000053a0 79 6f 75 20 73 68 6f 75 6c 64 20 63 61 6c 6c 0a |you should call.| 000053b0 27 54 72 61 63 6b 65 72 5f 55 70 64 61 74 65 44 |'Tracker_UpdateD| 000053c0 61 74 61 27 20 28 73 65 65 20 62 65 6c 6f 77 2e |ata' (see below.| 000053d0 2e 29 2e 0a 0a 20 41 6e 20 65 72 72 6f 72 20 69 |.)... An error i| 000053e0 73 20 67 65 6e 65 72 61 74 65 64 20 69 66 3a 0a |s generated if:.| 000053f0 2a 20 4e 6f 20 6d 6f 64 75 6c 65 20 69 73 20 6c |* No module is l| 00005400 6f 61 64 65 64 0a 2a 20 54 68 65 20 73 61 6d 70 |oaded.* The samp| 00005410 6c 65 20 6e 75 6d 62 65 72 20 74 6f 20 63 68 61 |le number to cha| 00005420 6e 67 65 20 65 78 63 65 65 64 73 20 74 68 65 20 |nge exceeds the | 00005430 6d 61 78 2e 20 6f 66 20 74 68 65 20 66 6f 72 6d |max. of the form| 00005440 61 74 20 28 69 65 2e 20 31 35 2f 33 31 2f 33 36 |at (ie. 15/31/36| 00005450 29 0a 2a 20 54 68 65 20 72 65 6c 65 76 61 6e 74 |).* The relevant| 00005460 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 | information is | 00005470 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 28 69 65 |out of range (ie| 00005480 2e 20 76 6f 6c 20 3e 20 5b 36 34 20 6f 72 20 32 |. vol > [64 or 2| 00005490 35 35 5d 29 0a 2a 20 41 20 63 6f 6d 62 69 6e 61 |55]).* A combina| 000054a0 74 69 6f 6e 20 6f 66 20 72 65 70 65 61 74 20 6f |tion of repeat o| 000054b0 66 66 73 65 74 20 61 6e 64 20 72 65 70 65 61 74 |ffset and repeat| 000054c0 20 6c 65 6e 67 74 68 20 77 6f 75 6c 64 20 63 61 | length would ca| 000054d0 75 73 65 20 74 68 65 20 70 6c 61 79 65 72 0a 20 |use the player. | 000054e0 20 20 20 20 74 6f 20 6c 6f 6f 70 20 6f 75 74 73 | to loop outs| 000054f0 69 64 65 20 74 68 65 20 73 61 6d 70 6c 65 20 6c |ide the sample l| 00005500 69 6d 69 74 2e 0a 0a 20 54 68 69 73 20 53 57 49 |imit... This SWI| 00005510 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 | is part of the | 00005520 6c 6f 63 6b 69 6e 67 20 73 79 73 74 65 6d 2e 0a |locking system..| 00005530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00005550 20 20 20 20 20 20 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d | ...-------| 00005560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000055a0 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b 65 72 5f 4c |------.Tracker_L| 000055b0 6f 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 |ock | 000055c0 20 28 53 57 49 20 26 34 33 32 30 44 29 0a 2d 2d | (SWI &4320D).--| 000055d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005610 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 |-----------..On | 00005620 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 6c 6f 63 |Entry: R0 = loc| 00005630 6b 69 6e 67 20 63 6f 64 65 20 28 70 61 73 73 65 |king code (passe| 00005640 64 20 69 6e 20 52 34 20 74 6f 20 53 57 49 27 73 |d in R4 to SWI's| 00005650 29 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 2d 20 |)..On Exit : - | 00005660 20 20 20 20 0a 0a 0a 20 54 68 69 73 20 53 57 49 | ... This SWI| 00005670 20 61 6e 64 20 74 68 65 20 63 6f 72 72 65 73 70 | and the corresp| 00005680 6f 6e 64 69 6e 67 20 54 72 61 63 6b 65 72 5f 55 |onding Tracker_U| 00005690 6e 6c 6f 63 6b 20 53 57 49 20 61 72 65 20 70 72 |nlock SWI are pr| 000056a0 6f 76 69 64 65 64 20 74 6f 0a 70 72 65 76 65 6e |ovided to.preven| 000056b0 74 20 75 73 65 72 20 69 6e 74 65 72 76 65 6e 74 |t user intervent| 000056c0 69 6f 6e 20 77 69 74 68 20 61 6e 79 20 6f 66 20 |ion with any of | 000056d0 74 68 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 |the features of | 000056e0 74 68 65 20 6d 6f 64 75 6c 65 20 77 68 65 6e 20 |the module when | 000056f0 74 68 69 73 0a 77 6f 75 6c 64 20 62 65 20 75 6e |this.would be un| 00005700 64 65 73 69 72 61 62 6c 65 20 66 6f 72 20 61 6e |desirable for an| 00005710 79 20 6d 75 6c 74 69 2d 74 61 73 6b 69 6e 67 20 |y multi-tasking | 00005720 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 75 73 69 |applications usi| 00005730 6e 67 20 74 68 65 20 6d 6f 64 75 6c 65 20 0a 28 |ng the module .(| 00005740 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 73 73 75 |for example issu| 00005750 69 6e 67 20 61 20 2a 50 6c 61 79 53 74 6f 70 20 |ing a *PlayStop | 00005760 63 6f 6d 6d 61 6e 64 29 2e 20 42 79 20 63 61 6c |command). By cal| 00005770 6c 69 6e 67 20 74 68 69 73 20 53 57 49 2c 20 61 |ling this SWI, a| 00005780 6e 20 61 70 70 6c 69 63 2d 0a 61 74 69 6f 6e 20 |n applic-.ation | 00005790 63 61 6e 20 67 61 69 6e 20 63 6f 6d 70 6c 65 74 |can gain complet| 000057a0 65 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 68 65 |e control of the| 000057b0 20 6d 6f 64 75 6c 65 2c 20 62 75 74 20 61 73 20 | module, but as | 000057c0 61 20 72 65 73 75 6c 74 2c 20 74 68 69 73 20 66 |a result, this f| 000057d0 65 61 74 75 72 65 0a 6d 75 73 74 20 62 65 20 75 |eature.must be u| 000057e0 73 65 64 20 63 61 72 65 66 75 6c 6c 79 2c 20 62 |sed carefully, b| 000057f0 65 63 61 75 73 65 20 74 68 65 20 6d 6f 64 75 6c |ecause the modul| 00005800 65 20 63 61 6e 6e 6f 74 20 74 68 65 6e 20 62 65 |e cannot then be| 00005810 20 75 6e 6c 6f 63 6b 65 64 20 75 6e 6c 65 73 73 | unlocked unless| 00005820 0a 74 68 65 20 63 6f 64 65 20 73 70 65 63 69 66 |.the code specif| 00005830 69 65 64 20 69 6e 20 74 68 65 20 6c 6f 63 6b 20 |ied in the lock | 00005840 53 57 49 20 69 73 20 6b 6e 6f 77 6e 20 28 61 6e |SWI is known (an| 00005850 64 20 69 66 20 6e 6f 74 2c 20 74 68 65 20 6d 6f |d if not, the mo| 00005860 64 75 6c 65 20 6d 75 73 74 20 62 65 0a 72 65 2d |dule must be.re-| 00005870 69 6e 69 74 69 61 6c 69 73 65 64 29 2e 0a 20 57 |initialised).. W| 00005880 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 |hen the module i| 00005890 73 20 6c 6f 63 6b 65 64 2c 20 63 61 6c 6c 69 6e |s locked, callin| 000058a0 67 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 73 20 6f |g any commands o| 000058b0 72 20 53 57 49 27 73 20 77 68 69 63 68 20 61 6c |r SWI's which al| 000058c0 74 65 72 0a 61 6e 79 74 68 69 6e 67 20 28 73 75 |ter.anything (su| 000058d0 63 68 20 61 73 20 63 68 61 6e 67 69 6e 67 20 74 |ch as changing t| 000058e0 68 65 20 63 75 72 72 65 6e 74 20 70 6c 61 79 20 |he current play | 000058f0 70 6f 73 69 74 69 6f 6e 2c 20 6c 6f 61 64 69 6e |position, loadin| 00005900 67 20 6f 72 20 6b 69 6c 6c 69 6e 67 0a 74 75 6e |g or killing.tun| 00005910 65 73 2c 20 70 6c 61 79 69 6e 67 20 6e 6f 74 65 |es, playing note| 00005920 73 29 20 77 69 6c 6c 20 63 61 75 73 65 20 61 6e |s) will cause an| 00005930 20 65 72 72 6f 72 2c 20 62 75 74 20 53 57 49 27 | error, but SWI'| 00005940 73 20 72 65 74 75 72 6e 69 6e 67 20 69 6e 66 6f |s returning info| 00005950 72 6d 61 74 69 6f 6e 0a 77 69 6c 6c 20 66 75 6e |rmation.will fun| 00005960 63 74 69 6f 6e 20 61 73 20 6e 6f 72 6d 61 6c 2e |ction as normal.| 00005970 20 46 6f 72 20 74 68 65 20 61 70 70 6c 69 63 61 | For the applica| 00005980 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 72 65 |tion which is re| 00005990 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 74 68 |sponsible for th| 000059a0 65 0a 6c 6f 63 6b 69 6e 67 20 74 6f 20 62 65 20 |e.locking to be | 000059b0 61 62 6c 65 20 74 6f 20 75 73 65 20 74 68 65 20 |able to use the | 000059c0 61 66 66 65 63 74 65 64 20 53 57 49 27 73 2c 20 |affected SWI's, | 000059d0 52 34 20 6d 75 73 74 20 62 65 20 73 65 74 20 74 |R4 must be set t| 000059e0 6f 20 74 68 65 20 6c 6f 63 6b 69 6e 67 0a 63 6f |o the locking.co| 000059f0 64 65 20 28 70 61 73 73 65 64 20 69 6e 20 52 30 |de (passed in R0| 00005a00 29 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 66 20 |) before any of | 00005a10 74 68 65 20 61 66 66 65 63 74 65 64 20 53 57 49 |the affected SWI| 00005a20 27 73 20 69 73 20 63 61 6c 6c 65 64 20 28 6e 6f |'s is called (no| 00005a30 20 63 6f 6d 6d 61 6e 64 73 0a 77 69 6c 6c 20 77 | commands.will w| 00005a40 6f 72 6b 20 65 76 65 6e 20 69 66 20 74 68 65 20 |ork even if the | 00005a50 6c 6f 63 6b 69 6e 67 20 63 6f 64 65 20 69 73 20 |locking code is | 00005a60 6b 6e 6f 77 6e 29 2e 0a 20 49 66 20 74 68 65 20 |known).. If the | 00005a70 74 72 61 63 6b 65 72 6d 6f 64 75 6c 65 20 69 73 |trackermodule is| 00005a80 20 61 6c 72 65 61 64 79 20 27 6c 6f 63 6b 65 64 | already 'locked| 00005a90 27 20 77 68 65 6e 20 74 68 69 73 20 53 57 49 20 |' when this SWI | 00005aa0 69 73 20 63 61 6c 6c 65 64 2c 20 61 6e 20 65 72 |is called, an er| 00005ab0 72 6f 72 0a 77 69 6c 6c 20 62 65 20 67 65 6e 65 |ror.will be gene| 00005ac0 72 61 74 65 64 2e 0a 20 49 74 20 69 73 20 61 64 |rated.. It is ad| 00005ad0 76 69 73 61 62 6c 65 20 74 6f 20 61 76 6f 69 64 |visable to avoid| 00005ae0 20 75 73 69 6e 67 20 74 68 69 73 20 63 61 6c 6c | using this call| 00005af0 20 75 6e 6c 65 73 73 20 61 62 73 6f 6c 75 74 65 | unless absolute| 00005b00 6c 79 20 6e 65 63 63 65 73 73 61 72 79 2e 0a 20 |ly neccessary.. | 00005b10 20 20 20 20 20 20 20 20 20 20 0a 0a 54 68 65 20 | ..The | 00005b20 72 65 73 74 72 69 63 74 65 64 20 63 6f 6d 6d 61 |restricted comma| 00005b30 6e 64 73 20 61 72 65 3a 0a 2a 50 6c 61 79 4d 6f |nds are:.*PlayMo| 00005b40 64 2c 20 2a 50 6c 61 79 50 61 75 73 65 2c 20 2a |d, *PlayPause, *| 00005b50 50 6c 61 79 53 74 61 72 74 2c 20 2a 50 6c 61 79 |PlayStart, *Play| 00005b60 50 6f 73 2c 20 2a 50 6c 61 79 53 74 65 72 65 6f |Pos, *PlayStereo| 00005b70 2c 20 2a 50 6c 61 79 53 74 6f 70 2c 0a 2a 50 6c |, *PlayStop,.*Pl| 00005b80 61 79 56 6f 6c 75 6d 65 2e 0a 0a 54 68 65 20 72 |ayVolume...The r| 00005b90 65 73 74 72 69 63 74 65 64 20 53 57 49 27 73 20 |estricted SWI's | 00005ba0 61 72 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 |are: | 00005bb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 54 | .T| 00005bd0 72 61 63 6b 65 72 5f 4c 6f 61 64 2c 20 54 72 61 |racker_Load, Tra| 00005be0 63 6b 65 72 5f 4d 65 6d 6f 72 79 4c 6f 61 64 2c |cker_MemoryLoad,| 00005bf0 20 54 72 61 63 6b 65 72 5f 50 6c 61 79 2c 20 54 | Tracker_Play, T| 00005c00 72 61 63 6b 65 72 5f 53 74 6f 70 2c 20 54 72 61 |racker_Stop, Tra| 00005c10 63 6b 65 72 5f 53 74 65 72 65 6f 2c 0a 54 72 61 |cker_Stereo,.Tra| 00005c20 63 6b 65 72 5f 53 65 74 50 6f 73 2c 20 54 72 61 |cker_SetPos, Tra| 00005c30 63 6b 65 72 5f 50 6c 61 79 4e 6f 74 65 2c 20 54 |cker_PlayNote, T| 00005c40 72 61 63 6b 65 72 5f 56 6f 6c 75 6d 65 2e 0a 0a |racker_Volume...| 00005c50 0a 20 20 20 20 20 20 20 20 20 20 20 0a 0a 2d 2d |. ..--| 00005c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005ca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 |-----------.Trac| 00005cb0 6b 65 72 5f 55 6e 6c 6f 63 6b 20 20 20 20 20 20 |ker_Unlock | 00005cc0 20 20 20 20 20 20 28 53 57 49 20 26 34 33 32 30 | (SWI &4320| 00005cd0 45 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |E).-------------| 00005ce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005d20 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 52 30 20 |..On Entry: R0 | 00005d30 3d 20 6c 6f 63 6b 69 6e 67 20 63 6f 64 65 20 28 |= locking code (| 00005d40 73 70 65 63 69 66 69 65 64 20 69 6e 20 54 72 61 |specified in Tra| 00005d50 63 6b 65 72 5f 4c 6f 63 6b 29 0a 0a 4f 6e 20 45 |cker_Lock)..On E| 00005d60 78 69 74 20 3a 20 20 2d 0a 0a 0a 20 54 68 69 73 |xit : -... This| 00005d70 20 53 57 49 20 73 68 6f 75 6c 64 20 62 65 20 63 | SWI should be c| 00005d80 61 6c 6c 65 64 20 74 6f 20 75 6e 6c 6f 63 6b 20 |alled to unlock | 00005d90 74 68 65 20 6d 6f 64 75 6c 65 20 61 66 74 65 72 |the module after| 00005da0 20 69 74 20 68 61 73 20 62 65 65 6e 20 6c 6f 63 | it has been loc| 00005db0 6b 65 64 20 77 69 74 68 0a 27 54 72 61 63 6b 65 |ked with.'Tracke| 00005dc0 72 5f 4c 6f 63 6b 27 2e 20 49 66 20 74 68 65 20 |r_Lock'. If the | 00005dd0 76 61 6c 75 65 20 70 61 73 73 65 64 20 69 6e 20 |value passed in | 00005de0 52 30 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 |R0 is different | 00005df0 74 6f 20 74 68 65 20 6c 6f 63 6b 69 6e 67 20 63 |to the locking c| 00005e00 6f 64 65 0a 67 69 76 65 6e 20 69 6e 20 74 68 65 |ode.given in the| 00005e10 20 6c 6f 63 6b 20 53 57 49 2c 20 6f 72 20 74 68 | lock SWI, or th| 00005e20 65 20 6d 6f 64 75 6c 65 20 68 61 73 20 6e 6f 74 |e module has not| 00005e30 20 62 65 65 6e 20 6c 6f 63 6b 65 64 2c 20 61 6e | been locked, an| 00005e40 20 65 72 72 6f 72 20 69 73 0a 67 65 6e 65 72 61 | error is.genera| 00005e50 74 65 64 2e 0a 0a 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d |ted......-------| 00005e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005ea0 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b 65 72 5f 4d |------.Tracker_M| 00005eb0 75 74 65 43 68 61 6e 6e 65 6c 20 20 20 20 20 20 |uteChannel | 00005ec0 20 28 53 57 49 20 26 34 33 32 30 46 29 0a 2d 2d | (SWI &4320F).--| 00005ed0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005f10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 |-----------..On | 00005f20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 63 68 61 |Entry: R0 = cha| 00005f30 6e 6e 65 6c 20 74 6f 20 6d 75 74 65 20 28 31 2d |nnel to mute (1-| 00005f40 38 29 0a 0a 4f 6e 20 45 78 69 74 20 3a 20 20 2d |8)..On Exit : -| 00005f50 0a 0a 0a 20 54 68 69 73 20 53 57 49 20 61 6c 6c |... This SWI all| 00005f60 6f 77 73 20 79 6f 75 20 74 6f 20 74 75 72 6e 20 |ows you to turn | 00005f70 6f 66 66 20 73 65 6c 65 63 74 65 64 20 63 68 61 |off selected cha| 00005f80 6e 6e 65 6c 73 20 77 68 69 6c 65 20 6c 65 61 76 |nnels while leav| 00005f90 69 6e 67 20 61 6c 6c 20 74 68 65 0a 6f 74 68 65 |ing all the.othe| 00005fa0 72 20 63 68 61 6e 6e 65 6c 73 20 75 6e 61 66 66 |r channels unaff| 00005fb0 65 63 74 65 64 2e 20 54 68 65 20 63 68 61 6e 6e |ected. The chann| 00005fc0 65 6c 73 20 63 61 6e 20 62 65 20 74 75 72 6e 65 |els can be turne| 00005fd0 64 20 62 61 63 6b 20 6f 6e 20 62 79 20 75 73 69 |d back on by usi| 00005fe0 6e 67 20 74 68 65 0a 27 54 72 61 63 6b 65 72 5f |ng the.'Tracker_| 00005ff0 52 65 73 74 6f 72 65 43 68 61 6e 6e 65 6c 27 20 |RestoreChannel' | 00006000 53 57 49 2e 0a 20 4e 6f 20 65 72 72 6f 72 20 69 |SWI.. No error i| 00006010 73 20 67 65 6e 65 72 61 74 65 64 20 69 66 20 74 |s generated if t| 00006020 68 65 20 63 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 |he channel numbe| 00006030 72 20 69 73 20 68 69 67 68 65 72 20 74 68 61 6e |r is higher than| 00006040 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 63 | the number of.c| 00006050 68 61 6e 6e 65 6c 73 20 61 63 74 75 61 6c 6c 79 |hannels actually| 00006060 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74 | being used by t| 00006070 68 65 20 74 72 61 63 6b 65 72 6d 6f 64 75 6c 65 |he trackermodule| 00006080 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00006090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000060b0 20 20 20 20 20 20 20 20 0a 0a 0a 2d 2d 2d 2d 2d | ...-----| 000060c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006100 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b 65 72 |--------.Tracker| 00006110 5f 52 65 73 74 6f 72 65 43 68 61 6e 6e 65 6c 20 |_RestoreChannel | 00006120 20 20 20 28 53 57 49 20 26 34 33 32 31 30 29 0a | (SWI &43210).| 00006130 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006170 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f |-------------..O| 00006180 6e 20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 63 |n Entry: R0 = c| 00006190 68 61 6e 6e 65 6c 20 74 6f 20 74 75 72 6e 20 6f |hannel to turn o| 000061a0 6e 20 28 31 2d 38 29 0a 0a 4f 6e 20 45 78 69 74 |n (1-8)..On Exit| 000061b0 20 3a 20 20 2d 0a 0a 0a 20 54 68 69 73 20 53 57 | : -... This SW| 000061c0 49 20 77 69 6c 6c 20 72 65 76 65 72 73 65 20 74 |I will reverse t| 000061d0 68 65 20 65 66 66 65 63 74 20 6f 66 20 61 20 27 |he effect of a '| 000061e0 54 72 61 63 6b 65 72 5f 4d 75 74 65 43 68 61 6e |Tracker_MuteChan| 000061f0 6e 65 6c 27 20 53 57 49 2c 20 61 6e 64 20 74 75 |nel' SWI, and tu| 00006200 72 6e 0a 74 68 65 20 73 65 6c 65 63 74 65 64 20 |rn.the selected | 00006210 63 68 61 6e 6e 65 6c 20 62 61 63 6b 20 6f 6e 2e |channel back on.| 00006220 0a 20 4e 6f 20 65 72 72 6f 72 20 69 73 20 67 65 |. No error is ge| 00006230 6e 65 72 61 74 65 64 20 69 66 20 74 68 65 20 63 |nerated if the c| 00006240 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 20 69 73 |hannel number is| 00006250 20 68 69 67 68 65 72 20 74 68 61 6e 20 74 68 65 | higher than the| 00006260 20 6e 75 6d 62 65 72 20 6f 66 0a 63 68 61 6e 6e | number of.chann| 00006270 65 6c 73 20 61 63 74 75 61 6c 6c 79 20 62 65 69 |els actually bei| 00006280 6e 67 20 75 73 65 64 20 62 79 20 74 68 65 20 74 |ng used by the t| 00006290 72 61 63 6b 65 72 6d 6f 64 75 6c 65 2e 0a 20 20 |rackermodule.. | 000062a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000062b0 20 20 20 20 20 20 20 20 20 0a 0a 0a 2d 2d 2d 2d | ...----| 000062c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006300 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 63 6b 65 |---------.Tracke| 00006310 72 5f 53 70 65 65 64 20 20 20 20 20 20 20 20 20 |r_Speed | 00006320 20 20 20 20 28 53 57 49 20 26 34 33 32 31 31 29 | (SWI &43211)| 00006330 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00006340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006370 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a |--------------..| 00006380 4f 6e 20 45 6e 74 72 79 3a 20 20 52 30 20 3d 20 |On Entry: R0 = | 00006390 6e 65 77 20 73 70 65 65 64 20 73 65 74 74 69 6e |new speed settin| 000063a0 67 20 28 30 2d 33 29 0a 0a 4f 6e 20 45 78 69 74 |g (0-3)..On Exit| 000063b0 20 3a 20 20 2d 0a 0a 0a 20 54 68 69 73 20 53 57 | : -... This SW| 000063c0 49 20 77 69 6c 6c 20 73 65 6c 65 63 74 20 74 68 |I will select th| 000063d0 65 20 66 75 74 75 72 65 20 73 61 6d 70 6c 65 20 |e future sample | 000063e0 72 61 74 65 20 61 6e 64 20 6f 76 65 72 61 6c 6c |rate and overall| 000063f0 20 70 69 74 63 68 20 74 6f 20 63 61 74 65 72 20 | pitch to cater | 00006400 66 6f 72 0a 56 49 44 43 20 65 6e 68 61 6e 63 65 |for.VIDC enhance| 00006410 72 73 20 61 6e 64 20 38 2d 63 68 61 6e 6e 65 6c |rs and 8-channel| 00006420 20 74 75 6e 65 73 2c 20 74 61 6b 69 6e 67 20 65 | tunes, taking e| 00006430 66 66 65 63 74 20 69 6d 6d 65 64 69 61 74 65 6c |ffect immediatel| 00006440 79 20 69 66 20 61 20 74 75 6e 65 20 69 73 0a 63 |y if a tune is.c| 00006450 75 72 72 65 6e 74 6c 79 20 70 6c 61 79 69 6e 67 |urrently playing| 00006460 2e 0a 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f |.. For details o| 00006470 66 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 |f the different | 00006480 6f 70 74 69 6f 6e 73 20 73 65 65 20 74 68 65 20 |options see the | 00006490 63 6f 6d 6d 61 6e 64 20 2a 50 6c 61 79 53 70 65 |command *PlaySpe| 000064a0 65 64 2e 0a 20 54 68 69 73 20 53 57 49 20 69 73 |ed.. This SWI is| 000064b0 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e | not included in| 000064c0 20 74 68 65 20 6c 6f 63 6b 69 6e 67 20 73 79 73 | the locking sys| 000064d0 74 65 6d 20 62 65 63 61 75 73 65 20 69 74 20 77 |tem because it w| 000064e0 61 73 20 6f 6e 6c 79 20 69 6e 74 72 6f 2d 0a 64 |as only intro-.d| 000064f0 75 63 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 |uced in version | 00006500 34 2e 30 34 2c 20 61 6e 64 20 73 6f 6d 65 20 70 |4.04, and some p| 00006510 72 6f 67 72 61 6d 73 20 6d 61 79 20 68 61 76 65 |rograms may have| 00006520 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 77 72 | already been wr| 00006530 69 74 74 65 6e 20 77 68 69 63 68 0a 75 73 65 20 |itten which.use | 00006540 74 68 65 20 6c 6f 63 6b 69 6e 67 20 73 79 73 74 |the locking syst| 00006550 65 6d 20 62 75 74 20 64 6f 6e 27 74 20 63 6f 6e |em but don't con| 00006560 74 72 6f 6c 20 74 68 65 20 73 61 6d 70 6c 65 20 |trol the sample | 00006570 73 70 65 65 64 2f 70 69 74 63 68 20 65 74 63 2e |speed/pitch etc.| 00006580 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00006590 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000065b0 20 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...------------| 000065c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006600 2d 0a 54 72 61 63 6b 65 72 5f 56 6f 6c 75 6d 65 |-.Tracker_Volume| 00006610 20 20 20 20 20 20 20 20 20 20 20 20 28 53 57 49 | (SWI| 00006620 20 26 34 33 32 31 32 29 0a 2d 2d 2d 2d 2d 2d 2d | &43212).-------| 00006630 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006670 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 72 79 |------..On Entry| 00006680 3a 20 20 52 30 20 3d 20 6e 65 77 20 6f 76 65 72 |: R0 = new over| 00006690 61 6c 6c 20 76 6f 6c 75 6d 65 20 28 30 2d 31 32 |all volume (0-12| 000066a0 37 29 20 6f 72 20 2d 31 20 74 6f 20 72 65 61 64 |7) or -1 to read| 000066b0 20 76 6f 6c 75 6d 65 0a 0a 4f 6e 20 45 78 69 74 | volume..On Exit| 000066c0 20 3a 20 20 52 30 20 3d 20 6f 6c 64 20 76 6f 6c | : R0 = old vol| 000066d0 75 6d 65 0a 0a 0a 20 54 68 69 73 20 53 57 49 20 |ume... This SWI | 000066e0 77 69 6c 6c 20 73 65 74 20 74 68 65 20 6f 76 65 |will set the ove| 000066f0 72 61 6c 6c 20 76 6f 6c 75 6d 65 20 6f 66 20 61 |rall volume of a| 00006700 6e 79 20 74 75 6e 65 73 20 70 6c 61 79 69 6e 67 |ny tunes playing| 00006710 20 62 79 20 73 75 62 74 72 61 63 74 69 6e 67 0a | by subtracting.| 00006720 28 32 35 34 2d 76 6f 6c 75 6d 65 2a 32 29 20 66 |(254-volume*2) f| 00006730 72 6f 6d 20 74 68 65 20 76 6f 6c 75 6d 65 20 6f |rom the volume o| 00006740 66 20 61 6e 79 20 73 61 6d 70 6c 65 20 70 6c 61 |f any sample pla| 00006750 79 69 6e 67 2e 20 54 68 69 73 20 74 61 6b 65 73 |ying. This takes| 00006760 20 65 66 66 65 63 74 0a 69 6d 6d 65 64 69 61 74 | effect.immediat| 00006770 65 6c 79 2c 20 61 6e 64 20 61 6c 73 6f 20 61 66 |ely, and also af| 00006780 66 65 63 74 73 20 73 61 6d 70 6c 65 73 20 77 68 |fects samples wh| 00006790 69 63 68 20 61 72 65 20 69 6e 20 6d 69 64 2d 70 |ich are in mid-p| 000067a0 6c 61 79 2e 0a 20 43 61 6c 6c 69 6e 67 20 74 68 |lay.. Calling th| 000067b0 65 20 53 57 49 20 77 69 74 68 20 52 30 3d 2d 31 |e SWI with R0=-1| 000067c0 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 | will return the| 000067d0 20 63 75 72 72 65 6e 74 20 76 6f 6c 75 6d 65 20 | current volume | 000067e0 69 6e 20 52 30 2e 0a 20 59 6f 75 20 63 61 6e 20 |in R0.. You can | 000067f0 75 73 65 20 74 68 69 73 20 53 57 49 20 74 6f 20 |use this SWI to | 00006800 70 72 6f 76 69 64 65 20 73 6d 6f 6f 74 68 20 66 |provide smooth f| 00006810 61 64 65 2d 6f 75 74 73 20 61 6e 64 20 66 61 64 |ade-outs and fad| 00006820 65 2d 69 6e 73 2c 20 66 6f 72 20 65 78 61 6d 70 |e-ins, for examp| 00006830 6c 65 2e 0a 20 54 68 69 73 20 53 57 49 20 69 73 |le.. This SWI is| 00006840 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 6f 63 | part of the loc| 00006850 6b 69 6e 67 20 73 79 73 74 65 6d 2e 0a 0a 20 20 |king system... | 00006860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006880 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a 2d | ..-| 00006890 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000068d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 54 72 61 |------------.Tra| 000068e0 63 6b 65 72 5f 54 72 61 6e 73 6c 61 74 65 56 6f |cker_TranslateVo| 000068f0 6c 75 6d 65 20 20 20 28 53 57 49 20 26 34 33 32 |lume (SWI &432| 00006900 31 34 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |14).------------| 00006910 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006950 2d 0a 0a 4f 6e 20 45 6e 74 72 79 3a 20 20 52 30 |-..On Entry: R0| 00006960 20 3d 20 53 6f 75 6e 64 74 72 61 63 6b 65 72 20 | = Soundtracker | 00006970 76 6f 6c 75 6d 65 20 74 6f 20 63 6f 6e 76 65 72 |volume to conver| 00006980 74 20 28 30 2d 36 34 29 0a 0a 4f 6e 20 45 78 69 |t (0-64)..On Exi| 00006990 74 20 3a 20 20 52 30 20 3d 20 4c 6f 67 61 72 69 |t : R0 = Logari| 000069a0 74 68 6d 69 63 20 76 6f 6c 75 6d 65 20 28 30 2d |thmic volume (0-| 000069b0 32 35 35 29 2c 20 32 35 35 3d 6d 61 78 2e 0a 0a |255), 255=max...| 000069c0 54 68 69 73 20 53 57 49 20 77 69 6c 6c 20 63 6f |This SWI will co| 000069d0 6e 76 65 72 74 20 61 20 73 6f 75 6e 64 74 72 61 |nvert a soundtra| 000069e0 63 6b 65 72 20 76 6f 6c 75 6d 65 20 28 61 73 20 |cker volume (as | 000069f0 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 |returned by the | 00006a00 53 57 49 0a 54 72 61 63 6b 65 72 5f 52 65 61 64 |SWI.Tracker_Read| 00006a10 53 61 6d 70 6c 65 54 61 62 6c 65 20 77 68 65 6e |SampleTable when| 00006a20 20 61 20 73 6f 75 6e 64 74 72 61 63 6b 65 72 20 | a soundtracker | 00006a30 74 75 6e 65 20 69 73 20 70 6c 61 79 69 6e 67 29 |tune is playing)| 00006a40 20 69 6e 74 6f 20 61 20 54 72 61 63 6b 65 72 0a | into a Tracker.| 00006a50 66 6f 72 6d 61 74 20 6c 6f 67 61 72 69 74 68 6d |format logarithm| 00006a60 69 63 20 76 6f 6c 75 6d 65 20 28 30 2d 32 35 35 |ic volume (0-255| 00006a70 29 2e 0a 0a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |).....----------| 00006a80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006ac0 2d 2d 2d 0a 54 72 61 63 6b 65 72 5f 55 70 64 61 |---.Tracker_Upda| 00006ad0 74 65 44 61 74 61 20 20 20 20 20 20 20 20 28 53 |teData (S| 00006ae0 57 49 20 26 34 33 32 31 35 29 0a 2d 2d 2d 2d 2d |WI &43215).-----| 00006af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006b30 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 6e 20 45 6e 74 |--------..On Ent| 00006b40 72 79 3a 20 20 2d 0a 0a 4f 6e 20 45 78 69 74 20 |ry: -..On Exit | 00006b50 3a 20 20 2d 0a 0a 54 68 69 73 20 69 73 20 72 65 |: -..This is re| 00006b60 61 6c 6c 79 20 61 6e 20 65 64 69 74 6f 72 20 53 |ally an editor S| 00006b70 57 49 20 77 68 69 63 68 20 79 6f 75 20 73 68 6f |WI which you sho| 00006b80 75 6c 64 20 63 61 6c 6c 20 77 68 65 6e 65 76 65 |uld call wheneve| 00006b90 72 20 79 6f 75 20 61 6c 74 65 72 20 6f 6e 65 20 |r you alter one | 00006ba0 6f 66 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 |of.the following| 00006bb0 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 6f |, so that the mo| 00006bc0 64 75 6c 65 20 63 61 6e 20 75 70 64 61 74 65 20 |dule can update | 00006bd0 69 74 73 20 64 61 74 61 3a 2d 0a 20 2a 20 4e 75 |its data:-. * Nu| 00006be0 6d 62 65 72 20 6f 66 20 76 6f 69 63 65 73 20 28 |mber of voices (| 00006bf0 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 70 61 |and therefore pa| 00006c00 74 74 65 72 6e 20 6c 65 6e 67 74 68 29 0a 20 2a |ttern length). *| 00006c10 20 53 61 6d 70 6c 65 20 6c 65 6e 67 74 68 2f 6c | Sample length/l| 00006c20 6f 61 64 20 6e 65 77 20 73 61 6d 70 6c 65 0a 20 |oad new sample. | 00006c30 2a 20 4d 75 73 69 63 20 6c 65 6e 67 74 68 0a 20 |* Music length. | 00006c40 2a 20 53 74 65 72 65 6f 20 73 65 74 74 69 6e 67 |* Stereo setting| 00006c50 73 20 28 54 72 61 63 6b 65 72 29 0a 20 20 20 20 |s (Tracker). | 00006c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006c80 20 20 20 20 20 20 20 20 20 20 20 0a 0a 3d 3d 3d | ..===| 00006c90 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00006cd0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4e 6f 74 65 |==========..Note| 00006ce0 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 74 61 62 | translation tab| 00006cf0 6c 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |le.-------------| 00006d00 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 74 |---------..The t| 00006d10 72 61 63 6b 65 72 20 66 6f 72 6d 61 74 20 6e 6f |racker format no| 00006d20 74 65 20 6e 75 6d 62 65 72 73 20 61 6e 64 20 74 |te numbers and t| 00006d30 68 65 20 6e 6f 74 65 73 20 74 68 65 79 20 72 65 |he notes they re| 00006d40 66 65 72 20 74 6f 20 61 72 65 20 61 73 20 66 6f |fer to are as fo| 00006d50 6c 6c 6f 77 73 3a 0a 0a 6e 6f 2e 20 20 6e 6f 74 |llows:..no. not| 00006d60 65 20 20 20 73 61 6d 70 6c 65 20 70 65 72 69 6f |e sample perio| 00006d70 64 0a 2d 2d 2d 20 20 2d 2d 2d 2d 20 20 20 2d 2d |d.--- ---- --| 00006d80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 31 20 20 20 |-----------.1 | 00006d90 20 43 20 2d 31 20 20 20 26 33 35 38 0a 32 20 20 | C -1 &358.2 | 00006da0 20 20 43 23 2d 31 20 20 20 26 33 32 38 0a 33 20 | C#-1 &328.3 | 00006db0 20 20 20 44 20 2d 31 20 20 20 26 32 46 41 0a 34 | D -1 &2FA.4| 00006dc0 20 20 20 20 44 23 2d 31 20 20 20 26 32 44 30 0a | D#-1 &2D0.| 00006dd0 35 20 20 20 20 45 20 2d 31 20 20 20 26 32 41 36 |5 E -1 &2A6| 00006de0 0a 36 20 20 20 20 46 20 2d 31 20 20 20 26 32 38 |.6 F -1 &28| 00006df0 30 0a 37 20 20 20 20 46 23 2d 31 20 20 20 26 32 |0.7 F#-1 &2| 00006e00 35 43 0a 38 20 20 20 20 47 20 2d 31 20 20 20 26 |5C.8 G -1 &| 00006e10 32 33 41 0a 39 20 20 20 20 47 23 2d 31 20 20 20 |23A.9 G#-1 | 00006e20 26 32 31 41 0a 31 30 20 20 20 41 20 2d 31 20 20 |&21A.10 A -1 | 00006e30 20 26 31 46 43 0a 31 31 20 20 20 41 23 2d 31 20 | &1FC.11 A#-1 | 00006e40 20 20 26 31 45 30 0a 31 32 20 20 20 42 20 2d 31 | &1E0.12 B -1| 00006e50 20 20 20 26 31 43 35 0a 31 33 20 20 20 43 20 2d | &1C5.13 C -| 00006e60 32 20 20 20 26 31 41 43 0a 31 34 20 20 20 43 23 |2 &1AC.14 C#| 00006e70 2d 32 20 20 20 26 31 39 34 0a 31 35 20 20 20 44 |-2 &194.15 D| 00006e80 20 2d 32 20 20 20 26 31 37 44 0a 31 36 20 20 20 | -2 &17D.16 | 00006e90 44 23 2d 32 20 20 20 26 31 36 38 0a 31 37 20 20 |D#-2 &168.17 | 00006ea0 20 45 20 2d 32 20 20 20 26 31 35 33 0a 31 38 20 | E -2 &153.18 | 00006eb0 20 20 46 20 2d 32 20 20 20 26 31 34 30 0a 31 39 | F -2 &140.19| 00006ec0 20 20 20 46 23 2d 32 20 20 20 26 31 32 45 0a 32 | F#-2 &12E.2| 00006ed0 30 20 20 20 47 20 2d 32 20 20 20 26 31 31 44 0a |0 G -2 &11D.| 00006ee0 32 31 20 20 20 47 23 2d 32 20 20 20 26 31 30 44 |21 G#-2 &10D| 00006ef0 0a 32 32 20 20 20 41 20 2d 32 20 20 20 20 26 46 |.22 A -2 &F| 00006f00 45 0a 32 33 20 20 20 41 23 2d 32 20 20 20 20 26 |E.23 A#-2 &| 00006f10 46 30 0a 32 34 20 20 20 42 20 2d 32 20 20 20 20 |F0.24 B -2 | 00006f20 26 45 32 0a 32 35 20 20 20 43 20 2d 33 20 20 20 |&E2.25 C -3 | 00006f30 20 26 44 36 0a 32 36 20 20 20 43 23 2d 33 20 20 | &D6.26 C#-3 | 00006f40 20 20 26 43 41 0a 32 37 20 20 20 44 20 2d 33 20 | &CA.27 D -3 | 00006f50 20 20 20 26 42 45 0a 32 38 20 20 20 44 23 2d 33 | &BE.28 D#-3| 00006f60 20 20 20 20 26 42 34 0a 32 39 20 20 20 45 20 2d | &B4.29 E -| 00006f70 33 20 20 20 20 26 41 41 0a 33 30 20 20 20 46 20 |3 &AA.30 F | 00006f80 2d 33 20 20 20 20 26 41 30 0a 33 31 20 20 20 46 |-3 &A0.31 F| 00006f90 23 2d 33 20 20 20 20 26 39 37 0a 33 32 20 20 20 |#-3 &97.32 | 00006fa0 47 20 2d 33 20 20 20 20 26 38 46 0a 33 33 20 20 |G -3 &8F.33 | 00006fb0 20 47 23 2d 33 20 20 20 20 26 38 37 0a 33 34 20 | G#-3 &87.34 | 00006fc0 20 20 41 20 2d 33 20 20 20 20 26 37 46 0a 33 35 | A -3 &7F.35| 00006fd0 20 20 20 41 23 2d 33 20 20 20 20 26 37 38 0a 33 | A#-3 &78.3| 00006fe0 36 20 20 20 42 20 2d 33 20 20 20 20 26 37 31 0a |6 B -3 &71.| 00006ff0 0a 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |..==============| 00007000 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00007030 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a |===============.| 00007040 0a 0a 54 72 61 63 6b 65 72 20 61 6e 64 20 53 6f |..Tracker and So| 00007050 75 6e 64 74 72 61 63 6b 65 72 20 63 6f 6d 6d 61 |undtracker comma| 00007060 6e 64 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |nds.------------| 00007070 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00007080 2d 2d 2d 2d 2d 0a 0a 20 49 6e 20 61 6c 6c 20 74 |-----.. In all t| 00007090 75 6e 65 73 2c 20 74 68 65 72 65 20 61 72 65 20 |unes, there are | 000070a0 73 70 65 63 69 61 6c 20 63 6f 6d 6d 61 6e 64 73 |special commands| 000070b0 20 77 68 69 63 68 20 68 61 76 65 20 61 20 74 79 | which have a ty| 000070c0 70 65 20 28 30 2d 26 46 20 66 6f 72 20 61 6d 69 |pe (0-&F for ami| 000070d0 67 61 2c 0a 30 2d 39 20 26 20 41 2d 5a 20 66 6f |ga,.0-9 & A-Z fo| 000070e0 72 20 54 72 61 63 6b 65 72 29 20 61 6e 64 20 64 |r Tracker) and d| 000070f0 61 74 61 20 28 75 73 75 61 6c 6c 79 20 70 72 65 |ata (usually pre| 00007100 73 65 6e 74 65 64 20 61 73 20 61 20 68 65 78 20 |sented as a hex | 00007110 62 79 74 65 2c 20 69 65 2e 20 26 58 58 29 2c 0a |byte, ie. &XX),.| 00007120 77 68 69 63 68 20 69 73 20 73 6f 6d 65 74 69 6d |which is sometim| 00007130 65 73 20 74 72 65 61 74 65 64 20 61 73 20 74 77 |es treated as tw| 00007140 6f 20 73 65 70 65 72 61 74 65 20 6e 69 62 62 6c |o seperate nibbl| 00007150 65 73 20 28 69 65 2e 20 61 72 70 65 67 67 69 6f |es (ie. arpeggio| 00007160 29 2e 0a 20 41 20 6c 69 73 74 20 6f 66 20 74 68 |).. A list of th| 00007170 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 75 6e 64 |e commands found| 00007180 20 69 6e 20 54 72 61 63 6b 65 72 2f 53 54 72 61 | in Tracker/STra| 00007190 63 6b 65 72 20 74 75 6e 65 73 20 69 73 20 61 73 |cker tunes is as| 000071a0 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 43 6f 6d 6d | follows:.. Comm| 000071b0 61 6e 64 20 20 20 20 45 66 66 65 63 74 0a 20 2d |and Effect. -| 000071c0 2d 2d 2d 2d 2d 2d 20 20 20 20 2d 2d 2d 2d 2d 2d |------ ------| 000071d0 0a 20 30 20 28 62 6f 74 68 29 20 20 20 41 72 70 |. 0 (both) Arp| 000071e0 65 67 67 69 6f 20 2d 0a 20 20 20 20 20 20 20 20 |eggio -. | 000071f0 20 20 20 20 20 20 20 20 20 6e 6f 74 65 32 3d 62 | note2=b| 00007200 61 73 65 20 6e 6f 74 65 2b 28 66 69 72 73 74 20 |ase note+(first | 00007210 64 69 67 69 74 20 6f 66 20 64 61 74 61 29 20 73 |digit of data) s| 00007220 65 6d 69 74 6f 6e 65 73 0a 20 20 20 20 20 20 20 |emitones. | 00007230 20 20 20 20 20 20 20 20 20 20 6e 6f 74 65 33 3d | note3=| 00007240 20 22 20 20 20 20 20 22 20 2b 28 73 65 63 6f 6e | " " +(secon| 00007250 64 20 22 20 20 20 20 22 20 20 20 22 20 20 29 20 |d " " " ) | 00007260 20 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ". | 00007270 20 20 20 50 6c 61 79 20 6e 6f 74 65 33 20 66 6f | Play note3 fo| 00007280 72 20 6f 6e 65 20 76 73 79 6e 63 2c 20 74 68 65 |r one vsync, the| 00007290 6e 20 6e 6f 74 65 32 2c 20 62 61 73 65 20 6e 6f |n note2, base no| 000072a0 74 65 2c 20 6e 6f 74 65 33 2c 20 6e 6f 74 65 32 |te, note3, note2| 000072b0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000072c0 61 6e 64 20 74 68 65 6e 20 74 68 65 20 62 61 73 |and then the bas| 000072d0 65 20 6e 6f 74 65 20 74 6f 20 61 63 68 69 65 76 |e note to achiev| 000072e0 65 20 61 20 63 68 6f 72 64 20 65 66 66 65 63 74 |e a chord effect| 000072f0 20 28 69 65 2e 20 43 2d 32 0a 20 20 20 20 20 20 | (ie. C-2. | 00007300 20 20 20 20 20 20 20 20 20 77 69 74 68 20 63 6f | with co| 00007310 6d 6d 61 6e 64 20 30 20 64 61 74 61 20 27 26 34 |mmand 0 data '&4| 00007320 37 27 20 28 68 65 78 29 20 77 6f 75 6c 64 20 70 |7' (hex) would p| 00007330 6c 61 79 20 61 20 6d 61 6a 6f 72 0a 20 20 20 20 |lay a major. | 00007340 20 20 20 20 20 20 20 20 20 20 20 61 72 70 65 67 | arpeg| 00007350 67 69 6f 20 6f 66 20 43 2d 32 2c 20 45 2d 32 2c |gio of C-2, E-2,| 00007360 20 47 2d 32 2e 20 20 20 20 49 66 20 74 68 65 20 | G-2. If the | 00007370 73 70 65 65 64 20 69 73 20 6c 65 73 73 20 74 68 |speed is less th| 00007380 61 6e 20 36 2c 0a 20 20 20 20 20 20 20 20 20 20 |an 6,. | 00007390 20 20 20 20 20 74 68 65 20 61 72 70 65 67 67 69 | the arpeggi| 000073a0 6f 20 77 69 6c 6c 20 62 65 20 63 75 74 20 73 68 |o will be cut sh| 000073b0 6f 72 74 2e 0a 20 31 20 28 62 6f 74 68 29 20 20 |ort.. 1 (both) | 000073c0 20 50 69 74 63 68 20 73 6c 69 64 65 20 28 70 6f | Pitch slide (po| 000073d0 72 74 61 6d 65 6e 74 6f 20 75 70 29 20 2d 0a 20 |rtamento up) -. | 000073e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 | wh| 000073f0 69 6c 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 |ile the command | 00007400 69 73 20 70 6c 61 79 69 6e 67 2c 20 44 45 43 52 |is playing, DECR| 00007410 45 4d 45 4e 54 20 74 68 65 20 73 61 6d 70 6c 65 |EMENT the sample| 00007420 20 70 65 72 69 6f 64 20 62 79 0a 20 20 20 20 20 | period by. | 00007430 20 20 20 20 20 20 20 20 20 20 3c 70 61 72 61 6d | <param| 00007440 65 74 65 72 3e 20 28 30 2d 31 35 20 75 73 75 61 |eter> (0-15 usua| 00007450 6c 6c 79 29 2e 20 54 68 69 73 20 68 61 73 20 74 |lly). This has t| 00007460 68 65 20 65 66 66 65 63 74 20 6f 66 20 49 4e 43 |he effect of INC| 00007470 52 45 41 53 49 4e 47 0a 20 20 20 20 20 20 20 20 |REASING. | 00007480 20 20 20 20 20 20 20 74 68 65 20 70 69 74 63 68 | the pitch| 00007490 20 73 6d 6f 6f 74 68 6c 79 20 77 69 74 68 6f 75 | smoothly withou| 000074a0 74 20 72 65 73 74 61 72 74 69 6e 67 20 74 68 65 |t restarting the| 000074b0 20 73 61 6d 70 6c 65 2e 20 4e 6f 74 65 20 74 68 | sample. Note th| 000074c0 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |at. | 000074d0 20 20 74 68 65 20 70 69 74 63 68 20 67 61 69 6e | the pitch gain| 000074e0 65 64 20 62 79 20 61 20 66 69 78 65 64 20 63 68 |ed by a fixed ch| 000074f0 61 6e 67 65 20 74 6f 20 74 68 65 20 73 61 6d 70 |ange to the samp| 00007500 6c 65 20 70 65 72 69 6f 64 20 69 73 20 6e 6f 74 |le period is not| 00007510 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00007520 63 6f 6e 73 74 61 6e 74 20 6f 76 65 72 20 74 68 |constant over th| 00007530 65 20 33 20 6f 63 74 61 76 65 73 2e 0a 20 32 20 |e 3 octaves.. 2 | 00007540 28 62 6f 74 68 29 20 20 20 50 69 74 63 68 20 73 |(both) Pitch s| 00007550 6c 69 64 65 20 28 70 6f 72 74 61 6d 65 6e 74 6f |lide (portamento| 00007560 20 64 6f 77 6e 29 20 2d 0a 20 20 20 20 20 20 20 | down) -. | 00007570 20 20 20 20 20 20 20 20 6c 69 6b 65 20 63 6f 6d | like com| 00007580 6d 61 6e 64 20 31 20 62 75 74 20 73 6c 69 64 65 |mand 1 but slide| 00007590 73 20 74 68 65 20 70 69 74 63 68 20 64 6f 77 6e |s the pitch down| 000075a0 2e 0a 20 33 20 28 61 6d 69 67 61 20 6f 6e 6c 79 |.. 3 (amiga only| 000075b0 29 20 20 20 50 6f 72 74 61 6d 65 6e 74 6f 20 2d |) Portamento -| 000075c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000075d0 53 6f 75 6e 64 73 20 73 69 6d 69 6c 61 72 20 74 |Sounds similar t| 000075e0 6f 20 63 6f 6d 6d 61 6e 64 73 20 31 20 26 20 32 |o commands 1 & 2| 000075f0 2c 20 62 75 74 20 62 65 68 61 76 65 73 20 64 69 |, but behaves di| 00007600 66 66 65 72 65 6e 74 6c 79 2e 0a 20 20 20 20 20 |fferently.. | 00007610 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 | When y| 00007620 6f 75 20 75 73 65 20 63 6f 6d 6d 61 6e 64 20 33 |ou use command 3| 00007630 20 77 69 74 68 20 61 20 6e 6f 74 65 20 73 70 65 | with a note spe| 00007640 63 69 66 69 65 64 2c 20 74 68 65 20 6e 6f 74 65 |cified, the note| 00007650 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 | is not. | 00007660 20 20 20 20 20 20 20 70 6c 61 79 65 64 2c 20 62 | played, b| 00007670 75 74 20 74 68 65 20 70 69 74 63 68 20 6f 66 20 |ut the pitch of | 00007680 74 68 65 20 6e 6f 74 65 20 69 73 20 73 65 74 20 |the note is set | 00007690 61 73 20 74 68 65 20 27 67 6f 61 6c 27 20 6f 66 |as the 'goal' of| 000076a0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 | the. | 000076b0 20 20 20 20 70 6f 72 74 61 6d 65 6e 74 6f 2e 20 | portamento. | 000076c0 54 68 65 6e 2c 20 77 68 65 6e 65 76 65 72 20 61 |Then, whenever a| 000076d0 20 63 6f 6d 6d 61 6e 64 20 33 20 63 6f 6d 65 73 | command 3 comes| 000076e0 20 75 70 2c 20 74 68 65 20 70 69 74 63 68 20 69 | up, the pitch i| 000076f0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |s. | 00007700 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 | automatically s| 00007710 6c 69 64 65 64 20 69 6e 20 74 68 65 20 61 70 70 |lided in the app| 00007720 72 6f 70 72 69 61 74 65 20 64 69 72 65 63 74 69 |ropriate directi| 00007730 6f 6e 20 62 79 20 74 68 65 20 76 61 6c 75 65 0a |on by the value.| 00007740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c | l| 00007750 61 73 74 20 67 69 76 65 6e 20 61 73 20 61 20 70 |ast given as a p| 00007760 61 72 61 6d 65 74 65 72 20 66 6f 72 20 63 6f 6d |arameter for com| 00007770 6d 61 6e 64 20 33 2c 20 75 6e 74 69 6c 20 74 68 |mand 3, until th| 00007780 65 20 27 67 6f 61 6c 27 20 69 73 0a 20 20 20 20 |e 'goal' is. | 00007790 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 2c 20 | met, | 000077a0 61 6e 64 20 66 75 72 74 68 65 72 20 63 6f 6d 6d |and further comm| 000077b0 61 6e 64 20 33 27 73 20 77 69 6c 6c 20 68 61 76 |and 3's will hav| 000077c0 65 20 6e 6f 20 65 66 66 65 63 74 2e 0a 20 34 20 |e no effect.. 4 | 000077d0 28 61 6d 69 67 61 20 6f 6e 6c 79 29 20 20 56 69 |(amiga only) Vi| 000077e0 62 72 61 74 6f 20 2d 0a 20 20 20 20 20 20 20 20 |brato -. | 000077f0 20 20 20 20 20 20 20 54 68 69 73 20 63 61 75 73 | This caus| 00007800 65 73 20 74 68 65 20 70 69 74 63 68 20 74 6f 20 |es the pitch to | 00007810 72 69 73 65 20 61 6e 64 20 66 61 6c 6c 20 69 6e |rise and fall in| 00007820 20 61 20 77 61 72 62 6c 69 6e 67 20 65 66 66 65 | a warbling effe| 00007830 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 |ct.. | 00007840 20 20 20 54 68 65 20 66 69 72 73 74 20 64 69 67 | The first dig| 00007850 69 74 20 67 69 76 65 73 20 74 68 65 20 73 70 65 |it gives the spe| 00007860 65 64 20 6f 66 20 74 68 65 20 70 69 74 63 68 20 |ed of the pitch | 00007870 63 68 61 6e 67 65 20 28 31 3d 73 6c 6f 77 2c 0a |change (1=slow,.| 00007880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 | &| 00007890 46 3d 66 61 73 74 29 2c 20 61 6e 64 20 74 68 65 |F=fast), and the| 000078a0 20 73 65 63 6f 6e 64 20 64 69 67 69 74 20 67 69 | second digit gi| 000078b0 76 65 73 20 74 68 65 20 6d 61 67 6e 69 74 75 64 |ves the magnitud| 000078c0 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 |e of the. | 000078d0 20 20 20 20 20 20 20 20 76 69 62 72 61 74 6f 2e | vibrato.| 000078e0 20 54 68 65 20 76 69 62 72 61 74 6f 20 69 73 20 | The vibrato is | 000078f0 63 72 65 61 74 65 64 20 62 79 20 61 6c 74 65 72 |created by alter| 00007900 69 6e 67 20 74 68 65 20 70 69 74 63 68 20 6f 66 |ing the pitch of| 00007910 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 | the. | 00007920 20 20 20 20 63 68 61 6e 6e 65 6c 20 62 79 20 61 | channel by a| 00007930 20 73 69 6e 75 73 6f 69 64 61 6c 6c 79 20 76 61 | sinusoidally va| 00007940 72 79 69 6e 67 20 61 6d 6f 75 6e 74 20 28 2d 76 |rying amount (-v| 00007950 65 20 61 6e 64 20 2b 76 65 29 2e 0a 20 35 2c 36 |e and +ve).. 5,6| 00007960 2c 37 20 28 61 6d 69 67 61 29 20 20 43 6f 6d 62 |,7 (amiga) Comb| 00007970 69 6e 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 |inations of the | 00007980 76 6f 6c 75 6d 65 20 61 6e 64 20 70 69 74 63 68 |volume and pitch| 00007990 20 73 6c 69 64 65 73 20 28 4e 6f 74 20 69 6d 70 | slides (Not imp| 000079a0 6c 65 6d 65 6e 74 65 64 29 0a 20 39 20 28 61 6d |lemented). 9 (am| 000079b0 69 67 61 20 6f 6e 6c 79 29 20 53 65 74 20 73 61 |iga only) Set sa| 000079c0 6d 70 6c 65 20 6f 66 66 73 65 74 20 28 4e 6f 74 |mple offset (Not| 000079d0 20 69 6d 70 6c 65 6d 65 6e 74 65 64 29 2e 0a 20 | implemented).. | 000079e0 41 20 28 61 6d 69 67 61 29 20 20 20 20 20 56 6f |A (amiga) Vo| 000079f0 6c 75 6d 65 20 73 6c 69 64 65 20 2d 0a 20 20 20 |lume slide -. | 00007a00 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 | If t| 00007a10 68 65 20 66 69 72 73 74 20 6e 69 62 62 6c 65 20 |he first nibble | 00007a20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 61 64 64 |is non-zero, add| 00007a30 20 74 68 69 73 20 76 61 6c 75 65 20 74 6f 20 74 | this value to t| 00007a40 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 |he current. | 00007a50 20 20 20 20 20 20 20 20 20 20 76 6f 6c 75 6d 65 | volume| 00007a60 20 65 76 65 72 79 20 76 73 79 6e 63 2c 20 65 6c | every vsync, el| 00007a70 73 65 20 73 75 62 74 72 61 63 74 20 74 68 65 20 |se subtract the | 00007a80 73 65 63 6f 6e 64 20 6e 69 62 62 6c 65 20 69 6e |second nibble in| 00007a90 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | a. | 00007aa0 20 20 73 69 6d 69 6c 61 72 20 66 61 73 68 69 6f | similar fashio| 00007ab0 6e 2e 0a 20 47 2c 20 48 20 28 54 72 61 63 6b 65 |n.. G, H (Tracke| 00007ac0 72 29 20 56 6f 6c 75 6d 65 20 73 6c 69 64 65 20 |r) Volume slide | 00007ad0 75 70 2c 20 64 6f 77 6e 20 2d 0a 20 20 20 20 20 |up, down -. | 00007ae0 20 20 20 20 20 20 20 20 20 20 54 68 65 73 65 20 | These | 00007af0 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 74 68 65 |commands are the| 00007b00 20 73 61 6d 65 20 61 73 20 74 68 65 20 41 20 63 | same as the A c| 00007b10 6f 6d 6d 61 6e 64 20 6f 6e 20 74 68 65 20 61 6d |ommand on the am| 00007b20 69 67 61 2c 20 62 75 74 0a 20 20 20 20 20 20 20 |iga, but. | 00007b30 20 20 20 20 20 20 20 20 74 61 6b 65 20 61 20 62 | take a b| 00007b40 79 74 65 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 |yte parameter.. | 00007b50 42 20 28 61 6d 69 67 61 29 2c 20 4a 20 28 54 72 |B (amiga), J (Tr| 00007b60 61 63 6b 65 72 29 20 20 50 6f 73 69 74 69 6f 6e |acker) Position| 00007b70 20 6a 75 6d 70 20 2d 0a 20 20 20 20 20 20 20 20 | jump -. | 00007b80 20 20 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 | When this| 00007b90 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6d 65 74 2c | command is met,| 00007ba0 20 6a 75 6d 70 20 74 6f 20 70 6f 73 69 74 69 6f | jump to positio| 00007bb0 6e 20 3c 70 61 72 61 6d 65 74 65 72 3e 20 69 6e |n <parameter> in| 00007bc0 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | . | 00007bd0 20 73 6f 6e 67 2e 0a 20 42 20 28 54 72 61 63 6b | song.. B (Track| 00007be0 65 72 29 20 42 72 65 61 6b 20 70 61 74 74 65 72 |er) Break patter| 00007bf0 6e 20 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 |n -. | 00007c00 20 20 20 3d 61 6d 69 67 61 20 63 6f 6d 6d 61 6e | =amiga comman| 00007c10 64 20 44 0a 20 43 20 28 61 6d 69 67 61 29 2c 20 |d D. C (amiga), | 00007c20 56 20 28 54 72 61 63 6b 65 72 29 20 20 53 65 74 |V (Tracker) Set| 00007c30 20 76 6f 6c 75 6d 65 20 2d 0a 20 20 20 20 20 20 | volume -. | 00007c40 20 20 20 20 20 20 20 20 20 41 6c 74 65 72 73 20 | Alters | 00007c50 74 68 65 20 63 75 72 72 65 6e 74 20 76 6f 6c 75 |the current volu| 00007c60 6d 65 20 6f 66 20 74 68 65 20 63 68 61 6e 6e 65 |me of the channe| 00007c70 6c 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 73 |l to the value s| 00007c80 70 65 63 2d 0a 20 20 20 20 20 20 20 20 20 20 20 |pec-. | 00007c90 20 20 20 20 69 66 69 65 64 20 28 30 2d 36 34 20 | ified (0-64 | 00007ca0 61 6d 69 67 61 2c 20 30 2d 32 35 35 20 61 72 63 |amiga, 0-255 arc| 00007cb0 29 2e 20 56 6f 6c 75 6d 65 20 30 20 6d 65 61 6e |). Volume 0 mean| 00007cc0 73 20 6d 75 74 65 20 73 6f 75 6e 64 2e 0a 20 44 |s mute sound.. D| 00007cd0 20 28 61 6d 69 67 61 29 2c 20 42 20 28 54 72 61 | (amiga), B (Tra| 00007ce0 63 6b 65 72 29 20 20 42 72 65 61 6b 20 70 61 74 |cker) Break pat| 00007cf0 74 65 72 6e 20 2d 0a 20 20 20 20 20 20 20 20 20 |tern -. | 00007d00 20 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 | When this | 00007d10 63 6f 6d 6d 61 6e 64 20 69 73 20 65 6e 63 6f 75 |command is encou| 00007d20 6e 74 65 72 65 64 2c 20 74 68 65 20 70 61 74 74 |ntered, the patt| 00007d30 65 72 6e 20 69 73 20 65 6e 64 65 64 2c 20 61 6e |ern is ended, an| 00007d40 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |d. | 00007d50 20 74 68 65 20 6e 65 78 74 20 70 61 74 74 65 72 | the next patter| 00007d60 6e 20 6a 75 6d 70 65 64 20 74 6f 2e 0a 20 45 20 |n jumped to.. E | 00007d70 28 61 6d 69 67 61 29 20 20 20 56 61 72 69 6f 75 |(amiga) Variou| 00007d80 73 20 63 6f 6d 6d 61 6e 64 73 20 28 69 65 2e 20 |s commands (ie. | 00007d90 68 2f 77 20 66 69 6c 74 65 72 20 63 6f 6d 6d 61 |h/w filter comma| 00007da0 6e 64 73 29 20 5b 4e 6f 74 20 69 6d 70 6c 65 6d |nds) [Not implem| 00007db0 65 6e 74 65 64 5d 2e 0a 20 45 20 28 54 72 61 63 |ented].. E (Trac| 00007dc0 6b 65 72 29 20 53 65 74 20 73 74 65 72 65 6f 20 |ker) Set stereo | 00007dd0 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |-. | 00007de0 20 53 65 74 20 74 68 65 20 73 74 65 72 65 6f 20 | Set the stereo | 00007df0 70 6f 73 69 74 69 6f 6e 20 28 31 2d 37 29 20 6f |position (1-7) o| 00007e00 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 6f |f the current so| 00007e10 75 6e 64 20 63 68 61 6e 6e 65 6c 0a 20 20 20 20 |und channel. | 00007e20 20 20 20 20 20 20 20 20 20 20 20 28 31 2d 38 29 | (1-8)| 00007e30 2e 0a 20 46 20 28 61 6d 69 67 61 29 2c 20 53 20 |.. F (amiga), S | 00007e40 28 54 72 61 63 6b 65 72 29 20 20 53 65 74 20 73 |(Tracker) Set s| 00007e50 70 65 65 64 20 2d 0a 20 20 20 20 20 20 20 20 20 |peed -. | 00007e60 20 20 20 20 20 20 53 65 74 73 20 74 68 65 20 73 | Sets the s| 00007e70 70 65 65 64 20 28 6e 75 6d 62 65 72 20 6f 66 20 |peed (number of | 00007e80 76 73 79 6e 63 73 20 62 65 74 77 65 65 6e 20 65 |vsyncs between e| 00007e90 76 65 6e 74 73 29 20 74 6f 20 3c 70 61 72 61 6d |vents) to <param| 00007ea0 2e 3e 2e 0a 20 20 20 20 0a 0a 3d 3d 3d 3d 3d 3d |.>.. ..======| 00007eb0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00007ef0 3d 3d 3d 3d 3d 3d 3d 0a 20 20 20 20 20 20 20 20 |=======. | 00007f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007f10 20 20 20 20 20 20 20 0a 45 72 72 6f 72 73 0a 2d | .Errors.-| 00007f20 2d 2d 2d 2d 2d 20 20 20 20 20 20 20 20 20 20 20 |----- | 00007f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00007f50 20 20 20 20 20 20 20 20 20 0a 0a 54 68 65 20 65 | ..The e| 00007f60 72 72 6f 72 20 6e 75 6d 62 65 72 73 20 61 6e 64 |rror numbers and| 00007f70 20 6d 65 73 73 61 67 65 73 20 77 68 69 63 68 20 | messages which | 00007f80 74 68 65 20 74 72 61 63 6b 65 72 6d 6f 64 75 6c |the trackermodul| 00007f90 65 20 6d 61 79 20 67 65 6e 65 72 61 74 65 3a 0a |e may generate:.| 00007fa0 0a 4e 6f 20 74 75 6e 65 20 6c 6f 61 64 65 64 20 |.No tune loaded | 00007fb0 20 20 20 20 20 20 20 28 26 34 33 32 30 30 29 20 | (&43200) | 00007fc0 2d 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 20 77 |- an operation w| 00007fd0 61 73 20 61 74 74 65 6d 70 74 65 64 20 77 68 69 |as attempted whi| 00007fe0 63 68 20 72 65 71 75 69 72 65 73 20 61 0a 20 20 |ch requires a. | 00007ff0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | t| 00008010 75 6e 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 |une to be loaded| 00008020 20 69 6e 74 6f 20 6d 65 6d 6f 72 79 20 62 65 66 | into memory bef| 00008030 6f 72 65 68 61 6e 64 0a 20 20 20 20 20 20 20 20 |orehand. | 00008040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008050 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 2a | using *| 00008060 50 6c 61 79 4d 6f 64 20 6f 72 20 53 57 49 20 54 |PlayMod or SWI T| 00008070 72 61 63 6b 65 72 5f 4c 6f 61 64 2e 0a 0a 53 65 |racker_Load...Se| 00008080 71 75 65 6e 63 65 20 70 6f 73 69 74 69 6f 6e 20 |quence position | 00008090 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 2d 20 54 |out of range - T| 000080a0 68 65 20 73 65 71 75 65 6e 63 65 20 70 6f 73 69 |he sequence posi| 000080b0 74 69 6f 6e 20 67 69 76 65 6e 20 77 69 74 68 20 |tion given with | 000080c0 2a 50 6c 61 79 50 6f 73 0a 20 20 20 20 20 20 20 |*PlayPos. | 000080d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | (| 000080e0 26 34 33 32 30 31 29 20 20 20 6f 72 20 53 57 49 |&43201) or SWI| 000080f0 20 54 72 61 63 6b 65 72 5f 53 65 74 50 6f 73 20 | Tracker_SetPos | 00008100 77 61 73 20 68 69 67 68 65 72 20 74 68 61 6e 20 |was higher than | 00008110 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |the. | 00008120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008130 20 20 20 20 20 61 63 74 75 61 6c 20 6e 75 6d 62 | actual numb| 00008140 65 72 20 6f 66 20 70 61 74 74 65 72 6e 73 20 69 |er of patterns i| 00008150 6e 20 74 68 65 20 73 6f 6e 67 2e 0a 0a 4e 6f 20 |n the song...No | 00008160 72 6f 6f 6d 20 66 6f 72 20 6d 6f 64 75 6c 65 20 |room for module | 00008170 20 20 20 28 26 34 33 32 30 32 29 20 2d 20 54 68 | (&43202) - Th| 00008180 65 20 74 72 61 63 6b 65 72 6d 6f 64 75 6c 65 20 |e trackermodule | 00008190 63 6f 75 6c 64 20 6e 6f 74 20 63 6c 61 69 6d 20 |could not claim | 000081a0 65 6e 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 |enough. | 000081b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000081c0 20 20 20 20 20 20 20 20 52 4d 41 20 77 6f 72 6b | RMA work| 000081d0 73 70 61 63 65 20 74 6f 20 6c 6f 61 64 20 74 68 |space to load th| 000081e0 65 20 6d 6f 64 75 6c 65 2e 20 54 6f 20 67 65 74 |e module. To get| 000081f0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00008200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008210 20 20 6d 6f 72 65 20 6d 65 6d 6f 72 79 2c 20 71 | more memory, q| 00008220 75 69 74 20 62 61 73 69 63 20 74 6f 20 74 68 65 |uit basic to the| 00008230 20 73 75 70 65 72 76 69 73 6f 72 0a 20 20 20 20 | supervisor. | 00008240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008250 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f | pro| 00008260 6d 70 74 2c 20 61 6e 64 20 72 65 74 72 79 2e 20 |mpt, and retry. | 00008270 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 |If you are using| 00008280 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 | the. | 00008290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000082a0 20 20 20 20 20 20 64 65 73 6b 74 6f 70 20 69 6e | desktop in| 000082b0 73 74 65 61 64 2c 20 72 65 6d 6f 76 65 20 61 6e |stead, remove an| 000082c0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 61 6e 64 | application and| 000082d0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000082e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000082f0 20 20 72 65 74 72 79 2e 0a 0a 43 68 61 6e 6e 65 | retry...Channe| 00008300 6c 20 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 |l number out of | 00008310 72 61 6e 67 65 20 20 20 20 2d 20 54 68 65 20 73 |range - The s| 00008320 6f 75 6e 64 20 63 68 61 6e 6e 65 6c 20 6e 75 6d |ound channel num| 00008330 62 65 72 20 77 61 73 20 6e 6f 74 20 61 20 76 61 |ber was not a va| 00008340 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |lue. | 00008350 20 20 20 20 20 20 20 20 20 20 28 26 34 33 32 30 | (&4320| 00008360 33 29 20 20 20 62 65 74 77 65 65 6e 20 31 20 61 |3) between 1 a| 00008370 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 |nd the number of| 00008380 20 73 6f 75 6e 64 20 63 68 61 6e 6e 65 6c 73 0a | sound channels.| 00008390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000083b0 20 75 73 65 64 20 66 6f 72 20 74 68 61 74 20 70 | used for that p| 000083c0 61 72 74 69 63 75 6c 61 72 20 74 75 6e 65 2e 0a |articular tune..| 000083d0 0a 53 61 6d 70 6c 65 20 6e 75 6d 62 65 72 20 6f |.Sample number o| 000083e0 75 74 20 6f 66 20 72 61 6e 67 65 20 20 20 20 20 |ut of range | 000083f0 2d 20 54 68 65 20 73 61 6d 70 6c 65 20 6e 75 6d |- The sample num| 00008400 62 65 72 20 77 61 73 20 6e 6f 74 20 77 69 74 68 |ber was not with| 00008410 69 6e 20 74 68 65 20 72 61 6e 67 65 0a 20 20 20 |in the range. | 00008420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008430 20 20 20 28 26 34 33 32 30 34 29 20 20 20 6f 66 | (&43204) of| 00008440 20 31 2d 33 36 2e 0a 0a 4e 6f 74 65 20 6e 75 6d | 1-36...Note num| 00008450 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 |ber out of range| 00008460 20 20 20 20 20 20 20 2d 20 54 68 65 20 6e 6f 74 | - The not| 00008470 65 20 6e 75 6d 62 65 72 20 77 61 73 20 6e 6f 74 |e number was not| 00008480 20 77 69 74 68 69 6e 20 74 68 65 20 72 61 6e 67 | within the rang| 00008490 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 |e of. | 000084a0 20 20 20 20 20 20 20 20 20 20 20 28 26 34 33 32 | (&432| 000084b0 30 35 29 20 20 20 31 2d 33 36 2e 0a 0a 56 6f 6c |05) 1-36...Vol| 000084c0 75 6d 65 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 |ume out of range| 000084d0 20 20 20 28 26 34 33 32 30 36 29 20 2d 20 54 68 | (&43206) - Th| 000084e0 65 20 76 6f 6c 75 6d 65 20 77 61 73 20 6e 6f 74 |e volume was not| 000084f0 20 77 69 74 68 69 6e 20 74 68 65 20 72 61 6e 67 | within the rang| 00008500 65 20 6f 66 20 30 2d 32 35 35 0a 0a 4d 6f 64 75 |e of 0-255..Modu| 00008510 6c 65 20 61 6c 72 65 61 64 79 20 6c 6f 63 6b 65 |le already locke| 00008520 64 20 28 26 34 33 32 30 37 29 20 2d 20 54 72 61 |d (&43207) - Tra| 00008530 63 6b 65 72 5f 4c 6f 63 6b 20 77 61 73 20 63 61 |cker_Lock was ca| 00008540 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f |lled when the mo| 00008550 64 75 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 |dule. | 00008560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008570 20 20 20 20 20 20 77 61 73 20 61 6c 72 65 61 64 | was alread| 00008580 79 20 6c 6f 63 6b 65 64 2e 20 54 68 65 20 6d 6f |y locked. The mo| 00008590 64 75 6c 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 |dule can only be| 000085a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000085b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000085c0 20 20 75 6e 6c 6f 63 6b 65 64 20 77 68 65 6e 20 | unlocked when | 000085d0 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |the application | 000085e0 69 6e 20 63 6f 6e 74 72 6f 6c 20 6f 66 0a 20 20 |in control of. | 000085f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | t| 00008610 68 65 20 6d 6f 64 75 6c 65 20 69 73 73 75 65 73 |he module issues| 00008620 20 61 20 54 72 61 63 6b 65 72 5f 55 6e 6c 6f 63 | a Tracker_Unloc| 00008630 6b 20 53 57 49 2e 0a 0a 55 6e 6c 6f 63 6b 20 66 |k SWI...Unlock f| 00008640 61 69 6c 65 64 20 20 20 20 20 20 20 20 20 28 26 |ailed (&| 00008650 34 33 32 30 38 29 20 2d 20 54 72 61 63 6b 65 72 |43208) - Tracker| 00008660 5f 55 6e 6c 6f 63 6b 20 77 61 73 20 63 61 6c 6c |_Unlock was call| 00008670 65 64 20 62 75 74 20 65 69 74 68 65 72 0a 20 20 |ed but either. | 00008680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 | t| 000086a0 68 65 20 77 72 6f 6e 67 20 6c 6f 63 6b 69 6e 67 |he wrong locking| 000086b0 20 63 6f 64 65 20 77 61 73 20 73 70 65 63 69 66 | code was specif| 000086c0 69 65 64 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 |ied, or. | 000086d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000086e0 20 20 20 20 20 20 20 20 20 74 68 65 20 6d 6f 64 | the mod| 000086f0 75 6c 65 20 77 61 73 20 6e 6f 74 20 6c 6f 63 6b |ule was not lock| 00008700 65 64 20 61 74 20 74 68 65 20 74 69 6d 65 2e 0a |ed at the time..| 00008710 0a 54 72 61 63 6b 65 72 4d 6f 64 75 6c 65 20 69 |.TrackerModule i| 00008720 6e 20 75 73 65 20 20 28 26 34 33 32 30 39 29 20 |n use (&43209) | 00008730 2d 20 41 6e 20 61 74 74 65 6d 70 74 20 77 61 73 |- An attempt was| 00008740 20 6d 61 64 65 20 74 6f 20 65 78 65 63 75 74 65 | made to execute| 00008750 20 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 | one of the. | 00008760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008770 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 | res| 00008780 74 72 69 63 74 65 64 20 63 6f 6d 6d 61 6e 64 73 |tricted commands| 00008790 20 6f 72 20 53 57 49 27 73 20 77 68 69 6c 65 20 | or SWI's while | 000087a0 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |the. | 000087b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000087c0 20 20 20 20 20 6d 6f 64 75 6c 65 20 77 61 73 20 | module was | 000087d0 6c 6f 63 6b 65 64 20 28 73 65 65 20 54 72 61 63 |locked (see Trac| 000087e0 6b 65 72 5f 4c 6f 63 6b 29 0a 0a 53 70 65 65 64 |ker_Lock)..Speed| 000087f0 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 | not implemented| 00008800 20 28 26 34 33 32 30 41 29 20 2d 20 54 72 61 63 | (&4320A) - Trac| 00008810 6b 65 72 5f 53 70 65 65 64 20 77 61 73 20 63 61 |ker_Speed was ca| 00008820 6c 6c 65 64 20 77 69 74 68 20 52 30 20 6f 75 74 |lled with R0 out| 00008830 73 69 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 |side. | 00008840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008850 20 20 20 20 20 20 74 68 65 20 72 61 6e 67 65 20 | the range | 00008860 6f 66 20 76 61 6c 75 65 73 20 63 75 72 72 65 6e |of values curren| 00008870 74 6c 79 20 61 63 63 65 70 74 65 64 2e 0a 0a 42 |tly accepted...B| 00008880 61 64 20 73 61 6d 70 6c 65 20 6c 6f 6f 70 69 6e |ad sample loopin| 00008890 67 20 20 20 20 28 26 34 33 32 30 42 29 20 2d 20 |g (&4320B) - | 000088a0 56 61 6c 75 65 73 20 6f 66 20 72 65 70 65 61 74 |Values of repeat| 000088b0 20 6f 66 66 73 65 74 2f 72 65 70 65 61 74 20 6c | offset/repeat l| 000088c0 65 6e 67 74 68 20 77 6f 75 6c 64 0a 20 20 20 20 |ength would. | 000088d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000088e0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 75 | cau| 000088f0 73 65 20 73 61 6d 70 6c 65 20 74 6f 20 6c 6f 6f |se sample to loo| 00008900 70 20 6f 75 74 73 69 64 65 20 69 74 73 20 6c 69 |p outside its li| 00008910 6d 69 74 2e 0a 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |mit...==========| 00008920 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00008960 3d 3d 3d 0a 0a 0a 54 68 69 73 20 6d 6f 64 75 6c |===...This modul| 00008970 65 20 77 61 73 20 77 72 69 74 74 65 6e 20 66 6f |e was written fo| 00008980 72 20 65 6e 74 68 75 73 69 61 73 74 73 20 77 68 |r enthusiasts wh| 00008990 6f 20 77 69 73 68 20 74 6f 20 65 6e 6a 6f 79 20 |o wish to enjoy | 000089a0 74 68 65 20 62 65 6e 65 66 69 74 73 20 6f 66 20 |the benefits of | 000089b0 74 68 65 0a 41 72 63 68 69 6d 65 64 65 73 20 73 |the.Archimedes s| 000089c0 6f 75 6e 64 20 73 79 73 74 65 6d 20 69 6e 20 61 |ound system in a| 000089d0 20 6d 75 6c 74 69 2d 74 61 73 6b 69 6e 67 20 65 | multi-tasking e| 000089e0 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 56 65 72 |nvironment...Ver| 000089f0 73 69 6f 6e 73 20 30 2e 30 30 20 74 6f 20 31 2e |sions 0.00 to 1.| 00008a00 78 78 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e |xx of the origin| 00008a10 61 6c 20 6d 6f 64 75 6c 65 20 77 65 72 65 20 77 |al module were w| 00008a20 72 69 74 74 65 6e 20 62 79 20 48 75 67 6f 20 46 |ritten by Hugo F| 00008a30 69 65 6e 6e 65 73 0a 20 20 20 20 20 20 20 20 20 |iennes. | 00008a40 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c | all| 00008a50 6f 77 69 6e 67 20 74 68 65 20 70 6c 61 79 69 6e |owing the playin| 00008a60 67 20 6f 66 20 61 6e 79 20 73 6f 75 6e 64 74 72 |g of any soundtr| 00008a70 61 63 6b 65 72 20 74 75 6e 65 73 2e 0a 56 65 72 |acker tunes..Ver| 00008a80 73 69 6f 6e 73 20 32 2e 30 30 20 74 6f 20 32 2e |sions 2.00 to 2.| 00008a90 78 78 20 77 65 72 65 20 77 72 69 74 74 65 6e 20 |xx were written | 00008aa0 62 79 20 46 61 62 72 69 63 65 20 4d 65 72 63 69 |by Fabrice Merci| 00008ab0 65 72 20 61 6e 64 20 48 75 67 6f 2c 0a 20 20 20 |er and Hugo,. | 00008ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008ad0 20 20 20 70 6c 61 79 69 6e 67 20 61 6e 79 20 74 | playing any t| 00008ae0 72 61 63 6b 65 72 20 74 75 6e 65 73 20 28 77 69 |racker tunes (wi| 00008af0 74 68 20 63 68 61 6e 67 65 73 2f 69 6d 70 72 6f |th changes/impro| 00008b00 76 65 6d 65 6e 74 73 29 2e 0a 56 65 72 73 69 6f |vements)..Versio| 00008b10 6e 73 20 33 2e 30 30 20 74 6f 20 34 2e 30 37 20 |ns 3.00 to 4.07 | 00008b20 77 65 72 65 20 77 72 69 74 74 65 6e 20 62 79 20 |were written by | 00008b30 4d 61 74 74 68 65 77 20 46 61 72 72 6f 77 20 74 |Matthew Farrow t| 00008b40 6f 20 61 6c 6c 6f 77 20 74 68 65 20 70 6c 61 79 |o allow the play| 00008b50 69 6e 67 20 6f 66 0a 20 20 20 20 20 20 20 20 20 |ing of. | 00008b60 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 75 | sou| 00008b70 6e 64 74 72 61 63 6b 65 72 20 6f 72 20 74 72 61 |ndtracker or tra| 00008b80 63 6b 65 72 20 74 75 6e 65 73 2c 20 77 69 74 68 |cker tunes, with| 00008b90 20 74 68 65 20 53 57 49 20 65 78 74 65 6e 73 69 | the SWI extensi| 00008ba0 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |on. | 00008bb0 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 76 65 | from ve| 00008bc0 72 73 69 6f 6e 73 20 34 2e 30 30 20 6f 6e 77 61 |rsions 4.00 onwa| 00008bd0 72 64 73 2e 0a 0a 59 6f 75 20 63 61 6e 20 63 6f |rds...You can co| 00008be0 6e 74 61 63 74 20 48 75 67 6f 20 69 6e 20 74 68 |ntact Hugo in th| 00008bf0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 73 |e following ways| 00008c00 3a 0a 56 6f 69 63 65 3a 20 55 4b 20 28 30 37 34 |:.Voice: UK (074| 00008c10 39 29 20 37 32 32 33 34 20 28 61 73 6b 20 66 6f |9) 72234 (ask fo| 00008c20 72 20 48 75 67 6f 29 0a 56 6f 64 61 46 6f 6e 65 |r Hugo).VodaFone| 00008c30 3a 20 28 30 38 33 31 29 20 34 34 34 31 39 32 0a |: (0831) 444192.| 00008c40 54 68 65 20 57 6f 72 6c 64 20 6f 66 20 43 72 79 |The World of Cry| 00008c50 74 6f 6e 20 28 62 62 73 29 20 3a 20 55 4b 20 28 |ton (bbs) : UK (| 00008c60 30 37 34 39 29 20 36 37 39 37 39 34 20 28 33 30 |0749) 679794 (30| 00008c70 30 2d 32 34 30 30 20 2d 20 31 20 6c 69 6e 65 29 |0-2400 - 1 line)| 00008c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00008c90 20 20 20 20 20 20 20 20 20 20 20 3a 20 55 4b 20 | : UK | 00008ca0 28 30 37 34 39 29 20 36 37 30 30 33 30 20 28 33 |(0749) 670030 (3| 00008cb0 30 30 2d 48 53 54 2f 56 33 32 20 2d 20 32 20 6c |00-HST/V32 - 2 l| 00008cc0 69 6e 65 73 29 0a 4d 61 69 6c 3a 20 50 72 65 73 |ines).Mail: Pres| 00008cd0 74 65 6c 20 30 34 35 38 34 37 36 30 38 2c 20 43 |tel 045847608, C| 00008ce0 49 58 20 61 6c 74 6d 61 6e 0a 42 75 72 63 6f 74 |IX altman.Burcot| 00008cf0 74 20 4d 61 6e 6f 72 2c 20 57 65 6c 6c 73 2c 20 |t Manor, Wells, | 00008d00 53 6f 6d 65 72 73 65 74 2c 20 42 41 35 20 31 4e |Somerset, BA5 1N| 00008d10 48 2c 20 55 4b 0a 0a 4d 61 74 74 20 46 61 72 72 |H, UK..Matt Farr| 00008d20 6f 77 3a 0a 4d 61 69 6c 3a 20 41 72 63 61 64 65 |ow:.Mail: Arcade| 00008d30 20 62 62 73 20 5b 30 38 31 2d 36 35 34 20 32 32 | bbs [081-654 22| 00008d40 31 32 5d 20 61 73 20 27 4d 61 74 74 68 65 77 20 |12] as 'Matthew | 00008d50 46 61 72 72 6f 77 27 20 28 23 34 38 33 29 0a 20 |Farrow' (#483). | 00008d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008d70 5b 30 38 31 2d 36 35 35 20 34 34 31 32 5d 0a 0a |[081-655 4412]..| 00008d80 34 35 20 41 6c 6c 65 79 6e 20 50 61 72 6b 2c 20 |45 Alleyn Park, | 00008d90 44 75 6c 77 69 63 68 2c 20 4c 6f 6e 64 6f 6e 20 |Dulwich, London | 00008da0 53 45 32 31 20 38 41 54 0a 0a 0a 3d 3d 3d 3d 3d |SE21 8AT...=====| 00008db0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00008df0 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 55 70 64 61 74 65 |========..Update| 00008e00 73 0a 2d 2d 2d 2d 2d 2d 2d 0a 56 65 72 73 69 6f |s.-------.Versio| 00008e10 6e 20 34 2e 30 30 20 28 66 72 6f 6d 20 33 2e 30 |n 4.00 (from 3.0| 00008e20 34 29 0a 20 20 20 2d 20 53 57 49 20 69 6e 74 65 |4). - SWI inte| 00008e30 72 66 61 63 65 20 61 64 64 65 64 2e 0a 20 20 20 |rface added.. | 00008e40 2d 20 56 6f 6c 75 6d 65 20 74 72 61 6e 73 6c 61 |- Volume transla| 00008e50 74 69 6f 6e 73 20 66 6f 72 20 73 6f 75 6e 64 74 |tions for soundt| 00008e60 72 61 63 6b 65 72 20 6d 6f 64 75 6c 65 73 20 70 |racker modules p| 00008e70 65 72 66 6f 72 6d 65 64 20 63 6f 72 72 65 63 74 |erformed correct| 00008e80 6c 79 20 6e 6f 77 20 28 3f 29 0a 20 20 20 2d 20 |ly now (?). - | 00008e90 4c 6f 63 6b 69 6e 67 20 73 79 73 74 65 6d 20 69 |Locking system i| 00008ea0 6e 74 72 6f 64 75 63 65 64 0a 20 20 20 2d 20 4e |ntroduced. - N| 00008eb0 65 78 74 20 70 61 74 74 65 72 6e 20 6c 69 6e 65 |ext pattern line| 00008ec0 20 70 6c 61 79 65 64 20 6a 75 73 74 20 61 66 74 | played just aft| 00008ed0 65 72 20 70 61 74 74 65 72 6e 20 70 6f 73 69 74 |er pattern posit| 00008ee0 69 6f 6e 20 69 6e 63 72 65 6d 65 6e 74 65 64 2c |ion incremented,| 00008ef0 20 6e 6f 74 0a 20 20 20 20 20 6a 75 73 74 20 62 | not. just b| 00008f00 65 66 6f 72 65 20 28 73 6f 20 74 68 65 20 70 6f |efore (so the po| 00008f10 73 69 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 61 |sition doesn't a| 00008f20 70 70 65 61 72 20 74 6f 20 62 65 20 61 68 65 61 |ppear to be ahea| 00008f30 64 20 6f 66 20 74 68 65 20 6d 75 73 69 63 29 2e |d of the music).| 00008f40 0a 20 20 20 2d 20 52 65 6d 6f 76 61 6c 20 6f 66 |. - Removal of| 00008f50 20 6d 6f 72 65 20 6d 69 6e 6f 72 20 62 75 67 73 | more minor bugs| 00008f60 2e 2e 0a 0a 56 65 72 73 69 6f 6e 20 34 2e 30 31 |....Version 4.01| 00008f70 0a 20 20 20 2d 20 44 6f 65 73 6e 27 74 20 73 6c |. - Doesn't sl| 00008f80 6f 77 20 65 76 65 72 79 74 68 69 6e 67 20 64 6f |ow everything do| 00008f90 77 6e 20 73 6f 20 6d 75 63 68 20 77 68 65 6e 20 |wn so much when | 00008fa0 70 61 75 73 65 64 0a 20 20 20 2d 20 46 69 78 65 |paused. - Fixe| 00008fb0 64 20 62 75 67 20 69 6e 20 54 72 61 63 6b 65 72 |d bug in Tracker| 00008fc0 5f 50 6c 61 79 4e 6f 74 65 20 28 63 6f 6e 63 65 |_PlayNote (conce| 00008fd0 72 6e 69 6e 67 20 63 68 61 6e 6e 65 6c 20 6e 75 |rning channel nu| 00008fe0 6d 62 65 72 29 0a 20 20 20 2d 20 43 6f 72 72 65 |mber). - Corre| 00008ff0 63 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 |cted documentati| 00009000 6f 6e 20 6f 6e 20 54 72 61 63 6b 65 72 5f 52 65 |on on Tracker_Re| 00009010 61 64 53 61 6d 70 6c 65 54 61 62 6c 65 0a 0a 56 |adSampleTable..V| 00009020 65 72 73 69 6f 6e 20 34 2e 30 32 0a 20 20 20 2d |ersion 4.02. -| 00009030 20 41 64 64 65 64 20 6e 65 77 20 53 57 49 27 73 | Added new SWI's| 00009040 20 27 54 72 61 63 6b 65 72 5f 4d 75 74 65 43 68 | 'Tracker_MuteCh| 00009050 61 6e 6e 65 6c 27 20 61 6e 64 20 27 54 72 61 63 |annel' and 'Trac| 00009060 6b 65 72 5f 52 65 73 74 6f 72 65 43 68 61 6e 6e |ker_RestoreChann| 00009070 65 6c 27 0a 20 20 20 2d 20 41 72 70 65 67 67 69 |el'. - Arpeggi| 00009080 6f 20 63 6f 6d 6d 61 6e 64 20 61 6c 74 65 72 65 |o command altere| 00009090 64 20 74 6f 20 63 6f 6e 66 6f 72 6d 20 77 69 74 |d to conform wit| 000090a0 68 20 61 20 73 6f 75 6e 64 74 72 61 63 6b 65 72 |h a soundtracker| 000090b0 2d 64 65 72 69 76 61 74 69 76 65 0a 20 20 20 20 |-derivative. | 000090c0 20 20 20 20 66 6f 72 6d 61 74 3b 20 49 20 74 68 | format; I th| 000090d0 69 6e 6b 20 69 74 27 73 20 74 68 65 20 73 61 6d |ink it's the sam| 000090e0 65 20 61 73 20 74 68 65 20 73 6f 75 6e 64 74 72 |e as the soundtr| 000090f0 61 63 6b 65 72 20 66 6f 72 6d 61 74 20 70 72 6f |acker format pro| 00009100 70 65 72 2c 20 62 75 74 0a 20 20 20 20 20 20 20 |per, but. | 00009110 20 49 20 63 61 6e 27 74 20 66 69 6e 64 20 61 6e | I can't find an| 00009120 79 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 |y documentation | 00009130 74 6f 20 63 68 65 63 6b 20 74 68 69 73 21 0a 20 |to check this!. | 00009140 20 20 2d 20 46 69 78 65 64 20 62 75 67 20 77 68 | - Fixed bug wh| 00009150 65 72 65 20 69 66 20 79 6f 75 20 64 69 64 20 61 |ere if you did a| 00009160 20 54 72 61 63 6b 65 72 5f 50 6c 61 79 4e 6f 74 | Tracker_PlayNot| 00009170 65 20 77 68 69 6c 65 20 74 68 65 20 74 75 6e 65 |e while the tune| 00009180 20 77 61 73 20 70 61 75 73 65 64 2c 0a 20 20 20 | was paused,. | 00009190 20 20 20 20 20 69 74 20 73 6f 6d 65 74 69 6d 65 | it sometime| 000091a0 73 20 64 69 64 6e 27 74 20 63 6c 65 61 72 20 74 |s didn't clear t| 000091b0 68 65 20 73 6f 75 6e 64 20 62 75 66 66 65 72 73 |he sound buffers| 000091c0 20 61 66 74 65 72 77 61 72 64 73 20 28 62 75 7a | afterwards (buz| 000091d0 7a 69 6e 67 20 65 74 63 2e 29 0a 0a 56 65 72 73 |zing etc.)..Vers| 000091e0 69 6f 6e 20 34 2e 30 33 0a 20 20 20 2d 20 49 20 |ion 4.03. - I | 000091f0 68 61 76 65 20 66 69 78 65 64 20 74 68 65 20 54 |have fixed the T| 00009200 72 61 63 6b 65 72 5f 50 6c 61 79 4e 6f 74 65 20 |racker_PlayNote | 00009210 62 75 67 20 66 72 6f 6d 20 56 34 2e 30 31 20 6e |bug from V4.01 n| 00009220 6f 77 2c 20 68 6f 6e 65 73 74 21 0a 20 20 20 2d |ow, honest!. -| 00009230 20 46 69 78 65 64 20 70 72 6f 62 6c 65 6d 20 69 | Fixed problem i| 00009240 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 56 34 2e |ntroduced in V4.| 00009250 30 32 20 77 68 65 72 65 20 64 6f 69 6e 67 20 54 |02 where doing T| 00009260 72 61 63 6b 65 72 5f 50 6c 61 79 4e 6f 74 65 20 |racker_PlayNote | 00009270 77 68 69 6c 65 20 61 0a 20 20 20 20 20 20 20 20 |while a. | 00009280 74 75 6e 65 20 77 61 73 20 70 6c 61 79 69 6e 67 |tune was playing| 00009290 20 73 6f 6d 65 74 69 6d 65 73 20 63 72 61 73 68 | sometimes crash| 000092a0 65 64 20 28 69 66 20 74 68 65 20 73 61 6d 70 6c |ed (if the sampl| 000092b0 65 20 77 61 73 20 62 6c 61 6e 6b 29 0a 20 20 20 |e was blank). | 000092c0 2d 20 53 68 6f 75 6c 64 20 63 72 61 73 68 20 6c |- Should crash l| 000092d0 65 73 73 20 6f 66 74 65 6e 20 77 68 65 6e 20 6c |ess often when l| 000092e0 6f 61 64 69 6e 67 20 61 20 6e 65 77 20 74 75 6e |oading a new tun| 000092f0 65 20 28 6e 6f 20 70 72 6f 6d 69 73 65 73 21 29 |e (no promises!)| 00009300 0a 0a 56 65 72 73 69 6f 6e 20 34 2e 30 34 0a 20 |..Version 4.04. | 00009310 20 20 2d 20 41 64 64 65 64 20 2a 50 6c 61 79 53 | - Added *PlayS| 00009320 70 65 65 64 20 61 6e 64 20 6f 70 74 69 6f 6e 20 |peed and option | 00009330 74 6f 20 63 68 61 6e 67 65 20 73 61 6d 70 6c 65 |to change sample| 00009340 20 72 61 74 65 20 28 66 61 73 74 65 72 20 38 2d | rate (faster 8-| 00009350 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 |channel. | 00009360 74 75 6e 65 73 29 0a 20 20 20 2d 20 50 72 6f 76 |tunes). - Prov| 00009370 69 73 69 6f 6e 20 66 6f 72 20 56 49 44 43 20 65 |ision for VIDC e| 00009380 6e 68 61 6e 63 65 72 20 6f 77 6e 65 72 73 20 28 |nhancer owners (| 00009390 74 75 6e 65 73 20 61 72 65 20 6e 6f 72 6d 61 6c |tunes are normal| 000093a0 6c 79 20 61 20 70 65 72 66 65 63 74 20 66 69 66 |ly a perfect fif| 000093b0 74 68 0a 20 20 20 20 20 20 20 20 74 6f 6f 20 68 |th. too h| 000093c0 69 67 68 29 20 69 6e 20 74 68 65 20 66 6f 72 6d |igh) in the form| 000093d0 20 6f 66 20 2a 50 6c 61 79 53 70 65 65 64 20 3c | of *PlaySpeed <| 000093e0 32 7c 33 3e 0a 20 20 20 2d 20 41 64 64 65 64 20 |2|3>. - Added | 000093f0 54 72 61 63 6b 65 72 5f 53 70 65 65 64 20 53 57 |Tracker_Speed SW| 00009400 49 20 28 73 61 6d 65 20 61 73 20 2a 50 6c 61 79 |I (same as *Play| 00009410 53 70 65 65 64 29 0a 20 20 20 2d 20 4d 6f 64 75 |Speed). - Modu| 00009420 6c 65 20 6e 6f 77 20 63 6c 61 69 6d 73 20 6d 65 |le now claims me| 00009430 6d 6f 72 79 20 69 6e 20 52 4d 41 20 61 6e 64 20 |mory in RMA and | 00009440 62 75 69 6c 64 73 20 74 61 62 6c 65 73 20 61 73 |builds tables as| 00009450 20 69 74 20 6e 65 65 64 73 20 74 68 65 6d 2c 0a | it needs them,.| 00009460 20 20 20 20 20 20 20 20 73 61 76 69 6e 67 20 61 | saving a| 00009470 62 6f 75 74 20 31 32 4b 20 6f 66 20 64 69 73 63 |bout 12K of disc| 00009480 20 73 70 61 63 65 2e 0a 20 20 20 2d 20 41 6c 74 | space.. - Alt| 00009490 65 72 65 64 20 2a 50 6c 61 79 53 61 6d 70 6c 65 |ered *PlaySample| 000094a0 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 70 72 69 |s command to pri| 000094b0 6e 74 20 27 2d 27 20 66 6f 72 20 73 61 6d 70 6c |nt '-' for sampl| 000094c0 65 20 6e 61 6d 65 20 69 66 20 62 6c 61 6e 6b 20 |e name if blank | 000094d0 28 75 73 65 64 0a 20 20 20 20 20 20 20 20 74 6f |(used. to| 000094e0 20 69 67 6e 6f 72 65 20 6e 6f 6e 2d 7a 65 72 6f | ignore non-zero| 000094f0 20 73 61 6d 70 6c 65 73 20 77 69 74 68 20 62 6c | samples with bl| 00009500 61 6e 6b 20 6e 61 6d 65 73 29 0a 20 20 20 2d 20 |ank names). - | 00009510 4d 61 69 6e 20 69 6e 74 65 72 72 75 70 74 20 70 |Main interrupt p| 00009520 75 74 20 6f 6e 20 54 69 63 6b 65 72 56 2c 20 73 |ut on TickerV, s| 00009530 6f 20 74 68 69 73 20 73 68 6f 75 6c 64 20 65 6e |o this should en| 00009540 64 20 70 72 6f 62 6c 65 6d 73 20 61 6e 79 20 6d |d problems any m| 00009550 75 6c 74 69 73 79 6e 63 0a 20 20 20 20 20 20 20 |ultisync. | 00009560 20 6d 6f 6e 69 74 6f 72 20 6f 77 6e 65 72 73 20 | monitor owners | 00009570 6d 61 79 20 68 61 76 65 20 68 61 64 20 77 69 74 |may have had wit| 00009580 68 20 74 75 6e 65 73 20 67 6f 69 6e 67 20 74 6f |h tunes going to| 00009590 6f 20 66 61 73 74 20 65 74 63 2e 0a 0a 56 65 72 |o fast etc...Ver| 000095a0 73 69 6f 6e 20 34 2e 30 35 0a 20 20 20 2d 20 46 |sion 4.05. - F| 000095b0 69 78 65 64 20 54 72 61 63 6b 65 72 5f 52 65 61 |ixed Tracker_Rea| 000095c0 64 53 61 6d 70 6c 65 54 61 62 6c 65 20 28 77 68 |dSampleTable (wh| 000095d0 65 6e 20 52 30 20 77 61 73 20 6f 75 74 20 6f 66 |en R0 was out of| 000095e0 20 72 61 6e 67 65 20 5b 69 65 2e 20 3e 31 35 2f | range [ie. >15/| 000095f0 3e 33 31 5d 20 52 31 0a 20 20 20 20 20 20 20 20 |>31] R1. | 00009600 70 6f 69 6e 74 65 64 20 74 6f 20 61 6e 20 75 6e |pointed to an un| 00009610 64 65 66 69 6e 65 64 20 73 74 72 69 6e 67 29 20 |defined string) | 00009620 73 6f 20 74 68 61 74 20 52 31 20 61 6e 64 20 52 |so that R1 and R| 00009630 36 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 6f 20 |6 will point to | 00009640 61 0a 20 20 20 20 20 20 20 20 7a 65 72 6f 20 69 |a. zero i| 00009650 66 20 74 68 65 20 73 61 6d 70 6c 65 20 6e 75 6d |f the sample num| 00009660 62 65 72 20 69 73 20 6f 75 74 20 6f 66 20 72 61 |ber is out of ra| 00009670 6e 67 65 2e 0a 20 20 20 2d 20 43 68 61 6e 67 65 |nge.. - Change| 00009680 64 20 63 6f 6d 6d 61 6e 64 20 6f 72 64 65 72 20 |d command order | 00009690 73 6f 20 74 68 61 74 20 27 2a 50 6c 61 79 73 2e |so that '*Plays.| 000096a0 27 20 77 69 6c 6c 20 64 6f 20 2a 50 6c 61 79 53 |' will do *PlayS| 000096b0 74 61 74 75 73 20 72 61 74 68 65 72 20 74 68 61 |tatus rather tha| 000096c0 6e 0a 20 20 20 20 20 20 20 20 2a 50 6c 61 79 53 |n. *PlayS| 000096d0 61 6d 70 6c 65 73 2e 0a 20 20 20 2d 20 4d 6f 64 |amples.. - Mod| 000096e0 75 6c 65 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 73 |ule now installs| 000096f0 20 69 74 73 65 6c 66 20 61 73 20 61 20 73 6f 75 | itself as a sou| 00009700 6e 64 20 63 68 61 6e 6e 65 6c 20 68 61 6e 64 6c |nd channel handl| 00009710 65 72 20 28 6e 6f 20 6d 6f 72 65 20 6f 66 20 74 |er (no more of t| 00009720 68 65 0a 20 20 20 20 20 20 20 20 27 54 72 61 63 |he. 'Trac| 00009730 6b 65 72 56 6f 78 27 20 76 6f 69 63 65 29 2e 0a |kerVox' voice)..| 00009740 20 20 20 20 20 45 66 66 65 63 74 73 20 6f 66 20 | Effects of | 00009750 74 68 69 73 20 72 65 63 6f 64 69 6e 67 20 61 72 |this recoding ar| 00009760 65 3a 2d 0a 20 20 20 20 20 20 20 20 2a 20 20 49 |e:-. * I| 00009770 74 27 73 20 6d 75 63 68 20 74 72 69 63 6b 69 65 |t's much trickie| 00009780 72 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 74 |r for programs t| 00009790 6f 20 73 61 62 6f 74 61 67 65 20 61 6e 79 20 63 |o sabotage any c| 000097a0 75 72 72 65 6e 74 20 74 75 6e 65 73 2c 20 61 73 |urrent tunes, as| 000097b0 0a 20 20 20 20 20 20 20 20 20 20 20 61 73 73 69 |. assi| 000097c0 67 6e 69 6e 67 20 73 6f 75 6e 64 20 76 6f 69 63 |gning sound voic| 000097d0 65 73 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 |es has no effect| 000097e0 20 28 75 6e 6c 65 73 73 20 74 68 65 20 74 75 6e | (unless the tun| 000097f0 65 20 69 73 20 73 74 6f 70 70 65 64 29 2e 0a 20 |e is stopped).. | 00009800 20 20 20 20 20 20 20 2a 20 20 42 65 66 6f 72 65 | * Before| 00009810 2c 20 73 61 6d 70 6c 65 73 20 70 6c 61 79 65 64 |, samples played| 00009820 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 | simultaneously | 00009830 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 63 68 61 |on different cha| 00009840 6e 6e 65 6c 73 20 77 65 72 65 0a 20 20 20 20 20 |nnels were. | 00009850 20 20 20 20 20 20 73 6f 6d 65 74 69 6d 65 73 20 | sometimes | 00009860 70 6c 61 79 65 64 20 73 6c 69 67 68 74 6c 79 20 |played slightly | 00009870 6f 75 74 20 6f 66 20 70 68 61 73 65 20 28 73 6f |out of phase (so| 00009880 75 6e 64 65 64 20 71 75 69 65 74 65 72 2f 77 65 |unded quieter/we| 00009890 69 72 64 29 2e 0a 20 20 20 20 20 20 20 20 20 20 |ird).. | 000098a0 20 54 68 69 73 20 73 6f 6d 65 74 69 6d 65 73 20 | This sometimes | 000098b0 73 74 69 6c 6c 20 68 61 70 70 65 6e 73 2c 20 62 |still happens, b| 000098c0 75 74 20 6c 65 73 73 20 6f 66 74 65 6e 2e 0a 20 |ut less often.. | 000098d0 20 20 20 20 20 20 20 2a 20 20 52 65 2d 63 6f 6e | * Re-con| 000098e0 66 69 67 75 72 69 6e 67 20 74 68 65 20 73 61 6d |figuring the sam| 000098f0 70 6c 65 20 72 61 74 65 20 77 69 6c 6c 20 6e 6f |ple rate will no| 00009900 74 20 77 6f 72 6b 20 77 68 69 6c 65 20 61 20 74 |t work while a t| 00009910 75 6e 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 |une is. | 00009920 20 20 70 6c 61 79 69 6e 67 2c 20 73 6f 20 74 68 | playing, so th| 00009930 61 74 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 |at should be one| 00009940 20 6c 65 73 73 20 74 68 69 6e 67 20 74 6f 20 67 | less thing to g| 00009950 6f 20 77 72 6f 6e 67 2e 0a 20 20 20 2d 20 53 6c |o wrong.. - Sl| 00009960 69 67 68 74 6c 79 20 63 68 61 6e 67 65 64 20 2a |ightly changed *| 00009970 50 6c 61 79 73 61 6d 70 6c 65 73 20 63 6f 6d 6d |Playsamples comm| 00009980 61 6e 64 20 74 6f 20 69 6e 63 6c 75 64 65 20 73 |and to include s| 00009990 61 6d 70 6c 65 20 6e 75 6d 62 65 72 2e 0a 20 20 |ample number.. | 000099a0 20 2d 20 46 69 78 65 64 20 70 72 6f 62 6c 65 6d | - Fixed problem| 000099b0 20 77 69 74 68 20 2a 50 6c 61 79 73 74 61 74 75 | with *Playstatu| 000099c0 73 20 61 6e 64 20 6e 6f 6e 2d 74 65 72 6d 69 6e |s and non-termin| 000099d0 61 74 65 64 20 74 75 6e 65 20 6e 61 6d 65 73 2e |ated tune names.| 000099e0 0a 20 20 20 2d 20 41 6c 74 65 72 65 64 20 54 72 |. - Altered Tr| 000099f0 61 63 6b 65 72 5f 53 74 65 72 65 6f 20 74 6f 20 |acker_Stereo to | 00009a00 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 20 73 |return current s| 00009a10 65 74 74 69 6e 67 73 20 69 66 20 52 30 3d 2d 31 |ettings if R0=-1| 00009a20 20 6f 6e 20 65 6e 74 72 79 2e 0a 20 20 20 2d 20 | on entry.. - | 00009a30 41 64 64 65 64 20 2a 50 6c 61 79 56 6f 6c 75 6d |Added *PlayVolum| 00009a40 65 2f 54 72 61 63 6b 65 72 5f 56 6f 6c 75 6d 65 |e/Tracker_Volume| 00009a50 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 | to control over| 00009a60 61 6c 6c 20 76 6f 6c 75 6d 65 2e 0a 20 20 20 76 |all volume.. v| 00009a70 65 72 73 69 6f 6e 20 28 42 29 0a 20 20 20 2d 20 |ersion (B). - | 00009a80 49 66 20 2a 50 6c 61 79 53 74 65 72 65 6f 20 34 |If *PlayStereo 4| 00009a90 20 77 61 73 20 73 65 6c 65 63 74 65 64 2c 20 73 | was selected, s| 00009aa0 74 65 72 65 6f 20 73 65 74 74 69 6e 67 73 20 77 |tereo settings w| 00009ab0 65 72 65 20 62 65 69 6e 67 20 63 6f 72 72 75 70 |ere being corrup| 00009ac0 74 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20 20 |ted when. | 00009ad0 20 74 68 65 20 74 75 6e 65 20 77 61 73 20 73 74 | the tune was st| 00009ae0 6f 70 70 65 64 2e 0a 20 20 20 2d 20 54 72 61 63 |opped.. - Trac| 00009af0 6b 65 72 20 27 45 27 20 73 74 65 72 65 6f 20 63 |ker 'E' stereo c| 00009b00 6f 6d 6d 61 6e 64 73 20 63 61 75 73 65 64 20 61 |ommands caused a| 00009b10 20 63 72 61 73 68 20 69 66 20 2a 50 6c 61 79 53 | crash if *PlayS| 00009b20 74 65 72 65 6f 20 34 20 77 61 73 20 65 6e 61 62 |tereo 4 was enab| 00009b30 6c 65 64 2e 0a 0a 56 65 72 73 69 6f 6e 20 34 2e |led...Version 4.| 00009b40 30 36 20 20 20 20 20 20 4d 61 6a 6f 72 20 75 70 |06 Major up| 00009b50 64 61 74 65 0a 20 20 20 49 20 66 69 6e 61 6c 6c |date. I finall| 00009b60 79 20 67 6f 74 20 73 6f 6d 65 20 64 65 63 65 6e |y got some decen| 00009b70 74 20 61 6d 69 67 61 20 73 6f 75 6e 64 74 72 61 |t amiga soundtra| 00009b80 63 6b 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 |cker documentati| 00009b90 6f 6e 2e 0a 20 20 20 54 68 65 6e 20 49 20 64 69 |on.. Then I di| 00009ba0 73 63 6f 76 65 72 65 64 20 68 6f 77 20 6d 75 63 |scovered how muc| 00009bb0 68 20 49 20 68 61 64 20 77 72 6f 6e 67 2e 2e 20 |h I had wrong.. | 00009bc0 6d 61 6a 6f 72 20 75 70 64 61 74 65 20 6e 65 65 |major update nee| 00009bd0 64 65 64 21 0a 20 20 20 0a 20 20 20 2d 20 53 6f |ded!. . - So| 00009be0 75 6e 64 74 72 61 63 6b 65 72 20 74 75 6e 65 73 |undtracker tunes| 00009bf0 20 77 65 72 65 20 62 65 69 6e 67 20 63 6f 6e 76 | were being conv| 00009c00 65 72 74 65 64 20 77 72 6f 6e 67 6c 79 2e 2e 0a |erted wrongly...| 00009c10 20 20 20 20 20 20 20 20 2a 20 20 52 65 70 65 61 | * Repea| 00009c20 74 20 6f 66 66 73 65 74 20 6e 6f 77 20 6d 61 64 |t offset now mad| 00009c30 65 20 74 77 69 63 65 20 61 73 20 62 69 67 2e 0a |e twice as big..| 00009c40 20 20 20 20 20 20 20 20 2a 20 20 56 6f 6c 75 6d | * Volum| 00009c50 65 73 20 61 62 6f 76 65 20 74 68 65 20 73 70 65 |es above the spe| 00009c60 63 69 66 69 65 64 20 6d 61 78 69 6d 75 6d 20 28 |cified maximum (| 00009c70 36 34 29 20 77 65 72 65 20 63 6f 6e 76 65 72 74 |64) were convert| 00009c80 65 64 20 73 74 72 61 6e 67 65 6c 79 2e 0a 20 20 |ed strangely.. | 00009c90 20 20 20 20 20 20 20 20 20 4e 6f 77 20 6f 75 74 | Now out| 00009ca0 2d 6f 66 2d 72 61 6e 67 65 20 76 6f 6c 75 6d 65 |-of-range volume| 00009cb0 73 20 61 72 65 20 73 65 74 20 74 6f 20 36 34 2e |s are set to 64.| 00009cc0 0a 20 20 20 2d 20 41 63 63 75 72 61 63 79 20 6f |. - Accuracy o| 00009cd0 66 20 74 68 65 20 73 6f 75 6e 64 20 72 6f 75 74 |f the sound rout| 00009ce0 69 6e 65 73 20 69 6d 70 72 6f 76 65 64 20 74 6f |ines improved to| 00009cf0 20 63 6f 70 65 20 77 69 74 68 20 76 65 72 79 20 | cope with very | 00009d00 73 6d 61 6c 6c 20 6c 6f 6f 70 69 6e 67 0a 20 20 |small looping. | 00009d10 20 20 20 20 20 20 73 61 6d 70 6c 65 73 20 77 68 | samples wh| 00009d20 69 63 68 20 77 65 72 65 20 73 65 65 6d 69 6e 67 |ich were seeming| 00009d30 6c 79 20 70 69 74 63 68 65 64 20 77 72 6f 6e 67 |ly pitched wrong| 00009d40 6c 79 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f |ly as a result o| 00009d50 66 20 34 2d 62 79 74 65 0a 20 20 20 20 20 20 20 |f 4-byte. | 00009d60 20 61 63 63 75 72 61 63 79 2e 20 41 63 63 75 72 | accuracy. Accur| 00009d70 61 63 79 20 6e 6f 77 20 31 20 62 79 74 65 2e 20 |acy now 1 byte. | 00009d80 54 68 69 73 20 6d 61 79 20 73 6c 6f 77 20 74 68 |This may slow th| 00009d90 69 6e 67 73 20 64 6f 77 6e 20 61 20 74 69 6e 79 |ings down a tiny| 00009da0 20 62 69 74 2e 0a 20 20 20 2d 20 41 6c 74 65 72 | bit.. - Alter| 00009db0 65 64 20 74 68 65 20 76 6f 6c 75 6d 65 20 73 79 |ed the volume sy| 00009dc0 73 74 65 6d 20 73 6f 20 74 68 61 74 20 73 6f 75 |stem so that sou| 00009dd0 6e 64 74 72 61 63 6b 65 72 20 76 6f 6c 75 6d 65 |ndtracker volume| 00009de0 73 20 61 72 65 20 61 73 20 61 63 63 75 72 61 74 |s are as accurat| 00009df0 65 0a 20 20 20 20 20 20 20 20 61 73 20 70 6f 73 |e. as pos| 00009e00 73 69 62 6c 65 20 28 69 65 2e 20 76 6f 6c 75 6d |sible (ie. volum| 00009e10 65 20 73 6c 69 64 65 73 20 6e 6f 77 20 73 6c 69 |e slides now sli| 00009e20 64 65 20 64 6f 77 6e 20 74 68 65 20 73 6f 75 6e |de down the soun| 00009e30 64 74 72 61 63 6b 65 72 20 28 30 2d 36 34 29 0a |dtracker (0-64).| 00009e40 20 20 20 20 20 20 20 20 76 6f 6c 75 6d 65 73 20 | volumes | 00009e50 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 |rather than the | 00009e60 61 72 63 20 6c 6f 67 20 76 6f 6c 75 6d 65 73 20 |arc log volumes | 00009e70 28 30 2d 32 35 35 29 2c 20 62 75 74 20 73 74 69 |(0-255), but sti| 00009e80 6c 6c 20 6b 65 65 70 69 6e 67 0a 20 20 20 20 20 |ll keeping. | 00009e90 20 20 20 74 68 65 20 73 61 6d 65 20 73 79 73 74 | the same syst| 00009ea0 65 6d 20 66 6f 72 20 74 72 61 63 6b 65 72 20 74 |em for tracker t| 00009eb0 75 6e 65 73 2e 20 54 68 65 72 65 66 6f 72 65 2c |unes. Therefore,| 00009ec0 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 | if you want the| 00009ed0 20 6d 6f 73 74 0a 20 20 20 20 20 20 20 20 61 63 | most. ac| 00009ee0 63 75 72 61 74 65 20 70 6c 61 79 62 61 63 6b 20 |curate playback | 00009ef0 6f 66 20 61 20 73 6f 75 6e 64 74 72 61 63 6b 65 |of a soundtracke| 00009f00 72 20 74 75 6e 65 2c 20 65 6e 73 75 72 65 20 69 |r tune, ensure i| 00009f10 74 20 69 73 20 69 6e 20 69 74 73 0a 20 20 20 20 |t is in its. | 00009f20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 66 6f 72 | original for| 00009f30 6d 61 74 2e 0a 20 20 20 2d 20 46 69 6e 61 6c 6c |mat.. - Finall| 00009f40 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 63 6f |y implemented co| 00009f50 6d 6d 61 6e 64 73 20 33 20 28 70 6f 72 74 61 6d |mmands 3 (portam| 00009f60 65 6e 74 6f 29 20 61 6e 64 20 34 20 28 76 69 62 |ento) and 4 (vib| 00009f70 72 61 74 6f 29 2e 20 49 66 20 79 6f 75 20 68 61 |rato). If you ha| 00009f80 76 65 0a 20 20 20 20 20 20 20 20 63 6f 6e 76 65 |ve. conve| 00009f90 72 74 65 64 20 6f 72 69 67 69 6e 61 6c 20 73 6f |rted original so| 00009fa0 75 6e 64 74 72 61 63 6b 65 72 20 74 75 6e 65 73 |undtracker tunes| 00009fb0 20 69 6e 74 6f 20 74 72 61 63 6b 65 72 20 66 6f | into tracker fo| 00009fc0 72 6d 61 74 2c 20 63 6f 6d 6d 61 6e 64 20 34 0a |rmat, command 4.| 00009fd0 20 20 20 20 20 20 20 20 77 69 6c 6c 20 68 61 76 | will hav| 00009fe0 65 20 6e 6f 20 65 66 66 65 63 74 20 64 75 65 20 |e no effect due | 00009ff0 74 6f 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 |to the different| 0000a000 20 76 6f 6c 75 6d 65 20 66 6f 72 6d 61 74 73 2e | volume formats.| 0000a010 20 54 68 65 20 76 69 62 72 61 74 6f 0a 20 20 20 | The vibrato. | 0000a020 20 20 20 20 20 65 66 66 65 63 74 20 6d 61 79 20 | effect may | 0000a030 6e 6f 74 20 62 65 20 65 78 61 63 74 6c 79 20 74 |not be exactly t| 0000a040 68 65 20 73 61 6d 65 20 61 73 20 6f 6e 20 74 68 |he same as on th| 0000a050 65 20 61 6d 69 67 61 2c 20 62 75 74 20 69 74 27 |e amiga, but it'| 0000a060 73 20 63 6c 6f 73 65 0a 20 20 20 20 20 20 20 20 |s close. | 0000a070 65 6e 6f 75 67 68 2e 0a 20 20 20 2d 20 57 68 65 |enough.. - Whe| 0000a080 6e 20 73 6f 75 6e 64 74 72 61 63 6b 65 72 20 74 |n soundtracker t| 0000a090 75 6e 65 73 20 61 72 65 20 53 57 49 20 27 4d 65 |unes are SWI 'Me| 0000a0a0 6d 6f 72 79 4c 6f 61 64 27 65 64 2c 20 74 68 65 |moryLoad'ed, the| 0000a0b0 79 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 |y are converted | 0000a0c0 62 61 63 6b 0a 20 20 20 20 20 20 20 20 74 6f 20 |back. to | 0000a0d0 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 66 6f 72 |the original for| 0000a0e0 6d 61 74 20 77 68 65 6e 20 2a 50 6c 61 79 53 74 |mat when *PlaySt| 0000a0f0 6f 70 20 65 74 63 2e 20 69 73 20 70 65 72 66 6f |op etc. is perfo| 0000a100 72 6d 65 64 20 28 74 6f 20 61 6c 6c 6f 77 0a 20 |rmed (to allow. | 0000a110 20 20 20 20 20 20 20 65 64 69 74 6f 72 73 20 74 | editors t| 0000a120 6f 20 73 61 76 65 20 61 73 20 73 6f 75 6e 64 74 |o save as soundt| 0000a130 72 61 63 6b 65 72 20 66 6f 72 6d 61 74 29 2e 20 |racker format). | 0000a140 4e 42 20 54 72 61 63 6b 65 72 2d 73 70 65 63 69 |NB Tracker-speci| 0000a150 66 69 63 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 |fic commands. | 0000a160 20 20 20 20 20 61 6e 64 20 6f 75 74 20 6f 66 20 | and out of | 0000a170 72 61 6e 67 65 20 69 6e 73 74 72 75 6d 65 6e 74 |range instrument| 0000a180 73 20 65 74 63 2e 20 61 72 65 20 69 67 6e 6f 72 |s etc. are ignor| 0000a190 65 64 2f 6d 69 73 2d 63 6f 6e 76 65 72 74 65 64 |ed/mis-converted| 0000a1a0 2e 0a 20 20 20 2d 20 54 72 61 63 6b 65 72 5f 57 |.. - Tracker_W| 0000a1b0 72 69 74 65 53 61 6d 70 6c 65 54 61 62 6c 65 20 |riteSampleTable | 0000a1c0 69 6e 74 72 6f 64 75 63 65 64 20 74 6f 20 61 6c |introduced to al| 0000a1d0 6c 6f 77 20 74 72 61 6e 73 70 61 72 65 6e 74 20 |low transparent | 0000a1e0 61 63 63 65 73 73 20 6f 66 20 74 68 65 0a 20 20 |access of the. | 0000a1f0 20 20 20 20 20 20 73 61 6d 70 6c 65 20 64 61 74 | sample dat| 0000a200 61 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e |a and independen| 0000a210 63 65 20 28 61 6c 6d 6f 73 74 29 20 6f 66 20 74 |ce (almost) of t| 0000a220 68 65 20 54 72 61 63 6b 65 72 20 66 6f 72 6d 61 |he Tracker forma| 0000a230 74 2e 0a 20 20 20 2d 20 2a 2a 20 50 6c 65 61 73 |t.. - ** Pleas| 0000a240 65 20 4e 6f 74 65 20 2a 2a 20 20 20 56 6f 6c 75 |e Note ** Volu| 0000a250 6d 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 |mes returned by | 0000a260 54 72 61 63 6b 65 72 5f 52 65 61 64 53 61 6d 70 |Tracker_ReadSamp| 0000a270 6c 65 54 61 62 6c 65 20 77 68 69 6c 65 0a 20 20 |leTable while. | 0000a280 20 20 20 20 20 20 73 6f 75 6e 64 74 72 61 63 6b | soundtrack| 0000a290 65 72 20 74 75 6e 65 73 20 61 72 65 20 6c 6f 61 |er tunes are loa| 0000a2a0 64 65 64 20 61 72 65 20 6e 6f 77 20 69 6e 20 74 |ded are now in t| 0000a2b0 68 65 20 72 61 6e 67 65 20 30 2d 36 34 2e 20 54 |he range 0-64. T| 0000a2c0 68 65 73 65 20 63 61 6e 0a 20 20 20 20 20 20 20 |hese can. | 0000a2d0 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e | be converted in| 0000a2e0 74 6f 20 74 72 61 63 6b 65 72 20 76 6f 6c 75 6d |to tracker volum| 0000a2f0 65 73 20 75 73 69 6e 67 20 74 68 65 20 6e 65 77 |es using the new| 0000a300 0a 20 20 20 20 20 20 20 20 54 72 61 63 6b 65 72 |. Tracker| 0000a310 5f 54 72 61 6e 73 6c 61 74 65 56 6f 6c 75 6d 65 |_TranslateVolume| 0000a320 20 53 57 49 2e 20 2a 50 6c 61 79 53 61 6d 70 6c | SWI. *PlaySampl| 0000a330 65 73 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 |es converts the | 0000a340 76 6f 6c 75 6d 65 73 20 66 69 72 73 74 2e 0a 20 |volumes first.. | 0000a350 20 20 2d 20 53 57 49 20 54 72 61 63 6b 65 72 5f | - SWI Tracker_| 0000a360 55 70 64 61 74 65 44 61 74 61 20 69 6e 74 72 6f |UpdateData intro| 0000a370 64 75 63 65 64 20 74 6f 20 68 65 6c 70 20 65 64 |duced to help ed| 0000a380 69 74 6f 72 73 20 69 6e 74 65 72 66 61 63 65 20 |itors interface | 0000a390 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 |with the. | 0000a3a0 20 54 72 61 63 6b 65 72 6d 6f 64 75 6c 65 2e 0a | Trackermodule..| 0000a3b0 20 20 20 2d 20 53 61 6d 70 6c 65 20 64 61 74 61 | - Sample data| 0000a3c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6e 6f 77 | information now| 0000a3d0 20 72 65 61 64 20 64 69 72 65 63 74 6c 79 20 69 | read directly i| 0000a3e0 6e 20 74 68 65 20 6d 61 69 6e 20 72 6f 75 74 69 |n the main routi| 0000a3f0 6e 65 73 20 72 61 74 68 65 72 0a 20 20 20 20 20 |nes rather. | 0000a400 20 20 20 74 68 61 6e 20 63 6f 70 69 65 64 20 77 | than copied w| 0000a410 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 |hen the module i| 0000a420 73 20 6c 6f 61 64 65 64 2c 20 74 6f 20 65 6e 61 |s loaded, to ena| 0000a430 62 6c 65 20 65 64 69 74 6f 72 73 20 74 6f 20 61 |ble editors to a| 0000a440 6c 74 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 |lter the. | 0000a450 20 6d 6f 64 75 6c 65 20 77 68 69 6c 65 20 70 6c | module while pl| 0000a460 61 79 69 6e 67 2e 0a 20 20 20 2d 20 4f 6e 20 72 |aying.. - On r| 0000a470 65 73 65 74 2c 20 74 75 6e 65 20 63 6f 6e 74 69 |eset, tune conti| 0000a480 6e 75 65 73 20 70 6c 61 79 69 6e 67 20 72 61 74 |nues playing rat| 0000a490 68 65 72 20 74 68 61 6e 20 62 65 69 6e 67 20 6b |her than being k| 0000a4a0 69 6c 6c 65 64 20 61 73 20 62 65 66 6f 72 65 2e |illed as before.| 0000a4b0 0a 20 20 20 2d 20 57 68 65 6e 20 74 75 6e 65 20 |. - When tune | 0000a4c0 69 73 20 73 74 6f 70 70 65 64 2c 20 74 68 65 20 |is stopped, the | 0000a4d0 73 6f 75 6e 64 20 73 79 73 74 65 6d 20 69 73 20 |sound system is | 0000a4e0 72 65 73 74 6f 72 65 64 20 6d 6f 72 65 20 65 66 |restored more ef| 0000a4f0 66 65 63 74 69 76 65 6c 79 20 28 69 65 2e 0a 20 |fectively (ie.. | 0000a500 20 20 20 20 20 20 20 72 65 73 65 74 74 69 6e 67 | resetting| 0000a510 20 74 68 65 20 73 61 6d 70 6c 65 20 72 61 74 65 | the sample rate| 0000a520 20 77 69 74 68 20 38 20 76 6f 69 63 65 73 20 61 | with 8 voices a| 0000a530 63 74 69 76 65 20 70 72 65 76 69 6f 75 73 6c 79 |ctive previously| 0000a540 20 6e 6f 77 20 77 6f 72 6b 73 20 2d 0a 20 20 20 | now works -. | 0000a550 20 20 20 20 20 65 67 2e 20 77 68 65 6e 20 69 6e | eg. when in| 0000a560 74 65 72 72 75 70 74 69 6e 67 20 21 4d 61 65 73 |terrupting !Maes| 0000a570 74 72 6f 29 2e 0a 0a 56 65 72 73 69 6f 6e 20 34 |tro)...Version 4| 0000a580 2e 30 37 0a 20 20 20 2d 20 43 68 61 6e 67 65 64 |.07. - Changed| 0000a590 20 63 6f 6d 6d 61 6e 64 20 34 20 61 67 61 69 6e | command 4 again| 0000a5a0 2e 2e 20 69 74 20 77 61 73 6e 27 74 20 62 75 67 |.. it wasn't bug| 0000a5b0 67 65 64 2c 20 49 20 6a 75 73 74 20 63 68 61 6e |ged, I just chan| 0000a5c0 67 65 64 20 74 68 65 20 73 70 65 63 73 2e 0a 20 |ged the specs.. | 0000a5d0 20 20 20 20 20 20 20 49 74 20 73 65 65 6d 73 20 | It seems | 0000a5e0 74 68 61 74 20 73 6f 6d 65 20 70 6c 61 79 65 72 |that some player| 0000a5f0 73 20 64 69 73 61 67 72 65 65 20 6f 6e 20 77 68 |s disagree on wh| 0000a600 61 74 20 63 6f 6d 6d 61 6e 64 20 34 20 73 68 6f |at command 4 sho| 0000a610 75 6c 64 20 62 65 2c 20 61 6e 64 0a 20 20 20 20 |uld be, and. | 0000a620 20 20 20 20 49 27 6d 20 6e 6f 77 20 69 6d 70 6c | I'm now impl| 0000a630 65 6d 65 6e 74 69 6e 67 20 69 74 20 61 73 20 76 |ementing it as v| 0000a640 61 72 79 69 6e 67 20 74 68 65 20 70 69 74 63 68 |arying the pitch| 0000a650 20 28 61 73 20 6d 75 63 68 20 6f 76 65 72 20 61 | (as much over a| 0000a660 73 20 62 65 6c 6f 77 0a 20 20 20 20 20 20 20 20 |s below. | 0000a670 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 69 74 |the original pit| 0000a680 63 68 29 2e 0a |ch)..| 0000a685