Board logo

标题: 放SS/PS/N64官方开发文档,供大家讨论10年前主机作参考(增补N64) [打印本页]

作者: SONIC3D    时间: 2009-6-18 23:42     标题: 放SS/PS/N64官方开发文档,供大家讨论10年前主机作参考(增补N64)

6月24日更新:
增加n64开发文档的概览部分


发觉这两天某帖很火,双方争论非常激烈,大家总是对自己怀念的主机褒奖有佳,特发官方相关开发文档若干,欢迎大家断章取义,进行技术比较。

老实说我没觉得SS的3D机能差到哪里,只是主从CPU的工作方式实在不是大多数程序员能快速接受的(更何况当时的程序员都还停留在16bit 2D游戏的开发梦境中,很多可能连什么3D图形api什么变换矩阵旋转四元数都从来没接触过),在它的生命周期内注定不会有太多的充分利用好机能的作品出现,就好比1个CPU+6个半SPU的PS3注定不会在短期内有太多充分为机能优化的作品一样。
而PS的2D之所以不行,吃亏最大之处恐怕也就是它的DRAM和VRAM实在太小,没有继续发挥的余地,芯有余而Memory不足。。。。和它兼容的System 10/11/12在加大内存和显寸的情况下(当然CPU也上去了)2D方面改善还是非常大的。

放出的部分文档都只涉及图形和整体性能描述,音频啊CDROM啊之类的就不放了。

下载
解压密码(小写):tgfc
PS文档
SS文档
N64文档

:D

[ 本帖最后由 SONIC3D 于 2009-6-24 11:14 编辑 ]
作者: yangjuniori    时间: 2009-6-18 23:48

我問楼主 PS2兼容PS1是硬件上兼容吧  是不是我猜测的 那个硬件不光PS1游戏用 SYSTEM12移植游戏也用?
作者: Rudy    时间: 2009-6-18 23:51

ss的借口太牵强了
ps的gte照样需要程序员“什么3D图形api什么变换矩阵旋转四元数”

ps文档还有很多
作者: 宫本是我儿    时间: 2009-6-18 23:57

那贴若不是因为某神在那上蹿下跳本该是很和谐的:D
作者: SONIC3D    时间: 2009-6-19 00:09

引用:
原帖由 Rudy 于 2009-6-18 23:51 发表
ss的借口太牵强了
ps的gte照样需要程序员“什么3D图形api什么变换矩阵旋转四元数”

ps文档还有很多
“什么3D图形api什么变换矩阵旋转四元数”这个是个3D游戏开发都要会的,倒不是专门给SS的借口。只是94年那当口不是个个程序员都能快速理解3D开发,包括sega本社的开发人员也不行,而在这样的技术交界口还要人家去研究2CPU协同工作调度,实在是劳命伤财,最后4年一过又很快淘汰了。。。94/95年的游戏,Credits里能列到Main/Slave SH-2 Program下的人总共也没几个,大多都只在已有的底层上写写了,有多少厂商敢陪Sega去玩硬件革命。。。
我是Sega con但是不得不承认Sega的硬件某些方面走的思路很怪,适合技术控,但不适合市场,像MD+MDCD+Super32X这种变态扩展也只有Sega敢做。。。。而且还在土星发售以后继续做。。实在是脑抽
还是现在和Sammy研发研发柏青嫂比较实在。

两个机器文档都还有很多。。。和图形/性能相关的看这些可以了,不作具体开发,库函数参考这种没什么用,了解太多没啥意思,本来就是给大家些侃山河的料。:D 我倒是还少些PS光枪的开发资料,有的话要么share点出来

[ 本帖最后由 SONIC3D 于 2009-6-19 00:14 编辑 ]
作者: sonicteam    时间: 2009-6-19 00:24

LZ pm qq 吧 求完整SS开发文档
作者: SONIC3D    时间: 2009-6-19 00:25

引用:
原帖由 yangjuniori 于 2009-6-18 23:48 发表
我問楼主 PS2兼容PS1是硬件上兼容吧  是不是我猜测的 那个硬件不光PS1游戏用 SYSTEM12移植游戏也用?
没有尝试过,因为根本没法尝试,S12和PSX用的介质都不一样,一个是ROM板一个是CDROM,PS2早期机型貌似是硬件级兼容,后期有没有软件参与不知道,但估计即使有软件参与,至少是根据CDROM的某些sector决定进入PSX工作模式还是PS2工作模式,所以直接找ROM然后改成CDROM是不太现实的。。。。
至于PS2游戏内模拟,你估计想问的是铁拳5中间的模拟,原游戏代码肯定要重编译,我没有做过这样的事情,但是S12内存比PS大,如果要在PS2上实现肯定是重写部分代码来得方便,否则万一出点问题,很难控制。
作者: yangjuniori    时间: 2009-6-19 00:32

