数码之家

标题: 世嘉MD游戏机的汇编级维修 [打印本页]

作者: orsonzou    时间: 2020-11-26 15:07
标题: 世嘉MD游戏机的汇编级维修
世嘉MD游戏机是90年代日本世嘉公司推出的16位游戏机,曾经和任天堂的SFC超任一分天下。这货在国内仿制品极多,本人修过起码几十台了,见过的版本估计不下10种

今天要修这台组装机,对应了日本MD最早期的版本。芯片功能和布局,和原装基本一样。但是品质差很远。。。这个符合当年特色!
这台机器的问题是能通电开机,有黑屏的视频信号。说明整机通电,工作,并且芯片输出符合视频的波形,只是没有具体的画面。这是典型的游戏卡程序没有起来的一类故障。

和电脑一样,主板的大部分芯片,只要任意ic或者线路有问题,都可以轻松的让电脑不运行。游戏机也一样。

今天要啰嗦的事情,并不是简单修好的问题。而是在修好和没修好之间,然后柳暗花明又一村,最后修好的过程。

先看下大致框图和主板实际图:
[attach]983633[/attach]

实际电路板:
[attach]983637[/attach]
这是标注后的主要芯片图:
[attach]983638[/attach]

框图中IC4对应主板的控制芯片。68000是主CPU,Z80是负责音频的辅助CPU。IC4是世嘉的专用芯片,控制着总线,开关机,两个CPU的控制控制信号等等。可以理解为相当于整个双CPU系统之间的粘合剂。



这台机器完全不跑程序。根据我的维修经验,以及各种工作条件和reset信号的基本测试。料定这个控制用的IC4有问题。换了之后。果然就能开机了。
然而,到这里没有结束。。。而是陷入了好几天的折腾分析中!


两张游戏卡,合卡(就是有很多游戏集合的卡)和单卡(只有一个游戏的卡),前者可以正常运行,屏幕看到菜单,但进任何一个游戏都会死机。而后者单卡,就直接白屏死机。
上面是单卡下面是合卡:



[attach]983639[/attach]

到这里,根据我以往的维修经验,两者的区别就是合卡因为只是先出菜单,没有声音。而单卡直接进游戏有声音。所以故障就和声音有关的
部分。通常是音频CPU z80,控制芯片IC4或者Z80内存的问题。果断换掉这三个,依次测试。然而还是问题依旧。这下就复杂了,因为以往的维修经验到此已经用光。

接下来只能苦逼的测试所有的数据总线,控制
总线,地址线的通断。全部测了一遍。换芯片和测试各种通断,可能搞了好几天时间,徒劳无功!




在山穷水尽疑无路的时侯,只能硬着头皮深入下去。这个时侯我可以肯定是音频方面的问题,具体那个芯片,哪个引脚,就需要深入的分析了。

在整理思路之后,既然知道是初始化音频方面出的问题,而且无法定位具体地点。所以只能借助于网上的游戏卡代码了。

那个时代的游戏机,主板是没有BIOS的。也就是说,程序都在游戏卡里。主机从游戏卡读取程序并运行,首先就是初始化硬件。

通过网上找到的流传出来的世嘉公司游戏例程,就可以找到具体的流程。

下图是世嘉公司的机密文档:
[attach]983641[/attach]
这是github上整理出来的:
[attach]983643[/attach]
虽然是汇编,但是程序已经做了详细标注。
初始化Z80 cpu的程序在InitZ80:
主CPU 68000,通过向IC4控制芯片
映射的地址发送数据,来控制IC4的控制引脚向Z80CPU发出两个信号,reset和BusReq。意思就是让Z80复位,并且向Z80请求外设要占用总线。这个时侯Z80应该回复一个BusAck的应答信号。程序等待这个应答信号,如果OK就做另外工作,把一些指令数据,直接通过总线放到Z80的内存里。然后复位Z80。这个时侯两个CPU就是各自工作的状态了。

关于BusReq和BusAck的详细过程,可以在Z80 的datasheet上找到,如图:[attach]983646[/attach]


手册中可以看到BusReq拉低后,BusAck确认信号跟着拉低:
[attach]983647[/attach]

