我一直认为不是显存不够,而是汉化方案的原因造成实体机花屏。
PPU需要在扫描的时候占用显存读取图形数据,这个时候就不能让CPU去改显存,
只有在关闭屏幕或者在场消隐期间,这个时候显存是空闲的,才能让CPU写显存。
而汉化大佬没有关闭屏幕,也没有在场消隐期间去写显存。
早期的模拟器没有考虑实机可以正常写入并显示,后来的模拟器精确了,就出现花屏的情况,但是通过增加选项,支持这种错误写显存操作也能正常显示。
然而在实体机运行依然会写显存失败,导致花屏幕。
我小改测试了一下勇者斗恶龙3汉化版,关闭屏幕写,作为测试,代价是屏幕闪烁。
望抛砖引玉哪位大佬能彻底把这个游戏修正好,能够在实体机上完美运行。
如果能在场回扫的中断处理中批量写显存就完美了
################################################
勇者斗恶龙3汉化版关闭屏幕写显存的测试视频,菜单文字不花屏,但是闪屏(由于关闭屏幕)
https://www.bilibili.com/video/BV1bF4MeFEdr/
改版ROM以及修改汇编语言文件
链接:https://pan.baidu.com/s/1nDTKPTWlj2DRGcd82mSDAg?pwd=DQ3H
提取码:DQ3H
################################################
2024年10月23日更新
我小改测试了一下火焰之纹章:多拉基亚776 汉化版,采用的方案是在场消隐期间写显存
在实体机上已经正常显示菜单,并且不闪屏
https://www.bilibili.com/video/BV1jQypYkEG2/
等测试如果没有问题就可以放出
PPU需要在扫描的时候占用显存读取图形数据,这个时候就不能让CPU去改显存,
只有在关闭屏幕或者在场消隐期间,这个时候显存是空闲的,才能让CPU写显存。
而汉化大佬没有关闭屏幕,也没有在场消隐期间去写显存。
早期的模拟器没有考虑实机可以正常写入并显示,后来的模拟器精确了,就出现花屏的情况,但是通过增加选项,支持这种错误写显存操作也能正常显示。
然而在实体机运行依然会写显存失败,导致花屏幕。
我小改测试了一下勇者斗恶龙3汉化版,关闭屏幕写,作为测试,代价是屏幕闪烁。
望抛砖引玉哪位大佬能彻底把这个游戏修正好,能够在实体机上完美运行。
如果能在场回扫的中断处理中批量写显存就完美了
################################################
勇者斗恶龙3汉化版关闭屏幕写显存的测试视频,菜单文字不花屏,但是闪屏(由于关闭屏幕)
https://www.bilibili.com/video/BV1bF4MeFEdr/
改版ROM以及修改汇编语言文件
链接:https://pan.baidu.com/s/1nDTKPTWlj2DRGcd82mSDAg?pwd=DQ3H
提取码:DQ3H
################################################
2024年10月23日更新
我小改测试了一下火焰之纹章:多拉基亚776 汉化版,采用的方案是在场消隐期间写显存
在实体机上已经正常显示菜单,并且不闪屏
https://www.bilibili.com/video/BV1jQypYkEG2/
等测试如果没有问题就可以放出