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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Python-based implementation of Notch's DCPU-16

112 点作者 jtauber大约 13 年前

12 条评论

binarycrusader大约 13 年前
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_lookatme大约 13 年前
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 未加载
tzs大约 13 年前
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?
dbh937大约 13 年前
There should just be one thread for all the dcpu-16 implementations
krollew大约 13 年前
I wonder why so many started to implement VMs for that processor. Just impatience when his next game will be released?
评论 #3801524 未加载
jmpeax大约 13 年前
Waiting for a glsl implementation.
评论 #3801108 未加载
severb大约 13 年前
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 未加载
overshard大约 13 年前
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.
anthonyb大约 13 年前
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 未加载
mahmud大约 13 年前
this one is one of the more complete ones: has a disassembler. should be trivial to add stepping and breakpoints.
praptak大约 13 年前
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.
VMG大约 13 年前
I'd love to see a Haskell or Lisp implementation
评论 #3803838 未加载