p**********u 发帖数: 15479 | 1 【 以下文字转载自 Military 讨论区 】
发信人: sammamish (sammamish), 信区: Military
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB (转载)
发信站: BBS 未名空间站 (Sat Jun 10 12:33:51 2017, 美东)
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童... 阅读全帖 |
|
s*******h 发帖数: 3219 | 2 【 以下文字转载自 Midlife 讨论区 】
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。 |
|
s*******h 发帖数: 3219 | 3 【 以下文字转载自 Midlife 讨论区 】
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。 |
|
s*******h 发帖数: 3219 | 4 【 以下文字转载自 Midlife 讨论区 】
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。 |
|
p**********u 发帖数: 15479 | 5 【 以下文字转载自 Military 讨论区 】
发信人: sinical (一江春水向东流), 信区: Military
标 题: Re: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB (转载)
发信站: BBS 未名空间站 (Sat Jun 10 13:09:58 2017, 美东)
另外说一句
当年小日本的游戏确实是精益求精
那个时候的攻城狮确实基本功扎实
对游戏 对技术 都是真爱 真肯下功夫钻研
所以精品真多
直到现在任天堂还在吃那时候的老本
像wii的mario系列 |
|
s*******h 发帖数: 3219 | 6 为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。 |
|
w*******y 发帖数: 60932 | 7 HITACHI Microdrive 3K8 HMS361006M5CE00 6GB 3600 RPM 128KB Cache IDE Ultra
ATA33 / ATA-4 1" Internal Hard Drive -Bare Drive
|
|
|
z***u 发帖数: 94 | 9 Micro Center的主板加处理器的deal,想上最便宜的,其中一款是Athlon™ II
X4 640,另一款是Phenom™ II X2 560 Black Edition,两个价格只差几块钱,
前者是四核,主频3.0G,Level 1 Cache 128KB (per core)Level 2 Cache 512KB (per
core)
CPU Voltage 1.05V - 1.4V
后者是双核,主频3.3GHz,Level 1 Cache 128KB,Level 2 Cache 512KB (per core)
,但还有Level 3 Cache 6MB
CPU Voltage 0.875V - 1.4V
哪个性能更好啊?
http://www.microcenter.com/specials/promotions/AMDbundlePROMO.html |
|
v******y 发帖数: 84 | 10 买了512G Crucial ssd MX100
现在ebay上有deal $175
MX100是crucial的, EVO是samsung的, ADATA就是ADATA
Storage bench 2013, data rate (higher better)
850 EVO: 204.53 MB/s
MX100: 190.72 MB/s
840 EVO: 175.14 MB/s
ADATA SP610: 269.65 MB/s
Storage bench 2013, service time (lower better)
850 EVO: 2158.7 ms
MX100: 1767.8 ms
840 EVO: 2501.0 ms
ADATA SP610: 1425.7 ms
4K random read (higher better)
850 EVO: 104.5 MB/s
MX100: 90.6 MB/s
840 EVO: 90.0 MB/s
ADATA SP610: 76.5 MB/s
4K random write (higher better)
850 EVO: 301.7... 阅读全帖 |
|
|
b*********f 发帖数: 1585 | 12 昨天下午,专业的中国互联网调查组织机构和数据平台DCCI互联网数据中心发布《中国
宽带用户调查》报告。
报告说,2011年前三季度中国内地固网宽带与3G用户数累积达到1.5亿人与1.02亿
人,但绝大部分互联网用户用的都是“假宽带”。假宽带是指网民使用的实际宽带下载
速率,低于运营商提供的名义宽带速率。
报告说,针对办理不同带宽的固网宽带用户进行的上网平均速度调查发现,超过半
数用户上网平均速度达不到标定速度。数据显示,使用4M宽带的用户中,理论上应享有
512KB/s(注:KB/秒,KB是计算机中表示储存容量大小的单位,中文表达是“千字节”
)的网速,实际上,平均速度在400KB/s以下的占91.2%;使用2M宽带,理论网速是
256KB/s,实际上,平均速度在200KB/s以下的占83.5%;使用1M宽带,理论网速是128KB
/s,实际上,平均网速在100KB/s以下的占67.6%。
调查发现,多数用户办理的固网宽带带宽为2M或4M,2M带宽下用户平均上网速度为
142.2KB/s,4M则为232.7KB/s。内地固网宽带用户平均上网速度为199.3KB/s,与名义
速度差异极大... 阅读全帖 |
|
u***r 发帖数: 4825 | 13 http://biz.cn.yahoo.com/ypen/20111223/775425.html
交宽带费用,享蜗牛网速
我国过半网民用的是假宽带!
内地网民实际网费是香港的469倍
昨天下午,专业的中国互联网调查组织机构和数据平台DCCI互联网数据中心发布《中国
宽带用户调查》报告。
报告说,2011年前三季度中国内地固网宽带与3G用户数累积达到1.5亿人与1.02亿人,
但绝大部分互联网用户用的都是“假宽带”。假宽带是指网民使用的实际宽带下载速率
,低于运营商提供的名义宽带速率。
报告说,针对办理不同带宽的固网宽带用户进行的上网平均速度调查发现,超过半数用
户上网平均速度达不到标定速度。数据显示,使用4M宽带的用户中,理论上应享有
512KB/s(注:KB/秒,KB是计算机中表示储存容量大小的单位,中文表达是“千字节”
)的网速,实际上,平均速度在400KB/s以下的占 91.2%;使用2M宽带,理论网速是
256KB/s,实际上,平均速度在200KB/s以下的占83.5%;使用1M宽带,理论网速是128KB
/s,实际上,平均网速在100KB/s以下的占67.6%。
调查发现,... 阅读全帖 |
|
|
|
d*b 发帖数: 4453 | 16 不光中国,除了美国,全世界都一球样。 就美国,几家公司的速度也差距很大。虽然
都说自己是4g,可是速度差距大了去了。
当然了,中国现在把128kb/s说是3g, 事实上,我回去测过,很多地方也就是64k/s的
样子就他妈的算不错了。也就是还能上个网,看个email,发个message,聊个天而已。 |
|
|
d*b 发帖数: 4453 | 18 国内就没有4g, 因为压根就不具有4个的技术。 把128kb/s 称3g, 稍微快点就叫4g,
不可能超过1m, 512就到头了, 但我压根没有遇到过。 |
|
K*****u 发帖数: 241 | 19 抄一段:
魂斗罗水下八关,可谓是中国游戏史上最早、持续时间最长,影响最大的一个谣言。本
文介绍魂斗罗水下八关详细情况以及魂斗罗水下八关由来。
魂斗罗水下八关详细情况:
在NVCS版的关卡六(能量地带)中,存在着一个Bug。这个Bug会使一个士兵的图形显示
不正常。由此出现一个传言:只要在合适的时机跳到这个士兵的身上,就可以进入隐藏
关卡。这个传言在八十年代末九十年代初的中国迅速传开。很多人信以为真并且认真寻
找。也有不少人声称自己成功进入。到后来甚至发展到能否打出“水下八关”成为衡量
一个人游戏水平的标准。最后有人通过对魂斗罗的Rom进行反复研究得出结论:“水下
八关”根本不存在,它只不过是一个游戏的Bug。但是时至今日,仍然有小部分玩家相
信这个传言是真实的。这是中国游戏史上最早,并且持续时间最长,影响最大的一个谣
言。
根据玩家朋友对Rom的反复研究,我们可以得出一个结论:这个Bug是由于伤害判定与运
动轨迹判定冲突造成的。程序中的两个数据叠加会导致单元溢出,相邻的单元发生错位
。在Konami的Rom中是不存在这个Bug的。
通过查找资料发现,传闻的初始是来源于美国Rom是128... 阅读全帖 |
|
c***n 发帖数: 2232 | 20 胡伟武
2016年是红军长征胜利80周年,2016年研制成功的龙芯3A3000处理器即以CZ80命名,每
颗芯片的硅片上都刻有CZ80字样。
1936年10月,红一、二、四方面军经过艰苦卓绝的努力,三大主力会师,开创了中国革
命的新局面。它雄辩地表明,只要坚持理想,实事求是,中国共产党完全有能力摧坚于
正锐、挽澜于极危,从重大挫折中走出来。
2016年10月,以长征胜利80周年命名为CZ80的龙芯3A3000处理器研制成功。它雄辩地表
明,只要坚持自主研发,进行持续改进,自主研发的CPU性能完全可以超过引进技术的
CPU,满足自主信息化需求。
2016年10月7日,我怀着虔诚的心情走进毛主席纪念堂,向毛主席汇报龙芯3A3000的研
制成功。步出毛主席纪念堂,我感慨万千。当十年前我开始龙芯3号研制时,完全没有
想到龙芯3号系列CPU发展道路之曲折,奋斗之艰辛,付出之巨大。
2006年9月13日,以长征胜利70周年命名为CZ70的龙芯2E通过科技部组织的验收,时任
科技部部长徐冠华亲自参加了龙芯2E的验收会。龙芯2E的研制是“十五”末国家863计
划紧急安排的一个任务。当时“汉芯”造假事件... 阅读全帖 |
|
|
|
|
|
s*****l 发帖数: 7106 | 25 当年上学也学过汇编
记得一个赋值都要写三行
不过确实对硬件指令了解得更深了 |
|
s*****l 发帖数: 7106 | 26 另外说一句
当年小日本的游戏确实是精益求精
那个时候的攻城狮确实基本功扎实
对游戏 对技术 都是真爱 真肯下功夫钻研
所以精品真多
直到现在任天堂还在吃那时候的老本
像wii的mario系列 |
|
C****o 发帖数: 1549 | 27 少了一个ba,,,,
: 上上下下左右左右BA
|
|
s*******h 发帖数: 3219 | 28 根据代码看,其实不用。只要存在一个ba在序列中就可以了 |
|
y****o 发帖数: 1535 | 29 不同版本的可能稍有不同,美版、日版、还有好多盗版卡。
传说中的水下八关到底有没有? |
|
|
|
|
j******l 发帖数: 2790 | 33 国内大部分记者编辑都是这德性:
在《家用电器》1995年第5期第24页的“攻关秘籍集锦”栏目中,有这样一条关于《魂
斗罗》的秘技。
这条"攻关秘技"写道:“在《魂斗罗I》中隐藏着一个海洋关,要用一种特殊的方法才能
进入。在第七关的后部分,有轨道小车出现,敌人乘小车攻击勇士。勇士要从其头上跳过
去,然后向空中开3枪,不能击中任何目标。这时敌人行至左边时会变成一只大螃蟹向勇
士冲来,勇士跳起来踩到螃蟹背上,就可进入到海洋关中。操作时不能有误,否则难以进
人,可反复多试几次。海洋关只有原版卡中才有,国内的移植版是没有的。”
这个内容现在看起来很荒唐,实践也证明是伪技,但可视为是传言组成部分“水下”的
渊源。虽不知其他平媒有没有发过类似秘技,但《家用电器》编辑未经确认就草草登载
,导致一传十十传百。一般玩家屡试屡败后,只怪自己技不如人,却很难对当年严肃出
版物的权威性产生怀疑。 |
|
|
f***y 发帖数: 4447 | 35 摆脱arm
https://laoyaoba.com/html/news/newsdetail?source=pc&news_id=726307
(集微网报道 艾檬)MCU市场的竞争将开启RISC-V核的新航道?
在国内32位基于ARM Cortex-M通用MCU市场占据探花之位之后,兆易创新GigaDevice持
续精进,在行业内率先将开源指令集架构RISC-V引入通用MCU,正式推出全球首个基于
RISC-V内核的GD32V系列32位通用MCU,并提供程序代码库、集成开发环境、嵌入式操作
系统、云生态、开发板等完整工具链支持。有备而来的兆易创新将在RISC-V MCU市场掀
起多大的浪花?
打造GD32百货商店
作为GD32系列的新成员,先来看看光环加身的GD32系列家族的发展。
兆易创新执行副总裁、MCU事业部总经理邓禹表示,GD32系列主要是基于ARM Cortex-M
系列的32位通用MCU产品,拥有320余款产品型号、22个产品系列以及11种不同封装类型
,实现高性能、低成本和易用性,涵盖入门级、主流级、高性能增强型等应用,累计出
货量超过3亿颗,客户数量超过1万家,覆盖率... 阅读全帖 |
|
y***q 发帖数: 55 | 36 四匹宁可相信用他那个128KB脑容量虚构出来的小概率真实性,也不愿意接受更多的大
概率推测,那样做对他来说就溢出了。 |
|
p***n 发帖数: 17190 | 37 當年小英用的電動打字機 記憶體有可能就是 128KB
小英的論文被挑問題挑得那麼多 真的機率比假的小多了
如果是假的
不會留這麼多問題
所以現在只能先抬高門檻 然後質疑 |
|
发帖数: 1 | 38 美国海军早没有什么“军用芯片宙斯盾”和“军用芯片声呐”了。
90年代的宙斯盾基线6.1是最早使用部分商用系统集成的宙斯盾体系,而在2002财年的
基线7.1是第一种全COTS商用处理器的宙斯盾。基线7.1C是第一种开放架构的宙斯盾。
海军的宙斯盾,主系统最早使用AN/UYK-7 32位计算机系统,使用UNIVAC 1108架构。80
年代给AN/SPY-1B开发的AN/UYK-43 32位机使用同样指令集,运算速度提升3倍以上,并
且使用主动冗余技术,大大降低了系统故障的概率。
MK99火控分系统负责引导SPG-62照射雷达,由AN/UYK-20 16位计算机进行引导;80年代
后期更换16位的升级版本AN/UYK-44,运算速度提升4-6倍,该计算机的处理速度是90万
指令/秒,内存2MB。
90年代升级版本的AN/UYK-43引入开放商用处理单元模块,可以最多增加6块VMEbus集成
板。
90年代AN/UYK-43基本已经由AN/UYQ-70计算机更换,该系统的运算速度是AN/UYK-43的
960倍,商规改进型AN/UYK-43的155倍。该计算机对于COTS货架商用芯片的集成... 阅读全帖 |
|
s*******i 发帖数: 712 | 39 说说Q3
我觉得关键是频繁从磁盘里读取小文件不仅I/O慢,而且浪费了磁盘的带宽。改进这个
瓶颈可以通过
增强磁盘上数据的locality和充分利用磁盘带宽。
1. 利用磁盘带宽:把磁盘划分为某个合适大小的区域(如128KB),称为cluster。
cluster的大
小决定于磁盘带宽,能充分利用一次读入的吞吐量。
2. 提供一个locality算法把相关性高的小文件尽量归到一个cluster里。
这样从磁盘读取文件时以cluster为单位,这样既充分利用了磁盘带宽,还由于
locality,在内存
里处理该文件后,接下来要处理的文件很有可能就在你读入的cluster里了。减少I/O次
数。
Q1。 可能也是类似的情况,具体怎么弄我也不知道。但你说一次性读入所有文件未必
合适。这些文
件加起来有好几百M了吧。
Q2. 是不是和文件和目录在磁盘上的分布有关系?谁来说说文件和目录在磁盘中怎么放
的?有啥规律
吗?
big,
of
that we
how do |
|
|
b******i 发帖数: 914 | 41 来自主题: JobHunting版 - 一道算法题 1MN的数用Bit Vector得要128KB内存吧 |
|
发帖数: 1 | 42 以前硬件资源贵啊 能抠就抠
现在码农贵啊动不动就30万刀大包裹
就得快出货 代码多烂都没人管了 |
|
H**********5 发帖数: 2012 | 43 在那个资源匮乏的年代,数据结构和算法才得到最大程度的展现。真不知道现在各种资
源都充足为啥还那么考算法,内存硬盘都是白菜价。我第一份工作leader直接说应用层
开发不会涉及到算法,把业务逻辑流程弄明白就行了。 |
|
s*******h 发帖数: 3219 | 44 一部分人是 装逼。还有类似于高考的那种筛选的目的 |
|
发帖数: 1 | 45 资源丰富不代表不要优化。一个算法一台机能跑五百个instance,另一个只能跑一百个
。用第二个的可能就倒闭了。
当然不用再抠asm,有别的东西可以优化。 |
|
发帖数: 1 | 46 主要是机器性能提升是十倍十倍来的
但是坏算法是指数级别slow down的 |
|
|
发帖数: 1 | 48 细节是魔鬼。糙快猛虽然可以起步,但是不能持久。不同scale有不同的优化方式。
当然大牛Knuth 曰:未成年优化是万恶之源。 |
|
j**********r 发帖数: 3798 | 49 不是啥服务都一亿用户的,大多数连10万都没有,一台机器和五台机器的区别,一年也
就几千块,不够干嘛的,远远不如快糙猛重要。 |
|
|