Takeda Toshiya氏による、エミュレータコレクション、Common Source Code Project ( http://homepage3.nifty.com/takeda-toshiya/ )をQtに移植した …だけではなく、富士通FM-8/7シリーズのコードを積極的にContribしています。
** Qt porting and FM-7/77/AV/AV40/EX for Common Source Code Project **
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:
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: Qt5.3 or later.
b. Some OpenGL implementation, maybe at leaset OpenGL v2.x .
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.
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).
* 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:
5.Status
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).
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 (;´Д`)
Repositry:
Project Page:
Upstream (Takeda Toshiya San's original code):
Special thanks to:
Changes:
* To see older changes, read ChangeLog and 000_gitlog.txt.
* SNAPSHOT March 03, 2020
000_gitlog.txt .
-- Mar 03, 2020 15:13:25 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
Upstream changes: * To see older upstream's changes, read history.txt.
2/21/2020
VM/I386_NP21 update to Neko Project 21/W ver0.86 rev71 beta4
PC9801VX support to switch cpu mode to V30
PC9801RA support to switch cpu mode to V30
2/17/2020
EMU add is_floppy_disk_connected() and is_quick_disk_connected()
WINMAIN disable floppy/quick disk drive menus when drives are disconnected
VM/I8080 improve disassembler to distinguish 8080 and 8085
VM/I86 split i86/i88/i186/v30 from I286 class
VM/I86 fix aam in v30
VM/I86 support 8080 emulation mode in V30
VM/I386_NP21 improve not to explicitly accept irq while executing opecode
VM/I386_DASM split i386 disassembler from I286/I386 class
VM/V30_DASM split v30 disassembler from I286 class
VM/V30_DASM add 8080 disassebler for 8080 emulation mode
VM/VM_TEMPLATE add is_floppy_disk_connected() and is_quick_disk_connected()
PC9801 support to enable/disable 1MB/640K/320KB-FDD interfaces
2/1/2020
EMU support to create blank hard disk image (*.hdi/*.nhd)
WINMAIN add menu items to mount blank hard disk image
VM/DEVICE improve memory/io bus interfaces for 16/32bit access
VM/DEVICE add get_event_clocks() and get_cpu_clocks()
VM/EVENT add get_event_clocks() and get_cpu_clocks()
VM/I386_NP21 support 80386 (based on Neko Project 21/W i386 core)
VM/I8259 make update_intr() public
VM/MEMORY improve memory bus interfaces for 16/32bit access
VM/MEMORY make rd_table/wr_table/addr_shift public
VM/UPD7220 fix stop command (thanks Neko Project 21/W)
FMR50 change i386 core from MAME to Neko Project 21/W
FMR50 support to mount blank hard disk image
MZ2500 support to mount blank hard disk image
MZ2800 support to mount blank hard disk image
PC9801 change i386 core from MAME to Neko Project 21/W
PC9801 support to mount blank hard disk image
PC9801/DISPLAY improve code for big-endian host machine
PC9801/FMSOUND support 86-type PCM (thanks Neko Project 21/W)
PC9801/MEMBUS improve memory bus interfaces for 16/32bit access
PC9801/MOUSE fix irq number in hireso mode
PC9801/SASI improve irq/drq signals to generate from sasi bus signals
X1TURBO support to mount blank hard disk image
X1TURBO/IOBUS fix not to clear vram in reset()
1/23/2020
VM/Z80DMA fix byte counter read by read mask follows command (thanks Mr.Sato)
Have fun! -- Ohta.
** Qt porting for Common Source Code Project **
K.Ohta <whatisthis.sowhat _at_ gmail.com>
* If you can't read Japanese, read readme.qt.txt .
0. 概要
Win32:
【おねがい】
1. 背景
2. 最低限必要なもの(Qt版)
3. ビルドの方法
4. Qt固有の話
5. 移植状況
6. Upstream repositry:
7. Project Page:
8. Upstream (Takeda Toshiyaさんのオリジナル)
Special thanks to:
Changes:
* 前の変更点をお読みになる場合には、ChangeLogと000_gitlog.txtをお読み下さい。
* SNAPSHOT March 03, 2020
000_gitlog.txt .
-- Mar 03, 2020 15:13:25 +0900 K.Ohta <whatisthis.sowhat@gmail.com>
本家の変更: * 前の変更点をお読みになる場合には、history.txtをお読み下さい。
2/21/2020
VM/I386_NP21 update to Neko Project 21/W ver0.86 rev71 beta4
PC9801VX support to switch cpu mode to V30
PC9801RA support to switch cpu mode to V30
2/17/2020
EMU add is_floppy_disk_connected() and is_quick_disk_connected()
WINMAIN disable floppy/quick disk drive menus when drives are disconnected
VM/I8080 improve disassembler to distinguish 8080 and 8085
VM/I86 split i86/i88/i186/v30 from I286 class
VM/I86 fix aam in v30
VM/I86 support 8080 emulation mode in V30
VM/I386_NP21 improve not to explicitly accept irq while executing opecode
VM/I386_DASM split i386 disassembler from I286/I386 class
VM/V30_DASM split v30 disassembler from I286 class
VM/V30_DASM add 8080 disassebler for 8080 emulation mode
VM/VM_TEMPLATE add is_floppy_disk_connected() and is_quick_disk_connected()
PC9801 support to enable/disable 1MB/640K/320KB-FDD interfaces
2/1/2020
EMU support to create blank hard disk image (*.hdi/*.nhd)
WINMAIN add menu items to mount blank hard disk image
VM/DEVICE improve memory/io bus interfaces for 16/32bit access
VM/DEVICE add get_event_clocks() and get_cpu_clocks()
VM/EVENT add get_event_clocks() and get_cpu_clocks()
VM/I386_NP21 support 80386 (based on Neko Project 21/W i386 core)
VM/I8259 make update_intr() public
VM/MEMORY improve memory bus interfaces for 16/32bit access
VM/MEMORY make rd_table/wr_table/addr_shift public
VM/UPD7220 fix stop command (thanks Neko Project 21/W)
FMR50 change i386 core from MAME to Neko Project 21/W
FMR50 support to mount blank hard disk image
MZ2500 support to mount blank hard disk image
MZ2800 support to mount blank hard disk image
PC9801 change i386 core from MAME to Neko Project 21/W
PC9801 support to mount blank hard disk image
PC9801/DISPLAY improve code for big-endian host machine
PC9801/FMSOUND support 86-type PCM (thanks Neko Project 21/W)
PC9801/MEMBUS improve memory bus interfaces for 16/32bit access
PC9801/MOUSE fix irq number in hireso mode
PC9801/SASI improve irq/drq signals to generate from sasi bus signals
X1TURBO support to mount blank hard disk image
X1TURBO/IOBUS fix not to clear vram in reset()
1/23/2020
VM/Z80DMA fix byte counter read by read mask follows command (thanks Mr.Sato)
お楽しみあれ! -- Ohta.
* SNAPSHOT March 03, 2020
000_gitlog.txt .
-- Mar 03, 2020 15:13:25 +0900 K.Ohta <whatisthis.sowhat@gmail.com>