Z80-MBCの新ファームを試してみる

先日、Z80-MBCでPSGを鳴らした後、何気にZ80MBCの本家サイトをのぞいてみたら新しいファームウエア(S221116_R050720_Z80.ino)がリリースされていたようである。

ちなみにZ80-MBC2に手を出さないのは、I/Oが自由に使えなさそうだから。
回路図を見るとアドレスバスのA0だけがATMEGA32につながっていて、どうやってDMA転送とかI/O制御とかやっているのかわからない。

それはともかく新しいファームウエアではEEPROM4つで4ドライブ使えるようになったらしい。
元の構成ではEEPROMの容量が心許ない感じだったので早速試してみる。

まずはダウンロードしたファームウエアをそのままArduinoで焼いてみることにする。
シリアルの通信速度が変わっているので注意。
新しいファームでは、9,600bpsではなく38,400bpsなのでTeraTermの設定も直す。
起動してみた結果、全然使い物にならない。
CP/Mの起動が極端に重い。
DIRコマンドでファイル名1個づつ表示され非常に遅い。
MBASICを立ち上げようとしたら、固まってしまったかと思うくらい時間がかかる。
どうもディスクアクセスがうまくいってないようだ、

S221116_R050720_Z80.inoのソースをのぞいてみる。
どうもI2Cの通信速度もいじっているようだ。
ソースを見ると、I2Cの速度を800KHzに対応したようだが、肝心のEEPROMは400KHzまでしか対応していない。
何となく原因が分かったので、ソースを一部修正する。

修正前 145行目

// ------------------------------------------------------------------------------
//
// Hardware definitions for A110417 (Virtual Disk Module)
//
// ------------------------------------------------------------------------------

#define EEPROM_TWBR (((F_CPU/800000)-16)/2)	// set I2C rate

修正後

// ------------------------------------------------------------------------------
//
// Hardware definitions for A110417 (Virtual Disk Module)
//
// ------------------------------------------------------------------------------

//#define EEPROM_TWBR (((F_CPU/800000)-16)/2)	// set I2C rate
#define EEPROM_TWBR (((F_CPU/400000)-16)/2)	// set I2C rate

ついでにI/O部分も直す。
修正前 2330行目

      }
      DDRA = 0xFF;					// Configure Z80 data bus D0-D7 (PA0-PA7) as output
      PORTA = ioData;					// Current output on data bus

      // Control bus sequence to exit from a wait state (M I/O read cycle)

修正後

      }

      if (ioAddress <= 0x0f)
      {
        DDRA = 0xFF;                               // Configure Z80 data bus D0-D7 (PA0-PA7) as output
        PORTA = ioData;                            // Current output on data bus
      }

      // Control bus sequence to exit from a wait state (M I/O read cycle)

修正したら問題なく動くようになった。
82C55ボードをつないでI/Oの読み書きもできる。
早速、追加のEEPROMをつなげるための基板を作る。

秋月でEEPROMなど買ってきて基板を組む。
最初、Z80-MBCの基板上に組みたかったなと思ったが、よくよく考えるとこれなら必要に応じて取り換えて使うこともできるなと思いなおす。

増設したEEPROMはつないだだけでは認識されず、BASICでパッチをあてる必要がある。
パッチは、Z80-MBCのGitHubの中にあって、patchの下にpatch1.basがあるのでそれをMBASICで実行すればよい。

実行すると、C:とD:が見えるようになる。

見えるようになるのだが、どうもそのままでは使えないようだ。

何気にformat.comがリリースされているが、formatが必要なのかな。
pcgetやpcputもリリースされているし、まだ準備が必要らしい。

ちなみに、パッチはZ80-MBCを起動するたび毎回実行が必要なようだ。
なんとかならんのかな。
ググっても情報全然ない・・・

カテゴリー: Arduino, Z80-MBC, 電子工作 | コメントする

Z80-MBC(改)でPSGを鳴らしてみる

