设为首页收藏本站

琵琶行论坛

 找回密码
 注册
查看: 8547|回复: 143

[发布] Nova v0.1.8 世嘉土星模拟器 (感冒中)

[复制链接]

该用户从未签到

发表于 2017-10-17 13:32:29 | 显示全部楼层 |阅读模式
本帖最后由 stevekwok 于 2018-1-18 11:41 编辑

抱歉了大家,作者得了重感冒,下个版本会晚一点发布。


Nova 是一个世嘉土星模拟器,使用C++11编写,目标是达到像其他家用机平台模拟器那样的水准。
Nova 是从零开始写的,但是Nova的编写离不开很多朋友的研究和贡献。


Special thanks
=================
antime, TyRaNiD for documents.
Charles MacDonald, I got lots of helps from his research on undocumented stuff.
Yabause team, for undocumented CDBLOCK commands E0, E1.
Karl Stenerud, I referenced the source code of Musashi when I wrote my m68k emulator.
flamewing, BCD instructions emulation of m68k based on his research.
MITSUNARI Shigeo, for his great x86/x64 JIT assembler Xbyak.
Niels Lohmann, for his great JSON parser.
Benjamin Siskoo, for his kindness and various helps.
Zet-sensei, for his kindness and the completed cart.json file.
Hector Tomazella, a nice buddy who makes videos and compatibility list for Nova.
Dwayne, the first patron of Nova.


Testing
=================
Benjamin Siskoo
Zet-sensei
bosshunter
Strelok
InsertMoreCoins
Nocturne
caesarkof


Translation
=================
Benjamin Siskoo
Hector (Literalmente Game)
InsertMoreCoins
theheroGAC
Deni
cia


感谢管理员加精, 感谢版主lo585983再次置顶。
也收到了论坛朋友的评分鼓励,非常感谢!


经过论坛上热心朋友的测试,目前确认Nova可以运行在Win7/8/10之上,感谢各位提供测试报告的朋友。


Nova的一些特性:
1.支持自动保存记录。
2.支持自动选择扩展内存卡还是记忆卡(需要编辑cart.json)。
3.支持自动选择游戏区域。


Nova不支持:
1.状态保存/读取
2.直接通过光驱来运行

支持的CD镜像格式:.cue, .mds, .ccd, .bin


What's new
===============


v0.1.8
---------------
SH2: Added timing for interrupt handling(Kidou Senshi Z Gundam).
SH2: Rewrote address mapping/mirroring stuff again.
SH2: Added handling for illegal delay slot instructions.
SCSP: Added read byte of SCIPD(Virtua Cop/Virtua Cop 2).
CDB: Implemented several MPEG part commands(preliminary), Lunar-Silver Star Story MPEG Ban is playable now(No MPEG video/audio playing).
MISC: Added NO_GFX mode to increase the debugging speed.

VDP1: Fixed a bug of the clipping system not initialized when reseting(opening movie of Kidou Senshi Z Gundam).
VDP2: Fixed a bug of PAL mode(Rayman (Europe)).
SMPC: Tweaked timing of INTBACK command(autofire issue of Rayman).
INPUT: Fixed a bug of key num4 on the numberpad which acts as same as the right key(Thanks ut0).


v0.1.7
---------------
VDP2: Added byte access of cycle pattern registers(Sengoku Blade).
SCSP: Implemented a new algorithm for MIBUF and MOBUF of MIDI.
SCSP: Implemented cancellation of MIDI input/output interrupts.
MISC: Added command FLAGS for the CUE parser.

SCSP: Refactored INTC.

VDP2: Fixed VRESO bits of TVMD register when its value is 2 or 3.
VDP2: Fixed a bug of sprite shadow(Suiko Enbu).
CDB: Fixed the pickup reset of CdPlay command, Steam-Heart's plays BGM properly now.
MISC: Fixed the wrong file offset of the CUE parser(single BIN).


v0.1.6
---------------
SYSTEM: Completed PAL mode support.

MISC: Added command REM for the CUE parser.
MISC: Refined the INI parser.

SCSP: Fixed the random crash caused by CA(call address is out of range).
MISC: Fixed the crash when dragging and dropping files directly to the executable.
MISC: Fixed the crash of homebrews without a Product ID.
MISC: Fixed the crash caused by incorrect use of std::getline.


v0.1.5
---------------
MISC: Added configuration file.
MISC: Implemented I18N.
MISC: Rewrote the CUE parser.
MISC: Implemented startup from command line.
MISC: Implemented dragging and dropping files.

SH2: Improved address mapping and mirroring.
UI: Improved the user interface.

VDP1: Fixed Jump Call/Return.
M68K: Fixed TAS instruction, 3D Baseball is in-game (Not playable due to graphic issues).


v0.1.3
---------------
SCU: Added byte access of registers, Burning Rangers is playable now.
VDP2: Added MSB color calculation.
SCSP: Added read access of sound stack.
SYSTEM: Preliminary support for PAL mode, Tomb Raider (Europe) is playable now.

VDP1: Fixed MSBON.
VDP2: Fixed issues of MSB shadow, resolved the shadow disappearance of Asuka 120% Burning Fest.


v0.1.2
---------------
Fixed a mirroring bug of SH2 division unit, many games are playable now, sprites disappearance of some games is resolved too.


