Home

Music System User`s Manual - Sol-20

image

Contents

1. APPENDIX E cont Address Label Length xx00 START 1 xx01 NIT 3 xx04 RETRN 3 xx07 FOPEN 3 xx0A FCLOS 3 xx0D RDBYT 3 xx10 WRBYT 3 xx13 RDBLK 3 xx16 WRBLK 3 XX19 SOUT 3 xx1C AOUT 3 xx1F SINP 3 xx22 AINP 3 The most often used routines are Brief Description This byte allows power on reset for SOLOS It is 00 hex on a Sol 7F hex on other than a Sol This is a JMP to the power on reset Enter at this point to return control from an executing program Byte access file open Byte access file close Byte access read one byte Byte access write one byte Read an entire file into memory Write an entire file from memory Standard character output routine This must be an LDA pointing to the byte containing the current system output pseudo port value Character output to pseudo port specified in register A Standard character input routine This st be an j mu con pse Gl DA pointing to the byte taining the current system input udo port value Character input to pseudo port specified in register A entry points may or may not be used 36 RETRN SOUT and SINP Other APPENDI X E cont JUMP TABLE INPUT ENTRY POINTS SI NP INP This entry point address xxlF will set register A to the current system input pseudo port This must be an
2. Space not currently used This is the CRC character for the file header is not correct th ignored preamble 38 If when reading a file header the CRC character n the file header is to be A search A above would then be made for a new APPENDIX E cont D File Segment First This is the first segment of the file itself A segment is from 1 to 256 bytes In this example this segment is 256 bytes E File Segment First CRC This is the CRC character for the preceding segment in this example the preceding 256 bytes F File Segment Last This is the last segment of the file In this example this is 44 bytes Therefore th length of this file is 256 44 300 bytes G File Segment Last CRC This is the CRC character for the preceding segment in this example the preceding 44 bytes H Interfile GAP This is a gap between files and is typically a clear carrier for about five seconds CRC Computation The CRC character is computed for each segment or header The following code performs the CRC computation assuming Register A is the character just written to tape and Register C is the final CRC Register C should be set to zero prior to writing the first character of a segment After writing the last character of a segment and executing this code Register C is the CRC character for this segment An 8080 Subroutin
3. each component is on the circuit board at the location of its installation To instal simplify reading resistor values after installation resistors so that the color codes read from Install components a All left to right and top to bot s close to the board components are installed and soldered on tom aS appropriate as possible th side of sam the circuit board the side with the traces and legends Soldering solder tip of pad or damage tips the iron onto trace to Be sure to heat the will flow and form a connection Never install or remove a To do so could cause on Before instal legend instal led properly at all unsure use a low wattage iron neatly and as quickly as possible Mie applying power a pad or trace To to be soldered mechanical and joint good serious damage make s The front traces and soldered components led in your computer with the front located as other circuit boards and not backwards or upside down pleas 25 wa tts maximum DO NOT press the do so may cause the off the board causing permanent so that the solder electrical circuit board while the power is ure that the circuit board is side of the board contains all It should be If you are check with your dealer THE MUSIC SYSTEM CIRCUIT BOA
4. If the part was previously defined the old definition is lost Repeat the part named by the modifier If the part is not previously de fined error will be posted This symbol should be preceded by a part definition and followed by a tempo group and or another part definition Define the beginning of a measure Any previous measure is ended The modifier is a sequence of characters and typically is a user defined s quence number It must be terminated by a space or carriage return All the notes following are added to any previous notes of this measure be longing to the voice named by the modifier If a voice is assigned more than 32 notes an error is posted All the notes following are transposed down the number of semitones speci fied by modifier All the notes following are transposed up the number of semitones specified by the modifier Unless otherwise indicated all notes following are assumed to be treble clef Unless otherwise indicated all notes following are assumed to be bass clef Transpose only those notes following that belong to the current voice up or down the number of whole steps indicated in the modifier 31 APPENDIX C cont Symbol Modifier K Digit Char 0 7 or N Char A 0 1 5 2 Digit Hex OO FF 32 Meaning Key signature is defined by number and ty
5. always not present much of almost inaudible sh the right notes in the trebl solution is the one em of fine tuning y are to be plays legato a problem However a sound is produced by very that clef of Measure The two notes are played as one note tied notes Since usually do soft the Lone generating routines whenever a new note is started Ordinarily the sound it may be noticed in around this anomaly a dotted 1 16 an eg 16 is masked by the high treble the changing note Line 210 gets but by coding the uivalent time value tied 1 32 1 16 pair as THE MUSIC PROGRAM The Compiler cont The situation in Measure 6 is Just the reverse The last two notes in the treble clef are not tied and should be played as two distinct notes The quote defines a long articulation which is played as a short rest equal to about two thirds of a sixty fourth note A short ar ticulation defined by an apostrophe and just half as long is preferred in some situations The staccato defined by a comma is very much like an articulation except the rest added is egual to half the value of the note In all cases the duration of the note preceding is reduced to compensate for the added rest Articulations and staccato affect only the note they follow In L
6. as two notes The voice specification is invalid Only three voices are supported The key specification is invalid Either the num ber is greater than seven or a or 6 was expected but none was found The time signature is invalid A note value was expected H O or S but none was found The part or repeat specification is invalid A letter A Z was expected but none was found or the part to be repeated is not defined 3 3 The Bo APPENDI X SOLOS CUTER Interface SOLOS CUTER interface is based A predefined set of pseudo I E Specifications on O ports allowing software compatibility and providing an easy means of supporting any 1 0 device A well defined set of register usage conventions A system Jump table of entry points A defined tape format includin characters th SOLOS and CUTER observe and s g headers and CRC upport these specifications such that any program written using this interface will function except for specific devic either SOLOS or CUTER depend A part of th ncies under the control of interface specifications also allows a user written SOLOS C surrogate Lor The The basic SOLOS CUTER pseudo providing a reference keyboard ports Pseudo Port when properly written SOLOS CUTER to func first aspect of the interfac ts 0 Sie for display I O por and outp
7. collected in a 72 by tring is terminated by a erases the last character entered into i e the input si or RUBOUT conventions return DEL the buffer CTL or CTL shift P on a TTY ntire lin Upon receiving a carriage ret the buffer is examined If it Editor for insertion in the c or urn is numeric assumed to be a line of source text urrent tes with the system inp terface Characters from te line buffer observing the us and input beyond the 72 byte limit is lost MODE the first character the line is further examined fields wh to d ut output a description of which is the system input ual Carriage A A NUL will erase an on a Sol if any in the whole line is and is passed to the File file If it is alphabetic rmine the command and operand Operands are optional command may be any number is significant Operands hexadecimal digits and those four decimal digits tha because a value of zero indicat The Commands Only the first Les le n they ar from the command and from each other by one or more spaces of characters which denote addresses ar No operand may have the val an omitted operand present they are separated The only the first one to four denote line numbers are one to ue of zero however tter of a COMMAND is significant The following are the
8. or tape machines Select the connecting cable best suited to your needs and solder one end of this cable to the output mounting holes on the circuit board Two mounting holes and GND are provided for this purpose STEP 6 Two cable ties are provided to secure the output cable as well as to provide easier access to the circuit board when mounted within your computer Two holes are provided one on each upper corner of the circuit board for this purpose STEP 7 Install the Music System circuit board in your computer and connect the output cable to your amplifier stereo system or tape machine ON An improperly assembled circuit board or an improperly CAUTI A installed circuit board may damage your computer amplifier stereo system or tape machine Check with your dealer if you have any doubts regarding the assembled board or proper installation procedure for your computer THE MUSIC SYSTEM CIRCUIT BOARD cont D Circuit Board Assembly Aids LEVEL JUMPER y Hi MUSIC SYSTEM CI R2 RI N Det R3 LO 01977 SOFTWARE TECHNOLOGY CORP Parts Layout OUTPUT LEVEL C VACO Schematic THE MUSIC PROGRAM A The Command Processor The Command Processor communicat devices via the SOLOS CUTER int included here as an appendix device are
9. 0 M28A H 4 V2 IS1H 1 V3 40 31608 0400 PE RC 0410 PF 68 0420 M28B W4 V2 IS1H 1 V3 0 316H8 A more complex arrangement of this piece is distributed with the Music System 29 APPENDIX C High Level Music Language Summary Input to the Compiler is free form and consists of single character symbols and multi character symbol groups A symbol group consists of a symbol and one or more symbol modifiers With two exceptions spaces are optional between symbols and symbol groups Symbol groups may not contain imbedded blanks and may not be continued across a line boundary All numeric data is interpreted as hexadecimal Note Value Musical Name Symbol Equivalent of Note W o Whole note H d Half note Q d Quarter note I d Eighth note S Sixteenth note T Thirty second note X E Sixty fourth note Note Value Musical Time Value Modifier Name Example Multiplier Dotted note d 1 1 2 Triplet 2 3 Rest The rest is for the duration of the Note Value Symbol 30 APPENDIX C cont symbol Modifier None P Any letter A 2 R Any letter A Z M Any character or characters V Digit 1 2 or 3 lt Hex Digit COTE gt Hex Digit 0 F K None a None Signed Hex T or 0 F Meaning All characters on the rest of line are ignored Define beginning of a part identified by the modifier Any previous part is ended
10. 20 M19 M18 Figure 2 28 Note APPENDIX B 0010 SARABANDE 0020 BY JOHANN JAKOB DE NEUFVILLE 0030 FROM BACH S DAS KLEINE KLAVIERBUCH 0040 0050 lt 4 0060 K2 amp 0070 NO 50 0080 PA 0090 MI Vl 11 2 0 1 VW 4 H102 V3 H 3 Q 4 0100 M2 Q 11201 V2 H102 V3 H304 0110 M3 Q0 41654 V2dH1101 V3 H507 0120 M4 H 3 V2 H 2 V3 0 61567 0130 M5 X14T6S808I14 O4V2QH 3V38 0140 M6 T78S909T4 04 V20H3132 V3 H 7 0150 M7 Q 11403 V2 H102 V3 H 6 0160 M8 H 4 V2 IS1H 1 V3 0 3160A 0170 PB RA 0180 PC 0190 M9 O8BIA9 V2dH1 0 V3 H302 0200 M10 0819876 V2 H 1 V3GH 8 0210 M11 T89I A18765 V24H00 1 V3dH201 0220 M12 QAI9876 V2 H203 V3 H40S 0230 M13 T9AT BIA987 V2 01 V3 05 0240 M14 QATI987S86 V2 01 V3LO6 0250 M15 Q 61765 V2 H 100 V3 H 4 0260 M16 S13060 6 V2 0 1 V3 0 81432 amp 0270 M17 Q0 8 14 04 V2 H3 V3dH83 0280 M18 T78S909T4 04 V2 H3 V3 H7 0290 M19 Q 814 04 V2 H1 V3 H3 0300 M20 Q 91I4 04 V2 HO V3 H7 0310 M21 Q0 5 1504 V2 H201 V3dH0 1 0320 M22 Q 7 1706 V2Q4H0O 1 V3CH2503 0330 M23 Q0 5 1504 V2 H 204 1 V3 HOO1 0340 M24 Q7S7T89S8706 V2Q4H00 1 V3 H2 303 0350 M25 Q 5 amp 14 09 V2 H 2 V36 H 0 0360 M26 O0 3 1804 V2 H 10 1 V3dH0O1 0370 M27 Q 4I503 V2 H102 V3 H 6 0380 PD 039
11. HE MUSIC PROGRAM The Compiler cont when d cas termining the correct metronome setting for a particular piece The music is subdivided into parts measures and voices A part defines one or more measures that are to be played at the same tempo and usually corresponds to a section of the piece that may be repeated i e a phrase verse stanza refrain chorus etc Each part is identified by a letter A Z Up to 26 parts may be defined in any order but they are always played in alphabetic sequence Line 80 marks the beginning of Part A which includes the first eight measures of the piece Part B is defined in Line 170 as a repeat of Part A Part C in Line 180 includes the remainder of the piec xcept for the last measure Although it is not specified in the music the last measure will be played second ending style Part D contains the last measure as written the first ending followed by Part slightly modified last beat played a little slower Measures ar number and at instances when a space measure numbers themse E which is a repeat of Part is defined as Part indicated by the letter least one space TCE A measur the last note held an extra EF the second ending and it is at 68 counts per beat M followed by a This is one of the few is required by the Compiler The lves have no meaning to the Compiler feren
12. LDA instruction After loading register A this entry point proceeds by executing AINP described below This entry point address xx22 is used to input one character or status information from any pseudo port On entry register A indicates the desired pseudo port Because this entry point routine it is the user s responsibility to interpret return flags properly When a character is not is a combination status get character available the zero flag will be set When a character is available the zero flag will be reset and the character will be returned in the A register As an example the following code will wait for a character to be entered LOOP CALL SINP JZ LOOP get status or the character status says character not available yet character is in register A JUMP TABLE OUTPUT ENTRY POINTS SOUT AOUT This entry point address xx19 will set register A to the current system output pseudo port This must be an LDA instruction After loading register A this entry point proceeds by executing ROUT described below This entry point the B register value in the A register A are address xx1C as they were on ROUT surrogate required for the is used to output the character in to the pseudo port specified by the register On return the PSW and undefined All other
13. MUSIC SYSTEM USER S MANUAL THE MUSIC SYSTEM User s Manual Musical Arrangements by Jon Bokelman C 1977 Software Technology Corporation All Rights Reserved Software Technology Corporation P O Box 5260 San Mateo CA 94402 415 349 8080 M0400 1 This copyrighted software product is distribu IMPORTANT NOTICE sale basis for the personal use of the original purchaser only No license is granted herein to copy duplicate sell or otherwise distribute to any other person firm or entity This software product is copyrighted and all rights are reserved THREE MONTH LIMIT IT D WARRANTY Software Technology Corporation warrants this product to be free from defects in material and workmanship for a period of three months from This warrant implied inc the date of original purchase ty is made in lieu of any other warranty expressed or luding but not limited to the merchantability or fitness of this product for a particular purpose and indirect consequential damages This warranty is limited in any Case to the repair or replacement of the defective part at the option of Software Technology Corporation transportation and handling charges excluded To obtain s rvice under the terms of this warranty the defectiv ted on an individual part must be returned along with a copy of the original bill of sale to Softw
14. RD cont 10 In addition to the parts supplied the following tools and materials are recommended for assembling this circuit board a soldering iron 25 watts b diagonal cutters c needlenose pliers d a suitable cable to allow connection of the circuit board with your amplifier stereo system or tape machine B Circuit Board Parts List Check off parts received against this list CUFCUTTE Quantity Description Reference Resistors IK Ohm 1 4 watt 10 brown black red R1 10K Ohm 1 4 watt 10 brown black orange R2 100 Ohm 1 4 watt 10 brown black brown R3 Capacitors 2 luf Ceramic Disc CI and C2 Miscellaneous 1 Circuit Board B0400 2 Cable ties 1 Length of Solder Please follow the assembly instructions in the order specified THE MUSIC SYSTEM CIRCUIT BOARD cont C Circuit Board Assembly Procedure CAUTI ON Mount and solder all components on the front side of the circuit board The front side of the circuit board contains the traces and legends STEP 1 Make sure the board is properly oriented The legends on the board should be facing you All components will be mounted and soldered on this side of the board STEP 2 Install resistors R1 R2 and R3 see parts list in the indicated locations Bend the leads to
15. Tone Generator cont The standard setting for the Sol 2 faster is as follows 32 F4 07 STA 07F4H 13 00 NOP 4 00 NOP 4 00 NOP 4 00 NOP 4 29 cycles total Any instruction or instruction group in the following list may be used Instructions not listed are not recommended OPCODE HEX MNEMONTC S CYCLES 8080A 00 NOP 4 F6 00 ORI 0 Y 3C 3D INR A DCR A 10 C3 A0 06 JMP 0 6AOH 10 32 F4 07 STA 07F4H 13 22 F4 07 SHLD O7F4H 16 34 35 B7 INR M DCR M ORA A 24 E3 E3 XTHL XTHL 36 The shortest total delay possible is 10 cycles and the longest is 108 cycles which nearly doubles the total loop time The note frequency table begins at Location 703 hex The first entry defines the lowest note C two octaves below Middle C Each entry is an eight bit unsigned binary value that represents a loop count to be reduced to zero between each sguarewave cycle for every semitone in the defined range The last entry at 735 hex represents the highest note D two octaves above Middle C The total range is four octaves plus two semitones E Rules of Thumb One minute of music typically requires about one K of memory The size of the binary object code produced by the Compiler tends to be about as big as the source file being compiled 20 THE MUSIC PROGRAM Rules of Thumb cont When a piece of
16. are Technology Corporation within the warranty period The warranty h not assignable or transferable and shall not apply to any software product which has been repaired by anyone other than Software Technology Corporation or any product which may have been subject to alterations misuse negligence or accident or any unit which may have had the name altered defaced or removed erein extends only to the original purchaser and is THE MUSIC SYSTEM User s Manual NTRODUCTION Iaw Pr TABLE OF CONTENTS THE MUSIC SYSTEM CIRCUIT BOARD Circuit Board Circuit Board Circuit Board Circuit Board THE MUSIC PROGRAM The Command Pr HJ aw PY APPENDI AOAW y The File Edito The Compiler The Tone Gener Rules of Thumb Assembly Frps Evian e Pares ELSE rear se eki eed Assembly Procedure es Assembly Aids o OCeSSOT ss Es datEOL edememe a sk HOW TO USE THE MU Detailed expla Si ieee al sr Gana nation including many examples CES Musical Note S Sarabande an YMbols ELQUI Li aa example Figures 2 amp 3 28 High Level Mus SOLOS CUTER In ic Language Summary ELEOE COU S es rata son ia ds sen ao amp W N KR NTRODUCTION Perhaps you have a computer and have been wondering What else
17. by the Music System The system s initial boundary is the address of SOLOS CUTER as supplied by SOLOS CUTER If the operand is omitted RETURN is executed as follows Exit by jumping to the RETURN entry point dis placement 4 in the SOLOS CUTER jump table Note Since R represents two different commands the operand is required when RESERVE is to be executed Otherwise RETURN is executed Examples RET Control is returned to SOLOS CUTER RES 4000 Memory address 4000 hex is reserved as the highest memory address to be used by the Music System This would be a valid RES for a 16K SOLOS system B The File Editor The File Editor provides the means of entering and altering a musical score in symbolic notation for compilation by the LT Mu sic Compiler THE MUS IC PROGRAM File Editor cont The file structure used by the Editor is the same as that used by Processor Technology s ALS 8 an All lines should begin mber followed by at carriage return meric line number sequenc nu a nu wh already exists th Th Mu d Software Package 1 ich they ar with a four digit decima The Editor maintains all 1 line least one space and terminated by lines in regardless of the ntered the new line just entered will If a line number just en order in tered replace e previous line e fo
18. can 1 do with it Perhaps you are a musician and would like to investigate computer generated music Perhaps you would like to play a concert The Software Technology Music System provides these capabilities and more We just call it The Music System The Music System is an integrated package containing this manual a circuit board kit anda cassette containing the Music Program itself The primary element of the system is the Music Program itself which performs the actual synthesis of notes being played All that is needed in addition to the Music System is an 8080 based system with at least 4K of memory 8K or more however is recommended SOLOS CUTER or other compatible interfac la SOLOS CUTER surrogate can easily be implemented some 1 0 device keyboard display or other ASC type terminal an amplifier stereo or other sound system including all interconnecting cables The Music Program is composed of four functional sections The Command Processor What the Music Program does is controlled by user COMMANDS The Command Processor determines what to do next The File Editor The music is transcribed into a high level language which is easily understood by the human and the computer The File Editor provides the means by which a score Can be entered and altered The High Level Music Language Compiler Although the high level music language is ea
19. ce between the lines of text and and serve only as a r the printed musical score debug the music when you attempt to A voice is a separate counterpoint as in a called parts as in not be conf this Compiler Up to measure They are three voice fugue three part harmony used with the meaning of part three voices may be defined in a identified as Vi This is guite handy however strand of music in harmony or Voices are often but voices should in the context of V2 and V3 see Line 90 and may appear in any order assumed at the beginning of a convention is followed in assigning notes to voices usually carries the me bass and V2 fills in complicated to go into the middle As a convenience very measur It VI is always is helpful if V1 lody or highest notes V3 carries the For reasons too here the music will sound better if the voices conform to the natural flow of the various threads of notes ra especially important two 14 ther when arranging fugues wher often cross over one another or disappear for a measure or than jumping about This is th voices THE MUSIC PROGRAM The Compiler cont Each of the symbols that represent a note in Figure 2 convey two pieces of information 1 Its position on the staff along with the key signature and the interpretation of the clef be
20. d of time eliminates the need for a lot of s and s An asterisk declares the treble clef and all notes following are assumed to be unless otherwise indicated an at sign 4 declares the bass following are assumed to be un Finally accidentals are indicated Similarly clef and all notes less otherwise indicated with the sign immediately following the note to be modified sharp amp flat natural Accidentals stay in effect until the end of the measure or are altered by another accidental Double sharps or flats are not supported You should now be able to decipher all the symbols in Line 90 and relate them to Measure l of the musical score in Figure 2 t3 Line 90 contains man purposes a space ha or symbol group THE MUSIC PROGRAM The Compiler y extra spaces s been inserted betw cont V For demonstration n Since each extra space requires an ry symbol additional key stroke plus one byte of memory and is not required by necessary to 100 illustrates th the Comp improve iler they shou the readability of declaration afte any ambiguity in the Compare it with Line preferred coding style r V3 is redundant b interpretation 130 which has redundant symbols compiled correctly duration declared in effect but the line mind this is a
21. e to do CRC Computation DOCRC EQU SUB MOV XRA CMA SUB MOV RET A NEXT character and C CRC A ANDA QQ A 39
22. ecution at n 0 which is the one and only entry point in the ystem and the Command Processor will gain control ts are vectored to a ROM resident monitor enter the iate command to get back to location 0 frequen speed o alike either time an the waveforms are generated by software the cy produced for a given note will depend on the f the micro processor Not all 8080 systems are The program as supplied has been optimized for an Intel 80804 running at a 500 nanosecond cycle d no wait states or the Sol which runs 2 faster The frequency tables have been tuned as well as possible to produce an equally tempered scale at A 440 In order to accommodate the wide range of 8080 compatible CPU s and tastes the following tuning information is musical provide There a di inclusi substit tions over a however re seven bytes hexadecimal locations 699 to 69F ve that serve as adjustable time wasters By uting faster or slower instruction in these loca the speed of the primary control loop can be varied wide range Not just any instruc the sta used tion will do Only those instructions that do nothing to alter te of the various flags and registers should be The standard 500NS 8080 setting is as follows 32 F4 07 STA 07F4H 13 F6 00 ORI 0 7 F6 00 ORI 0 7 27 cycles total 19 THE MUSIC PROGRAM The
23. ef 6 to be played in mixolydian mode 4 one octave higher 7 V1 TEE DE The Tone Generator The tone generating subroutines convert the binary output of the Compiler into music by manipulatinga train of sguarewave pulses on one of the 8080 status lines The tempo of the piece can be preset or dynamic depending on the setting of the sense switches input port 255 If the switches are all zero each part will be played at the tempo specified when the piece was compiled If non zero the hexadecimal value of the switches is used dynamically as the tempo of each part The zero non zero determination is made at the beginning of each part and determines the mode preset dynamic for the entire part 18 I Once th HE MUSIC PROGRAM The Tone Generator cont e correct tempo of a part has been determined by experimentation the switch setting hexadecimal can be entered into the score to be used when the piece is played frequen a small will be Reset hardwar locatio Music S If rese appropr Becaus in concert Tempo settings below 40 can cause a cy shift and should be avoided If necessary use er note to define the time signature NI 80 played as fast as NQ 40 is the only way to stop playing a piece once started What happens after a Reset depends on the e Most 8080 systems will begin ex
24. fit the distance between the mounting holes insert the leads pull the resistor down snug to the board solder on the same side of the board as the resistor and trim th xcess leads from the back of the board SAVE th xcess leads for the jumper wire in Step 4 STEP 3 Install capacitors C1 and C2 see parts list in the indicated locations Bend the leads to fit the distance between mounting holes insert the leads pull the capacitor down snug to the board solder on the same side of the board as the capacitor and trim the excess leads from the back of the board Disc capacitor leads may be coated with wax during the manufacturing process Be sure to remove any wax prior to inserting the leads STEP 4 A piece of an excess resistor lead from Step 2 will now be used as a Jumper The output level is jumper selectable to be either HI for an auxilliary input to an amplifier or tape machine or LO for the MIC input of a tape machine This jumper is usually made to select the HI level output Insert the jumper between the indicated mounting holes solder on the same side of the board as the jumper wire itself and trim the excess from the back of the board THE MUSIC SYSTEM CIRCUIT BOARD cont STEP 5 The output of the Music System circuit board may be connected to most amplifiers stereo systems
25. ile is then verified and if no errors are detected the beginning and ending addresses are displayed IST linel line2 This displays the lines in the current file with line numbers between linel and line2 inclusive If the second operand is omitted only the line numbered linel if it exists is displayed If both operands are omitted th ntire file is displayed Pressing the space bar during a listing will temporarily pause the listing until any other key is pressed whereupon the listing is resumed A listing may be terminated at any time by entering a NUL sold CTL or CTL shift P on a TTY or MODE on a 10 THE MUSIC PROGRAM Commands cont Examples LIST The entire current file is displayed to the current SOLOS CUTER output device LIST 123 Only line number 123 of the current file is displayed LIST 10 55 All lines beginning with line 10 and ending with any line greater than or equal to 55 are displayed DELETE Janel line2 This command is used to delete one or more lines from a file If only linel is specified then only that line will be deleted If both operands are specified all lines between linel and line2 inclusive will be deleted Examples DEL 10 Line 10 is deleted DEL 12 15 All lines from 12 to 15 inclusive are deleted SCORE add
26. ine 330 note that the articulation comes after the accidental Compare V2 in that line with V2 in Line 310 The same notes only one is defined as bass clef and the other as treble clef The length of a measure is equal to the length of the longest voice defined in it Shorter or undefined voices are filled with rests In Line 220 the quarter note rest in V3 is optional Now for Line 50 For many reasons mostly having to do with the speed and architecture of the 8080 some of the notes generated by the Music System are not as well tempered as others On the other hand being able to play three notes at a time on a computer without special hardware is quite an accomplishment It is not uncommon for a piece of music to be transposed as it is transcribed from one instrument to another It is the case with the computer The trick as with any instrument is to find the key which sounds the best The character lt or gt followed by a number defines the direction and number of semitones the piece is to be transposed lt down gt up Any note falling outside the computer s four octave range as a result of transposition will be played at the nearest octave within the range The assumption thus far has been that the music being transcribed is in piano or similar type score i e treble and or bass clef To take advantage of the wide variety
27. l to the Music Program FILE Verifies the new file just read in LIST Looks at this file SCORE Compiles it PLAY And plays it IV HOW TO USE THE MUSIC SYSTEM cont E An abbreviated method to play every selection on the Music System Enter XE R CU MU 0 GE M GE M GE M Load and execute the Music Program Return to SOLOS Define a custom command called MU for MUSIC Get Prelude Transfer control to the Music Program Verify the file Score it Play it Return control to SOLOS Get Allegro Transfer control to Music Program Verify file Score it Play it Return control to SOLOS Sarabande 25 26 IV HOW TO USE Enter GE M GE M GE M THE MUSIC SYSTEM cont Bouree Alr Chorale and back to SOLOS having played all six selections APPENDIX A MUSICAL NOTE SYMBOLS O O 0 lt Middle Cc gt 0 Note Modifier Name Musical Example Accidental Sharp amp Accidental Flat 4 Accidental Natural 4 Short articulation none Long articulation none y Stacatto f Figure 1 27 Sarabande APPENDIX B Johann Jakob de Neufville 1684 1712 Adagio con espressione M12 M11 M10 M9 M22 M21 M
28. llowing sic System in conjunction with one of must be observed if you intend to compatible editors such as ALS 8 use the the many 1 Use the FILE command to establish or reestablish the internal file limits when entering the Music System after creating or altering a file with another editor 2 Use the appropriate command such as FCHK for ALS 8 to establish or re establish the internal file limits when entering an external editor after creating or altering a file with the Music Program 3 The File Editor supports from 1 to 4 digit hexadecimal line numbers Because some other editors do not it is recommended that the user always enter lines with exactly four decimal digits If this practice is maintained the files created by the File Editor will actually be compatible with other editors and not just logically compatible Remember each editor acts independently and maintains its own internal file pointers which must be updated whenever the file is altered C The Compiler The Compiler converts the symbolic musical score the high level Music language in the current editor file to the binary form required by the tone generator subroutines Although it use the Music Compiler musical notation 12 is n ot necessary to be able to will be helpful read some familiarity with standard music to THE MUS E
29. longs to defines the not to be played it 2 Its shape along with the time signature defines how long relative to a beat the note is to held be The Music System uses two symbols to convey the sam tion A single letter defines th Dotted notes are indicated by a period after th informa length of the note or notes that follow it W whole H half quarter I eighth S sixteenth T thirty second X sixty fourth letter A colon indicates triplets and these note length modifiers and must immediately follow the letter identifying the primary note length Q means the notes following are played time i e three such notes as dotted quarter notes in triplet would equal a dotted half note The combination Q is not allowed The staff position of a note is defined by i Middle C Middle C is always zero Middle C are plus and those below are minus The displacement is counted from 0 Since most notes in the treble clef ar ts relation to and every other note is a positive or negative displacement from it Notes above see Figure 1 to 9 and A to F where A 10 B 11 C 12 D 13 E 14 and F 15 in a word hexadecimal A dollar sign defines a rest above Middle C and most notes in the bass clef are below it specifying the clef ahea
30. mory beginning at location zero is operational 4 The Music System cassette is rewound and placed into a cassette player The cassette player must be turned on and set for PLAY A Loading the Music Program with SOLOS Enter GET Tells SOLOS to load the next or first file on the tape or GET MUSIC Tells SOLOS to look for the file MUSIC and then load it B Loading and executing the Music Program with SOLOS Enter XEO Tells SOLOS to load the next file and then execute it or XEQ MUSIC y ii or GET See above EXEC 0 Then we tell SOLOS to execute it or GET MUSIC See above EXEC 0 See above 23 C3 D 24 IV HOW TO USE THE MUS IC SYSTEM cont Loading and executing the Music Program and playing the Prelude in C Major Enter Playing above Enter XEQ MUSIC Loads and executes the Music Program RET Enter this to the Music Program to return control to SOLOS GET PRELD Tells SOLOS to read in the Prelude EXEC 0 After Prelude is read in places the Music Program in control FILE Tells Music Program to verify the file limits of the file just gotten from tape LIST Look at this file SCORE Compile this file PLAY And finally play it the Allegro after the Prelude in example C RET Returns control to SOLOS GET ALLEG Read the Allegro into memory EXEC 0 Returns contro
31. music is very large or memory is very short it will be necessary to compile in place That is the object code is written over the source file as the compilation proceeds To do this successfully the Compiler needs a head start of about 600 bytes For this reason it is suggested that large files be started at about FOO e g FILE FOO to leave enough headway when compiling in place e g SCORE 900 IMPORTANT NOTE Please don t forget to save the source file on tape or other media before compiling in place or it will be lost forever Source files and the compiled object code are both relocatable that is once saved on tape or other media they may be reloaded at any location IMPORTANT NOTE Please don t forget that the tempo can be dynamically controlled by the sense switches port 255 These sense Switches must be zero for a piece to be played at the tempo specified in the source file when the piece was scored 21 IV HOW TO USE THE MUSIC SYSTEM After reading this manual the best way to learn to use the Music System is to play the selections provided with it These selections will be enjoyed and they serve as an example of how to transcribe or compose music yourself The Music System is distributed on cassette tape Side 1 is recorded at 1200 Baud CUTS format and Side 2 is recorded at 300 Baud Kansas City Standa
32. ntering a musical score into the music Syst IC PROGRAM The Compiler c more than a matter of transcription Vir on a page of level music ont sheet music can be represent language of the Compiler Ra into a long implied conta is transcribe tem is little tually everything d in the high ther list of symbols and their meanings point let s consider the information explicit and than launch at this ined in a typical musical score and see how it d for the computer Figure 2 is a piano arrangement of a Sarabande by Johann ville Figure 3 is the high level music Jakob de Neuf language arra very musical musical abo of what writt two exception and some edit voice limit In Figure 3 followed by a as to proper ngement of the same piec however there is nothing i It doesn t look ntrinsically ut Figure 2 either except ou en music is supposed to look s ornamentation has been om r prior knowledge like With one or itted for clarity ing has been done to meet the computer s three both figures contain the same information each line begins with a four digit line number space This is required by the File Editor so y order the lines and has no other bearing on how the music treats the fi line numbers always exce numbers refer A slash i ignored The explanatory does not corr and
33. of music published for other instruments in different clefs soprano alto tenor etc each voice may be defined as belonging to a different clef A clef definition consists of a voice declaration followed by an up arrow Y and a number that is the displacement from Middle C in the clef being defined to Middle C in the treble clef Te THE MUSIC PROGRAM The Compiler cont For example the clef definition for a trio might be vi 1 2 v2 1 6 v3 1 8 where voices 1 2 and 3 are written in soprano alto and tenor clef respectively Because cleft are defined relative to the treble clef a bass clef declaration a cannot be used with a voice that has a clef definition Another example v2 1 6 v3 T c where voices 1 2 and 3 are written in treble alto and bass clefs By redefining the bass clef this way all clef symbols are eliminated and all notes are transcribed as if they were in a treble clef The clef definition need appear only once at the beginning of the score An interesting by product of clef definition is the ability to play in any mode Modes are defined like clefs except the displacement is the distance from Middle C to the final note of the mode Clef displacements may be positive or negative and multiple displacements can be added algebraically prior to the definition Example Voice 1 transcribed from alto cl
34. pe sharp or flat specified in the modifier If this symbol group is omitted the key defaults to C major no sharps or flats Correlates the length of the note type in the modifier to the length of a beat Equates the length of a beat to the number of internal cycles specified by the modifier The error routines contained in operands APPENDI X Error Codes the software are designed to detect most honest errors such as incorrect syntax invalid etc Any deliberate attempt to make the System fail Whenever an error is detected a coded will probably succeed error message is written to the line or statement containing question mark Caused score Error No the error 2 1s substituted A hexadecimal digit was expected at tion but none was found and it often appears when least common error expected The operand is not wit managed by the system the system output device along with the error at or near the character that When an error is detected while compiling a the binary object produced should be considered invalid In most cases a Meaning this loca the most This is thin the address space or the assigned memory space has been exhaust The file structure is The 32 notes per voic ted invalid limit has been per measur exceeded Staccato and articulation count
35. pecified but should be adequate for at least a few calls The executed program is expected to establish its own stack however some stack should be available 2 The stack itself should be established such that a A REV instruction can be used as an exit by the executing program b The locations at Stack Pointer 1 and 2 in memory contain the address of the executed program itself This information Can be accessed by machine code similar to EXT H 1 A constant minus one DAD SP HL SP 1 now Mov A M A our own high address Code such as this can be used to allow a routine to be made self relocating to a 256 byte boundary 3 Registers HL contain the address of the SOLOS CUTER jump tabl Because this jump table may be 256 byte boundary in memory Register H can then be program accordingly As noted lat also provides an indicat executing on a Sol or o ter L ther computer The third aspect of the SOLOS CUTER in By making all system requests via this program can be made compatible between SOLOS C properly written surrogate The Jump table is following page A more complete description is SOLOS CUTER User s Manual terface 1 jump tab located at any register L will be zero used to alter the executing the jump table tion whether the program is s the Jump table le an executed UTER or other described on the contained in the 30 SOLOS CUTER JUMP TABLE
36. purpose w key signature is compiled For the most part le as one long character string and ignores line boundaries and spaces to Figure 3 the Compiler There are ptions The following references to line ndicates comments and the rest of the line is contents of Lines 10 through 40 are self Line 50 defines transpositi espond to anything in Figure on 2 This symbol Its meaning 111 be described later Line 60 defines the f In this case it is two f sharp The is sufficient and which not Line 70 defin lats amp flat number of sharps or flats in the key signature to define the key The Compiler knows the key s are affected is in three q one beat toe about the num to define th s the time signature and tempo uarter time i e three beats to a measure and ach quarter note The Compi ber of beats in a measure notes in each measure NO length of a q note O qua note 50 tions of one rter note I eighth note of the many loops in the ton The Sarabande ler does not worry It leaves it to you correlates the uarter note to the length of a beat H half S sixteenth quates the length of a beat to 50 itera generating sub routines The actual number has to be determined by trial 13 and error as is th T
37. rd format The format of the data is described in the SOLOS CUTER interface specification included here as an Appendix The tape consists of the following files Address in hex File File End of End of No Name Load Source Object 1 MUSIC The Music Program in object form0000 must be loaded and executed at location zero Memory is used up to and including 08D2 hex This must be executed under the control of SOLOS CUTER or compatible surrogate Music Scores in Source Form Selection 2 PRELD Prelude in C Major by J S 08D3 1280 1B87 Bach 3 ALLEG Allegro by W F Bach 4 SARAB sarabande by Johann Jakob deNeufville Score as example Appendix B 5 BOURE Bouree by G F Handel 6 ATR Air with Variations The Har monious Blacksmith by G F Handel 7 CHORL Chorale Jesus Joy of Man s O8D3 1186 17CA Desiring by J S Bach 8D3 OBA4 ODC2 8D3 OE71 1299 O 8D3 OD07 OFED 8D3 15C9 2381 END Arrangements by Jon Bokelman 22 IV HOW TO USE THE MUSIC SYSTEM cont The following are examples of what you need to enter via the keyboard in order to play some of the selections included with the Music System These examples assume Dg The Music System Circuit Board was assembled and is properly installed and connected to an amplifier as For convenience th xamples show only what you would key in to SOLOS 34 Adequate me
38. registers are ntry A user written output routine may buffer or delay the output as supported device 37 APPENDIX E cont The fourth aspect of the SOLOS CUTER interface is the format in which the data is recorded on tape When data is written to tape it is referred to logically as a file Each file has its own header which describes the file On cassette tape each header is followed by the file itself The file itself is written to tape in segments of 1 to 256 bytes Each segment is immediately followed by a Cyclic Redundancy Check character the CRC The following is the general format of one file on cassette tape A a de A File i Preamble Header The File i Where A Preamble Preceding every file header is a special preamble This is a series of at least ten nulls zeroes followed by a one and only this sequence indicates a probable file header follows B File Header This is the 16 byt 01 hex This special sequence file header The layout of a file header is NAME ASC ABCDE DB 0 TYPE DB B 80H SIZE DW LENGTH ADDR DW FROM XEO DW EXEC DS 3 C File Header CRC A 5 character file name Should always be zero File type character If bit 721 this is a non executable data file Number of bytes in file Address file is to be read into or written from Execution beginning address
39. rl The current file is compiled and the resulting binary object code is entered into memory beginning at address 1 If addr1 is omitted the address defaults to be the first address after the current file The beginning and ending addresses of the binary code are displayed after compilation Examples SCORE The current source file is compiled and the binary object code is stored in memory beginning at the location just following the end of the source SCORE 2100 The current source file is compiled and the binary object code is stored in memory beginning at location 2100 hex THE MUSIC PROGRAM Commands cont addrl This command causes the music to be played PLAY This command generates musical tones according to the binary code at addr1 If the operand is omitted addr1 defaults to the same address as that in the last SCORE or PLAY command Examples PLAY The previously SCOREd binary object code will now be played The address of the binary object code is determined from the most recent SCORE or PLAY PLAY 2100 The binary object code residing at memory location 2100 hex will now be played If there is not valid binary object code at the specified address for the Music System the results can be unusual AW RESERVE addr th an operand RETURN with NO operand addr1 marks the end of the memory space to be used
40. sily understood by the computer 1t must be converted into an internal computer code before it can be played The Compiler analyzes the music language and produces an internal computer code which describes the tones to be played NTRODUCTION cont The Tone Generating Subroutines Once a score has been entered into a file and converted into an internal computer code the music can be played The Tone Generating Sub routines produce the waveforms dictated by the internal computer code This section describes the hardwar Software Technology Music System provided in kit form as an ini the kit THE MUSIC SYSTEM C RCU T BOARD interfac A Circuit Board Assembly Tips Ex Read thro Music System circuit the order This will component given When installing components which are a part of drawing board Follow make use of the circuit board as The circuit reference R1 C2 The hardwar tegral part of the Music System is 5 100 Bus compatible required by the interface is and ugh this section before you begin to assemble your In assembling this circuit board you will be following a step by step assembly procedure Check off each step as you complete it minimize the chance of omitting a step or a the instructions in the assembly aids well as the assembly for example for
41. ut Input EW W RO These pseudo ports allow devic devic Keyboard Serial input Parallel input User defined input is that of interface allows the s These pseudo ports are logical ports the program only are directed via these pseudo The STANDARD definition for pseudo ports is UTER surrogate Such a will allow a program written tion with the surrogate the pseudo ports upport of four System input Output VDM Display Serial output Parallel output User defined output request to pseudo port be the same as a request means is that interface specifications dependent charact independ nt 1 0 Provided s are not used an 1 0 that r sequenc to pseudo need to decode pseudo ports 34 O appears to although four pseudo ports are defined in a user written surrogate would the requesting program to port 1 2 or 3 What this the not APPENDI E cont The second aspect of the SOLOS CUTER interface register usage regist r requirements which will be discussed Whenever a program is executed via SOLOS CUTER is the defined Each of the system entry points has specific later the stack pointer the stack and registers HL are defined as follows 1 The Stack Pointer register SP is valid and offers a useable stack The size of this stack is not s
42. various commands that are processed by the Music System in Command List NEW addrl indicates optional operand Establishes a new text file residing in memory beginning at addrl If the operand is omitted addr1 defaults to the first available address following the Music System program If a file already exists at addrl it will be lost The beginning and ending addresses of the file are set to the same value and are displayed NEW is auto matically performed when the program is first executed THE MUSIC PROGRAM Commands cont Examples NEW This destroys any file that was existing at the current file address The current file address is set to the default NEW FOO A new file is defined to begin at location FOO hex Any data previously there will be destroyed FILE addrl This validates the file beginning at addrl1 found If the operand is omitted addr1 defaults to the current file location The file structure is verified until an end of file marker is The beginning and ending addresses of the file ar stablished then displayed Examples FI LE ILE C00 Beginning at the current file address memory is verified to be a valid file If no error is detected the beginning and ending addresses are displayed This address C00 hex becomes the current file beginning address This f
43. very can accommodate up t V38 at the end of Th ld be used only where the score Line e bass clef ut it eliminates of the notes in V3 no extra spaces or the line will be as V3 H 8 becaus V2 of th that measure are still in ET is very difficult to read simple piece of music Th f and note Keep in e Compiler and o 32 notes per voic some Frescobaldi toc There are a few more Measure 5 presents thr notes are to b indicates the four n played as an arpeggi following measure Measures 22 and 24 b cases the lower voi without serious dama define five voices solve these problems catas reach the limit per measur items of in a very common problem e played at once otes in the trebl Mor ated chord r terest in this piece e than The wiggley line clef ar One possible so to be lution is The same is oth define four voices ce in the trebl ge to the music An witho Meas ut much difficul to play it as a long slur similar to the one in true in Measure In Ures the 16 these clef can be dropped 8 and 28 experienced musician will probably ty For others it will be a matter of blind luck or painstaking trial and error Ultimatel sounds best Y ct ct The third and fourth 11 illustrate an it tied which means the the computer

Download Pdf Manuals

image

Related Search

Related Contents

対象器種 FHT-42007-PA9 ”高調波ガイ ドラ イ ン適合品” FHT  Operating and Maintance-Manual for Repair-Welding - Orbi-Tech  スタートガイド  Samsung RS60FHHCN7T 用户手册  5104 User Manual - Sealevel Systems, Inc  APC SBP20KP uninterruptible power supply (UPS)  SICCOM - Contratadas Manual de usuario  Barbie Wake With Me Clock Radio  

Copyright © All rights reserved.
Failed to retrieve file