秋月電子のシリアルコピーマネージャの中身を覗く。

ずいぶん前に買った秋月電子のSCMSマネージャーキットのPAL(プログラマブルロジック)をSuperPro/Zで読みだしたヒューズファイルが出てきた。1999年の法改正でコピーガード外し装置の販売や譲渡、ガードを外そうとする行為が違法扱いになったのでキットは売られなくなったが、今となってはPCについてるデジタル入力なりCD-ROMドライブを使えば何の苦労もなくデジタルコピーが手に入ってしまうからそもそもね。

このキットに使われているプログラム済みPLDはMANSELLのラベルが貼られたPALCE16V8Qと、PIQUETのラベルが貼られたPALCE16V8Qの二個。ピケとかマンセルとかなんか気取ってる。ピケなんてフランス語からはピケ8しか連想されない。当時はPLD、プログラマブルロジックって言うより単にPALとかGALって言ったほうが通りが良かった気がする。

MANSELL.jed

MODEL      : SUPERPRO
 TITLE      : config.dia
 DD PALCE16V8Q*
 DM AMD*
 QP20*
 QF002194*
 QV0*
 F0*
 L000000 11111111111011111111111101111111*
 L000032 11011111111111111111111110111011*
 L000064 11101111111111111111111110110111*
 L000096 10111111111111111111111111111111*
 L000128 00000000000000000000000000000000*
 L000160 00000000000000000000000000000000*
 L000192 00000000000000000000000000000000*
 L000224 00000000000000000000000000000000*
 L000256 01010111110111011110110111101110*
 L000288 01101011111011101101111011011101*
 L000320 00000000000000000000000000000000*
 L000352 00000000000000000000000000000000*
 L000384 00000000000000000000000000000000*
 L000416 00000000000000000000000000000000*
 L000448 00000000000000000000000000000000*
 L000480 00000000000000000000000000000000*
 L000512 11111111111111101111111101111111*
 L000544 11011111111111111111111110110111*
 L000576 11101111111111111111111110111011*
 L000608 10111111111111111111111111111111*
 L000640 00000000000000000000000000000000*
 L000672 00000000000000000000000000000000*
 L000704 00000000000000000000000000000000*
 L000736 00000000000000000000000000000000*
 L000768 10111111111111111111111111111111*
 L000800 11111111111111111110111111111111*
 L000832 00000000000000000000000000000000*
 L000864 00000000000000000000000000000000*
 L000896 00000000000000000000000000000000*
 L000928 00000000000000000000000000000000*
 L000960 00000000000000000000000000000000*
 L000992 00000000000000000000000000000000*
 L001024 10111111111111111111111111111111*
 L001056 11111111111111111111111011111111*
 L001088 00000000000000000000000000000000*
 L001120 00000000000000000000000000000000*
 L001152 00000000000000000000000000000000*
 L001184 00000000000000000000000000000000*
 L001216 00000000000000000000000000000000*
 L001248 00000000000000000000000000000000*
 L001280 10111111111111111111111111111111*
 L001312 11111111111111111111111111101111*
 L001344 00000000000000000000000000000000*
 L001376 00000000000000000000000000000000*
 L001408 00000000000000000000000000000000*
 L001440 00000000000000000000000000000000*
 L001472 00000000000000000000000000000000*
 L001504 00000000000000000000000000000000*
 L001536 10111111111111111111111111111111*
 L001568 11111111111111111111111111111110*
 L001600 00000000000000000000000000000000*
 L001632 00000000000000000000000000000000*
 L001664 00000000000000000000000000000000*
 L001696 00000000000000000000000000000000*
 L001728 00000000000000000000000000000000*
 L001760 00000000000000000000000000000000*
 L001792 10111111111111111111111111111111*
 L001824 11110111111111111111111111111111*
 L001856 00000000000000000000000000000000*
 L001888 00000000000000000000000000000000*
 L001920 00000000000000000000000000000000*
 L001952 00000000000000000000000000000000*
 L001984 00000000000000000000000000000000*
 L002016 00000000000000000000000000000000*
 L002048 00000000111111110011001000110010*
 L002080 10100010110010100111001010000010*
 L002112 10110010000000001111111111111111*
 L002144 11111111111111111111111111111111*
 L002176 111111111111111101*
 C55DB*

PIQUET.jed