さて先日作ったPSGボードだが、Z80-MBC(改)で動くのではないかと思い早速試してみることにする。
Z80-MBCに82C55ボードつないだ時に作ったI/F基板なのだが、これはサンハヤトのポケコン基板に合わせたピンアサインになっている。
どういうことかというと奇数番号と偶数番号のピンが通常とは逆になっている。
一方PSGボードは通常のピンアサインにしている。
よって普通のフラットケーブルのコネクタは使えないため、奇数と偶数で逆転したケーブルをこさえた。
ケーブル作るのに2回ぐらい失敗して3回目で何とかできた。

写真ではケーブルが斜めってるように見えるが、ケーブルが曲がっている関係でそう見えるだけで、実際はそこまで斜めってはいない。

さてつないで実際鳴らすためには、プログラムの準備が必要。
BASICでのテストプログラムが動くことを確認。
実際に曲も鳴らしてみる。
PC-E200/PC-G8xxシリーズでは、マシン語は0x0100から利用できることになっている。
CP/MやMSX-DOSのCOMファイルは0x0100にロードされこの番地から実行されることになっている。
すなわち0x0100から始まっているものなら何ら手を加えることなく実行できる。
あとはどうやってプログラムを転送するかである。

CP/MのEDコマンドでテキストエディタを起動。
TeraTermでHEXファイルを転送してHEXファイルを作る。
次にLOADコマンドでHEXファイルからCOMファイルに変換。
最後に生成したCOMファイルを実行。

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS
A>
A>ed psgtest.hex

NEW FILE
     : *i
    1:  :10010000CD1501CD8801C9F5D5ED5B01781B7BB21A
    2:  :1001100020FBD1F1C921350106100E0079D3247ED0
    3:  :10012000D325230C10F63E603204783E0332067865
    4:  :10013000AF320A78C900010001000200F810101067
    5:  :100140000800600100D5F57AD3247BD325F1D1C90D
 :
 :
 中略
 :
 :
   61:  :1004C0001B323B128F313A0622323B128F313A06F1
   62:  :1004D00027323B18258F8F1824344012892B380679
   63:  :1004E0002430391821218F1822323B128F293606E9
   64:  :0B04F000172B371827278F1A8C02FFEC
   65:  :00000001FF
   66:  ←[Ctrl]+[Z]押す
     : *e

CP/M WARM BOOT...

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS : PSGTEST  BAK : PSGTEST  HEX
A>
A>load psgtest.hex

FIRST ADDRESS 0100
LAST  ADDRESS 04FA
BYTES READ    03FB
RECORDS WRITTEN 08

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS : PSGTEST  BAK : PSGTEST  HEX
A: PSGTEST  COM
A>
A>psgtest

A>

さて実際に試したらすんなり音楽が鳴ってくれた。
さてとこの後どうするかな。

あと、COMファイルをHEXファイルに変換するプログラムはないものか。
FabGLのCP/MエミュレータのファイルをZ80-MBCで実行してみたい。
BASICで簡単に作れそうだけど面倒だ。

カテゴリー: CP/M, Z80-MBC, 電子工作 | タグ: , | コメントする

ポケコンのシステムバスコネクタ

ポケコンから出ているシステムバスの40Pコネクタだが、現在は適合するコネクタがない。

さて自分ははるか昔に買った基板やコネクタがあったのでそれを使えたが、新たに入手することはできない。
PC-G850VSを手に入れた時、代替となるコネクタの候補をいくつか買ってあったが確認することができなかった。
今回PSGボードを作ったので、ついでに買ったコネクタについて試してみた。
結果、aitendoのエッジコネクタ(1.27/40P) [ECN50A220PV]が意外と悪くないと思った。

ポケコン側の基板が薄く、若干ゆるゆるなので気を付けないといけない感じかな。

同じようなエッジコネクタなら使えそうな気はするが、物によってはポケコン側のパターンが短めになっており、接触部分が届かずに使えないものもあるようだ。
aitendoで手に入れたこれも在庫が少ない(12/25現在30点)が、コネクタは根気強く探してみるしかないかな。

カテゴリー: ポケコン, 電子工作 | コメントする

続続続・ポケコン活用研究のPSGの記事

ポケコンとPSGのタイミングについて追記。
Z80側のタイミングについても検討していたわけだが、74HC138に/IORQが使われている。
その結果、元の回路ではチップセレクト代わりの/A9が非選択状態になってからA0~A1(バスコントロールのBDIR,BC1)が変更される状態。
非選択状態でバスコントロールが変更されるためレジスタ指定機能が動かない。