正常机器的这个实际波形:
[attach]983648[/attach]

通过对比正常的机器,终于发现了问题。
正常机器的复位和紧接着的BusReq拉低有效,然后数据传输,然后再reset。这个程序表达的流程一致:

蓝色是reset,黄色是BusReq:
[attach]983679[/attach]

初始化结束后,再次reset(蓝色):
[attach]983653[/attach]
蓝色是BusReq,黄色是Z80 内存的数据,和汇编程序的表达一致:
[attach]983654[/attach]
但是这台机器,波形并不对,如图蓝色是BusReq,黄色的BusAck一直是低电平状态,并没有初始的高电平,然后随BusReq的拉低而拉低的过程:
[attach]983663[/attach]
所以这台机器的程序,就卡在了等待BusAck有效的地方,程序进入死循环:
[attach]983664[/attach]

找到了问题,接下来就简单了。经过测试,这片Z80 CPU的BusAck引脚,静态测试一切正常的(各种对地阻值等)。但并没有上电处于高电平状态,芯片不良无疑。换掉有问题的Z80 CPU :
[attach]983644[/attach]

换掉后,BusAck初始高电平,并随着BusReq的拉低而拉低,后续的波形正常了,程序也继续运行。画面出来,声音响起,维修结束!

谢谢观看,欢迎点赞转发和评论!





古董世嘉黑卡游戏机的汇编程序及其硬件复原代码解析:
https://www.mydigit.cn/thread-454606-1-1.html




作者: t3x    时间: 2020-11-26 15:08
厉害啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: wzj9944    时间: 2020-11-26 15:19
不折不扣的大神,佩服!!!
作者: okok365    时间: 2020-11-26 15:21
类似于单片机。楼主相当厉害的说
作者: aacky    时间: 2020-11-26 15:23
That's awesome.it can be fixed.
作者: qrut    时间: 2020-11-26 15:27
前排支持,看过lz的帖子,lz对古代游戏机研究的很透彻~
作者: 阳光使者    时间: 2020-11-26 15:38
朋友的技术真的是高超啊!
作者: yanzhaouuu    时间: 2020-11-26 15:51
这个z80需要烧录好程序吗
作者: zghsgi    时间: 2020-11-26 15:58
牛比级的修复,这得研究多少历史啊?
作者: 加旋    时间: 2020-11-26 16:09
这种双列直插式集成电路算最简单了:lol::praise:
作者: 凳凳呜哇的    时间: 2020-11-26 16:16
不折不扣的大神,佩服!!!学不来啊
作者: skyrusher    时间: 2020-11-26 16:26
:praise:资深玩家!
作者: mousebat04    时间: 2020-11-26 16:56
看主板做工还可以。只是惊讶于现在还有人修这个。维修成本比撸新成本高了。
作者: chanwah2000    时间: 2020-11-26 17:02
有这技术,应该去研究plc之类的,修那些玩意才能赚钱大大的:sleepy::sleepy:
作者: gdd714    时间: 2020-11-26 17:13
用示波器在脑中反编译程序 高手啊
作者: 草头黄    时间: 2020-11-26 18:18
路过给大佬顶贴来了…
作者: sbjtim    时间: 2020-11-26 18:34

厉害啊~~~~~~~:praise::praise:
作者: ww5223017240    时间: 2020-11-26 18:39
这换的CPU你从哪找的啊?现在还有这种芯片卖的吗?话说这机器修好了干嘛?收藏?应该不会有人还在玩这个吧?
作者: linaiming    时间: 2020-11-26 18:40
大佬厉害,理论联系实际,高手啊,看主板这个机器是不是NEWSTAR的仿制品
作者: 温力口    时间: 2020-11-26 19:21
本帖最后由 温力口 于 2020-11-26 19:23 编辑

谢谢分享。。。。大婶功底深厚,分析透彻,手到擒来。
另外,请问这个是什么牌子型号的示波器?