TK5中间的模拟把街机的投币菜单什么给消除掉了 我看是把源代码重新编译了

如果开发个程序 以PS2的方式读取PS1游戏 甚至拷贝到硬盘 那该多爽啊
作者: SONIC3D    时间: 2009-6-19 00:35

引用:
原帖由 yangjuniori 于 2009-6-19 00:32 发表
TK5中间的模拟把街机的投币菜单什么给消除掉了 我看是把源代码重新编译了

如果开发个程序 以PS2的方式读取PS1游戏 甚至拷贝到硬盘 那该多爽啊
你收台PSP去用官方模拟器+分量输出算了,或者帮广大PSP众研究一下PSP RGB输出线的问题
作者: yangjuniori    时间: 2009-6-19 00:38

PSP那可不行 画面肯定是插值过的   不能表现某些游戏的例如384 336 368 乘以224那种效果
作者: sonicteam    时间: 2009-6-19 00:40

求MD开发文档
作者: aquasnake    时间: 2009-6-22 11:55

MD游戏扩容和电池记录的相应修改方法
MD游戏的扩容非常简单,可以说只要直接在文件后面增加相应字节就可以,不过,必须注意到下面这些情况:

1,对于没电池记录的游戏,那么,游戏文件可以直接扩容到32MBit,也就是4M大小。这就是SEGA MD机的最大范围了,如果要超过32Bit,目前知道的游戏就只有街霸2,40Mbit容量,需要特殊芯片支持实现Bankswitch,相应IO是0xA130F1-0xA130FF。

其中,0xA130F3/F5/F7/F9/FB/FD/FF这7个IO分别控制机器寻址$80000/100000/180000/200000/280000/300000/380000,每块大小是0x80000。

2,对于有电池记录的游戏,由于模拟器只能模拟标准定义的电池记录,也就是在0x200001—0x203FFF。那么,对于容量大于16Mbit游戏来说,就会出现Rom和Sram地址重复问题,比如经典游戏梦幻之星4。这时侯也是用特殊芯片来进行Rom和Sram的切换操作,相应IO是0xA130F1。通过对该IO写入0或者1来切换地址。

至于头文件的数据相应修改,其实是无关紧要,因为不管是真实机器还是模拟器,都不会根据头文件就固定死文件
作者: aquasnake    时间: 2009-6-22 11:57

Dreamcast AV输出口数据

1 地
2 右声道
3 左声道
4 +12v
5 +5v
6 15kHz RGB(电视行频)接地有效
7 31kHz RGB(VGA行频)接地有效
8 场同步(接VGA)
9 行同步(接VGA)
10 复合同步
11 S 端子色度
12 S 端子亮度
13 复合视频
14 蓝色信号输出(用220uf电容)
15 绿色信号输出(用220uf电容)
16 红色信号输出(用220uf电容)
作者: aquasnake    时间: 2009-6-22 11:58

永盛世嘉卡软硬加密原理分析
The cartridge port pins are numbered A1-A32 and B1-B32, left-to-right, with
the A row toward the back of the Genesis and the B row toward the front.

The "i" and "o" labels describe whether a signal is an input and/or an output
to/from the Genesis.

Signals with an "o" are output from the Genesis to the cartridge.
Signals with an "i" are input to the Genesis from the cartridge.

