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

続きのメモ。

 

8086tinyの問題が解決しなかったので、今度はFreeDOSというのを使ってみることにした。
参照させていただいた記事は以下。
 https://qiita.com/tmiki/items/06ceac5e34d98ccf8a78
8086tinyの前に見つけていたもののイマイチやる気が出なかったのは、VirtualBoxを使うこと前提としてるため。
個人的にあんまり好きじゃない。(Oracleが)

 

とか言ってられないので、まずはVirtualBoxのインストーラをダウンロード。
今回もWindows環境。
 https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html
よくわからなかったので何も考えず、設定を一切カスタムせずにそのままインストールしてしまいました。

問題はここから、FreeDOS起動の準備。
公式からからFor most usersのStandard CD-ROMをダウンロード。
 http://www.freedos.org/download/
あとはその後最初の記事通りにVirtualBoxで新規の仮想マシンを作り、FreeDOSをCD-ROMのISOファイルからインストールする。

しかしやはり素直にインストールできなかった。


一応公式のマニュアルを参照。
 http://wiki.freedos.org/install/
CD-ROMファイルからの起動はできた。
が、最初の
 Install to harddisk
を選択直後、なんかよくわからない文字列の無限ループになって戻ってこなくなってしまった。

 

原因を探ると、同じような症状の人がいてあっさりと回避方法発見。
「Install to harddisk」を選択してtabキーを押し、一番下に出てきた行に「raw」を追記する。
 .linux /boot/syslinux/memdisk raw initrd=/isolinux/fdboot.img
これでリターンキーを押して、普通のインストールを行うことができた。
(途中でパーティションを作るときにリブートするので、その後も同じように追記する)
再度検索したら、追記は文字列の最後でも良さそうだった…まあちゃんと動いたからいいです。
 https://itsfoss.com/install-freedos/

 

途中のパーティション作成の画面は公式と違って、特に何もしないまま終わっちゃいました。
良かったのかどうかわからないけど、今のとこ問題ないです。
最後はパッケージのインストールで、
 Full installation with sources
を選択。

インストール完了後、VirtualBox上でいったん電源を切ってハードディスクからの起動を優先にする。
最初の画面、自分の環境ではデフォルトで「2」が選択されていて、そのまま起動しました。

あとは最初の記事を再度参照して、
 C:¥> FDIMPLES
でDevelopment等をインストール。
FDIMPLESはインストール時、「Full installation」ではなぜか起動しなかったので、「Full installation with sources」を再度入れ直しました。実際は不要だったかも。
起動もFDIMPLES.COMではダメで、.COMを外して起動できた。

 

多少(かなり…)手間取ったけど、なんとかそれっぽく環境を整えることはできた。
しかしやっぱりDUMPコマンドはないのか…と思ったら、MS-DOSのバージョンが違うのか。
この辺りの詳細を調べても当初の目的から逸れるので、FreeDOSでDUMPを使う方法を探した。
で、もうちょっと続く予定。

Sponsered Link

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

前のメモの続きのような、そうでないような話。

 

「はじめて読む8086」を読んでると、やっぱり実際に動かしてみたくなってくる。
しかしさすがに環境が古すぎて無理、と思ったものの、一応探してみたら、この手のエミュレータは存在してた。

最初に見つけたのは、8086tinyというちっちゃいプログラム。
 https://github.com/andreiw/8086tiny
検索していてなんでRaspberry Piで使ってる人が多いのかと思ったら、Raspbianのレポジトリに追加されてるかららしい。

Raspbian上ならaptでインストールできるようだ。

 

でもC言語で書かれているので、普通にgccでコンパイルできるだろ、と正直甘く見た。
先に結論を言うと、Windows10でのコンパイルはうまくいきませんでした。

(さらにUbuntu上でもうまくいってない…)

 

最初のエラーは

 8086tiny.c:18:10: fatal error: SDL.h: No such file or directory

  #include "SDL.h"

           ^~~~~~~

 compilation terminated.

だったので、調べたらグラフィックなどを動かすために必要な「SDL」というライブラリをインストールする必要があるとわかった。

でもインストールするのがめんどくさかったので、Mkefileを見てグラフィックを使わないコマンドを使うことにした。

が、それでもダメだったので、結局諦めました。今のとこ。

まだ解決策が見つかってないので、もしわかったらいずれメモすることにします。


ちなみにMakefileはLinux用なので使用しないつもりだったが、実はコマンドプロンプトでmakeコマンドを使えるようにもしてみた。
以下を参照させていただきました。
 https://qiita.com/tokikaze0604/items/e13c04192762f8d4ec85
でも結局使いませんでした…せっかくだし無駄ではなさそうなので、アンインストールはしないておこう。

 

