A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 929|回复: 5

请教个关于土星模拟光驱板的问题

[复制链接]

精华
0
帖子
245
威望
0 点
积分
294 点
种子
89 点
注册时间
2020-12-15
最后登录
2024-12-25
 楼主| 发表于 2024-9-25 14:03  ·  北京 来自手机 | 显示全部楼层 |阅读模式
目前主要三种,一个是类似于gdemu那种标准的模拟光驱类,第二种是saroo这种还原土星最初卡带构架类型,第三种是法国人搞得那个通过电影卡插槽实现模拟光驱的。本人比较好奇的就是这个电影卡插槽实现模拟光驱是什么原理,有没有这方面的专家给仔细讲讲原理

精华
0
帖子
5016
威望
0 点
积分
5246 点
种子
585 点
注册时间
2009-1-25
最后登录
2024-12-24
发表于 2024-9-25 19:24  ·  广西 | 显示全部楼层
本帖最后由 can201 于 2024-9-25 19:44 编辑

phoebe-菲比、rhea-利亚、fenrir-芬里尔(狼怪)这些是模拟光驱通信协议的产品,统称为ODE
saroo这个其实更像是一个功能拓展卡(有自己独立的CPU和内存),有了它,土星零售机能当开发机玩,
saroo能把土星的运行内存增加到8MB及以上,ODE只是其中一个功能而已
satiator是澳洲佬做的,和saroo一样都需要内存loader协助数据加载,不过saroo有拓展的内存可以放loader,
satiator的loader是对主机的bios做了逆向,放到了bios的专属区域
saroo vs satiator,我个人更看好saroo的兼容性
saroo的MCU应该还有算力可以用,说不定以后连MPEG解码程序都能整合上去,这样就能免电影卡玩MPEG游戏。。。。。。
saroo和satiator一样,装上去,都无法再装电影卡,而ODE无此问题
我没有认真研究过土星,按照行家的说法是记忆卡插槽、电影卡插槽和光驱的数据总线相通

我知道肯定有人会问,哪个最好是吧
答案就是ODE那些,除了上面提到的三个,还有一个MODE

原因是很明显的,MPEG游戏只有ODE方案才能兼容运行

精华
0
帖子
245
威望
0 点
积分
294 点
种子
89 点
注册时间
2020-12-15
最后登录
2024-12-25
 楼主| 发表于 2024-9-25 20:51  ·  北京 来自手机 | 显示全部楼层
can201 发表于 2024-9-25 19:24
phoebe-菲比、rhea-利亚、fenrir-芬里尔(狼怪)这些是模拟光驱通信协议的产品,统称为ODE
saroo这个其实更 ...

感谢大佬,单从方便角度上,saroo和电影卡插槽方式更便捷,希望saroo还能进一步完善

精华
0
帖子
77
威望
0 点
积分
78 点
种子
5 点
注册时间
2010-11-21
最后登录
2024-12-25
发表于 2024-9-25 21:22  ·  四川 | 显示全部楼层
本帖最后由 波蒂切尼 于 2024-9-25 21:31 编辑

转:[SEGA Saturn模拟效能研究]
原文链接 https://www.ppxclub.com/home.php ... kforward=1&id=35529

  世嘉土星官方开发套件包含CD模拟器,可将CD-ROM拷贝到SCSI2硬盘,通过特制的HDL扩展卡插入扩展卡槽,使用SCSI2接口连接MPEG VCD端口I/O通道控制,利用该通道控制管理、传输CD-ROM块数据,完成CD块时序控制处理,因为是在土星主板Bus总线上加载CD-ROM(模拟光驱)来运行游戏,比物理光驱快的多,CD模拟器是4倍速设计,物理光驱是2倍速。

SNASM2 官方开发套件

       能够使用CD模拟器的零售版土星(图)

Psy-Q Sega Saturn 第3方开发套件

       世嘉土星SCSI HDL适配卡(图)
       https://www.retroreversing.com/sega-saturn-programming-box/