Pin  Signal        Pin  Signal
--------------------------------------
A1  -  gnd        B1  - ?
A2  -  +5v        B2  i   !H_RESET
A3  o  a8          B3  -   ?
A4  o  a11        B4  o   a9
A5  o  a7          B5  o   a10
A6  o  a12        B6  o   a18
A7  o  a6          B7  o   a19
A8  o  a13       B8  o   a20
A9  o  a5         B9  o   a21
A10 o  a14      B10 o  a22
A11 o  a4        B11 o  a23
A12 o  a15      B12 o  VIDEO
A13 o  a3        B13 o  VSYNC
A14 o  a16      B14 o  HSYNC
A15 o  a2        B15 o  HS_CLK
A16 o  a17      B16 o  !C_OE
A17 o  a1        B17 o  !C_CE
A18 -  gnd       B18 o  !AS
A19 io  d7       B19 o  CLK
A20 io  d0       B20 i  !DTACK
A21 io d8        B21 o  ?
A22 io  d6       B22 io  d15
A23 io  d1       B23 io  d14
A24 io  d9       B24 io  d13
A25 io  d5       B25 io  d12
A26 io  d2       B26 o  !LO_MEM
A27 io  d10     B27 o  !RESET
A28 io  d4       B28 o  !LDSW
A29 io  d3       B29 o  !UDSW
A30 io  d11     B30 i  !S_RESET
A31 -  +5        B31 o  ?
A32 -  gnd      B32 i  !CART_IN

关于对永盛软硬加密的模拟:

目前大家都知道世嘉卡带关于寻址只有a1~23,也就是寻址范围是0~3FFFFF。而加密也就是通过一个逻辑芯片来对某些脚进行屏蔽。

如果对01040004/01010004写入00C00004,那么激活加密机制,也就是以后读取地址需要进行处理(屏蔽a9,也就是B4脚),比如,读取$306的数据相当于读取$206的数据。
如果对01040000/01010000写入01040001/01010001,那么就关闭加密芯片

为什么是01040004这样地址来进行触发加密,这就直接跟加密芯片设计有关系。比如,超级大战略和亚瑟传说等是用地址400006对应芯片数据来判断等的。

对于0104(0101也一样)的加密软件设计,基本模块如下:
ROM:000DC000                 move    sr,-(sp)
ROM:000DC002                 move    #$2700,sr
ROM:000DC006                 move.l  #$C00004,d0
ROM:000DC00C                 moveq   #7,d1
ROM:000DC00E                 move.l  #$104,d2
ROM:000DC014                 and.l   d0,d1
ROM:000DC016                 swap    d2
ROM:000DC018                 or.l    d2,d1
ROM:000DC01A                 movea.l d1,a0
ROM:000DC01C                 move.l  d0,(a0)+                   $01040004=00C00004(激活硬加密)
ROM:000DC01E                 move.b  (unk_DB12E).l,d3   实际上是读取DB02E地址的数据
ROM:000DC024                 movea.l d2,a0
ROM:000DC026                 addq.l  #1,d2
ROM:000DC028                 move.l  d2,(a0)+                    $01040000=01040001(关闭硬加密)
ROM:000DC02A                 move    (sp)+,sr
ROM:000DC02C                 cmp.b   #$4F,d3 ;                判断是否有硬件加密芯片支持

加密卡带分析如下:
(104)太阁立志传、皇帝财宝;(101)皇室血裔、时空异变、古代封印

以上分析是根据目前这些卡的程序设计分析出来的,硬件加密芯片不懂研究,所以不敢担保一定正确。但,只要模拟器里面能支持这种加密功能,目前这些DUMP的卡带都可以直接完美模拟了。
作者: aquasnake    时间: 2009-6-22 12:02

土星手制引脚数据
引脚 名称     注释
1    GND
2    d2        data2
3    d3        data3
4    Vcc(5V)power
5    s1        page address1
6    s0        page address0
7    d0        data0
8    d1        data1
9    Vcc(5V)power
 
通讯格式(按键输出低电平)
Input Output
s0 s1  d3    d2   d1   d0
0   0   R      X    Y    Z
0   1   Start A    C    B
1   0   Right Left Down Up
1   1   L      1    0    0


PS手柄插头引脚:
      面向插针
      -------------------------------
      | o  o  o | o  o  o | o  o  o |
      \_____________________________/   
        1  2  3   4  5  6   7  8  9
 
PIN  信号名     方向    注释
---------------------------------------------------
1    DATA       IN      从手柄到主机的数据信号
2    COMMAND OUT   从主机到手柄的命令信号
3    +9V         --      来自主机CDROM驱动的+9V电源
4    GND         --      电源的地线
5    VCC         --      来自主机系统的+3.6V电源
6    SELECT    OUT    从主机给手柄的选择信号
7    CLOCK     OUT    从主机到手柄的时钟信号
8    N/C         --       未定义空脚
9    ACK         IN      从手柄到主机的应答信号
--------------------------------------------------
注1):方向以PS主机为基准。
注2):3脚电源主要给震动手柄马达用,一般手柄并没使用。
作者: 孤高的套套    时间: 2009-6-22 12:06

