Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I too wrote a TIS-100 simulator in C ( https://github.com/hthh/tis100sim ) - it's interesting to compare styles.

(I get a bunch of errors on OS X unless I change "CC=gcc" to "CC=clang", btw)



Well, I wrote one in Haskell, so there!

(Currently trapped in legal hell. I work for one of those annoying companies that claims ownership of everything I do, even in my personal time, so I have to get it cleared before I can push it to github...)

I added some extensions to allow one node to program another; the PROGRAM <dir> opcode resets the node in that direction, and it can then be fed a series of numbers which form the program. Once complete it starts executing.

With this, it ought to be possible to program an arbitrary network with programs from a boot ROM attached to a single node at the corner. It would have to propagate the distribution program through the network, which would then in turn propagate the program to the right place and reprogram each node in turn. Because a programmed node wouldn't contain the distribution program any more we'd have to start at the outer edge and work inwards.

I do wonder whether it would be possible to get real work done with this. I bet a node could be implemented in a tiny handful of FPGA gates.


There's a reason to move to Silicon Valley - its illegal in CA for a company to claim work you do on your own time.


This is not quite correct. Even out here in CA you still need permission if your employer has an invention assignment agreement.


They ask you to sign those, but the state doesn't permit them to claim inventions done on your time on your equipment. Don't be fooled.


What exactly constitutes "your time"? Is there a legal definition for this that appeared recently?

I had a long-drawn out conversation with Chris DiBona about this very question, and the answer is that it's very very murky, and most of the time -- even in California -- the corps can win.


You will still want to work with the company so there is proof that you both agree you are exempt.


You can't sign your rights away. The company document is void.


I'm not arguing that. Completely disregarding the void document, you will still want to document _and notify_ the company that your IP is in the exempt category.

I'm assuming the law is similar to Kansas Statute 44-130[0]

(d) Even though the employee meets the burden of proving the conditions specified in this section, the employee shall disclose, at the time of employment or thereafter, all inventions being developed by the employee, for the purpose of determining employer and employee rights in an invention.

[0]: http://www.kslegislature.org/li_2014/b2013_14/statute/044_00...


Ah! I'm following now. I'm not sure about CA disclosures. I know the Delaware company I'm at now, asked for one.


That gcc error is strange, since I think in the recent versions of OS X gcc is just an aliases for clang.

Here's my output of `gcc --version` on OS X 10.10:

    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
    Target: x86_64-apple-darwin14.3.0
    Thread model: posix
edit: also, should've said that's really cool and thanks for posting your source code.


My GCC seems to be GCC (don't remember why - I guess I installed it for something). I can also make it build using "--std=c99" (but that makes the undefined behavior mentioned in issue #2 show up, which is why I went with clang).

  gcc: warning: couldn't understand kern.osversion '14.3.0
  gcc (GCC) 4.8.2
  Copyright (C) 2013 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


I just learned about your project today and it's fantastic! We must think alike.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: