Common Source Code Project for Qt (a.k.a for FM-7).
Rev. | Zeit | Autor | Nachricht |
---|---|---|---|
3efee1f | 2023-03-30 02:53:06 | K.Ohta | upstream_20221204 [VM][FMTOWNS][YM2612] Fix clock of OPN2 to 1999.46KHz. ... |
cd6b49d | 2023-03-30 02:50:01 | K.Ohta | [VM][FMGEN][DEBUG][OPNx] Add API: GetPrescaler() . [VM][... |
8d04545 | 2023-03-30 01:20:32 | K.Ohta | [VM][FMTOWNS][KEYBOARD] Fix (re-enable) resetting with pr... |
4e75f4d | 2023-03-30 01:18:54 | K.Ohta | [VM][TOWNS][MEMORY][DICTIONARY] Fix around software reset... |
0669f5f | 2023-03-30 00:22:51 | K.Ohta | [VM][FMTOWNS][MEMORY][FONTROMS] Fix text font rendering f... |
39bb9b5 | 2023-03-25 17:55:10 | K.Ohta | [VM][FMTOWNS][WIP] Adjust I/O layout. [VM][FMTOWNS][FONT... |
7014ea6 | 2023-03-25 16:15:54 | K.Ohta | [VM][FMTOWNS] Make VMs working except plane VRAM accessin... |
5e72f78 | 2023-03-25 16:14:59 | K.Ohta | [VM][FMTOWNS][TOWNS_DMAC] Make address mask fixed (to 32b... |
13c2b3b | 2023-03-25 16:13:57 | K.Ohta | [VM][FMTOWNS][CDROM] Prepare to make DMA access both 8bit... |
ed8ae40 | 2023-03-25 16:13:33 | K.Ohta | [VM][FMTOWNS][SCSI][WIP] Adjust signal handling. |
Name | Rev. | Zeit | Autor | Nachricht |
---|---|---|---|---|
upstream_20221204 | 3efee1f | 2023-03-30 02:53:06 | K.Ohta | [VM][FMTOWNS][YM2612] Fix c... |
upstream-takeda | 7f155e0 | 2023-03-18 00:14:44 | K.Ohta | [Upstream-Takeda] Upstream ... |
master | 89a284f | 2023-03-15 02:20:26 | K.Ohta | [Upstream-20221120] Update ... |
upstream_20221120 | 9615d76 | 2023-03-14 23:25:34 | K.Ohta | [VM][PC9801][UPD7220] Merge... |
upstream_20221112 | d6af22a | 2023-03-06 22:02:24 | K.Ohta | [VM][UI][Qt] Merge upstream... |
upstream_20221012 | 15942e7 | 2023-03-06 20:21:25 | K.Ohta | [VM][General][MZ1500] Merge... |
upstream_20220930 | cc9f25c | 2023-03-06 20:15:18 | K.Ohta | [VM][Z80][PC9801][DISPLAY] ... |
upstream_20220911 | 302d1ee | 2023-03-06 19:38:40 | K.Ohta | [VM][General] Merge upstrea... |
upstream_20220909 | 9dcba5b | 2023-03-05 05:15:37 | K.Ohta | [VM][I386_NP21][WIP] Implem... |
newvirtmedia_20230125 | 4f2e5a2 | 2023-01-26 00:43:28 | K.Ohta | [UI][Qt][EMU_THREAD][WIP][D... |
upstream_20220727 | 59abdcf | 2023-01-25 19:50:51 | K.Ohta | . |
upstream_20220703 | 9b7e008 | 2023-01-18 14:56:37 | K.Ohta | [FMGEN] Update minor-minor ... |
upstream_20220528 | 6460537 | 2023-01-14 23:39:22 | K.Ohta | [General] Update revision. |
upstream_20220525 | 2f30a33 | 2023-01-14 20:38:18 | K.Ohta | [UI][Qt] Re-available to di... |
upstream_20220507 | 923921d | 2022-12-12 15:58:14 | K.Ohta | [OSD][SCREEN] Update ToDo a... |
upstream_20220409 | f53eda6 | 2022-12-12 12:50:47 | K.Ohta | [VM][FM16BETA] Rename mainb... |
upstream-20220709 | 5186883 | 2022-12-11 03:20:48 | K.Ohta | [General][VM] Add Casio FX-... |
upstream_20211230 | 88a6bf4 | 2022-01-23 23:08:44 | K.Ohta | [General] Merge Upstream 20... |
experimental_towns_cdrom_20211109 | b6b4891 | 2021-12-22 22:47:49 | K.Ohta | [VM][FMTOWNS][MEMORY] Reduc... |
tmp_master | d797b63 | 2021-07-31 19:52:54 | K.Ohta | [VM][FMTOWNS][JOYPAD] Remov... |
towns_cdrom_v3 | d797b63 | 2021-07-31 19:52:54 | K.Ohta | [VM][FMTOWNS][JOYPAD] Remov... |
upstream_20210502 | 3955539 | 2021-06-30 01:57:32 | K.Ohta | [VM][FMTOWNS][TIMER] Clear ... |
towns_cdrom_rev3 | 674ead2 | 2021-05-05 00:30:01 | K.Ohta | [VM][FMTOWNS][MEMORY] Rever... |
upstream_20210124 | 157ebfe | 2021-02-03 01:11:00 | K.Ohta | [VM][I286][I86][V30][FMR][P... |
upstream_20200814 | 11a0ca9 | 2020-10-12 00:43:10 | K.Ohta | [General] Add RESOURCES, an... |
rm | 1f1ead7 | 2020-08-23 04:38:08 | K.Ohta | Merge branch 'master' |
upstream_20200406 | f5a2505 | 2020-06-26 19:05:07 | K.Ohta | [BUILD][CMake][Linux] Use d... |
upstream_20200221 | 7b8aaba | 2020-03-03 04:03:24 | K.Ohta | [UI][Qt] Add HARDDISK creat... |
upd7220-kakinoki-syougi | ddbbd2c | 2020-02-20 20:36:59 | K.Ohta | [Build][PC9801][CMAKE] . |
upstream_20200201 | feb6fd7 | 2020-02-05 01:41:36 | K.Ohta | [VM][FMTOWNS] Still use old... |
tokumeiwokiboushimasu-master | 93616c5 | 2019-09-22 21:56:23 | K.Ohta | Merge branch 'master' of ht... |
i386-rollback-test | bab7fa1 | 2019-05-25 07:42:36 | K.Ohta | [VM][DEBUGGER][WIN32] Getti... |
upstream_20190219 | 476cc15 | 2019-02-21 20:08:28 | K.Ohta | [DOC] Updated. |
upstream_20190111 | c2d34b1 | 2019-01-13 01:15:44 | K.Ohta | [Build][CMake] Fix FTBFS. |
upstream_20181209 | ee88084 | 2018-12-18 03:30:41 | K.Ohta | [UI][Qt][OSD] Joystick-To-K... |
upstream_20181123 | d09afc4 | 2018-11-24 04:58:02 | K.Ohta | [GENERAL] Merge Upstream 20... |
upstream_20181014 | a67b2ad | 2018-10-28 03:21:02 | K.Ohta | [VM] Enable to build *ALL* ... |
upstream_20181007 | 0d4f7f1 | 2018-10-25 00:28:40 | K.Ohta | [VM] Really update to upstr... |
このパッケージは、Common Source Code Project (以下、CSP)をQt5に移植したものです。
バイナリはGNU/Linux(64bit)用とMinGW (32bit Windows)用を用意しています。
https://github.com/Artanejp/common_source_project-fm7/ 以下
各機種バイナリーは、osdn.net もしくはミラーサイトより入手可能です。
https://osdn.net/projects/csp-qt/
https://osdn.net/projects/csp-qt/releases/
をチェックしてください。
doc/以下の文書で日本語しかなかったものを英語に翻訳していますが、機械翻訳を使ってるのであやしいです。英語の上手い方、校正などお願いします m(_ _)m
CSPは、非常に優れた構造のエミュレータです(しかし、些か重くてコンパイラがいい最適化をしないと重めですが)。
しかし、このコードはM$ Visual C++依存の部分が非常に多いです。
そこで、GNU/Linuxでこれを動かすためにQtに色々と移植していきましょう。と言う感じで作業をはじめました。
Qt5 ツールキット。Qt 5.5以降を推奨します。
OpenGL, 多分、最低OpenGL 2.1は必要です。(注:ひょっとしたら、OpenGLES2以降ならば動くように変えるかも知れない)
gcc / g++ (5.0以降?)もしくは llvm clang / clang++ (3.5以降?)コンパイラツールチェーン。MS Visual StudioのC++でも大体はビルドできると思いますが、未確認。
SDL2 (SDL 1.xではないので注意)
CMake 2.8以降。
ffmpegから、libavとlibswが必要です。 http://ffmpeg.org/ より。
ffmpegは、それぞれのランタイムに必要なものをバンドルしてありますので、動かない時はインストールしてみてください。
GNU/Linuxビルドでは、Qt5.5(Ubuntu 16.04LTS向け)もしくはQt5.9(Debian GNU/Linux sid向け)でビルドしてあります。
Windows もしくは GNU/Linux のcross tool chain (要Wine)で、MinGW (gcc6) と Qt 5.7 でのビルドができることを確認しました。
Windows等で動かした時に、画面の書き替えが表示されない場合は、環境変数 QT_OPENGL を software にしてみてください。(例えば、WindowsをVirtualBoxのゲストで使ってる場合など)
Windows版バイナリには、ソフトウェアレンダリングのopengl32.dllが添付されてますが、最近のパソコンの専用GPUドライバなら、もっと程度のいいOpenGLが入ってるはずです。添付版opengl32.dllを適当な名前に変更して動くかどうか試してみて下さい。
ソースコードを解凍するか、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
設定ファイル(scancode.cfg と foo.ini)は、"~/.config/CommonSourceCodeProject/emufoo/" (Windowsの場合は".\CommonSourceCodeProject\emudfoo\" ) におかれます(移動しました)。
BIOSや効果音WAVやセーブステートは、、"~/CommonSourceCodeProject/emufoo/" (Windowsの場合は".\CommonSourceCodeProject\emudfoo\" ) におかれます(移動しました)。
全ての記録物(スクリーンショットや動画や録音WAV)は、当面の間 "~/CommonSourceCodeProject/emufoo/" (Windowsの場合は".\CommonSourceCodeProject\emudfoo\" ) におかれます。
ToolTipsを付けました。(2017-01-24)
日本語に翻訳しました。(2017-01-24)
R@Mを $HOME/CommonSourceCodeProject/emu{Machine Name}/ に配置してください。(Windowsの場合は今の所 .\CommonSourceCodeProject\emu{Machine Name})。なお、このディレクトリは最初起動した後で作成されます。
キーコード変換テーブルファイルが、$HOME/.config/CommonSourceCodeProject/emu{Machine Name}/scancode.cfg に書き込まれます。
** 書式は、カンマで区切られた16進データです(10進ではないので注意) .
** 1カラム目はM$ ヴァーチャルキーコード。
** 2カラム目はQtネィティブのスキャンキーコードです。
UI部分の共通コンポーネント (src/qt/gui) を共有ライブラリlibCSPgui.soにまとめました。
インストール用のBASHスクリプトを用意しました。src/tool/installer_unix.shです。
ROMと同じところに、特定のWAVファイル(VMによって異なる)を入れると、FDDのシーク音やテープのボタン音・リレー音を鳴らすことが出来ます。
ローマ字カタカナ変換支援機構が一部の機種に実装されてます。
現在、Debian GNU/Linux "sid"と、Ubuntu Linux 16.04LTS "Xenial"の AMD64版、後はWindowsのMinGWでしかテストしていません。
が、多分他のGNU/Linux OSやBSD系のOS (Mac含む) でもビルドすれば動くでしょう。
Windows もしくは GNU/Linux(要Wineとbinfmt-support)上でのMinGWとQt community edition でのビルドが通るようになりました。
今は、Qtの開発側が「Qt4おわりね」とアナウンスしたので、Qt4ではなくQt5を使っています。
添付してあるバイナリは、Qt 5.5でビルドしました(が、Qt 5.1以降なら動くはずです)。
Linux用ビルドでは、GCCをリンク時最適化(LTO)モードで使っています。
MZ-2500のソケット機能を実装してみていますが、マトモにテストできてません(;´Д`)
https://github.com/Artanejp/common_source_project-fm7
https://osdn.net/projects/csp-qt/scm/git/common_source_project-fm7
https://osdn.jp/projects/csp-qt/
http://takeda-toshiya.my.coocan.jp/
Ryu Takegami : eFM-8/7/77/AV/40/EX のデバッグに協力していただいています。
Have fun!
--- Ohta.
© 2018 Toshiya Takeda
© 2018 K.Ohta <whatisthis.sowhat at gmail.com>