楼主 你忘了
机能不是靠参数来比较的

要靠实际运行情况

就好比举重里  体重轻的运动员 不会输给体重重的一样道理


SS是世家自己开发 软件编写上比谁都更有优势 但游戏画面还不照样那么烂
作者: aquasnake    时间: 2009-6-22 12:15

SS的架构非常难以发挥,基本上另一个CPU长期处于空闲状态。

而要同时驱动两个CPU工作,内存与外围IO的冲突与握手会浪费大量的机器时间在WAIT,由此,SS的硬件设计是失败的,用双CPU应该用dual port RAM才是。否则只能是轮流而不能并行运算。这本身就是硬件资源的极大浪费。
作者: iamzelda    时间: 2009-6-22 13:41

就是2个cpu主频累计也才多少?到现在还在吹水,SEGA的街机当时倒是值得炫,VF2经常去二百永新玩
作者: SONIC3D    时间: 2009-6-22 17:14

引用:
原帖由 iamzelda 于 2009-6-22 13:41 发表
就是2个cpu主频累计也才多少?到现在还在吹水,SEGA的街机当时倒是值得炫,VF2经常去二百永新玩
也不能光看主频,光看主频数值的话SS的两块SH2每块可都比Model2的那块80960高,关键是双CPU协作开发困难而且更重要的是缺少类似PS中向量处理器的矩阵乘法硬件,对3D作品的效率产生极大影响,所以移植个model2的东西,照样累。 隐痛阿隐痛
作者: hourousha    时间: 2009-6-22 20:57

引用:
原帖由 SONIC3D 于 2009-6-22 17:14 发表


也不能光看主频,光看主频数值的话SS的两块SH2每块可都比Model2的那块80960高,关键是双CPU协作开发困难而且更重要的是缺少类似PS中向量处理器的矩阵乘法硬件,对3D作品的效率产生极大影响,所以移植个model2的东 ...
一方面SS没有GTE这种专用矢量运算处理器,因此即使slave SH2发挥到头,处理3D变换的速度也还是不如PS(SISD和SIMD怎么比速度),此外,SS的Texture Unit(或者叫做sprite mapping unit或类似的东西更合适)其实和通常的TMU实现不同,因此在绘制自由变形的带贴图sprite时,半透明不可用233……
简而言之,PS和SS都不属于完善的3D硬件——比如PS也不带Z-Buffer,但无论如何,PS比SS更接近‘适合3D’的硬件。
作者: aquasnake    时间: 2009-6-23 10:50

引用:
原帖由 hourousha 于 2009-6-22 20:57 发表

一方面SS没有GTE这种专用矢量运算处理器,因此即使slave SH2发挥到头,处理3D变换的速度也还是不如PS(SISD和SIMD怎么比速度),此外,SS的Texture Unit(或者叫做sprite mapping unit或类似的东西更合适)其实和通常 ...
当时的软件技术没有达到这个层次,在今天,同样是2D ENGINE,却可以使用矢量技术,也就是类似FLASH的2D矢量变形实现模拟3D的效果而没有POLYGON运算的积木颗粒感。

SS的半透明,用的是2D的alpha blending,也就是 buffer里面的实现或运算(实际上这个用硬件完成的或运算)。是前景与背景的叠加。

PS的半透明,实际上是光源特效。
作者: hourousha    时间: 2009-6-23 12:23

引用:
原帖由 aquasnake 于 2009-6-23 10:50 发表
当时的软件技术没有达到这个层次,在今天,同样是2D ENGINE,却可以使用矢量技术,也就是类似FLASH的2D矢量变形实现模拟3D的效果而没有POLYGON运算的积木颗粒感。

SS的半透明,用的是2D的alpha blending,也就是 buffer里面的实现或运算(实际上这个用硬件完成的或运算)。是前景与背景的叠加。