v0.1.1
---------------
Disabled thousands of warnings of illegal memory access of m68k, make Lunar Silver Star Story playable.
Fixed 4 instructions of m68k, CMP, CMPA, CMPI, CMPM, CD player and many games play sound properly now.
Fixed the issue of always formatting backup RAM when startup.


v0.1.0
---------------
Initial release.


当前Nova的状态:
硬件的模拟完成度大约是80%,其中:
SH2 90%(一部分片上单元(Onchip modules)像BSC, UBC未模拟,异常处理和DMA未完成)
SCU 70%(DMA需要重写,DSP完成了但目前还有很多问题)
SMPC 80% (不支持2P,多插Multitap等很多周边设备未模拟)
VDP1 90%(绘图命令接近完成但需要重写,需要更加精确的计时(Timing),Double interlace未模拟)
VDP2 90%(RBG0一部分未完成,RBG1,EXBG未模拟,Cycle pattern register一部分未完成,Line color screen旋转未模拟,coefficient data 未模拟)
M68K 95% (需要更加精确的计时(Timing),CPU的某些状态未模拟)
SCSP 70%(DSP未模拟,MD(Modulation data) 未完成,PG(Phase generator)有比较严重的问题)
CDB 70%(一部分命令未模拟,CD Drive 状态未完成)

控制器:目前只支持 1P Digital pad
扩展卡:目前已经支持所有容量的包括记忆卡,扩展内存卡等,但是默认是使用了32Mbit的扩展卡,通过编辑cart.json来自动选择要切换到记忆卡还是扩展内存卡。

关于速度:目前主CPU SH2只有解释器而没有JIT,这是速度慢的一个原因,另外一个原因是为了同步各个设备所作的牺牲。
VDP2支持JIT,用按键“9”可以在运行时动态切换C++核心和JIT核心,可以获得大幅速度提升,但是JIT核心目前的完成度没有C++核心那么高,颜色运算,窗口,阴影等还未完成。

感谢坛友 caesarkof 做了大量测试,喜欢测试的朋友可以和他一起做测试 BUG汇报帖

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

13

查看全部评分

该用户从未签到

发表于 2017-11-22 19:34:36 | 显示全部楼层
感谢楼主更新
回复 支持 0 反对 1

使用道具 举报

该用户从未签到

发表于 2017-10-17 17:27:20 | 显示全部楼层
牛人啊,没想到国内也有这种会写模拟器的人才,顶起来啊 希望土星模拟器早点成熟,到目前为止那么多土星模拟器没有一款像样的
回复 支持 1 反对 0

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 16:00:56 | 显示全部楼层
am7 发表于 2017-10-17 15:20
建议直接在64位系统开发,不要在32位系统折腾太多,因为硬件性能已经改变了很多,而且如果API不是很深入 ...

我并不同意这种观点
老机器本身就是32位以下的cpu
基于32位开发对老机器的模拟器来说并没有太大问题
固然x64有更好的api调用机制
但事实上对于cpu的使用率更高了
在硬件受限的条件下
32位程序执行效率其实高于64位
虽然现在的硬件条件相对优越
但玩模拟还是需要考虑大众用户的
回复 支持 1 反对 0

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 13:42:28 | 显示全部楼层
32位还是64位
目前64位mednafen倒是已经相当不错了
回复 支持 反对

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 13:44:09 | 显示全部楼层
我手上的守护英雄镜像似乎运行不能
其他ss模拟器正常
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-10-17 13:46:46 | 显示全部楼层
菲鲁塞迪 发表于 2017-10-17 13:42
32位还是64位
目前64位mednafen倒是已经相当不错了

32位的程序也可以在64位系统上运行的。
回复 支持 反对

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 13:48:57 | 显示全部楼层
stevekwok 发表于 2017-10-17 13:46
32位的程序也可以在64位系统上运行的。

我知道
但是反过来不行
所以我比较喜欢32位版
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-10-17 13:51:36 | 显示全部楼层
菲鲁塞迪 发表于 2017-10-17 13:44
我手上的守护英雄镜像似乎运行不能
其他ss模拟器正常

出错信息截个图
回复 支持 反对

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 13:56:05 | 显示全部楼层


CMD窗口在循环跳
但游戏依然是黑屏

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-10-17 13:57:56 | 显示全部楼层
菲鲁塞迪 发表于 2017-10-17 13:56
CMD窗口在循环跳
但游戏依然是黑屏

BIOS文件重命名为 bios.bin 放到 bios 文件夹里。

回复 支持 反对

使用道具 举报

签到天数: 166 天

[LV.7]常住居民III

发表于 2017-10-17 14:07:56 | 显示全部楼层
可以运行了
楼主是作者么?
期待一下debug功能
目前mednafen和yabause的debug功能都不算很强
另外自定义按键还是必须的东西...
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-10-17 14:19:00 | 显示全部楼层
菲鲁塞迪 发表于 2017-10-17 14:07
可以运行了
楼主是作者么?
期待一下debug功能

目前的debug功能只有memory editor可用,其他的反汇编器这些都是方便我自己开发调试的,因为功能不完善,所以release版中屏蔽掉了。

回复 支持 反对

使用道具 举报

签到天数: 149 天

[LV.7]常住居民III

发表于 2017-10-17 14:26:28 | 显示全部楼层
月下夜想曲在播放完动画后程序崩溃...
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2017-10-17 14:26:31 | 显示全部楼层
WIN10 爆音
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|琵琶行论坛 ( 赣ICP备12000882号  

GMT+8, 2018-1-23 10:18 , Processed in 0.032719 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表