DOSBoxメモ (3) DOSBox-X on macOS

ちょっと長期戦になりそうなので,コンソールの切り替えをしないで,調べ物やその他PCでの作業をしながらDOSB0x(-X)をいじれるよう,macOS版のインストールを試みました.

MacでGNUなどのソフトを動かすのにMacPortsを使っています.

port install dosbox

とすると

Error: dosbox cannot be installed for the configured build_arch 'x86_64' because it only supports the arch(s) 'i386 ppc'.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port dosbox failed

と,エラーになります.インテルCPUの32bitのmacOSは何年も前に廃れたのでbuildスクリプトが間違っているはずですが,どうしようもないです.ダメ元で,

port install dosbox-x

としたら,buildできて動きました.Flatpakは使わなくていいようです.

ちなみに,dosemuは “Error: Port dosemu not found” です.

これでしばらくああでもないこうでもないとやってみます.

Slackwareの流儀で,システムをいじる前にrootになっていますので,毎回 “sudo” はしません.

DOSBoxメモ (2)

なかなかうまくいっていません.

DOSBox自体は,ARM (32bit/64bit)を含む多くのdistroでインストール可能なことを確認しました.

Manjaro ARM (64bit)で起動したDOSBox

また,DOSBoxにXの飾りをつけたDOSBox-Xというのがあるようで,DOSを動かすことに関してはほとんどDOSBoxと同じですが,インストールするため,Flatpakというパッケージマネージャーのインストールが必要です.これはRaspberry Pi OS (RPiOS)を含むDebianでは問題なくインストールできましたが,Slackware AArch64ではインストールできませんでした.

ただし,昨日は何もメモしないで作っては壊し的な作業をしていたので,記憶違いがあるかもしれません.

DOSを動かす部分が一緒ならDOSBoxで良かろうという結論に達しましたが,そこから先がなかなかうまく行きません.

かつてDosemuで動いていたFreeDOSのサブディレクトリーをDOSBox組み込みのDOSでマウントしてもbootしてくれません.

どうもホスト(Linux)のファイルシステムのサブディレクトリーではNGなのかと思い,それではディスクイメージを仕立てて見ようということになりましたかが,qemu-imgでイメージをこさえてqemu-nbdで/dev/nbd0に接続してああしたりこうしたりしてさんざん仮想マシンのディスクをこさえてきましたが,全くその流儀ではだめなようです.

一旦落ち着いて, “How to create bootable HDD image for DOSbox”で検索してやり直してみます.

後の注: Flatpakを使わないDOSBox-Xのパッケージが用意されているdistroもあります.
“かつて” でなくて先日もDosemuでブート可能なことを確認しました.
今回はいつものqcow2でなくてraw.

DOSBoxメモ

自分用メモです.

DOSBoxDOSBox-Xがある.

DOSBoxは,Raspberry Pi OS (RPiOS) 用のパッケージがある.Slackware ARM (32bit) / AArch64でも,sbopkgでbuildできて動作する.

DOSBox-Xをインストールするには,flatpakのインストールが必要.RPiOSにはflatpakの出来上がったパッケージがあり,DOSBox-Xのインストール,起動の確認までできた.

Slackware ARM (32bit) / AArch64では,SlackBuildsflatpakがあるが,必要とするパッケージostreeを先にインストールしてもflatpakのconfigureが “ostree-1がない” と言ってエラーで終わる

DOSBoxもDOSBox-XもDOSが動く基本的な仕組みは同じようだが,後者にはメニューが付いていて設定等がメニューからできる模様(あまり詳しくは試してない).

DOSBoxでFreeDOSを保存しているサブディレクトリーをCドライブとしてマウントすることは成功.そのCドライブからのブートは今のところうまくいっていない.

以上が2024年3月23日現在確認したところ.

後の注: Flatpakを使わないDOSBox-Xのパッケージが用意されているdistroもあります.
SlackBuildsに登録されているbuildスクリプトはほとんどがx86 32bitとAMD64用に書かれたもので,ARM (32bit/64bit)で確認されたものは少ないようだ.

Slackware AArch64でSDDM動く

当社調べ

当サイトの情報はすべて「当社調べ」であり,これらの情報を直接的あるいは間接的に利用して直接的・間接的な損害が発生しても,当サイトの保有者および運営者および記事の執筆者は一切の責任を負いません.

V3D instead

これまで,気づいていたことは,同じRaspberry Pi 5 Model B (RPi5)やRaspberry Pi 4 Model B (RPi4)で動かしていても,Slackware ARM/AArch64よりもRaspberry Pi OS (RPiOS)方がデスクトップ環境もアプリも動作がきびきびしているということです.

そして,Slackware ARM (32bit) 15.0やSlackware AArch64 CurrentではSDDMが動かない.