PS的半透明,实际上是光源特效。
光源特效?半透明?你搞混了两个概念。也就是fragment operation和framebuffer operation的区别。
你见过不是framebuffer操作的半透明效果吗?它都是在primitive(SS上称为part)写入frame buffer时的操作,无非就是Current FB Color*A+primitive fragment Color*B的模式。
此外无论SS和PS,都称不上alpha blending,因为它们的颜色模式里都不支持alpha。也就是说它们是预定了几组上面公式的A、B值而已比如SS和PS都支持的半透明就是A=B=0.5,PS还支持A=B=1.0、A=1.0 B=-1.0、A=1.0 B=0.25这几种混合模式,而SS则除半透明之外只支持几种非混合模式,比如A=0.5 B=0、A=0 B=0.5,这些非混合模式对于PS来说没有支持的必要,因为PS支持shading function(估计这是你所说的光源特效,一般称为shading function或者texture function),换句话说它可以直接改变公式中的primitive fragment Color而SS不行。
也就是说,你的表述改成下面这样才是正确的。
SS和PS的半透明都是framebuffer特效,而SS实现一部分PS的‘光源特效’用的也是framebuffer特效。
此外由于SS本身的贴图是以sprite为根本目的,所以和一般的TMU不同,在自由形变sprite下,同一个像素可能要写入多次,因此带混合的framebuffer操作不能运作。
作者: iamzelda    时间: 2009-6-23 13:18

越看这贴科普,越觉得SS是为2D而设计。与N64走了2个不同的极端,那个上面连一个2D游戏也没有。

PS深得中庸之道,左右逢源,充分利用硬件特性弥补自身缺陷。成功是必然的
作者: aquasnake    时间: 2009-6-23 15:01

引用:
原帖由 hourousha 于 2009-6-23 12:23 发表

光源特效?半透明?你搞混了两个概念。也就是fragment operation和framebuffer operation的区别。
你见过不是framebuffer操作的半透明效果吗?它都是在primitive(SS上称为part)写入frame buffer时的操作,无非就 ...
2D engine中,静态半透明叠加,是用frame buffer,动态半透明,是sprite buffer中定义某色为透明色(当然透明的深度还可以分阶)。这个目前在2D游戏或者MMI制作的时候都可以看到。实际上,除非大面积用硬件处理处理 frame叠加,小的活动块都是用软件来实现。因此,SS的特色就是大面积静态透明层(如静止的窗纱,玻璃,雾气)可以简单做到,而动态活动块透明(如运动的火焰,波动气流,呼出的热气)则比较难做,只能用软件合成,如果像素面积大的话CPU资源占用太大。

PS则完全是用3D的处理,光源运算(shading model)就可以了,已经没有sprite buffer了。

形象地描述,2D效果就是一个一个点(BMP)描出来,3D是统一后期渲染,3D要简单地多

[ 本帖最后由 aquasnake 于 2009-6-23 15:17 编辑 ]
作者: 快乐的蛆    时间: 2009-6-23 15:29

如果SS当时用MODEL2做互换机版的话,或者说SS有MODEL2性能的话还会失败吗?
作者: hourousha    时间: 2009-6-23 15:29

引用:
原帖由 aquasnake 于 2009-6-23 15:01 发表
2D engine中,静态半透明叠加,是用frame buffer,动态半透明,是sprite buffer中定义某色为透明色(当然透明的深度还可以分阶)。这个目前在2D游戏或者MMI制作的时候都可以看到。实际上,除非大面积用硬件处理处理 frame叠加,小的活动块都是用软件来实现。
你说的这个是类似colorkey之类的东西,这在PS、SS中当然是硬件支持(类似检测color的MSB)的——这是sprite渲染的必要能力,不过这东西只能是透明或不透明,不能半透明。它决定的是该pixel是否执行写入framebuffer的操作。如果说与当前硬件功能类比,这个更像alpha-test功能。这个同样是framebuffer操作。
作者: hourousha    时间: 2009-6-23 15:43

引用:
原帖由 aquasnake 于 2009-6-23 15:01 发表
PS则完全是用3D的处理,光源运算(shading model)就可以了,已经没有sprite buffer了。
形象地描述,2D效果就是一个一个点(BMP)描出来,3D是统一后期渲染,3D要简单地多
shading function改变的是fragment color,比如把texel颜色用插值的顶点颜色(高洛德模式)进行改变。
半透明还是得靠后面的frame buffer操作实现,因为只有在那时才能提取framebuffer当前的颜色。
SS和PS的区别,还真不是一个点一个点描出来这么简单。一方面是SS缺乏PS的shading function,另一点在于SS的贴图操作是基于四边形形变,而PS是基于uv-TMU操作,因此PS画polygon才是一个点一个点描,而SS画sprite更像是一条边一条边描——因此在自由变形sprite中才会有重复写点操作。

[ 本帖最后由 hourousha 于 2009-6-23 15:45 编辑 ]
作者: GAYBL    时间: 2009-6-24 02:28

