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

6DpageEC
Joseph Halfmoon

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

手習ひデジタル信号処理(53) SDR、CICフィルタを使うダウン・サンプリング

CIC_N_1
Joseph Halfmoon

前回は直交信号発生器でした。今回メインはダウン・サンプラです。しかし、ここで前々回「やった」CICフィルタが再登場します。CICフィルタを積分器部分と櫛型フィルタ部分に分け、その中間にダウンサンプラを組み込むことで櫛型フィルタ部分を一挙に簡単化するという大技を繰り出すためです。この定番を最初に考えついた人は誰なのかな?
“手習ひデジタル信号処理(53) SDR、CICフィルタを使うダウン・サンプリング” の続きを読む

ぐだぐだ低レベルプログラミング(81)ARM64(AArch64)、条件フラグ、NZCV

nzcvFalgs
Joseph Halfmoon

面倒なので避けてきましたが、いよいよやらなければならないです。条件フラグ関係。昔から慣れ親しんだモノドモですが、RISC-Vの「フラグは無、その場で判断」方式を学んだあとは、とてもメンドく感じられるようになってます。今回はフラグが格納されている(ようにみえる)レジスタへのアクセスと基本的な上げ下げを動かしてみます。

“ぐだぐだ低レベルプログラミング(81)ARM64(AArch64)、条件フラグ、NZCV” の続きを読む

MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む

CtypesEC
Joseph Halfmoon

前回はMicroPythonのuctypesモジュールを使って、ラズパイPicoのCPUレジスタを直接読んでみました。しかし読み取りだけ、書き込みもビットフィールド・アクセスもやってないです。直接IO制御するなら練習しておかないと。今回はメモリ上のバイトアレイを練習相手に書き込みとビットフィールド操作をやってみます。
“MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む” の続きを読む

やっつけな日常(36) Rustに入ればRustに従え、ジェネリック型の構造体を作ってみる

genericsEC
Joseph Halfmoon

前回はユニット様構造体というメンバ無、大きさゼロの構造体を見ました。でもこれ、れっきとした「具象型」でした。空だけれども型はあるのだと。今回は「なんにでもなる」ジェネリクス型の構造体を作って触ってみます。「なんにでもなる」ということは、実体が空のユニット様構造体を型パラメータにしても良いのだと。Rustは禅問答?喝!
“やっつけな日常(36) Rustに入ればRustに従え、ジェネリック型の構造体を作ってみる” の続きを読む

忘却の微分方程式(61) 反復練習24、assumeとforgetでlimit、Maxima

R05_EC
Joseph Halfmoon

今回も他力本願、Maxima様におすがりすれば、極限の計算のお答えをいただけます。しかし、今回はちょっと条件を指定しないと計算できない類の問題であります。そのときに活躍するのが assume とな。assumeすれば楽。でもassumeしているばかりでは後を引くので forget もせにゃならんと。能天気だな、自分。 “忘却の微分方程式(61) 反復練習24、assumeとforgetでlimit、Maxima” の続きを読む

IoT何をいまさら(106) SAR型ADCの原理回路をArduinoで制御してみる

SAR_PROTO_DUT
Joseph Halfmoon

別シリーズでSAR型ADCの原理回路の実験をしました。しかしアナログ部分のみ、SAR(逐次比較)らしいデジタルの2分検索のステートマシンは実装せず、「また後で」などと書いてました。そこで今回はArduinoを使って「2分検索部分」をプログラムしてステートマシンで制御できそ~(でも不安あり)なところをやってみます。

“IoT何をいまさら(106) SAR型ADCの原理回路をArduinoで制御してみる” の続きを読む

データのお砂場(47) R言語、cars、自動車の制動距離?いや停止距離とな

plotLog
Joseph Halfmoon

R言語所蔵のサンプルデータセットを、ABC順(大文字先)で端から眺めております。今回はcars、自動車の停止距離の測定データです。ただし約100年前、1920年代に測定されたデータみたいです。最近の自動車は性能上がっているからな~などと思いつつ、物理現象でした。100年前も今も実は計算式は変わっていないっと。 “データのお砂場(47) R言語、cars、自動車の制動距離?いや停止距離とな” の続きを読む

IoT何をいまさら(105) MicroNavRingセンサをArduinoに接続してみる

NavRingArduino
Joseph Halfmoon

別シリーズでリング型の「タッチパッド」センサを入手。圧力の変化を抵抗の変化に変換するタイプの素子です。薄いドーナツ型形状なので、指でぐるぐる回したりする操作を検出するのに向いてそうです。しかし別シリーズでは手動で動作確認したのみ。マイコンで動かしてみないと。そーゆー時にお楽なのが伝統のArduinoであります。 “IoT何をいまさら(105) MicroNavRingセンサをArduinoに接続してみる” の続きを読む

ブロックを積みながら(83) Node-RED、Rpi-keyboardノードでキー入力

RpiKB_EC
Joseph Halfmoon

前回マウスであったので、今回はキーボードです。ラズパイのUSBコネクタにUSBキーボードを取り付けたときに使える Rpi-keyboard ノードです。ノードの設定は不要、使い方は簡単ですが、キースキャンコードの解釈は簡単なような、でも何処をみたらいいんだろうか、トホホな感じがいたします。

“ブロックを積みながら(83) Node-RED、Rpi-keyboardノードでキー入力” の続きを読む

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

rabbit 4000 Opcode Map ED
Joseph Halfmoon

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

ぐだぐだ低レベルプログラミング(80)ARM64(AArch64)、Reverse命令一族

REV_RBIT
Joseph Halfmoon

前回は先行ビットカウント命令でした。今回はビット、バイトのリバース命令群です。どちらも「場合によっては」必要な操作で、こういう専用命令なしに処理しようとすると結構メンドイ処理になる操作であります。有って悪いことはないですが、こういう複雑な命令群がいろいろ実装されているArmは複雑(なRISC)?

“ぐだぐだ低レベルプログラミング(80)ARM64(AArch64)、Reverse命令一族” の続きを読む

やっつけな日常(35) Rustに入ればRustに従え、「一切メンバ無」の構造体って何よ?

traitUnit
Joseph Halfmoon

前回、構造体を使ってみました。「構造体には3種あり」といいながら「Cみたいな」構造体と「タプルみたいな」構造体の2種のみ使用。もう一個は何なのか気になってました。そいつは「フィールドのないユニット様構造体」なんだとか。こいつ構造体といいつつフィールドは無く、サイズも0だと。どういうこと? “やっつけな日常(35) Rustに入ればRustに従え、「一切メンバ無」の構造体って何よ?” の続きを読む

忘却の微分方程式(60) 反復練習23、limitの続き、Maxima

limit2_EC
Joseph Halfmoon

前回から極限のお勉強。前回はそれでも右方と左方、infinityとかundなどという特殊シンボルの出現もあり多少の波乱?があったです。しかし今回、sin, cos, log, eなど「スター」が続々登場するのですがまったく波乱なし。Maxima様にお願いすれば、何も考えることなくお答えが求まってしまいます。他力本願。
“忘却の微分方程式(60) 反復練習23、limitの続き、Maxima” の続きを読む