CartDev 官方开发套件


       土星官方Mirage CD模拟器,是世嘉开发工具部门Cross Products于1995年发布的世嘉土星CartDev开发工具包,含Mirage CD模拟器,土星的开发平台是基于SCSI的通信,土星硬件需要连接到世嘉CartDev开发套件的主处理器上一起使用。当连接到目标机器或土星游戏机时,它能提供一个完整的基于硬件的实时CD-ROM模拟系统,并能透明地替代该机器的CD-ROM驱动器。直接从文件进行模拟,Mirage可精确模拟所有目标CD机制的所有功能和时序。Mirage极高性能的双SCSI总线,意味着Mirage能够直接从文件进行全速模拟,并即时执行CD编码。


       这里引述土星官方Mirage CD模拟器开发者的回忆:“我在1993年左右为土星开发了交叉编译器(CodeScape)的硬件接口(卡槽)和CD模拟器。25多年后再看到它,感觉很奇怪!!!我还为其他游戏机开发了大量其他ICE和模拟器硬件。当时我在英国为一家名为CrossProducts的公司工作。土星有2xSH2 CPU和68K声音处理器,不过现在没有任何信息了,基本上是一个SCSI2接口,用于下载/上传。CD模拟器是一个开关,可在个人电脑和土星之间复用SCSI2硬盘。光盘镜像放在硬盘上,土星启动它。(根据记忆,可能有误)。我让FPGA/CPLD完成了SCIS2的所有内存映射,并将一些DPRAM作为串行转换器的接口,用于使用RS422缓冲器加载CD。模拟器上有一个FPGA(Xilinx3000系列和一个XC95xxxCPLDIIR)、DPRAM和一个SH2作为主CPU,还有一个前面板LCD和按钮。我的一些才华横溢的同事开发了模拟器上的固件。我当时的老板是一位非常知名的游戏程序员。他是个杰出的人,身边有很多非常有才华的人。在我的职业生涯中,能与这样的团队共事,我感到非常自豪。在利兹的一栋小楼里,人才济济!我现在开发ASIC和高复杂度的FPGA。”


       开发者还为其提供了SCSI层框架(内置土星多处理器I/O位移运算操作符、总线数据传输与通信控制的块函数调用协议),能让土星在CartDev开发套件的主处理上可靠运行游戏ROM。


