从世嘉土星开发文档来看,土星的系统总线采用的是SCSI规范,SCSI定义了一种并行协议,主要是用于数据传输和通信控制的块协议。
世嘉土星官方开发套件包含CD模拟器,可将CD-ROM拷贝到SCSI硬盘驱动器,在A-Bus总线上模拟光驱加载CD-ROM来运行游戏,比物理光驱快的多,CD模拟器是4倍速设计,物理光驱是2倍速。
土星官方CD模拟器,由世嘉开发工具部门Cross Products编写,可精确模拟所有目标CD机制的所有功能和时序,能够直接从镜像文件进行全速模拟,并即时执行CD编码。开发者工具包提供了SCSI视图层框架代码(内置土星多处理器I/O位移运算操作符、总线数据传输与通信控制的块函数调用协议),位处理是一种对二进制数据进行操作的技术,它可以实现对单个位或一组位的操作,对于处理各种硬件设备和通信协议非常有用,能让土星在CartDev开发套件的主处理上可靠运行游戏ROM。
民间ODE(光驱模拟器)
https://tieba.baidu.com/p/8560966004
https://tieba.baidu.com/p/8626024331
目前民间的土星ODE(光驱模拟器)包括Saroo,最基本的问题是缺少必要的(SCSI视图层框架代码)多处理器I/O位移运算操作符、总线数据传输与通信控制的块函数调用协议,需要模拟土星的总线仲裁,否则一致性处理没法自适应地根据多处理器I/O应用进行动态调整,要么始终会有一些游戏运行不好,或仍无法运行。
土星时序处理是由多处理器时钟完成的,土星多处理器一起运行的时钟数,在总线主循环里将按照SCU、SH2、DSP、SCSP、68000、CD区块的顺序处理,当加大(一个数据块)循环处理的时钟数,游戏速度会有所上升但是兼容性会降低。
Satiator开发者詹姆斯·莱德温由于熟悉CPU工作原理,他找到利用了CD Block SH-1通道指令,通过MPEG VCD端口的I/O通道控制来管理、转移CD-ROM块数据,完成CD块指令周期时序控制处理。
通道控制是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。通道控制方式与DMA控制方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA控制方式相比,通道方式所需要的CPU干预更少,而且可以做到一个通道控制多台设备,从而进一步减轻了CPU负担。
I/O通道控制方式是对DMA控制方式的发展,它进一步使CPU参与到数据传输的控制减少,即把对一个数据块的读/写为单位的干预,减少为对数据块的读/写及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资源利用率。在通道控制方式中,CPU只需发出启动指令,指出要求通道执行的操作和使用的I/O设备,该指令就可以启动通道并使该通道从内存中调出相应的通道程序执行。
作者:Arcato
原创文章,转载请注明出处