ダウンロードリスト

プロジェクト概要

Takeda Toshiya氏による、エミュレータコレクション、Common Source Code Project ( http://homepage3.nifty.com/takeda-toshiya/ )をQtに移植した …だけではなく、富士通FM-8/7シリーズのコードを積極的にContribしています。

上流は、 https://github.com/Artanejp/common_source_project-fm7

システム要件

システム要件が設定されていません

リリース時刻: 2016-09-09 03:13
csp-qt SNAPSHOT 2016-09-09 (4 個のファイル 非表示)

リリースノート

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

Sep 09, 2016
K.Ohta (whatisthis.sowhat _at_ gmail.com)

1.About

This package is Qt5 porting of Common Source Code Project (CSP) and built with Qt5, for Windows, built with MinGW(32bit).

Source Code:

Additional INFO:

Binaries will be available, distibute from osdn.jp. See, https://osdn.jp/projects/csp-qt/ and
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. 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-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

Project Page: https://osdn.jp/projects/csp-qt/

Upstream (Takeda Toshiya San's original code)

Changes:

* 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
  • OSDMOVIE_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_SAVERPC8801PC9801 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

-- Aug 10, 2016 01:42:51 +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


Have fun! -- Ohta.

** Qt porting for Common Source Code Project **

Sep 09, 2016

K.Ohta <whatisthis.sowhat _at_ gmail.com>

* If you can't read Japanese, read readme.qt.txt .

0. 概要

このパッケージは、Common Source Code Project (以下、CSP) をQt5に移植したものです。 バイナリはGNU/Linux(64bit)用とMinGW (32bit Windows)用を 用意しています。 ソースコード:
追加情報:  各機種バイナリーは、osdn.jp もしくはミラーサイトより入手可能です。  https://osdn.jp/projects/csp-qt/

  Win32:

  GNU/Linux(amd64) :

1. 背景

CSPは、非常に優れた構造のエミュレータです(しかし、些か重くてコンパイラ がいい最適化をしないと重めですが)。 しかし、このコードはM$ Visual C++依存の部分が非常に多いです。 そこで、GNU/Linuxでこれを動かすためにQtに色々と移植していきましょう。 と言う感じで作業をはじめました。

2. 最低限必要なもの(Qt版)

    1. Qt5 ツールキット
    2. OpenGL, 多分、最低OpenGL 2.1は必要です。 (New!)
    3. gcc / g++ (4.7以降?)もしくは llvm clang / clang++ (3.5以降?) コンパイラツールチェーン。
    4. SDL2 (SDL 1.xではないので注意)
    5. CMake 2.8以降。
    6. ffmpegから、libavとlibswが必要です。 http://ffmpeg.org/ より。
    7. ffmpegは、それぞれのランタイムに必要なものをバンドルしてあります ので、動かない時はインストールしてみてください。
    8. GNU/Linuxビルドでは、Qt5.3でビルドしてあります(Ubuntu 16.04LTS向け)
    • Windows もしくは GNU/Linux のcross tool chain (要Wine)で、 MinGW と Qt 5.7 でのビルドができることを確認しました。
    • TIPS: Windows等で動かした時に、画面の書き替えが表示されない場合は、 環境変数 QT_OPENGL を software にしてみてください。(例えば、 WindowsをVirtualBoxのゲストで使ってる場合など)

3. ビルドの方法

ソースコードを解凍するか、git clone / pull した後で: $ 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固有の話(Windows除く)

・R@Mを $HOME/emu{Machine Name}/ に配置してください。(Windowsの場合は今の所 .\emu{Machine Name}\)  なお、このディレクトリは最初起動した後で作成されます。 ・設定ファイルは、$HOME/.config/emu{Machine Name}/ に書き込まれます。(Windowsの場合は今の所 .\.config\emu{Machine Name}\) ・ステートセーブファイルは、$HOME/emu{Machine Name}/{Machine Name}.sta に書き込まれます。 ・キーコード変換テーブルファイルが、$HOME/.config/emu{Machine Name}/scancode.cfg に書き込まれます。
書式は、カンマで区切られた16進データです(10進ではないので注意) . 1カラム目はM$ ヴァーチャルキーコード。 2カラム目はQtネィティブのスキャンキーコードです。
・UI部分の共通コンポーネント (src/qt/gui) を共有ライブラリlibCSPgui.soにまとめました。 ・インストール用のBASHスクリプトを用意しました。src/tool/installer_unix.shです。

5. 移植状況

    1. 現在、Debian GNU/Linux "sid" の AMD64版でしかテストしていません。   が、多分他のGNU/Linux OSやBSD系のOS (Mac含む) でもビルドすれば   動くでしょう。 Windows もしくは GNU/Linux(要Wineとbinfmt-support)上でのMinGWと Qt community edition でのビルドが通るようになりました。 安定したWindowsビルドを必要な方は、Visual Studio 2013 か 2015 のCommunity Edition でビルドしてください。(もう少ししたら、MinGWに切り替えようとは思ってます。)
    2. 今は、Qtの開発側が「Qt4おわりね」とアナウンスしたので、Qt4ではなく Qt5を使っています。 添付してあるバイナリは、Qt 5.5でビルドしました(が、Qt 5.1以降なら動くはずです)。
c.上流の2016-04-17現在でのPX7以外の全ての仮想マシンがQtに移植出来ています。
    1. Linux用ビルドでは、GCC 6をリンク時最適化(LTO)モードで使っています。
    2. MZ-2500のソケット機能を実装してみていますが、マトモにテストできてません(;´Д`)

6. Upstream repositry:

7. Project Page:

8. Upstream (Takeda Toshiyaさんのオリジナル)

Changes: * 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
  • OSDMOVIE_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_SAVERPC8801PC9801 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

-- Aug 10, 2016 01:42:51 +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


お楽しみあれ! -- Ohta.

変更履歴

*** If you want to know full changes, please read 000_gitlog.txt and history.txt. ***

* 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>