OSDN Git Service

[Qt][OpenGL][4.5] NTSC SHADER: Adjust scale factor.
[csp-qt/common_source_project-fm7.git] / source / RELEASENOTE.txt
index 6ec802e..ba4b368 100644 (file)
@@ -1,6 +1,6 @@
 ** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project **
 
-                                                         Oct 27, 2016
+                                                       October 15, 2019
                             K.Ohta  (whatisthis.sowhat _at_ gmail.com)
 
 1.About
@@ -9,206 +9,226 @@ 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_20161027
+
+   https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20191015
    
 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 will be available, distibute from osdn.net.
+   
+   See, https://osdn.net/projects/csp-qt/  and
+        https://osdn.net/projects/csp-qt/releases/ .
+       
    Released at:
 
 
 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.
+
+a. Qt5 (neither Qt3 and Qt4) toolkit: Qt5.3 or later.
+
 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.
+
+c. gcc / g++ (5.0 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).
+f. Needs ffmpeg.See https://ffmpeg.org/ .
+
+g. FFMpeg has bundled only for Win32.Please install for other OSs if not working.
+
+h. Built with Qt5.5 (for Ubuntu 16.04LTS) or Qt 5.10 (for Win32 and Debian/Sid).
 
+i. Now, changed default drawing infrastructure to OpenGL ES2.You can change --opengl option via comman line (or GUI).
+
+j. Now for Win32 build, using LLVM CLANG cross toolchains on Docker environment.Because exception handling of MinGW-w64's gcc is very slowly (this cause by *evil* Borland).
+  See https://github.com/Artanejp/llvm-mingw and https://hub.docker.com/r/artanejp/llvm-mingw64-ubuntu-cosmic for datails.
+  
+* 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}/ .
-
+   
+   ・Config file (scancode.cfg and foo.ini) has placed (moved) to
+     "~/.config/CommonSourceCodeProject/emufoo/"
+     (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
+   
+   ・BIOS, WAVS, BINS and SAVED STATES have placed (moved) to
+     "~/CommonSourceCodeProject/emufoo/"
+     (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
+   
+   ・All of recorded products (PNG Screenshots, MOVIES, SOUNDS) 
+     have *temporally* written to "~/.config/CommonSourceCodeProject/emufoo/"
+     (for Windows, ".\CommonSourceCodeProject\emudfoo\" ).
+   
+   ・Added ToolTips and Japanese translations.(2017-01-24)
+   
+   ・Place R@Ms under $HOME/CommonSourceCodeProject/emu{Machine Name}/ , this directory has made
+     after first using.
+   
+   ・Config file, {foo}.ini is written on $HOME/.config/CommonSourceCodeProject/emu{Machine Name}/ .
+   
+   ・Saved state file, {foo}.sta is written on $HOME/CommonSourceCodeProject/emu{Machine Name}/ .
+   
+   ・Key code conversion file is written on $HOME/.config/CommonSourceCodeProject/emu{Machine Name}/scancode.cfg .
+   
+     This file contains comma separated fields, written at hex-decimal (not decimal), 
+       first is M$ Virtual Key Code,
+       second is Qt's scan code.
+       
+   ・Common UI components (at src/qt/gui ) are moved to shared lib. libCSPgui.so .
+   
+   ・Installer (bash) script is available now; src/tool/installer_unix.sh .
+   
+   ・When you place specified WAV files(differ per VM) same directory as ROMs, you can sound sounds: i.e. FDD seek, CMT relay and buttons.
+  
 5.Status
-a. I tested to build only under Debian GNU/Linux "sid".
+
+a. I tested to build only under Debian GNU/Linux "sid",Ubuntu Linux 16.04LTS "Xenial" for AMD64 (x86_64)
+and MinGW with GCC6 (Windows 32bit).
+
    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".
+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).
 
-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.
+
 e. Implemented socket, networking for MZ-2500, but, not tested yet (;´Д`)
 
-Upstream repositry:
-https://github.com/Artanejp/common_source_project-fm7
+Repositry:
+
+   https://github.com/Artanejp/common_source_project-fm7
+
+   https://osdn.net/projects/csp-qt/scm/git/common_source_project-fm7
+
 
 Project Page:
-https://osdn.jp/projects/csp-qt/
 
-Upstream (Takeda Toshiya San's original code)
-      http://takeda-toshiya.my.coocan.jp/
+   https://osdn.jp/projects/csp-qt/
+
+Upstream (Takeda Toshiya San's original code):
 
+   http://takeda-toshiya.my.coocan.jp/
+
+Special thanks to:
+   Ryu Takegami-san, to assist debugging FM-7/77/AV/40/EX .
+   Haserin-san, to assist debugging FM-7/77/AV/40/EX .
+   Developers of Ootake, give hints of emuPCEngine (from source code).
+   
 Changes:
 
-* SNAPSHOT October 27, 2016
-  * Upstream 2016-04-13
-  * [GENERAL] Add ROMAJI-KANA input assistant feature. see romakana.[en|ja].txt .
-  * [VM/SOUND] Fix wrong rendering period for PCM1BIT with some VMs.  Maybe fixed issue of http://hanabi.2ch.net/test/read.cgi/i4004/1430836648/775 .
-  * [VM/EVENT] Re-entrant set_realtime_render().
-  * Built with FFMPEG(libav) 3.1.5 .
-  * Built with 006cc1d851483ea84fc5a3f4fa58cbf03302c49b or later.
-
--- Oct 27, 2016 17:01:21 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT October 18, 2016
-  * Upstream 2016-04-13
-  * [VM/EVENT] Sound devices: Do mix_sound() dynamically, not do per a sample:
-  *            To reduce usage of host CPU. See event.[cpp|h] and device.h .
-  * [VM/FM7] Non-FM77AV*: Fix not clear active_page, fixed crash randomly.
-  * Built with 004920711399d430ead55e59c948e7fb7a04a402 or later.
-
--- Oct 18, 2016 11:22:05 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT October 10, 2016
-  * Upstream 2016-04-13
-  * [VM] Add pseudo sounds (i.e. FDD seek), need sound files (even not WAV file at Qt porting), see doc/VMs/foo.txt . 
-  * [VM][DATAREC][FDCs] Update STATE_VERSION of some devices.
-  * [VM/FM7] VRAM: Make gcc using SIMD (when optimize options have set) to be faster rendering.
-  * [VM/X1,FM7] load_state(): Keep backward compatibility to SNAPSHOT 20160923.
-  * [VM/EVENT] Extend permitted sound events to 32 to use sound files (reserved feature).
-  * [VM/EVENT] Update MAX_SOUND from 8 to 16.
-  * [Qt/GUI] Win32: Fix crash launching with gdb/Mingw32 or gdb/Cygwin. See http://hanabi.2ch.net/test/read.cgi/i4004/1430836648/750 .
-  * [Build/Linux] Fix wrong flags with LTO.
-  * [Build] Non-Win32 : Ready to build with llvm clang (later than 3.7?).
-  * [Build/GENERAL] Separate compiler depended params to source/build-cmake/param/ .
-  * Build with commit d100ae8323d6657fe37ac44a69abc8da470b77ad (or later).
-
--- Oct 10, 2016 05:22:18 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT September 23, 2016
-  * Upstream 2016-04-13
-  * [DOC] Translated some documents written in Japanese only to English using Google-Translate, still not enaugh to be corrected.
-  * [Qt/WIN32] Fix crash on startup (maybe true) caused by (´∀`)<ぬるぽ ヽ(・∀・)ノ┌┛ガッΣ(ノ`Д´)ノ
-  * [VM] Add original name and role to all device and VM components.
-  * [VM/FM7] JOYSTICK: Fix not redirect triggers.
-  * [VM/FM7][MB8877/DISK] Workaround for RIGLAS/FM-7. Perhaps, below have side-effect, add special-disk to RIGLAS FM.
-  ** Don't "NOT READY" even stopping motor.
-  ** Transfer even stopping motor.
-  * [EVENT] Remove logging on cancel event.
-  * [Qt/Debugger] Not hang-up when Opening debugger and exit emu{foo}. This is temporally workaround.
-  * [Qt/Debugger] Don't close with close button, this is temporally workaround.
-  * [UI/Qt] Fix selecting printers.
-  * [VM/PC9801] Add prepairation of using ITF ROM, this is still only preparation.
-  * Built with GIT 8cdb1dbebf95d7371e514886c23edc6c9401848a (or later).
-
--- Sep 23, 2016 19:48:12 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT September 09, 2016
-  * Upstream 2016-04-13
-  * [LOGGER] Add extend logger.
-  * [LOGGER/Qt] Rename agar_logger.[cpp|h] to csp_logger.[cpp|h] .
-  * [VM] Ready to enable log per device.
-  * [VM] Update emu->out_debug_log to [DEVICE]->out_debug_log .
-  * [UI/Qt] Add log viewer window.
-  * [Qt/EMUTHREAD] Move commonly blocks to gui/ .
-  * [Qt/KEY] Use queue for keyin/out.
-  * [VM/OSD] Add socket (networking) featuers, but still not test (;´Д`)
-  * [VM/FM77AV] MB61VH010 : Faster drawing lines.
-  * [VM/FM7] MAINIO: Comment out logging around FIRQ, temporally.
-  * [OSD/KEYBOARD] Fix handling around SHIFT for some machines(i.e. PC8801).
-  * [MOVIE_SAVER] Use SIMD to transfer a picture OSD(VM)->MOVIE_SAVER .
-  * [DOC] Update updtream's URL, moved to takeda-toshiya.my.coocan.jp .
-  * Built with GIT 1884b5247665d71c06fc6590b17434c5f3350ad5 (or later).
-
--- Sep 09, 2016 01:02:51 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT August 19, 2016
-  * Upstream 2016-04-13
-  * [WIN32] Replace libICU to homebrew, fix not starting.
-  * [OSD/MOVIE_SAVER] Fix frames to enqueue to MOVIUE_SAVER, as if VIDEO FPS >= RECORD FPS.
-  * [MOVIE_LOADER] Sync A/V on playing MOVIE.
-  * Built with GIT 77380a77b25ca06965b912c84509e5c91085aeb1 (or later) .
-
--- Aug 19, 2016 23:12:36 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT August 15, 2016
-  * Upstream 2016-04-13
-  * [OSD][MOVIE_SAVER] Maybe correctness frame(s) counting with 60fps ヽ(=´▽=)ノ
-  * [MOVIE_SAVER] Fix sometimes crashing when stop to save movie.
-  * [PX7/MOVIE_LOADER] Sound Laser Disc, but not be smooth.
-  * [MOVIE_SAVER][PC8801][PC9801] Adjust sound frequency when OVERRIDE_48000Hz , still choppy.
-  * Built with GIT 3f4c809912dc92cdeb34d8ecdebe0087aa7f37b3 (or later) .
--- Aug 16, 2016 02:40:55 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
-
-* SNAPSHOT August 09, 2016
-  * Upstream 2016-04-13
-  * [PX7] Add movie loader for LD, but not tested enough yet.
-  * [MOVIE_SAVER/OpenGL] Add locking around drawing buffer.
-  * [BUILD] Update FFMPEG to 3.1.1 .
-  * [FFMPEG/LINUX] Enable OpenCL for ffmpeg @linux.You need libOpenCL.so.1 to use homebrew build.
-  * [FFMPEG/WIN32] Enable DXVA2 for video-decoding accelerator.
-  * [MOVIE_SAVER] Synchronous OPEN->ENCODEING->CLOSING.
-  * [UI/MOVIE_SAVER] DO NOT change state of "Save as movie" without *real* starting/stopping.
-  * [Draw/OpenGL] Optimize GLSL's by https://github.com/aras-p/glsl-optimizer .
-  * Built with GIT fc7a03a9337287414e00777464ab273c4f44ea44 (or later) .
--- Aug 10, 2016 01:42:51 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
+* To see older changes, read ChangeLog and 000_gitlog.txt.
+
+* SNAPSHOT Oct 15, 2019
+  * Upstream 2019-04-30.
+  * This is point release, still exists some issues (i.e.EMM386(NEC/PC98) and FreeBSD(98) don't work) for PC-9801 and PC-Engine and some VMs, will fix them.
+  * [Tools] Add DUMP LIST CHECKER.
+  * [BUILD/Win32] Build with LLVM CLANG (for MinGW-w64).Because GCC for MinGW-w64/Win32 has very slow exception handling (due to Borland's patent). 
+  * [BUILD/Win32] See https://github.com/Artanejp/llvm-mingw and https://hub.docker.com/r/artanejp/llvm-mingw64-ubuntu-cosmic for datails.
+  * [BUILD/Win32] Build against FFMpeg 4.2.
+  * [FM7/SOUND] Fix reading value of PSG register(s).Fix sound of FM-7's demonstration with FM-7/77 (not with 77AV variants).
+  * [FM7/SOUND] Separate reset sequence for OPN/WHG/THG/PSG to a common function.
+  * [VM/FM7] Replace printf debug messages to out_debug_log().
+  * [VM/FAMILYBASIC] WIP: Fix wrong string for romaji-kana (and auto key).Still imcoplete, implementing DAKUION,will fix.
+  * [VM/PC9801] CPUREG: V30 SUB CPU works.
+  * [VM/PC9801] Re-define DIPSW, to work with V30@PC-9801RA.
+  * [VM/PC8801] Fix double install DEBUGGER:: for OPN#1,#2.Thanks to https://matsuri.5ch.net/test/read.cgi/i4004/1526806551/598 .
+  * [VM/MC6809] Fix duplicate signal; SIG_CPU_HALT.
+  * [VM/DEBUGGER] Fix FTBFSs with LLVM CLANG.
+  * [VM/AY_3_891X] Fix pop noise when enabling lpf or hpf.
+  * [VM/Z80DMA] OOPS: Disable debug spam.
+  * [VM/Ix86] More correctness wait.
+  * [VM/Ix86] Implement wait by memory-wait-factor.
+  * [VM/Ix86] Add SIG_CPU_HALTREQ.
+  * [VM/I386][VM/V30] Fix cloick handling when BUSREQ/HALT.
+  * [VM/I8259] PC9801: Fix crash when changing V30 Sub CPU <-> i286/i386 Main CPU.
+  * [VM/EVENT] Update comment of scheduler (EVENT::drive()).
+  * [EMU/ROMAJI_KANA] Some characters are enabled to input via ROMAJI-KANA conversion.
+  * [EMU/AUTOKEY]  Some characters are enabled to input via pasting from clipboard.This using UCS-4(aka UTF-32) internal format.
+  * [Qt/OpenGL] Don't makeCurrent()/doneCurrent() inside of resizeGL().Fixed crash running within Docker container.
+  * [UI/Qt] ROMAJI_KANA: Some characters input from KANA mode (by host) are enabled.
+  * [UI/Qt] VM: Add keycode - vk - name table listing features.See vm/fm7/keyboard.cpp and qt/osd_base.h and gui/dialog_set_key.cpp.
+  * [Qt/LOGGER] Threaded console logging.
+  * [Qt/AVIO] Update FFMPEG's API: Revoke to use functions marked as deprecate.
+  * [Qt/AVIO] Drop to use deprecated functions for FFMpeg 4.x.
+  * [Qt/AVIO] Add some codec entries (still not implement).
+  * [OSD/Qt] Update sound APIs: for sound sampling.Still be imcomplete.Will implement.
+  * [OSD/SOUND] Simplify sound callback for SDL.
+  * [OSD/SOUND] SDL: Convert sound rate/bitwidth.
+  * [OSD/General] Fix not reply version of libvCSPosd.Display OSD version at "about this software".
+  * [QT/MOVIE_LOADER] Fix weird initilaizing memory.
+  * [Qt/MOVIE_SAVER] CONFIG: Some functions make dllexport.
+  * [Qt/HOMEBREW] Fix not detected SDL at configuration of Qt::Gamepad.
+  * [Qt/JOY_THREAD] Fix memory leak when plug/unplug joystick.
+  * [UI/Qt] Add font selection to debugger and log view dialogs.
+  * [UI/Qt] AUTO_KEY: Copy and paste: Paste even Zenkaku KATAKANA/HIRAGNA/ASCII to VM (converted to Hankaku letters).
+  * [Qt/CONFIG] Keep font metrics and window size of debugger and log viewer.Save to foo.ini file.
+  * [Qt/OpenGL] GLES: Fix texture format for float/half float.May work "TV RENDERER" with Win32 build (via ANGLE).
+  * [Qt/OpenGL] Use half float texture for float textures to reduce GPU usage.
+  * Built with 74c7914381802640510c76f176b3c3ffeceb678d (or later).
+
+-- Oct 15, 2019 02:40:49 +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
+* To see older upstream's changes, read history.txt.
+
+4/30/2019
+
+[VM/DEVICE] add is_primary_cpu() and update_extra_event()
+[VM/EVENT] support to udpate event while cpu is running one opecode
+[VM/I8259] fix reading isr register (thanks Mr.rednow)
+[VM/SCSI_HOST] fix to raise irq at command/message phase
+[VM/Z80] improve to update event in every read/write cycle
+
+[CEFUCOM21] support Hino Electronics CEFUCOM-21 (not work)
+[MZ2500/CRTC] apply crtc patch (thanks Mr.Koucha-Youkan)
+[PC8801MA] improve to enable/disable cmdsing and pcg
+[PC8801MA] improve to enable/disable changing palette for each scan line
 
 -----