はじめてのDOSBox
DOSBox for beginners
１、 自己紹介 Self introduction
２、DOSBoxとは？ About DOSBox?
３、DOSBox 0.74 VS 最新SVN Build
4、とりあえず使ってみる
5、Windows9xのインストール
6、AndroidとiOSのDOSBox
7、最新版 SVN Build方法
8, Next My Presentations OSC Nagoya,Taiwan MOPCONTokaido Linux Users Group
2016/2/20 13:00~
Place：名古屋 Nagoya
昭和生涯学習センター 第２和室

1

Android版DOSBox Turbo+無敵CD-928

This Presentation:
Slideshare & PDF files
publication of my HP
http://kapper1224.sakura.ne.jp

Speaker：Kapper

2

Self Introduction●My name: Kapper●

Twitter account：＠kapper1224●

HP：http://kapper1224.sakura.ne.jp●Slideshare: http://www.slideshare.net/kapper1224●My Hobby：Linux、*BSD、and Mobile ARM Devices●My favorite words：Record than experiment important●●Test Model：Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi
Nexus7(2012、2013)、Hercules eCAFE EX HD、Jetson TK-1、
OpenPandora、ARM Chromebook、ZTE OPEN C（FirefoxOS）
台湾Android電子辞書 無敵CD-920、CD-928
Recent Activity：Netwalker on the Linux from Scratch.
Hacking of Android Nexus7.
I have recently often use the ARM Chromebook.

Recent test

こんな事やってます3

1.Linux distributions on Android

2. Hacking with SmartWatch

3. Windows and Wine on ARM

4. Plesentations in Asia(HongKong,Taiwan)
Opensouce Conference

4

今回のテーマ●This Presentation

DOSBoxでWindows9xやアプリを動かしたい人向け
To emulate the x86 from ARM devices●

スマホやタブレットでWindows9xしようぜ

To emulate Windows9x from ARM Smartphones and Tablets.
●

Gameや言語、エディタや各種アプリまで

To Game,language, editor and any applications.
●

海外で発表する資料と共有する為に一部英語で作っています。
ご了承願います。
I am made presentation materials in English and Japanesein order to share content and information for any countries
presentations. Please understand.

5

DOSBoxとは？
About DOSBox?

x86 Emulation on DOSBox●

DOSBoxとはi386〜i586エミュでWindows9xや色々なアプリが動作DOSBox can operate 〜Windows9x in the i386〜i586 emulator●

DOSBoxは様々なモバイルOSに移植されて動く特徴があります。

DOSBox has been ported MobileOSs, about Android, iOS, WindowsMobile,Blackberry, PSP, Vita, 3DS and others.
●

DOSBoxは独自に進化した高度なUIとドライバがあり、ゲームに最適
最近はWindows9xゲーム向けに加速的に進化しています。

DOSBox has its own evolved advanced UI and the driver, the best in thegame.Recently, they are accelerating the evolution in for Windows9x game.

DOSBox on Android Wearhttps://youtu.be/GZx-LJH5J_I

DOSBox on iOS
https://www.youtube.com/watch?v=ZgX2BkM_6q4

DOSBox on 3DS6ｘ８６ Emulations on ARM Devices

7VMWare and Virtualbox are not working on ARM devices.(Only x86)
Emulation

OS

Qemu

LinuxAndroid
RaspberryPi
LinuxAndroid
RaspberryPi
Linux
RaspberryPi
Linux
RaspberryPi
LinuxAndroid
RaspberryPi
iOS,DS,PSPLinux
Android
RaspberryPi
iOS,PSPLinuxAndroid
RaspberryPi
iOS

Qemu+Wine
Exagear-Desktop
Exagear-Desktop+Wine
DOSBoxBochs

XNP2（PC-98Emulation）

Root
DeviceNo

Emulated OS

Spec

Comment

Windows
MacOSX?
Linux,*BSD
Required +Windows APP

Slow

Required Ubuntu,Debian

Fast