MSXはどうなっているのかなと調べてみたら、MSX Datapack wiki化計画ってところに回路図があった
やっぱりちゃんとタイミングを考えてる回路になっていた。

さて、基板ができただけで終わっても面白くないので、プログラム例を実際に動かしてみることにした。
打ち込むのは面倒なのでスキャナのOCR機能を使って取り込んでみたが・・・

文字化けがひどいやorz

一応取り込むことはできたので、テキストを成型して化けてる文字の修正を行う。
特に多かったのが「H」が「11」になっていたり、「0(ゼロ)」が「O(オー)」になっていたり。
他には「P」が「F」になったり「HL」が組み合わさって別の漢字になっていたり・・・
まあなんとか見直して修正していったりしたわけだが。

それでもいきなり実行できるわけもなく、実際にアセンブラに通ってエラーが出ないことを確認したいと思った。
さてポケコンでアセンブラしてもエラーがどこで出てどこを修正すべきか小さい画面では確認しづらい。
Windowsで動くZ80のクロスアセンブラでいいものないかと探したがなかなかいいものは見つからず。
他になにかいいものはないかと思ったら目の前にはMSXが。
MSXでM80を動かせばいい、ということで実行してみる。

やはり、修正漏れがあった。
M80でアセンブルした結果がファイルに保存できるのもありがたい。
案の定「0(ゼロ)」が「O(オー)」の違いがたくさん。
テキストエディタじゃわかりにくいわ。
ほかにも、EQUでラベル定義で数式が使えないっぽいので、そこは直接数値を設定。
M80でできないのではポケコンでも無理だろう。

そうやってエラーをつぶして最終的にエラーがない状態までもっていく。
エラーがなくなった状態のPRNファイルがこちら→PSG.PRN_.txt
WordPressでアップロードしたらなんで「_」がつくのか?
アセンブラできたので今度はL80でHEXファイルを作りたいと思ったが、使い方が思い出せん。
ググってもやっぱりわからん。
まあアセンブルできたので、全角のコメントは削除してポケコンでアセンブルすることにする。
そしたら、今度はラベルの文字数がオーバーしているため4か所ぐらいでエラー。
こちらは文字数をなおしてアセンブルしなおして無事実行できる状態に。

知らない曲だったので、音程が違っているのかテンポが速いのかはよくわからなかった。
音階データは元のままなのでPSGを4MHzで動かす前提になっているので、ディップスイッチを操作して4分周の3.579545MHzに設定するが、やっぱり元の曲が分からないので音程がどうなのかわからなかった。
一応クロックで音程は確かに変わっていたのは確認できた。

次に、PC-G803とPC-G850VSで比べてみたら、やっぱりPC-G850VSの方が倍速で再生された。

さてここまで確認出来たら速度調整をどうするか考えて、音程データをMSX仕様に直して知っている曲でも鳴らしてみるか。
文章だけじゃつまらないから動画で上げたいところだけど、動画の編集って面倒だな。
まう何年もやってないし。

カテゴリー: PC-G803, PC-G850VS, ポケコン, 電子工作 | タグ: , | コメントする

続続・ポケコン活用研究のPSGの記事

やっと音を鳴らすことができた。
いろいろ試しながら、最終的にできた回路。

若干の不満は残っているものの想定通りの動作はするようになった。

回路の挙動を確認するため、いつものI/Oボードに追加で作ったスイッチボード、何年か前のトラ技の付録基板のロジックチェッカを駆使して動作確認をする。
ちゃんとしたロジアナが欲しい。

最初にできた回路をチェックして、回路を変えたり追加したりするたびこんな感じで挙動の確認。
回路の挙動を見ながらデータシートの方もチェックする。
AY-3-8910のデータシートのタイミングの図。

元の回路は、「H」「L」の信号だけ見ればいくつか間違いがあるものの理屈はあっているようだが、タイミングまで考慮して回路を見ると動くかどうか怪しい感じ。
いろいろ試しながら回路を検討した結果、冒頭の回路図に至る。