作者: wfzdm    时间: 2020-11-26 19:49
lz真厉害啊
作者: ioujun    时间: 2020-11-26 20:36
阅毕此贴我对大神的景仰之情犹如滔滔江水绵绵不绝:praise::praise::praise:
作者: 128    时间: 2020-11-26 21:52
情有独钟,好男人
作者: dig7890    时间: 2020-11-26 21:59
高手,涨姿势了,感谢分享!
作者: hydize    时间: 2020-11-26 22:34
设备好还得技术好,大神啊
作者: zhf1108    时间: 2020-11-26 22:46
这才是技术
作者: amway0412    时间: 2020-11-26 23:01
群里的来顶了。
作者: grkuqq    时间: 2020-11-26 23:47
懂原来,之后就靠耐心找问题,楼主厉害用到程序找出问题点:lol:
作者: qianjiakun    时间: 2020-11-26 23:55
顶级大神驾到
作者: msoushi    时间: 2020-11-27 00:20
膜拜大佬,帮大佬顶个贴。。。
作者: 不羁的风cjly    时间: 2020-11-27 00:35
yanzhaouuu 发表于 2020-11-26 15:51
这个z80需要烧录好程序吗

z80只是普通的CPU,不是单片机,所以内部没有RAM和ROM,所以不需要烧录。他要靠数据总线地址总线和控制总线连接外设才能工作。甚至I/O接口等都需要Z80PIO,Z80CTC协同工作。
作者: l3663675    时间: 2020-11-27 05:05
厉害,最多对FC研究到这种程度。楼主这个升位了,搞不了,搞不了
作者: 懂得以后    时间: 2020-11-27 06:21
根据我的维修经验,楼主是个高手:lol:
作者: cj8510    时间: 2020-11-27 08:14
厉害了大神,一般的维修师傅怕也不愿意去花这种时间来分析维修了,楼主肯定是骨灰级玩家:praise:
作者: erik0    时间: 2020-11-27 08:49
这维修(时间)成本高了点,不如闲鱼买一台好的了
作者: redyan9985    时间: 2020-11-27 08:49
高手,这些cpu有没有程序的?
作者: yaosongjin    时间: 2020-11-27 08:59
膜拜大神,理论分析有理有据,学习了!
作者: orsonzou    时间: 2020-11-27 09:03
redyan9985 发表于 2020-11-27 08:49
高手,这些cpu有没有程序的?

当年的纯cpu,没有程序,程序靠总线去读。和单片机不一样
作者: redyan9985    时间: 2020-11-27 09:19
orsonzou 发表于 2020-11-27 09:03
当年的纯cpu,没有程序,程序靠总线去读。和单片机不一样

哦,对,原文写了是在卡里的
作者: 578087463    时间: 2020-11-27 09:19
楼主这个维修级别就太厉害了 换做是我早就放弃了
作者: fgh1982    时间: 2020-11-27 09:34
厉害啊,受控的代码文件都有…佩服啊!
作者: z88088081    时间: 2020-11-27 10:25
我是来膜拜的!
作者: 月芯电子    时间: 2020-11-27 10:59
超牛!大哥你比马斯克更牛:praise:
作者: naive_lin    时间: 2020-11-27 11:14
qrut 发表于 2020-11-26 15:27
前排支持,看过lz的帖子,lz对古代游戏机研究的很透彻~

古代游戏机?这话很那个啥
作者: qrut    时间: 2020-11-27 11:15
naive_lin 发表于 2020-11-27 11:14
古代游戏机?这话很那个啥

那个啥?
作者: springvirus    时间: 2020-11-27 12:12
redyan9985 发表于 2020-11-27 08:49
高手,这些cpu有没有程序的?

