Skip to content

prerelease SNAPSHOT 2015-11-20

Pre-release
Pre-release
Compare
Choose a tag to compare
@Artanejp Artanejp released this 20 Nov 07:38
· 3961 commits to master since this release

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

                                                      Nov 20, 2015
                        K.Ohta  (whatisthis.sowhat _at_ gmail.com)

1.About

This package is Qt5 porting of Common Source Code Project (CSP)
and Built with Visual Studio 2015 + DirectX9 + Direct Input 8 for Win32.

Additional INFO:
GNU/Linux with AMD64 binaries and Built with MinGW for Win32 binaries are
avaiable, packed with 7zip'ed format:

 MD5SUM: a090a0c69f40071836b36b532fa3649f
 SHA256SUM: f9d9f18f3d74b4cd27362e7e5350f06b6fc2ff61857fcc1b4d457fcad126e020

https://www.sendspace.com/file/8iqgwy
or
http://www1.axfc.net/u/3569769

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

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-5.2 with Link Time Optimize to build for distrubuted binaries.

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

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

Changes:
*** If you want to know full changes, please read 000_gitlog.txt . ***

  • SNAPSHOT Nov 20, 2015
    • MERGE upstream 2015-11-18 .
    • Remove original definition min() max() if supplied from toolchain.
    • Qt: (MAYBE) Working with Windows XP, but not tested enough to.
    • Fixed typos.
    • Built with commit 4b3f3a7 and newer Documents.

-- Nov 20, 2015 01:08:28 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Nov 17, 2015
    • Qt: (MAYBE) Working with Windows XP, but not tested enough to.
    • Qt: Working Auto key (paste from clipboard) feature.
    • Qt/Emu: More thread-safety calling via UI <-> EMU.
    • VM/MSX2: Fix wrong color built with Qt.
    • Update credits, thanks to umaiboux San.
    • Built with commit 64f9017 and newer Documents.
      Excepts HC-20/40/80, with commit a249e76.

-- Nov 18, 2015 02:01:48 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Nov 14. 2015
    • Qt/GUI: Integrate menus to meta-class.
    • Win32/Qt: Enable to build with MinGW32 and Qt 5.5.1, please test!!!
    • Built with commit 910b3cc excepts with newer documents.
    • A lot of fixes.

-- Nov 14, 2015 20:12:24 +0900 K.Ohta whatisthis.sowhat@gmail.com

Upstream changes:

10/31/2015

[WIN32/INPUT] fix broken auto key function
[WIN32/INPUT] support to notify l/r-shift/control/menu key to virtual machine
[WIN32/SOUND] fix not to create a sound buffer on sound card memory

[FM77AV] import Mr.Artane.'s fixes (Commits on Oct 29, 2015)

10/27/2015

[VM/IO] fix build error
[VM/UPD765A] fix tc signal in exec phase (thanks Mr.PI.)

10/7/2015

[VM/DISK] import Mr.Artane.'s fixes for FM-7 PSY-O-BLADE
[VM/IO] improve debug log for second cpu

[FM77AV] import Mr.Artane.'s fixes (Commits on Oct 2, 2015)

10/6/2015

[WIN32/DEBUGGER] add > command to output the logfile

[VM/UPD7220] support vram data mask to support 12bit vram for MZ-3500
[VM/Z80] improve disassembler for DD/ED/FD opecodes

[MZ3500/SUB] fix character vram bit width
[MZ3500/SUB] fix graphic vram size
[MZ3500/SUB] fix to negate color palette number of kanji character screen

9/30/2015

[EMU/WIN32] fix eFM77AV40/EX menu issues

[VM/TMS3631] add TMS3631 based on Neko Project 2

[MZ3500/SUB] support monochrome mode
[MZ3500/SUB] support vertical/horizontal line
[MZ3500/SUB] fix character color in the case color number is zero
[PC9801] fix PC-9801-26(K) irq number on YM2203 port A
[PC9801] support PC-9801-14

9/29/2015

[EMU/WIN32] fix terrible mistakes (thanks Mr.Artane.)

[VM/DISK] import Mr.Artane.'s fixes for FM-7 PSY-O-BLADE
[VM/MB8877] import Mr.Artane.'s fixes for FM-7 series

[FM77AV] add eFM77AV40/40EX codes (thanks Mr.Artane.)
[FM77AV] import Mr.Artane.'s fixes (from SNAPSHOT 20150926)
[MZ3500/MAIN] support some dip switches
[MZ3500/SUB] support middle resolution monitor and green monitor
[PC9801] support to enable/disable sound board and sound bios

9/26/2015

[MZ3500/SUB] fix kanji character renderer
[MZ3500/SUB] fix character renderer for non transparent black color

9/25/2015

[MZ3500] support HALT button
[MZ3500/KEYBOARD] support PRO/OP mode switch
[MZ3500/KEYBOARD] support CL and 00 keys
[MZ3500/KEYBOARD] change key assign for program control keys
[MZ3500/MAIN] fix to add one clock wait for each m1 cycle
[MZ3500/MAIN] fix memory mapper to check me1/me2 signals
[MZ3500/MAIN] fix memory mapper to update only when register values are changed
[MZ3500/SUB] support kanji rom and kanji vram
[MZ3500/SUB] implement graphic screen renderer


Have fun!
-- Ohta.