#include #include #include #include "Chip8.h" #include "opcode.h" // libprof tests #include #include 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\\PONG.ch8"; dclear(C_BLACK); dupdate(); file_handler = BFile_Open(pathname, BFile_ReadOnly); BFile_Read(file_handler, &chip8.memory[0x200], 264,-1); // prof init char time[7]=""; prof_init(1, 0); prof_clear(0); int i=0; while(1) { prof_enter(0); execute(); prof_leave(0); i++; if (!(i%=256)) { // test sur 256 actions -> moyenne snprintf(time, sizeof(time), "%d", (prof_time(0) >> 8)); prof_clear(0); } dprint(1, 50, C_WHITE, C_BLACK, "%s", time); } return 1; }