Skip to content

prerelease SNAPSHOT 2016-06-18-3

Compare
Choose a tag to compare
@Artanejp Artanejp released this 18 Jun 01:57
· 3395 commits to master since this release

** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project **

                                                     June 18, 2016
                        K.Ohta  (whatisthis.sowhat _at_ gmail.com)

1.About

This package is Qt5 porting of Common Source Code Project (CSP)
and built with Qt5, for Windows, built with MinGW(32bit).

Source Code:
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160618-3

Additional INFO:
Binaries will be available, distibute from osdn.jp.
See, https://osdn.jp/projects/csp-qt/ and
https://osdn.jp/projects/csp-qt/releases/ .
Binaries:
https://osdn.jp/projects/csp-qt/releases/65974

2.Background
Common Source Code Project (CSP) is good emulator writing.
It also distributed with GPLv2, this is good for me.
But codes are specified to M$ Visual C.
I'm using GNU/Linux, and I starting to apply FM-7(or later).
So, I start to port to GNU/Linux and using Qt4/Qt5.

What you need at least:
a. Qt5 (neither Qt3 and Qt4) toolkit.
b. Some OpenGL implementation, maybe at leaset OpenGL v2.x .
c. gcc / g++ (4.7 or later? ) or llvm clang / clang++ (3.5 or later?) toolchain.
d. SDL2 (not SDL1.x).
e. CMake 2.8 or later.

  • TIPS: If emufoo.exe don't show screen drawing, set environment
    variable QT_OPENGL to software (i.e. Using Windows as VirtualBox's gueat OS).

3.How to build:
After extracting (or git pulled) sourcecodes:
$ cd {srctop}/source/build-cmake/{Machine name}/
$ mkdir build
$ cd build

To configure:
$ cmake ..
or
$ ccmake ..

To build:
$ make

To install:
$ sudo make install

4.Qt specified notice:
・Place R@Ms under $HOME/emu{Machine Name}/ , this directory has made
after first using.
・Config file, {foo}.ini is writteon on $HOME/.config/emu{Machine Name}/ .

5.Status
a. I tested to build only under Debian GNU/Linux "sid".
But, perhaps, will succed to build another GNU/Linux OSs or BSD OS variants.

  • On windows, using MinGW is already okay, but not tested drawing.
  • Cross building with GNU/Linux's MinGW32 and Qt5.5.1 (for MinGW) is available.
    Modify and use build-cmake/config_build_cross_win32.sh and related *.cmake files.
  • And, you can also build with M$ Visual Studio 2013 or 2015.

b. Now, I using Qt5 as toolkit, because authors of Qt announced
"Qt4 is obsolete, will be updated no longer".

c. All of virtual machines are already ported to Qt (On Oct 29, 2015):
d. Now using GCC-6.1 with Link Time Optimize to build for distrubuted binaries.

Upstream repositry:
https://github.com/Artanejp/common_source_project-fm7

Project Page:
https://osdn.jp/projects/csp-qt/

Upstream (Takeda Toshiya San's original code)
http://homepage3.nifty.com/takeda-toshiya/

Changes:

  • SNAPSHOT June 18, 2016
    • Upstream 2016-04-13 .
    • Build with FFMPEG 3.0.2 .
    • [MOVIE_SAVER] More safer open/close.
    • [MOVIE_SAVER] Fix deadlock when closing movie.
    • [MOVIE_SAVER] Selectable both MPEG4v1 and H.264(libx264) for video codec.
    • [MOVIE_SAVER][Qt] Temporally set video-codec to MPEG4 (not AVC).
      This is issue of discard frames with libx264 by ffmpeg's libavcodec/libavformat.
      This seems to be ffmpeg's issue, not my program.
    • Build with 629f7d7 (or later).

-- Jun 18, 2016 03:32:06 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT June 11, 2016
    • Upstream 2016-04-13 .
    • Use osdn.jp to distibute binaries.
      https://osdn.jp/projects/csp-qt .
    • [MOVIE_SAVER] Use ffmpeg internal aac codec, because faac or fdk_aac are not Free .
    • [VM/MOVIE_SAVER] Fix stopping when changing cartridge, now refer to upstream (split movies).
    • [Qt/Win32] Fix not work with WindowsXP, using homebrew version of ffmpeg-2.8.7.
    • Build with 89d31ce (or later).

-- Jun 11, 2016 05:09:55 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT June 09, 2016
    • Upstream 2016-04-13 .
    • Now, all of binaries are built with ffmpeg-2.8.7 at GNU/Linux, with ffmpeg-3.0 at Windows.
    • Please read README.ffmpeg.txt .
    • [FM7/Disk] Add exceptions for Xanadu Scenario 2, this has not booted with changes 49dceac .
    • Build with 64df71c (or later).

-- Jun 09, 2016 05:50:50 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT June 08, 2016
    • Upstream 2016-04-13 .
    • Add movie saver, using libav with x264.
    • Now, all of binaries are built with ffmpeg-3.0.
    • Build with 2142d5c (or later).

-- Jun 08, 2016 07:34:45 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT May 23-2, 2016
    • Win32 binary only RELEASE
    • Fix unable to run with some natibve Windows environment.
    • Build with c1448dc .

-- May 24, 2016 22:42:00 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT May 23, 2016
    • Upstream 2016-04-13 .
    • [Win32] Now built with -msse -msse2 . You can run only later than Pentium4 .
    • Move FILEIO:: FIFO:: COMMON:: to libCSPemu_utils .
    • Make OSD:: to inherited by OSD_BASE:: .
    • [Win32] Disable LINKFLAGS with "-static-libgcc -static-libstdc++" to reduce size of executions, now, bundled libstc++ is for gcc-5 .
    • [Win32/Build] Support build with MSYS2 (but not display because MSYS2's Qt was build without OpenGL).
    • [Linux] Build shared libraries with Link-Time-Optimize, reduce size of libs.
    • [X1/VM] Configurable buttons for X1/Turbo/Turbo Z.
    • [FM7/FDC] Set MB8877_NO_BUSY_AFTER_SEEK. Fixed unable to boot OS0. Thanks to Anna_Wu.
    • [FM77AV/MB61VH010] ALULINE: Reduce CPU usage (at delta X > delta Y).
    • [UI/Qt/DRAW] Fix crash sometimes when exit emulator.
    • Build with 1c1ddc8 (or later).

-- May 23, 2016 02:22:07 +0900 K.Ohta whatisthis.sowhat@gmail.com

Upstream changes:

4/13/2016

[WINMAIN] improve auto key for the case to switch upper/lowercase with capslock
[EMU/DEBUGGER] fix issue that u command may cause the infinite loop

[VM/DATAREC] support to detect the frequency of signal
[VM/DATAREC] fix to always adjust zero position of wave signal
[VM/UPD1990A] fix not to check clk signal is low when stb signal is raised
[VM/UPD7810] support debugger
[VM/UPD7810] support MOV A,S opecode
[VM/UPD7810] fix not to change V register (thanks PockEmul)

[PC2001] support NEC PC-2001
[PC2001] fix cpu clock
[PC2001] support beep sound
[PC2001/IO] support rtc control signals
[YALKY] support Yuasa Kyouiku System YALKY
[YALKY/IO] improve data recorder controller


Have fun!
-- Ohta.