TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

1K colours on CGA: How it's done

227 点作者 fcambus大约 10 年前

10 条评论

dzdt大约 10 年前
The reason it has taken the demoscene so long to pull this off is the same reason that the PC beat its competitors in the early 1980&#x27;s.<p>From the beginning the PC wasn&#x27;t defined by a single hardware implementation, but by a set of capabilities and interfaces. There were always &quot;compatible&quot; PC knockoffs and &quot;compatible&quot; extension cards that weren&#x27;t really 100% bug-for-bug compatible. That meant that software writers had to stick pretty much to the approved interfaces. There was no sense trying to push the hardware beyond the intended capabilities because even if you succeeded it probably wouldn&#x27;t work on the bulk of the machines out there with different variations of the hardware.<p>It took a long time even to see things like scrolling games on EGA cards, even though the scroll registers were designed right into the chip and documented as such. Why? Because there were no BIOS calls to implement this, and most developers took the limits of BIOS as the limits of what they could count on working. It took risky shareware developers (Carmack and Romero) to prove to everyone that really the EGA chip-level interface was a usable target.<p>So because of the prevalence of the mostly-compatible compatibles, the PC software market had another layer of abstraction built in. Software should work on any machine providing the documented capabilities and interfaces, not just on one exact hardware setup. This allowed for a cycle of compatible upgrades where software could be used across hardware generations, and hardware could upgrade with sufficient backward compatibility.<p>That upgrade cycle was missing for machines like the Commodore 64, which were defined by a single hardware implementation. For the Commodore, developers always felt free to push beyond the intended limitations of the hardware, with confidence that if it would work it would work everywhere. That fed a vibrant demoscene, but closed off any possibility of a hardware&#x2F;software upgrade cycle and eventually led to the death of the computer line.
评论 #9356224 未加载
评论 #9356427 未加载
评论 #9356430 未加载
评论 #9356152 未加载
FreakyT大约 10 年前
It&#x27;s impressive they got this many colors out of it! I still remember the classic CGA Pink+Cyan color scheme[1]; those always seemed like a particularly garish choice for &quot;default&quot; colors.<p>[1] Example screenshot: <a href="http:&#x2F;&#x2F;s.uvlist.net&#x2F;l&#x2F;y2008&#x2F;04&#x2F;49443.jpg" rel="nofollow">http:&#x2F;&#x2F;s.uvlist.net&#x2F;l&#x2F;y2008&#x2F;04&#x2F;49443.jpg</a>
评论 #9355824 未加载
评论 #9358425 未加载
评论 #9357057 未加载
评论 #9356751 未加载
cubano大约 10 年前
I am utterly amazed at the amount of hard work and programming mindshare expended on, let&#x27;s face it, a very unimportant technology.<p>Bravo to you all for showing us that old-school hacking is alive and well!
评论 #9355932 未加载
jbuzbee大约 10 年前
Pushing those old systems to their limit (and beyond) was a lot of fun and very instructional for those of us just getting into programming. On my Atari 800, I recall using 6502 assembly to hook the horizontal and vertical blank interrupts to change the color lookup tables and character definition maps on the fly giving me the ability to greatly increase the number of colors displayed and do crude character-set animation.
userbinator大约 10 年前
Reminds me of this demo that uses a single microcontroller to generate a PAL composite signal, with a few tricks to increase the colours available:<p><a href="http:&#x2F;&#x2F;www.linusakesson.net&#x2F;scene&#x2F;phasor&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.linusakesson.net&#x2F;scene&#x2F;phasor&#x2F;</a>
tibbon大约 10 年前
Strange question; why didn&#x27;t many games in this era exploit this? I&#x27;d guess that the knowledge just wasn&#x27;t as easily shared? Seems these systems were capable of pretty amazing things, but those things were frequently overlooked.
评论 #9357009 未加载
评论 #9356493 未加载
评论 #9356404 未加载
评论 #9356473 未加载
amelius大约 10 年前
Interesting, but it would be nice to see a picture of the resulting palette.
评论 #9359142 未加载
评论 #9386496 未加载
humanarity大约 10 年前
The writer of this piece is a genius. Amazing hackery.
meneses大约 10 年前
Reminded me of the Doom&#x2F;Keen days
gcb0大约 10 年前
two pictures of waveforms would be much better than text here ...
评论 #9360085 未加载
评论 #9386497 未加载