TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

8088 MPH: We Break All Your Emulators

319 pointsby drvabout 10 years ago

14 comments

corysamaabout 10 years ago
Quick explanation of compiled sprites:<p>Most commonly a sprite is represented as a 2d array of pixels that you for X, for Y over and use math or branching to blend on to the screen. But, that&#x27;s a lot of reading and writing, and a lot of the math ends up doing nothing because a lot of the pixels are intentionally invisible.<p>So, you could do some sort of visible&#x2F;invisible RLE to skip over the invisible pixels. That&#x27;s better, but it&#x27;s still a complicated loop and still a lot of reading pixels.<p>So, many crazy democoders have decided to write &quot;sprite compilers&quot; that read the 2D color array of a sprite and spits out the assembly for the exact instructions needed to write each visible pixel one at a time as a linear instruction sequence with no branching. The sprites are then assembled and linked into the program code as individual functions. I believe they can even exclusively use immediate values encoded inside the instructions rather than reading the colors from a separate memory address. So, rather than read instruction, read data, write data; it becomes a read instruction, write data in two straight lines in memory.
评论 #9339143 未加载
baneabout 10 years ago
The party this was released at had some absolutely mind-blowing stuff. The 8k and 64k competitions were <i>amazing</i>. The demoscene continues to be an astonishing force in computing.<p>Some of the stuff would be completely at home as installation art in any top modern art museum. My favorite is <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XF4SEVbxUdE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=XF4SEVbxUdE</a> done in 64kb!<p>Here&#x27;s the results with links to productions (most of them have youtube videos by now)<p><a href="http:&#x2F;&#x2F;www.pouet.net&#x2F;party.php?which=1550&amp;when=2015" rel="nofollow">http:&#x2F;&#x2F;www.pouet.net&#x2F;party.php?which=1550&amp;when=2015</a>
评论 #9341663 未加载
jpatokalabout 10 years ago
I found the raw video awesome enough to submit a few days ago, but the super-detailed explanation in this blog raises this to a whole new level of epic.<p>I wonder if youngsters who didn&#x27;t grow up thinking 1 MHz is a perfectly acceptable CPU speed and that 640 KB is a whole lot of RAM will understand what the fuss is about here...
评论 #9339115 未加载
评论 #9339200 未加载
评论 #9346524 未加载
评论 #9339140 未加载
kyberiasabout 10 years ago
These days I find it slightly weird that they don&#x27;t share the source code of the demos or related tools. Demo scene has this wonderful alpha-male thing going.
评论 #9339890 未加载
评论 #9341025 未加载
评论 #9341099 未加载
评论 #9340721 未加载
评论 #9344944 未加载
评论 #9340379 未加载
faragonabout 10 years ago
Amazing. 80×100 resolution 1024-color mode doing CRT controller (6545) tricks, on plain IBM CGA adapter. Also fullscreen bitmap rotation and 3D rendering on a 4.77 MHz Intel 8088 CPU. Wow.
评论 #9342213 未加载
blackhazabout 10 years ago
I can&#x27;t believe my eyes. 256 colors on CGA?! HOW?!
评论 #9339216 未加载
评论 #9339320 未加载
评论 #9339197 未加载
评论 #9339487 未加载
raverbashingabout 10 years ago
Now, I wonder what people could be doing 10, 20 years from now on today&#x27;s hardware<p>Probably a lot less tricks up the sleeve are possible (especially with 3D accelerators and dependency on a lot of proprietary AND very complex software)<p>Or maybe just drop to the framebuffer and push pixels like it has always been done
评论 #9344983 未加载
ptypeabout 10 years ago
Wow, amazing. Would be interesting though to know which hacks make the emulators fail
评论 #9340008 未加载
rcthompsonabout 10 years ago
I&#x27;m interested to know why it breaks all the emulators. Certainly I wouldn&#x27;t expect emulators to reproduce all the graphical glitches that this takes advantage, but what is it doing that actually <i>crashes</i> them?
评论 #9340231 未加载
评论 #9339839 未加载
tdicolaabout 10 years ago
This is the coolest thing I&#x27;ve seen all year, way to go to everyone involved!
mark-rabout 10 years ago
Slight technical inaccuracy at the start: the Z80 also required a minimum of 4 clocks for a memory access, it wasn&#x27;t better than the 8088 in that regard.
评论 #9340940 未加载
评论 #9342159 未加载
brink2deathabout 10 years ago
Possibly stupid question: does the demo run inside DOS or is it completely self-contained? (I would assume the latter.)
评论 #9344332 未加载
alxndrabout 10 years ago
&gt; &quot;[Step] 5. Effect starts, magic occurs&quot;
72deluxeabout 10 years ago
Incredibly impressive.