aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-29Fixed bug on sender functor [#45]Paul Oliver
Return type was set to 'c_int' when it should have been 'None'.
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-29Auto-save saves to main file as well [#42]Paul Oliver
2024-02-29Hex. toggle on minimal modePaul Oliver
2024-02-29Format repass.Paul Oliver
2024-02-29Added 'Common.py' module.Paul Oliver
[#27] Not exactly a 'tappable pipe', this simple communications module allows for IPC between individual Salis organisms and different simulations via UDP sockets.
2024-02-29Removed rest of common pipe references.Paul Oliver
[#27] Code is now entirely free from the common pipe. We can begin implementing its replacement.
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-29Store python modules on './bin/modules/' subdirectory. [#37]Paul Oliver
2024-02-29Numeric cycle now times out.Paul Oliver
[#36] Using high numeric keys cycles simulation until a timeout is reached. This helps prevent Salis from hanging if a high number of cycles are requested.
2024-02-29Escape key now saves and exits.Paul Oliver
[#25] I've returned the Escape key functionality as it is needed to exit the simulator when in minimal mode.
2024-02-29Fireup now starts in minimal mode.Paul Oliver
[#25] Fireup plugin takes advantage of new command line options to load simulations in minimal mode and already running.
2024-02-29User may now start Salis in minimal or running modes.Paul Oliver
[#25] New command line arguments make it easier to start-up Salis already in these states. This will be useful for the Fireup plugin.
2024-02-29Fixed bug on memory render function.Paul Oliver
2024-02-29Fixed underscore typo on Printer module.Paul Oliver
2024-02-29Added minimal mode.Paul Oliver
[#25] Toggle minimal mode with 'M' key. When on minimal mode, only current cycle, epoch and process count are shown.
2024-02-29Fast vertical pan on World page.Paul Oliver
[#24] Capital W and S keys now apply fast vertical pan on World page.
2024-02-29Fast scroll on Process page.Paul Oliver
[#24] Capital W and S keys now apply fast vertical scroll on Process page.
2024-02-29Scroll to top now with 'Q' key.Paul Oliver
[#24] I want to free up capital 'S' in order to implement fast vertical scroll on Process and World pages.
2024-02-29Format tweaks to Python files [#30]Paul Oliver
2024-02-29Format tweaks to C files [#30]Paul Oliver
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