Skip to content

prerelease SNAPSHOT 2016-01-07 HOTFIX-3

Compare
Choose a tag to compare
@Artanejp Artanejp released this 08 Jan 03:29
· 3834 commits to master since this release

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

                                                      Jan 08, 2016
                        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 Win32 with MINGW binaries are avaiable, packed with 7zip'ed format:

http://www1.axfc.net/u/3596699
or
https://www.sendspace.com/file/s3as5c

MD5SUM: 47bbf3d8211e41df8ee3eb8ea29182eb
SHA256SUM: ee274716157bbf4fcdf712abc3e8aa2fc1bca40f251bc60baa09295a7d8c2951

https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160107_3a

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 Jan 07, 2016-3
    • Hotfix for 2016-01-07 and 2016-01-07-2.
    • SOUND: Fix broken WAV data of recording sound.
    • Built with commit 8708a53 .

-- Jan 08, 2016 12:19:19 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Jan 07, 2016 -2
    • MERGE upstream 2015-12-31, with printer emulations.
    • A lot of fixes.
    • Enable to build with MinGW / Win32.
    • FM7: Add aspect ratio 4:3 modes.
    • FM7: Add support printer and Dempa shinbum-sha's Joy stick.
    • Built with commit e0b53fc .

-- Jan 07, 2016 23:08:35 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Jan 07, 2016
    • MERGE upstream 2015-12-31, with printer emulations.
    • A lot of fixes.
    • Enable to build with MinGW / Win32.
    • FM7: Add aspect ratio 4:3 modes.
    • FM7: Add support printer and Dempa shinbum-sha's Joy stick.
    • Built with commit 204d454 .

-- Jan 07, 2016 21:12:13 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Dec 22, 2015
    • MERGE upstream 2015-12-17, support new APIs .
    • Change APIs to upstream's OSD class , apply to Qt.
    • Mostly built for Win32.
    • FM-7/NEW7: Fix a lot of bugs.
    • FM7 series: Variable virtual screen size, see src/vm/fm7/display.cpp .
    • X1 series: Double buffering for TEXT/PCG.
    • Built with commit 24709b7 .
      excepts PASOPIA7, PC-6601SR and PC-8001mk2SR are built with
      commit daddbc5.
      and Z80 TV GAME have built with
      commit 956581b .

-- Dec 22, 2015 18:22:09 +0900 K.Ohta whatisthis.sowhat@gmail.com

  • SNAPSHOT Dec 10, 2015
    • MERGE upstream 2015-12-10 .
    • Change APIs to upstream's OSD class , apply to Qt.
    • Still not built for Win32.
    • Built with 3fe6edd ,
      excepts eTK80BS for 79e5e48.

-- Dec 10, 2015 19:18:05 +0900 K.Ohta whatisthis.sowhat@gmail.com

Upstream changes:

12/31/2015

[VM/MZ1P17] support underline, hiragana mode, and color mode

12/30/2015

[COMMON] add jis_to_sjis() function
[EMU] fix to delete OSD instance after delete VM instance
[EMU/OSD] improve functions to manipulate bitmaps and fonts

[VM/PRNFILE] support save/load state
[VM/MZ1P17] support MZ-1P17

[MZ2500/PRINTER] support dummy printer device and MZ-1P17

12/23/2015

[ALL] fix for UNICODE character set case

[COMMON] improve create_local_path() and get_file_path_without_extensiton() not to overwrite previous result soon
[EMU/OSD] improve to capture screen with png file format
[EMU/OSD] improve functions to manipulate bitmaps and fonts

[TOOL/MZ80K] support software keyboard for MZ-80K/C

12/20/2015

[EMU/OSD] remove functions for pinter interface
[EMU/OSD] add functions to manipulate bitmaps and fonts

[VM/PRNFILE] support dummy printer device that outputs to file

[MZ80K/MEMORY] combine memory class and display class
[MZ80K/MEMORY] support PCG-8000/1200
[MZ700/MEMORY] fix PCG-700
[PC6001] improve to use new dummy printer device
[PC8801] improve to use new dummy printer device
[PC9801] improve to use new dummy printer device
[PC98LT] improve to use new dummy printer device
[X1] improve to use new dummy printer device

12/17/2015

[COMMON] add application_path() and create_local_path()
[COMMON] add create_date_file_path()
[COMMON] add get_host_time()
[EMU/OSD] remove EMU::application_path() and EMU::bios_path()
[EMU/OSD] remove OSD::create_date_file_name()
[EMU/OSD] remove EMU::get_host_time()
[WIN32/SCREEN] fix screen rotation

[EX80] improve screen

12/16/2015

[COMMON] improve config, common, and fileio for other environments
[EMU/OSD] improve lock_vm() and unlock_vm() to support nesting
[EMU/OSD] add force_unlock_vm() to force unlock vm ignoring nesting

[VM/DISK] improve for other environments
[VM/F9368] support F9368
[VM/FMGEN] fix to use FILEIO class (thanks Mr.Artane.)
[VM/LD700] improve for other environments
[VM/MC6809] improve for other environments
[VM/UPD765A] improve for other environments
[VM/V99X8] fix to check if screen buffer is valid or not

[EX80] support save/load state
[FM77AV] import Mr.Artane.'s fixes (Commits on Dec 13, 2015)
[J3100] fix build errors (thanks Mr.Artane.)
[TK80BS] support save/load state

12/15/2015

[WINMAIN] fix to check if button caption is multi-line or not

[VM/I8080] fix to use fetch_op() function to fetch opecode
[VM/I8080] support to read interrupt enabled status

[EX80] support TOSHIBA EX-80
[TK80BS] improve screen

12/10/2015

[COMMON] improve common.h for other environments
[WIN32/SCREEN] fix crt filter issue for eFM-7


Have fun!
-- Ohta.