Firmware的な違いとしては,RPiOSではGraphics ProcessorがV3Dなのに対し,Slackware ARM/AAarch64ではllvmpipeであるということです.

そんなものなのかなあと思って使ってきましたが,昨日のことですが,Slackware ARM/AArch64の/boot/config.txtでは,

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

なのに対して,RPiOSでは,

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d-pi5
max_framebuffers=2

となっているのに気が付きました. “-pi5” が必要なのか! ということで,Slackware AArch64にも “-pi5” をつけたところ,ちゃんとKDEのAboutでV3DがGraphics Processorとして使用されていることが確認できました.

同様に,RPi5におけるManjaro ARM(64bit)とRPi4におけるSlackware ARM(32bit) 15.0でもV3DがGraphics Processorになっていることを確認しました.

V3Dだと,Slackware ARM (32bit)およびAArch64でSDDMが動きますし,KDE Plasma DesktopのいくつかのDesktop Effectが利用できるようになります.

そして,Firefoxが付いてないSlackware ARM 15.0のWebブラウザーであるFalconとKonquarorがなんとか耐えられるレスポンスで動くようになりました.

ただし調子に乗ってFalconでhttps://fast.com/を開くとデスクトップが固まります😅

当然ながらRPi4の場合は,
# Enable DRM VC4 V3D driver 
dtoverlay=vc4-kms-v3d-pi4 
max_framebuffers=2

です.

QEMUでDOSアプリを動かす(1)

Windows 10をMac mini (Intel)のVMWareで動かしていますが,その目的は現在ではDOSアプリであるアマチュア無線用ログソフト(以下 “ログソフト”)を動かすためだけです

Windows 10になってDOS窓内での日本語入力ができなくなってしまいました.そこで現在,日本の地名などもローマ字書きしています.そのWindows 10のサポートは既にメインストリームサポート期間を終了して,セキュリティー対策等だけの延長サポート期に入っています.延長サポートも2025年10月15日に終了するそうなので,そろそろ対策を考え始めないといけません.

現在Windows 11が動くハードウエアも仮想マシンも持っていません.11でも多分DOS窓内で日本語入力は保証されていないでしょうから,そのDOS窓を開くだけのためにハードや仮想マシンやWindowsのライセンスへの新たな投資はバカバカしいです.

ずいぶん昔はLinuxマシン上でDOSEMUというi486エミュレーター上に日本語サポートされたFreeDOSを走らせてそこでログソフトを動かしていました.しかし,x86系のCPUを搭載したLinuxマシンを常用しなくなったこともあり,Windows 8.1→10のDOS窓内で動かしていた次第です.

DOSEMUの開発はとっくに終わっていて,今日のGCCでは自力でbuildもできません.

しかし世の中には同じようなことを必要としたりより高いスキルで解決したりする人がいるようで,自分が今日いじっているdistroを確認したところ,Manjaroには正規にパッケージがあります.また,Slackwareは好事家が作ったパッケージをまとめているサイトSlackBuildsbuild用スクリプトがあります.

Debianについては,開発元が開発をやめた関係で,4年前にUnstableからも外されていました

早速試してみたところ,Manjaroはそれこそ,

pacman -S dosemu

だけでインストールが済みました.また,SlackBuildsも,

sbopkg -i gcc5
sbopkg -i dosemu
sbopkg -i dosemu-fonts

で,かつてx86で動かしていたサブディレクトリーをコピーしてからC:, D:にそれぞれ割り付けることで動作確認できました(Manjaroは動作確認してません).

DOSEMUのいいところは,LinuxのファイルシステムのサブディレクトリーをC: D:ドライブに割り当てることができることで,他のエミュレーターのようにディスクイメージが必須ではありません(ディスクイメージも使えます).

これはなかなか塩梅が良く,DOS用ログソフトのデータファイルをLinuxのファイルシステムにおいたまま読み書きし(ログソフトでは新しい交信データを追記していくのがほとんどです),Linux上で自作スクリプトでMariaDBとやりとりできますし,Linux用のバックアップソフトでも更新したデータだけのバックアップで済みます.

ただ問題点としては,DOSEMUはCPUのエミュレートはしないため,x86のシステム上でしか動かず,Raspberry Piでは使えません.前述のように,今日x86のLinuxは常用していないのでできればRaspberry Piで動かしたいです.

いちおう,x86マシン上でDOSEMUを動かすというのは保険としてとっておいて,次はなんとかRaspberry Pi上でQEMUを使ってDOSを動かし,目的のログソフトを動かすことを目指します.

あとがき

呆れたことに,全く同じことを3年半前にやろうとしたようです.その成果が残っていないので頓挫したようです.

数年前までは,2〜3のWindows用アプリも動かしていました.
使いやすさが売りのManjaroがこうしたオタクしか使わないパッケージをサポートしているのは意外なようですが,大もとがオタクなArchLinuxなので普通にあるようです.