OSDN Git Service

.
[csp-qt/common_source_project-fm7.git] / source / RELEASENOTE.txt
index 8bd03a4..cdc5e90 100644 (file)
@@ -1,6 +1,6 @@
 ** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project **
 
-                                                          May 24, 2016
+                                                       August 16, 2019
                             K.Ohta  (whatisthis.sowhat _at_ gmail.com)
 
 1.About
@@ -9,124 +9,225 @@ 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_20160523_2
+
+   https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20190816
    
 Additional INFO:
-GNU/Linux with AMD64 binaries and Win32 with MINGW binaries are avaiable, packed with 7zip'ed format:
 
-   https://www.sendspace.com/file/a8wxht
-    or
-   http://www1.axfc.net/u/3669758
+   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:
 
-  SIZE: 46223626
-  MD5SUM: 5c0015126e06d43249c65938c8a452df
-  SHA256SUM: eb775b3fdae5fe39dbebcef6aee27566d40572ebb0aefeb0c4eacde4cf4d2a34
 
 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).
+
+* 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.
 
-Upstream repositry:
-https://github.com/Artanejp/common_source_project-fm7
+e. Implemented socket, networking for MZ-2500, but, not tested yet (;´Д`)
+
+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://homepage3.nifty.com/takeda-toshiya/
+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 May 23-2, 2016
-  * Win32 binary only RELEASE
-  * Fix unable to run with some natibve Windows environment.
-  * Build with c1448dc84f5439c7c8931614a8397dbefb6383da .
-
--- 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 1c1ddc85dfa7456b1ce48662c2e2930dcc4fc9d8 (or later).
-
--- May 23, 2016 02:22:07 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
+* To see older changes, read ChangeLog and 000_gitlog.txt.
+
+* SNAPSHOT Aug 16, 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.
+  * [UI/Qt] DEBUGGER: Add history for debugger command line.
+  * [UI/Qt] DEBUGGER: Add auto-completion for command-line.
+  * [VM/DEVICE] Use __FASTCALL with interfaces, read_*() ,write_*(), fetch_op() and some functions.Make this faster emulation (i.e.PC-9801RA and EMM386 under FreeDOS).
+  * [VM/PC9801] Separate EGC functions.
+  * [VM/PC9801] Add V30@8.0MHz with some I286/I386 machines.
+  * [VM/PC9801] Check differnt of system work area (0000:0400-0000:05FF) both mame(pc9801rs) and emupc9801ra .
+  * [VM/PC9801] Add "UPPER_I386" flag for detect using later than HAS_I386.
+  * [VM/PC9801] CPUREG: (Maybe) improve changing cpu sequence around I/O 00F0h.
+  * [VM/PC9801] CPUREG: Redirect interrupt signal via CPUREG:: .VMs with V30 sub CPU (i.e.PC9801RA) work with V30.
+  * [VM/PC9801] Fix wrong initialize SYS_PORT_B.
+  * [VM/PC9801] Fix wrong initialize memory switch.
+  * [VM/PC9801] Add DIPSWITCH object.
+  * [VM/PC9801] Fix different value at [0000:0501].
+  * [VM/PC9801] MEMBUS: Split update_bios() to functions.
+  * [VM/FP1100] Fix lacking some key symbols.Thanks to https://matsuri.5ch.net/test/read.cgi/i4004/1526806551/540 .
+  * [VM/AY_3_891X] Fix not supported defines, replace flags.
+  * [VM/AY_3_891X] Add feature ; dump/set register via debugger.
+  * [VM/YM2151] Add feature ; dump/set register via debugger.
+  * [VM/YM2203] Add feature ; dump/set register via debugger.
+  * [VM/SN74689AN] Add feature ; dump/set register via debugger.
+  * [VM/BEEP] Add feature ; dump register via debugger.
+  * [VM/PCM1BIT] Add feature ; dump register via debugger.
+  * [VM/I80x86/V30] Start debugger even halting.
+  * [VM/I80x86/8088/V30] Make i86/186/88/286 and V30 to common_vm.
+  * [VM/I386] Fix WRONG flag mask at LMSW.
+  * [VM/I386] MOV CR0 EyX : Fix wrong flags handling.
+  * [VM/I386] Exitable when falling into infinite TRAP-Loop.
+  * [VM/I386] mov CRx,R32/mov r32,CRx : Adjusting.
+  * [VM/i8259] Add PIC HACKing flag for PC9801.
+  * [VM/uPD7810/uPD7907] PC2001: Include uPD7810 variants and uPD7907 to libCSP_common_VM.
+  * [VM/MB8877] Fix buffer overflow with logging.
+  * [VM/Z80DMA] TODO/WIP: Workaround for https://tablacus.github.io/LSX-Dodgers/ .This still be not resolved issue.
+  * [VM/EVENT] Add remove_context_cpu().This may not effect to MAIN_CPU(id==0).
+  * [DOC/FM7] Fix typo (*ノω・*)てへぺろ
+  * [Qt/LOGGER] Improve locking.
+  * [UI/Qt] OOPs: Fix LACK of DATARECORDER BUTTONS(abolish of USE_TAPE_BUTTON): Lack of merging UPSTREAM 2018/10/07.
+  * [UI/Qt] MENU: Split some methods (of Ui_MainMenuBase::) to menu_emulator.cpp and menu_machine.cpp .
+  * [UI/Qt] MENU: Simplify menu creation.
+  * [CONFIG/Qt] Fix bit order of logging configure.
+  * [BUILD/CMAKE] Add CPU affinity mask when compiling.This may work only with GNU/Linux host.
+  * [BUILD/CMAKE] Improve build message with finished.
+  * [BUILD/MINGW] Update optimize parameter.
+  * [BUILD] Separate definitions of archtecture flags.
+  * [BUILD] Add ARM32/64 definitions (initial).Still not testing.
+  * Built with 0810a8f8b9ba44cedc19bf6b8e903c9c1b5d6f04 (or later).
+
+-- Aug 16, 2019 20:38:06 +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
 
 -----