うさちゃんと一緒(24) Z80の魔改造?Rabbit4000でアセンブラその2

ASM2_debugger
Joseph Halfmoon

前回Rabbit4000のアセンブラをちょいと触ってみました。インラインでもインラインでなくてもCのソースと混然一体。Cからアセンブラへの敷居がとても低かったです。今回はインラインアセンブラのコードの中にCのステートメントを書ける「インラインC?」に始まって独特なところをまた触ってみたいと思います。

“うさちゃんと一緒(24) Z80の魔改造?Rabbit4000でアセンブラその2” の続きを読む

うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる

addA_asm
Joseph Halfmoon

前回までの4回でRabbit4000のオペコードマップに色を塗って「理解」したつもり。かなりな大拡張ですがアセンブラレベルでは「ほぼほぼ」Z80の上位互換にみえないこともないです(バイナリ互換ではないです。)今回からRabbit4000上でアセンブリ言語ルーチンを動作させていきたいと思います。敷居が低いんだ、これが。 “うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる” の続きを読む

うさちゃんと一緒(22) Z80の魔改造? Rabbit4000のオペコードマップその4

6DpageEC
Joseph Halfmoon

最強?のZ80後継機、Rabbit4000のオペコードマップを見てきましたが、ようやく完結です。今回はオペコードの第1バイトが0x6Dで始まるRabbit4000独自命令の面です。この面は「しがらみ」が無い分うさちゃんの「意思」がありあり。この面の全命令のニーモニックはLDなのですが、実は転送だけでもない、と。 “うさちゃんと一緒(22) Z80の魔改造? Rabbit4000のオペコードマップその4” の続きを読む

うさちゃんと一緒(21) Z80の魔改造?Rabbit4000のオペコードマップその3

rabbit 4000 Opcode Map ED
Joseph Halfmoon

最強(最恐)のZ80後継機、Rabbit4000のオペコードマップを前々回前回とみてきた3回目です。今回は、オペコードの第1バイトが0xEDで始まるZ80の拡張命令(i8080に対しての拡張)面です。第1バイトでは命令の移転先を作ったりして殊勝なうさちゃんもED面では手厳しいです。自由自在どころが傍若無人な勢い。 “うさちゃんと一緒(21) Z80の魔改造?Rabbit4000のオペコードマップその3” の続きを読む

うさちゃんと一緒(20) Z80の魔改造?Rabbit4000のオペコードマップその2

DD_EC
Joseph Halfmoon

前回は、Rabbit4000の、Z80「魔改造」第1バイトのオペコードマップを眺めてみました。しかしZ80にはDD、FDなどの第1バイトによって「拡張」されるオペコードマップも存在します。Rabbit4000の場合、DD,FD系も期待に違わぬ大拡張です。ただしここではZ80の元の命令には手は加えてません。

“うさちゃんと一緒(20) Z80の魔改造?Rabbit4000のオペコードマップその2” の続きを読む

うさちゃんと一緒(19) Z80の魔改造?Rabbit4000のオペコードマップ その1

OpcodeMainPage
Joseph Halfmoon

Rabbitシリーズ(販売元Digi社)のプロセッサはZ80「オマージュ」製品といっていいでしょう。しかし、Z80の盲腸化した仕様をチマチマ活用して拡張していた3000シリーズまでと比べると、4000シリーズ以降では大胆に拡張してます。そのレベル、もはや魔改造。Z80大好きな「中の人」が好き勝手やり放題でなかったかと。 “うさちゃんと一緒(19) Z80の魔改造?Rabbit4000のオペコードマップ その1” の続きを読む

うさちゃんと一緒(18) Rabbit4000のCPUレジスタを一覧にしてみた

RegistersEC
Joseph Halfmoon

うさちゃんRabbit4000のDynamic Cのライブラリを読んでいるとインライン・アセンブラ・コードに迷いこみます。RabbitシリーズはZ80愛に溢れているCPU、Z80上位互換です。Z80のつもりで大体読めますが、時々「知らない」レジスタなどに遭遇します。今回はCPUレジスタを図にまとめてみました。

“うさちゃんと一緒(18) Rabbit4000のCPUレジスタを一覧にしてみた” の続きを読む

うさちゃんと一緒(17) Rabbit4000にAHT21B温湿度センサをI2C接続

Rabbit4000_AHT21B
Joseph Halfmoon

前回は、Rabbit4000(モジュールはRCM4010)のオープンドレインで使用可能なピンを見つけて、16文字x2行のキャラクタディスプレイAQM1602をソフトI2C接続いたしました。今回は同じ「I2C」バスにAHT21B温湿度センサを取り付けてみます。今回はライトオンリの前回とは違って読み書き双方向が必要です。

“うさちゃんと一緒(17) Rabbit4000にAHT21B温湿度センサをI2C接続” の続きを読む

うさちゃんと一緒(16) RCM4010にAQM1602液晶ディスプレイをI2C接続

RCM4010_AQM1602
Joseph Halfmoon

前回、Rabbit4000のGPIOポート合計40ビットのうち特定の目的に使用可能なポートは以外と少ないことが分かりました。その後Dynamic CのI2C用サンプルプログラムを調べたところ「手元のRCM4010+プロトタイプボード」では使用不可、という結論にいたりました。仕方が無いので自分で「サンプル」書きます。

“うさちゃんと一緒(16) RCM4010にAQM1602液晶ディスプレイをI2C接続” の続きを読む

うさちゃんと一緒(15) 使えるピンはどれ? ボード上の接続、ポートの属性の違い。

RCM4010onRCM4XXXprotoBoard
Joseph Halfmoon

前回までのように、うさちゃんRabbit4000をイーサネット経由で動かしている分には、手足のGPIO端子などは気にする必要はありません。でもそろそろマイコンらしい仕事をさせたいです。勿論、http経由でですが。しかし、うさちゃんのIO端子について全く分かってないことが発覚。大慌てで調べましたです。

“うさちゃんと一緒(15) 使えるピンはどれ? ボード上の接続、ポートの属性の違い。” の続きを読む