作者playlive (???)
看板Emulator
标题[新闻] jgenesis v0.11.0
时间Tue Feb 3 23:18:33 2026
jgenesis v0.11.0
以下是机翻润饰
自 v0.10 版本以来的一些最显着的变化:
- 现在支援 Game Boy Advance 模拟器
- 32X 现在支援模拟 CPU 超频
- 略微提升 32X 色彩准确度
- 提升 32X PWM 音讯品质
- SEGA CD 各区域 BIOS 配置
- NES 调色板自订选项
- Game Boy 和 Game Boy Color 现在支援透过帧混合模拟 LCD 残影
- 支援在 Game Boy Color 模式下执行原版 Game Boy 游戏
- 支援连发/自动射击输入映射
- 修正所有系统的大量错误,包括影响 v0.10 版本的两个 Sega CD 回归错误
- SDL 从 SDL2 升级到 SDL3
- 存档功能与先前的版本不相容。
我原本没打算让这次的发布距离上次发布这麽久,但总有最後一件事需要处理…
[Game Boy Advance]
- 现在支援 Game Boy Advance 模拟;需要 Game Boy Advance BIOS ROM
- 影片选项包括色彩校正和液晶残影模拟(帧混合),两者预设为启用
- 音讯增强选项,用於对直达声通道应用增强插值,
而不是精确模拟实际硬体的重取样行为。
* 这在大多数情况下可以大幅减少音讯混叠和噪音,但当游戏使用非常低的取样率时
(就像大多数 GBA 游戏那样),它也会使音讯听起来很闷
- CPU/预取/DMA 等的计时并非完美无缺,但应该相当准确
- 支援所有类型的卡带存档,如果自动侦测错误,可以选择强制选择特定类型
- 目前只有少数几款游戏(例如《我们的太阳》)使用卡带的即时时脉晶片
和太阳感测器,这些晶片和感测器都已进行模拟;其他卡带周边目前尚未进行模拟
新功能
- (Genesis)当 VDP 处於 H40/H320px 模式时,增加忽略配置的宽高比
并显示方形像素的选项
- (Genesis)新增对使用 24C64 EEPROM 晶片的游戏的支援;现在可以玩
College Slam 和 Frank Thomas Big Hurt Baseball 了
- (Genesis)新增音讯选项,可启用/停用各个 YM2612 音讯通道
- (Genesis)新增音讯选项,可调整各音源的音量
- (Genesis)在记忆体检视器视窗中加入一些额外的记忆体/暂存器视图
- (Sega CD)新增对按区域配置 BIOS 的支援,模拟器会根据游戏区域
自动选择合适的BIOS
- (32X)新增两种颜色显示选项
* 新增选项,可将 Genesis 色彩调暗,使其与 32X 色彩相比更暗,预设启用;
在实际硬体上,最亮的 32X 色彩明显比 Genesis 色彩更亮
* 新增选项,可为 32X 颜色套用黄色或紫色色调,
大致与实际硬体上观察到的效果一致
- (32X)新增 SH-2 超频选项;这会占用大量 CPU 资源,
但可以减少某些游戏中的卡顿现象
- (32X)新增选项,可隐藏指定优先顺序的所有像素
- (NES)新增调色盘自订选项
* 现在可以从档案中载入自订调色板;支援 64 色和完整的 512 色调色板档案
* GUI 现在内建一个 NTSC 调色板产生器,并以图形方式显示目前调色板
- (SNES)新增对 ST018 协处理器的支援,该协处理器
曾用於《早指し 二段 森田将棋 2》
* 这是使用 ARM7TDMI 实作(ARMv4T)而非 ARM6(ARMv3)进行模拟的,
但这应该不会造成任何功能上的差异
- (GB)新增影格混合选项,可模拟 LCD 残影,预设为启用;
启用此选项可修复部分游戏和示范中的图形效果
- (GB)启用色彩校正後,现在可以手动调整用於伽玛校正的液晶显示器伽玛值
- (GB)新增对从启动 ROM 启动的支援
- (GB)新增在 Game Boy Color 模式下执行原版 Game Boy 软体的选项
* 此功能需要 GBC 启动 ROM 才能初始化相容调色板,预设处於关闭状态,
因为它(准确地说)会导致某些游戏中出现重大错误
- (GB )增加对 MBC30 映射器的(正确)支援,该映射器
被日版《宝可梦水晶版》使用
- (GB)新增 SRAM 大小为 $01 位元组(2 KB)的未经授权/自制游戏的支援
- (Game Gear)新增影格混合选项,可模拟液晶萤幕残影,目前预设为停用
- (Game Gear)新增对从 BIOS/启动 ROM 启动的支援
- 为所有模拟系统上的正面按键和肩键增加连发按钮支援
- 新增在背景运行时自动暂停模拟器的选项
改进
- 已将 SDL 从 SDL2 升级到 SDL3;除音讯播放可能比以前略有改善外,
这应该不会对其他方面造成明显影响
* 为此,我移除了无边框全萤幕与独占全萤幕的设置,
因为在 SDL3 中更改此设置似乎不太直接;
现在全萤幕模式将始终使用平台和图形驱动程式的预设值
(在现代平台上可能始终为无边框)
- 自动预缩放视讯设定现在可以对宽度和高度使用不同的缩放因子,
这样当游戏使用小於 1 像素宽高比的显示模式
(例如 Genesis NTSC H40/H320px 模式、SNES 高解析度模式)时,
可以产生更少锯齿的图像
* 自动预缩放功能现在也预设为启用(先前的预设值是固定的 3 倍放大倍率)
- (32X)改进 PWM 晶片音讯重取样的品质。
此外,还有一个新的音讯选项,可以切换到旧的重取样演算法,
虽然品质较低,但通常听起来更清晰一些
(考虑到大多数 32X 游戏使用 22 KHz 或更低的 PWM 取样率)
- (SNES)使用光线枪时,模拟器现在会在您切换『连发』(Turbo) 开启或关闭时,
显示新的光线枪连发状态
- (GB)音讯现在以 2 MHz 而非 1 MHz 的频率进行内部取样,
这应该可以减少波表通道的音讯混叠
通用修复
- 修正多个导致模拟器当机的问题,据我所知,这些问题都不是由官方版本引起的,
但有些是由自制软体/展示程式/测试版 ROM 引起的
*(Genesis)载入小於 1 KB 左右的 ROM 档案
*(Genesis)Z80 尝试透过映射到 $A00000-$A07FFF 或 $A08000-$A0FFFF,
来存取其自身的 32KB 68K 记忆体库
*(Genesis)来源位址高於 $1FFFF 的 VRAM 到 VRAM 复制 DMA
*(Genesis)68000 触发特权冲突异常
*(Genesis)68000 在处理异常时触发地址错误
*(32X)其中一个 SH-2 执行 SLEEP 指令
*(32X)其中一台 SH-2 执行非法操作码
*(32X)其中一个 SH-2 尝试存取某些无效记忆体位址
(最高 3 位元设定为 100 或 101)
*(32X)68000 对某些无效记忆体位址执行 16 位元读取操作
*(SMS / Game Gear / Genesis)Z80 在中断模式 2 下处理 IRQ
*(SNES)载入小於 32 KB 的 ROM 档案
*(SNES)载入 SA-1 卡带,而卡带头声明它没有任何 BW-RAM
(现在任何这样做的卡带都会获得 64 KB 的 BW-RAM)
*(SNES)SA-1 字元转换 DMA 类型 1,I-RAM 目标位址高於 $7FF
*(GB)CPU 执行 STOP 指令,但未启用 CGB 速度开关
- 修正在模拟器运行时更改储存路径和储存状态路径选项後,
这些变更不会立即生效的问题
- 修正 UI 主题选项不适用於记忆体检视器视窗的问题
Genesis / Sega CD / 32X 修复
- 修正当游戏在扫描线中间进行背景颜色变更且显示器处於停用状态时,
VDP 渲染过多先前色彩像素的问题;这提高《豪血寺一族》中故障线的准确性
- 修正 6 键控制器超时时间过短的问题
- 修正两个游戏由於模拟器无法提供正确的卡带存档记忆体类型而无法启动的问题
* 炎の闘球児 ドッジ弾平 有 24C01 EEPROM 晶片
* Al Michaels 宣布 HardBall III 拥有 32 KB 的 SRAM
- 微调主 CPU 在执行 RAM 中的程式码时的记忆体刷新延迟时序;
这修正 Snatcher 中不正常显示的 CRAM 点状杂讯
- (Sega CD)修正VDP DMA 从字 RAM 读取资料延迟的问题;
这再次修复 Snatcher 中背景图形故障的问题
* 这是一个影响 v0.10.0 和 v0.10.1 的回归问题;
v0.10.0 中 VDP DMA 的变更修复这个问题
- (Sega CD / 32X)调整 CPU/VDP 时序,以适应 v0.10.0 中对 VDP 时序
所做的一些更改;这修复 Sega CD 版《Mickey Mania》在 3D 追逐关卡中
萤幕右侧出现图形故障的问题
* 这也是影响 v0.10.0 和 v0.10.1 版本的回归问题
- (32X)改进 VDP 自动填充时间的准确性;
这修复 Shadow Squadron / Stellar Assault 在开场和起飞序列中
偶尔出现的重大图形故障
- (32X)修正 VDP 暂存器锁存方面的一些不准确之处;
这修复一些早期 32X 展示程式无法正常运作的问题
- (32X)修正一些 PWM 重取样错误,这些错误有时会导致 PWM 音讯输出出现爆音
- (32X)略微提高 SH-2 的时序精度,特别是解决了 32 位元 SDRAM
写入速度过慢的问题
- (32X)修正 32X HINT 计数器行为与 Genesis HINT 行为不符的问题,
该问题导致 SH-2 水平中断偏移一行
- (32X)修正 32X VDP 每行事件(HBlank、行渲染)触发过早的问题
- 修正 Limp Ninja 的 Chaekopon 展示中的几个图形错误
* 调整底层精灵处理时序,使精灵属性取得操作在程式码行中稍微提前执行
* 修正一个非常严重的 DMA 时序错误,该错误会导致在显示器处於活动状态
且已启用显示器的情况下启动 DMA 时,DMA 需要很长时间才能开始复制
- 修正 testpico 测试 ROM 中发现的若干不准确之处
* 修正 Genesis VINT 和 HINT 指令重新启用时延迟 1 个指令的实作方式;
先前的实作方式在连续两条 MOVE 指令启用後又停用 VDP 中断时会出错
* 修正 Genesis VDP 的 F 标志位元开始读取 1(VINT 待定)的时间
比预期稍晚的问题
* (32X)修正在垂直消隐期间启用/停用/清除 SH-2 VINT 的相关行为
* (32X)修正某些暂存器位元写入错误/不可写入的问题
* (32X)更新上电时的初始状态,使其更接近实际硬体状态
NES 修复
- 对精灵 0 命中时间进行了非常细微的调整;
这修复《法柜奇兵3:圣战奇兵》标题画面上的线条错乱问题
- DMC DMA 时序现已模拟;这修正终极空战中的萤幕抖动问题
- 修正非 2 的幂次方 CHR ROM 大小无法正常运作的问题
- 修正 AccuracyCoin 测试 ROM 中发现的几个不准确之处
* sta $4017 修正一个 APU 时序问题,该问题有时会导致在软体使用两条连续指令
向 $4017 写入 0x80 时,帧计数器时脉错误地跳过。
* 更精确的 APU 帧计数器计时
* 更精确的 OAM DMA 计时
* 现在已模拟 DMA 虚拟读取
(新增选项可停用虚拟控制器连接埠读取,因为它们会导致某些游戏中
出现输入故障)
* CPU 开放汇流排现在可以正确模拟
(之前是透过始终返回位址高位元组来伪造的)
* 更精确的 PPU 开放汇流排模拟
* 大多数 PPU 暂存器在重设後立即变成不可写入
* 修正 6502 在 BRK 指令和 IRQ 处理的最後一个周期内错误轮询中断线的问题
* 更精确的控制器连接埠在选通和连续周期读取方面的行为
SNES 修复
- 修正当 BG1 被禁用而 BG2+EXTBG 被启用时,BG2 在模式 7 下无法正确渲染的问题;
这修复 F-1 Grand Prix 中缺少背景图形的问题
- 修正当游戏在以下两种情况下 V IRQ 未正确触发的问题:1. 在启用 V IRQ 的情况下
将 VTIME 更改为当前行,或 2. 在 VTIME 设置为当前行的情况下启用 V IRQ;
这修复 F-1 Grand Prix、F-1 Grand Prix III Part、SOS:Alaatoral 、
SOS Term 问题和损坏的图形问题
- 修正背景垂直马赛克实作中的多个错误,该实作之前存在诸多问题;
这修复《瘪四与大头蛋》和《侏罗纪公园2》中的图形错误
- 提高 DMA 时序精度;这修复 Circuit USA 中的图形故障
- 修正 ROM 容量超过 1 MB 的 DSP-1 卡带的 DSP-1 连接埠位址对映错误;
这修正 Super Bases Loaded 2 无法启动的问题
- 修正《丁丁在西藏》某些版本错误地预设使用 NTSC 制式而不是 PAL 制式的问题
- 现在将 65816 堆叠指标初始化为 $01FF 而不是 $0100;
这修复一些由於堆叠损坏而无法启动的自制游戏
- 修正 SA-1 字元转换 DMA 类型 1 在 2bpp 或 4bpp 模式下
错误地将输入的打包像素资料视为大端位元组序,
而实际上它是小端位元组序的问题;这修复 SA-1 技术展示卡带中的图形故障
- 实作乘法/除法时序控制;
这修复一些旧的自制程式意外地依赖於读取中间除法结果的问题
Game Boy Color 修复
- 修正 GBC 色彩校正实作中错误地使用sRGB色彩空间而非线性色彩空间进行计算的问题
;这对於 GBA LCD 选项来说尤其重要
- 稍微调整 STAT LY=LYC 位元读取 1 的时间;
这修 (Elevator Action) 中的一条故障线
- 串列埠传输资料暂存器(SB / $FF01)现在可以读写;
这修复卡牌游戏无法启动的问题
- 修复当 DAC 启用但通道处於非活动状态时,脉冲和波表通道的取样输出行为异常
- 增加通道 DAC 打开或关闭时 DAC 衰减的近似模拟;
结合上述更改,这修复 Cannon Fodder、3D Pocket Pool 等游戏中的嗡嗡声
- 修正当目标位址从 $9FFF 递增到 $A000 时 VRAM DMA 错误地提前终止的问题;
这修复 F1 锦标赛 2000 赛季中的冻结问题
- 现在允许设定第 7 位元的 HDMA5 写入操作变更正在进行的 HDMA 的长度;
这修复 NASCAR 2000 中的图形损坏问题
- DMA 现在能够在指令执行过程中暂停 CPU;
这修复《玩具总动员赛车》中偶尔出现的帧错误
https://github.com/jsgroth/jgenesis/releases/tag/v0.11.0
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.122.211 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1770131917.A.22A.html