Home

LADER ANLOG

image

Contents

1. Now considering the decay and release phases D1 D2 block C40 with the A B contacts closed the pro and R as shown in Table VI and described under blocks gram flows to block C41 in lieu of block C28 and C33 the envelope amplitude is decremented in In block C41 the branch pointer is tested and if increments of 0 25 db by incrementing the table address found set to attack the program branches t9 C26 to LNEXP by 1 Gradations in decay rate are produced by 25 continue execution of the attack phase until it is com varying the range of the common and or individual pleted a nd the decay 1 phase is entered On the next pass counters that control the time duration between incre following the completion of attack the program flows ments The program provides for selection of time inter from block C41 to block C36 to initiate execution of the vals in 6 db steps i e in multiples of 2 where n is an release phase integer To provide finer gradation Table VII could be 30 V Operation of the Note Generator enlarged to provide a second set of preset values for The note generator 300 shown in the lower half of DRC ranging from 3 to E in addition to the 2 to range FIG 1b isan improvement on me HOLE generator PreK shown This would provide for variations in step width ously disclosed by the present inventor m U S Pat NO of approximately 3 db A preferable approach is em 4 070 943 Improved Organ Keying System ployed the
2. T l ti O gt xo Q In block C27 if the present envelope value is below the final value the program branches to C24 When the final value is reached following a number of passes through the main loop the program proceeds to C28 In block C28 the branch pointer R19 R39 is set BAH to cause a branch to block C33 on the next pass If the LSB of TRSP is 0 LNEXP R1B R3B is set if it is 1 LNEXP is set 2 18H LNEXP is the address of a linear to exponential table shown in Table VI and located at 324 to 33B in the program memory The contents of the table increase in 0 25 db intervals from 84H 132D at 324 to FFH 225D at 33B The 3 MSBs of TRSP are right normalized and subtracted from 7 to obtain TE which is stored in RID R3D since AEA is no longer needed During decay and release modes the envelope amplitude is obtained by reading the linear exponential table at the address LNEXP and double right shifting the data TE bits hence TE is the power of two by which the data from the table is di vided to obtain the envelope The right shifted value of the data read from the table at OCH or 18H is stored in EA TABLE VI LNEXP EXPONENTIAL INPUT OUTPUT 84 132D 02 88 136 03 8C 140 04 90 144 05 94 148 06 98 152 07 9D 157 08 Al 161 4 283 984 17 TABLE VI continued LNEXP EXPONENTIAL INPUT OUTPUT 09 A6 166 0 171 0B 0 176 B5 181 0D BA 186 0E CO 192 OF C5 197 10 C
3. 65 8 In block B31 R1 is set 28H which is the first loca tion in the group R28 R32 where the keyboard contact status is stored R2 is set 1 to identify the current key group as F3 G3 The 44 note keyboard contains 11 groups as shown in Table I There are two contacts per key the A contacts FIG 1a close near the begin ning of a keystroke and the B contacts close near the end Hence it takes two bits to define the status of each key Thus a group of four keys requires eight bits of data or a pair of nibbles to define its status In block 32 R3 is set 0 to identify the current bit pair bits representing the A and B contacts of a playing key Since the keyboard status is manipulated as data bytes in which the LSN represents the A contacts and the MSN represents the B contacts the value 0 in R3 identifies the current bit pair as bits 0 and 4 For masking purposes the current bit pair is also identified as a 1 in the corresponding bit position 0 3 of R4 hence R4 is set 1 The current nibble pair is input from the keyboard by setting port 2MSN R2 and then inputing port 1 The decoder 151 translates the four bits from port 2 into a 1 of 16 selection eleven of which correspond to the commoned contacts of four adjacent keys The individual contacts of all of the keys are con nected through isolating diodes to corresponding termi nals of port 1 The input data is sorted i e at the l
4. oor or OK ORK e gt 4 283 984 21 22 TABLE IVA continued TABLE VIII continued PITCH TRSP DDR ADDR XPS XCTR 9 1 B6 2 06 21 50 4 21 TRS is complemented with respect to 8 now rather 6 7 3 2 42 than 7 and the complement CTRS is added to the at 8 9 3 2 64 tack common exponent ACE from R7 as before to de e termine the number of right shifts to be performed on E F 3 2 00 INTB The resulting value is placed in EA in the corre 0 O nding register pair RIC RID R3C R3D before 3 zu pen SEHE the attack parameter A 0 mini Another modification in the program shown in Table mum attack time and TRSP F maximum envelope XII is made to prevent premature release due to key amplitude since Ao 1 and TRSP 1 result in no contact chatter or player error The operations de right shifting of INTB If A is increased to 1 or TRSP 15 scribed under block C32 are deleted hence the program is decreased to E but not both then B6 is read from flows from block c31 directly to C24 in the first pass the table as INTB which is then right shifted one place following opening of the B contacts see FIG 42 to become EA 5B If A 1 and TRSP E then On subsequent passes the program branches in block 80 is read from the table as INTB which is then right C22 but now goes to block C40 in lieu of block C25 as shifted one place to become EA 40 20 shown in FIG 6
5. CONTACTS CLOSED NO c25 IS BRANCH POINTER YES SET TO ATTACK EXECUTE ATTACK C35 EXECUTE DECAY 2 EXECUTE DECAY C36 EXECUTE RELEASE 4 283 984 1 CAPTURE SYSTEM FOR AN ELECTRONIC MUSICAL INSTRUMENT BACKGROUND OF THE INVENTION Capture systems or combination actions were intro duced ages ago in pipe organs to enable the organist to store a number of different combinations of stop settings for ready recall during a performance The first of such systems were entirely mechanical but these later gave way to electromagnetic operation with mechanical latches providing the memory Present day electronic instruments pose a similar problem to the player by providing a larger array of controls than the player can handle easily during a performance The problem is compounded by the fact that these controls are mainly potentiometer type rather than the simple on or off stop switches provided in pipe organs One of the commercial synthesizers presently on the market provides a quadruple set of controls with a gang selector switch to allow instant selection of any one of the four set ups Besides being very expensive this ap proach also takes a great deal of panel space making the instrument very bulky SUMMARY OF THE INVENTION embodiment chosen to illustrate the invention is a polyphonic synthesizer employing a digital type key board where the playing keys are scanned repetitively by a microcom
6. Finally the EGS subroutine returns to the main pro gram EA is usually 0 when block 24 is entered from block C37 hence the scaling operation has no effect However when a note is repeated before it has fully decayed the value in EA when the key is struck again is preserved and the attack resumes from that value at a rate controlled by the new key velocity or touch re sponse EA is always 0 when block C24 is entered from block C23 In this case the function of block C24 2 3 5 5 6 4 283 984 10 20 5 0 5 45 0 5 0 65 16 Is to maintain the clamp and hold inputs of inactive note generators at their minimum level to prevent ciphers When note Gs is again serviced by EGS on the next pass of the program through its main loop the program proceeds from C20 through C21 C22 and C25 to the attack branch at C26 In block C26 The A counter flag in R7 is tested if it is 0 the program branches directly to block C24 oth erwise the individual attack counter AKC is decre mented before branching to C24 If AKC reaches 0 it is reset using AK and AEA is added to EA to increase the envelope amplitude one step on the attack ramp The touch response data TRSP is then used to obtain the corresponding final envelope value using the look up table shown in Table V and located at 314 323 in the program memory which is compared with the present envelope value in block 27 TABLE V FINAL TRSP AMPLITUDE
7. lish an initial envelope increment value INTB by Table IV Since the data stored in the odd locations of this table are 3 db greater in value than that stored in the next lower even location this approach allows the slope of the attack ramp to be varied in 3 db steps 1 6 by a factor of V2 to compensate for 3 db variations in the final amplitude which is selected by the touch response value TRSP but does not provide for 3 db variations in slope by the attack parameter A In the revised enve lope computer program this table is rearranged by inter changing the odd and even data values and then dou bling the values in the odd locations as shown in Table IVA To use this table the program complements bit 0 of the attack parameter and exclusive ors it with bit 0 of the touch response data The pitch of the selected note is right normalized and left shifted one place as before and the exclusive or term Ag TRSP is then intro duced in the 0 bit position The result is used to address Table IVA to obtain INTB Assuming for example that note Cs has been selected then the pitch 29 and either 80 or B6 is read from the table depending on the state of the exclusive or term Avis then added to and the sum is right shifted one place to obtain TRS as before but TRS now has a range of 0 8 rather than 0 7 as a result of the addition of the attack bit Ao TABLE IVA TRSP INTB 0 26H PITCH MO 60 3 O tA CA OQ C9
8. 32 BS FF 84 88 8 90 9 98 9D Al 6 A8 BO BS BA CO 33 Cs CB DI D7 DE E4 EB F9 FF 0A 09 08 07 06 05 34 04 0 06 42 6 B 35 23 03 90 36 53 8 B2 B2 23 90 BA 05 B9 13 26 36 81 Al 19 23 03 36 6 23 01 90 EA SF B 4 3 Fl 392 AE BA 80 47 97 67 03 FB E 8 03 48 E Al 38 23 50 64 9 03 05 B 21 47 AF BC O 19 47 39 03 FC E6 96 44 DD Bl 21 03 48 E BD 04 67 2A 67 3A 2A 2B 67 2B ED 9D EC 8D FB 47 B B D6 BA 00 3B 64 75 BA 05 BB 00 B8 ID B 10 FI 67 E 28 03 3C 08 28 EA BB B8 03 23 20 7 EC CB 90 23 01 0 4 283 984 33 34 TABLE XII continued MODIFIED ENVELOPE COMPUTER PROGRAM LOC 0 1 2 3 4 5 6 7 8 9 A B F 30 90 26 DI B9 11 B9 03 91 23 03 90 3 DC 23 01 3E 90 04 2 AD 37 70 E6 ED FA FD 64 3F FO 07 0 96 FB 54 C9 9 44 34 0447 93 00 00 00 The programs listed in Tables IX through XII each require less than 1024 words of ROM hence each can be implemented in an Intel 8048 microcomputer It should be apparent to those skilled in the art that a single microcomputer such as Intel s 8049 can be pro grammed to perform the functions of both the keyboard and the envelope computer The 8049 has a 2048 word ROM a 128 word RAM and will operate at an 11 mhz clock rate which is practically twice the speed of the 8049 Consequently a single 8049 could perform the com bined programs at the same rate
9. 4 283 984 PRESET R0 R3 FOR VULNERABILITY TEST SET ACC LAST CONTACT STATUS FIGS INITIALIZE INTERRUPT amp HANDSHAKE SIGNALS J KEYBOARD COMPUTER SET 11 amp 202 0 IS Bx STATUS 0 COMPARE TE OF PRESENT MOVE B CONTACT STATUS VPUT PRESENT IF GREATER STORE IN INPUT PRESENT STATUS amp STORE IN RF R3 AND PLACE MASK OF NG IN R4 POINT R0 TO TE OF NEXT NG ARE TESTS COMPLETE ACKNOWLEDGE INTERRUPT BY KEYBOARD COMPUTER INPUT TRANSFER INSTRUCTION DECREMENT A D1 D2 amp R COUNTERS ANY COUNTERS REACHING 0 8 SET 1 IN CORRESPOND ING BIT POSITION OF R7 amp SET OTHER BIT POSITIONS OF R7 POINT RO TO R18 SET 1 IN CORRESPONDING BIT POSITION OF R6 CALL EGS POINT RO TO R38 SET 1 IN CORRESPONDING BIT POSITION OF R6 CALL EGS C38 IS BIT 5 12 EXECUTE B A D1 D2 amp R BLOCK TRANSFER IF lt 5 SET R7 MSN A AND SET R14 21H IF A gt 5 SET R7 MSN 5 AND SET R14 A 6 cia FIG 4c DOUBLE RIGHT SHIFT R3 BY R2 PLACES INTO EA REGISTER SET ENVELOPE STATUS OF NOTE IN PROCESS 0 WHEN EA 0 RETURN YES OUTPUT MASK OF VULNERABLE NG FIG 4b INCREMENT TRANSIENT EXPONENT OF NOTE IN PROCESS SET LNEXP TABLE ADDRESS 18H RETURN C37 FIG4d CONVERT PITCH OF N
10. AO 18 54 CO C8 C8 20 18 44 9 FA 03 14 FA BA 07 AC 47 E AD 2 80 E EC 49 6D AO 24 2 15 FF 53 08 03 FF 6 65 18 00 FO 5 E AB FO 5 IF 16 07 C6 6B A0 04 99 FB 47 77 AA 23 80 E EA 6 17 6B AO 18 18 FO 18 18 60 AO C8 FO 18 18 70 E 83 18 23 FF 00 AO 3 0 AB BA 07 C8 EA 89 FO 5 Of 0 19 14 6B E6 97 04 99 FO 18 BO BA 23 18 00 00 18 IA 18 0 03 23 AB C8 C8 C8 FO 53 97 3 03 IB 10 BA 05 18 EA B3 AO AA 54 CO BA 07 C8 EA 54 IC Ft 18 18 BO F6 13 C6 CC 04 99 C8 C8 C8 BO 1D BD 04 99 23 18 24 OF FF 5 04 03 FF F EO 04 99 IE 18 FO 07 6 AO 04 99 54 EF 18 FO 07 AO C6 FE 1 03 22 AB 18 FO AA 54 CO C8 C8 44 0 44 09 20 C8 27 30 07 C6 OD 30 04 99 54 E6 24 FO FO O F5 2l A0 B9 13 6 E 18 04 99 C8 C8 C8 BO BD 04 99 FF 22 53 02 03 FF F6 28 44 18 FO 07 AO C6 30 04 99 2 54 EF 18 FO 07 AO C6 44 O 23 E AB 18 18 24 54 CO 04 9 54 E 44 38 FF 53 01 03 FF F 5 04 25 99 18 FO 07 AO C6 59 04 99 54 EF 18 FO 07 AO C6 26 6D 03 23 AB 18 18 FO AA 54 CO 04 99 54 E 44 27 61 00 00 00 00 00 28 00 00 B 11 FO 80 B 03 90 BA 12 EA 5 29 90 81 C9 04 19 18 AO C8 FO C8 C8 20 18 18 A0 2A 03 FB A8 BO B7 04 9 0 00 0 0 8A 04 4 283 984 29 30 TABLE X continued ENVELOPE COMPUTER PROGRAM LOC 0 1 2 3 4 5 6 7 9 A B C F 2B 23 08 04 9B 8A 04 91 93 00 00 00 00 00 00 00 00 2C 18 FA C6 D4 27 97 2B 67 2B 67 EA 65 AC 0 18 FB 2D AO C6 D7 93 27
11. C16 otherwise it proceeds to C15 In block C15 TE R1D R3D of the note generator under test is compared with the previous maximum value which is held temporarily in R3 If the present TE is greater it is placed in R3 and a mask of this note generator is placed in R4 In blocks C16 and C17 the program loops back to C14 until all five note generators have been tested then proceeds to C18 In block C18 the mask of the vulnerable note genera tor having the highest TE lowest amplitude is output to register 202 to identify it to the keyboard computer The above described method of selecting the most vulnerable note generator is limited in accuracy to the resolution of TE but has been found adequate for this purpose For greater accuracy the absolute values of the envelope EA can be used in lieu of TE but this requires more instructions more free registers and more execution time IV Computer Operation With Modified Programs The operations described in the preceding sections occur when the program shown in Tables IX and X are used in the keyboard and envelope computers Alterna tive versions of these programs are shown in Tables XI and XII respectively The changes in operation which occur when using the modified programs are described in the following One object of the alternative programs is to provide the envelopes with both nominal and pitch scaled am plitudes simultaneously rather than optionally This requires the use
12. In block C36 the operations in the release made are identical to those in the decay 2 mode except that the R flag in R7 is tested instead of D2 to determine when the individual DRC counter is to be decremented The program continues to branch to C36 until EA reaches 0 or until this envelope generator is reassigned by the keyboard computer When EA reaches 0 the envelope status is set 0 in R11 by the PUEA subroutine de scribed in the following This causes the program to branch from C22 to C23 instead of C25 on subsequent passes There are many repetitive operations occurring in the preceding description To conserve program memory space several additional subroutines are used to per form these operations within the primary envelope gen erator subroutine EGS The first of these subroutines is CYLE shown in FIG 40 which is called whenever the LNEXP table address R1B R3B reaches 0 CYLE recycles the table address to 18H and increments TE in RID R3D then returns control to EGS CYLE is located at 2E6 2EE in the program memory The next subroutine PUEA shown in FIG 4C is called to process and update EA whenever the enve lope is incremented or decremented Before PUEA is called the data to be processed such as data read from the LNEXP table is loaded into R3 and the exponent of 2 by which the data is to be divided is loaded into R2 PUEA then double right shifts the 8 bit data by R2 places and stores the 16 bit result in EA The
13. MULTIPLEXER OUTPUT SET IS gt 18 YES SET 1 SET RO R32 0 START TIMER WAIT FOR INT 1 ENABLE INTERRUPT SET F0 0 SET RO 38H SET CPN 0 Aug 18 1981 4 283 084 Sheet 3 of 7 COMPUTE NEW BLOCK STARTING ADDRESS amp STORE IN R37 FIG 2a SET F0 1 TRANSFER B A D1 D2 R TO ENVELOPE COMPUTER OUTPUT R26 TO R102 IS CPN 16H NO INPUT DATA FROM SLIDE CONTROLS IS STO 0 STORE DATA IN 20 CAPTURE MEMORY IS CPN gt 11H NO CONVERT LINEAR INPUT TO EXPONENTIAL OUTPUT OUTPUT DATA TO DISCRETE REGISTER B27 INPUT DATA FROM DISCRETE REGISTER B28 IS CPN gt 16H B29 HAS B A D1 D2 OR R CHANGED B30 SET B A D1 D2 OR R R5 SET F0 0 INPUT R202 B24 INCREMENT TIME IF TF 1 54 MULTIPLEXER OUTPUT YES IS gt 18 Bes INCREMENT 226 4 283 984 Sheet 4 of 7 U S Patent Aug 18 1981 SH3ISIO3H 3HOLS3H 3dO T3AN3 OL Viva 3SNOdS3H HONOL LINSNVHE HOIVTIIOSO OL LINSNVH L 458 NI 6 3dO THAN3 31vaan Cana 20914 T BEP CLIP AHOWSW 3uniidvo 193138 NI 1N3HHfIO 30 SS3HQQV AHOWJW ain PH 1431 31V1Oti SUV WHO OL NO OU SSSYCOV SNI1HVLS 0018 aav ATJALLO3dS
14. a range of 3 0 7 corresponding to an audible range of 0 42db Higher values of TRS require correspondingly higher values of the attack increment hence correspondingly fewer right shifts of the increment value INTB read from Table IV TRS is complemented with respect to 7 and the complement CTRS is added to the attack common exponent ACE from R7 If the result is lt 8 INTB is right shifted ACE CTRS bits and the individual AKC counter RIA R3A is set 21 to minimize the step width If the result is 28 INTB is right shifted 7 bits and the remainder ACE CTRS 6 is set into R1A R3A in the same form as the common A D1 D2 and R counters in R14 R17 to increase the step width accordingly The required value of INTB is placed in EA in the corresponding register pair RIC R1D R3C R3D Finally the branch pointer R19 R39 is set B7H so that the program will branch to block C26 on the next pass In block C24 the output of the analog multiplexer 205 is inhibited The envelope amplitude EA is scaled to the pitch stored in the MSN of R18 R38 and ports 1 and 2 are set EAs the scaled value of the envelope The program shown in Table X is arranged to optionally omit this scaling of amplitude with pitch when the T1 input not shown of the envelope computer is set to a logic 1 level see instruction 0A4 The analog multi plexer 205 is then pointed to the controller of the current note generator and enabled via register 204
15. constants in the in structions that control program branching as a function of CPN 4 283 984 On the 25th pass through the minor loop CPN 18H which causes the program to exit at B12 to B13 In block B13 port 21 is set 1 to enable the envelope computer 200 registers R0 R32 are cleared to 0 and the built in timer is started Computer 100 then enters a wait loop if its INT input is low After computer 200 sets INT high computer 100 enables its interrupt sets F0 0 and sets R0 38H The builtin timer runs contin uously and sets a timer flag TF when it overflows This flag is tested in block B24 causing R33 Time to be incremented if it is true The flag is reset automati cally when it is tested In block B14 CPN R38H is set 0 The program now returns to B2 to start its major loop FO is invari ably set 0 during the initial minor loop operations hence the program branches from B4 to B16 In block B16 the flag F0 is set 1 and a software interrupt of the envelope computer is initiated by set ting port 20 1 During the execution of this interrupt the breakpoint parameter stored in R3A is comple mented before being transmitted to the envelope com puter via register 102 The attack parameter A R3B is converted to an 8 bit byte using a table stored in loca tions 3D0 3DF of the program memory before being transmitted Similarly the D1 D2 and R parameters are converted to 8 bit bytes using a different table stored in loca
16. data In block B43 R3 is tested to see if processing of the pair of nibbles has been completed If so the program returns to the keyboard input loop at B34 otherwise it loops back to B36 In block B36 on the fourth pass ACC 00000001 hence the program branches to B44 In block B44 the contents of ACC are saved in R17 In block B45 ACC is set R2C and is masked with R4 to test the contact status of the playing key in process If the test indicates these contacts are closed the program branches to B48 4 283 984 9 In block B48 bits 0 and 1 of R3 are moved to bits 4 and 5 of ACC then R2 is added to obtain a bit and group key identifier which is then compared with the key assignments stored in R1B R1F in sequence If a match is found a mask identifying the corresponding note generator is placed in R6 Thus when a playing key is operated repetitively the same note generator is se lected each time In case no match is found R26 and R27 are examined in search of an idle note generator defined as one that has been released by the playing key to which it is as signed and whose envelope amplitude has decayed to 0 or other predetermined minimum value Hence an idle note generator has 0 in its corresponding bit position in both R26 and R27 If one or more idle note genera tors exist the first one encountered is selected by plac ing a corresponding mask in R6 In case no idle note generator is found a search is mad
17. is connected directly to the top output of counter 304 Since there is then one memory access for each VCO cycle this connection provides the required 134 k sec access rate of 128 locations for the highest note C7 For the next lower octave the LSB is con nected to the top output thereby providing a 134 k sec access rate of 256 locations for the next highest note Ce For each succeeding lower octave the LSB is con nected to correspondingly lower stages of counter 304 ROM 309 produces output signals at 3 the frequency of ROM 308 hence its address inputs are connected to correspondingly lower frequency outputs of counter 306 The four pulse type waveshapes each require only one bit of each memory word Two locations of the 16 P bit store 15 and 30 locations store 05 The 16 P output all are open collector type is connected through resistor 314 to an output of clamp and hold 111 and through a diode 315 to a resistive divider network 316 318 The divider network scales the inputs to pre amp 319 so as to compensate for the roll off of VCF 1 370 which is a tracking type of damped integrator The diode 315 can be replaced by a resistor but the diode is preferred because it provides a threshold above the Vs4r output of the ROMs which are bipolar de vices If ROMs having field effect type output transis tors are used there is no need for this diode The nine sine type waveshapes each require two bits of each memory word One of these b
18. keys are depressed the result is always 0 and the program proceeds to C21 In block C21 the accumulator ACC is set 2 R11 which holds the envelope status of EG1 EGS 15 20 25 30 35 45 50 60 65 14 In block C22 ACC is masked with R6 to test the envelope status of the current EG Assuming that the result is 0 the program proceeds to C23 In block C23 the 16 bit envelope amplitude EA held in register pairs R1E R1IF R3E R3F of the EG in pro cess is cleared to 0 In block C24 the analog multiplexer 205 is disabled via register 204 The 16 bit envelope amplitude is scaled down inversely with the pitch of the current note held in R18 R38 and graduated in half octave intervals This scaling adjusts the envelope amplitude to make the output of the first voltage controlled filter 1 such as 370 associated with the EG in process indepen dent of the pitch of the selected note Ports 1 and 2 in their entirety are then set EA Ladder network 206 converts the 16 bit digital envelope to an analog voltage that is buffered by an operational amplifier 207 before being directed to the analog multiplexer 205 Finally this multiplexer is pointed to the current note generator and is enabled to drive the corresponding clamp and hold circuit such as 351 A two stage RC filter is em ployed for this circuit to smooth the steps in the enve lope waveform so as to render them inaudible Appli cant has found that abrupt
19. modified program shown in Table in 22 issued Jan 31 1978 Harmonics of sine form hav which provisions are made for incrementing LNEXP ing sufficient purity for use in additive synthesis of musi by 2 3 4 6 8 or 12 steps at a time This enables the de cal tones were provided therein by a nov l circuit ar sired finer gradation to be obtained and also allows rangement that also functioned as a The circuit faster decay rates to be achieved at times with no arrangement comprised a resistive path between change in computer speed The values of step size to be 4 square wave tone source m the form of a binary di employed in each of the three decay modes is desig vider and a tone utilization and a transistor nated AD1 AD2 and AR switch connected in the resistive path so as to increase A table is added to the envelope computer program the absolute value of tone current during the second and to aid in establishing the required values for AD1 AR third quarters of each half cycle The transistor sw itch This table is located at addresses 344 34D and is shown 39 Was operated by an exclusive or gate having its inputs in Table VIII in which column ADDR shows the data driven by divider stages one and two octaves above that stored in the first four locations and column used as the square wave tone source By appropriate XPS XCTR shows the data stored in the next six loca choice of nee magnitudes of ine Steps mthe tions Foll
20. result is tested and if EA 0 the envelope status of the note in process is set 0 in R11 PUEA is located at 2CO 2ES in the program memory Another subroutine DRS shown in FIG 4d is used to recycle the counter DRC in the D1 D2 and R branch operations DRS converts the pitch R18 R38 of the note in process to a corresponding preset value obtained from Table VII shown above and stores it in DRC The DRS subroutine is located at 2EF 2FB It was previously noted in the description of the key board computer that in the event that there is no idle note generator but there are two or more vulnerable note generators the keyboard computer interrupts the envelope computer and requests it to identify the vul nerable note generator having the lowest amplitude It was also previously noted that a software interrupt of the envelope computer results in a branch from C3 via C10 to C11 FIG 3 where the transfer instruction is interpreted In the previous description of the interrupt 4 283 984 19 bit 5 of the instruction was a 0 signifying that a block transfer of B A D1 D2 and R data was required When bit 5 is a 1 the program branches to C13 In block C13 ACC is set last status of contacts R10 RO R3 are initialized for the vulnerability test The status of the contacts of the first note generator are then examined in C14 In block C14 if the note generator being tested has not been released the program skips to
21. steps as small as 0 25 db are distinctly audible with long decay times The program finally returns to the main loop where it either ad vances to the next EG or returns to the beginning at C2 Now assume that a playing key has been depressed fully and the keyboard computer has assigned EG1 to the note which may be Cs as assumed previously It will be recalled that the keyboard computer set register 102 1 in response to closure of the contacts of playing key Cs Hence when the envelope computer calls EGS from block C5 FIG 3 the subroutine pro gram branches from C20 to C31 FIG 4 In block C31 RF is masked by R6 to test the present state of the B contacts Finding them closed the program branches to C37 In block C37 bit 0 of R11 is set 1 to mark EGI busy The keyboard computer is interrupted via register 203 and the mask in R6 is sent via register 202 to identify the EG requesting data The keyboard computer re sponds to this request by sending the pitch and touch response data via register 102 which is input to R18 in the present instance An attack characteristic is then calculated as described in the following It is desired that the attack waveform be a ramp im plemented by incrementing a register by a selectable amount at periodic intervals until a level set by the touch response data is reached Hence the size of the selectable increment is a function of both the attack time and the touch response It
22. 0 3C 00 00 00 00 00 00 00 0 0 9 0 9 0 3D 00 00 00 0 00 0 00 0 0 0 009 3E 0 00 00 00 0 0 00 0 0 0 3F 17 AD 23 FF 0 04 ED F4 47 3A 00 00 00 0 TABLE XII MODIFIED ENVELOPE COMPUTER PROGRAM LOC 0 2 3 4 6 7 8 29 A B C D F 00 23 B9 0 27 03 90 B OF AO B AO B9 Ol OF Fi 19 B8 11 FO 03 80 03 90 BA 12 EA IE 02 5 90 81 C9 Al 26 2A 64 4E BA 04 BB 0 0 97 C6 4F 53 EO AC FI 5 IF 0 4C Al 5 IF 96 04 4F FC 47 77 AD 2 80 E ED 47 5 IF 6C Al F3 05 F7 AB 19 EA 30 B9 07 31 18 BE O 78 B8 20 06 BE 02 4 78 28 BE 04 14 78 30 BE 08 14 7 07 B8 38 BE 10 14 78 04 OF B9 OF FI 19 DI SE O FF 08 F6 F5 19 FI 5E 03 FF E6 8B 24 8E 03 07 A8 2 09 AO C8 AO 8A 04 23 08 OL 91 53 F8 03 06 0A F8 03 FA FO 47 5 OF 37 0 OC 77 AA F8 03 07 0B FO 04 91 B9 AC C8 F0 AB FA F2 DI 33 OC AA EA C8 B8 03 04 ES 97 2C 67 2C CB 67 2B 04 0D C2 97 FC 67 AC FB 67 AB 97 FC 67 AD FB 67 6B AB 0E FD 7C AC 04 BE FO 3A 18 FO 39 FE 72 FI 8A O OF 93 23 03 04 ED C9 FI SE 03 Ff FE 04 93 B 02 10 23 00 91 FE 03 20 19 26 07 91 23 0 C9 9 36 OE l 81 56 17 53 FO 03 OF AO 27 91 B Fl d Al D 03 91 23 01 C9 26 25 9 36 28 FF E7 53 0 AC DO 13 53 01 AB FO 47 E 53 IE 6B E AB FO 63 6 9 M 67 AC FF 53 70 47 03 08 37 6C 3 18 18 AA 5 08 15 03 F6 7C BO 21 F8 03 05 FO C8 C8 AO 18 FO 16 C8 C8 AO 18
23. 0 00 00 0 27 8A 2 2A 81 9A 23 FE FO 37 53 FO 36 35 9 8A 01 18 FO 00 00 00 24 0 00 00 00 26 45 EA 53 26 FO 9A FE 36 25 4F 24 C5 9A FE 44 35 00 00 00 00 B8 38 FO 03 E9 2 E6 6D 08 64 FO 00 09 53 FO AD 44 86 B9 3 Fl 27 B9 08 B8 02 BE 04 27 AC AD 97 7 FC 67 AC 4D 2 90 46 8 AD EE 7C 9A 07 0 09 3 12 24 D 74 29 AD FD 91 24 DS 03 F6 AD FD 4 E 03 B 2A AD 38 0 FO E6 AB 2D 37 2D 24 EO 03 FB 2B B7 10 FD 90 24 EC FO 03 28 9 FD DI C6 C2 FD 2C Al 85 24 EC B8 38 FO 0 E F CD 24 02 27 2D B8 32 AO E8 D2 55 8 D 36 D 05 85 B 38 44 00 2E 9A F4 27 B 04 90 B 16 BO 01 B8 38 AO 95 0 2F Ol 05 B8 34 AO F9 18 AO FA 18 AO 64 40 3 01 04 OA OA 4 14 1 24 2A 301 34 3A 34 3l 00 06 4D 28 0 6 SD 33 20 26 6D 39 3 3 7D 4l 32 22 00 4C 49 2 19 5C 51 22 29 6C 6 3 39 7 33 05 08 4E 90 15 18 SE B4 25 28 6E D4 35 3 7E 4 283 984 31 32 TABLE XI continued MODIFIED KEYBOARD COMPUTER PROGRAM LOC 0 2 3 5 6 7 8 9 B D F 34 B8 00 26 42 80 B 27 53 IF AA Fl 4A Al B9 1 FA 35 19 67 E6 5 03 80 BA 08 90 77 EA 5A 2 03 36 E6 8 03 IF 29 2A 8 B 27 FO B8 15 BO FC C8 BO C8 67 AO F6 7A 18 FO 80 B 15 FO C6 86 10 38 C8 10 C8 FO 64 72 2A 53 370 03 20 61 B8 04 90 39 9A FE 36 92 38 26 FO B8 04 90 8A 01 86 9C 9A FE 3A 36 FO AA C8 FO A9 C8 FO A8 C5 FF B8 3 FO 3B 18 60 A9 80 OE 93 00 00 00 00 0 00
24. 04 04 79 23 08 04 79 23 10 5 B8 26 FO 4E 08 B8 33 FO AD B8 IF FE 18 67 E6 87 FD 37 60 37 03 09 FB E6 B4 0 DD F6 B8 03 28 BE FE 1E F7 E6 9B E7 0A E7 53 03 17 2E E7 E7 07 EE A7 A0 B8 26 0 8 04 0B 90 04 62 00 23 04 23 02 044 B8 17 0 0C 5 96 E7 47 5 6 CD 4C Al 04 62 FB 47 6 00 D5 AA DB C6 E9 FA DC C6 ED FA DD C6 Fl FA DE C6 OE 5 FA DF 6 F9 04 61 24 13 23 01 04 FB 23 02 04 OF FB 23 04 04 FB 23 08 04 FB 23 10 C5 37 AE B8 25 10 FO SE AO 18 FO 5E B8 04 90 B8 00 80 F2 11 24 1l 04 62 FB 47 6 D5 DB C6 76 FA DC C6 7A FA 12 DD C6 FA DE C 82 FA DF C6 86 B8 27 F0 AA C8 13 C8 FO 4 37 12 76 32 7 52 7 72 82 92 86 FO 37 14 SA 9 BA 00 B8 05 97 67 F6 9 E8 47 FA C6 AC 07 i5 C6 171 8A 01 26 52 B8 04 23 20 90 9A FE 36 5D B8 163 00 80 01 26 64 A9 B8 26 FO B8 04 9A FE 36 17 6F F9 24 88 04 61 23 24 88 23 0 24 8 2 04 18 24 88 22 08 24 88 23 10 CS AE B 25 FO 4E 0 1 33 FO AD B8 FE 18 6 E6 FD AO 23 FB 6 FB 47 AO B8 17 FO 04 36 24 4 CS FC 4 4 37 51 Al 04 6 B 38 FO 03 80 B 08 91 FO 03 1C E6 C4 44 00 10 9A OF 0 09 37 3 CE 4 SB 74 ID 81 47 53 OF AD 9A B 38 FO 03 FD E EO 44 95 1E FD 02 91 B9 38 Fl 03 20 B9 08 91 B8 19 FO 37 IF 12 F4 44 C4 B8 00 80 B8 27 AO 16 FE 04 H 04 08 20 BO 00 9A OF 09 B8 30 DO 53 FO C6 IC 09 AO 4 21 53 OF AA 23 E 03 18 EA 15 B8 37 0 B6 51 95 BO 22 04 B8 3A BA 0
25. 11 04 08 20 BO 00 9 OF 09 B8 3F 30 DO 53 FO C6 1 09 47 21 53 OF 23 E8 03 18 EA 15 B8 37 B6 51 95 B9 4 283 984 27 28 TABLE IX continued KEYBOARD COMPUTER PROGRAM LOC 0 2 3 4 5 6 7 8 9 B D_E F 2 4 B8 3A BA 05 BB DO BC 04 7 8A 0 26 2A 8 9A 23 FE FO 37 53 FO 36 35 91 8A Ol 18 FO 47 6B 24 EO EC 45 C6 57 26 45 EA 5 B8 26 FO 91 9A FE 36 25 4 24 C5 9 FE 44 35 23 CO 44 45 B 38 FO 03 26 E6 6D 08 64 FO 00 09 53 FO AD 44 8 B 3 FI 27 B9 08 91 02 BE 04 27 AC AD 97 A7 FC 67 AC 4D 28 90 46 84 AD EE 7C 9A 07 3 2 24 4 29 AD FD 24 DS 03 F AD FD 4 E 03 O E 2A AD B9 38 Fl 03 FO E AB 2D 37 2D 24 EO 03 FB E6 2B B7 B8 10 FD 90 24 EC FO 03 28 A49 FD DI C6 C2 FD 2C Al 85 24 EC B8 38 FO 0 E F6 CD 24 C4 0 2 2D B8 32 AO D2 55 86 D6 36 D6 05 8 B8 38 44 00 2E 9A F4 7 04 90 B 16 BO 01 38 0 95 44 02 2F 8A 01 AF 05 F8 B8 34 AO F9 18 AO FA 18 AO 64 40 3 01 04 OA OA 4 21 24 2A IC 3 3 24 31 0 6 4D 28 10 6 SD 33 20 26 6D 39 30 36 4 32 22 0 4C 49 11 19 SC 51 22 29 6 6 32 39 7 33 05 08 46 90 15 18 SE B 25 28 D4 35 38 34 00 26 42 80 B 27 53 AA 4A B9 IA FA 35 19 67 E6 5 03 80 BA 08 77 EA 2 03 36 E6 8 03 IF 29 2A 80 B 27 FO B 15 B FC C8 BO 3 01 C8 67 AO F6 7A 18 FO A8 8 B 15 FO C6 8 10 38 C8 10 C8 FO 4 72 2A 53 0 20 6 B8 O 90 9 9A FE 36 92 38
26. 26 FO 04 90 8A Of 86 9C 9A FE 3A B8 36 FO AA C8 FO A9 C8 FO A8 CS FF 93 B8 37 FO 3B 18 60 A9 8 OE 93 0 00 00 9 00 00 00 0 3C 0 00 00 00 00 0 3D 00 00 02 02 03 03 044 04 05 48 B6 C6 3E 21 21 42 42 42 6 6 64 88 88 88 BO BO CO CO 00 3F 17 AD 23 FF 03 04 ED M 47 3A 00 TABLE X ENVELOPE COMPUTER PROGRAM LOC 0 1 2 3 4 5 6 7 9 D 0 23 B9 02 27 03 90 B OF AO AO 0 00 00 B 19 AI 44 82 Al 36 14 BA 04 02 BB 00 F1 97 C6 41 53 AC Fi 53 IF 07 4C Al 53 03 IF 96 41 FC 47 77 AD 23 80 E7 ED 39 53 IF 6 Al 04 7 FB F7 19 EA 22 07 31 B8 18 BE 0 14 80 05 B8 20 BE 0 14 80 B8 28 04 14 80 B8 30 08 06 14 80 10 14 8 04 1 6 46 C6 79 O 07 6C 0 0 Al 50 04 4 FB 47 2F BI 21 04 4A 08 B9 OF FI 19 SE 03 FF F6 19 SE 03 FF F6 09 B4 F8 03 07 A8 27 AO 4 AE B Ol 91 F8 53 0A F8 03 06 8 5 FO 3A 18 FO 39 FE 72 BO 44 B4 OB 23 03 4 AE 18 FO B B8 24 50 BB 4 D BE 44 IF OC CI 44 48 C9 SE 03 FF F6 CF 18 B CO 04 99 B9 0D 02 23 0 94 FE 03 20 19 6 D8 23 02 C9 91 36 0E DF 81 0 27 B H Fi 4E Al B O 9 23 O OF 24 00 00 00 00 00 00 0 00 00 0 0 6 86 10 26 00 91 36 03 FO 5 OF 97 6 AC FO 4 5 OF F il 03 0 AB FF 5 4 03 07 3 6C 3 18 18 AA 12 53 08 03 F8 F6 BO 21 F8 03 05 A8 FO C8 AO 13 18 FO C8 C8
27. 3H 96 9 31vLOH N 06 6 3AVS 28 NI 3AVS 14 3 IH WOtid 3 3 0 55300 NI 30 SNIVLS 10VINOO 135 OL S iViS 8 LNdLNO 92H NI L X Lig 185 NI 3Hf1S010 V dSH1 31ndWOO ZI 3HOLS3H A33 LNAYHYND OL GANDISSV 218 ERUNT 31ON 31V201 NI LNAWNDISSY AZM 13S Sz 02 XH NI INIL LIS SZH NI L x 11g 13S 2035012 SLOVLNOO 8 H31ndWOO 34 13 HO 318VTIIVAV HOLVH3N3O 6018 OL ILON 3 SI 5 1OVINOO 8 1nd L RO 92H 9SCH NI 0 x Lig 13S 1 OL GANDISSY 31ON 31VOO1 YOLVYANAD 3LON 318VH3NT 0A HO HOIVH3N35 ALON HO 1N3tiHnO OL G3N9SISSV HOIVH3N39 ILON 1835 S3A 2035012 SLOVLNOO V Iti NI 3AVS 31V1S GADNVHO SLOVLNOO 8 ON 31 15 G3DNVHO SLOVLNOO SAVH S3A 42913 cH LN3W3HONI LN3W3HONI S3A 20 SI LNdNI LSv 1 amp LOdNI AN3S3Hd 20Vv 135 QHVOSA3M WOtJ Hi Vd 3 T88IN LNdNI LH 138 O H 136 L 6H 135 H828 H 195 ica U S Patent Aug 18 1981 Sheet 5 of 7
28. 44 FC C6 FO 93 B9 11 FE 37 2E 51 1 B9 03 91 93 18 18 10 23 18 C8 C8 93 C8 2F C8 FO 53 FO 47 03 3C E3 18 18 93 00 00 00 00 30 00 00 00 00 1B 26 20 2D 26 36 2D 40 36 4C 40 5B 31 40 6C 5B 80 01 02 03 04 06 08 0B 10 17 10 2D 40 32 5A 80 5 84 88 8C 90 94 98 9D Al A6 AB BO B5 3 BA C5 CB DI D7 DE E4 EB F2 F9 FF 0A 09 09 07 06 05 0 03 0 0 F 03 FA A8 FO 4 53 OF 3 03 35 0C 77 AA 03 07 FO AC C8 FO AB FA 72 FA 36 53 OF AA EA 69 B 03 04 A6 97 2C 6 2C 2B 67 2B 37 64 63 97 FC 6 AC FB 6 AB 97 FC 67 AD FB 67 6 38 AB FD 7C 64 5 B8 02 23 03 90 36 8B 81 B2 39 23 01 90 05 9 13 26 97 81 Al 19 23 03 90 36 3 23 01 90 EA 97 B9 14 F1 00 00 BA 06 BB 00 04 3B 6C BA 05 BB 00 B8 iD B9 10 67 E6 E2 28 03 08 3C 28 EA BA B8 03 23 20 77 EC C7 90 2 00 B8 02 90 3D 26 DO B B 0 94 23 03 90 36 DB 23 90 3E 04 AD FB 37 70 00 E ED AB FA FD 64 3F 00 00 00 00 0 TABLE MODIFIED KEYBOARD COMPUTER PROGRAM LOC 1 2 3 5 6 7 9 A B F 00 44 EO 00 C5 44 FO 24 BS B9 33 42 11 03 F4 F6 0B 0l 62 B9 28 BA 01 BB 00 FA 47 03 06 09 21 02 DI 96 34 lA 53 03 03 FD 96 2C 1 19 F9 03 03 C6 06 04 15 12 BC 92 41 77 1B 2C E7 92 23 2C 04 04 34 B8 17 A0 47 5 C6 62 49 47 64 DS AA DB C6 05 6 FA DB C6 6B FA DD C6 6F FA DE C6 73 FA DF C6 06 77 CS B8 17 FO 04 38 23 01 04 79 23 02 04 79 23 07
29. 5 2 BC 92 41 77 2 92 23 2C 04 34 B8 17 AO 47 SC C6 6 49 47 6A D5 AA DB C6 05 67 FA DC C6 6B FA DD C6 6F FA DE C6 73 FA DF C6 0 77 Cs 17 FO 04 38 2 01 04 7 23 0 04 79 2 07 04 04 79 23 08 04 79 23 10 CS AE B8 26 FO 4 AO 08 B8 33 F0 AD B8 IF FE 18 67 E6 87 FD 37 60 37 C6 09 AF BE FE IE IE F E6 93 F7 F6 9C IE FE 03 F6 OA 5 03 07 04 B3 FE 26 B8 04 90 04 62 23 0B OF 04 6 E6 B8 JE 0 AS 23 0 04 6 B8 17 AO 0C 5C 9 47 SC 6 CD 4C Al 04 62 FB 4 OD DS AA DB C6 E9 FA DC C6 ED FA DD C6 FA DE C6 0E F5 FA DF C6 F9 04 61 24 13 23 01 04 FB 23 02 04 10 FO SE 0 I8 FO SE AO B8 04 90 B8 00 80 F2 11 24 04 62 FB 47 DS DB C6 76 FA DC C6 7A 0 DD C6 FA DE C6 8 FA DF C6 86 B8 27 FO AA C 13 C8 FO 4A 37 12 76 32 7A 3 7E 72 82 92 86 07 9 BA 00 B8 05 97 67 F 9 E8 47 FA C6 AC 07 15 C6 71 8A 01 26 52 B8 04 23 20 90 9A FE 36 5 B8 16 00 80 8A 01 26 64 9 26 FO B8 04 90 9A FE 36 17 6F F9 24 88 04 61 23 01 24 88 23 02 24 88 23 04 18 24 88 23 08 24 88 23 10 CS B8 25 FO 4E AO B8 19 33 F0 AD B8 IF FE 18 67 E6 96 FD A0 23 FB 68 8 lA FB 47 6 AO 17 FO 04 36 IA 24 47 CS FC 47 4C 1B 37 51 Al 04 62 B8 38 FO 03 80 B9 08 91 FO 03 E8 IC E6 C4 44 00 10 9A OF 00 09 37 3 4 5B 74 ID 81 47 53 OF AD 9A F7 B8 38 FO 03 FD E6 EO 4 95 IE FD B9 02 9 B 38 Fl 03 20 B 08 91 B 6 FO 3 12 F4 44 C4 B8 00 80 B8 27 0 16 FE 04
30. 54 99 C8 C8 20 18 18 AO C8 FO C8 C8 17 20 18 18 AO F8 03 FB A8 BO 21 04 93 FA 03 FA BA 18 07 AC 47 AD 23 80 E EC 87 6D AO 34 56 C9 FI 19 5E 03 FF 97 4 IE 18 FO 03 DF 44 2A 23 lA 18 24 ED FF 5 08 03 FF B7 18 FO 53 E AB FO 53 IF 07 C6 6B AO 04 93 FB 4 7 AA B 80 E IC EA 6B AO 18 18 FO 18 18 60 0 C8 FO 18 18 70 ID E6 D4 23 FF AO 37 AB BA 07 C8 EA D9 FO 5 OF 03 IE 12 E3 6B F6 B7 FO 18 BO 24 12 9 23 OC 18 18 AO IF 03 23 AB C8 C8 C8 FO 53 OF 97 67 37 03 0 BA 20 05 18 EA 01 AA 54 99 BA 07 C8 EA OA 54 CB 18 21 18 BO F6 13 53 FO 96 38 C8 C8 44 FA 18 FO 2 B3 22 24 25 44 3A 28 44 70 FF 5 01 03 FF E 23 38 18 64 FO Fl 47 54 86 0 9 FF 5 04 03 FF 24 38 18 FO 07 A0 96 38 54 C8 B9 53 OF AD 54 25 86 C8 C8 C8 27 30 C6 SE 0 ED 56 30 04 93 FO 03 26 F6 AO B9 13 5 FO 61 F6 5C C8 C8 C8 BO 27 93 27 FF 53 02 03 FF E6 6E 18 FO 07 AO 96 8 54 C9 28 OE Fl 54 86 04 93 53 OF AA 18 FO 07 C6 BF EA 8B 25 AO 03 21 AB 18 18 FO AA 18 FA C6 AD 27 07 28 2A 67 2B 67 EA 9E AO 18 FB AO C6 BO 93 27 44 5 2B FC C6 BS FO 93 B9 FE 3 5 Al B 03 91 9 18 2C 18 10 23 18 C8 C8 AO 44 C8 C8 FO 5 FO 4 03 2D 18 18 AO 93 3 B OE FA Al 04 58 97 6 DB 2E 02 F6 E4 ID 03 48 E ED FD 64 9B FC 2 F4 2F 23 CO 44 E FD F2 2 4 E 27 9 00 30 00 00 0 00 26 36 2D 40 36 4C 40 5A 4C 6 SB 8 31 6C 98 B6 03 04 06 08 OB 10 17 20 2D 40 5A 80
31. B 203 11 DI 209 12 D7 215 13 DE 222 14 E4 228 15 EB 235 16 F2 242 17 F9 249 18 FF 255 Pitch R18 R38 is used to form the address of Table VII located 33C 345 of the program memory from which the data for counter DRC R1A R3A is ob tained This data provides the desired variation in de cay release times from the nominal value selected by the manual parameter controls in accordance with the pitch of a selected note TABLE VII PITCH 2H gt t RU The present envelope amplitude EA is the final am plitude value established by TRSP and Table V The breakpoint level B is with reference to this maximum value B has a range of 0 F with a resolution of 1 5 db To detect variations in envelope amplitude of 1 5 db during its decay the current envelope level and enve lope level counter held in R1C R3C is provided This register is initially 6 when the envelope is at its peak The counter is decremented by 1 each time the envelope is attenuated by 0 25 db until the counter reaches 0 It is then reset to 6 and the current envelope level is decremented by 1 Accordingly R1C R3C is now set F6H The break level complement BC is then tested If BAF the program branches to C24 If B F the program proceeds to C30 In block C30 the branch pointer R19 R39 is set to cause the program to skip the decay 1 branch and instead branch to block C35 on the next pass In block C33 the D1 cou
32. C is then restored from R17 and the program returns to the previous loop at B37 Ordinarily a change in state of the B contacts will not be detected in the same pass as the contacts but it is possible In any event the change in state of the contacts will be detected in block B37 sooner or later and the pro gram will then branch to B38 In block B38 the ACC is saved in R17 In block B39 ACC is set 2 R2C the MSN and LSN are interchanged and the result is masked with R4 to test the contact status of the playing key in process assumed to be Cs in the present instance If the test shows the contacts are open the program branches to B47 restores A from R17 and returns at B42 If the contacts are closed the program proceeds to 40 In block B40 R2 and R3 are combined to form the note identifier which is then compared with R1B R1F successively to find the note generator assigned to the key in process The time stored in the corresponding register in the group R20 25 is then subtracted from the present time from R33 to obtain the elapsed time be tween closure of the and contacts of key Cs 0 m 5 35 45 60 65 10 The number of leading zeros in the elapsed time are counted and multiplied by two The result is increased by one if the first bit following the leading 1 is a 0 The result is complemented and stored in the register of group R20 R24 associated with t
33. EGI EG5 11 O00xxxxx Envelope status assigned to EGI EG5 12 Time 13 xxxx0000 BC Break level complement 14 XXX A Attack parameter xxxxx Attack counter 15 DI Decay parameter xxxxx DIC Decay 1 counter 16 D2 Decay 2 parameter D2C Decay 2 counter 17 R Release parameter Release counter 18 20 28 30 38 Pitch touch response 19 21 29 31 39 Branch pointer 1A 22 2A 32 3A AK individual attack parameter xxxxx individual attack counter DRC individual decay release counter 1B 23 2B 33 3B 000 LNEXP table address 1C 24 2C 34 3C AEA L during attack EL counter envelope level ELC envelope level counter AEA H during attack TE transient exponent XXXXXXXX XXXX XXXXXXXX XXXXXXXX 1D 25 2D 35 3D 1E 26 2E 36 3E EA L envelope amplitude low byte 1F 27 2F 37 3F EA H envelope amplitude high byte When power is applied to the computer 200 an inter nal reset pulse is generated to clear critical working resisters such as the program counter After the key board computer 100 has completed its initialization routine it sets port 21 1 which terminates the reset pulse in computer 200 and allows operation under pro gram control to commence at location 0 in the program
34. OTE IN PROCESS TO DR DATA USING TABLE LOOK UP amp STORE IN DR COUNTER RETURN 283 984 4 Sheet 6 of 7 U S Patent 18 1981 38 1 318 3 93 OL YAXATIdILINW 136 TSWA Id 135 HSVW3 ed 195 HO1Id OL V3 31999 LNdLNO tH3X314 LIGIHNI Old HONVH8 2 AVO3G 1HVLS amp ANIOdMV3H8 3dO I3AN3 SI ANIOd V3H8 63103135 SI 3SVd 31n23X3 4 13437 l 13A313dO0 13AN3 135 HONVtI8 L LYVLS T3A3710VLLV TVNId G3HOV3ti 3dOT3AN3 SVH 2 ANO3Q 31n03X3 t AVOAG ainoaxa 31023X3 HOJVH3N3D SdO THAN3 tH31SIS3ti v3 HV31O H34NIOd A8 813 O3dS NOI1V9O1 OL dWnr OMOVLIV OL gt tiB31NIOd HONVti8 13S SSNTWA HOWLLY 311 CidiNOO H3lfidWOO GHVOBA33 WOHS ONY HO1ld 33 L SS300Hd NI 310N SNIWLS 3dOT3AN3 135 L SS3OOtid NI ILON JO SALVLS 3dOT3AN3 SI 3Sv313ti OL H31NIOd HONVHUH 13S Snivis 3dOT3AN3 92V 135 4Q3SO ID SLOVLNOO 8 621915 Q3ONVHO 34 SLOVLNOO 8 3AVH U S Patent Aug 18 1981 Sheet 7 of 7 4 283 984 204 ALE REGISTER ENVELOPE COMPUTER Td 200 P 00 07 REGISTER WR 204A 206A FIG S 22 FIG 6 40 YES ARE
35. United States Patent Faulkner e OO ooo 54 CAPTURE SYSTEM FOR AN ELECTRONIC MUSICAL INSTRUMENT 76 Inventor Alfred H Faulkner 1324 Portesuello Ave Santa Barbara Calif 93105 21 Appl No 134 250 22 Filed Mar 26 1980 51 Int mH G10H 1 02 52 U S CL 84 1 24 84 1 03 58 Field of Search 84 1 24 1 03 1 01 84 345 56 References Cited U S PATENT DOCUMENTS 3 986 423 10 1976 Rossum 84 1 01 4 185 531 1 1980 Oberheim et al 84 1 19 4 227 432 10 1980 Bagus 84 1 01 4 244 259 1 1981 Koike een 84 1 01 POO PO7 KEYBOARD COMPUTER MuvriPUR 3 MuLTPL R ANALOG 4 283 984 Aug 18 1981 11 45 Primary Examiner J Truhe Assistant Examiner Forester W Isen 57 ABSTRACT microcomputer based synthesizer having a digital keyboard digital envelope generators voltage con trolled amplifiers and filters and numerous potentiome ter type presets is disclosed The presets are scanned by the microcomputer converted to digital form stored for recall on demand in a non volatile memory con verted to exponential form by use of a look up table when required and output to clamp and hold circuits associated with each voltage controlled circuit Each preset sample and hold operation is followed by a scan of the keyboard to minimize the impact of the capture system on the ke
36. amp and hold 111 The harmonics produced by ROM 307 are not identi cal to that described above for the SH since these har monics are not related to SH by a factor 2 where N is an integer However ROM 307 is programmed to pro vide waveshapes having 8 steps cycle with step changes as near the desired cycle intervals as possible with the 256 memory words available The results have been found to be perfectly satisfactory for the intended purpose An alternative allocation of memory words which provides uniform width steps for the S3H 3H and 6H is possible if two different waveshapes are used If the 8H has 6 steps cycle and the 6H has 8 steps cycle both can be provided in a 48 word memory with no varia tions between the cycles of either one Their submulti ples may have proportionately more steps or propor tionately fewer words The same sequence of logical combinations AB AB AB AB AB and AB is pro duced for the six steps cycle waveform the only differ ence being that each combination has a duration of 1 6 cycle The reason the embodiment described above is preferable is because the 6 step waveform cannot be proportioned so as to effectively cancel both the 3rd and 5th harmonics By choosing resistors 310 and 311 to have a ratio of 3 1 the 3rd harmonic is cancelled in the 6 step waveform The ratio of the peak signal to the first step in the resulting AC waveform at the output of amplifier 319 is 2 1 in this case The si
37. anches from B5 via B17 to B18 In block B18 register 119 is set to zero by the pro gram The three LSBs least significant bits of 119 are connected in parallel to all of the input output analog multiplexers such as 112 and 107 The effective higher order bits of 119 are decoded by 118 to select a corre sponding one of these multiplexers Assuming that slide control 158 is selected its setting is applied to the input of comparator 114 The program now implements a successive approximation D A conversion routine using register 116 and ladder 115 to generate the trial values to convert the slide control setting to a 4 bit digital value which is generated in the MSN most sig nificant nibble of R5 Since STO 0 the program skips B20 and goes via B7 to B8 In block B8 CPN R38 is tested and since it is ini tially 0 the program enters block B9 where the data in R5 is output to register 116 The first two voice control parameters are the vibrato rate and vibrato depth These parameters vary linearly with slide control posi tion hence are output without modification In block B10 one of the high order bits of register 119 is set to 1 to enable the output analog multiplexer such as 107 which connects to the clamp and hold circuit 111 for the parameter in process Since F3 is set to 1 the program proceeds to block B12 In block B12 since CPN is initially 0 the program branches to B26 where CPN is incremented by 1 The pr
38. as the two 8048s do Although one microcomputer would be eliminated with this approach additional peripheral components such as a port expander would be needed to compen sate for the reduced input output of a single 8049 com pared to the two 8048s Although the invention has been described and illus trated in detail it is to be understood that the same is by way of illustration and example only and is not to be taken by way of limitation the spirit and scope of the invention being limited only by the terms of the ap pended claims I claim 1 In an electronic musical instrument having a plural ity of potentiometer type presets for selecting desired tone parameters and corresponding voltage controlled circuits to effect the desired tonal response an im proved circuit arrangement for supplying the control voltage to the voltage controlled circuits comprising an analog to digital converter a first analog multiplexer a controller operative to connect said presets in se quence to a controller input via said multiplexer and said converter a digital to analog converter a second multiplexer a clamp and hold circuit for the control input of each of said voltage controlled circuits said controller being operative to connect said clamp and hold circuits to a controller output in like se quence via said second multiplexer and said digital to analog converter and programmatic means in said controller for effecting a non lin
39. de and the two primary cells are iso lated by a second diode Each memory chip can store ten set ups or data blocks of 25 parameters As ex plained previously the program converts the block select input from switch 155 into a block starting ad dress in B15 When the STO mode is selected the pro gram proceeds from 19 to B20 In block B20 port 23 is set 1 to select the capture memory and the digital value of the current parameter held temporarily in R5 is stored in the corresponding location of the selected block in the selected memory chip such as 103 During each pass through the major loop a different one of the 25 control parameters is stored in the selected block in like fashion In a few tens of milliseconds the entire block is stored Now suppose the player wishes to recall a set up previously stored in the capture memory In this case the mode switch 152 is operated to the RCM position The program consequently proceeds from B5 to B6 In block B6 port 23 is set 1 to select the capture memory and inhibit the decoder 105 The digital value of the current parameter is read from the selected block of the selected chip and is held temporarily in R5 Dur 5 10 25 3 35 40 ing each pass through the major loop a different one of 45 the 25 control parameters is read from the capture mem ory converted to an eight bit byte when an exponential output is required and is cyclically transferred to the cor
40. e contacts open the program branches from B36 to B44 and from B45 to B46 In block B46 the note generator assigned to Cs is located as described previously for blocks B40 and B48 The corresponding bits in R25 R26 and register 102 are set 0 A wait loop is then entered until the envelope computer inputs the changed state of register 102 The 4 283 984 11 program then returns to its normal loop via B47 and B42 The operation of the capture system will now be described In the illustrated embodiment there are 25 voice control parameters They vibrato rate and depth pulse type tones at four pitches nine harmonic components five attack decay parameters two voltage controlled filter VCF frequency parameters one VCF resonance or Q control one switch set to select the VCF roll off rate and one switch to select the operat ing mode of the second VCF When the player has found a set of these 25 parameters that he wishes to capture for future recall he merely selects a two digit block location using switches 155 and 156 and operates switch 152 to the STO position momentarily Switch 156 selects one of any desired number of capture memo ries each of which has 256 X4 storage cells These may be type 5101 CMOS memories which will retain data for one to two years when powered by a two cell hear ing aid type battery When the synthesizer is being played the capture memories are supplied with 5 volts through one dio
41. e VCF 2 affects the timbre of all notes under control of the FC2 and Q controls but indepen dently of the signal amplitude The gate 358 and resistor net 302 are low impedance relative to the control input of 356 so that linear voltage signals from net 302 pro duce exponential current inputs to 356 When switch 154 is operated to its open position transmission gate 360 is selected by logic gate 361 In this case a fixed current is supplied to the control input of 356 so that VCF 2 operates as a simple formant filter with a variable f o2 controlled manually by the 2 parameter control An analog multiplexer 388 controlled by register 109 connects the audio output 390 through mixing resistor 389 to either the output of 372 in VCF 1 or the first stage output of VCF 2 at 383 s output or the second stage output of VCF 2 at 385 s output This selection of output points allows the final roll off rate of the filter to be varied from 6 db octave to 18 db octave The and FC2 controls allow the corresponding cut off fre quencies and 2 to be made equal if desired or to be separated by many octaves whereby a wide range of tone colors and tone color variations with amplitude can be achieved TABLE IX KEYBOARD COMPUTER PROGRAM LC 0 2 3 4 5 4 4 9 B C D E F 00 4 EO 0 CS 44 FO 24 BS B 3 42 0 F4 F6 OB Ol 62 B9 28 BA BB 00 BC FA 47 03 06 3A 0 21 02 DI 96 34 lA FA 5 03 03 FD 9 2C 1 19 F9 03 CD 03 C6 06 04 1
42. e for a vulnerable note generator defined as one that has been released by the playing key to which it is assigned and whose envelope amplitude has not de cayed fully R26 and R27 are again examined this time for a O in R26 and a 1 in the same bit position in R27 and a mask of the vulnerable note generator is stored in R19 if one is found If there is only one such note generator the key in process is assigned to it but if there is more than one a software interrupt of the envelope computer is initiated by setting port 20 1 The envelope com puter then identifies the vulnerable note generator hav ing the lowest envelope amplitude and the keyboard computer assigns that note generator to the key in pro cess In the event that there is no note generator available as when the player depresses more that five keys the program branches to B51 In block B51 the A contact status of the key in process is set 0 R1 so that the attempt to find an available note generator for this note will be repeated on subsequent scans of the keyboard If a note generator is available the program proceeds to B50 _ In block 50 the A contact status in R25 corre sponding to the assigned note generator is set 1 The present time from R33 is stored in the register of group R20 R24 that corresponds to the assigned note genera tor The key identifier is stored in the register of group R1B RIF that corresponds to the assigned note genera tor AC
43. ear transfer function between certain of said presets and corre sponding ones of said voltage controlled circuits 2 The electronic musical instrument of claim 1 in cluding a memory storing control parameters and selection circuits operative to substitute control sig nals from selected locations in said memory to said digital to analog converter in lieu of the digital signals derived from corresponding presets 3 The electronic musical instrument of claim 1 in cluding a memory for storing control parameters and selection circuits operative to store control signals from said analog to digital converter in corre sponding locations of said memory 4 In an electronic musical instrument having a preset switching means for selecting desired combinations of 20 25 30 35 40 45 50 55 65 tone parameters and corresponding voltage controlled circuits to effect the desired tonal response an im proved arrangement of supplying the control voltages to the voltage controlled circuits comprising a memory storing predetermined combinations of desired tone parameters in corresponding blocks of successive locations a controller operative to read the stored data from successive locations of a memory block selected by said preset switching means in a repetitive se quence said controller being further operative to process the data read from said memory and to output corre sponding data in accordance with a des
44. eptible of embodiment in many different forms and it should be understood that the present disclosure is to be considered as an example of the principles of the invention and is not intended to limit the invention to the embodiments illustrated BRIEF DESCRIPTION OF THE DRAWINGS FIGS and 1b when placed side by side form a unitary functional block diagram of one preferred em bodiment of a digital polyphonic music synthesizer using the invention FIGS 2a and 2b when placed side by side form a unitary flow chart of the program used in one mi crocomputer shown in FIG 1a that services the key board and voice controls FIGS 2 and 24 are flow charts of subroutines used in the above keyboard microcomputer FIG 3 is a flow chart of the program used in a second microcomputer shown in FIG 10 that generates five envelopes simultaneously and FIGS 4a 4b 4c and 4d are flow charts of subrou tines used in the above envelope computer FIG 5 is a block diagram showing a modification of the system shown FIGS 1a and 1b to provide for simultaneous outputs of envelopes in both nominal am plitude and pitch scaled amplitude forms FIG 6 is a flow chart showing a modification of the envelope computer program depicted in FIG 3 DESCRIPTION OF THE PREFERRED EMBODIMENTS I Organization of the Music Synthesizer As shown FIGS 1a and 15 two microcomputers Intel 8048 or 8748 are provided The keyboard com pute
45. escribed with reference to the flow chart shown in FIG 2 A modified program listing is shown in Table XI Operation with the modified program is described separately in Section IV In block B1 port 21 port 2 bit 1 is set to zero to reset the envelope computer and hold it disabled until the keyboard computer has initialized the clamp and 4 283 984 5 hold circuits 111 FIG D Flag F0 which is set to 1 in block B1 will be set to 0 when the initialization of these circuits is completed as described hereinafter F3 desig nates a flag but is actually bit 0 of R16 It is set to 1 in block 1 and is reset to 0 in B13 after initialization operations are completed In block B2 the states of mode select switch 152 and the block selection switches 155 are stored in register 3F If the block selection has changed since the last program cycle the program branches through block B15 to compute a new block starting address which is the actual address in the capture memory at which the selected group of voice control set up values starts The desired capture memory chip such as 103 or 104 is selected independently by means of switch 156 Since F0 1 the program omits B16 for the present and pro ceeds to B6 or B17 depending on the mode selected Assume that RSC read slide controls has been selected for now in which case RCM read capture memory is false Since the current parameter number stored in R38 is set 0 the program br
46. gister 102 and are stored in R13 R17 These quantities have all been modified in form from the data that is input to the keyboard com puter from the manual controls so as to take into ac count the manner in which the envelope computer im plements the desired functions These conversions were mentioned previously in the description of the keyboard computer and are shown there in Table II The quanti ties D1 D2 and R in particular take the form of a preset count value located in the 5 LSBs used as a counter and the same preset value expressed as a power of two located in the 3 MSBs for use in resetting the counter The quantity A takes either of two forms In the first form A has a value between 0 and 5 attack parame ter 0 to A in Table II corresponding to powers of two by which the attack slope is to be varied Quantities of A in this range are moved to the MSN of R7 for use as the attack common exponent as explained later In this case R14 is set 21H to cause the A counter to recycle on every pass as explained later In the second form of A attack parameter B to F in Table ID as output from the keyboard computer the input quantity is simi lar to the D1 D2 and R form but is increased by 6 to compensate for the effects of processing the data to obtain the attack common exponents The program now skips over block C4 and returns to the main loop at block C5 Normally the main program proceeds from block C3 to block C4 In bl
47. gnals developed across divider 316 318 are amplified and level shifted by preamp 319 before reach ing the input of VCF 1 VCF 1 is a conventional damped integrator a low pass filter with 6 db octave roll off which may use a type 3080 variable transcon ductance amplifier for 371 and a type 3240 amplifier having MOSFET inputs for 372 The cut off frequency fco1 of filter 370 varies directly with the current supplied to the control input of 371 by another variable transcon ductance amplifier 355 in the VCF controller 350 The current output of 355 is in turn proportional to the prod uct of the current supplied to its transconductance con trol input by transistor 353 and the voltage produced at its input by an output of clamp and hold 111 The latter is the FC1 signal produced by one of the parame ter controls or its equivalent from the capture memory The current from transistor 353 is directly proportional to the envelope signal maintained on clamp and hold 351 Amplifier 352 type 3240 developes a matching voltage across resistor 354 and thereby produces a pro portional current in the collector of 353 The circuit constants of controller 350 are chosen so that when FC1 is at its minimum value a playing key is struck forcefully enough to produce the maximum touch response signal and the envelope signal is at its peak feol is near the subharmonic frequency of the se lected note The envelope signal is scaled to the pitch of the selec
48. he assigned note gen erator This value is the touch response date TRSP and it replaces the start time which is no longer needed The object of the algorithm described above is to pro duce a touch response value that varies in an exponen tial relation to the travel time of the playing key The B contact status of the assigned note generator is set 1 in R26 and is also output to register 102 to notify the envelope computer of the action ACC is registered from R17 in B41 and the program continues as previ ously described at B42 In response to the 1 output to register 102 described above the envelope computer in due time sets the INT input of computer 100 low via register 203 The normal operation of the keyboard computer ceases upon com pletion of the instruction in process and the program counter is pointed to location 3 where the interrupt subroutine INT shown in FIG 2d starts In block B53 the keyboard computer acknowledges the interrupt by setting port 20 1 saves ACC and three general registers as indicated inputs an interrupt instruction from computer 200 via register 202 sets a 1 in R27 in the bit position corresponding to the note generator being serviced transmits pitch and touch response data from the corresponding pair of registers in the group R1B R24 and transmit pitch data as a serial data stream on port 00 to all shift and store regis ters such as 303 Following the serial data stream the strobe
49. his case the input output transfer function is changed to an expo nential form by the look up table This programmed shaping system also allows use of commercially avail able 4 bit binary coded switches in lieu of the analog controls if desired Whenever CPN is between 2 and 11H 17 in decimal notation the program branches form B via B21 to B22 In block 22 the 4 bit data in R5 is used to address a linear to exponential conversion table stored in every 4th location of the program memory commencing with 303 and ending with 33F Every 4th location is used to fill voids in the key assignment to pitch conversion table which starts with location 300 and ends with 33E The converted data 8 bits is output to register 116 and the program then returns to the original minor loop at B10 On the nineteenth pass through the minor loop CPN 12H hence the program branches from B21 via B28 to B29 In block B29 the new data in R5 is compared with the corresponding prior data which is practically ran dom data following initialization stored in R3A R3F If the data is unchanged the program returns to the original minor loop at B11 otherwise it proceeds to B30 In block B30 the old data in R3A R3F is replaced with the new data in R5 and flag F0 is set 0 before the program goes to B11 The parameters B A D1 D2 and R stored in R3A R3E require some explanation since they differ from the customary ADSR parameters provided by conventional syn
50. ible XPS XCTR are stored in R16 and 17 as before links PROMs There must be an integral number of cycles of each TABLE VIII 65 harmonic for each pass through the memory Thus DDR ADDR XPS XCTR there must be 3 cycles of S3H sub third harmonic 6 0 21 cycles of 3H 10 cycles of 5H and 12 cycles of 6H 1 08 21 programmed 307 Since top note of the 4 283 984 23 keyboard is 7 with a fundmental pitch of 2093 hz the memory must be accessed 2093 2 W times per sec ond where W is the number of words in the memory For W 256 the access rate is 268 k sec The circuitry has been arranged to access alternate locations for the top octave effectively making W 128 which reduces the oscillator frequency to a value more suitable for the preferred VCO Teledyne 9400 Referring now to FIG 15 VCO 301 operates contin uously at a selected one of 12 frequencies between 70 969 hz and 133 952 hz The frequency is determined by a network of precision resistors 302 which are switched between 5 volts and 4 5 volts by the shift and store register 303 A low frequency VCO common to the five NG s is provided to produce a vibrato effect Register 303 also controls a dual multiplexer 305 to select octave submultiples of the VCO frequency from counter 304 to drive the second counter or divider 306 and ROMs 307 and 308 For the top octave the LSB of the address input of these ROMs is held constant and the 2nd LSB
51. input of the shift and store register in the note generator being serviced is selectively pulsed via the RD output of computer 100 gate 106 and decoder 105 The serial data transmission allows use of the shift and store register 303 RCA Type 4094 which saves com ponents since it stores eight bits in one standard 16 pin package Register 303 controls the pitch of the voltage controlled oscillator VCO 301 and selects the appro priate output from counter 304 via multiplexer 305 to drive computer 306 in accordance with the octave con taining the note to be played Finally the registers saved at the start of the interrupt are restored and the program resumes at the point where it was interrupted In the following the operation of the keyboard com puter in response to release of a playing key Cs in the present example is described As long as there is no change in state of the keyboard contacts the program loops through B32 B35 eleven times with no branches to B36 then traverses the branches of FIG 1a to process one control parameter before resuming the keyboard scan This interleaving of the control parameter processing with keyboard scans provides more frequent scanning of the keyboard and still provides adequate processing speed for the control parameters As the Cs playing key is released the contacts open first This causes the program to branch from B33 through B36 B37 B38 B39 B47 B42 and B43 without effect When th
52. ired non linear transfer function a digital to analog converter for converting the data output by said controller to an analog voltage a clamp and hold circuit for the input of each of said voltage controlled circuits and an analog multiplexer connecting the output of said digital to analog converter to said clamp and hold circuits said controller being further operative to direct the successive analog outputs of said converter to the corresponding ones of said clamp and hold circuits via said multiplexer in a repetitive sequence 5 An electronic musical instrument as claimed in claim 4 including a keyboard for selecting the pitch of notes to be played and a note generator for producing selected notes under the direction of said controller said controller being operative to scan said keyboard between successive accesses to said memory to detect changes in note selections and direct said note generator accordingly 6 In an electronic musical instrument having a key board for selecting the pitch of notes to be played a note generator a controller for scanning the keyboard repetitively and directing the note generator in accor dance with changes in note selections a plurality of preset controls for selecting desired tone parameters and corresponding voltage controlled circuits to effect the desired tonal response and a memory for at times capturing a desired combination of preset control set tings for future recall an i
53. is further desired that the attack time vary from a normalized value selected by the parameter control in accordance with the pitch of the note being played 6 db intervals in touch response can readily be al lowed for by shifting the normalized value of the incre ment but since it is desired that touch response inter vals of 3 db be provided the pitch data is right normal ized left shifted one bit and incremented by one if the touch response data is odd i e includes a 3 db incre ment The combined pitch and odd even touch re sponse data is then used to establish an initial envelope increment valua INTB by Table IV located at 304 313 in the program memory which is scaled to provide the desired relation between pitch and attack time 15 TABLE IV TRSP BIT O 0 PITCH NO O ON La tA G O O O m The remaining touch response factor TRS bits 1 3 of TRSP is combined with the attack common exponent The 16 bit length of the envelope amplitude and enve lope increment registers is insufficient to allow determi nation of the attack slope solely by right shifting the increment INTB obtained from Table IV Hence a counter is used to vary the step width as well as the heigth The attack common exponent held in the MSN of R7 is the number of right shifts to be performed on the value of the increment derived from Table IV The remaining touch response parameter TRS has
54. its is programmed with a square wave pattern for example the SH has one bit with 16 175 followed by 16 0 s The other bit is pro grammed with the inverted exclusive or function f 2f 4f where f is the frequency of the square wave Thus the other bit of SH has 4 1 8 0 4 1 4 0 8 T s and 4 0 s in succession If the first bit is designated A and the other B the sequence of logical combinations occurring in one cycle is AB AB AB AB AB and AB The two ROM outputs for a given harmonic are each connected through a resistor such as 310 and 311 to a single output of clamp and hold 111 and through a diode such as 312 and 313 to the resistive divider 316 318 The resistors 310 and 311 are chosen to have a ratio of approximately 2 5 1 whereby the ratio of the peak signal to the first step in the resulting AC wave form at the output of amplifier 319 is approximately 2 3 1 As fully described in the prior U S Pat No 4 070 943 mentioned earlier this waveshape is practi 0 20 25 40 45 60 65 24 cally devoid of 3rd and 5th harmonics and contains no even harmonics Alternatively the resistors 310 and 311 may be equal and the desired weighting may be accom plished by connecting diodes 312 and 313 to different points on the resistive divider 316 318 The amplitudes of each of the harmonics SH 8H and each of the pulse waveshapes 16 P 2 P is independently controlled by a corresponding output of the cl
55. memory The program memory listing is shown in Table X which appears at the end of the specification but for simplicity the operation will be described with reference to the flow charts shown in FIGS 3 and 4 A modified program listing is shown in Table XII Opera tion with the modified program is described separately in Section IV block 1 is output to register 203 to initialize the INT and TO inputs of computer 100 to 1 and 0 respectively Register 202 is set 0 to indicate all EG s are idle RF and R11 are set 0 so as to cause the ran dom initial envelope amplitudes EA L and EA H in R1E R3E and R1F R3F to be set 0 by the program as described later In block C2 R10 is set and is then set reg ister 102 In block C3 the test input TO is checked to see if the keyboard computer is requesting a software interrupt This is invariably the case turn on hence the program branches to C10 In block C10 the software interrupt is acknowledged by setting the TO input of the keyboard 1 4 283 984 13 via register 203 A transfer instruction is then input via register 102 block C11 bit 5 of is tested to interpret the instruction Bit 5 is invariably false upon turn on re quiring a block transfer of attack decay parameter con trol data Hence the program proceeds to block 12 In block C12 the five quantities BC A D1 D2 and R are input in sequence from re
56. mproved circuit arrangement for storing and recalling the preset combinations com prising a clamp and hold circuit for the input of each of said voltage controlled circuits a digital to analog converter having its input con nected to an output of said controller an analog multiplexer connecting the output of said converter to said clamp and hold circuits said controller being operative to input data from different ones of said preset controls between suc cessive scans of said keyboard to impart a non lin ear transfer function to at least some of said preset data and to output transformed preset data to the 4 283 984 35 corresponding voltage controlled circuit via said converter and said multiplexer in synchronism with the scanning of said keyboard a first mode selection ciruit operative to cause said controller to store the preset data in corresponding locations of said memory in synchronism with the scanning of said keyboard and a second mode selection circuit operative to cause 5 10 15 20 25 30 35 45 50 55 65 36 said controller to output data read from said mem ory in lieu of said preset data to the corresponding voltage controlled circuits via said converter and said multiplexer in synchronism with the scanning of said keyboard
57. ntact status keys F4 G4 2C A amp B contact status keys A4 Cs 2D A amp B contact status keys Cs Es 2E XXXXXXXX amp contact status keys Fs Gs 2F amp contact status keys A5 C6 30 amp contact status keys C f Eg 31 amp contact status keys Fg Gef 32 XXXXXXXX A amp B contact status keys Ag C7 33 xxxxxxxx Time 34 xxxxxxxx Reserved for interrupts 35 Reserved for interrupts 36 xxxxxxxx Reserved for interrupts 37 Block starting address Capture memory 38 O00xxxxx Current parameter number 39 00000000 Spare 3A 0000 Breakpoint 3B xxxx0000 Attack 3C xxxx0000 D1 Decay 1 3D xxxx0000 D2 Decay 2 3E 0000 R Release 3F Xxxx Block select capture memory 00xx STO amp RSC Mode control signals When power is applied to the computer 100 an inter nal reset pulse is generated to clear critical working registers such as the program counter After the capaci tor connected to the RESET input has charged to the threshold of an internal Schmitt trigger the reset pulse is terminated and operation under program control commences at location 0 in the program memory The program memory listing is shown in Table IX which appears at the end of the specification but for simplicity the operation will be d
58. nter flag in R7 is tested If it is 0 the program branches directly to C24 otherwise DRC is decremented before branching to C24 If DRC reaches 0 it is reset using a subroutine DRS described later and LNEXP is decremented The data is read from the LNEXP table at the new address This data is 0 25 db less than the previous location It is then double right shifted as before by TE bits and stored in EA ELC is also decremented In the event ELC reaches 0 it is reset to 6 and EL is decremented The new value of 15 30 35 60 65 18 EL is compared with B by addition and testing for a carry In block C34 if EL gt B the program branches to C24 otherwise it branches to C30 where the branch pointer R19 R39 is set BDH to cause a branch to C35 on the next pass instead of C33 In block C35 the operations in the decay 2 mode are identical to those in the decay 1 mode except that EL ELC are not involved since no further envelope level testing is required and the D2 flag in R7 is tested in stead of D1 to determine when the individual DRC counter is to be decremented The program continues to branch to C35 as long as the playing key remains de pressed When the B contacts are opened upon re lease of the key the program branches from C20 to C31 and thence to C32 In block C32 the branch pointer R19 R39 is set COH to cause the program to branch to C36 on the next pass The program branches to C24 in the current pass
59. ocation pointed to by R1 and the exclusive or function of the previously stored data with the newly stored data is placed in the accumulator ACC not shown In block 33 if there has been no change in any of the eight contacts associated with the first group of four keys the ACC 0 and the program proceeds to B34 In block B34 R1 and R2 are both incremented to point to the next key status storage location and the next group of keys respectively In block B35 R1 is tested to determine whether the entire keyboard has been scanned If not the program returns to B32 to input the status of the next group of keys If so the program continues the major loop at B54 processes the control parameter identified by CPN and returns to the keyboard branch at B31 Assume now that playing key Cs is depressed The keyboard scanning operation proceeds as previously described until R1 2CH and block B33 is reached At this point R2C 00001000 and ACC 00001000 hence the program branches to B36 In block B36 bit 0 of ACC is tested to see if the A contacts of note A4 have changed state and In block B37 bit 4 of ACC is tested to see if the contacts of note A4 have changed state Since neither contact of note A4 has changed the program proceeds to B42 In block B42 ACC is rotated right one bit hence ACC now 00000100 R3 is incremented and R4 is left shifted to identify the bit pair in process as bits 1 and 5 of the original input
60. ock C4 the A D1 D2 and R counters compris ing the five LSBs of R14 R17 are each decremented by one If any counter reaches 0 a corresponding bit posi tion in R7 is set 1 and the counter is reset in accor dance with the control parameter stored in the 3 MSBs of the same register These three bits may represent any value from 1 6 The corresponding values to which the counter is preset are 00001 00010 00100 01000 10000 and 00000 The effect of these different preset values is to cause the flag bit in R7 to recur in every pass every 2nd pass every 4th pass every 8th pass every 16th pass or every 32nd pass Each flag remains set for only one pass following that in which the corresponding counter reaches 0 In block C5 RO is set 18H to point to the first regis ter in the set dedicated to EG1 R6 is set 1 for use as a mask corresponding to EG1 The subroutine EGS is then called Upon completion of the subroutine the program proceeds to Block C6 not shown In blocks C6 C9 RO is set 20 28 30 or 38 on succes sive returns from subroutine EGS and R6 is set 2 4 8 or 10H for use as a mask Upon the fifth return the program loops back to C2 and repeats the above se quence The operation of the EGS subroutine shown in FIG 4a is described next In block C20 RF is exclusive or ed with R10 and masked with R6 to test for a change in state of the contacts of the key to which the current EG is assigned Before any
61. of additional output circuitry as shown in FIG 5 which is also described in the following Another object is to provide finer gradation of the enve lope time constants by the AD D2BR presets Still an other object is to cause the envelope amplitude to vary as the square of the key velocity rather than linearly so as to obtain the desired dynamic range with less varia tion in key velocity which facilitates rapid playing of soft passages The first object is easily accomplished because the envelope amplitudes EA are stored in normal amplitude form and are scaled in accordance with the pitch only when they are being output to ladder 206 as described previously under block C24 In the revised envelope computer program the nominal value of EA is output to register 204A via port 0 in block 24 before the scaling procedure takes place Register 204A is set from port 0 and drives ladder 206A having its output connected to analog multiplexer 205A through buffer 207A The logic inputs to 205A are driven by the original register 204 to direct the nomina envelopes to the five note generators in synchronizm with the pitch scaled envel opes The last object is attained by revising the algorithm implemented by instructions 08F 0BB of the keyboard computer program described previously under block B40 In the revised algorithm TRSP is set F if the elapsed time between key contact closures 154 or is set 0 if the elapsed time 152240 If neither of the
62. ogram then returns to B5 and repeats the above de scribed minor loop with the following variations As mentioned previously the first two voice control parameters are linear functions of the slide control posi tion hence are output to the clamp and hold circuits without modification other than the quantization result ing from the A D conversion In other words the in put output transfer function is linear in this case The next 16 parameters are the desired amplitudes of four pulse waveforms 16 8 P 4 and 2 P nine har monic components SH 1H S3 2H 3H 4H 5H 6H and 8H two filter frequency controls and 2 and a filter Q or resonance control FQ These output amplitudes should vary approximately exponentially with the slide control position Although slide controls having so called logarithmic or audio tapers could be emloyed their use would require digitizing to eight bits rather than four hence would double the size of the capture memory Furthermore the taper and unifor 6 mity obtainable in such controls leave much to be de sired These difficulties are overcome in the present embodiment of the invention by using slide controls of 20 25 30 40 45 50 55 60 65 the linear variety and converting the linear input to an exponential output or other desired output shape by the use of a look up table included in the program mem ory section of the keyboard computer In t
63. owing a block transfer of B A D1 D2 and R resulting waveform the third and fifth harmonics were parameters described previously under block C12 bit 0 30 effectively eliminated The remaining harmonics WETE of A or Ao is complemented and stored in the bit 7 effectively eliminated low pass filter or integrator position of R7 D1 is then tested and if 54 the corre in the utilization circuit In the improved system there is sponding value of AD1 is read from the table and is no need for the transistor switches instead ROM subsequently stored in the LSN of R13 along with BC read only memory or equivalent logic circuitry with 21 is stored in R15 to cycle the D1 counter at its unique bit pattern and appropriately weighted maximum rate If D1 gt 4 the corresponding value of tve outputs provides the denied waveshape The size XPS XCTR is read from the table and stored in R15 of the ROM used in the illustrative embodiment was 3 is stored in AD1 if D1 is even or 2 is stored in determined in part by what is commercially available ADI if D1 is odd D2 and R are operated on in like Texas Instruments type 745470 256W x 8B was fashion to obtain corresponding values of AD2 and 60 chosen for ROM 307 and type 745185 32W X 8B was AR2 which are stored in the ESN and MSN halves of Chosen for ROMs 308 and 309 These are read only RE respectively The corresponding values of memories that are programmable by blowing fus
64. puter to detect changes in key states and idle note generators are assigned to playing keys in response to their depression There are 25 preset con trols most of which are potentiometer type controls The voltage control circuits that effect the desired tonal responses are each provided with a simple clamp and hold circuit to enable them to be controlled in a dy namic fashion by the microcomputer Between each scan of the keyboard the microcom puter processes a different one of the presets Normally a preset control is selected by an input selector switch commonly called an analog multiplexer converted to a 4 bit digital word representing 16 equally spaced posi tions of the potentiometer slider in the microcomputer converted to an 8 bit digital word in accordance with a desired non linear scale using a look up table when required and output through an output selector switch to the corresponding clamp and hold circuit One or more CMOS type memories are provided and are made accessible to the microcomputer They are effectively non volatile by the provision of battery back up power When the player wishes to store a set up for future recall he selects a block of memory in which he wants the set up stored then operates a mode switch to the store position momentarily The 4 bit digital words representing the slider positions of each preset control are then stored in sequence in the mem ory as they continue to be processed in the no
65. r 100 interfaces the keyboard 150 capture memory control switches 155 and 156 voice controls 153 154 157 intercom registers 102 202 and 203 capture memo ries 103 104 five note generators such as 300 through decoder 105 clamp and hold circuits 111 and discrete registers 109 and 110 The envelope computer 200 interfaces intercom reg isters 102 202 and 203 and five voltage controlled filters VCFs such as 350 370 380 through a D A ladder network 206 and analog multiplexer 205 Since the 8048 and 8748 microcomputers are standard devices that are well known in the art and are fully described in the MCS 48 User s Manual published by Intel Corp their architecture and circuit operation are not described herein The two computers 100 and 200 may each be provided with its own 6 mhz crystal as 4 283 984 3 shown or they may operated in synchronizm from common source The principal function of the keyboard computer is to scan the keyboard contacts about once every millisec ond detect any changes in contact states measure the travel time of a key being depressed assign an idle envelope generator to a key when it has been fully operated and transmit pitch and key velocity touch response information to the envelope computer Pitch information is also transmitted to the appropriate note generator such as 300 An auxiliary function performed at a much slower rate is to scan the voice or preset controls con
66. responding clamp and hold circuit 111 or to the data memory at R3 R3E This cyclical operation continues as long as the selected set up is in use thus avoiding the need for any additional storage internal to computer 100 to provide the recall function Each time that the capture memory is accessed in B6 or B20 CPN must be added to the block starting ad dress R37 to obtain the capture memory address and the indirect addressing register R1 must be pointed at the capture memory To conserve instructions the sub routine CM shown in FIG 2c is employed to perform these operations III Operation of the Envelope Computer A memory map showing the allocation of the 64 in decimal notation registers in the envelope com puter is shown in Table III Registers RO R17 are com mon to all five of the envelope generators EG1 EG5 implemented by this computer Registers R18 1F are dedicated to R20 R27 are dedicated to EG2 and R38 R3F are dedicated to EG5 50 55 65 12 TABLE III MAP OF ENVELOPE COMPUTER DATA MEMORY BITS REGISTERS 76543210 FUNCTION 0 Xxxxxxxx Indirect addressing of R18 R3F I xxxxxxxx Indirect addressing of RF R17 2 3 4 5 6 General register use 7 XXXX Attack exponent xxxx A D1 D2 R counter flags 8 9 A B 2 level address stack C D E 00000000 Spares F OO00xxxx Present status of B contacts of keys assigned to EGI EG5 10 000xxxxx Last status assigned to
67. rmal way When the player wishes to recall a previously stored set up he selects the desired memory block and oper ates the mode switch to the read capture memory posi tion The 4 bit digital words stored previously are read out sequentially and processed in exactly the same way as the corresponding words derived from the presets are processed normally This action continues as long as the mode switch is left in the read capture memory position to maintain the clamp and hold circuits at the desired setting in a dynamic manner 5 20 25 35 40 45 50 55 60 65 2 One of the principal objects of the invention is to provide a simple and economical capture system for an electronic musical instrument that can be easily imple mented in a microcomputer that also services a digital type keyboard Another object of the invention is to minimize the amount of memory required both external to and within the microcomputer Still another object of the invention is to provide capture system which allows data to be stored linear form and converted to a non linear form before being transferred to the utilization circuits so as to minimize the required memory word length Other objects of the invention will be apparent from the following description and the accompanying draw ings While illustrative embodiments of the invention are shown in the drawings and will be described in detail herein the invention is susc
68. se 10 15 20 25 30 35 45 50 55 60 65 20 conditions is true the leading zeros are counted decre mented by 1 and then multiplied by 4 The result is then decremented by 2 if the first bit following the leading 1 is 1 and by 1 if the second bit following the leading 1 is 1 The resulting value of TRSP is an approximation to the desired exponential and consists of three linear segments The first algorithm required a 64 1 change in key velocity to produce a 36 db change in envelope amplitude whereas the revised algorithm requires only an 8 1 change in key velocity Another change made in the keyboard computer program affects the block transfer of the B A D1 D2 and R parameters described previously under block B16 With the revised program the B parameter is com plemented as before but the other parameters are trans mitted unaltered Hence the conversions shown in Table II are not applicable An alternative conversion is performed in the envelope computer as later described herein The keyboard program modification is effected by inserting NOP s in locations 225 228 23C 244 and 257 254 The remaining object of providing finer gradations in envelope control is accomplished in one manner for the attack phase and in a second manner for the decay release phase Considering the attack phase as previ ously described under block C37 the pitch data is com bined with the odd even touch response data to estab
69. ted note by the program hence the above state ment holds true irrespective of which note is played All of the signals above are attenuated by the filter in inverse proportion to their frequency hence the pulse waveforms become sawtooths and the harmonic wave 4 283 984 25 forms become practically pure sine waves The resistive divider 316 318 pre weights the digital signal represen tations to compensate for the attenuation of the desired harmonic signals As the envelope decreases from its peak value fco decreases proportionately The output of filter 370 accordingly decreases proportionately with no change in the waveform of the signals since they all lie on the constant slope of 6 db octave Hence under these circumstances filter 370 actually performs the function usually performed by a VCA in addition to its filter function The same thing occurs if the amplitude of the envelope is reduced as a result of a less forceful operation of the playing key The envelope shape is unchanged it is simply scaled down hence the signal output of filter 370 is scaled down without effect on the waveshape control enables the maximum value of fco1 to be increased from near the subharmonic to near the eighth harmonic or anywhere in between In this way the pulse input waveforms can be made to vary from sawtooths to pulse output waveforms as the envelope increases either due to the force with which the playing key is str
70. thesizers The A D1 and R parameters of the present envelope generator correspond to the conventional A D and R parameters In lieu of a sustain mode the present synthesizer provides a breakpoint B control that establishes the level at which the initial decay D1 is terminated and is replaced by a second decay D2 If the second decay is set to infinity then the breakpoint control becomes the equivalent of the conventional sustain S control The provision of two decay rates permits a much more realistic piano sound to be achieved After the B A D1 D2 and R parameters have been processed CPN 16H On the following pass the pro gram branches from B17 to B27 In block B27 the computer 100 outputs a code on port 2 MSN most significant nibble bits 4 7 corre sponding to the set of four discrete switches 153 and inputs data corresponding to the switch settings via port 1 MSN This data is held temporarily in R5 just as all the other control parameters are When B28 is reached the program branches to B23 In block B23 the data in R5 is output as a 4 bit nibble to the first discrete register 109 On the next pass the status of switch 154 is transferred to the second discrete register 110 in like manner Only two discrete registers are needed in the synthesizer described but it should be apparent that additional switches such as 153 and 154 and registers such as 109 and 110 can readily be pro vided for simply by changing the
71. tions 3E0 3EF These conversions which shown in Table II below are performed for the benefit of the envelope computer but are located in the key board computer to conserve memory space in the other computer The purpose of the conversions will be ex plained in the description of the envelope computer operation At the end of the interrupt sequence the data in R26 which is 0 at this point is output to register 102 The envelope computer inputs this register repetitively to ascertain the status of the playing keys to which its five envelopes are assigned if any The program then returns to the major loop at B5 and proceeds as de scribed previously until B11 is reached Since F3 is now 0 and will remain so until the power is turned off the program now always brances to B24 TABLE II ATTACK ATTACK DECAY DECAY COUNTER COUNTER PARAMETER DATA DATA 0 00H 21H 1 00 21 2 01 42 3 01 42 4 02 42 5 02 64 6 03 64 7 03 64 8 04 88 9 04 88 A 05 88 B 48 BO C 6 BO D 8E E B6 Co F C6 00 In block B24 the envelope status is input from R202 and is stored in R27 The envelope computer repeti tively outputs the status of its five envelopes to register 202 setting the corresponding bit to a 1 when an envelope is initiated and restoring it to 0 when the envelope has decayed to zero As described above the timer flag is tested and Time R33 is incremented if it is true 5 25 40 50 55 60
72. ual or combinatorial In either case they are input as 4 bit nibbles to conform with the 4 bit words used in the captive memory and are output to corresponding 4 bit registers such as 109 and 110 The envelope computer 200 is dedicated to the gener ation of five envelopes simultaneously Updated digital amplitude values are output repetitively in sequence to the 16 bit ladder 206 ihence via an analog multiplexer 205 to corresponding voltage controlled filters such as 350 370 380 Operation of the Keyboard Computer The 8048 or 8748 computer provides 1024 words by 8 bits of read only ROM program memory and 64 words by 8 bits of resident data memory RAM All data memory locations are indirectly addressable through either of two RAM pointer registers which reside at addresses 0 and 1 of the register array In addi tion the first 8 locations 0 7 of the array are desig nated as working registers and are directly addressable by several instructions By executing a register bank switch instruction RAM locations 24 31 are designated as the working registers RO R7 and are then directly addressable RAM locations 8 23 contain the program counter stack which is addressed by the stack pointer during subroutine calls as well as by pointer registers RO and R1 5 20 25 40 45 65 4 A memory map showing the allocation of the 64 registers 0 3F in hexadecimal notation is shown in Table I An x an
73. uck or due to the envelope shape created by the ADR controls Harmonic mixtures are likewise caused to vary in composition with the envelope ampli tude The output of VCF 1 is connected to the input of VCF 2 380 which is a modified two pole Butterworth filter variable gain stage comprising FET 386 and amplifier 387 is provided in a feedback path from the output of 385 to the capacitor 382 of the first stage to allow a variable amplitude peak to be produced at the cutoff point The gate of FET 386 is connected to the output of clamp and hold 111 that is associated with the Q control Amplifiers 383 385 and 387 may be type 3240 s and the variable transconductance amplifiers 381 and 384 may be type 3080 s The transconductance e 20 35 26 control inputs of 381 and 384 are connected in parallel to another variable transconductance amplifier 356 which is connected to the output of clamp and hold 111 associated with FC2 and a transistor 357 in like manner to 355 when transmission gate 359 is selected by operat ing switch 154 to one of its closed positions The cutoff frequency of 2 is then varied in accordance with the envelope waveshape as modified by the FC2 control When switch 154 is operated to its other closed posi tion gate 358 is selected to connect the transconduct ance control of 356 to the resistor net 302 so as to vary fco solely in accordance with the pitch of the selected note In this cas
74. vert each one to digital form convert the digital value to a new value when required using a look up table and then output the original or new value to a ladder net work 115 thence to a corresponding clamp and hold circuit 111 via the analog multiplexers 107 108 If the player wishes to store the voice or preset control setup in use the STO mode is entered briefly by operation of switch 152 causing the digitized values of the voice control settings to be stored in a capture memory 103 104 at a location selected by operation of switches 155 and 156 Conversely if the player wishes to recall a previously stored voice control set up the RCM mode is entered by operation of switch 152 causing the digitized values of the desired settings to be read from the capture memory converted by the look up table if necessary and output to the clamp and hold circuits Some of the voice controls 157 are used to vary the attack decay parameters of the envelope generators In an analog system these controls would be connected directly to corresponding inputs of a set of analog type envelope generators In the present system these inputs are digitized and stored in registers in the keyboard computer 100 Wherever a change occurs in these input values the new values are stored internally and are also transmitted to the envelope computer 200 Additional voice controls are provided in the form of switches such as 153 and 154 which may be individ
75. y bit column signifies that either a 0 or a 1 may be stored in that bit position while a 0 signifies an unused bit that is set to 0 during initializa tion TABLE I MAP OF KEYBOARD COMPUTER DATA MEMORY BITS REG 76543210 FUNCTION 0 xxxxxxxx Indirect addressing general use 1 Indirect addressing keyboard status 2 0000xxxx Identifier current keyboard group 3 000000xx Identifier current bit of keyboard group 4 0000xxxx Mask for current bit of keyboard group 5 XXXXXXXX General register use 6 General register use 7 Save ACC during interrupts 8 D 3 level address stack E 15 00000000 Spares 16 0000000x 17 Save during certain branch operations 18 RO General indirect addressing 19 R1 General indirect addressing 1 R2 General register use IB Oxxxxxxx R3 Note 1 key assignment IF R7 Note 5 key assignment 20 xxxxxxxx Note Start time touch response 24 Note 5 Start time touch response 25 O00xxxxx Notes 1 5 contact status 26 000xxxxx Notes 1 5 B contact status 27 000xxxxx Notes 1 5 Envelope status 28 A amp B contact status keys F3 G3 29 A amp B contact status keys A3 C4 2A amp contact status keys C4 E4 2B XXXXXXXX amp co
76. yboard scanning rate 6 Claims 13 Drawing Figures li o2 REGISTER mr 5V CAPTURE MEMORY TO OTHER DISCRETES 4 283 984 Sheet 1 of 7 U S Patent Aug 18 1981 151 Q Q 52 al PIO PI7 I i KEYBOARD COMPUTER pr P24 P27 152 STO 5 7 RSC O RCM DECODER rit ios Sate e ael AMOW3NW I 38014 2 NES a ae ae joco 3345 38 3 9 938 Tu FIG la TO OTHER DISCRETES U S Patent Aug 18 1981 Sheet 2 of 7 4 283 984 201 202 FIG Ib GISTER 7 3 Y 2 ENVELOPE COMPUTER 206 207 _ ES ae m REGISTER 204 LADDER 205 ANALOG k MULTIPLR V TO OTHER OTHER NoTE 5 4 GENERATORS 364 DUAL 1305 MULTIPL R t COUNTER NOTE GENERATOR Er 307 A 309 ROM REGISTER U S Patent START SET 20 21 amp 23 0 SET R25 R26 amp R38 0 SET F0 amp F3 1 INPUT BLOCK SELECT amp MODE CONTROL SIGNALS amp STORE IN R3F HAS BLOCK SELECT CHANGED IS F0 1 Passi ye IS MODE RCM YES B6 INPUT DATA FROM CAPTURE MEMORY amp STORE IN R5 B9 OUTPUT DATA TO LADDER BIO ENABLE

Download Pdf Manuals

image

Related Search

Related Contents

Composer™ Presto™ USER`S MANUAL  体験的幕僚心得  TIE 2013 Conference Copper Mountain Resort Copper Mountain  KP48R/KP59R ソーラーパワーコンディショナ 取扱説明書  Instek GRS-6052A and GRS-6032A Manual  LiFe BALANCE 5.5A 19.8V(6S)  Wattbike Owners Manual  Revista Colombiana de Ciencia Animal , Vol. 3  

Copyright © All rights reserved.
Failed to retrieve file