Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
The game needs to create a single DAG with all custom components inlined, just for simulating them, score calculation is hust a trivial extra step.
Just don't do what you are doing. Use the builtin RAM components. This is not, and (probably) never will be, a supported way of designing circuits.
The only way I could actually test this is by disabling it and seeing the changes, hence the question.
This is not about designing a functional computer. I wanted to learn more about RAM and how it functions, so I am learning by designing. Simply telling people not to do that, because you just don't do things this way, is not what I would consider positive or constructive.
Each individual builtin component, each wire, each IO pin all take up a single node in the graph. Each individual node takes a fixed amount of memory (more than 200 bytes), plus any extra state that needs to be stored (the wire value, the value of the register, the values of pins), with those data values only being multiples of 64bit words. Yes, this is a lot of unnecessary data, and the next engine update will reduce this, at least while executing.
The gate and delay scores habe basically no relation with actual execution complexity. If you want to get an idea of the current size and therefore cost of your schematic, use the `export_dag` command in the console (https://github.com/Turing-Complete-Game/Suggestions-and-Issues/wiki/Debug-Console-Commands)
I could not test my hypothesis, so my question was if there was a console command to turn off this feature which would have either remedied my issue, or shown it was something else. Perhaps I should have said "I believe" before "The issue is", but that is how it looked from the perspective of someone who hasn't seen the source code nor knows how the game functions internally.
In any event, the purpose has only been to:
a) learn more about RAM, and
b) create a large virtual RAM component to practice working with large address values and some basic op codes, and
c) try different methods of storing values into RAM and try create reliable variable word length values. Probably impractical as it would slow down the whole system, but it seems fun.
I would say 'a' has been mostly successful, I can create and use a 1kb RAM component pretty reliably.
Edit: The DAG file is approx 1,057,000 nodes for a 16kb RAM component with only 1*4kb comp in it (adding the second causes the game to crash). Abstraction at its finest.
*(Yes, technically, not all components have to be computed each tick. But then a preprocessing, i.e. compile step would be necessary to check which components are needed, which would definitely be more effort than score calculation).
For b and c: Use the builtin RAM components. That is what they are there for.