» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 57 1234
发新话题
打印

放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 编辑 ]


本帖最近评分记录
  • GAYBL 激骚 +8 真是太感谢LZ了。 2009-6-25 00:14
  • asdqwe 激骚 +3 感谢分享 2009-6-19 00:45

TOP

我問楼主 PS2兼容PS1是硬件上兼容吧  是不是我猜测的 那个硬件不光PS1游戏用 SYSTEM12移植游戏也用?



TOP

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

ps文档还有很多


TOP

那贴若不是因为某神在那上蹿下跳本该是很和谐的:D

TOP

引用:
原帖由 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 编辑 ]

TOP

LZ pm qq 吧 求完整SS开发文档

TOP

引用:
原帖由 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上实现肯定是重写部分代码来得方便,否则万一出点问题,很难控制。

TOP

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

如果开发个程序 以PS2的方式读取PS1游戏 甚至拷贝到硬盘 那该多爽啊

TOP

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

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

TOP

PSP那可不行 画面肯定是插值过的   不能表现某些游戏的例如384 336 368 乘以224那种效果

TOP

求MD开发文档

TOP

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来切换地址。

至于头文件的数据相应修改,其实是无关紧要,因为不管是真实机器还是模拟器,都不会根据头文件就固定死文件

TOP

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电容)

TOP

永盛世嘉卡软硬加密原理分析
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的卡带都可以直接完美模拟了。

TOP

土星手制引脚数据
引脚 名称     注释
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脚电源主要给震动手柄马达用,一般手柄并没使用。

TOP

 57 1234
发新话题
     
官方公众号及微博