From 475996af26408156486faa43682f7effdabfa156 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 25 Dec 2023 07:24:17 +0100 Subject: Minor changes --- src/Makefile | 2 +- src/main.c | 8 +++++++- src/mem.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/mem.h | 10 ++++++++++ src/screen.c | 2 +- src/screen.h | 4 +++- src/vcpu.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/vcpu.h | 15 +++++++++++++++ 8 files changed, 146 insertions(+), 4 deletions(-) create mode 100644 src/mem.c create mode 100644 src/mem.h create mode 100644 src/vcpu.c create mode 100644 src/vcpu.h (limited to 'src') diff --git a/src/Makefile b/src/Makefile index 3263c46..a55169e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,7 +1,7 @@ EXEC=chip-8 -$(EXEC): main.c screen.c +$(EXEC): main.c screen.c mem.c vcpu.c gcc -lraylib $^ -o $@ clean: diff --git a/src/main.c b/src/main.c index 66b76c8..995f4ed 100644 --- a/src/main.c +++ b/src/main.c @@ -1,11 +1,17 @@ #include "screen.h" - +#include "mem.h" +#include "vcpu.h" int main(int argc, char *argv[]) { + // Initialize + MemInit(); + MemLoadROM("../roms/2-ibm-logo.ch8"); ScreenInit(800,400); + VCPUInit(); + ScreenSetPixel(0,1,1); while (!WindowShouldClose()){ diff --git a/src/mem.c b/src/mem.c new file mode 100644 index 0000000..c537120 --- /dev/null +++ b/src/mem.c @@ -0,0 +1,57 @@ +#include "mem.h" +#include + +unsigned char memory[4096]; + +extern unsigned char DEFAULT_FONT[]; + +void MemInit(){ + MemSet(0,0,4096); + MemCopy(DEFAULT_FONT,16*5,ADDR_FONT); +} + +void MemSet(int addr, unsigned char value, int size){ + for(int i=0;i