From 2dc9d118efb64de6ea54a5a9eb4474f8e5ef3145 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Thu, 29 Feb 2024 01:50:44 +0100 Subject: Initial commit --- include/memory.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 include/memory.h (limited to 'include/memory.h') diff --git a/include/memory.h b/include/memory.h new file mode 100644 index 0000000..a36a2ff --- /dev/null +++ b/include/memory.h @@ -0,0 +1,30 @@ +#ifndef SALIS_MEMORY_H +#define SALIS_MEMORY_H + +void sm_init (sword order); +void sm_quit (void); +void sm_load (FILE *file); +void sm_save (FILE *file); + +sbool sm_isInit (void); +sword sm_getOrder (void); +sword sm_getSize (void); +sword sm_getMemBlockCount (void); +sword sm_getAllocated (void); +sword sm_getCap (void); + +sbool sm_isOverCap (void); +sbool sm_isValidAt (sword addr); +sbool sm_isMemBlockStartAt (sword addr); +sbool sm_isAllocatedAt (sword addr); + +void sm_setMemBlockStartAt (sword addr); +void sm_unsetMemBlockStartAt (sword addr); +void sm_allocateAt (sword addr); +void sm_freeAt (sword addr); +sbyte sm_getInstAt (sword addr); +void sm_setInstAt (sword addr, sbyte inst); +sbyte sm_getByteAt (sword addr); +void sm_setByteAt (sword addr, sbyte byte); + +#endif -- cgit v1.2.1