summaryrefslogtreecommitdiff
path: root/blog/post/2019-04-25.html
blob: ca48f8916a9fd5413b5c51b6705dca235c619e4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog</title>
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/themer.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
	window.onresize=function()
	{
		if(window.innerWidth<768)
		setupevents();
		else unsetevents();
	}
	window.onresize();
	loadTheme();
	_decryptonload();
}
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
	<div id="panel" class="TText">
		<ul id="panellist">
			<li><a href="/"><h1>Chrisoft</h1></a></li>
			<li><a href="/blog"><h2>Blog</h2></a></li>
			<li><a href="#"><h3 id="title">EDIROL SD-80: A Trapped Beast</h3></a></li>
			<li><span>Tags</span>
			<ul id="tagslist">
			<li><a href="/blog/list/device-review/">device-review</a></li><li><a href="/blog/list/midi/">midi</a></li><li><a href="/blog/list/music/">music</a></li><li><a href="/blog/list/hands-on/">hands-on</a></li></ul>
			</li>
			<li id="tocouter">
				<span>Table of Contents</span>
				<ul id="tocroot">
				<li><a class="toctarg" href="#tocanch0"><em>STUDIO Canvas</em> acquired</a></li><li><a class="toctarg" href="#tocanch1">The configuration</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch2">Connection to the computer</a></li><li><a class="toctarg" href="#tocanch3">Settings things up in Linux</a></li><li><a class="toctarg" href="#tocanch4">Setting things up in Windows</a></li></ul></li><li><a class="toctarg" href="#tocanch5">What does it sound like?</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch6">Relation to EDIROL HyperCanvas and the Cakewalk TTS-1</a></li><li><a class="toctarg" href="#tocanch7">UPDATE: 2019-10-12</a></li></ul></li><li><a class="toctarg" href="#tocanch8">Working with the SD-80</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch9">Fighting against latency</a></li><li><a class="toctarg" href="#tocanch10">Recording</a></li><li><a class="toctarg" href="#tocanch11">Editing the sounds</a></li><li><a class="toctarg" href="#tocanch12">Impact on the workflow</a></li></ul></li><li><a class="toctarg" href="#tocanch13">Quirks</a></li><li><a class="toctarg" href="#tocanch14">Beneath the chassis</a></li><li><a class="toctarg" href="#tocanch15">What the manual doesn’t tell</a></li><li><ul class="tocnode"><li><a class="toctarg" href="#tocanch16">Testing mode</a></li><li><a class="toctarg" href="#tocanch17">Messing around sans the chassis</a></li><li><a class="toctarg" href="#tocanch18">Chart A</a></li><li><a class="toctarg" href="#tocanch19">Chart B</a></li></ul></li><li><a class="toctarg" href="#tocanch20">Verdict</a></li><li><a class="toctarg" href="#tocanch21">Things to do besides imitating ZUN</a></li><li><a class="toctarg" href="#tocanch22">Newer Roland sound modules?</a></li><li><a class="toctarg" href="#tocanch23">Trivia</a></li><li><a class="toctarg" href="#tocanch24">If you want to learn more …</a></li></ul>
			</li>
			<li style="margin-left:-0.5em"><a id="prevp" href="2019-02-13.html">Prev post</a></li>
			<li style="margin-left:-0.5em"><a id="nextp" href="2019-09-04.html">Next post</a></li>
		</ul>
	</div>
	<div id="content">
		<h2 id="titleh" class="TText" style="font-wight:normal;">EDIROL SD-80: A Trapped Beast</h2>
		<div id="datetags" class="TText" style="margin-bottom:1em;">2019-04-25<br>#device-review #midi #music #hands-on</div>
		<hr><div id="article" class="TText"><script>
window.addEventListener("DOMContentLoaded",function(){
const cl=document.querySelectorAll('div.collapse');
let n=0;
for(let x of cl)
{
    const d=document.createElement('blockquote');
    const dd=x.cloneNode(true);
    x.parentNode.insertBefore(d,x);
    x.parentNode.removeChild(x);
    dd.id=`cc${n++}`;
    dd.style.display='none';
    const s=document.createElement('span');
    const b=document.createElement('b');
    const a=document.createElement('a');
    a.classList.add('ca');
    a.setAttribute('x',n-1);
    a.innerHTML='show';
    a.href='javascript:void(0)';
    b.innerHTML=dd.getAttribute('caption');
    s.appendChild(b);
    s.appendChild(document.createTextNode(' ['));
    s.appendChild(a);
    s.appendChild(document.createTextNode(']'));
    d.appendChild(s);
    d.appendChild(dd);
    a.onclick=function()
    {
        let x='none';
        if(a.innerHTML=='show')
        {
            a.innerHTML='hide';
            x='block';
        }
        else
        {
            a.innerHTML='show'
        }
        document.getElementById(`cc${a.getAttribute('x')}`).style.display=x;
    }
}
const al=document.querySelectorAll('audio');
n=0;
for(let x of al)
{
    x.id=`a${n++}`;
    x.onplay=function()
    {
        for(let x of al)
        {
            if(x.id!=this.id)x.pause();
        }
    }
}
});
</script>
<article>
<p>This article is about my hands on of the EDIROL STUDIO Canvas SD-80. Even though I’m a newcomer to the STUDIO Canvas owners community, veterans may still find something interesting here.</p>
<p><strong>UPDATE</strong>: links to board shots are fixed.</p>
<p><strong>UPDATE</strong>: <a href="https://chrisoft.org/blog/post/2020-11-20.html">A sequel</a> to this article has been posted. The sequel contains new updates, discoveries and corrections to this article.</p>
<p><strong>UPDATE</strong> (2022-06-30): the sequel is now <em>actually</em> published.</p>
<h2 id="tocanch0" class="tvis"><em>STUDIO Canvas</em> acquired</h2>
<p>Ever since I learned that ZUN uses a SD-90 as one of his major synthesizers <a href="https://www12.atwiki.jp/touhousoundfont/pages/22.html">here</a>, I’ve always been dreaming to get my hands on one of those. But these things are not particularly easy to find in China. There are plenty of deals on ebay though. However, after a failed purchase attempt made in 2016 which also led to the ridiculous suspension of my ebay account, I left the idea alone for multiple years. Things changed earlier this month, when <a href="https://owner203.com">owner203</a> helped me acquire my very own SD-80 and kindly delivered it from Japan.</p>
<p>I did not go for a SD-90 since they are all ridiculously priced in 2019. The deal I tried to make back in 2016 would cost me around $300 (shipping included). Now they are all way beyond $400. This forced me to resort to lower-end models, namely the SD-80 and SD-20. There’s also the SD-50 which I almost bought back in 2014, before I found out it is essentially a stripped-down version of Roland SonicCell without the SRX expandability. Therefore although the SD-50 retains the compatibility with the synth engine found in SD-90 (both are from models supporting SRX, namely the XV-5080 and SonicCell), it comes with a complete new set of waveforms and patches which makes it sounds totally different. So the SD-50 is definitely a no go.</p>
<p>The only choices left are SD-80 and SD-20. SD-20 can be found very cheap online (from $59). However SD-20 does have half of the polyphony and most editability of other STUDIO Canvas’ axed. Also gone are 3 entire sound banks (and presumably some waveforms). On the other hand, SD-80 costs a lot more (starting from ~$200), but is capable of generating everything the SD-90 can (the only missing part in SD-80 compared to SD-90 is the audio interface). After deciding no more compromise should be made, I went straight for the SD-80.</p>
<p>The module arrived two weeks after the order was placed. It certainly wasn’t the happiest SD-80 in the world: the chassis bears quite a lot of scratches all around. The value knob takes a lot of force to turn and has a good amount of friction on it, to which I found a quick solution by simply pushing the knob downwards a little bit while turning it. Aside from the looks, the module itself is in perfect working order. It came with a power cord and its rack mount ears, but without any of its original paperwork or the CD-ROM. As most of the documentation and drivers can be found online, the only things I’ve lost are the demo midi files, which is still a shame.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/SD-80_top.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_top.jpg"></a> <br>Top cover
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/SD-80_label.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_label.jpg"></a> <br>Label with S/N removed. Visible on top left corner is a foot pad that seems to be a slice of cork.
</div>
</td>
</tr>
<tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/SD-80_front.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_front.jpg"></a> <br>Left half of the front panel. Buttons yellowed out, showing the module’s age. Scratches and dents are visible.
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/SD-80_back.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_back.jpg"></a> <br>Wow! Such Optical! Much MIDI!
</div>
</td>
</tr>
</tbody></table>
<h2 id="tocanch1" class="tvis">The configuration</h2>
<h3 id="tocanch2" class="tvis">Connection to the computer</h3>
<p>Without the audio interface portion, it’s impossible to use the SD-80 with only a USB connection: you need something for it to connect to in order to make a recording.</p>
<p>To begin with, I wanted to get something that accepts S/PDIF input for the audio interface. But those kind of things are scarce today. The closet model I could find in Chinese market was from an unknown vendor and comes with a very sketchy chip, whose official driver only supports up to Windows 7 32-bit. As a crappy digital interface may sound worse than a more decent analog one, I went for one of the cheapest audio interfaces available: a Focusrite Scarlett Solo (which is more than 5 times the price of the weird digital interface and probably still better than the one comes with SD-90 as it supports up to 192 KHz sampling rate).</p>
<p>For a audio equipment novice, connecting things up wasn’t that straightforward: I tried connecting the phone output on the SD-80 to the line in of the audio interface and it kind of works. There is just one <em>tiny</em> problem: the left and right channels got mixed up into one, and is only on the right channel in a stereo recording. At first I thought it was my cable. But after a couple minutes of researching, I found out that every input on an audio interface is actually mono. <strong>WHY</strong>? Guess I’ll never know.</p>
<p>So I got another TRS to XLR connector. After connecting the left channel of output 1 on the SD-80 to the microphone input on the audio interface and the right channel to line level input, it produces stereo recordings as expected. The resulting audio is very unbalanced though, due to the microphone input being much more sensitive than the line level input. In order to balance them I played a sine wave on the SD-80 and adjust the input level of each channel so that while turning down the volume knob on the SD-80, the level indicators on all channels stop blinking at the same time.</p>
<p>The ‘direct monitor’ switch on Scarlett Solo enables live monitoring of the input without operating system intervention and therefore, without latency. However the direct monitor feature on Scarlett Solo is limited to mono only, so in order to get stereo monitoring, a round-trip through the computer is required.</p>
<h3 id="tocanch3" class="tvis">Settings things up in Linux</h3>
<p>If you are absolutely insane and using Gentoo Linux just like me, make sure you’ve already got working audio and have the following kernel configuration items enabled:</p>
<pre><code>Device Drivers ---&gt;
    &lt;*&gt; Sound card support
        &lt;*&gt; Advanced Linux Sound Architecture ---&gt;
            [*] USB sound devices
                &lt;*&gt; USB Audio/MIDI driver</code></pre>
