#include #include #include #include "Chip8.h" #include "opcode.h" struct Chip8 chip8 = { .PC = 0x200, .memory= { //bitmap for the fonts 0xF0, 0x90, 0x90, 0x90, 0xF0, //0 0x20, 0x60, 0x20, 0x20, 0x70, //1 0xF0, 0x10, 0xF0, 0x80, 0xF0, //2 0xF0, 0x10, 0xF0, 0x10, 0xF0, //3 0x90, 0x90, 0xF0, 0x10, 0x10, //4 0xF0, 0x80, 0xF0, 0x10, 0xF0, //5 0xF0, 0x80, 0xF0, 0x90, 0xF0, //6 0xF0, 0x10, 0x20, 0x40, 0x40, //7 0xF0, 0x90, 0xF0, 0x90, 0xF0, //8 0xF0, 0x90, 0xF0, 0x10, 0xF0, //9 0xF0, 0x90, 0xF0, 0x90, 0x90, //A 0xE0, 0x90, 0xE0, 0x90, 0xE0, //B 0xF0, 0x80, 0x80, 0x80, 0xF0, //C 0xE0, 0x90, 0x90, 0x90, 0xE0, //D 0xF0, 0x80, 0xF0, 0x80, 0xF0, //E 0xF0, 0x80, 0xF0, 0x80, 0x80 //F }}; int main(void) { int file_handler; uint16_t const * pathname = u"\\\\fls0\\PUZZLE.ch8"; dclear(C_BLACK); dupdate(); file_handler = BFile_Open(pathname, BFile_ReadOnly); /* if(file_handler > 0) { dtext(1,1,"reading", C_BLACK, C_WHITE); dupdate(); getkey(); } if(BFile_Read(file_handler, &chip8.memory[0x200], 3000,-1) > 0) { dtext(1,1,"reading", C_BLACK, C_WHITE); dupdate(); getkey(); }*/ BFile_Read(file_handler, &chip8.memory[0x200], 264,-1); while(1) { execute(); } return 1; }