没仔细看帖吧,Z80是单纯的CPU,只负责取数执行,程序在卡带里存储。。。
作者: springvirus    时间: 2020-11-27 12:13
楼主,非常踏实,研究得透彻
作者: zl0453    时间: 2020-11-27 12:21
佩服LZ的钻研精神
作者: dayibalang    时间: 2020-11-27 12:43
不错,分析的有条理
作者: sccz123    时间: 2020-11-27 12:58
我有个世嘉DC,有外包装,两个手柄,110转220的变压器,十多年了,去年开机试了下,光头不转,手柄能懂,主机有输出,有声音,不知道能搞不?也没有游戏光盘了
作者: ymskm    时间: 2020-11-27 13:55
高手,什么都会!!
作者: skywalk00    时间: 2020-11-27 14:50
大侠您好!请您看看这个世嘉手柄游戏机能否改成插游戏卡,或者用SD卡换游戏。手柄游戏机里面有10多个游戏,插电视视屏线就可以玩了,在网上也查不到闪存的型号。[attach]984842[/attach][attach]984843[/attach][attach]984844[/attach][attach]984845[/attach][attach]984846[/attach]
作者: vtabdf    时间: 2020-11-27 15:53
大神请收下我的膝盖
作者: tomato001    时间: 2020-11-27 15:53
当年国内能仿制世嘉MD主板的也是大神了
作者: aacyxjz    时间: 2020-11-27 16:53
牛掰了,绝对是大师
作者: xjtpolice    时间: 2020-11-27 17:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 水晶震    时间: 2020-11-27 17:53
ww5223017240 发表于 2020-11-26 18:39
这换的CPU你从哪找的啊?现在还有这种芯片卖的吗?话说这机器修好了干嘛?收藏?应该不会有人还在玩这个吧 ...

最近几年世嘉自己炒冷饭连带着这些二十年的老机器又焕发第二春,最近几年还真有人玩MD,主要是个情怀,只玩游戏就模拟器了。
作者: 水晶震    时间: 2020-11-27 17:59
skywalk00 发表于 2020-11-27 14:50
大侠您好!请您看看这个世嘉手柄游戏机能否改成插游戏卡,或者用SD卡换游戏。手柄游戏机里面有10多个游戏, ...

这个镜子和手柄我也买了一套,我也想求楼主破解这个。
作者: ww5223017240    时间: 2020-11-27 18:21
水晶震 发表于 2020-11-27 17:53
最近几年世嘉自己炒冷饭连带着这些二十年的老机器又焕发第二春,最近几年还真有人玩MD,主要是个情怀,只 ...

是啊,现在基本老游戏都用模拟器了,真机除非爱好者肯定不会去玩了
作者: mhtlov    时间: 2020-11-27 21:39
这个真的高级啦
作者: dyf2007    时间: 2020-11-27 22:28
真的好厉害,话说一代仿制机有竖纹,有什么方法解决,我也有一台和这个芯片组一模一样md,貌似ta系列兼容性不怎么样。
作者: 行走时光    时间: 2020-11-28 00:30
确定是大神~:praise:
作者: 闪耀的空白    时间: 2020-11-28 07:24
大神厉害了
作者: daguitou    时间: 2020-11-28 14:23
这样的东西还找pdf 还挂上示波器,zilog公司的ceo要是还活着,看到楼主的帖子保证会哭晕过去
作者: 哈哈牛    时间: 2020-11-28 14:49
chanwah2000 发表于 2020-11-26 17:02
有这技术,应该去研究plc之类的,修那些玩意才能赚钱大大的