<p>Both SD-80 and Scarlett Solo should then just work out of box (if you are using pulseaudio <a id="n1" href="#note1" class="note">[1]</a>).</p>
<p>At first I thought only the ‘generic’ USB mode of SD-80 is supported by this kernel module, however it turns out the ‘vendor’ USB mode works just fine as well. It also suffers a lot less stuttering.</p>
<p>The USB vendor ID and product ID is 0582:0029. Changing the USB mode to generic makes it 0582:002a.</p>
<p>In order to monitor the input, load the loopback module first:</p>
<pre><code>pactl load-module module-loopback latency_msec=1</code></pre>
<p>(<code>latency_msec</code> means exactly what the name suggests)</p>
<p>then move it to the audio input of the audio interface:</p>
<pre><code>pacmd move-source-output 7 alsa_input.usb-Focusrite_Scarlett_Solo_USB-00.analog-stereo</code></pre>
<p>where 7 is the index of the loopback followed by the name of the input of your audio interface. Usually you can use tab completion, however if you are still unsure, you may also use a GUI utility such as <code>pavucontrol</code>.</p>
<p>I haven’t tried JACK yet. But using QjackCtl should make everything a breeze.</p>
<p>The editor for SD-80 works perfectly using wine.</p>
<h3 id="tocanch4" class="tvis">Setting things up in Windows</h3>
<p>Setting things up in Windows is somehow more tedious than it should be. Roland didn’t bother releasing a driver for Windows 10, but a web search indicates the driver for Windows 8/8.1 works on Windows 10 with a minor tweak. As the device works with a generic driver on Linux even when the USB mode is set to ‘vendor’, it will probably work on Windows without the Roland driver too. Although I’d rather install the official driver for Windows 8/8.1 because there is one.</p>
<p>The tweak is simple. Open up <code>RDIF1023.INF</code> in a text editor, copy everything under section <code>[Roland.NTamd64.6.2]</code> to section <code>[Roland.NTamd64.7]</code> and you are good to go. Driver signature enforcement has to be disabled as stated in the quick start manual.</p>
<p>Settings up monitoring is as simple as clicking on a checkbox in the control panel or a button in your DAW. You just don’t see one use the command prompt for this purpose on Windows.</p>
<h2 id="tocanch5" class="tvis">What does it sound like?</h2>
<p>Well, it sounds super ‘ZUNish’, if you’ve ever listened to Touhou music. It’s definitely the best sounding module back in 2002 (barring those extendable modules such as XV-5080).</p>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/clouds_SD-80.ogg">
</audio>
<p>SD-80’s take on clouds.mid (an easter egg thing in Windows 95)</p>
</div>
<p>All instruments are from the ‘solo’ set. The trumpet is ‘Tp.Dark vib’, which is the famous ‘Romantic Tp’ with a significant lower filter cutoff. Everything else is the basic variant.</p>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/th06_02_SD-80.ogg">
</audio>
<p>SD-80’s take on th06_02.mid</p>
</div>
<p>In general the STUDIO Canvas sounds more expressive than most other tone generators, virtual or not. This is probably related to its default non-zero modulation level (10) on every part. <a id="n2" href="#note2" class="note">[2]</a> Technically this makes it GM2-incompatible as section 3.3.2 of the GM2 specification says the default value for modulation depth should be 0.</p>
<p>Also the STUDIO Canvas has a bunch of waveforms of instruments played with vibrato, which is absent on some expandable modules such as the XV-5080 <a id="n3" href="#note3" class="note">[3]</a>, making vibrato sounds much more natural than simulating with LFO modulating the pitch and other parameters.</p>
<h3 id="tocanch6" class="tvis">Relation to EDIROL HyperCanvas and the Cakewalk TTS-1</h3>
<p>There’s a rumor saying HyperCanvas and TTS-1 is essentially the ‘classical’ set from the STUDIO Canvas. And I believed the rumor has been around for quite some time. Finally I can check it out myself.</p>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/SD-80.ogg">
</audio>
<p>flourish.mid on SD-80 with every instrument from the ‘classical’ set and basic variant selected.</p>
</div>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/TTS-1.ogg">
</audio>
<p>flourish.mid on Cakewalk TTS-1, everything also from bank 0.</p>
</div>
<p>The first impression is they do sound quite alike. But as soon as the drums kick in, you’ll find out they actually sound different.</p>
<div>
<table style="position:relative;left:50%;transform:translate(-50%,0);">
<tbody><tr style="text-align:center">
<td>
</td>
<td>
SD-80
</td>
<td>
TTS-1
</td>
</tr>
<tr>
<td>
Piano
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Piano_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Piano_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Marimba
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Marimba_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Marimba_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Nylon Guitar
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Guitar_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Guitar_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Fingered Bass
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Bass_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Bass_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Soprano Sax
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Sax_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Sax_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Sweep Pad
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Sweep_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Sweep_TTS-1.ogg">
</audio>
</td>
</tr>
<tr>
<td>
Drums
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Drums_SD-80.ogg">
</audio>
</td>
<td>
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Drums_TTS-1.ogg">
</audio>
</td>
</tr>
</tbody></table>
</div>
<p>It’s quite obvious that the drums set of TTS-1 is actually taken from SC-88Pro (except Elec. Snare, which is taken from Electric Set). The piano sounds almost identical<a id="n4" href="#note4" class="note">[4]</a>. Sax, marimba and sweep pad also sounds identical. Bass seems to heve different velocity curves and guitar in TTS-1 sounds more bright.</p>
<p>Further more, if you have Super Quartet, which is also made by Edirol, you may find out they also share many similar sounds, namely ‘Rockabilly’, ‘Jazz Bass’, ‘Rock Bass’ and ‘Acoustic Set’, which correspond to ‘Rockabilly’, ‘Jazz Bass’, ‘Fingered Bs2’ and ‘St.Standard’<a id="n5" href="#note5" class="note">[5]</a>.</p>
<p>These old Edirol software synthesizers might have a very different engine compared to the XV engine found in the STUDIO Canvasses considering the DSP power of PCs of that time period. So it’s normal that the TTS-1 produces subtly different sound even when the same samples are used.</p>
<div>
<table style="position:relative;left:50%;transform:translate(-50%,0);">
<tbody><tr>
<td style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/SCVA%2088Pro.ogg">
</audio>
<br>bonus clip: flourish.mid on SOUND Canvas VA (SC-88Pro Map)
</td>
<td style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/Drums_SCVA.ogg">
</audio>
<br>bonus clip: Drums from flourish.mid on SOUND Canvas VA (SC-88Pro Map)
</td>
</tr>
</tbody></table>
</div>
<p>SOUND Canvas VA doesn’t simulate anything it claims to perfectly, but it’s the best result someone who doesn’t physically own a SC-88Pro can achieve I guess.</p>
<p>All audio files above were recorded using Cakewalk by Bandlab. <del>The Cubase Pro purchase was just for more instruments to be added to my HALion library.</del></p>
<p>Here are more bonus clips recorded using <code>arecord</code> on Linux.</p>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/th06_13_SD-80.ogg">
</audio>
<p>th06_13.mid</p>
</div>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/blog/data/SD-80/th06_15_SD-80.ogg">
</audio>
<p>th06_15.mid (I didn’t bother adjusting fade in value for the vibrato LFO.)</p>
</div>
<p>And finally SD-80 in a mix, featuring two signature instruments ZUN used a lot in recent games (‘Romantic Tp’ and ‘Reed Romance’) and also ‘St.Sm Choir’.</p>
<div style="text-align:center">
<audio controls="" src="//filestorage.chrisoft.org/music/ogg/%E6%B7%B1%E6%B5%B7%E4%B8%83%E8%8A%B1%EF%BD%9EForgotten%20Benefit_extended_remix.ogg">
</audio>
<p>深海七花~Forgotten Benefit_extended_remix<br>
(Theme of stage 6 boss of <a href="http://rgbxyz.org/th_kaikeidou/top.html">Touhou Kaikeidou</a>, arranged a bit. Originally by <a href="https://blogs.yahoo.co.jp/crystalwings6">Crystalwings</a>)</p>
</div>
<h3 id="tocanch7" class="tvis">UPDATE: 2019-10-12</h3>
<p>Now that I’ve been using my SD-80 for some time, I could say more about the sounds built into it.</p>
<p>Piano sounds in the SD-80 are not super compelling, mainly because it’s too bright and thin. Sure it has improved a lot since the early days, but it’s still nowhere near the real thing.</p>
<p>Guitars and basses are in a similar situation. Most of these are also nowhere near realistic. However there <em>is</em> something worth of noting in this category, which is distortion guitar. Dist guitar presets with MFX pre-applied are much more better sounding than the old plain sample-based sounds.</p>
<p>Orchestral sounds are expressive, sometimes overly expressive. There are not much variations either: no spiccato or solo pizzicato sounds. With a bit of tweaking though, symphony tracks do sound decent on the SD-80.</p>
<p>Lead sounds and pads are superb, especially those from the special sets. With the editor a lot more nice sounds could be created. A lot of presets with step modulation typical of that days could be found both built-in and on the Internet (as midi system exclusive messages).</p>
<p>Drums are half decent. Somehow I don’t really like Roland’s choice of their acoustic drum sets. I would always turn to other virtual drums for acoustic drums. Electric drum sounds are pretty good, but there are simply not enough electric drum sounds inside the SD-80.</p>
<p>Also I don’t really like how Roland arranges the sounds into 4 GM2 sound sets. This severely limits the number of different kind of instruments. For example, rather than a lot of different vocal sounds that can be found in the SC-8850, in the SD-80 we only have Voice Oohs, Voices Oohs 2, St.&nbsp;Vox Oohs and Enh.Vox Oohs.</p>
<p>The GS and XG lite modes don’t sound very good, which contain sounds that are more like stripped down version of its native presets than a genuine GS or XG lite synthesizer. The GS sounds are almost pathetic: it only come with the same instrument map as the SC-55, and sounds really cheap. Compatibility wise, however, the SD-80 does a nice job. It does seem to support all NRPNs and control messages of these standards (even though it sometimes screw up parameter scaling). But due to the fact that there aren’t really a lot of usable sounds in these modes, I don’t find these modes particularly useful.</p>
<p>The SD-80 has 32MB of sample content <a id="n6" href="#note6" class="note">[6]</a>, which is on par with both SC-8850 and XV-5080. This is quite surprising because some of the sounds in XV-5080 are so much more realistic than those in SD-80 or SC-8850. The XV-5080 managed to squeeze 1083 samples into the 32MB wave ROM while the SD-80 only comes with 589 samples, which are often of lower quality. I don’t quite get why Roland did this.</p>
<h2 id="tocanch8" class="tvis">Working with the SD-80</h2>
<h3 id="tocanch9" class="tvis">Fighting against latency</h3>
<p>Even though Scarlett Solo can achieve a very low latency, there’s no way I can squeeze out enough processing power out of my ULV dual core i7 to handle it. Therefore I was forced to live with ~11 ms latency, which is not <em>that</em> high, but still a quite significant amount to deal with.</p>
<p>Cakewalk’s glitchy latency compensation makes things even worse: it works in some projects but completely out of order for the others. In order to listen to a full mix, I have to make a short recording, which is really annoying. As this is much more expensive time-wise, I started using more guesswork before trying a full mix and it’s probably not good.</p>
<h3 id="tocanch10" class="tvis">Recording</h3>
<p>Recording is simple and works as expected. However I seem to suffer from quite a high SNR value, which hovers around ~90 dB. Perhaps it’s my crappy cables making me pay.</p>
<h3 id="tocanch11" class="tvis">Editing the sounds</h3>
<p>The best thing about SD-80 is its editability. Neither SD-90 nor SD-20 came with the same level of editability upon launch. <a id="n7" href="#note7" class="note">[7]</a></p>
<p>As claimed by the <a href="https://www.soundonsound.com/reviews/edirol-SD80">Sound On Sound review</a>, the editor for SD-80 is very similar to the one for XV-2020. The editor exposes a generic sample-based synthesis engine quite comparable to the one found in HALion (with more restrictions, of course). It lets you take full control of the synthesis engine and even create new patches not found anywhere else.</p>
<p>The synthesis engine consists of four layers (with up to two samples <a id="n8" href="#note8" class="note">[8]</a> for each layer, plus frequency modulation), four filters (one for each layer), eight envelope generators (amplitude EG and filter EG for each layer), two LFOs <a id="n9" href="#note9" class="note">[9]</a> and a 4*4 modulation matrix. There are also 90 post-processing effects (some of which are combinations of multiple simple effects, hence the name ‘MFX’) to choose from for each channel.</p>
<p>Restrictions aforementioned include inability to use external samples so you are essentially locked in to 589 built-in waveforms (which is probably fine because it’s not what the STUDIO Canvas line is aimed at), limited number of envelope nodes, limited modulation routing, restricted number of different MFX’s that can be used at the same time (3).</p>
<p>The editor has quite terrible user experience. Guess it’s common for such decades-old software. It comes with a twenty-page pdf manual (which contains a lot of excerpts from the XV-5080 owner’s manual), which focus on the internals of the synthesizer, and a html manual, which focus on the interface of the editor.</p>
<p>I’ve also tried editor software for other STUDIO Canvas modules using the same generation of XV engine. The SD-20 editor works seamlessly with SD-80, and it only offers basic parameters editing just like TTS-1. The SD-90 editor, despite being extremely similar to the SD-20 editor, doesn’t work at all, which is not surprising as it’s essentially the SD-20 editor plus an editor for the audio mixer and audio effects processor found in the SD-90, which the SD-80 lacks.</p>
<p>By the way, if you have hi-dpi display and use Windows 10, be sure to use ‘System (Enhanced)’ scaling behavior for the SD-80 Editor. It scales perfectly that way.</p>
<p>I’m not going to scatter the post with even more pictures, so please follow the links for selected screenshots of the editor:</p>
<p><a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_a.png">main screen</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_b.png">‘part survey’</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_c.png">layers</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_e.png">amp EG</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_f.png">LFO</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_h.png">layers mapping</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_i.png">modulation matrix</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_k.png">patch options</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_l.png">‘part all’</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_m.png">MFX editing</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_r.png">Rhythm layers editor</a> / <a href="//filestorage.chrisoft.org/blog/img/SD-80_editor_u.png">Rhythm amp EG</a></p>
<h3 id="tocanch12" class="tvis">Impact on the workflow</h3>
<p>First of all I’ve to record and thus, deal with latency, noise and clipping. It’s pretty annoying as already mentioned above.</p>
<p>Also the SD-80 doesn’t integrate very well with any DAW. There’s no way your settings of this hardware synth get saved automatically with your project like a virtual synth. Also forget about automation and all sort of things. You have to use MIDI events and system exclusive messages (especially tuning some obscure parameters) for this purpose, and DAW software doesn’t have great support for system exclusive messages in general.</p>
<h2 id="tocanch13" class="tvis">Quirks</h2>
<p>The SD-80 is GM2 compatible. However many midi files you randomly find may not play on it even when the device is in GM2 mode. If the midi file being played has any sort of bank selection event not recognized by the SD-80, the corresponding part will produce no sound at all.</p>
<p>If your midi file has NRPN messages, things will get even worse. These things are essentially undocumented for the SD-80. All I could say is good luck keeping your eardrum intact. <a id="n10" href="#note10" class="note">[10]</a></p>
<p>The manual says ‘This set (“classical” set) is also used when GM2 data compatibility is important’. However upon receiving the GM2 on message, the module automatically selects ‘contemporary’ set for every part. It seems impossible to change this behavior.</p>
<p>The XG Lite mode has way more instruments available than what the manual has listed. Bank 18 patch 1 gives you ‘Piano 1d’ (presumably ‘Mellow Grand Piano’ in XG specification), which is not listed in the manual. It actually has 489 normal patches, 49 sfx patches, 2 sfx kits and 9 drum kits <a id="n11" href="#note11" class="note">[11]</a>. It’s quite irony to find out that they have more patches for their competitor’s standard than their own legacy standard. However these sounds are relatively lame when compared with authentic YAMAHA XG synthesizers of the same period. Particularly some sounds in different variant slot of the same patch number sounds almost identical. Roland obvious put less effort in these sounds in terms of sound designing.</p>
<p>MIDI timing messes up if events flood in within a demisemiquaver worth of time. This quirk resembles the problem QMidiPlayer for Windows suffered from in its early days. But I’m pretty sure the cause is completely different. <a id="n12" href="#note12" class="note">[12]</a> Also this could be a common issue of old MIDI devices, as my old YAMAHA keyboards does the exact same thing.</p>
<p>The sound generated by the SD-80/90 is phasey as could be heard in ZUN’s early works. If unsure, take a look at the spectrogram.</p>
<p>The module, as all electric appliances do, generates heat. The manual says “A small amount of heat will radiate from the unit during normal operation”, and the chassis do get quite warm even when it is completely idle. This didn’t become an issue until later.</p>
<p>Finally there are a couple of quirks in Roland’s former partner Cakewalk. Whenever the input signal level exceeds 0dB, instead of clipping the audio, it produces a loud cracking or popping sound in the record. Cubase and arecord have no such problem.</p>
<p>Another quirk with Cakewalk is its metronome. Metronome settings in Cakewalk is saved on a per-project basis and there’s no way to change the default value (unless creating a template, which is useless for existing projects). By default it sends the metronome to the default MIDI device, which result in records with metronome clicks in them.</p>
<h2 id="tocanch14" class="tvis">Beneath the chassis</h2>
<p>Although I cherish the module quite a lot and there are warning text on top of it (which I can’t read because it’s in Japanese and … well, English), I disassembled the unit.</p>
<div style="text-align:center;max-width:90%;">
<a href="//filestorage.chrisoft.org/blog/img/SD-80_caution.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_caution.jpg"></a> <br>CAUTION!! 注意!! ATTENTION!! (/a.tɑ̃.sjɔ̃/)
</div>
<p>As most other vendors does, Roland build their audio equipment ‘like a tank’. The entire chassis is made out of aluminium and steel, and has an absolutely crazy amount of screws on it. The front panel came off after taking out 5 screws on top and bottom, after which I took out the value knob and the rubber button sheet for a cleanup.</p>
<p>The top cover was freed after taking out 11 screws. Under the top cover lies the guts of SD-80. All boards except the power supply board uses SMD components extensively. The main board is made exclusively using SMD components, which is probably quite impressive back in the early 2000s.</p>
<p>The power supply module is surrounded with thick plastic sheet presumably for insulation. Rated voltage for the module seems to be changeable by using different pin layouts on the input side. The power supply module is made of two separate boards. The two boards are connected with two wide connectors that only have a few pins on them. I would guess the pin layout on the connectors sets the rated voltage of the module but I’m not sure. I would definitely test that out someday.</p>
<p>I took note of the engravment of every chip on the main board, which could be found in chart B below.</p>
<table>
<tbody><tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_buttonpanel.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_buttonpanel.jpg"></a>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_sanscover.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_sanscover.jpg"></a>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_PS_a.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_PS_a.jpg"></a>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_PS_b.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_PS_b.jpg"></a>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_mb_top.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_mb_top.jpg"></a>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/SD-80_mb_bottom.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1536x1536_SD-80_mb_bottom.jpg"></a>
</td></tr>
</tbody></table>
<h2 id="tocanch15" class="tvis">What the manual doesn’t tell</h2>
<p>A very sensible thing to do after the disassembly is to search the engravment on the chips online. Searching ‘RA08-503’ found on the largest Roland-labled chips <a id="n13" href="#note13" class="note">[13]</a> brings up a whole new world to me: service manuals for Roland synths. Sadly there are no manuals for any STUDIO Canvas models, nevertheless, they are very useful for learning more about the insides of a Roland synthesizer.</p>
<p>There are a couple of models bearing the ‘RA08-503’ chip found in the SD-80. Examples include XV-5080 and MC-909. This chip is referred to as ‘XV’ in their service manuals (also in the SD-80, as you will find out later). It’s safe to guess they handle the most important work of a sound module – tone generation. Also I observed that all modules supporting 32 parts and 128 polyphony have two of these chips in them, while the ones with only one chip only supports up to 16 parts and 64 polyphony. Maybe that’s the limitation of the single chip. Also one can tell the chip also handles some weird job such as LED indicators from the circuit board schematic.</p>
<p>A very lonely chip on the right side has ‘6417706’ on it. Turns out this is a microprocessor implementing the SuperH architecture. It’s the same CPU as found in MC-909 (which makes sense as they are produced around the same time). Linux kernel has support for this processor<a id="n14" href="#note14" class="note">[14]</a>. The processor has a maximum clock speed of 133 MHz and is underclocked to 128MHz in the MC-909. It’s probably underclocked even more in the SD-80. There’s an unpopulated D-sub connector presumably for debugging near the CPU.</p>
<h3 id="tocanch16" class="tvis">Testing mode</h3>
<p>According to the service manuals available for other models, they all have a hidden test mode. Some also have the ability to update system firmware. Entering testing mode often involves turning the power on with a combination of keys pressed. Every model have its own way to enter testing mode and there’s no obvious pattern. At that point, I was desperate to dive into it. So I simply tried all button combinations consisting of one to three buttons. The result didn’t let me down. I found three combinations that make the SD-80 boot into special modes.</p>
<ul>
<li>INST + SHIFT + PART▶ = Test Mode</li>
<li>INST + PAGE◀ + PREVIEW = Program Updater</li>
<li>SYSTEM + PAGE◀ + PREVIEW = Program Updater</li>
</ul>
<p>Below is everything I found about these modes.</p>
<div class="collapse" data-caption="Special boot modes in the SD-80">
<p><strong>Test Mode</strong></p>
<pre><code>00 Version Check
1.03 0022 2002/07/29</code></pre>
<p>(Preview blinks, pressing it doesn’t seem to do anything)</p>
<pre><code>01 Device Check
      ALL OK!!</code></pre>
