| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | ADDR instruction now executes correctly with or without a register
modifier being present on the next address. | 
|  | Return type was set to 'c_int' when it should have been 'None'. | 
|  | Like in the original Salis, all register modifiers default to 'rax'
when not enough are present. | 
|  |  | 
|  |  | 
|  |  | 
|  | [#27] Not exactly a 'tappable pipe', this simple communications module
allows for IPC between individual Salis organisms and different
simulations via UDP sockets. | 
|  | [#27] Code is now entirely free from the common pipe. We can begin
implementing its replacement. | 
|  | [#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'). | 
|  |  | 
|  | [#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. | 
|  | [#25] I've returned the Escape key functionality as it is needed to
exit the simulator when in minimal mode. | 
|  | [#25] Fireup plugin takes advantage of new command line options to
load simulations in minimal mode and already running. | 
|  | [#25] New command line arguments make it easier to start-up Salis
already in these states. This will be useful for the Fireup plugin. | 
|  |  | 
|  |  | 
|  | [#25] Toggle minimal mode with 'M' key. When on minimal mode, only
current cycle, epoch and process count are shown. | 
|  | [#24] Capital W and S keys now apply fast vertical pan on World page. | 
|  | [#24] Capital W and S keys now apply fast vertical scroll on Process
page. | 
|  | [#24] I want to free up capital 'S' in order to implement fast
vertical scroll on Process and World pages. | 
|  |  | 
|  |  | 
|  | [#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. | 
|  | [#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. | 
|  | [#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. | 
|  | [#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. | 
|  |  | 
|  |  | 
|  | [#14] This new code makes back-space work correctly through SSH. It
still needs to be tested in Cygwin. | 
|  |  | 
|  | Source files are meant to be indented 4 spaces. This makes sure files
are displayed correctly in GitHub. | 
|  | This seems to be the correct way to print individual characters. Salis
now keeps correct background colors through SSH. | 
|  | [#20] The 'fireup.py' plugin can load one, or several, pre-saved
simulations and restart them automatically, each inside its own tmux
session. | 
|  | [#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. | 
|  | This solves issue [#18]. | 
|  | [#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. | 
|  | [#12] Allowing to toggle the IP layer (white) can help the user
better visualize of the underlying memory block structure. | 
|  | [#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. | 
|  | This fixes issue [#13]. | 
|  |  | 
|  | An user may now specify simulation's auto-save interval during
initialization. This works for both new and loaded simulations. | 
|  |  | 
|  | [#8] We compress all auto saved files via a subprocess call to 'gzip'.
Saved files are reduced to around 25% of their original size. | 
|  |  | 
|  | [#5] Whenever terminal gets resized with the console open, we call the
Printer.on_resize() method to adequately query the new window size. | 
|  | [#4] Modules now utilize better naming conventions for
differentiating between public and private members and methods. We no
longer make use of properties. | 
|  | 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. | 
|  | [#1] Cursor process selection loop was searching for processes under
the cursor by iterating based on process count, instead of process
queue capacity. | 
|  |  |