トホホな疑問(63) FreeDOS、DOS/4GW上のDPMIバージョン知りて~

dpmiVerEC
Joseph Halfmoon

前回OpenWatcom Cコンパイラを使って、FreeDOSのプロンプトから起動できる「プロテクト・モード」プログラムを作成してみました。お手軽。ツールが自動でDPMIサーバをオブジェクトに組み込んでくれているみたい。さて、DPMIといってもどんなバージョンが組み込まれているの?APIでご本人に問いかけてみます。 “トホホな疑問(63) FreeDOS、DOS/4GW上のDPMIバージョン知りて~” の続きを読む

ぐだぐだ低レベルプログラミング(240)x86(16bit)、286タスクステートセグメント

TaskDiagram
Joseph Halfmoon

前回ついにプロテクト・モードに突入。まずは16ビット世界の80286のプロテクト・モードからです。386以降の世界でも存在はしているけれど黒歴史。しかし8086からみたらめくるめく新たなセグメンテーション世界が存在しているのでした。そのメモリ空間を説明するのに避けて通れぬのがTASKです。OSの一部がCPUに載ってる? “ぐだぐだ低レベルプログラミング(240)x86(16bit)、286タスクステートセグメント” の続きを読む

トホホな疑問(62) FreeDOSのプログラムがプロテクトモードで走っているの確認して~

cr0_eflags
Joseph Halfmoon

前回、「MS-DOS互換」のFreeDOSを立ち上げると、フツーにコマンドプロンプトでさえ、V86(仮想86)モードで走ってることに気づきました。そしてその仕組みについてちょいと調べました。ここにも歴史アリ。今回は更なる疑問に迫るべく、DOS/4GWにお願いして「プロテクト・モード」上で走るプログラムを作成してみます。
“トホホな疑問(62) FreeDOSのプログラムがプロテクトモードで走っているの確認して~” の続きを読む

ぐだぐだ低レベルプログラミング(239)x86(16bit)、286プロテクトモード

286protectmode_memory_access
Joseph Halfmoon

前回まで8086になく80186/80286で拡張されている命令の練習を実施。カテゴリの残りまだあるのですが、INS、OUTSは練習するのがメンドイです。一方他は8086でもあった命令にオペランドを追加したものどもで花がないっす。そこで今回から80286にて「追加されたもの」プロテクト・モードへ入りたいと思います。
“ぐだぐだ低レベルプログラミング(239)x86(16bit)、286プロテクトモード” の続きを読む

ぐだぐだ低レベルプログラミング(238)x86(16bit)、PUSHA、POPA

pusha_popa_diagram
Joseph Halfmoon

今回は、8086になく80186/80286で拡張されている命令の練習その3ということでPUSHA、POPA命令です。汎用レジスタマシンと言うにはレジスタ型付けが強いx86の全「汎用レジスタ」を一気にPUSH/POPする命令デス。でもスタックポインタ(SP)もPUSH/POPの対象に見えるのよ。大丈夫なのか?

“ぐだぐだ低レベルプログラミング(238)x86(16bit)、PUSHA、POPA” の続きを読む

Pico三昧(62) ラズパイPico 2 W、WiFi ネットワーク・ステータス

networkStatus
Joseph Halfmoon

前回は「後攻、有線LAN」だったので今回は「先行、無線LAN」に戻ります。前々回、無線LANはラズパイPico 2 W上のMicroPythonから手近なアクセスポイントに接続できたところで終わってました。今回は、プラットフォームとネットワークの接続ステータスなどをも少し丁寧に確認していきたいと思います。
“Pico三昧(62) ラズパイPico 2 W、WiFi ネットワーク・ステータス” の続きを読む

ぐだぐだ低レベルプログラミング(237)x86(16bit)、BOUND、添え字のチェック

unasmMAIN
Joseph Halfmoon

前回、x86(16bit)範疇にはまだまだ命令があることに気づきました。お尻が長いよ。今回は、8086になく80186/80286で拡張されている命令のその2(遥か昔にENTER/LEAVEはやったので)ということでBOUND命令を練習してみます。使うか使わないかはあなた次第?コンパイラによっては余計なお世話か? “ぐだぐだ低レベルプログラミング(237)x86(16bit)、BOUND、添え字のチェック” の続きを読む

