しばらく休止中。

身内の不幸で更新停止中です。

以前はインフルエンザだったりと、この時期はいろんなことが起きますね。

Sponsered Link

8086のエミュレータ(おまけ)

「はじめて読む 486」の前に「はじめて読む 8086」を読むと解りやすいと聞き、その環境欲しさにFreeDOSをVirtualBOXにインストール。
DUMPコマンドのファイルを入れたいがために仮想領域をホストのPCにマウントできるようにした。

 

※DUMPコマンドを使えなくてもDEBUGで同じことができるので、普通に勉強するだけなら不要
(単に似たような環境に整えたかったという自分の趣味)

 

ここまでは先日やってみたこと。引き続きやったことメモ。

 

さらにFreeDOSに入ってるNASMじゃなくてMASMが欲しいなあと思い、探してみた。もちろん古いやつ。

「はじめて読む MASM」を読むとバージョンが3.0だったので、その頃のが欲しかった。

もちろん「はじめて読む 8086」でも使う。

 

検索してみると割とあっさり見つかった。

やはり古いデータをアーカイブしている場所。バージョン1.0から揃ってる。
 https://winworldpc.com/product/macro-assembler/3x
フロッピーディスクが5インチの時代。懐かしい。

 

これをダウンロードして解凍すると、フロッピーディスクのimgファイルが出てくる。

このファイルをVirtualBOXのFreeDOSのフロッピーディスクのところにマウントして起動すると、Aドライブに内容が表示される。

ファイルの日付が1984年というところが時代を感じる。さすがフロッピーが5インチの時代。

 

「はじめて読むMASM」で使用するのは

  • LIB.EXE
  • LINK.EXE
  • MASM.EXE
  • SYMDEB.EXE

の4ファイル。

これをCドライブにコピーして使う。

 

ここまでやらなくても良いんだけど、途中からは古い環境やファイルを漁るのが楽しくなっってしまった。

この先勉強することについては別館でメモしていく…かも。

でもまだOS自作入門が終わってないんで、先は長い。

Sponsered Link

ATOM Matrix

※いじったことをメモしたものの、後で調べたら現時点で国内では大人の事情(まだ技適取れてなかったんだな…)で電源入れてない人も多いので、以下は幻とでも思ってください…。

 

前に届いてたATOM MatrixとATOM Lite、ようやくいじることができた。

付属品が全然ないのでちっちゃい。

自分の机の周りがUSBケーブルとかで飽和状態なので、こんなもんで充分。

バッテリーも内蔵してないから、何かに組み込んで使うのがメインかな。

 

正直なところM5Stackのシリーズは買い過ぎてるんで、これ以上買って何をしたらいいかよくわからなかったんだけど、小さいし安いしでつい購入してしまった。
購入先はいつものAliExpress経由。

AliExpress.com Product - M5Stack Official 2020 New Arrival ATOM Matrix ESP32 PICO Development Kit Arduino IMU Sensor Python

AliExpress.com Product - M5Stack 2020 New Arrivial Official ATOM Lite ESP32 Development Kit Neo LED Arduino Blockly Programmable Kit

 

送料のことを考えると、他のものを買うついでに買ったほうが良さそう。今回自分がそうでした。

何か表示させるのが楽しそうなので、まずはLEDマトリクスをいじる。
最初はやっぱりサンプルスケッチを試す。

 https://github.com/m5stack/M5Atom

上記からダウンロードしなくても、Arduino IDEのライブラリに「M5Atom」というのが増えてました。

 

しかしハードウェアにはAtomがなかったので、ESP32 Dev Moduleを選択。

FastLED.hがないとエラーになったので、ライブラリからFastLEDを検索してインクルード。

ここまではコンパイルできた。

しかしいざ書き込みしようとすると、

 A fatal error occurred: Timed out waiting for packet header

というエラーが出た…。
何度か書き込みすると治るエラーらしいが、結局書き込みスピードを下げて成功。(115200)

これで無事動作しました。

 

自分が今回書き込みしたのは「Buttom」というスケッチで、画面を押すたびにLEDの表示が変わるという単純なもの。

(動画は撮影してないですが)

せっかくなのでいずれLEDで図形や文字出したりとか、もうちょっと遊んでみます。

Sponsered Link

8086のエミュレータ(その3)

さらに続き。
DUMPコマンドを使いたいというより、仮想環境(しかもMS-DOS)とファイルをやり取りするにはどうしたらいいのか?という疑問になってきているので、まずその件をメモる。

 

当初、VurtialBoxで作成したフロッピーディスクをマウントして、その中に必要なファイルを入れればいいと思ったのだが、これがうまくいかない。
FreeDOSからAドライブには入れるし、ファイルもあるので
 A:¥> copy ファイル名 c:¥
にしてみたんだけど、コピーできないって言われる。なんでだ。

 

じゃあいっそFreeDOSのCドライブをマウントしてみたらどうかと考え、以下の方法を参照。
 http://wiki.freedos.org/wiki/index.php/VirtualBox_-_Chapter_6
しかしマウントするのは「VHD image file」になってる…自分の環境でできてるのはvdiファイル。なんでだ。
でも上記のページにちゃんとファイル変換の方法が載っている。
 http://wiki.freedos.org/wiki/index.php/VirtualBox_-_Convert_VDI_to_VHD

が、さっきのサイトを最初から見ると、そもそもインストール時にファイル形式を選択できたんだな。
 http://wiki.freedos.org/wiki/index.php/VirtualBox_-_Chapter_2
…うーん、読んでいると他にも設定を変えたいところが出てきたんで、こっちの手順でもう一回インストールしてみたくなった。
ネットワークとか設定したくなったら、こっちの環境も作ってみることにする。
それにしてもこのサイト、VirtualBox使ったFreeDOSについてなんでも書いてあって助かる。

 

とにかく書かれている情報でvhdファイルに変換して、マウントして中を見たところ…単にハードディスクがいっぱいで、データがこれ以上コピーできないだけだった。

余裕があれば、最初のフロッピーディスクのマウントからのコピーで問題なかった。

なので結局、ハードディスクに余裕を持たせて再度環境を作成。

 

そして当初の目的のDUMPコマンドを使うには、必要なファイルを持ってくればいい。

以下のサイトで必要なコマンドやユーティリティをダウンロードできる。

 https://clasqm.github.io/freedos-repo/

DUMPコマンドはここの、TXTTLSというファイル。

 https://clasqm.github.io/freedos-repo/Commandline.html

リンクをクリックしてtxttle.zipというファイルをダウンロードする。これをFreeDOSのCドライブに置いて、

 unzip txttle.zip -d c:¥

として解凍。これでコマンドが使えるようになる。

ようやくダンプできるようなった。疲れたー。

そういえばこんなに苦労してまでコマンド入れたのって、「はじめて読む8086」の勉強のためだったというのを改めて思い出した。

8086の環境そのままでは全然ないんだけど、苦労したおかげでいろいろ勉強もできたので、これでやっていけそうです。

Sponsered Link