細かいところは飛ばして、大まかにいうと、データの読み込みタイミングに影響がありそうなので、74HC245は撤去。
チップセレクト代わりの/A9はアドレス切り替わりとAY-3-9810のバスコントロール(BDIR,BC1)の切り替わりタイミングが重なってうまく動かないようなので、/A9はGND固定。
代わりに、アドレスが指定されていないタイミングではバスコントロールはINACTIVEとなるように74HC02を追加。
INACTIVE状態ではデータバスはハイインピーダンスとなるので、74HC245を撤去したことでの影響はなし。
クロックは手抜きするため多出力オシレータにおきかえ。
16MHzを4分周すれば4MHzで本の通りの音程データでいけるけど、秋月で売ってなかったので、秋月にあった14.31818MHzのものを8分周してMSXの仕様に合わせた。
ICソケットを使っているので同シリーズの違う周波数に変えられるし、ディップスイッテで設定を変えられるのでクロック周波数を変えて試すことができる。

74HC02をうまく使えば74HC04も不要になりそうだが、取り外しが面倒なのと検討用に追加した回路で74HC04を使っているのでこのままにした。

さて、実際にポケコンにつないで音を鳴らしてみる。

アセンブラなんて何年ぶりだろう。20年以上前か。
ポケコン活用研究1に載っているリストを打ち込んで音が鳴ることを確認。

 
 	ORG	100H
START:	LD	IX,R00
	LD	B,16
	LD	C,0
FLG:	LD	A,C
	OUT	(24H),A
	LD	A,(IX)
	OUT	(25H),A
	INC	C
	INC	IX
	DJNZ	FLG
	RET
R00:	DB	0DEH
R01:	DB	02H
R02:	DB	7BH
R03:	DB	01H
R04:	DB	3FH
R05:	DB	01H
R06:	DB	00H
R07:	DB	0F8H
R08:	DB	09H
R09:	DB	09H
R0A:	DB	08H
R0C:	DB	90H
R0D:	DB	01H
R0E:	DB	00H
R0F:	DB	00H

レジスタの値をいろいろ変えて動作を確認できるようにBASICでも試してみる。

 
10 PRINT "PSG TEST"
20 RA=0:RD=0
30 PRINT "Now RegAdd=";RA
40 INPUT "RegAdd  ";RA
50 INPUT "RegData ";RD
60 PRINT "OUTPUT RA=";RA;" RD=";RD
70 OUT &H24,RA
80 OUT &H25,RD
95 FOR I=0 TO 500:NEXT
100 PRINT "READ "; INP &H26
110 PRINT
120 GOTO 30

たしかPC-G801~803あたりまではBASICで直接I/Oアドレス指定の入出力はできずマシン語の準備が必要だったはず。
どのタイミングか知らないけどBASICからI/Oできるようになって楽になったものだ。
BASICのプログラムは、RegAddでレジスタを指定して、RegDataで値を入力。
それをPSGに送って、少し間をおいてPSGから値を読み込むようになっている。
いろいろ値を変えて音が変化するのを確認できる。

最後に出来上がった基板。
ブレッドボードで試作してから基板に組めばもう少しきれいにできそうなのだが、同じものを2回も組むのは面倒なので直接ユニバーサル基板に組む。
手持ちのブレッドボードでは間に合わなかったてのもあるけど。

結果、74HC245の跡地にジャンパー8本。
74HC02の追加スペースがなかったので、小型基板を使って無理やり実装。

まあ何とか音を鳴らすことができたので、ポケコン活用研究1に載っているサンプルプログラムを入れてみたいところだが、打ち込みが面倒だな。
音階データをMSX仕様に直さないといけないけど、そこはググってデータがあったのでそのデータに置き換えれば良さそう。
問題は当時のポケコンは3MHzで動いていたけど、PC-G850VSは8MHzで動いていること。音の長さをどうやって調整するか。
PC-G803を手に入れたから、そっちで動かせばいいか。

カテゴリー: ポケコン, 電子工作 | タグ: , | コメントする

ポケコンPC-G803をヤフオクで手に入れた

ヤフオクで、ポケコンPC-G803が安く出ていたので、落札してみた。