引用:
原帖由 hourousha 于 2009-6-23 15:43 发表

shading function改变的是fragment color,比如把texel颜色用插值的顶点颜色(高洛德模式)进行改变。
半透明还是得靠后面的frame buffer操作实现,因为只有在那时才能提取framebuffer当前的颜色。
SS和PS的区别 ...
N64相比PS的3D又有什么区别呢?
作者: hourousha    时间: 2009-6-24 09:49

引用:
原帖由 GAYBL 于 2009-6-24 02:28 发表
N64相比PS的3D又有什么区别呢?
有些相似的地方,比如PS有GTE,而N64有RSP,这两个都是矢量处理器(区别是后者是16位定点数)
N64的3D功能比PS更先进,比如N64是支持Z-buffer的而PS不是,相应的诸如透视矫正等功能自然PS也没有,在纹理过滤上N64自然也明显比PS要强,以通常的观点看,N64算是一款‘完整’的3D硬件,而缺少Z-buffer的PS则有些牵强。
当然N64也有弱点,使用Z-Buffer,显然对带宽与填充率需求更大,因此据开发者反映N64发生bandwidth-limit或fillrate-limit的情况很多。此外就是RSP由于是定点数运算而非浮点数运算,并不非常适合3D的T&L尤其是诸如需要除法的情形,编程上比较困难经常要和精度等做斗争,而任天堂直到N64后期才把RSP的文档和工具发放到少部分开发者手中并且还存在缺陷(比如无法debug)。因此RSP很长时间内对于大部分开发者来说就是一个黑盒,只能调用Nintendo提供的库函数来使用它而无法直接写µcode,这也是为何N64成为了很快被HLE(高阶模拟,指模拟针对的是函数功能而不是硬件指令)的主机的原因之一。而偏偏Nin提供的库(fast3D)精度很好但效率比较低……因此就速度上,N64相当时间内并不十分理想。此外N64对纹理大小限制比较紧,因此普遍来看纹理相对细节比较少并不只是由于采用卡带载体造成的。不过由于有纹理过滤等功能,即使纹理分辨率较低的情况下N64游戏画面的观感也是不错的。

[ 本帖最后由 hourousha 于 2009-6-24 09:53 编辑 ]
作者: SONIC3D    时间: 2009-6-24 11:01

引用:
原帖由 GAYBL 于 2009-6-24 02:28 发表

N64相比PS的3D又有什么区别呢?
干脆全家福一下,增补N64开发用文档的概览章节部分,上世代主流主机基本全了
作者: md2    时间: 2009-6-24 13:56

能不能顺手把3DO和PCFX也放出来
达到真正的全家福?
作者: SONIC3D    时间: 2009-6-24 14:19

引用:
原帖由 md2 于 2009-6-24 13:56 发表
能不能顺手把3DO和PCFX也放出来
达到真正的全家福?
这个是真没有
作者: md2    时间: 2009-6-24 15:05

引用:
原帖由 SONIC3D 于 2009-6-24 14:19 发表


这个是真没有
原先都传说PC-FX没有3D机能
被取消的FX FIGHTER 和PC上那个是不是一回事?似乎不太一样
我记得是人体极为圆滑的一个游戏,与PC的方块格斗完全不同

[ 本帖最后由 md2 于 2009-6-24 15:09 编辑 ]
作者: foyo    时间: 2009-6-24 15:14

只能纯侃侃了
作者: SONIC3D    时间: 2009-6-24 15:25

引用:
原帖由 md2 于 2009-6-24 15:05 发表

原先都传说PC-FX没有3D机能
被取消的FX FIGHTER 和PC上那个是不是一回事?似乎不太一样
我记得是人体极为圆滑的一个游戏,与PC的方块格斗完全不同
这个PC-FX,貌似只有视频解码比较有特色,没有硬件3D支持,纯软件渲染,不确定性能怎样。
这个东西貌似有PC98用的开发卡和开发软件,你要么去日本拍卖网站收收看
作者: GAYBL    时间: 2009-6-24 18:55

引用:
原帖由 hourousha 于 2009-6-24 09:49 发表

有些相似的地方,比如PS有GTE,而N64有RSP,这两个都是矢量处理器(区别是后者是16位定点数)
N64的3D功能比PS更先进,比如N64是支持Z-buffer的而PS不是,相应的诸如透视矫正等功能自然PS也没有,在纹理过滤上N64自 ...
感谢,谢谢!
作者: GAYBL    时间: 2009-6-25 00:14

