The sinewaves are generated by stepping through a stored sine table. There are three of these in the processor in different formats & amplitudes to accomodate the single, two-tone and three-tone options.
At the 9.8304 Mhz clock frequency, a 96 cycle length routine completes 25600 times per second. Incrementing the minimum of one step per cycle generates the minimum frequency of 100 Hz. Increasing this step size increases the output frequency directly. The control switches are polled once per output cycle and are serviced on change.
The serial output facility of the PIC is employed to output the sine data to the DAC. The L/R select signal is generated in software. The noise signal is generated on the fly by a 32 bit psuedo random shift register.
The sync output follows the pulse gate for pulse output modes or goes positive for 40 uS at the "zero cross" of the lowest frequency being generated. There may be an apparent touch of jitter on the sync signal depending on the output signal due to quantization of the sine index but, it's stable enough for a scope trigger. If necessary, a slight adjustment of the horizontal sweep time will produce a stable display. Note: The sync output is delayed 625 uS to match the group delay of the D/A, except for single tones above 1200 Hz where this delay would exceed a full cycle. A best approximation is employed for the higher frequency single tone sync signals. No Sync pulses will be present during continuous noise generation.
::020000001628C0 :08000800A00003088312A1000F :100010000A08A2008A110408A30023088400220809 :100020008A0021088300A00E200E09008A012030DA :10003000840080300406031984168001840F192877 :100040003C308500FF3086000C30870080309800FF :10005000831609308100FC308500FF308600D030E7 :100060008700B03098000130990000308C00831276 :100070003130900000308B00A530B4000608260611 :100080003F2906082606031D3F29291C8510A703C2 :10009000031985146400291CAA01BB219901871248 :1000A00009308A0030034022051C03019900083002 :1000B0008A0030034022051C030199008A012C08A4 :1000C000B0070430B6219901871609308A002F0342 :1000D0004022051C030199008A032F034022051CBE :1000E000030199008A0100002C08AF07031C412876 :1000F000AA0B81282B08AA0029088506A7016400FD :100100004A28280829180301A70064004A2806087D :100110002606031D3F29291C8510A70303198514F2 :100120006400291CAA01BB21000087120130B821FC :1001300006308A002F03BE21B2003003BE21B20771 :10014000B301B30D05308A002F03BE21B30730037E :10015000BE21330799018716BC21051C03019900B4 :100160003208BE21051C030199002D08B0072C0898 :10017000AF0764000000031C8728AA0BC6282B08C1 :10018000AA0029088506A7016400902813302918C1 :100190000301A7006400902806082606031D3F29D6 :1001A000291C8510A703031985148A0A2F03BE2171 :1001B0008712B2003003BE21B207B301B30D310381 :1001C000BE21B2070318B30A8A0A2F03BE21B30760 :1001D0003003BE21B3073103BE21330799018716CF :1001E000BC21051C102999003208BE21291CAA0136 :1001F00099002D08B0072E08B1072C08AF07031C83 :10020000CC28AA0B0A292B08AA0029088506A701D1 :100210006400D528133029180301A7006400D528ED :1002200099016400BB210301F8280230B72187122D :100230000A30B7212908AA0B1E29AD0B20298506F3 :100240002C08AD080319AD0099018716BB213408AD :10025000051C03019900370DA400370EA406A40D58 :10026000B40DB50DB60DB70D3508051C0301990089 :100270000130B72106082606031915296400640019 :10028000A606A901A61FA9090A30051D1430851D5F :100290003230AB00AA0087120330850026093F39AF :1002A000A400B301B201AF01B001B10101308A0075 :1002B000261B7B29A61E261A872924080F3994217C :1002C000AC00AC0803196F29AD00AD0E0F30AC05C2 :1002D000AD0524080F39A521AE006400EE280130D9 :1002E000051D0230851D0530AC00AD00AA01BB2103 :1002F00000007A292429240AAC0030170A308A0029 :1003000024084022A8008A010330B721632824086A :100310000F39AD001130AD07240E0339AC000330A6 :10032000AC070330B621AA28820743344334433450 :1003300043344334533453345334533453345434A4 :100340005434543454345434003482071134133444 :10035000173419341D341134133417341B341D343D :100360001134133417341A341D340034640064001B :0E037000A400A40BB92900348A018A1482006B :10040000003480344034C0342034A0346034E034CC :10041000103490345034D0343034B0347034F0343C :10042000083488344834C8342834A8346834E8346C :10043000183498345834D8343834B8347834F834DC :10044000043484344434C4342434A4346434E4346C :10045000143494345434D4343434B4347434F434DC :100460000C348C344C34CC342C34AC346C34EC340C :100470001C349C345C34DC343C34BC347C34FC347C :10048000023482344234C2342234A2346234E2343C :10049000123492345234D2343234B2347234F234AC :1004A0000A348A344A34CA342A34AA346A34EA34DC :1004B0001A349A345A34DA343A34BA347A34FA344C :1004C000063486344634C6342634A6346634E634DC :1004D000163496345634D6343634B6347634F6344C :1004E0000E348E344E34CE342E34AE346E34EE347C :1004F0001E349E345E34DE343E34BE347E34FE34EC :10050000013481344134C1342134A1346134E134C3 :10051000113491345134D1343134B1347134F13433 :10052000093489344934C9342934A9346934E93463 :10053000193499345934D9343934B9347934F934D3 :10054000053485344534C5342534A5346534E53463 :10055000153495345534D5343534B5347534F534D3 :100560000D348D344D34CD342D34AD346D34ED3403 :100570001D349D345D34DD343D34BD347D34FD3473 :10058000033483344334C3342334A3346334E33433 :10059000133493345334D3343334B3347334F334A3 :1005A0000B348B344B34CB342B34AB346B34EB34D3 :1005B0001B349B345B34DB343B34BB347B34FB3443 :1005C000073487344734C7342734A7346734E734D3 :1005D000173497345734D7343734B7347734F73443 :1005E0000F348F344F34CF342F34AF346F34EF3473 :1005F0001F349F345F34DF343F34BF347F34FF34E3 :10060000FF34F334E834DC34D134C634BD34B4348C :10061000AD34A634A2349E349D349D34A034A43429 :10062000AC34B534C134D134E334F83410342C3420 :100630004B346E349534C034EE3421345834943411 :10064000D43419346234B13404345D34BA341D34D2 :100650008634F3346734E0345F34E3346E34FE348C :1006600094343134D3347C342B34E0349C345E34D1 :100670002734F634CB34A734893472346234583496 :1006800055345834623472348934A734CB34F63458 :1006900027345E349C34E0342B347C34D33431340E :1006A0009434FE346E34E3345F34E0346734F3342E :1006B00086341D34BA345D340434B13462341934B0 :1006C000D434943458342134EE34C03495346E34F8 :1006D0004B342C341034F834E334D134C134B534D1 :1006E000AC34A434A0349D349D349E34A234A6345A :1006F000AD34B434BD34C634D134DC34E834F334EE :1007000000340C34173423342E34393442344B340F :10071000523459345D346134623462345F345B3452 :1007200053344A343E342E341C340734EF34D3343B :10073000B43491346A343F341134DE34A7346B342A :100740002B34E6349D344E34FB34A2344534E23449 :1007500079340C3498341F34A0341C34913401346F :100760006B34CE342C348334D4341F346334A1340A :10077000D83409343434583476348D349D34A73425 :10078000AA34A7349D348D34763458343434093443 :10079000D834A13463341F34D43483342C34CE346D :1007A0006B34013491341C34A0341F3498340C342D :1007B0007934E2344534A234FB344E349D34E6348B :1007C0002B346B34A734DE3411343F346A34913423 :1007D000B434D334EF3407341C342E343E344A342A :1007E00053345B345F346234623461345D34593481 :1007F00052344B34423439342E34233417340C34CD :10080000FF34FE34FD34FC34FB34FA34F934F8346C :10081000F734F634F534F434F334F234F134F0349C :10082000EF34EE34ED34EC34EB34EA34EA34E934CA :10083000E834E734E634E534E434E434E334E234F1 :10084000E134E134E034DF34DF34DE34DD34DD3410 :10085000DC34DB34DB34DA34DA34D934D934D83428 :10086000D834D834D734D734D734D634D634D63431 :10087000D634D534D534D534D534D534D534D5342F :10088000D534D534D534D534D534D534D534D53420 :10089000D634D634D634D634D734D734D734D83403 :1008A000D834D834D934D934DA34DA34DB34DB34DC :1008B000DC34DD34DD34DE34DF34DF34E034E134A5 :1008C000E134E234E334E434E434E534E634E73468 :1008D000E834E934EA34EA34EB34EC34ED34EE3421 :1008E000EF34F034F134F234F334F434F534F634D4 :1008F000F734F834F934FA34FB34FC34FD34FE3484 :10090000003401340234033404340534063407342B :10091000083409340A340B340C340D340E340F34DB :10092000103411341234133414341534153416348D :100930001734183419341A341B341B341C341D3446 :100940001E341E341F342034203421342234223407 :1009500023342434243425342534263426342734CF :1009600027342734283428342834293429342934A6 :1009700029342A342A342A342A342A342A342A3488 :100980002A342A342A342A342A342A342A342A3477 :100990002934293429342934283428342834273474 :1009A000273427342634263425342534243424347B :1009B0002334223422342134203420341F341E3492 :1009C0001E341D341C341B341B341A3419341834AF :1009D00017341634153415341434133412341134D6 :1009E00010340F340E340D340C340B340A34093403 :1009F0000834073406340534043403340234013433 :100A0000FF34FE34FC34FB34F934F834F634F53476 :100A1000F334F134F034EE34ED34EB34EA34E834CA :100A2000E734E634E434E334E134E034DF34DD3415 :100A3000DC34DB34D934D834D734D634D534D33459 :100A4000D234D134D034CF34CE34CD34CC34CB3492 :100A5000CA34C934C934C834C734C634C634C534BA :100A6000C434C434C334C334C234C234C134C134D2 :100A7000C134C034C034C034C034C034C034C034D5 :100A8000C034C034C034C034C034C034C034C034C6 :100A9000C134C134C134C234C234C334C334C434A5 :100AA000C434C534C634C634C734C834C934C93470 :100AB000CA34CB34CC34CD34CE34CF34D034D1342A :100AC000D234D334D534D634D734D834D934DB34D3 :100AD000DC34DD34DF34E034E134E334E434E63470 :100AE000E734E834EA34EB34ED34EE34F034F13406 :100AF000F334F534F634F834F934FB34FC34FE3492 :100B000000340134033404340634073409340A341D :100B10000C340E340F3411341234143415341734A9 :100B2000183419341B341C341E341F34203422343E :100B30002334243426342734283429342A342C34DA :100B40002D342E342F343034313432343334343481 :100B500035343634363437343834393439343A3439 :100B60003B343B343C343C343D343D343E343E3401 :100B70003E343F343F343F343F343F343F343F34DE :100B80003F343F343F343F343F343F343F343F34CD :100B90003E343E343E343D343D343C343C343B34CE :100BA0003B343A34393439343834373436343634E3 :100BB0003534343433343234313430342F342E3409 :100BC0002D342C342A342934283427342634243440 :100BD0002334223420341F341E341C341B34193483 :100BE0001834173415341434123411340F340E34CD :100BF0000C340A3409340734063404340334013421 :100C0000FF346D34DC344A34BA342A349C340F3423 :100C10008334FA347334EE346C34EC347034F73497 :100C200082341034A3343A34D53474341934C33490 :100C300072342634E034A034663433340534DF347F :100C4000BF34A63494348A3487348C349934AD3428 :100C5000CA34EE341B3451348F34D63425347E34C8 :100C6000E0344A34BE343B34C2345234EB348F3433 :100C70003B34F234B2347C344F342D3414340534E4 :100C80000134053414342D344F347C34B234F2340E :100C90003B348F34EB345234C2343B34BE344A34A8 :100CA000E0347E342534D6348F3451341B34EE3462 :100CB000CA34AD3499348C3487348A349434A634AD :100CC000BF34DF34053433346634A034E0342634A2 :100CD0007234C33419347434D5343A34A3341034F0 :100CE0008234F7347034EC346C34EE347334FA34C8 :100CF00083340F349C342A34BA344A34DC346D34AF :100D0000003492342334B5344534D5346334F0346C :100D10007C3405348C341134933413348F340834D8 :100D20007D34EF345C34C5342A348B34E6343C34BF :100D30008D34D9341F345F349934CC34FA342034B0 :100D4000403459346B3475347834733466345234E7 :100D500035341134E434AE3470342934DA34813427 :100D60001F34B5344134C4343D34AD34143470349C :100D7000C4340D344D348334B034D234EB34FA34CB :100D8000FF34FA34EB34D234B03483344D340D3480 :100D9000C43470341434AD343D34C4344134B534C7 :100DA0001F348134DA3429347034AE34E4341134ED :100DB0003534523466347334783475346B34593482 :100DC00040342034FA34CC3499345F341F34D9346D :100DD0008D343C34E6348B342A34C5345C34EF34FF :100DE0007D3408348F341334933411348C34053407 :100DF0007C34F0346334D5344534B5342334923400 :1010000000343B341D3469342E34AA341C34783413 :10101000E034AF346734BB341B345B348734F7348B :10102000A034843462342E34553497344C346134D3 :101030002734323483348234B334A634D0347D340C :101040007E34B2349434A834F03418348C345A34A6 :10105000C934BB34EC34453478343534D2343F347D :10106000FD34A9343E34EE3421342534EB34B83425 :10107000EE34C7342634EF34F9345A341434D034CF :101080008034D03414345A34F934EF342634C7342D :10109000EE34B834EB3425342134EE343E34A93404 :1010A000FD343F34D234353478344534EC34BB34F9 :1010B000C9345A348C341834F034A8349434B234EB :1010C0007E347D34D034A634B33482348334323425 :1010D000273461344C34973455342E34623484349C :1010E000A034F73487345B341B34BB346734AF34FB :1010F000E03478341C34AA342E3469341D343B3443 :1011000000342434123456343134D5341334473453 :101110009F34D0345834C43414346434F8348834AC :10112000DF34FB345D3431346A34E83473345E3494 :1011300038342D34FC34FD34CC34D934AF3442341B :101140004134CD34EB34D7348F341734F334653431 :10115000B634C43493347A3447342A34AD3420342A :101160008234D634213491343E343A349434C73402 :101170009134B83439349034863465341B34AF3408 :10118000FF34AF341B346534863490343934B8348A :101190009134C73494343A343E3491342134D634C3 :1011A00082342034AD342A3447347A349334C4340E :1011B000B6346534F33417348F34D734EB34CD344C :1011C00041344234AF34D934CC34FD34FC342D3482 :1011D00038345E347334E8346A3431345D34FB348B :1011E000DF348834F83464341434C4345834D0349C :1011F0009F3447341334D5343134563412342434C4 :1012000000343F349F346F34CF340F34B734573405 :10121000E734C7340734BB345B34EB342B348B34C2 :10122000F334333493346334C33403347D34DD34E2 :101230001D346D34CD348D34753435345534E53446 :10124000A534C5348534F934B934D9349934E93402 :10125000A934C93449340934F134B1343134513406 :1012600091341134E1346134A1342134C134C134B6 :101270004134813481340134013401340134013486 :1012800001340134013401340134013481348134B6 :101290004134C134C1342134A1346134E1341134D6 :1012A000913451343134B134F13409344934C934CE :1012B000A934E9349934D934B934F9348534C5348E :1012C000A534E5345534353475348D34CD346D342E :1012D0001D34DD347D340334C33463349334333408 :1012E000F3348B342B34EB345B34BB340734C734E6 :1012F000E7345734B7340F34CF346F349F343F342E :101300000034C034603490343034F0344834A8347D :1013100018343834F8344434A4341434D4347434A1 :101320000C34CC346C349C343C34FC348234223461 :10133000E2349234323472348A34CA34AA341A34DD :101340005A343A347A340634463426346634163401 :1013500056343634B634F6340E344E34CE34AE34DD :101360006E34EE341E349E345E34DE343E343E340D :10137000BE347E347E34FE34FE34FE34FE34FE341D :10138000FE34FE34FE34FE34FE34FE347E347E34CD :10139000BE343E343E34DE345E349E341E34EE348D :1013A0006E34AE34CE344E340E34F634B634363475 :1013B0005634163466342634463406347A343A3495 :1013C0005A341A34AA34CA348A34723432349234D5 :1013D000E23422348234FC343C349C346C34CC34DB :1013E0000C347434D4341434A4344434F8343834DD :1013F0001834A8344834F034303490346034C03475 :1014000013341334133413341334133413341334A4 :1014100013341334133413340134013402340334D9 :1014200004340534053406340734073408340834EA :1014300009340934013401340134023402340334F0 :1014400003340434043405340534013401340134E4 :1014500001340134023402340234023403340334DC :1014600003340334043401340134013401340134CD :1014700001340134023402340234023402340334BD :021480008200E8 :02400E00F63F7B :00000001FF