PC-G803は高校時代に使っていたポケコンなのだが、『ラジオの製作』でやっていた工作コンテストに出したところ、ポケコンだけ戻ってこなかったのだ。
確か当時問い合わせたのだが結局戻らずじまいで、それより以前に先生に頼んで個人的に購入したPC-G813を以降使うことになった。

それはともかくとして、懐かしさと格安さから落札に至ったのだが、これだけ古いとすんなりと動いてはくれない。
ヤフオクのページでは通電チェックはしてあると書いてあったが電源はいらず。
電池が入っていないかヘタレているのだろうと思い、新しい電池を用意して電池の蓋を開けてみる。
電池が入っていたので入れ替えてみたところ、MEMORY CLEAR O.K.?(Y/N)の画面が。
Yキーを押してALL RESETの画面になってキーを押すが、ALL RESETの画面のまま先に進まない。
どうもキーを押して反応するキーと反応しないキーがあるようだ。
ということで、分解してキーの裏側にアルミテープを小さく切って張り付けていく。

ちまちま切って貼って切って貼ってを繰り返していたら2時間ぐらいかかってた。
アルファベットキーだけでなく関数キーやテンキーにもアルミテープを張って仮組してキーの反応を確認。
少し押し方に気を付けないといけないキーもあるが、おおむね反応してくれるようになった。

さてここで本題。
これを手に入れたらやりたかったことがある。
SHARP PC-G801シリーズのRAMを増設するを参考にRAMを増設すること。

完全に蓋をする前にRAMを交換することにする。

・・・
・・・・・・
・・・・・・・・・

件のサイトの基板の写真と全然違うじゃねーか。
RAMを挟んで左側はサイトの写真そっくりだが、右側がPC-G801のパターンのようだ。
右上の0Ω抵抗の位置を変えればいけそうな気がしたので、試しにRAMを換装して0Ω抵抗の位置を変えてみたが電源はいらず。
元の位置に戻して、いったん取り外したRAMに戻して、元の状態に戻ったのを確認。
容量は元のまま無駄に時間を費やしてしまった。

ロットによって基板のタイプが違うようだが、その辺の情報が全然ないなぁ・・・

カテゴリー: PC-G803, ポケコン, 電子工作 | コメントする

続・ポケコン活用研究のPSGの記事

ポケコンでPSGを鳴らすべく、件の回路図を元に手直しして実験してみる。
しかしうまくいかないので、よくよく回路図をみると致命的な間違いを見つける。

ポケコンから出ているIORESETは通常時はLレベルで、リセット時にHになる。
一方PSGの/RESETは通常時はHレベルで、リセットするときにLにする。

これじゃ動くわけないと思い、手直しをしてみる。
しかしやっぱり動かない。

この本をみてPSG鳴らそうとした人で、うまくいった人いるのかな。
今でこそデータシートなんかはググれば容易に見つけられるけど、当時はというと自分は高校生ぐらいのころ。そう簡単に情報は手に入らない。
そんな時代にこの中途半端な回路図でうまく組み立てられたのだろうか。

もうしばらく飽きるまで粘ってみるか。

 

カテゴリー: ポケコン, 電子工作 | タグ: , | コメントする

MSXに8255をつないでみる

高校生か社会人になって間もないころだったと思うが、MSXに8255をつないでみたいと思ったが、カートリッジの基板が小さいのと回路図が入手できなかったので断念した覚えがある。

さて、MSXを再度手に入れて何か作れないかなと思い、それでは8255をつないでみようと思った。
さて回路はどうしようかなと思い、ネットで調べたり、国会図書館で電子データを適当に見てたら偶然見つけたりしたものを検討して最終的にポケコンの82C55の回路を流用して手を加えたものにした。

回路は決まって実際にどうやって組もうかだが、MSXのカートリッジに適合した基板は今は入手できない。
どうも同人的に出してる基板はあるらしいが、入手性に難がありそう。
そう思いながら店を眺めていたらちょうどいいものを見つけた。
 
カードリッジのサイズに合わせて基板を加工して、コネクタを強引に半田付け。
これを使えば基板のサイズを気にせず回路が組めるようになる。

で、8255の基板を組む。
ちょっと基板大きめだったかな。
でも、電源用のパターンがあるものだとこのサイズの基板になってしまった。
 