民间ODE(光驱模拟器)


       https://tieba.baidu.com/p/8560966004

       https://tieba.baidu.com/p/8626024331

       https://tieba.baidu.com/p/6090420896

      Saroo ODE抄板了作为世嘉土星开发工具SNASM2中的SCSI HDL适配卡

      Saroo v1.2使用STM32H750 Cortex-M7 MCU,主频为400MHz,并将STM32H750的MCU SRAM作为接口,用于使用CDC缓存加载CD。

      Saroo ODE在土星CD模拟上,借由Yabause公布的SMPC (土星微控制器系统管理和外设控制,内置程序ROM的日立4位MCU) 文档信息,Saroo ODE完成了SMPC配置下的I/O内存资源映射表与总线结构,同时FPGA内部也进行了重新配置。

      尽管Saroo v1.2取得了重大进展,但MCU的嵌入式SRAM,无法以与土星实机CD Block提供相同的低延迟来满足所有请求,因此数据经常会被损坏。

      Saroo ODE很快找到了学习对象,在软件优化上,Saroo ODE采用Satiator ODE开发者詹姆斯·莱德温的方案,对于时钟要求高 (低延迟定时信号处理) 的游戏,Satiator ODE以外挂方式为镜像添加读取延时文件,并优化ROM固件库函数、程序、数据结构,略微改善在缺少SCSI层框架情况下的数据传输与通信控制。该版似乎终于不负众望,被认为“近乎完美”。

      Saroo在SMPC配置下的I/O内存资源映射表与总线结构中,由于缺少必要的SCSI层框架 (多处理器I/O位移运算操作符、总线数据传输与通信控制的块函数调用协议),在一致性处理上没法自适应地根据多处理器I/O应用进行动态调整,存在指标失灵的技术盲点,因此始终会有一些游戏运行不好,或仍无法运行。框架中视图层以给定的样式展现数据并反馈事件给逻辑层,逻辑层由土星总线仲裁器 (由一个带有cpu_dma的XOR门组成。当CPU繁忙时为“1”,on_off开关作为输入,仲裁器是通向内存模块的通道) 异或可逆运算 (XOR) 指令 (按位异或:对应的二进制位相同时出0,不同出1) 负责添加等待状态,用于控制内存和处理器I/O位移之间的数据路径流,通过IPL内部控制链路代码交互及传输数据,视图层总线数据传输与通信控制的块函数调用协议作用于软硬件之间的耦合。

      土星时序处理是由多处理器时钟完成的,它们一起运行的时钟数,在总线主循环里将按照SCU、SH2、DSP、SCSP、68000、CD区块的顺序处理,时钟变化由系统库提供,当加大 (一个数据块) 循环处理的时钟数,数据传输速率会有所上升但是兼容性会降低。对开发者来说,土星总线规范能为其找到最终的路径优化,难点是需要模拟总线仲裁功能,对多处理器时钟周期全局变量进行精确仿真,一致性处理基于数据自适应动态调整,以解决余下有问题运行不好或仍无法运行的游戏,实现100%完全兼容。

      Satiator ODE开发者詹姆斯·莱德温因为熟悉CPU工作原理,他找到并利用了CD Block ROM带有SH-1通道指令代码 (位移运算非对称密钥),该指令用于从土星MPEG Vidio CD端口(传输未压缩视频和CD数字音频)解码和加载SH-1代码时使用,通过MPEG VCD端口I/O通道控制 (位移运算,变量基于问答符交换) 管理、传输CD-ROM块数据,完成CD块时序控制处理 (为指令的执行提供定时信号)。世嘉土星官方HDL扩展卡,在零售版世嘉土星上传输CD-ROM块数据,也是使用MPEG Vidio CD端口I/O通道控制,但Saroo ODE修改了土星官方HDL扩展卡硬件、软件方案,不兼容土星MPEG Vidio CD端口I/O通道控制,因此,Saroo ODE不能像世嘉土星官方HDL扩展卡一样精确模拟土星所有目标CD机制的所有功能和时序,Saroo ODE虽然可以直接从文件进行全速模拟,但并不能即时执行CD编码。Saroo是对世嘉土星官方HDL扩展卡的功能模仿,硬件和软件上属于拼凑起来的ODE(光驱模拟器)解决方案。

      位运算是一种对二进制数据进行操作的技术,它可以实现对单个位或一组位的操作,对于处理各种硬件设备和通信协议非常有用,借此方式一定程度上起到优化CD Block ROM块的定时信号处理。对于时钟要求高 (低延迟定时信号处理) 的游戏,Satiator ODE以外挂方式为镜像添加读取延时文件,并优化ROM固件库函数、程序、数据结构,略微改善在缺少SCSI层框架情况下的数据传输与通信控制。不过基本性质没有改变,一致性处理没法自适应地根据多处理器I/O应用进行动态调整,即兼容性上始终会有一些游戏运行不好,或仍无法运行。

      扩展阅读:
      通道控制是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。引入通道的目的是:使数据的传输独立于CPU,使CPU从繁重的I/O工作中解脱出来。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。通道控制方式与DMA控制方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA控制方式相比,通道方式所需要的CPU干预更少,而且可以做到一个通道控制多台设备,从而进一步减轻了CPU负担。

      I/O通道控制方式是对DMA控制方式的发展,它进一步使CPU参与到数据传输的控制减少,即把对一个数据块的读/写为单位的干预,减少为对数据块的读/写及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资源利用率。在通道控制方式中,CPU只需发出启动指令,指出要求通道执行的操作和使用的I/O设备,该指令就可以启动通道并使该通道从内存中调出相应的通道程序执行。

本帖子中包含更多资源

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

x

精华
0
帖子
245
威望
0 点
积分
294 点
种子
89 点
注册时间
2020-12-15
最后登录
2024-12-25
 楼主| 发表于 2024-9-26 12:36  ·  北京 来自手机 | 显示全部楼层
台详细了,谢谢,学习了

精华
0
帖子
353
威望
0 点
积分
519 点
种子
214 点
注册时间
2015-7-2
最后登录
2020-10-7
发表于 2024-9-26 13:02  ·  江苏 | 显示全部楼层
现在闭眼saroo 便宜好用
发自A9VG Android客户端
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-12-25 15:24 , Processed in 0.188977 second(s), 13 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部