引用:
原帖由 md2 于 2009-6-24 13:56 发表
能不能顺手把3DO和PCFX也放出来
达到真正的全家福?
3DO开发文档很难找。
作者: GAYBL    时间: 2009-6-25 00:16

引用:
原帖由 md2 于 2009-6-24 15:05 发表

原先都传说PC-FX没有3D机能
被取消的FX FIGHTER 和PC上那个是不是一回事?似乎不太一样
我记得是人体极为圆滑的一个游戏,与PC的方块格斗完全不同
不是一个游戏,PC-FX的3D完全是靠软件渲染,其主机本体完全不支持3D,不过后期的PC-FX到是增加了3D功能,不过没有厂商再考虑为它开发游戏了。
作者: GAYBL    时间: 2009-6-25 00:17

引用:
原帖由 SONIC3D 于 2009-6-24 15:25 发表


这个PC-FX,貌似只有视频解码比较有特色,没有硬件3D支持,纯软件渲染,不确定性能怎样。
这个东西貌似有PC98用的开发卡和开发软件,你要么去日本拍卖网站收收看
2D性能不错,主机为动画而生,更迭的画面速度最快。
作者: iamzelda    时间: 2009-6-25 11:50

期待专家对于SS、PS、N64的多边形生成能力做个讲解,一直困惑。
作者: Nigel    时间: 2009-6-25 12:08

能否增加MD和SFC的?
对这个比较有兴趣
作者: Nigel    时间: 2009-6-25 12:16

引用:
原帖由 hourousha 于 2009-6-24 09:49 发表

有些相似的地方,比如PS有GTE,而N64有RSP,这两个都是矢量处理器(区别是后者是16位定点数)
N64的3D功能比PS更先进,比如N64是支持Z-buffer的而PS不是,相应的诸如透视矫正等功能自然PS也没有,在纹理过滤上N64自 ...
RSP16位定点?做什么用?
做几何变换的话实在233
N64有没有大场景游戏,怎么处理的
作者: hourousha    时间: 2009-6-25 12:36

引用:
原帖由 Nigel 于 2009-6-25 12:16 发表
RSP16位定点?做什么用?
做几何变换的话实在233
N64有没有大场景游戏,怎么处理的
RSP主要工作的就是T&L,8-way-FixedPoint16 SIMD
用定点模拟浮点,甚至高精度计算并不是新鲜事,早期没有X87处理器,或者编译器不支持x87指令的时代不也都过来了么呵呵,当然速度自然不很理想,精度和速度是一对矛盾嘛。
作者: Nigel    时间: 2009-6-25 13:00

定点模拟浮点是用软件方法模拟本来该硬件做的浮点数运算,精度本身没有损失
RSP这是定点硬替代浮点,而且只有16位。16位精度给Z Buffer用都嫌少,这里直接用来T&L

这种东西都省,游戏开发不困难才怪
作者: chenke    时间: 2009-6-25 13:07

楼主,N64doc少几张图啊
作者: hourousha    时间: 2009-6-25 13:10

引用:
原帖由 Nigel 于 2009-6-25 13:00 发表
定点模拟浮点是用软件方法模拟本来该硬件做的浮点数运算,精度本身没有损失
RSP这是定点硬替代浮点,而且只有16位。16位精度给Z Buffer用都嫌少,这里直接用来T&L
这种东西都省,游戏开发不困难才怪
RSP是可编程的啊(只不过资料工具到了后期才提供),而nin提供的那个现成库之所以慢就因为讲究精度的原因。当然如果换成浮点SIMD自然这种问题就少很多了,不过一方面自然成本高,另一方面或许SGI当初就没提供给nin这种方案也未可知。RDP也有诸如fillrate的问题,所以有些N64游戏,实际上把Z-buffer这功能给闲置了。
作者: md2    时间: 2013-8-19 15:36

引用:
原帖由 aquasnake 于 2009-6-23 15:01 发表

2D engine中,静态半透明叠加,是用frame buffer,动态半透明,是sprite buffer中定义某色为透明色(当然透明的深度还可以分阶)。这个目前在2D游戏或者MMI制作的时候都可以看到。实际上,除非大面积用硬件处理处理 ...
原来是帧缓冲做的半透明叠加,终于明白是怎么回事了
作者: goodboykiki    时间: 2013-8-19 16:43

