** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project ** Jan 24, 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/3606903 or https://www.sendspace.com/file/wn4pdr MD5SUM: fad775870a6312a10c19adc89b446781 SHA256SUM: 4f6e599d5d48b6a50e113e499e838cd68342573734b7530811c611f6ab91e016 Source Code: https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160124 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 24, 2016 * Qt/OpenGL: Draw even not ready to GL3.0, fallback to GL2.0 (with/without shaders). * Qt/OpenGL: Display screen even with VirtualBox and Host of linux , excepts Ubuntu 14.04 LTS. GL libraries for Ubuntu 14.04 LTS seem to be weird (excepts AMD/nVidia's proprietary GLs). * FM7: Fix around clock setting. * FM7: Fix crash sometimes on initializing. * Sound: Fix crash with some VMs. * Sound: Fix choppy sound. * Sound: Fix not effected sound-latency settings. * Built with commit f6248ec7dfa76e776eddcb0e685fbf6b7ff58b65 . -- Jan 24, 2016 13:44:50 +0900 K.Ohta * SNAPSHOT Jan 19, 2016-1 * Merge upstream 2016-01-10. * Qt/OpenGL: Reduce GPU usage a lot. Save energy. * Qt/OpenGL: You should use OpenGL >= v3.0 . * Use printer: MZ1P17 to any VMs. * FM8 : implemented. But not test enough. * FM7: Fix incorrectness reset sequence around of keyboard when resetting. * FM7: Adjust draw timing. * FM-8/7/NEW7 : Removable kanji rom. * FM7: Some of Fixes. * Qt/OpenGL: Re-enable 4:3 CRT mode. * Built with commit eced83faa808f2fde47a24365ebe4a6656aa40fb . -- Jan 19, 2016 14:50:50 +0900 K.Ohta * 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 8708a53b6627eba226d1bce0ba89bf792d884c98 . -- Jan 08, 2016 12:19:19 +0900 K.Ohta * 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 e0b53fc1bd4af3a232ccc878671bab2caf7743f8 . -- Jan 07, 2016 23:08:35 +0900 K.Ohta * 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 204d454b54e87106c29aad9c4f842987a5553aac . -- Jan 07, 2016 21:12:13 +0900 K.Ohta Upstream changes: ----- 1/10/2015 [VM/MZ1P17] support ESC % 2 in MZ-1 mode [VM/MZ1P17] support MZ-2/3/X1 mode [VM/MZ1P17] improve hiragana mode [VM/MZ1P17] support overprint in the case that line feed distance is not enough [VM/MZ1P17] improve busy signal [VM/MZ1P17] support ack and reset signal [VM/PRNFILE] improve busy signal [VM/PRNFILE] support ack and reset signal [MZ1500] support dummy printer device and MZ-1P17 [MZ2200/PRINTER] support dummy printer device and MZ-1P17 [MZ2500/PRINTER] improve to use printer reset signal [MZ2800/PRINTER] support dummy printer device and MZ-1P17 [MZ3500] support dummy printer device and MZ-1P17 [MZ5500] support dummy printer device and MZ-1P17 [PC8801/PC88] fix to get printer busy status [PC9801] fix to get printer busy status [PC98LT] fix to get printer busy status [X1] support dummy printer device and MZ-1P17 ----- Have fun! -- Ohta.