aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-29Simultaneous Debug and Release builds.Paul Oliver
[#29] Makefile now generates both release and debug builds on every run. Salis.py can load the debug version on demand via a command line argument (--debug). Release version is loaded by default.
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-29Format and typo fixes on Fireup plugin.Paul Oliver
2024-02-29Fixed typo in './bin/README.md' file.Paul Oliver
2024-02-29Added generic code for back-space key.Paul Oliver
[#14] This new code makes back-space work correctly through SSH. It still needs to be tested in Cygwin.
2024-02-29Fixed bug described on issue [#23].Paul Oliver
2024-02-29Added editor-config file.Paul Oliver
Source files are meant to be indented 4 spaces. This makes sure files are displayed correctly in GitHub.
2024-02-29Changed all 'addch()' commands to 'addstr()'Paul Oliver
This seems to be the correct way to print individual characters. Salis now keeps correct background colors through SSH.
2024-02-29Plugin added to help run simulators in the background.Paul Oliver
[#20] The 'fireup.py' plugin can load one, or several, pre-saved simulations and restart them automatically, each inside its own tmux session.
2024-02-29ESCAPE key no longer quits simulation.Paul Oliver
[#19] I felt it was too easy to quit the simulation accidentally. Now, a user has to type 'q' or 'quit' on the console in order to exit.
2024-02-29Selected process now listed in PROCESS view.Paul Oliver
This solves issue [#18].
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-29User may now toggle IP color layer on/off.Paul Oliver
[#12] Allowing to toggle the IP layer (white) can help the user better visualize of the underlying memory block structure.
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-29PIDs and gene scroll on PROCESS view now toggle between hex/decimal.Paul Oliver
This fixes issue [#13].
2024-02-29Added cover image to README.Paul Oliver
2024-02-29Added -a|--auto CLI argument.Paul Oliver
An user may now specify simulation's auto-save interval during initialization. This works for both new and loaded simulations.
2024-02-29Added viewer/controller README.md file inside bin directory.Paul Oliver
2024-02-29Auto saved files are now gzipped.Paul Oliver
[#8] We compress all auto saved files via a subprocess call to 'gzip'. Saved files are reduced to around 25% of their original size.
2024-02-29Added complete README.md file.Paul Oliver
2024-02-29Handle resize event when console is open.Paul Oliver
[#5] Whenever terminal gets resized with the console open, we call the Printer.on_resize() method to adequately query the new window size.
2024-02-29Refactored all python modules to use name scrambling.Paul Oliver
[#4] Modules now utilize better naming conventions for differentiating between public and private members and methods. We no longer make use of properties.
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-29Bug fixed on cursor's process selection process.Paul Oliver
[#1] Cursor process selection loop was searching for processes under the cursor by iterating based on process count, instead of process queue capacity.
2024-02-29Initial commit.Paul Oliver