aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-02-29Fixed bug on ADDR instruction [#44]Paul Oliver
ADDR instruction now executes correctly with or without a register modifier being present on the next address.
2024-02-29Added register modifier robustness [#44]Paul Oliver
Like in the original Salis, all register modifiers default to 'rax' when not enough are present.
2024-02-29Format repass.Paul Oliver
2024-02-29Common pipe replaced with sender/receiver functors.Paul Oliver
[#27] C library now only takes care of relaying data to/from functors, which must be provided by the wrapping application (in this case, a new python module named 'common.py').
2024-02-29Fixed bug on memory render function.Paul Oliver
2024-02-29Format tweaks to C files [#30]Paul Oliver
2024-02-29Removed memory bit flags entirely.Paul Oliver
[#28] Bit flags were exclusively a cosmetic component, not needed at all to run the simulator. I've added a new 'render' module that takes care of appending bit flags to rendered memory images, providing the same aesthetic result, but only when requested.
2024-02-29Removed Memory module's MEM_BLOCK_START flag.Paul Oliver
[#28] This flag served no purpose except to facilitate rendering. However, performance has a higher priority so I've eliminated this feature. Block start rendering can still be implemented via other methods.
2024-02-29Removed Memory module's IP flag.Paul Oliver
[#28] IP flag served no purpose except to facilitate rendering. However, performance has a higher priority so I've eliminated this feature. IP rendering can still be implemented via other methods.
2024-02-29Removed executed instruction counter.Paul Oliver
[#17] After having removed organisms' reward/punishment mechanisms, the number of executed instructions will always match the number of processes. No need to keep this.
2024-02-29Removed information EAT-ing.Paul Oliver
[#16] Allowing organisms to EAT information is causing huge reefs to form too early and occupy most memory space. Here we replace EATB/F with the old shift left/right. This is done to compare simulation stability.
2024-02-29Processes can now eat from writeable addresses only.Paul Oliver
I've found that allowing organisms to eat from everywhere (including addresses owned by other organisms) made the simulation too unstable. Organisms may now eat from either free memory, or from self-owned memory.
2024-02-29Initial commit.Paul Oliver