ケーブルの曲がり角の部分に若干の不満が残るが、まあ基板のサイズに余裕があるので配線はまずまずといったところ。

MSXのカートリッジコネクタをつないだところ。

思ったより奥まっててケーブルコネクタがちょうど頭が出るか出ないかといったところ。

MSXを起動して動作確認。

IOアドレスはポケコンの回路を流用してあるので、0x20~0x23になっている。
なので、Z80-MBCで確認したBASICのプログラムをまるまる使える。

 
10 out &h23,&h89
20 for y=0 to 255
30  out &h21,y
40  for x=0 to 255
50   out &h20,x
60   a=inp(&h22)
70   print a
80  next
90 next


実際動かしたところ。
A,Bポートは出力に指定して、0~255まで順に出力して、Cポートは入力にしてスイッチの状態を読み取るのを確認。
写真じゃわかりにくいけど、その通りに動いてくれた。

さて、これができればいろいろ遊べそうだけど、次に作りたいものがあるのでそれができてからかな。

カテゴリー: MSX, 電子工作 | コメントする

ポケコン活用研究のPSGの記事

ポケコンでPSGを鳴らしてみたいと思い、あらためてポケコン活用研究1を読んでみる。

先日の回路図を改めて眺めて調べてみる。
I/Oのアドレスは以下の通り。

24H…PSGレジスタ指定
25H…レジスタへデータ書き込み
26H…レジスタからデータ読みだす
27H…PSG非選択

・・・なんかおかしくね?
74HC138はY2じゃなくてY4を使うべきでは?
この回路じゃレジスタのデータ読めないのでは?
あと24HC245のCPU側がハイインピーダンスにならないから、下手すると問題おきそう。
これはいろいろ手直さないとならないか。

これちゃんとチェックしたうえで本を書いたのかなぁ・・・

カテゴリー: ひとりごと, ポケコン, 電子工作 | タグ: , | コメントする

AY-3-8910(互換IC)で遊んでみる

aitendoで移転に伴う売り尽くしセールを行っているとのことで、行ってみる。
適当に眺めてみてPSG音源があったので買ってみる。

AY389C10というIC。
ググってみたが情報が出てこない。
しかしよく調べてみるとどうやらAY-3-8910というICの互換品らしいことが分かった。

さてこのAY-3-8910だが、MSXで使用されているICらしい。
気軽に音を出したいだけならMSXを触ればいい。
だけど実物のICがあるなら自分でいじってみたい。
そして『ポケコン活用研究1』という本にも製作例が載っていた。

しかし中途半端な回路図。
作って作れなくはないが、いまいち使い方やプログラミングのイメージがわかない。
ほかにもっとわかりやすいものは無いかと調べてみると、『初歩のラジオ』83年6月号に製作記事があることが分かった。
『初歩のラジオ』は国会図書館で電子化されているので、国会図書館もしくは国際子ども図書館で印刷することができる。

製作記事を見てみると、スイッチで設定しながら音を出せるようなので、どのように設定するとどのように音が出るのか試せるのでちょうど良さそうだった。
必要な記事を印刷してもらって、実際に作ってみることにする。

プリント基板のパターン図も載っていたが、印刷の関係で実寸ではなくなっている。
しかし、パターンを見る限り単純でわざわざ基板を作るまでもない内容だったのでユニバーサル基板で組むことにする。

パターン図をもとに部品を配置し配線を行う。
余ったスペースにスイッチやボリューム、コネクタを配置。
配線に間違いないことを確認して音を出してみる。

製作記事の文章で書かれた操作方法を試してみたが初めはうまく音が出ない。
いまいちわかりにくいので手順をもとにレジスタの設定内容を書き出してレジスタ構成を確認しながら試したら今度はうまく音が出た。
国会図書館で別件で何となく読んでみた『MSX2テクニカル・ハンドブック』にPSGの操作方法が載っていてそれが分かりやすかったので、こちらも複写して参考にした。
さて実際に触ってみてイメージがつかめたので、今度は何か作ってみるのもありか。

で、実際のICなのだが、ど真ん中に89C10とだけ書かれていてどこが作ったのかかかれていない実に怪しいICである。

カテゴリー: 電子工作 | タグ: , | コメントする