Pico三昧(61) W5100S_EVB_PICO、有線LAN、MicroPython起動

Joseph Halfmoon

前回は無線LAN登載のRaspberry Pi Pico 2 W ボードにMicroPythonをインストール、ネットワーク接続を確認。今回は有線LAN登載のPico互換ボードW5100S_EVB_PICOで同じことを確かめてみたいと思います。有線、無線と物理メディアは異なれど、ほぼほぼ同じ手順で接続OK。お手軽。
“Pico三昧(61) W5100S_EVB_PICO、有線LAN、MicroPython起動” の続きを読む

Pico三昧(60) ラズパイPico 2 W、WiFi登載、Micropython起動

Pico2_Pico2W
Joseph Halfmoon

前回は、着弾のRaspberry Pi Pico 2 W ボード (無線LAN)とWS100S-EVB-Pico ボード(有線LAN)の2枚のボードにピンヘッダをはんだ付けしたところで終了。老眼の目も復活したので、本日は「火を入れ」て行きたいと思います。まずはRaspberry Pi Pico 2 Wから。
“Pico三昧(60) ラズパイPico 2 W、WiFi登載、Micropython起動” の続きを読む

Pico三昧(59) ラズパイPico系、無線LAN登載ボードと有線LAN登載ボード

Pico_boards_w_LAN_WLANEC
Joseph Halfmoon

Pico三昧、久々の復活。ついボード2枚買ってしまったのであります。一つは Raspberry Pi Pico 2 W ボード (無線LAN登載)、もう一つが WS100S-EVB-Pico ボード(有線LAN登載)であります。この二つを使って、有線でも無線でもネットワークを使い倒してやるぞ、とお惚け老人。ホントか?

“Pico三昧(59) ラズパイPico系、無線LAN登載ボードと有線LAN登載ボード” の続きを読む

MicroPython的午睡(144)RP2350-GEEK版MicroPythonの例題

sampleScript
Joseph Halfmoon

別シリーズにてラズパイPico 2ベースのUSBスティック型「RP2350-GEEK」着弾。メーカのWaveshare社版のMicroPythonをインストールしてみたので、こちらシリーズでその使い勝手を調べてみます。フツーのMicroPythonに見えるけど。まずはダウンロードできたExampleを動かしてみます。 “MicroPython的午睡(144)RP2350-GEEK版MicroPythonの例題” の続きを読む

ぐだぐだ低レベルプログラミング(236)x86(16bit)、80186/80286追加命令

Joseph Halfmoon

長らく8087FPUの命令の練習を続けてきましたが、前回にて一応の完了といたしたいと思います(本人まだやる気ですが別シリーズ化の予定。)今回から32ビット、とも思いましたが、x86(16bit)範疇にはまだまだ命令が存在します。80186と80286で追加された命令どもです。なかなか32ビットモードに入れんぞなもし。 “ぐだぐだ低レベルプログラミング(236)x86(16bit)、80186/80286追加命令” の続きを読む

鳥なき里のマイコン屋(176) Waveshare、RP2350-GEEK着弾

RP2350GEEK
Joseph Halfmoon

ご無沙汰だった本シリーズを復活させたのは他でもありません、「お楽しみのマイコン製品」をつい買ってしまったからです。Waveshare社のRP2350-GEEKとな。ぶっちゃけRaspberry Pi Pico 2相当回路をカラーLCDパネルとインタフェースコネクタ付USBスティック型の筐体にいれたもの、であります。
“鳥なき里のマイコン屋(176) Waveshare、RP2350-GEEK着弾” の続きを読む

ぐだぐだ低レベルプログラミング(235)x86(16bit)、FSAVE、全レジスタセーブ

fsaveBeforeAfter
Joseph Halfmoon

8087FPUの制御命令の説明に前回前々回と2回を費やしました。今回こそ命令を「動かしたい」と思います。しかし、その前に確認しておかないとならないんだな、16ビット実行環境であるFreeDOSから「みえる」FPUの命令がどのレベルのものなのか?「ピュアな」8087ではないけれども、雰囲気は出してる?なんだそれ。

“ぐだぐだ低レベルプログラミング(235)x86(16bit)、FSAVE、全レジスタセーブ” の続きを読む