OSDN Git Service

eda02a679974f4cc1f247288d292ab1a141cc452
[csp-qt/common_source_project-fm7.git] / source / readme.qt.txt
1 ** Qt porting for Common Source Code Project **
2                                         July 13, 2018
3               K.Ohta <whatisthis.sowhat _at_ gmail.com>
4
5 0. About
6    This package is Qt5 porting of Common Source Code Project (CSP).
7    
8    Building with GNU/Linux(64bit) and MinGW(32bit Windows).
9    
10 1. Background
11
12    Common Source Code Project (CSP) is good emulator writing.
13    But codes are specified to M$ Visual C.
14    I'm using GNU/Linux, and I starting to apply FM-7(or later).
15    So, I start to port to GNU/Linux and using Qt4.
16    
17    * Note: You can build with MinGW32 and Qt 5.7(for MinGW).
18
19    * TIPS: If emufoo.exe don't show screen drawing, set environment 
20            variable QT_OPENGL to software (i.e. Using Windows as VirtualBox's gueat OS).
21      
22 2. What you need at least:
23
24    a. Qt5 (neither Qt3 and Qt4) toolkit. Recommend to use Qt5.5 or later.
25    b. Some OpenGL implementation, maybe at leaset OpenGL v2.1.
26    c. gcc / g++ (4.7 or later? ) or llvm clang / clang++ (3.5 or later?) toolchain.
27    d. SDL2 (not SDL1.x).
28    e. CMake 2.8 or later.
29    f. libav and libsw from ffmpeg (optional) http://ffmpeg.org/ . 
30
31 3. How to build:
32    After extracting (or git pulled) sourcecodes:
33    $ cd {srctop}/source/build-cmake/{Machine name}/
34    $ mkdir build
35    $ cd build
36    
37    To configure:
38    $ cmake ..
39    or
40    $ ccmake ..
41
42    To build:
43    $ make
44
45    To install:
46    $ sudo make install
47
48 4.Qt specified notice (for non-Windows):
49    ・Config file (scancode.cfg and foo.ini) has placed (moved) to
50      "~/.config/CommonSourceCodeProject/emufoo/"
51      (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
52    ・BIOS, WAVS, BINS and SAVED STATES have placed (moved) to
53      "~/CommonSourceCodeProject/emufoo/"
54      (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
55    ・All of recorded products (PNG Screenshots, MOVIES, SOUNDS) 
56      have *temporally* written to "~/.config/CommonSourceCodeProject/emufoo/"
57      (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
58    ・Added ToolTips and Japanese translations.(2017-01-24)
59    ・Place R@Ms under $HOME/CommonSourceCodeProject/emu{Machine Name}/ , this directory has made
60      after first using.
61    ・Config file, {foo}.ini is written on $HOME/.config/CommonSourceCodeProject/emu{Machine Name}/ .
62    ・Saved state file, {foo}.sta is written on $HOME/CommonSourceCodeProject/emu{Machine Name}/ .
63    ・Key code conversion file is written on $HOME/.config/CommonSourceCodeProject/emu{Machine Name}/scancode.cfg .
64      This file contains comma separated fields, written at hex-decimal (not decimal), 
65      first is M$ Virtual Key Code,
66      second is Qt's scan code.
67    ・Common UI components (at src/qt/gui ) are moved to shared lib. libCSPgui.so .
68    ・Installer (bash) script is available now; src/tool/installer_unix.sh .
69    ・When you place specified WAV files(differ per VM) same directory as ROMs, you can sound sounds: i.e. FDD seek, CMT relay and buttons.
70    
71 5.Status
72 a. I tested to build only under Debian GNU/Linux "sid" and 
73    Ubuntu Linux 16.04LTS (Xenial).
74    But, perhaps, will succed to build another GNU/Linux OSs or BSD OS variants.
75    * On windows, using MinGW is already okay.
76    * Cross building with GNU/Linux's MinGW32 (GCC6) and Qt5.7 (for MinGW) is available. 
77      Modify and use build-cmake/config_build_cross_win32.sh and related *.cmake files.
78    * And, you can also build with M$ Visual Studio 2013 or 2015.
79    
80   b. Now, I using Qt5 as toolkit, because authors of Qt announced
81      "Qt4 is obsolete, will be updated no longer".
82
83   c. All of virtual machines of upstream (@Apr 13, 2016) are ported to Qt.
84   d. Implement socket feature using by MZ-2500, but not enough to test (;´Д`)
85   e. Now using GCC-6 with Link Time Optimize to build for distrubuted binaries.
86
87 6. Upstream repositry:
88
89       https://osdn.jp/projects/csp-qt/
90       
91       https://github.com/Artanejp/common_source_project-fm7
92
93 *Note: Repositry of pikacode has dead X-).
94       
95 7. Upstream (Takeda Toshiya San's original code) 
96       http://takeda-toshiya.my.coocan.jp/
97
98 Have fun!
99 -- Ohta.