PLC一般都是直接换新的,修的无法保证受寿命。工业跟消费的不一样
作者: 哈哈牛    时间: 2020-11-28 14:51
膜拜一下大神:praise:衷心佩服
作者: ask0wizard    时间: 2020-11-28 16:12
大神级别修这个,也应该是一种情怀,不会是为了赚钱的。。如果在九十年代,这样的技术,开个店。肯定赚钱是真的。。
作者: ljlun    时间: 2020-11-28 17:16
厉害,收集资料和分析波形太费时间了
作者: srygg    时间: 2020-11-28 20:08
楼主厉害。硬件原理了得!:praise:
作者: yzice    时间: 2020-11-29 10:43
这维修的不是游戏机,是情怀
作者: oldeagle    时间: 2020-11-29 10:55
这款主控很难买到啊,lz有备件?
作者: conz    时间: 2020-11-29 16:03
大神,我也修过几个MD,可是没这么折腾过
作者: lzb833    时间: 2020-11-29 22:14
当年的nes游戏文件是用汇编开发的吗?太厉害了,一个游戏得多少行代码?谁有源码发上来看看。
作者: 疾如风    时间: 2020-11-29 22:20
虽然我一点都看不懂,但是我知道这是技术贴:praise::praise:
作者: zzqqzzz    时间: 2020-11-29 22:28
来几个当年的游戏实际画面 回回味呢:cool::cool:
作者: 544730533    时间: 2020-11-29 23:00
好。。。。。。。。。二保探伤仪
作者: toopoo    时间: 2020-11-29 23:17
这个太牛了啊
这是给收藏者维修?
作者: jsawar    时间: 2020-11-30 07:08
膜拜大神,非常扎实的理论与维修功底。
作者: 扬扬fe    时间: 2020-11-30 09:04
謝謝分享  专业玩的!
作者: xhlgood1020    时间: 2020-11-30 10:15
高手 谢谢分享
作者: gzhs560    时间: 2020-11-30 10:17
思路清晰,知识储备丰富,牛人一个,如果是我们只大的可能再换一个芯片,不行就放弃了:lol:
作者: liebedemi    时间: 2020-11-30 10:30
发现回帖很多说修这个不来钱的。。楼主这个技术在大厂至少都是年薪大几十万的,人家显然只是for fun
作者: ad6300    时间: 2020-11-30 10:43
楼主相当的NB
作者: haoren100    时间: 2020-11-30 11:05
勾起了八-九十年代的电子探索回忆:dizzy:
作者: mf9710    时间: 2020-11-30 13:03
大神啊,这跟修老式电视一样了
作者: sonichy    时间: 2020-12-1 00:15
老哥赶快转行修电脑主板和显卡,等你很久了。
作者: lsza    时间: 2020-12-1 02:52
mousebat04 发表于 2020-11-26 16:56
看主板做工还可以。只是惊讶于现在还有人修这个。维修成本比撸新成本高了。 ...

:lol: 情怀值的去修
作者: shaohabbit    时间: 2020-12-1 09:47
大神级的维修。这是当时最爱,同学家里才有,羡慕的对象。
作者: phk.cn    时间: 2020-12-1 10:49
6666 牛比啊,这都能研究明白。
作者: infozx    时间: 2020-12-1 13:54
神仙级维修
作者: langs    时间: 2020-12-1 14:32
我看论坛 从来不登陆的 今天看到你的标题 先登陆了 回复下再说
作者: daqing26    时间: 2020-12-1 21:47
接收我的膝盖
作者: hahaboy_007    时间: 2020-12-2 00:14
大国修匠~但是我们这个国家从来不重视技术,只玩权术,让民间手艺人自生自灭。一些国外的30~40年代以前的武器级电子板,也是单片机的,那些科研院也不去弄来琢磨琢磨,只想成套引进。
作者: orsonzou    时间: 2020-12-2 08:47
hahaboy_007 发表于 2020-12-2 00:14
大国修匠~但是我们这个国家从来不重视技术,只玩权术,让民间手艺人自生自灭。一些国外的30~40年代以前的武 ...

嫦娥五号昨晚成功软着陆月球正面
作者: buzyz    时间: 2020-12-2 09:07
orsonzou 发表于 2020-12-2 08:47
嫦娥五号昨晚成功软着陆月球正面

最后这一回帖,显足了楼主的博大情怀。敬佩…
作者: 最初梦想者    时间: 2020-12-2 15:04
那时候就是16位的单片机了,不容易吖。
作者: karthy    时间: 2020-12-2 21:15
意思是更换的Z80 CPU不良?
作者: hahaboy_007    时间: 2020-12-2 22:56
orsonzou 发表于 2020-12-2 08:47
嫦娥五号昨晚成功软着陆月球正面

又是一大串“厉害了我的国”把你给蒙蔽了,如果印度和我们经济总量一样,难道你就知道他们没有这个能力登陆月球正面?
作者: 金戈鐵馬    时间: 2020-12-3 14:08
我怎么看前面有说已经换过Z80不行,怎么最后又是换z80修好的?
作者: orsonzou    时间: 2020-12-4 10:33
金戈鐵馬 发表于 2020-12-3 14:08
我怎么看前面有说已经换过Z80不行,怎么最后又是换z80修好的?

这个就是这次大折腾的最大原因
换了好的,觉得应该可以。但是还不行,就不会怀疑它了。折腾一大圈,还是它。
这也是运气,没这个坏运气,就不会有机会深入了




欢迎光临 数码之家 (https://www.mydigit.cn/) Powered by Discuz! X3.4