電源の状態が悪いのかとかも確認したが、電源のリップルはそれ程多くは無く、許容範囲だった。取り付けて、電源制御を加えてみたりもしたが、全く効果は無い。※秋月電子で入手出来る「DMG3415U」を使った。色々な解析モードが用意されており、それを使う事で、CMDピンで、ホストとスレーブ間でやりとりするデータ列を具体的に確認する事が出来る。※今まで、こんなに便利な機能なのに、あまり積極的に使っていなかった、他にも色々と解析が出来るので、これからは重宝すると思う。これで、確認した限りでは、問題無さそうで、2GのSDカードと8GのSDカードの違いは無さそうだった。カード関係の正規資料なども、色々読んで、何か間違いが無いかを確認していた。SD_SEND_OP_COND(ACMD41)コマンドを送信します。送っていて、SDHCカードを使えている。※CMD8のレスポンスが無い場合、そのカードはCMD8をサポートしておらず、別の初期化シーケンスに切り替える。これは多分、容量が少ない昔のカードの場合など(自分のドライバーでは、現状、サポートしていない)(4)ACMD41、0x40FF8000レスポンスのB31が「1」になるまで投げ続ける。待つ、1000回繰り返しても「1」に成らなければエラーとする。※レスポンスで、B30が「1」なら、そのカードは、ブロックアクセスを行う。ブロックアクセスとなる。バス幅を4ビットにする。バス幅を切り替えて、クロック速度をブーストする。[ms]以下のようにして、SDHIインターフェースを使う場合とSPI(ソフトSPI)を使う場合を切り替えできる。カード電源制御は使わない場合、「device::NULL_PORT」を指定する。インターフェースを想定した設計になっている。インターフェースでは、ハードウェアーマニュアルの情報だけでは、不明な事が多く、ソフトウェアを実装出来ない状態だった。アクセスするのか不明な部分が明らかになってきた。モードでの推移方法がかなり詳しく判った。カードだと、初期化に成功する事を発見したが、8GB、16GB、32GB(SDHC)のカードでは、初期化に失敗する。※ACMD41コマンドで失敗しているが原因が判らない。ならない・・・とりあえず、手持ちの中で、動作する2枚のカードをテストした。[ms]上記のように、大体1.5倍くらいの違いがある。弱速くなるようだが、最終的に扱う場合には、ノイズ耐性、インピーダンスのマッチング(ダンピング抵抗、プルアップ、プルダウン抵抗)など色々考える事が多く、微妙だろうと思う。バイト毎秒以上の速度が出るので、十分利便性が高い。)で動作するような仕組みがあるようだ。電圧が、低い電圧に対応していないとならない為、たとえ、電源電圧を制御する事が出来ても、対応出来ない。電圧に対応していないので、レベルシフターを間に入れるなどの対応をしないと、電圧を下げて使う事が出来ない。バスのサンプリングポイントを調整するコマンドもあるようだ。hiraコメントする消費税が10%になる前に、前から検討していた、デジタルストレージオシロスコープを購入した。2465A)を使っていた。DSOの場合、アナログ、デジタル変換の性能も、かなり色々ノウハウがあり優劣があるのだが、問題はソフトウェアーだろう。調べたが、値段とパフォーマンス、操作性など総合的な評価から「Siglent」が良さそうだと判断した。同じシリーズでは、低価格な100MHz機があるのだが、どうせ買うなら、より良い物をと言う事で、200MHz機にした。自分は値段が安く、アフター(一応3年保障付)がある所から購入したが、200MHz機は、在庫は無く、取り寄せだったが1週間くらいで商品が届いた。本国から正規で入っている物なので、ファームは最新になっており、全く問題は無かった。4チャネル機は、オプションとして、ロジックアナライザ機能を追加する事が出来るが、プローブとソフトはコストがそれなりだったので、残念だが見送った。※USBのロジックアナライザがあるので、当面、それを利用する事になる・・まだ、使い方を覚えている段階で、使いこなすまでには相当かかると思うが、やはり新品で最新の機器は素晴らしく、操作性も普通に使うには問題を感じない。I2C、SPI、UART、CANなどのトリガー機能、FFTなどの解析機能などが標準であり、かなり便利に使えそうだ。日本語にも標準で対応している。試していたが、より高い周波数に対応した、AD9851も試してみた。※最近RXマイコンばかりで久しぶりにR8Cを触った、このような実験には、小回りが利いて便利だ。値段はかなり高く、モジュールで3500円程だった。買ってから気がついたが、このICはサイン波のみで、三角波はサポートしていない。※矩形波はコンパレーターがあるので作れるだろうか・・ただ、内部は最大180MHzで駆動できる為、出力できる周波数を高く設定でき、周波数ステップも細かく設定可能。※10MHzだと減衰がかなり大きい。この手のICを実用的に使うとなると、一番ネックになるのが、出力の扱いだと思う。中心をGNDにして、+-で振幅させたいとか、出力振幅やオフセットを設定したいとかするには、外部に何らかの回路を付けたいが、マイコンで制御できるようにするには、意外と単純では無い。いつものようにテンプレートライブラリとしたが、周波数の計算で、倍精度の浮動小数点を使っている。本来整数計算だけで出来ると思うが、参考にしたライブラリの手法をそのまま流用した、時間がある時にでも考えてみたい。ICの制御は基本4本の制御線が必要で、外部基準発信器をどのようにするかを設定出来るようにしてある。freq)};サンプルでは、外部OSCが30MHzで、内部の6倍PLLを有効にする。}市販の周波数ジェネレーターはそれなりに高いので、安価な実験用発信器が欲しかったのだが、実用的な物にするにはそれなりの工夫が必要で、それなりに考える必要がある。実現する、ファミコンエミュレーターだけど、内臓メモリの空きエリアなどの問題で、動作させる事が出来るカートリッジファイルに大きな制限があった。それもあって、実用性が乏しいので、機能を追加する事に消極的だった。本来持っている機能(ステートのセーブ、ロードなど)実装していなかった。以前のバージョンでは、最大でも1MビットROM1個分(128Kバイト)までしか動作出来なかった。ファイルのロードと、メモリアロケーション関係を整理(nes_rom.c)、修正したら、実は2Mビット(256K)まで動作可能な事が判った。※国内版と海外版でタイトルが異なるが、本来、海外版向けとして開発していたが、国内で売る場合に、京都のN社の「倫理規定」が通らず、社長の一存で、国内向けにタイトルを変更したものだった。今でも覚えているが、社長が、新聞の番組欄で「暴れん坊将軍」を見て、それと、その当時N社が販売していた「花札の天狗」をかけて出来たタイトルで、自機のキャラクターも、落ち武者の顔から天狗になった・・・まぁ、B級とか、糞ゲーとか揶揄されるが、結構真面目に丁寧に設計され作っている。感覚と理論的なバックボーン、バランスで出来ている。※サウンドドライバーや、スコアのオーサリングツールも自分で実装していて、ドット絵ツール以外は全て一人でコーディングした。このゲームは、音楽も高く評価されている。源平のN氏が最後に作曲をしたファミコンの作品だと思う。※楽曲は、N氏とO氏の共同作業だった。※ドラムやスネアなどで使っている、デルタモジュレータのビットストリームは、当時交流があったU氏が、FMタウンズでサンプリングして作成したデータが元になっていて、音楽や企画を担当したO氏が、それのスタートアドレスを微妙にずらしてバリエーションを作り色々工夫して使っている。「NOAのテスターにNESでは最高の音楽」と言ってもらった。※国内版(海外版は修正されている)には、バグがあり、割り込み内で、プログラムバンクを切り替えていて、元に戻し忘れているので、微妙な確率で、暴走して、奇妙な動作をする事がある。ファイルの中には、このバグにパッチを当てて修正しているものもある。パフォーマンスは素晴らしい、ファミコンのハードウェアを完全にエミュレーションできる。音も完全に近い状態で再生される。ステートのセーブとロード機能も実装しておいたので、バッテリーバックアップ機能が無いカートリッジでも、途中の状態をまるまるセーブして保存出来る。エミュレーターなどで一般的な形式を使っている。※このファイル形式は、カートリッジのハードウェアー設定なども含まれていて、自動で、キャラジェネのH、Vリンク、マッパーのエミュレーションを切り替える。版と大きく異なるのは、2Mビットまでだが、カートリッジファイルを選んでエミュレーションする事が出来る(この違いは大きい)点オーディオの再生品質がほぼ完全な事。データとして、プログラムと同梱しなければならず、又、オーディオの品質もかなり低いと思われる。マイコンの高機能によるところが大きいものとなっている。改造方法は、以下のリンクを参照して頂きたい。ソースコードを取得して、手順を進めるだけなので意外と簡単だと思う。※ルネサス純正コンパイラでは、試していないが、コンパイルが出来ないかもしれない。Programmer)を利用する必要があるが、無料版をダウンロードして使う事が出来る。ゲームの操作は、タッチパネルでは操作が難しいので、外部にファミコンと同等なゲームパッドを接続する必要がある。4021B)が載っており、シリアルクロック、ロード/シフト、データの3本で情報を取得する。FD$上記のように、シリアル接続により、モニターぽぃ機能が使える。BPS・「call-151」でモニターが起動(「exit」で戻る)・6502逆アセンブラが使える。・メモリダンプや、メモリの書き換え等が出来る。※「call-151」の意味が判る人なら、使い方は判ると思うが、上記機能くらいしか実装していない。モジュールを試してみた。モジュールは、アマゾンで購入した。未実装のPHYチップやトランスなどを実装して、実験するつもりで部品を買っていたが、QFNパッケージのハンダ付けが難しく(1個失敗した)、また、本体を壊してしまうのではと思い、工具も無いので、ストールしていた。安価で入手しやすく、比較的良く使われているデバイスだ。ユニバーサル基板で製作しにくい。ユニバーサル基板が割高で入手しにくいのも要因モジュールは安く送料も無料だが、船便なので、注文してから10日程かかる、基板が届いて早速開封、ネットで回路などを探す。クリスタルとは異なっている。Straps」と呼ばれる機能がある。外部クロックを使う場合、「LED2/nINTSEL(2)」をオープンかプルアップしておく必要がある。※ボードはLEDが接続されており「オープン状態なので」50MHz外部クロックモードになっていると思われる。同等にしておく必要がある。デバイスとの通信で使う「MDC、MDIO」は参考回路ではプルアップしてあるので、同じようにプルアップしておく。※以前に、プルアップが無い場合にPHY通信が失敗した事があった。※回路図を見ると、MDIOはプルアップしてあるので、MDCのみ適当な抵抗(3.9K)でプルアップしておいた。端子がプルアップされて、外部コネクタに出ていない。」における、PHYアドレスを設定するピンでもある、チップ抵抗を外して、直接ラインを接続した。※ボードは、写真のように、ピンヘッダーを外して、直接ボードに取りつけてある。※このような組み方を良くする、やってみると簡単で確実。今回実験に使ったRXマイコンは、RX71Mで、169ピンタイプ。イーサーネットは、チャネル0を使った。各ピンの接続は以下のようになっている。hiraコメントする前回、マルチスレッドとは言え、シンプルな物で、動作検証を行った。そこで、今回はもう少し複雑となる、MP3、WAV、のコーデックを動かして、実用的な実験を行った。