Required Ubuntu+Wine
Windows APP
NoDOS,
WIndows9x(i386〜i586）

Fast

No

Windows〜XP(i386〜x86-64)
Linux,*BSD

Slow

Tegra K-1
⇒PenⅡ 266MHz
Ver1.5〜(ARM GUI)
Difficultkernel 3G/1G only
chroot environment
Tegra K-1
⇒Pen4 1.8GHz
Tegra K-1
⇒Pen4 1.8GHz
Tegra K-1
⇒PenⅡ 200MHz
NEON Supports
Voodoo1+Glide
Tegra K-1
⇒PenⅡ 266MHzNoDOS、Windows95？

Slow

Slow

Slow

Tegra K-1⇒？

Internet dogmatic investigation of Kapper (if I wrong it, I'm sorry. )ご質問

Question

１．MSDOSを使ったことがある？
Have you ever use MSDOS?

２．コマンドライン問題ないぜ？

Can you use the MSDOS command line?

３．Windows95初代のインストールをした事がある？
Have you ever install Windows9x?

４．WindowsME用ブートFDD最強？
The Boot FDD for WindowsME is great？

５．Config.sysとかAutoexec.batとか書けるぜ？
⇒書けなくてもたぶん全く問題ないです
Can you write Config.sys and Autoexec.bat?
⇒You do not have a problem even without write them.

６．HIMEMとかDPMIとか楽勝？640kb制限何それ？
⇒一部を除けばキニシナイキニシナイ、多分
７．タブレットやスマホでWindows9xを動かしたい？
８．RaspberryPiでもDOSを使おう

89

始める前に・・・注意！
Warning!
DOSBoxはリリース版の0.74と最新のSVNバージョンでは世代的に機能が大きく違います。
可能な限り、SVNバージョンを導入しましょう。
DOSBox have a many difference between the 0.74 and theSVN build.As much as possible, Let's use DOSBox SVN build.

DOSBox ver 0.74 VS the SVN build

10Difference from the 0.74 to the SVN (Source: http://ykhwong.x-y.net/)
Release day

Ver 0.74
2010/5The SVN Build
Daily?, monthly?

CPUi286〜Pentium+Pentium_MMX

CD-ROM Boot

NG(mount)

OK

ATAPI Suppot〜SVN〜SVN

TCP/IP

IPX:NE2000

Glide+D3D(Win9x)
Bugfix
IPX:NE2000

Sound

MSCDEX
MPU401
Soundblaster

MIDIVideo

Svga_s3
CGA,EGA,VGA

Disk

503MB（boot disk)

MSCDEX,MPU401
Soundblaster cdaudio control
MT-32 emulation FIx+S3 801/805 driver(Win9x),Svga_S3
D3dx9 FixLarger than 8GB(boot disk)

Voodoo GlideOthersー

ARMv7 dynrec core
FreeDOS command
SSE2,3DNow(base)

Internet dogmatic investigation of Kapper (if I wrong it, I'm sorry. )Comment
About 6 yearsago
MMX Support

ModemSupport

Win9x support
Bootdisk

起動するとこんな画面。
なんだか良く分からない？
The Screen after you start←CPU命令数 cycles、Flameskip←解説←explanation←コマンド説明Command←起動ドライブZ（作業用）
Boot drive Z

11

MSDOSのFreewareをダウンロード

12

Download MSDOS Freeware●●
MSDOSの究極のアプリをMSDOSのゲーム集めたリンク集2015年
Feeware、Shareware、Demoを集めた合法サイト http://www.opus.co.tt/dave/http://www.dosgamesarchive.com/

とりあえずAcid Tetrisを遊んでみる

Play Acid Tetris is freeware for MSDOS●
実ストレージ、HDDをマウント（好きなディレクトリを指定）
mount c /home/〜ｃｄ c:
もしくは端末から、# dosbox /home/(user）/（folder）/●

実行（ダウンロードして~/ACIDに解凍した実行ファイル）
SABA.EXE （〜.EXEか〜.bat、〜.comファイル）←HDDマウント mount←Cドライブ移動 Change C drive←ディレクトリ移動 Change directory←アプリ実行 run the app

13

MSDOSのDemoをダウンロード●

MSDOSを含めた全ての機種のDemoや音楽を集めた驚異の超サイト
https://www.pouet.net/prodlist.php?

14とりあえずSecond Realityを再生●●

実ストレージ、HDDをマウント（好きなディレクトリを指定）
mount c /home/〜ｃｄ c:
もしくは端末から、# dosbox /home/(user）/（folder）/
実行（ダウンロードして~/Secondに解凍した実行ファイル）
2NDFIX.EXE （〜.EXEか〜.bat、〜.comファイル）←HDDマウント←Cドライブ移動←ディレクトリ移動←アプリ実行15

とりあえずDOS版MUGENを遊ぶ●●

実ストレージ、HDDをマウント（好きなディレクトリを指定）
mount c /home/〜ｃｄ c:
もしくは端末から、# dosbox /home/(user）/（folder）/
CWDPMI.EXEを同じフォルダに置いて実行
MUGEN.EXE （〜.EXEか〜.bat、〜.comファイル）←HDDマウント←Cドライブ移動←ディレクトリ移動↑CWDPMI.EXEを同じフォルダに←Cycles数変更←MUGEN.EXE実行

16

Autoexec.batにコマンドを追記
ｍountコマンドとか毎回入力するの面倒なのでautoexec.batに書き込んで起動時に実行させる●.dosbox/dosbox-0.74.confの最後の行に実行させるコマンドを追加する（SVN Buildの場合は.dosbox/dosbox-SVN.conf)●←コマンドを追加

17

DOS（PC/AT）のドライブ構成●●

実ストレージ、HDDイメージはある程度決め打ちされている
A:フロッピーディスクドライブ #01
B:フロッピーディスクドライブ #02
C:ハードディスク内起動可能パーティション #01
D:ハードディスク内起動可能パーティション #02
もしくはCD-ROMドライブ↓
Z:DOSBox指定の作業用ファイル置き場ドライブ
フロッピーディスクイメージは主にA: B：にハードディスクイメージは主にC：以降
CD-ROMドライブイメージは主にD：以降

18

DOSBoxの基本メモリ構成●

初期設定で、コンベンショナルメモリ632kb、UMB63kb
プロテクトメモリ14,912kb確保されていますので、特殊な設定抜きでかなりのアプリが動作するはずです。

19

DOSBoxの基本コマンド●使うと便利なコマンド一覧

commandSave

Internal Programs

Commentmount

mount c /home/(kapper1224)/
mount -u cMount storageumount

imgmount

imgmount c hd0.img

Mount img

bootboot -l c

Boot img

cyclescycles=30000
cycles=auto
cycles=max

Speed change「Ctl」+「F5」Save screenshot「Ctl」+「F5」+「Alt」

Save Video「Ctl」+「F7」Decrease
Flameskip「Ctl」+「F8」Increase
Flameskip「Ctl」 + 「F9」Kill DOSBox「Ctl」+「F10」Mouse OFF「Ctl」+「F11」Speed down「Ctl」+「F12」Speed up

「Ctl」+「Enter」

Full screen

20

Windows9xのインストール
●

●

●

●

21

Windows9xをインストールするにはHDDイメージをBochsで作成し、フォーマットしてからインストール
DOSBox 0.74では500MBまでのHDDイメージしか起動できない（SVN Buildで対応済）
DOSBox 0.74ではATAPIドライバが対応していないのでCD-ROMブートが出来ない。DiskExprolerでWindows9xファイルを直接コピーしてから実行する必要がある（SVN Buildで対応済）
必要なもの
１．Bochs本体：

HDDイメージ作成用です

２．DOSBOX本体：

エミュ本体

３．Windows9x CDROM
４．Windows98SE他 FDDイメージ： 各自入手で。
FreeDOSのFDDイメージはFDISKとFormatが無いので注意。
５．DiskExplorerかループバックディスクマウント：
HDDイメージにWindows95インストールファイルをコピーします。

Windows9xのインストール●

HDDイメージファイル作成にはbochsのbximageコマンドを使用←ｈｄ：HDD←flat←503: 503MB←HDDイメージ名

22

Windows9xのインストール●

DOSBoxを起動してFDD、HDDイメージをマウント●

FDDイメージを起動。MS-DOSよりHDDをFDISK、Format●

DiskExploerかLoopMountでWindowsのCD内ファイルをコピー

DiskExpｌoer←ドライブをマウント←C:Cドライブへ移動←HDDイメージをマウント←FDDイメージでBoot←HDDをFDISK、Format

23

24

Windows9xのインストール●

設定ファイルの.dosbox/dosbox-0.74.confを編集「machine=svga_s3」を「machine=vgaonly」変更「memsize=16」を「memosize=31」変更「cputype=auto」を「cputype=pentium_slow」変更「cycles=auto」を「cycles=30000」変更
で保存して再びDOSBox起動。
Emulations Speed(Cycles)

Dosbox-0.74.conf←VGA変更（多分svga_ｓ3でも問題なし）←変更（多分問題なし）

Emulation CPU

Cycles8088 4.77 MHz

315

286 12.5MHz

2750

Default

3000

386 33MHz

7800

486 66MHz

26800

Pentium 100MHz 77000
PenitumⅡ300MHz

200000Windows9xのインストール●

DOSBoxを起動しcycles=36000でCPU処理速度を変更（インストールが遅いから）●

MountしてFDDイメージから起動●

Windows9xのSetupプログラムを起動←Cドライブへ移動←CPUスピード変更←マウント←Setupプログラムを起動←Cドライブへ移動←HDDイメージをマウント←FDDイメージから起動

25

Windows9xのインストール●

インストールが終了したら、再度DOSBOXを再起動●

imgmountでHDDイメージをマウント●

boot -l c でマウントしたHDDイメージを起動↑HDDイメージをマウント↑FDDイメージから起動

26

android版とiOS版DOSBox●●

AndroidやiOSでも同じ様にDOSBoxが使えます。機種を選びません。これが一番の長所です。
色々な機種やOSでDOSBoxを動かして、DOSやWindows9xを是非動かしてみましょう

Android版DOSBox Turbo

iOS版 iDOS

27

Javascript版EM-DOSBox●●

ブラウザ上で動作するDOSBoxも公開されゲームやWindows9x動作
実用性はともかく色々な機種やOSでDOSBoxを動かして、DOSやWindows9xを是非動かしてみましょう
https://win95.ajf.me/

Android版DOSBox Turbo

iOS版 iDOS28

DOSBox推定動作スペック●29

Android版DOSBox Turboは何故か動作速度が遅め

ARM Android

Emulations Cycles=

x86

Emulations Cycles=

Cortex A8 (1Ghz)

486@33-40Mh

Pentium Pro 200 MHz

286 6 MHz

Snapdragon S3(MSM8260 1.5Ghz)

486@50Mhz

Pentium II 350 MHz

386SX 25 MHz

Nvidia Tegra2 CPU(1Ghz)

486@66-80Mhz

Pentium III 1.0 GHz

486 66 MHz

Pentium 4 3.0 GHz

Pentium 133 MHz

A9/Exynos Processor(Galaxy II @ 1.2Ghz)

486@75-90Mhz

Core 2 Duo 3.3 GHz

Pentium II 300 MHz

Snapdragon S4 Pro(1.5 Ghz - Nexus 7[2013])

Pentium 60 Mhz

Core i5 4xxx 4.0 GHz

Pentium III 500 MHz

Nvidia Tegra3 CPU(1.5Ghz)

Pentium 60-75Mhz

Samsung Exynos (1.6Ghz - Galaxy Note II)

Pentium 75 - 90

Snapdragon 800(2.26 Ghz - Nexus 5)

Pentium 75 - 90

Source：https://sites.google.com/site/dosboxturbo/performance

Source：http://www.dosbox.com/wiki/PerformanceDOSBox Performance Optimized●30

使わない機能のOFFにする事でちょっとだけ高速化

ARM Android

Emulations

3Dfx EmulationOFF

GPU RenderingON

Turbo Cycles

ON

Turbo VGAON

Turbo AudioON

Frame skip

2~4PC Speaker

OFF

Virtual JoystickOFF

Virtual ButtonsOFF

ISA PnPOFF

IPX Networking

OFFCPU CoreCPU Type

DynamicAuto

CPU Governor

Interactive

Source：https://sites.google.com/site/dosboxturbo/performancex86

Emulations Cycles=

Source：http://www.dosbox.com/wiki/PerformanceDOSBox最新版 SVN Build●●●

色々な新機能を使うために、最新SVN Buildを行います。
常にDOSBoxの最新版をビルドして使う事をお勧めします。
sudo apt-get build-dep dosbox
sudo apt-get install libsdl1.2-dev libsdl-net1.2-dev libsdlsound1.2-dev libasound2-dev libpng12-dev automake
autoconf zlib1g-dev subversion
SVNでソースコードをダウンロード。
svn checkout svn://svn.code.sf.net/p/dosbox/code0/dosbox/trunk dosbox●

ビルドします。
cd dosbox./autogen.sh./configure
makesudo make install31

Next My Presentation
OSC Nagoya、Kyoto、Taiwan MOPCON

32

OSC Nagoya Kyoto、and Taiwan MOPCON
my exhibition schedule●Content:OSC Nagoya:Hacking of Android？
:OverSea:Hacking with ARM devices●
FOSSASIA2016 Singapole 3/18〜20
OSC Nagoya 5/28
HongKong OSC 6/M？
OSC Kyoto 8/E？
Taiwan COSCUP 8/M？
KOF(Kansai Open Forum) 11/?
Taiwan MOPCON 10/E？
●●・・・And Tokaido Linux Users Group