1 ** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project **
4 K.Ohta (whatisthis.sowhat _at_ gmail.com)
8 This package is Qt5 porting of Common Source Code Project (CSP)
9 and built with Qt5, for Windows, built with MinGW(32bit).
12 https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160618-2
15 Binaries will be available, distibute from osdn.jp.
16 See, https://osdn.jp/projects/csp-qt/ and
17 https://osdn.jp/projects/csp-qt/releases/ .
27 Common Source Code Project (CSP) is good emulator writing.
28 It also distributed with GPLv2, this is good for me.
29 But codes are specified to M$ Visual C.
30 I'm using GNU/Linux, and I starting to apply FM-7(or later).
31 So, I start to port to GNU/Linux and using Qt4/Qt5.
33 What you need at least:
34 a. Qt5 (neither Qt3 and Qt4) toolkit.
35 b. Some OpenGL implementation, maybe at leaset OpenGL v2.x .
36 c. gcc / g++ (4.7 or later? ) or llvm clang / clang++ (3.5 or later?) toolchain.
38 e. CMake 2.8 or later.
40 * TIPS: If emufoo.exe don't show screen drawing, set environment
41 variable QT_OPENGL to software (i.e. Using Windows as VirtualBox's gueat OS).
45 After extracting (or git pulled) sourcecodes:
46 $ cd {srctop}/source/build-cmake/{Machine name}/
61 4.Qt specified notice:
62 ・Place R@Ms under $HOME/emu{Machine Name}/ , this directory has made
64 ・Config file, {foo}.ini is writteon on $HOME/.config/emu{Machine Name}/ .
67 a. I tested to build only under Debian GNU/Linux "sid".
68 But, perhaps, will succed to build another GNU/Linux OSs or BSD OS variants.
69 * On windows, using MinGW is already okay, but not tested drawing.
70 * Cross building with GNU/Linux's MinGW32 and Qt5.5.1 (for MinGW) is available.
71 Modify and use build-cmake/config_build_cross_win32.sh and related *.cmake files.
72 * And, you can also build with M$ Visual Studio 2013 or 2015.
74 b. Now, I using Qt5 as toolkit, because authors of Qt announced
75 "Qt4 is obsolete, will be updated no longer".
77 c. All of virtual machines are already ported to Qt (On Oct 29, 2015):
78 d. Now using GCC-6.1 with Link Time Optimize to build for distrubuted binaries.
81 https://github.com/Artanejp/common_source_project-fm7
84 https://osdn.jp/projects/csp-qt/
86 Upstream (Takeda Toshiya San's original code)
87 http://homepage3.nifty.com/takeda-toshiya/
91 * SNAPSHOT June 18, 2016
92 * Upstream 2016-04-13 .
93 * Build with FFMPEG 3.0.2 .
94 * [MOVIE_SAVER] More safer open/close.
95 * [MOVIE_SAVER] Fix deadlock when closing movie.
96 * [MOVIE_SAVER] Selectable both MPEG4v1 and H.264(libx264) for video codec.
97 * [MOVIE_SAVER][Qt] Temporally set video-codec to MPEG4 (not AVC).
98 This is issue of discard frames with libx264 by ffmpeg's libavcodec/libavformat.
99 This seems to be ffmpeg's issue, not my program.
100 * Build with fa5fa3841386d84736b5a80b444d6afc996c59cd (or later).
102 -- Jun 18, 2016 01:05:03 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
104 * SNAPSHOT June 11, 2016
105 * Upstream 2016-04-13 .
106 * Use osdn.jp to distibute binaries.
107 https://osdn.jp/projects/csp-qt .
108 * [MOVIE_SAVER] Use ffmpeg internal aac codec, because faac or fdk_aac are not *Free* .
109 * [VM/MOVIE_SAVER] Fix stopping when changing cartridge, now refer to upstream (split movies).
110 * [Qt/Win32] Fix not work with WindowsXP, using homebrew version of ffmpeg-2.8.7.
111 * Build with 89d31ce8daa733ea4a0c38f0a1890d3a0fcfce38 (or later).
113 -- Jun 11, 2016 05:09:55 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
115 * SNAPSHOT June 09, 2016
116 * Upstream 2016-04-13 .
117 * Now, all of binaries are built with ffmpeg-2.8.7 at GNU/Linux, with ffmpeg-3.0 at Windows.
118 * Please read README.ffmpeg.txt .
119 * [FM7/Disk] Add exceptions for Xanadu Scenario 2, this has not booted with changes 49dceaca9401d3c6037cb51ec013ca032ff0e83c .
120 * Build with 64df71cd492be91289f883224640f42cace090ed (or later).
122 -- Jun 09, 2016 05:50:50 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
124 * SNAPSHOT June 08, 2016
125 * Upstream 2016-04-13 .
126 * Add movie saver, using libav with x264.
127 * Now, all of binaries are built with ffmpeg-3.0.
128 * Build with 2142d5c7426e21cfeedbaea0450f238f8b4d7d38 (or later).
130 -- Jun 08, 2016 07:34:45 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
132 * SNAPSHOT May 23-2, 2016
133 * Win32 binary only RELEASE
134 * Fix unable to run with some natibve Windows environment.
135 * Build with c1448dc84f5439c7c8931614a8397dbefb6383da .
137 -- May 24, 2016 22:42:00 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
139 * SNAPSHOT May 23, 2016
140 * Upstream 2016-04-13 .
141 * [Win32] Now built with -msse -msse2 . You can run only later than Pentium4 .
142 * Move FILEIO:: FIFO:: COMMON:: to libCSPemu_utils .
143 * Make OSD:: to inherited by OSD_BASE:: .
144 * [Win32] Disable LINKFLAGS with "-static-libgcc -static-libstdc++" to reduce size of executions, now, bundled libstc++ is for gcc-5 .
145 * [Win32/Build] Support build with MSYS2 (but not display because MSYS2's Qt was build without OpenGL).
146 * [Linux] Build shared libraries with Link-Time-Optimize, reduce size of libs.
147 * [X1/VM] Configurable buttons for X1/Turbo/Turbo Z.
148 * [FM7/FDC] Set MB8877_NO_BUSY_AFTER_SEEK. Fixed unable to boot OS0. Thanks to Anna_Wu.
149 * [FM77AV/MB61VH010] ALULINE: Reduce CPU usage (at delta X > delta Y).
150 * [UI/Qt/DRAW] Fix crash sometimes when exit emulator.
151 * Build with 1c1ddc85dfa7456b1ce48662c2e2930dcc4fc9d8 (or later).
153 -- May 23, 2016 02:22:07 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
159 [WINMAIN] improve auto key for the case to switch upper/lowercase with capslock
160 [EMU/DEBUGGER] fix issue that u command may cause the infinite loop
162 [VM/DATAREC] support to detect the frequency of signal
163 [VM/DATAREC] fix to always adjust zero position of wave signal
164 [VM/UPD1990A] fix not to check clk signal is low when stb signal is raised
165 [VM/UPD7810] support debugger
166 [VM/UPD7810] support MOV A,S opecode
167 [VM/UPD7810] fix not to change V register (thanks PockEmul)
169 [PC2001] support NEC PC-2001
170 [PC2001] fix cpu clock
171 [PC2001] support beep sound
172 [PC2001/IO] support rtc control signals
173 [YALKY] support Yuasa Kyouiku System YALKY
174 [YALKY/IO] improve data recorder controller