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.

Python-based implementation of Notch's DCPU-16

112 pointsby jtauberabout 13 years ago

12 comments

binarycrusaderabout 13 years ago
For the love of pete; please put a copyright notice and license on your code!<p>Even if you want to use the same license as notch, you must explicitly specify that, otherwise, no one can really use your code.
评论 #3801591 未加载
评论 #3805200 未加载
评论 #3801662 未加载
look_lookatmeabout 13 years ago
What is a good resource for understanding how all of this works? Books, site, tutorial, minix usenet threads... I don't care, just something to get me started.<p>edit:<p>Assuming I'm a standard, competent web dev-ish Ruby, Python programmer with little experience below those languages.
评论 #3801122 未加载
评论 #3801167 未加载
评论 #3801102 未加载
tzsabout 13 years ago
Looks like implementing this thing is becoming the new national passtime, at least based on the number of different implementations that have been discussed on HN in the last day.<p>I wonder how long till someone implements it in minecraft?
dbh937about 13 years ago
There should just be one thread for all the dcpu-16 implementations
krollewabout 13 years ago
I wonder why so many started to implement VMs for that processor. Just impatience when his next game will be released?
评论 #3801524 未加载
jmpeaxabout 13 years ago
Waiting for a glsl implementation.
评论 #3801108 未加载
severbabout 13 years ago
Here's a Python asm compiler to go with those tools <a href="https://github.com/severb/0x10c-asm" rel="nofollow">https://github.com/severb/0x10c-asm</a>
评论 #3801522 未加载
评论 #3801893 未加载
overshardabout 13 years ago
This is certainly the best implementation so far, clean, readable and actually works. Also allows for writing in ASM and not HEX with the assembler.
anthonybabout 13 years ago
That Cell class looks a bit odd, and I can't imagine it's doing good things for your memory use. Perhaps you could simplify it by making your registers a list or a dictionary, rather than a tuple?<p>ie.<p><pre><code> self.registers = { 'A': 0x0000, ... } </code></pre> then you could access it directly:<p><pre><code> self.registers['A'] = 0x0001</code></pre>
评论 #3801435 未加载
mahmudabout 13 years ago
this one is one of the more complete ones: has a disassembler. should be trivial to add stepping and breakpoints.
praptakabout 13 years ago
How did you decide which value of the PC to use (current instruction? next instruction? second word of current instruction?) when PC is one of the operands? The spec is not very clear on when exactly is PC incremented.
VMGabout 13 years ago
I'd love to see a Haskell or Lisp implementation
评论 #3803838 未加载