MODEL      : SUPERPRO
 TITLE      : config.dia
 DD PALCE16V8Q*
 DM AMD*
 QP20*
 QF002194*
 QV0*
 F0*
 L000000 00000000000000000000000000000000*
 L000032 00000000000000000000000000000000*
 L000064 00000000000000000000000000000000*
 L000096 00000000000000000000000000000000*
 L000128 00000000000000000000000000000000*
 L000160 00000000000000000000000000000000*
 L000192 00000000000000000000000000000000*
 L000224 00000000000000000000000000000000*
 L000256 00000000000000000000000000000000*
 L000288 00000000000000000000000000000000*
 L000320 00000000000000000000000000000000*
 L000352 00000000000000000000000000000000*
 L000384 00000000000000000000000000000000*
 L000416 00000000000000000000000000000000*
 L000448 00000000000000000000000000000000*
 L000480 00000000000000000000000000000000*
 L000512 00000000000000000000000000000000*
 L000544 00000000000000000000000000000000*
 L000576 00000000000000000000000000000000*
 L000608 00000000000000000000000000000000*
 L000640 00000000000000000000000000000000*
 L000672 00000000000000000000000000000000*
 L000704 00000000000000000000000000000000*
 L000736 00000000000000000000000000000000*
 L000768 00000000000000000000000000000000*
 L000800 00000000000000000000000000000000*
 L000832 00000000000000000000000000000000*
 L000864 00000000000000000000000000000000*
 L000896 00000000000000000000000000000000*
 L000928 00000000000000000000000000000000*
 L000960 00000000000000000000000000000000*
 L000992 00000000000000000000000000000000*
 L001024 00000000000000000000000000000000*
 L001056 00000000000000000000000000000000*
 L001088 00000000000000000000000000000000*
 L001120 00000000000000000000000000000000*
 L001152 00000000000000000000000000000000*
 L001184 00000000000000000000000000000000*
 L001216 00000000000000000000000000000000*
 L001248 00000000000000000000000000000000*
 L001280 11111111111111111111111111111111*
 L001312 11111111011111111111111111111111*
 L001344 00000000000000000000000000000000*
 L001376 00000000000000000000000000000000*
 L001408 00000000000000000000000000000000*
 L001440 00000000000000000000000000000000*
 L001472 00000000000000000000000000000000*
 L001504 00000000000000000000000000000000*
 L001536 11111111111111111111111111111111*
 L001568 10011111111101010110101101110111*
 L001600 11110111111101010110111101110111*
 L001632 00000000000000000000000000000000*
 L001664 00000000000000000000000000000000*
 L001696 00000000000000000000000000000000*
 L001728 00000000000000000000000000000000*
 L001760 00000000000000000000000000000000*
 L001792 11111111111111111111111111111111*
 L001824 10100111110111111111111111111101*
 L001856 10011001111111111111101111111101*
 L001888 10011011111011111111101111111101*
 L001920 01010110110111111111011111111101*
 L001952 10100111111111111111101111111110*
 L001984 00000000000000000000000000000000*
 L002016 00000000000000000000000000000000*
 L002048 00000000111111111111111100101010*
 L002080 10100010101010101000101010010010*
 L002112 00001010111111111111111111111111*
 L002144 11111111111111111111111111111111*
 L002176 111111111111111111*
 C3444*

jed2eqnというツールでもうちょっと見やすいものに変換した。

; JED2EQN -- JEDEC file to Boolean Equations disassembler (Version V063)
 ; Copyright (c) National Semiconductor Corporation 1990-1993
 ; Disassembled from MANSELL.jed. Date: 4-9-111
 ;$GALMODE REGISTERED
 chip MANSELL GAL16V8
 CLK=1 i2=2 i3=3 i8=8 i9=9 GND=10 /OE=11 rf12=12 rf13=13 rf14=14 
 rf15=15 rf16=16 rf17=17 ro18=18 rf19=19 VCC=20 
 @ues ff3232a2ca7282b2
 @ptd unused
 equations
 /rf19 := /rf17 * i8
     + rf19 * /i8 * /i9
     + /rf19 * /i8 * i9
     + /i2
 rf19.oe = OE
 /ro18 := i2 * rf19 * i3 * rf17 * rf16 * /rf15 * rf14 * /rf13 * /rf12
     + i2 * /rf19 * /i3 * /rf17 * /rf16 * rf15 * /rf14 * rf13 * rf12
 ro18.oe = OE
 /rf17 := /rf16 * i8
     + rf19 * /i8 * i9
     + /rf19 * /i8 * /i9
     + /i2
 rf17.oe = OE
 /rf16 := /i2
     + /rf15
 rf16.oe = OE
 /rf15 := /i2
     + /rf14
 rf15.oe = OE
 /rf14 := /i2
     + /rf13
 rf14.oe = OE
 /rf13 := /i2
     + /rf12
 rf13.oe = OE
 /rf12 := /i2
     + i3
 rf12.oe = OE

PIQUET.eqn

; JED2EQN -- JEDEC file to Boolean Equations disassembler (Version V063)
 ; Copyright (c) National Semiconductor Corporation 1990-1993
 ; Disassembled from PIQUET.jed. Date: 4-9-111
 ;$GALMODE MEDIUM
 chip PIQUET GAL16V8
 i1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 /i11=11 o12=12 
 o13=13 o14=14 f15=15 f16=16 f17=17 f18=18 o19=19 VCC=20 
 @ues ffff2aa2aa8a920a
 @ptd unused
 equations
 /o19 = gnd
 o19.oe = gnd
 /f18 = gnd
 f18.oe = gnd
 /f17 = gnd
 f17.oe = gnd
 /f16 = gnd
 f16.oe = gnd
 /f15 = gnd
 f15.oe = gnd
 /o14 = i4
 o14.oe = vcc
 /o13 = /i2 * i1 * i5 * f16 * i6 * /f15 * /i7 * i8 * i9
     + i3 * i5 * f16 * i6 * /f15 * i8 * i9
 o13.oe = vcc
 /o12 = /i2 * /i1 * i3 * f17 * /i11
     + /i2 * i1 * /i3 * f18 * /i7 * /i11
     + /i2 * i1 * /i3 * /f17 * /i7 * /i11
     + i2 * i1 * i3 * /f18 * f17 * i7 * /i11
     + /i2 * /i1 * i3 * /i7 * i11
 o12.oe = vcc

ABELはちょこっとだけやったけど実務はVerilogHDLだったし、Boolean Equationsという記述はもっと使ったことが無いから雰囲気で分からなくもないけどよくわからない。ASICやFPGAだけじゃなくてGALやPALもちゃんと使えるようにしておけばよかった。

ネットを探してみたけど、このキットのレビューは組み立てたよとか、44.1kHzも無限コピーできる方法があるよとか、そういう情報しか無くて技術的考察が無い。当時は内部の動作はブラックボックスとしてあまり気にしなかったけど、電子キットの本質は内部動作の理解にあるのだから、時間ができたらロジックを解析をしたい。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中