<p>(I got <code>NG:XV2</code> shortly after heavily using the module for a while. MFX in test 7 produces no sound at all, system delay only has the dry sound, everything else was normal. More on this later.)</p>
<pre><code>02 MIDI Check
MID1:x MID2:x THRU:x</code></pre>
<p>(No MIDI cable for me until I’m home… Input from USB does not count.)</p>
<pre><code>03 LCD Check
PAGE:Sel / ENC: Contr</code></pre>
<p>(PAGE buttons switch among the following four patterns: none, full, chequerboard 0, reversed chequerboard. Contr=Contrast)</p>
<pre><code>04 SW/LED Check
    ooooo ooooo</code></pre>
<p>(All buttons and indicators light up. Transparent buttons turns off its light, opaque buttons turns off LED above or below it, ENTER button turns off nothing. The five <code>o</code>’s on the left corresponds to the upper row, others corresponds to the lower row. Pressing a button turns its character to <code>#</code>, releasing it causes it to change to <code>.</code>.)</p>
<pre><code>05 Encoder Check
  Value(0-23) = xx</code></pre>
<p>(+ Plays C3, - Plays E3, both using the piano voice. Value starts at 00. Interestingly if the encoder is turned too fast, the value on screen does not change until you stop.)</p>
<pre><code>06 Sound Check
Push button to check
   Left channel
   Center channel
   Right channel</code></pre>
<p>(INST/EFFECTS/SYSTEM blink, pushing one makes it constantly on while others still blinking and plays the corresponding check. Plays sine wave on the selected channel(s))</p>
<pre><code>07 Effect Check
Push button to check
     MFX(Delay)
    System Delay
    System Reverb</code></pre>
<p>(Same as test 06. The sounds used for these checks are snare, castanets and side stick respectively.)</p>
<pre><code>08 Factory Reset
   Push [PREVIEW]</code></pre>
<p>(PREVIEW blinks, pressing it really resets!)</p>
<p>The SD-80 still works as a sound module in test mode – it will play any incoming midi stream. The module is in native mode regardless of your settings. MFX doesn’t seem to be working normally (likely due to it’s reserved for test 07). Switching between tests resets some (if not all, depending on the test switching to) of the synthesizer’s states. Switching to test 05 sets some of the instrumental parts to piano and others to a certain synth lead patch. Switching to test 06 sets sine wave and piano on all instrumental parts just like test 05. Switching to test 07 sets certain instrument parts to a drum patch, the patch ‘Xtremities’ could also be heard. Other parts are set to piano.</p>
<p><strong>Program Updater</strong></p>
<pre><code>Program Updater
Version: 1.03</code></pre>
<pre><code>Program Updater
Prog:12D3[12D3]1.03</code></pre>
<pre><code>Program Updater
Updt:66FB[66FB]1.00</code></pre>
<pre><code>Program Updater
Boot:5170[5170]1.01</code></pre>
<pre><code>Update by MIDI
[ENTER][SHIFT(Exit)]</code></pre>
<pre><code>Update by USB
[ENTER][SHIFT(Exit)]</code></pre>
<ul>
<li>INST = Program version (INST lights up)</li>
<li>EFFECTS = Updater version (EFFECTS lights up)</li>
<li>SYSTEM = Boot version (SYSTEM lights up)</li>
<li>SHIFT = Returns to initial screen of the updater</li>
<li>PART◀ = Update by MIDI</li>
<li>PART▶ = Update by USB</li>
</ul>
<p>MIDI and USB indicators blink on any screen with the top row saying <code>Program Updater</code>. Selecting a source makes the corresponding indicator constantly lit and the other go out.</p>
<p>If this mode is entered with the combination SYSTEM + PAGE◀ + PREVIEW, INST, EFFECTS, SYSTEM will do nothing instead. This combination is probably reserved for consumers.</p>
<p>Sound generation does not work in the program updater.</p>
<p>Presumably the update MIDI files are similar to earlier models: stream of system exclusive events containing firmware blobs. No program update could be found for the SD-80 on the Internet. There are update files for the SD-90 however, which updates its system software to version 1.03.</p>
</div>
<h3 id="tocanch17" class="tvis">Messing around sans the chassis</h3>
<p>As the two XV chips are arranged in a master-slave manner, I tried figuring out which one is acting as the master. I threw a bunch of midi files at it while measuring the temperature of the XV chips… with my fingers. Both chips turn quite toasty but IC19 is always warmer than IC27, sometimes it’s even a little difficult to keep my finger stay on that chip.</p>
<p>When the action gets more intense, IC27 starts to warm up. Before I was just going to conclude that IC27 is acting as the master, I realized that I will never come into a meaningful conclusion without further reverse engineering: I have absolutely no idea how the load is distributed between the two XV’s!</p>
<p>Frustrated, I entered testing mode to find out whether there’s anything interesting if it’s run with chassis removed. To my surprise, the device check failed with <code>NG:XV2</code> and a bunch of other errors in the following tests. I thought I was doomed, but a reboot of the module solved the problem completely and it never show any trace of abnormality that day.</p>
<p>The other day, however, the problem returned. After messing with the SD-80 editor and creating random complex patches for an hour, I randomly decided to check out the testing mode again, where I was greeted by the <code>NG:XV2</code> failure the second time. Again, a reboot solved the problem for the day. No amount of hardwork will put the SD-80 into a buggy state if it boot straight into normal mode. At this point I thought it could be a bug in the test or the device check could be quite sensitive to temperature, which is probably not a very good thing as there are no vent holes for airflow on the module whatsoever.</p>
<p>A few more days, I found my SD-80 frozen after keeping it on doing almost nothing for a day. In yet another case, it just randomly froze during playback after half day of usage. I’m unsure these instability are specific to my machine.</p>
<h3 id="tocanch18" class="tvis">Chart A</h3>
<div class="collapse" data-caption="Comparison of internal components found in selected Roland devices">
<p><a id="n15" href="#note15" class="note">[15]</a></p>
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 16%">
<col style="width: 3%">
<col style="width: 32%">
<col style="width: 11%">
<col style="width: 29%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: center;">Model</th>
<th style="text-align: center;">Tone Generator</th>
<th style="text-align: center;">CPU</th>
<th>Storage</th>
<th style="text-align: center;"># of parts</th>
<th style="text-align: center;"># of polyphony (‘voices’)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: center;">SC-55</td>
<td style="text-align: center;">TC24SC201AF-002 (PCM Custom)</td>
<td style="text-align: center;"><a href="https://en.wikipedia.org/wiki/H8_Family">H8/532</a></td>
<td>256K SRAM*2, Wave ROM*3, EPROM, CPU has RAM and ROM built-in</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">24</td>
</tr>
<tr class="even">
<td style="text-align: center;">SC-88</td>
<td style="text-align: center;">MBCS30109 (Custom Sound Generator) ‘XP’</td>
<td style="text-align: center;"><a href="https://en.wikipedia.org/wiki/H8_Family">H8/510</a></td>
<td>EPROM/Mask ROM, SRAM*2, Wave ROM*4, DRAM*2</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="odd">
<td style="text-align: center;">SC-88Pro</td>
<td style="text-align: center;">RA01-005 (Custom Sound Generator) ‘XP3’</td>
<td style="text-align: center;"><a href="https://en.wikipedia.org/wiki/H8_Family">H8/510</a></td>
<td>EPROM, SRAM*2, Wave ROM*5, DRAM*3</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="even">
<td style="text-align: center;">SC-8850</td>
<td style="text-align: center;">2*RA09-002 (Custom) ‘XP6’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7010/sh7014.html">SH7017</a></td>
<td>64KB System ROM, 8M System Flash, 256K SRAM (USB controller), 2*4M DRAM (EFX effects + System), 16M Data ROM or Flash, 2*128Mbit Wave ROM, 2*4M DRAM (XP effects), 256k SRAM (framebuffer)</td>
<td style="text-align: center;">64</td>
<td style="text-align: center;">128</td>
</tr>
<tr class="odd">
<td style="text-align: center;">SC-8820</td>
<td style="text-align: center;">RA09-002 (Custom) ‘XP6’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7010/sh7014.html">SH7017</a></td>
<td>64KB System ROM, 256K SRAM (USB controller), 16M Data ROM or Flash, 2*4M DRAM (EFX effects + System), 128Mbit+164Mbit Wave Rom, 4M DRAM (XP effects)</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="even">
<td style="text-align: center;">JV-1080</td>
<td style="text-align: center;">MBCS30109B (XP Chip) ‘XP’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7030/sh7032.html">SH7034</a></td>
<td>CPU has 64KB Program Flash + 4KB SRAM built-in, 512kbit SRAM, 1Mbit DRAM, 8Mbit Data ROM, 2*1M DRAM (XP effects), 4*Wave ROM</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="odd">
<td style="text-align: center;">JV-2080</td>
<td style="text-align: center;">TC170C200AF-005 (TG) ‘XP’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7030/sh7032.html">SH7034</a></td>
<td>CPU has 64KB Program Flash + 4KB SRAM built-in, 2*DRAM, DRAM (XP effects), DRAM (LCD framebuffer), DRAM, SRAM, ROM or Flash</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="even">
<td style="text-align: center;">XV-5080</td>
<td style="text-align: center;">2*TC223C660CF-503 (RA08-503) ‘XV’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7040/sh7040.html">SH7042</a></td>
<td>2*1Mbit SRAM, 256kbit (LCD framebuffer), 2*16Mbit (DRAM), 16Mbit Flash, 2*16Mbit DRAM (XV effects), 2*128Mbit Wave ROM</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">128</td>
</tr>
<tr class="odd">
<td style="text-align: center;">XV-5050</td>
<td style="text-align: center;">TC223C660CF-503 (RA08-503) ‘XV’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7010/sh7014.html">SH7016</a></td>
<td>8Kbit EEPROM, 32Mbit Flash, 16Mbit DRAM, 16Mbit DRAM (XV effects), 2*128Mbit Wave ROM</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="even">
<td style="text-align: center;">MC-909</td>
<td style="text-align: center;">TC223C660CF-503 (RA08-503) ‘XV’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7700/sh7706.html">SH7706</a> @ 128MHz</td>
<td>2*64Mbit SDRAM (system), 16Mbit Flash (program), 256Mbit Flash (program, user), 16Mbit DRAM (external effects RAM), 4Mbit DRAM (XV effects), 2*64Mbit Wave SDRAM, 128Mbit Wave ROM</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">64</td>
</tr>
<tr class="odd">
<td style="text-align: center;">SD-80</td>
<td style="text-align: center;">2*TC223C660CF-503 (RA08-503) ‘XV’</td>
<td style="text-align: center;"><a href="https://www.renesas.com/us/en/products/microcontrollers-microprocessors/superh/sh7700/sh7706.html">SH7706</a></td>
<td>16Mbit Flash, 2*16Mbit SDRAM, 2*16Mbit EDO DRAM, 2*Wave ROM</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">128</td>
</tr>
</tbody>
</table>
</div>
<h3 id="tocanch19" class="tvis">Chart B</h3>
<div class="collapse" data-caption="List of integrated circuit chips on SD-80 main board">
<p>Follow the link in the first column for a board photo with that chip visible. Sorry for the shaky photo and poor depth of field.</p>
<table>
<tbody><tr>
<th>
Label
</th>
<th>
Engravment
</th>
<th>
Remark
</th>
</tr>
<tr>
<td>
IC 1
</td>
<td>
62292 361
</td>
<td>
(8-pin) Unknown
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC2.jpg">IC 2</a>
</td>
<td>
6417706 SH3 BC13008 133 0413
</td>
<td>
176-pin QFP, SH7706 CPU
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC3.jpg">IC 3</a>
</td>
<td>
LH28F 160BJE-BTL80 SHARP JAPAN 0428 7xN
</td>
<td>
Flash Memory (16Mbit)
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC4.jpg">IC 4, 6</a>
</td>
<td>
SANYO LC381616IET-70 KZA7G0CD1 0042
</td>
<td>
SDRAM (16Mbit)
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC2.jpg">IC 5</a>
</td>
<td>
‘H5’ or ‘115’ (illegible)
</td>
<td>
(5-pin) Unknown
</td>
</tr>
<tr>
<td>
IC 7
</td>
<td>
4D46 LV 00A
</td>
<td>
NAND Gate
</td>
</tr>
<tr>
<td>
IC <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC2.jpg">8</a>, <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC27.jpg">20, 22~25</a>
</td>
<td>
4C1Y LV 245A
</td>
<td>
Bus Transceiver
</td>
</tr>
<tr>
<td>
IC 9, <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC27.jpg">11</a>
</td>
<td>
F P42AB VT245A
</td>
<td>
8-bit Transceiver
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC27.jpg">IC 10, 12</a>
</td>
<td>
0431H LVXC3245
</td>
<td>
Configurable 8-bit Transceiver
</td>
</tr>
<tr>
<td>
IC 13
</td>
<td>
VHC T139A 4 23
</td>
<td>
Dual 2/4 Decoder
</td>
</tr>
<tr>
<td>
IC 14
</td>
<td>
‘H12’ or ‘H2’ (illegible)
</td>
<td>
(5-pin) Unknown
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_datecode.jpg">IC 15</a>
</td>
<td>
4D36 LV 04A
</td>
<td>
Hex Inverter
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_audio.jpg">IC 16</a>
</td>
<td>
4D16 LV 14A
</td>
<td>
Hex Schmitt-Trigger Inverter
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC17.jpg">IC 17</a>
</td>
<td>
Roland R02902867 137 352B100
</td>
<td>
I/O Processor? USB controller?
</td>
</tr>
<tr>
<td>
IC 18
</td>
<td>
VH3 139 4 24
</td>
<td>
Dual 2/4 Decoder
</td>
</tr>
<tr>
<td>
IC <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC19.jpg">19</a>, <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC27.jpg">27</a>
</td>
<td>
Roland R01455956 RA08-503 JAPAN 0330EAI F0032ZAC
</td>
<td>
Voice Generator + LED &amp; LCD Controller etc. (‘XV’)
</td>
</tr>
<tr>
<td>
IC 21
</td>
<td>
7WU04 4.F
</td>
<td>
Inverter (CMOS)
</td>
</tr>
<tr>
<td>
IC <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC26.jpg">26</a>, <a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC29.jpg">30</a>
</td>
<td>
HYUNDAI GM71C18163CJ6 0040 AG1 KOREA
</td>
<td>
EDO DRAM (16Mbit)
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC28.jpg">IC 28</a>
</td>
<td>
Roland R02678601 23C128L-529J 0224E7007
</td>
<td>
Wave ROM (128Mbit?) <a id="n16" href="#note16" class="note">[16]</a>
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_IC29.jpg">IC 29</a>
</td>
<td>
Roland R02678612 23C128L-535K 0222E7005
</td>
<td>
Wave ROM (128Mbit?)
</td>
</tr>
<tr>
<td>
IC <a href="https://filestorage.chrisoft.org/blog/img/SD-80_audio.jpg">31</a>, 35
</td>
<td>
4570 431
</td>
<td>
Regulator
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_audio.jpg">IC 32, 34</a>
</td>
<td>
PCM1716E 27ZDHFM
</td>
<td>
DAC
</td>
</tr>
<tr>
<td>
<a href="https://filestorage.chrisoft.org/blog/img/SD-80_audio.jpg">IC 33</a>
</td>
<td>
04 16H TC9271FS
</td>
<td>
Digital Audio Modulator/Transmitter
</td>
</tr>
<tr>
<td>
IC 36
</td>
<td>
A E
</td>
<td>
(3-pin) Unknown
</td>
</tr>
</tbody></table>
</div>
<h2 id="tocanch20" class="tvis">Verdict</h2>
<p>The SD-80, a product in Roland’s more budget-friendly Sound Canvas (Studio Canvas) line up, is a great sound module mainly focused at standards compliance at its time. In my opinion it’s the direct successor of the SC-8850, while the SD-90 is the direct successor of the SC-D70 (both are audio interfaces with a sound module integrated).</p>
<p>The Studio Canvas family is Roland’s first and last line up of sound modules that map nearly all instruments to the GM2 instrument map. While making the instrument mapping less confusing, this instrument mapping has its limitations. No later Roland sound module does the same thing.</p>
<p>Hardware wise, the SD-80 is extremely close to the XV-5080. But the SD-80 being a ‘Rompler’, its hardware capability is severely limited by Roland by matching them with worse wave ROM contents than its professional counterpart. This seems to be true across almost all professional and budget-friendly Roland synths in the 90s. (SC-88 has the same tone generator as JP-1080 (‘XP’), SC-88Pro has the same tone generator as JP-2080 (‘XP3’). SC-8850 and SC-8820 use a newer revision of the ‘XP’ chip (‘XP6’), which seems to be unused in a professional product.)</p>
<p>Roland no longer makes ‘romplers’ today. Due to their unique sounds, these canvases might become a collector’s item in the future.</p>
<h2 id="tocanch21" class="tvis">Things to do besides imitating ZUN</h2>
<p>The SD-80 does not like QMidiPlayer very much. So the first thing to do is quite clear.</p>
<p>Giving it a total makeup is the second thing on my bucket list. I’ll probably ditch the original top cover and front panel altogether and make some custom acrylic glass parts for it.</p>
<p>Porting Linux to it might be a very fun (also atrocious) thing to do. The internals of the SD-80 is capable of doing much more than what it does as a STUDIO Canvas. It’s got the same main processor as the MC-909, just think about the possibility out there (this is also the reason why I call it a ‘trapped beast’ in the title of this post). The only thing against this is that I am shy of any experience with this level of hardware hacking.</p>
<p>Setting up a web service where people upload their midi files and have them rendered with the SD-80 also sounds pretty cool. But I’m afraid I’ll receive something from Roland by then and it wouldn’t be fine for me. Is it really illegal to use a instrument on a time-sharing basis?</p>
<p>Seriously though if I could pull it off, I’ll probably add a donation button and buy more classic sound modules for the site. Eventually it will turn into an online museum for sound modules… screw it I’m talking utter nonsense again.</p>
<p>Also somehow extracting the waveforms and creating a instrument bank for HALion or Kontact is tempting. But the odds of being sued by Roland is even higher even though they did not explicitly disallow sampling their early products. To be honest I found it disturbing about the sampling restriction on these ‘unconventional’ instruments.</p>
<h2 id="tocanch22" class="tvis">Newer Roland sound modules?</h2>
<p>Newer Roland sound modules such as SonicCell and the latest INTEGRA-7 seems to maintain the compatibility with their original ‘XP’ synthesis engine to some extent – as they all support SRX expansion in a certain way. The synthesis engines are obviously improving over the years as Roland says the SRX expansion sounds built into INTEGRA-7 will sound a little different compared to earlier modules.</p>
<p>However, disappointment strikes as soon as I saw the ‘READ’ button on screenshots of the editor software for the INTEGRA-7. I felt Roland really need to make more use of the USB bandwidth: the presence of that button implies the editor software still can’t reflect the realtime status of the synthesizer. <a id="n17" href="#note17" class="note">[17]</a> This is a huge drawback of using a hardware synthesizer that Roland still fails to fix to this day.</p>
<p>Also, the INTEGRA-7 is super expensive for an amateur and Roland ended their budget <a id="n18" href="#note18" class="note">[18]</a> SOUND Canvas / STUDIO Canvas product line years ago. So no more Roland sound modules for me I guess.</p>
<h2 id="tocanch23" class="tvis">Trivia</h2>
<ul>
<li><p>A XML file in the SD-80 editor (Script/SD-80EditorScript.xml) contains patch list and wave list for all SRX expansion cards, confirming the fact that the editor is based on an editor for some other sound module with expansion slots.</p></li>
<li><p>There are two crystal oscillators on the main board of SD-80. X1 is a 24 MHz one and X2 is a 16.934 MHz one. Both are out of range of SH7706’s allowed external clock frequency (clock mode 0 has a input range of 25 MHz to 66.67 MHz, clock mode 1 has a input range 6.25 MHz to 16.67 MHz). MC-909, which has the same CPU as the SD-80, has a 16 MHz crystal as the CPU clock source and the CPU operates at 128 MHz. There’s also a 16.934 MHz crystal in the MC-909, which is tied to its tone generator (the same tone generator as the one inside SD-80, RA08-503 or ‘XV’). X2 in SD-80 is also very close to one of its tone generator chip. My blind guess is that the output from X1 in SD-80 goes through a frequency divider and the CPU operates at 96 MHz. XV-5050 also has a 16.934 MHz clock source tied to its XV chip. XV-5080 however doesn’t have a 16.935 MHz crystal directly tied to its XV chip, but rather a 11.2886 MHz one going through a 3:2 PLL producing a 16.9329 MHz clock.</p></li>
</ul>
<h2 id="tocanch24" class="tvis">If you want to learn more …</h2>
<ul>
<li><a href="http://www.gigadenza.co.uk/?page_id=5116&amp;all=1">Gigadenza</a>, owns multiple sound modules, including the latest INTEGRA-7.</li>
<li><a href="https://twitter.com/Romantique_Tp">Romantique Tp</a>, a Touhou music addict that I came across on Steinberg user forum.</li>
</ul>
If you spot a mistake or have anything you wish to share on this topic, please do not hesitate to drop me a message.
</article>
</div><br><hr>
		<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: Pulseaudio sucks a lot less compared to the old days, it even switch automatically between built in Intel HD Audio and external USB audio device when it’s plugged in / unplugged.<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: SD-90 doesn’t seem to have a non-zero modulation level according to its manual. Interesting.<br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: You can find the waveform list of SD-90/80 and XV-5080 online and do the comparison yourself.<br></span><span class="TText"><a id="note4" href="#n4">[4]</a>: ‘Piano 1 st.’ in TTS-1 is actually ‘St.Piano 1’ from STUDIO Canvas’ ‘solo’ set. TTS-1 doesn’t have a ‘key scale panning’ (this is XG terminology, which means ‘wide’ in Roland’s wordbook) piano preset.<br></span><span class="TText"><a id="note5" href="#n5">[5]</a>: The drum set mapping of Super Quartet is not GM compatible. It comes with a couple of sounds the STUDIO Canvas lacks.<br></span><span class="TText"><a id="note6" href="#n6">[6]</a>: This is a reasonable guess, see chart B below for details.<br></span><span class="TText"><a id="note7" href="#n7">[7]</a>: The SD-90 do have <em>almost</em> the same level of editability as the SD-80, which can be achieved with the use of an updated version of SD-80’s editor, however it seems that SD-90 can’t save user patches. The SD-20, on the other hand, never enjoy the same level of editability. (The SD-20 is probably still editable by sending system exclusive messages directly?)<br></span><span class="TText"><a id="note8" href="#n8">[8]</a>: One on each stereo channel.<br></span><span class="TText"><a id="note9" href="#n9">[9]</a>: Vibrato uses a separate LFO, so technically it’s three.<br></span><span class="TText"><a id="note10" href="#n10">[10]</a>: NRPN message setting expression to 100% on one device may set filter resonance to 100% on another. Imagine that.<br></span><span class="TText"><a id="note11" href="#n11">[11]</a>: I counted the instruments by turning the knob. The knob sometimes skips forward and backward, so there’s no way I count them accurately in a rush. I will probably make a complete patch list another day. UPDATE: the complete patch list could be found <a href="https://filestorage.chrisoft.org/blog/data/SD-80/SD80XGLiteInstList.ods">here</a> <br></span><span class="TText"><a id="note12" href="#n12">[12]</a>:  The problem found in QMidiPlayer can be solved by simply lowering buffer size. <br></span><span class="TText"><a id="note13" href="#n13">[13]</a>: In case you haven’t yet noticed, there are two of those chips on the board.<br></span><span class="TText"><a id="note14" href="#n14">[14]</a>:  <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/sh/kernel/cpu/sh3/clock-sh7706.c">https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/sh/kernel/cpu/sh3/clock-sh7706.c</a> <br></span><span class="TText"><a id="note15" href="#n15">[15]</a>: Data for all models except the SD-80 are from their service notes.<br></span><span class="TText"><a id="note16" href="#n16">[16]</a>: The text on this chip together with the next one suspiciously resembles the part number of XV-5080’s wave ROM chips, plus the 128 Mbit wave ROM chips found in SC-8850 and SC-8820. (SC-8850 has 2*128Mbit wave ROM, while SC-8820 has 128Mbit + 64Mbit. The part number of the 64Mbit wave ROM chip has a completely different naming scheme.)<br></span><span class="TText"><a id="note17" href="#n17">[17]</a>: I did not do much research on this and I could be completely wrong on this topic.<br></span><span class="TText"><a id="note18" href="#n18">[18]</a>: compared to their JV/XV products.<br></span></div>
		<div id="insanch" style="height:3em;"></div>
		<div id="footer" style="">
		<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
			<div style="text-align:center;" class="TText">
				Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
				<br>
				Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
			</div>
		</div>
		<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
		</div>
	</div>
	<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
		<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
			<div id="keyhint" style="margin-bottom:8px;"></div>
			<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
			<div style="height:2.25em;">
			<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
			<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
			</div>
		
	</div>


</div></body></html>