その後本家の8086tinyとは別に、既にコンパイル済みの8086tiny plusというのを見つけたんでダウンロードした。

 https://jaybertsoftware.weebly.com/8086-tiny-plus.html

これだと既にexeファイルが出来上がってるので、Windows上で普通に起動できました。

 

ただ、デフォルトで入ってるファイルがどうも従来のものと違うらしい。

debugはできたけど、dumpはできない。

8086tiny plusはゲームとかのエミュレータを動かすことを前提にしているようで、「はじめて読む8086」とかの勉強にはちょっと不向きかも。

自分が全然わかってないので、環境が違いすぎるととっても困る。

 

というわけで、また別の方法を模索しているとこ。

ここで一旦区切る。

Sponsered Link

インターネットアーカイブの電子書籍

OS自作入門を読んでいると、「はじめて読む486」がとても参考になる。
が、こっちも徐々に煮詰まってきた。
アセンブラとかその辺はわかってるものとして話が進み始めたので、すでに付いていけてない。
(OS自作入門も付いていけてないが、環境構築の壁を脱したのでなんとなくやれている)


なので参考になる情報を探してさまよっていると、初心者が「はじめて読む486」にいきなり挑むと難しいので、先に「はじめて読む8086」や「はじめて読むMASM」を読むといいらしいとわかってきた。

が、どちらもとっくに絶版。
amazonを検索してみると中古品が引っ掛かる。

しかもそこそこ値段高いし。


そもそも30年以上前の書籍、しかも技術書じゃあ持ってる人も少ないのはしかたない。田舎の図書館に行っても置いてあるかどうか。
「はじめて読む486」が電子書籍化されたのも結構奇跡なんだな…こっちは初版が1994年。

 

しかたないのでネットに散らばってる情報を集めて参考にしていくか、と検索していたら、archive.orgに書籍がアップロードされていた。
 https://archive.org/details/Readthefirsttime8086
 https://archive.org/details/ThefirsttimeReadMASM
今も買える「はじめて読む486」はアップロードされてないので、絶版を補完してるようだ。
万が一電子書籍で再販されることがあれば、改めて買ってお布施しよう。

 

ちなみにインターネットアーカイブについては以下を参照。
 http://warp.da.ndl.go.jp/contents/reccommend/world_wa/world_wa02.html
普通に購入できる書籍は本屋のリンクへ飛ぶらしい。
しかし久しぶりにarchive.orgにアクセスしたなあ。

古いパソコンの環境はエミュレータで再現できるのでいいとして、紙の書籍は誰かが電子化してくれないと埋もれていっちゃうんだよな。当たり前だけど。
 

とにかくこれで勉強もちょっとは進みそうだ。
ここまでいろんな本を読んでも実務に影響するわけでもなく趣味でしかないんだけど、気になるところはとにかく掘ってみないと気が済まない犬のような性分なので、やれるとこまでやってみます。

Sponsered Link

ESP-8266EX関連書籍

たまに期限が切れる直前のポイント消費で、安い技術系の電子書籍を購入することがある。
前にも書いたけど、こういうやつ。

今回購入したのはWeMos D1 mini proのモジュールについての書籍。

値段が日本円で300円切ってたのがあったので、試しに購入。

懐かしの…というほど古くもないか。Wemos D1 miniを見るのって久しぶり。
よく知ってるマイコンというかモジュールの話とはいえ、今さらESP8266よりESP32のほうがよかったかな?と後で思った。
でも値段的にESP8266の本が安かった。


だいたいが(おそらく)自費出版でブログをまとめた感じの内容。自分は結構好き。
有効な情報はちゃんと対価を支払いたいので、ブログに投げ銭ボタンが付いてるのと同じように、こういうのもありなのかなと思ってる。

 

内容は最初のセッティング(Arduino IDEとドライバのインストールとか)から使うまでの初心者向け。
そこからさらにいろんな用途に使おうと思うなら、やはり別の専門書が必要。

値段相応とはいえ説明も(英語だけど)図もカラーでわかりやすく問題ないんだけど、画像の中を指示するマークでこのフリーハンドなところが笑える。

※書籍内の画像の一部です。自分が記入したんじゃありません。

 

間違ってないとはいえ、落書きっぽく見えちゃうのが残念。

あとはthinger.ioの登録が必要なのと、リレーを使う内容なのでやることは限られる。

でも全体的に文字数が少ないのですぐ読めるし(何度も言うけど英語だけど)、参考にするぐらいなら充分です。


それとWemos D1っていう名称は、今はもう使われてないようです。
以下が解りやすいです。(いつもお世話になってるブログだった…)
 https://lang-ship.com/blog/?p=486
日本では技適通ってないし、そもそも送料と同じぐらいの値段ではさすがに購入は躊躇しますね。

Sponsered Link