HN user

rzach

38 karma
Posts5
Comments12
View on HN

I hate how much emphasis is put on economic value. I love math because of how beautiful it is. I went to uni for math but ended up switching to theatre because of how it was taught as just a means to an end rather than an art form in itself.

During my freshman year of college, I was in a general chemistry class. Halfway through the semester I wrote a little Python script that encoded mass of a whole bunch of (not all of) elements and wrote some functions to calculate mass of compounds plus a few other useful quantities. Homework was online so I didn't have to show work - I would just type in the compound and whatever I wanted to calculate. If not 100 hours, it saved quite a bit of time!

* Abortion is wrong in all cases (angers the liberals) but * We need broad socialized healthcare, paid parental leave, etc to help the mothers (angers the conservatives) * Money is contributing to systemic racism - let's get rid of it and just be good people

Yes - all of my grandparents are immunocompromised so I want to be very careful around them. Not to mention it will probably be a requirement on college campuses once it becomes generally available.

I'm teaching myself some JavaScript with this project. Please feel free to make suggestions. I know I should modularize it (is that a word?) but alas, being new to JavaScript I don't yet know how to do that. I also know that ideally there should be comments in my code, which I will add. But please suggest any best practices/improvements.

Hey, thanks for the recommendations! I'll definitely look into the AVR instruction set. I'm not opposed to multibyte instructions but I'm trying for 8-bit instructions. I'm actually planning to use a special register that holds the ALU input so that I have more space for instructions in the actual instruction. It'll take more instructions since you'll have to set the ALU each time you need it changed, but as it's not a physical microcontroller, I'm not worried about running out of room. Do you think this is a feasible plan?

Thanks for the recommendations. I've briefly looked at the 6502 instruction set. Part of the problem is that most of those real-world CPUs use multibyte instructions, which I'm not opposed to, but I'm not sure how to actually incorporate them into my current design (It would be a lot easier if I just did a 6502 emulator without any of the logic gate stuff). Thus I'm trying to come up with an instruction set that utilizes only 8 bits per instruction.

Yeah, I know since it's gate-level it will be slow (and it's already been tedious to code) but I wanted to get a better sense of how certain components actually worked. Multibyte RAM, for example, is not demonstrated in the NandGame which this is based off of. It has you put two registers together to make a two-byte RAM and then it magically extends it to a 16KB RAM, only saying that the design could be repeated recursively to get bigger RAM. Figuring out how to do that was interesting and enlightening.

Having no experience with netlists other than briefly reading through the Wikipedia page, it seems they are basically just a struct of subcomponents which is what I'm using. How would I go about abstracting that?

This is pretty cool. I actually remember reading your article a few months back. Once I'm finished with the actual computer I might try to write something with Xlib render a terminal and maybe even a GUI for the OS (unless anyone has a better, higher level alternative to Xlib?)

It's not quite done. I'm still working on the memory components and the instruction set. Feel free to uncomment the testing functions in test.c to see the other components. Also feel free to give advice on ALU and instruction set design.

Cellular Automata got me into computing a few years ago - it's amazing how the Game of Life and other CA's are Turing Complete. So many people will miss him.