#N canvas 0 22 1267 726 10; #X obj 337 85 samplerate~; #X floatatom 337 111 8 0 0 0 - - -, f 8; #X obj 256 159 expr $f2 / $f1; #X obj 281 253 expr 1000 / $f1; #X obj 86 403 pack 1 0; #X msg 146 403 -1; #X obj 87 447 vline~; #X msg 87 246 tempo \$1 samp; #X obj 87 206 expr $f1 / $f2; #X obj 87 179 t b f; #X obj 180 280 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 255 187 5 0 0 1 samples_per_field - -, f 5; #X floatatom 254 209 5 0 0 1 samples_per_line - -, f 5; #X obj 131 353 expr $f1 / $f2; #X obj 185 326 t b f; #X obj 87 277 metro; #X obj 86 306 t b b b; #X obj 299 360 expr 1 / $f1; #X obj 219 395 f; #X obj 284 395 +; #X obj 219 428 > 1; #X obj 219 451 select 1; #X msg 219 476 0; #X obj 284 475 vline~; #X obj 284 451 expr ($f1 * 2) - 1; #X obj 310 39 loadbang; #X obj 629 331 *~; #X obj 499 391 samphold~; #X obj 499 295 wrap~; #X obj 629 362 wrap~; #X obj 499 271 phasor~; #X obj 644 292 sig~; #X obj 499 435 expr~ ($v1 * 2) - 1; #X obj 629 435 expr~ ($v1 * 2) - 1; #X obj 499 571 *~; #X obj 629 571 *~; #X obj 284 553 *~; #X obj 87 548 *~; #X obj 87 572 throw~ horizontal; #X obj 87 617 catch~ horizontal; #X obj 284 577 throw~ vertical; #X obj 284 617 catch~ vertical; #X obj 499 595 throw~ vertical; #X obj 629 595 throw~ horizontal; #X obj 139 447 r selector; #X obj 139 470 == 0; #X obj 139 492 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 570 458 r selector; #X obj 570 503 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 570 481 == 1; #X obj 829 435 expr~ ($v1 * 2) - 1; #X obj 959 435 expr~ ($v1 * 2) - 1; #X obj 829 571 *~; #X obj 959 571 *~; #X obj 829 595 throw~ vertical; #X obj 959 595 throw~ horizontal; #X obj 900 458 r selector; #X obj 900 503 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 900 481 == 2; #X obj 829 333 phasor~; #X obj 959 390 phasor~; #X obj 656 11 cnv 15 150 150 empty empty MASTER_CONTROLS 20 12 0 14 -233017 -66577 0; #X obj 666 75 s selector; #X obj 666 40 hradio 25 1 1 3 empty empty empty 0 -8 0 10 -4034 -1 -1 1; #X obj 666 110 nbx 5 14 -1e+37 1e+37 0 1 Vfreq empty Vert_freq 0 -8 0 10 -4034 -1 -1 25 256; #X obj 726 110 nbx 5 14 -1e+37 1e+37 0 1 Hlines empty Horz_lines 0 -8 0 10 -4034 -1 -1 122 256; #X obj 829 295 r Vfreq; #X obj 974 295 r Hlines; #X obj 499 245 r Vfreq; #X obj 644 245 r Hlines; #X text 496 222 2 - SYNCED RAMPS via PHASOR and WRAP; #X text 85 14 1 - SYNCED RAMPS via MESSAGES \, METRO \, VLINE; #X msg 180 245 1; #X obj 337 131 t b f; #X obj 310 60 t b b; #X obj 256 118 r Vfreq; #X obj 87 147 r Hlines; #X obj 87 677 dac~ 1; #X obj 284 677 dac~ 2; #X obj 437 648 sig~ 1; #X obj 437 677 dac~ 3; #X obj 87 648 *~ 0.25; #X obj 284 648 *~ 0.25; #X text 827 647 Derek Holzer; #X text 829 666 macumbista@gmail.com; #X text 829 685 Helsinki 25 AUG 2018; #X text 811 108 25 X 160 displays minimal errors; #X obj 974 332 sig~; #X obj 959 363 *~; #X obj 889 332 sig~; #X text 826 270 3 - UNSYNCED \, FREE RUNNING RAMPS; #X text 863 137 Vert_freq = Frames per second; #X text 863 156 Horz_lines = Lines per frame; #X text 864 177 Horizontal line frequency = Vert_freq * Horz_lines ; #X obj 1111 214 r Vfreq; #X obj 1161 214 r Hlines; #X obj 1111 259 *; #X obj 1161 234 t b f; #X obj 1111 283 s Hfreq; #X floatatom 726 137 7 0 0 1 Hfreq - -, f 7; #X obj 668 136 r Hfreq; #X text 860 78 dac~ 3 : Z/brightness \, 1 (ignore if not present); #X text 859 39 dac~ 1 : X/horizontal line rate ramp \, [-1 \, 1] * 0.25; #X text 859 59 dac~ 2 : Y/vertical frame rate ramp \, [-1 \, 1] * 0.25 ; #X text 847 15 OUTPUTS to oscilloscope:; #X text 431 127 For software only test \, see:; #X text 467 145 https://asdfg.me/osci/; #X text 406 16 TESTED @ 192K sampling rate with; #X text 424 56 and modified Vectrex console.; #X text 448 36 DC coupled MOTU interface; #X connect 0 0 1 0; #X connect 1 0 73 0; #X connect 2 0 8 0; #X connect 2 0 11 0; #X connect 3 0 13 0; #X connect 4 0 6 0; #X connect 5 0 6 0; #X connect 6 0 37 0; #X connect 7 0 15 0; #X connect 8 0 7 0; #X connect 8 0 12 0; #X connect 9 0 8 0; #X connect 9 1 8 1; #X connect 10 0 15 0; #X connect 13 0 4 1; #X connect 14 0 13 0; #X connect 14 1 13 1; #X connect 15 0 16 0; #X connect 16 0 4 0; #X connect 16 1 5 0; #X connect 16 2 18 0; #X connect 17 0 19 1; #X connect 18 0 19 0; #X connect 18 0 20 0; #X connect 19 0 18 1; #X connect 19 0 24 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 19 0; #X connect 23 0 36 0; #X connect 24 0 23 0; #X connect 25 0 74 0; #X connect 26 0 29 0; #X connect 27 0 32 0; #X connect 28 0 27 0; #X connect 28 0 26 0; #X connect 29 0 27 1; #X connect 29 0 33 0; #X connect 30 0 28 0; #X connect 31 0 26 1; #X connect 32 0 34 0; #X connect 33 0 35 0; #X connect 34 0 42 0; #X connect 35 0 43 0; #X connect 36 0 40 0; #X connect 37 0 38 0; #X connect 39 0 81 0; #X connect 41 0 82 0; #X connect 44 0 45 0; #X connect 45 0 46 0; #X connect 46 0 37 1; #X connect 46 0 36 1; #X connect 47 0 49 0; #X connect 48 0 34 1; #X connect 48 0 35 1; #X connect 49 0 48 0; #X connect 50 0 52 0; #X connect 51 0 53 0; #X connect 52 0 54 0; #X connect 53 0 55 0; #X connect 56 0 58 0; #X connect 57 0 52 1; #X connect 57 0 53 1; #X connect 58 0 57 0; #X connect 59 0 50 0; #X connect 60 0 51 0; #X connect 63 0 62 0; #X connect 66 0 59 0; #X connect 66 0 89 0; #X connect 67 0 87 0; #X connect 68 0 30 0; #X connect 69 0 31 0; #X connect 72 0 10 0; #X connect 73 0 2 0; #X connect 73 1 2 1; #X connect 74 0 72 0; #X connect 74 1 0 0; #X connect 75 0 2 0; #X connect 75 0 3 0; #X connect 76 0 9 0; #X connect 76 0 14 0; #X connect 76 0 17 0; #X connect 79 0 80 0; #X connect 81 0 77 0; #X connect 82 0 78 0; #X connect 87 0 88 1; #X connect 88 0 60 0; #X connect 89 0 88 0; #X connect 94 0 96 0; #X connect 95 0 97 0; #X connect 96 0 98 0; #X connect 97 0 96 0; #X connect 97 1 96 1; #X connect 100 0 99 0;