楼上是南派的还是北派的?竟然来盗墓?
作者: KEN健    时间: 2013-8-19 21:00

如果当时SS能照着公主皇冠和太郎丸的路子走,这应该是最适合SS的方式,还能再坚持一段时间。纯3D游戏确实画面跟PS差距大

SS还能从机能上找原因,现在想想 DC真是冤啊,完全是SEGA不给力造成的

[ 本帖最后由 KEN健 于 2013-8-19 21:06 编辑 ]
作者: yfl2    时间: 2013-8-19 21:09

引用:
原帖由 KEN健 于 2013-8-19 21:00 发表
如果当时SS能照着公主皇冠和太郎丸的路子走,这应该是最适合SS的方式,还能再坚持一段时间。纯3D游戏确实画面跟PS差距大

SS还能从机能上找原因,现在想想 DC真是冤啊,完全是SEGA不给力造成的
dc机能也不行啊,gta3就做不出来
作者: md2    时间: 2013-8-19 23:12

引用:
原帖由 KEN健 于 2013-8-19 21:00 发表
如果当时SS能照着公主皇冠和太郎丸的路子走,这应该是最适合SS的方式,还能再坚持一段时间。纯3D游戏确实画面跟PS差距大

SS还能从机能上找原因,现在想想 DC真是冤啊,完全是SEGA不给力造成的
香草自己都不敢再弄公主皇冠了,2D游戏随着画面精细度的提高,成本几何上升

21世纪有了PS的变形功能才好点
作者: tensai    时间: 2013-8-29 12:58

有么有FC的
作者: 风间星魂    时间: 2013-8-30 15:04

引用:
原帖由 SONIC3D 于 2009-6-18 23:42 发表
6月24日更新:
增加n64开发文档的概览部分

发觉这两天某帖很火,双方争论非常激烈,大家总是对自己怀念的主机褒奖有佳,特发官方相关开发文档若干,欢迎大家断章取义,进行技术比较。

老实说我没觉得SS的3D机 ...
我看了N64的,很大篇幅在讲3d概念和原理。
n64os本身应该是个unix-like(我猜是bsd修改的?)build都是makefile。
那个调试器应该是gdb的前端。
感觉把gu换成gl差不多就是一个缩水版的opengl 1.0的api了。。

这个机器相当不错。。可惜卡带可怜的容量。。。。。。。。

[ 本帖最后由 风间星魂 于 2013-8-30 16:50 编辑 ]
作者: lemonninja    时间: 2014-6-1 15:47

引用:
原帖由 hourousha 于 2009-6-22 20:57 发表

一方面SS没有GTE这种专用矢量运算处理器,因此即使slave SH2发挥到头,处理3D变换的速度也还是不如PS(SISD和SIMD怎么比速度),此外,SS的Texture Unit(或者叫做sprite mapping unit或类似的东西更合适)其实和通常 ...
可是ss的开发文档上面不是写着SCU的dps可以进行矩阵处理么?
作者: lemonninja    时间: 2014-6-1 15:50

引用:
原帖由 SONIC3D 于 2009-6-22 17:14 发表


也不能光看主频,光看主频数值的话SS的两块SH2每块可都比Model2的那块80960高,关键是双CPU协作开发困难而且更重要的是缺少类似PS中向量处理器的矩阵乘法硬件,对3D作品的效率产生极大影响,所以移植个model2的东 ...
我看了一下ss的开发文档,上面不是说scu的dsp可以进行矩阵处理么?
作者: lemonninja    时间: 2014-6-1 16:07

引用:
原帖由 hourousha 于 2009-6-24 09:49 发表

有些相似的地方,比如PS有GTE,而N64有RSP,这两个都是矢量处理器(区别是后者是16位定点数)
N64的3D功能比PS更先进,比如N64是支持Z-buffer的而PS不是,相应的诸如透视矫正等功能自然PS也没有,在纹理过滤上N64自 ...
ps的gte一样也是定点小数啊。
作者: lemonninja    时间: 2014-6-1 16:18

引用:
原帖由 Rudy 于 2009-6-18 23:51 发表
ss的借口太牵强了
ps的gte照样需要程序员“什么3D图形api什么变换矩阵旋转四元数”

ps文档还有很多
主要是ps的结构cpu+gte简单明了。而土星的双cpu+dsp+vdp1+vdp2实在是太复杂了。

[ 本帖最后由 lemonninja 于 2014-6-1 16:19 编辑 ]




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0