From 8998e2eb104c0965b0c9f190705b70abc16b62d7 Mon Sep 17 00:00:00 2001
From: Paul Oliver <contact@pauloliver.dev>
Date: Thu, 29 Feb 2024 02:29:14 +0100
Subject: Removed information EAT-ing.

[#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.
---
 include/evolver.h | 3 +--
 include/instset.h | 6 +++---
 include/process.h | 5 +----
 3 files changed, 5 insertions(+), 9 deletions(-)

(limited to 'include')

diff --git a/include/evolver.h b/include/evolver.h
index b2ead10..457cd9a 100644
--- a/include/evolver.h
+++ b/include/evolver.h
@@ -4,8 +4,7 @@
 *
 * This module controls all random events in Salis. At its heart lies a
 * XOR-Shift pseudo-random number generator with 128 bits of state. It controls
-* cosmic rays and rises simulation entropy whenever organisms 'eat'
-* information.
+* cosmic rays and slowly rises simulation entropy.
 */
 
 #ifndef SALIS_EVOLVER_H
diff --git a/include/instset.h b/include/instset.h
index ab7bab0..eeb4600 100644
--- a/include/instset.h
+++ b/include/instset.h
@@ -32,6 +32,8 @@ enum {
 	SALIS_INST SPLT, /**< $ Split child memory block */
 	SALIS_INST INCN, /**< ^ Increment register */
 	SALIS_INST DECN, /**< v Decrement register */
+	SALIS_INST SHFL, /**< < Shift-left register */
+	SALIS_INST SHFR, /**< > Shift-right register */
 	SALIS_INST ZERO, /**< 0 Zero out register */
 	SALIS_INST UNIT, /**< 1 Place 1 on register */
 	SALIS_INST NOTN, /**< ! Negation operator */
@@ -45,9 +47,7 @@ enum {
 	SALIS_INST SEND, /**< S Send instruction to common pipe */
 	SALIS_INST RECV, /**< R Receive instruction from common pipe */
 	SALIS_INST PSHN, /**< # Push value to stack */
-	SALIS_INST POPN, /**< ~ Pop value from stack */
-	SALIS_INST EATB, /**< < Eat backwards */
-	SALIS_INST EATF  /**< > Eat forward */
+	SALIS_INST POPN  /**< ~ Pop value from stack */
 };
 
 /** Determine if an unsigned integer contains a valid instruction.
diff --git a/include/process.h b/include/process.h
index 3723ad6..bd46462 100644
--- a/include/process.h
+++ b/include/process.h
@@ -5,8 +5,7 @@
 * This module allows access to Salis processes, or procs. Procs are the actual
 * organisms in the simulation. They consist of a virtual CPU with 4 registers
 * and a stack of 8. The instruction pointer (IP) and seeker pointer (SP)
-* coordinate the execution of all instructions. Organisms get rewarded or
-* punished, depending on certain conditions.
+* coordinate the execution of all instructions.
 */
 
 #ifndef SALIS_PROCESS_H
@@ -21,8 +20,6 @@ struct Process
 	SALIS_PROC_ELEMENT uint32 mb1s;
 	SALIS_PROC_ELEMENT uint32 mb2a;
 	SALIS_PROC_ELEMENT uint32 mb2s;
-	SALIS_PROC_ELEMENT uint32 reward;
-	SALIS_PROC_ELEMENT uint32 punish;
 	SALIS_PROC_ELEMENT uint32 ip;
 	SALIS_PROC_ELEMENT uint32 sp;
 	SALIS_PROC_ELEMENT uint32 rax;
-- 
cgit v1.2.1