OSDN Git Service

[DOC] Update documents.
[csp-qt/common_source_project-fm7.git] / source / readme_by_artane.txt
1 ** Qt porting for Common Source Code Project **
2                                            May 11, 2016
3               K.Ohta <whatisthis.sowhat _at_ gmail.com>
4
5 * If you can't read Japanese, read readme.qt.txt .
6
7 0. 概要
8    このパッケージは、Common Source Code Project (以下、CSP)
9    をQt5に移植したものです。
10    バイナリはGNU/Linux(64bit)用とMinGW (32bit Windows)用を
11    用意しています。
12    
13 1. 背景
14    CSPは、非常に優れた構造のエミュレータです(しかし、些か重くてコンパイラ
15    がいい最適化をしないと重めですが)。
16    しかし、このコードはM$ Visual C++依存の部分が非常に多いです。
17    そこで、GNU/Linuxでこれを動かすためにQtに色々と移植していきましょう。
18    と言う感じで作業をはじめました。
19
20 2. 最低限必要なもの(Qt版)
21    a. Qt5 ツールキット
22    b. OpenGL, 多分、最低OpenGL 3.0は必要です。 (New!)
23    c. gcc / g++ (4.7以降?)もしくは llvm clang / clang++ (3.5以降?)
24       コンパイラツールチェーン。
25    d. SDL2 (SDL 1.xではないので注意)
26    e. CMake 2.8以降。
27    
28    * Windows もしくは GNU/Linux のcross tool chain (要Wine)で、
29      MinGW と Qt 5.5.1 でのビルドができることを確認しました。
30      
31    * TIPS:
32      Windows等で動かした時に、画面の書き替えが表示されない場合は、
33      環境変数 QT_OPENGL を software にしてみてください。(例えば、
34      WindowsをVirtualBoxのゲストで使ってる場合など)
35      
36 3. ビルドの方法
37    ソースコードを解凍するか、git clone / pull した後で:
38    $ cd {srctop}/source/build-cmake/{Machine name}/
39    $ mkdir build
40    $ cd build
41    
42    To configure:
43    $ cmake ..
44    or
45    $ ccmake ..
46
47    To build:
48    $ make
49
50    To install:
51    $ sudo make install
52
53 4. Qt固有の話(Windows除く)
54    ・R@Mを $HOME/emu{Machine Name}/ に配置してください。(Windowsの場合は今の所 .\emu{Machine Name}\)
55     なお、このディレクトリは最初起動した後で作成されます。
56    ・設定ファイルは、$HOME/.config/emu{Machine Name}/ に書き込まれます。(Windowsの場合は今の所 .\.config\emu{Machine Name}\)
57    ・ステートセーブファイルは、$HOME/emu{Machine Name}/{Machine Name}.sta に書き込まれます。
58    ・キーコード変換テーブルファイルが、$HOME/.config/emu{Machine Name}/scancode.cfg に書き込まれます。
59      書式は、カンマで区切られた16進データです(10進ではないので注意) .
60      1カラム目はM$ ヴァーチャルキーコード。
61      2カラム目はQtネィティブのスキャンキーコードです。
62    ・UI部分の共通コンポーネント (src/qt/gui) を共有ライブラリlibCSPgui.soにまとめました。
63    ・インストール用のBASHスクリプトを用意しました。src/tool/installer_unix.shです。
64    
65      
66 5. 移植状況
67    a. 現在、Debian GNU/Linux "sid" の AMD64版でしかテストしていません。
68      が、多分他のGNU/Linux OSやBSD系のOS (Mac含む) でもビルドすれば
69      動くでしょう。
70       Windows もしくは GNU/Linux(要Wineとbinfmt-support)上でのMinGWと
71       Qt community edition でのビルドが通るようになりました。
72       安定したWindowsビルドを必要な方は、Visual Studio 2013 か 2015 のCommunity Edition
73       でビルドしてください。(もう少ししたら、MinGWに切り替えようとは思ってます。)
74       
75    b. 今は、Qtの開発側が「Qt4おわりね」とアナウンスしたので、Qt4ではなく
76       Qt5を使っています。
77       添付してあるバイナリは、Qt 5.5でビルドしました(が、Qt 5.1以降なら動くはずです)。
78
79    c.上流の2016-04-17現在でのPX7以外の全ての仮想マシンがQtに移植出来ています。
80    d. Linux用ビルドでは、GCC 6をリンク時最適化(LTO)モードで使っています。
81    
82 6. Upstream repositry:
83       https://github.com/Artanejp/common_source_project-fm7
84       https://www.pikacode.com/Artanejp/common_source_project-fm7/
85
86 7. Upstream (Takeda Toshiyaさんのオリジナル) 
87       http://homepage3.nifty.com/takeda-toshiya/
88
89 お楽しみあれ!
90 -- Ohta.