楼主:
playlive (player)
2024-12-30 18:35:05Nova v0.7.0
以下是机翻润饰
这款名为 Nova 的 Sega Saturn 和 Sega Titan Video ( ST-V )
模拟器由 Steve Kwok 创建,能够运行多种商业游戏。
Nova 采用 C++17 编写,期望达到与其他家用游戏机模拟器相同的水平。
Nova 目前不支援 CD-ROM 光盘版的游戏,但可以播放以下 CD 映像格式:
CUE/MDS/CCD/BIN/CDG/CDI/CHD/CSO/DAX/ NRG/TOC/ZSO
自上一版本以来的变化如下:
- SH2:新增 FRT 的 TOCR 暂存器。
- SH2:新增 BSC 的 REF 暂存器。
- SH2:新增针对空闲循环的最佳化(初步)。
- SH2:重写 DMAC。
- SH2:重写INTC(冲破火网 2、OutRun)。
- SH2:重写中断处理。
- SH2:重写指令 NEGC、MAC.L 和 MAC.W。
- SH2:重写开机程式。
- SH2:重构的快取模拟。
- SH2:重构的指令执行。
- SH2:增加指令执行的吞吐量。
- SH2:支援的自动向量。
- SH2:修复快取区域的位址空间检查。
- SH2:修复日志记录。
- SH2:修复FRT暂存器TIER的错误。
- SH2:修正设定 DMAC 的 CHCR 暂存器的错误。
- SH2.FRT:透过使用移位代替除法来提高性能。
- SH2.FRT:新增外部时钟设定。
- DCC:为 MINIT 和 SINIT 新增长字存取。
- DCC:改进的双 CPU 通讯。
- DCC:改良 MINIT(超级机器人大战 F)的计时。
- DCC:将中断等级变更为 0x0f、0x0d。
- PLL:固定 SCU.TIMER1 频率。
- M68K:重写异常处理。
- M68K:重写 NMI 处理。
- SCU:重写 DMAC(不完整)。
- SCU:重写 INTC。
- SCU:改良 DMA(武装飞鸟)的时序。
- SCU:修正中断处理的计时问题(武装飞鸟、钢弹 Z)。
- SCU:修正有时 DMA 传输不完整的错误。
- SCU:修正有时 DMA 传输可能在未设定启用/起始位元的情况下启动的错误。
- SCU:修复 T0C、T1S 的初始化。
- SCU:修正中断处理的错误(雷射超人)。
- SCU 和 SH2:修复中断处理(雷射超人、侍魂 斩红郎无双剑(无卡匣警告))。
- SCU.DSP:内联所有指令和内部操作。
- SCU.DSP:修正 i_dma 透过 SlideHop 模拟器侦测的时序。
- SCU.DMAC:透过以移位替换除法来最佳化。
- SCU.DMAC:将 DMAC 作为可执行设备以获得更好的时序。
- SCU.DMAC:修复 CDB.DATATRNS 传输(修复 Steam-Heart 的回归)。
- SCU.DMAC:为 DMA 传输实现更准确的时序。
- SMPC:实现周边资料收集的时间最佳化。
- SMPC:新增 3 个未记录的指令(0x0a、0x0b、0xa0)。
- SMPC:重写 INTBACK 指令,改进 INTBACK 指令的时序。
- SMPC:重写外围资料处理(银河格斗 - 宇宙战士)。
- SMPC:将 sat_battery.sav 改为 sat_battery.bin。
- SMPC:修正 INTBACK 指令的错误(取消 INTBACK 指令)。
- SMPC:修正 CDON/CDOFF 指令的 SF 标志设定的错误。
- SMPC:重写取得外设资料。
- SMPC:修正输入问题(雷射超人、贞本义行 插图)。
- SMPC:将周边资料撷取时间变更为 100 条扫描线(接近 SAROO 快速游标移动速度)。
- SMPC:更改 INTBACK 指令的 cbGetStatus 计时(SegaSaturn Electronic Book
Operator)。
- VDP1:新增读取超出范围时传回垃圾资料。
- VDP1:重写帧缓冲区的初始化。
- VDP1:最佳化的色彩模式解码。
- VDP1:修正暂存器镜像(无镜像)的错误。
- VDP1:重写暂存器处理和更新时序,
修复 露娜(缺少树木),皇家骑士团 2(选单闪烁)。
- VDP1:修正重设或开机时某些暂存器不应初始化的错误
(480P-Mode-Demo:修正自 v0.6.5011 以来的颜色问题,
以及不应显示紫色折线的另一个错误)
- 光栅:精致。
- VDP1:修正手动擦除/更改时间(机动战士 Z 钢弹 前编 ゼータの鼓动)。
- VDP1:修正手动变更(缺少 Sega Ages - OutRun 的图形)。
- VDP1:修正 CMDLINK,必须忽略位元 1、0 (恶魔城 X)。
- VDP1:修复纹理取样。
- VDP1.ERASER:实作用于处理擦除/写入的擦除器
(修正 KOF 95、音速小子嘉年华 的图形问题)。
- VDP1.ERASER:固定端 VBE。
- VDP2:新增 m_cpe(循环模式错误)的初始化。
- VDP2:在 checkV 处清除 m_cpe(循环模式错误)。
- VDP2:实施边界绘图。
- VDP2:最佳化颜色模式解码,用于取得图层资料和精灵活动表。
- VDP2:修正 VCNT 更新的错误(KOF95 的卡匣警告萤幕调色板错误)。
- VDP2:重写循环模式处理。
- VDP2:修正 TVSTAT 暂存器处理的错误。
- VDP2:修正位图位址换行的错误(NBG0、NBG1、RBG0、SPRITE、贞本义行 插图)。
- SCSP:实现 DSP 的完全模拟。
- SCSP:为 CCR 暂存器增加更多读取处理。
- SCSP:重写 INTC。
- SCSP:重写定时器。
- SCSP:清理未使用的表。
- SCSP:完全重构。
- SCSP:修复 M68K RAM 存取的时序,以透过 SlideHop 的模拟器检测。
- SCSP:修正设定监听槽后主叫位址未更新的错误(SRWF FMV)。
- SCSP:修正使用 16 位元资料设定时 EFSDL 的错误。
- SCSP:修正 SDIR 处理的错误(Waku Waku 7)。
- SCSP:修正 DMAC EX 标志的错误。
- SCSP:通过 celeriyacon 的 scsp_test 的 13 项测试。
- CDB:新增 CR 暂存器的位址映射区域(Saturn 测试选单)。
- CDB:实现 subcodeRW 的处理。
- CDB:支援的多会话光盘。
- CDB:支援多索引光盘。
- CDB:支援 CD+G/CD+EG 播放。
- CDB:重写 TOC 处理。
- CDB:重写定期回应。
- CDB:重写状态转换。
- CDB:重写 subcodeQ 处理。
- CDB:重写连接器处理。
- CDB:重写位置处理。
- CDB:重写资料传输处理。
- CDB:重构指令 CdPlay、CdSeek 和 ReadFile。
- CDB:上电后不启动周期性回应。
- CDB:重设后读取TOC。
- CDB:模拟状态 RETRY、ERROR、FATAL。
- CDB:重写状态、周期回应、位置处理。
- CDB:重写指令 CopySctData、MoveSctData。
- CDB:使用循环伫列最佳化子码 R~W 解码。
- CDB:重写指令 E2,将其重新命名为 ReadRom。
- CDB:新增 SH1 假位址映射。
- CDB:更改周期性回应的变化条件。
- CDB:合并的 r/datatrns 读/写处理程序。
- CDB:实施 CdScan。
- CDB:反向扫描反转输出样本顺序。
- CDB:重写 CD 报告。
- CDB:重写异步操作。
- CDB:修正 FATAL/OPEN/NODISC/STANDBY 状态报告。
- CDB:修正 DATATRNS 暂存器的字存取(Steam Hearts)。
- CDB:再次修复指令 AbortFile 的计时。
- CDB:修正 GetdelSctData、CalActSiz、DataEnd(KOF95)、ReadDir/ChgDir
(当 infnum 为 254 时, drend 不正确)。
- CDB:修复目前播放位置和目标位置的错误。
- CDB:修正档案系统有时无法存取目前/父目录的错误。
- CDB:修正 CSCT 标志的错误(应在磁区被丢弃时设定)
- CDB:修正 MPEG 影片播放两次的错误。
- CDB:修正 EHST 标志设定时间的错误(重装机兵 Leynos 2)。
- 系统:实施 CAT(循环自适应定时)。
- 系统:实施FMA(快速内存存取)。
- 系统:实现的音讯串流缓冲区。
- 系统:为 PAL 模式实施新机制。
- 系统:实施通用系统时间片。
- SYSTEM:重写框架结构。
- 系统:重写通讯埠的处理。
- SYSTEM:修正位址对映(锁定区域)的错误。
- 系统:修正 V-BLANK 期间 H-BLANK 的错误。
- SYSTEM:重写 CS2 位址对映。
- 系统:新增未加载游戏时的默认 BUP。
- 系统:新增开启/关闭托盘。
- SATURN:更改 BUP 的名称前缀。
- SATURN:修复 SCSP RAM 的初始化,以实现快速启动和 HLE BIOS。
- SATURN:增加音讯 CD 的辨识。
- SATURN:为 HLE_BIOS 新增 VDP1 帧缓冲区初始化(银河格斗 - 宇宙战士)。
- TITAN:修复 TITAN 模式。
- TITAN:修正来自 Suiko Enbu 的输入。
- TITAN:将按钮名称从 PUSHSW 变更为 SELECT。
- TITAN:重写 EEPROM 和 BUP 加载/储存。
- TITAN:新增 SIMM。
- TITAN:通过 MIDI 测试。
- TITAN:通过扳机测试。
- TITAN:支援新的 7Z/RAR 格式。
- TITAN:支援多卡匣。
- TITAN:修正 Sport Fishing 2 的区域码。
- PROLOGUE21:新增一个存根。
- 光栅:重写光栅。
- READER:重写异步操作。
- 时间表:完善。
- 调度程序:修正帧退出时,下一个目标时间可能被丢弃的错误。
- 调度程式:修正计时器重复的错误。
- SCHEDULER:修复事件执行后可以执行的错误。
- MP1D:实作新机制(缓冲区已满时等待)。
- MP1D:视讯和音讯使用单独的解复用器。
- MP1D:减少内存使用。
- MP1DA:修正播放 露娜银河之星 开场影片时的声音故障。
- MP1DV:修复空 GOP 的错误。
- VCDCARD:与 CDBLOCK 解耦。
- VCDCARD:实现视窗、缩放功能。
- VCDCARD:修复指令 MpSetDec。
- VCDCARD:修复当机问题。
- VCDCARD.MPDV:修正帧缓冲区的显示位置。
- VCDCARD.MPDV:修正视窗处理问题。
- VCDCARD.MPDV:实作双线性过滤。
- VCDCARD.MPDV:以整数计算取代所有计算浮点。
- ODD:重写异步操作。
- ODD:修正BIOS CD播放器中释放前进/后退按钮后有时无法停止的错误。
- DRIVE:重构 CD 装置状态转换。
- PAR:修正取得供应商 ID、产品 ID 的错误。
- 数据:新增 Hakken 的 Sega Saturn 记录数据!电子宠物公园(感谢 Cafe-alpha)。
- 周边设备:实现 PSY-Q 目标适配器的模拟(损坏)
- 周边设备:实现 Satiator 的模拟(损坏)。
- 周边:实施 SAROO 模拟。
- 连接埠:将 ASIC01、ASIC02 与 SMPC 解耦。
- FDD:将区块大小变更为 512 字节。
- BIOS:新增功能 S_AUTHENCD(SMMPPG1 要求),增加版本号码。
- BIOS:指令的固定偏移量为 0600092E。
- BIOS:支援在启用 SH2 快取的情况下运作。
- BIOS:新增 SH2(S)(Doom) 的默认 PC 和 SP。
- BIOS:修正 SH2(S)(Atal) 的 SYS_SETSCUIM。
- BIOS:启用 Nova BIOS。
- BIOS:支援运行可执行档。
- BIOS:修复从 sh2 初始化。
- BIOS:实作 SYS_CHGSYSCK、SYS_TASSEM、SYS_CLRSEM。
- BIOS:重写 SCU 中断的处理以及SYS和BUP函式的执行接口。
- BIOS:HLE BIOS 版本上升至 v0.94。
- BIOS 重写 SH2_INIT 并中断初始化。
- BIOS:修正 HLE BIOS 的错误,更新 HLE BIOS 的版本号。
- BUP:重新设计 BUP 格式。
- BUP:修正有时会损坏 BUP 档案系统中现有游戏记录的错误。
- BUP:修正读取/写入游戏记录的错误。
- EXE:支援新的可执行 SRE 格式。
- EXE:改进入口位址 COF/ELF/SRE(DUKPLAYR.COF) 的处理。
- CD:CD 档案名,当只有一个点而没有副档名时,点被省略。
- CD:修正读取时可能超出档案大小范围的错误。
- CD:修正最后一首曲目无法结束或循环的错误。
- CDX:重写实体 CD 装置的处理。
- CDX:重写 BIN/CCD/CUE/ISO/MDS 解析器。
- CDX:重构扇区/索引/追踪/会话/CD 和 TOC 结构。
- CDX:支援多重会话和多重索引。
- CDX:支援新格式 CDG/CDI/CHD/CSO/DAX/NRG/TOC/ZSO。
- CDX:支援自动产生 ECC/EDC 代码。
- CDX:将 ISO9660 内容与 CDB 分离。
- CDX:支援 PCM 和 WAV(大致)格式。
- CDX:修正 MDS/NRG 格式的 CD+G 回归(由 0.6.5003 CdScan 支援引起)。
- CDX.CUE:支援的 WAV(大致)档案。
- COMMON:实作 cirque(循环伫列)。
- 实用程式:新增区域 ID。
- MISC:实现的音讯电平表。
- MISC:实施“控制旋转”。
- MISC:实作 Turbo 模式(选项卡)。
- MISC:实作步进模式(Ctrl + ->)。
- MISC:实作 per_game_bup。
- MISC:改进 FPS 控制,帧现在更加稳定和流畅。
- MISC:重写汽车区域,PAL 区域现在具有更高的优先级。
- MISC:支援的 64 位元架构。
- MISC:最佳化 INI 解析器档案处理(加载整个档案而不是逐行加载)。
- MISC:减少内存使用。
- 其他:新增暂停/播放切换(空白键)。
- MISC:新增 FPS 显示的颜色和阴影。
- MISC:在“关于”对话方块中新增“许可证”按钮。
- MISC:在 nova.ini 中新增新选项 show_log,用于显示/隐藏日志控制台。
- MISC:在 nova.ini 中新增新选项 show_stat,用于显示/隐藏 FPS 资讯。
- MISC:在 nova.ini 中新增新选项 log_xxx,用于设定各个模组的日志等级。
- 其他:在 nova.ini 中将 stv_game 重新命名为 stv_slot#。
- MISC:在 nova.ini 中将 mpeg_card 重新命名为 vcd_card。
- MISC:修正 Saturn Standard Pad 的资料大小。
- MISC:修复内存泄漏。
- MISC:修复随机当机。
- MISC:修正 INI 解析器的一个错误(遇到空白行时可能会当机)
- MISC:修正 CPE 格式的错误。
- MISC:更新 data.json。
- MISC:迁移到 C++17。
- MISC:透过选单显示/隐藏输出控制台。
- MISC:修正输出控制台无法正常关闭的错误。
- MISC:支援盘片交换。
- MISC:让 FPS 更加稳定。
- MISC:将 init 函数替换为适用于各种机器的 create 函数。
- D3D9:删除 D3DX9 依赖项。
- D3D9:将 D3DFMT_X8R8G8B8 变更为 D3DFMT_A8R8G8B8 以实现相容性。
- 图形:实现各种图形滤镜:
… 无
… 双线性
… CRT(孔径格栅大)
… CRT(孔径格栅小)
… CRT(槽罩大)
… CRT(槽罩小)
… 点(圆形)
… 点(方形)
… LCD (Game Boy)
… LCD (Game Boy Light)
… 噪声(动态)
… 噪声(静态)
… 电子墨水色彩
… Paperwhite
… 扫描线(萤光粉)
… 扫描线(直线)
… 单色
… 反色
- 图形:实现全萤幕模式。
- 图形:实现垂直同步。
- 声音:改进的音讯串流。
- 声音:支援的随身声音格式。
- 声音:修正左右声道颠倒的错误。
- GUI:垂直同步默认启用。
- GUI:重新设计的档案开启/关闭逻辑。
- GUI:在主视窗的标题列上显示版本号。
- GUI:支援各种宽高比。
- GUI:支援主视窗旋转。
- GUI:在全萤幕模式下隐藏光标。
- GUI:使用 freetype 渲染覆蓋文字。
- GUI:修正恢复最小化视窗时的错误。
- 侦错器:启用侦错器。
- 调试器:改进调试器。
- DEBUGGER:传回 RTS 而不是从函数传回。
- 侦错器:修正执行侦错器时退出程式的当机问题。
- 侦错器:修正侦错器在低 DPI 显示器下当机的错误。
- 侦错器:修正点击 PC 图示时的错误。
- NOVA:重构整个专案(未完成)。
- NOVA:关闭时释放机器的内存。
相容性清单
https://literalmente-game.github.io/compatibility_lists/nova.html
原始网址
https://www.patreon.com/posts/nova-v0-7-0-118648844?utm_medium=social&utm_
source=twitter&utm_campaign=postshare_creator&utm_content=join_link
缩网址
https://reurl.cc/G5nj3y