From 105e1280927e38456089372e02a61cac4fd4f987 Mon Sep 17 00:00:00 2001 From: Luxdragon Date: Sat, 20 Jan 2024 19:06:47 +0100 Subject: [PATCH] Done :D --- emulator_shell.c | 2423 +++++++++++++++++++++------------------------- space.png | Bin 0 -> 214893 bytes 2 files changed, 1120 insertions(+), 1303 deletions(-) create mode 100644 space.png diff --git a/emulator_shell.c b/emulator_shell.c index 481540b..86757fb 100644 --- a/emulator_shell.c +++ b/emulator_shell.c @@ -7,88 +7,15 @@ // gcc emulator_shell.c `pkg-config --cflags --libs gtk+-3.0` -lpthread -o emulator -void keyDown(uint8_t key); -void keyUp(uint8_t key); - -//===== GTK SETUP ===== - -static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data) -{ - switch (event->keyval) - { - case GDK_KEY_Left: - // Code to be executed when the left arrow key is pressed down - g_print("Left arrow key pressed down\n"); - keyDown(1); - break; - case GDK_KEY_Right: - // Code to be executed when the right arrow key is pressed down - g_print("Right arrow key pressed down\n"); - keyDown(2); - break; - case GDK_KEY_space: - // Code to be executed when the space bar is pressed down - g_print("Space bar pressed down\n"); - keyDown(3); - break; - case GDK_KEY_c: - // Code to be executed when the 'c' key is pressed down - g_print("'c' key pressed down\n"); - keyDown(0); - break; - case GDK_KEY_s: - // Code to be executed when the 's' key is pressed down - g_print("'s' key pressed down\n"); - keyDown(4); - break; - } - - return FALSE; -} - -static gboolean on_key_release(GtkWidget *widget, GdkEventKey *event, gpointer user_data) -{ - switch (event->keyval) - { - case GDK_KEY_Left: - // Code to be executed when the left arrow key is released - g_print("Left arrow key released\n"); - keyUp(1); - break; - case GDK_KEY_Right: - // Code to be executed when the right arrow key is released - g_print("Right arrow key released\n"); - keyUp(2); - break; - case GDK_KEY_space: - // Code to be executed when the space bar is pressed down - g_print("Space bar released\n"); - keyUp(3); - break; - case GDK_KEY_c: - // Code to be executed when the 'c' key is pressed down - g_print("'c' key released\n"); - keyUp(0); - break; - case GDK_KEY_s: - // Code to be executed when the 's' key is pressed down - g_print("'s' key released\n"); - keyUp(4); - break; - } - return FALSE; -} - //===== EMULATOR SETUP ===== //GLOBAL VARIABLES uint8_t in_port; char which_interrupt; uint8_t upscaleFactor = 2; -uint8_t lauteco = 90; //GLOBAL GRAPHICS -uint8_t *bitmap = NULL; +uint8_t *bitmap = NULL; @@ -144,6 +71,117 @@ unsigned char cycles8080[] = { 11, 10, 10, 4, 17, 11, 7, 11, 11, 5, 10, 4, 17, 17, 7, 11, }; +//===== GTK SETUP ===== + +void keyDown(uint8_t key) +{ + switch(key) { + case 0: // COIN + in_port |= 0x1; + break; + case 1: // LEFT + in_port |= 0x20; + break; + case 2: // RIGHT + in_port |= 0x40; + break; + case 3: // FIRE + in_port |= 0x10; + break; + case 4: // START + in_port |= 0x04; + break; + } +} + +void keyUp(uint8_t key) +{ + switch(key) { + case 0: // COIN + in_port &= ~0x1; + break; + case 1: // LEFT + in_port &= ~0x20; + break; + case 2: // RIGHT + in_port &= ~0x40; + break; + case 3: // FIRE + in_port &= ~0x10; + break; + case 4: // START + in_port &= ~0x04; + break; + } +} + +static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data) +{ + switch (event->keyval) + { + case GDK_KEY_a: + // Code to be executed when the left arrow key is pressed down + g_print("Left arrow key pressed down\n"); + keyDown(1); + break; + case GDK_KEY_d: + // Code to be executed when the right arrow key is pressed down + g_print("Right arrow key pressed down\n"); + keyDown(2); + break; + case GDK_KEY_w: + // Code to be executed when the space bar is pressed down + g_print("w down\n"); + keyDown(3); + break; + case GDK_KEY_c: + // Code to be executed when the 'c' key is pressed down + g_print("'c' key pressed down\n"); + keyDown(0); + break; + case GDK_KEY_s: + // Code to be executed when the 's' key is pressed down + g_print("'s' key pressed down\n"); + keyDown(4); + break; + } + + return FALSE; +} + +static gboolean on_key_release(GtkWidget *widget, GdkEventKey *event, gpointer user_data) +{ + switch (event->keyval) + { + case GDK_KEY_a: + // Code to be executed when the left arrow key is released + g_print("Left arrow key released\n"); + keyUp(1); + break; + case GDK_KEY_d: + // Code to be executed when the right arrow key is released + g_print("Right arrow key released\n"); + keyUp(2); + break; + case GDK_KEY_w: + // Code to be executed when the space bar is pressed down + g_print("w released\n"); + keyUp(3); + break; + case GDK_KEY_c: + // Code to be executed when the 'c' key is pressed down + g_print("'c' key released\n"); + keyUp(0); + break; + case GDK_KEY_s: + // Code to be executed when the 's' key is pressed down + g_print("'s' key released\n"); + keyUp(4); + break; + } + return FALSE; +} + //===== EMULATOR FUNCTIONS ===== int disassemble8080(unsigned char* code) { @@ -444,7 +482,7 @@ int disassemble8080(unsigned char* code) { } -void unknownInstruction(State8080* state) { +void UnimplementedInstruction(State8080* state) { printf("Error: Unknown instruction"); return exit(1); } @@ -474,10 +512,13 @@ uint8_t machineIn(State8080* state, uint8_t port) { uint8_t a; switch(port) { case 0: - a = 1; + a = 0xf; + break; + case 1: + a = in_port; break; case 2: - a = in_port; + a = 0; break; case 3: { @@ -503,1203 +544,991 @@ void machineOut(State8080* state, uint8_t port, uint8_t value) { } } } +// Due to problems in code, many commands were replaced by the ones from the guide + +static void LogicFlagsA(State8080 *state) +{ + state->cc.cy = state->cc.ac = 0; + state->cc.z = (state->a == 0); + state->cc.s = (0x80 == (state->a & 0x80)); + state->cc.p = parity(state->a, 8); +} + +static void ArithFlagsA(State8080 *state, uint16_t res) +{ + state->cc.cy = (res > 0xff); + state->cc.z = ((res&0xff) == 0); + state->cc.s = (0x80 == (res & 0x80)); + state->cc.p = parity(res&0xff, 8); +} + +static void WriteMem(State8080* state, uint16_t address, uint8_t value) +{ + if (address < 0x2000) + { + // printf("Writing ROM not allowed %x\n", address); + return; + } + if (address >=0x4000) + { + // printf("Writing out of Space Invaders RAM not allowed %x\n", address); + return; + } + + state->memory[address] = value; +} + +static uint8_t ReadFromHL(State8080* state) +{ + uint16_t offset = (state->h << 8) | state->l; + return state->memory[offset]; +} + +static void WriteToHL(State8080* state, uint8_t value) +{ + uint16_t offset = (state->h << 8) | state->l; + WriteMem(state, offset, value); +} + +static void Push(State8080* state, uint8_t high, uint8_t low) +{ + WriteMem(state, state->sp-1, high); + WriteMem(state, state->sp-2, low); + state->sp = state->sp - 2; + // printf ("%04x %04x\n", state->pc, state->sp); +} + +static void Pop(State8080* state, uint8_t *high, uint8_t *low) +{ + *low = state->memory[state->sp]; + *high = state->memory[state->sp+1]; + state->sp += 2; + // printf ("%04x %04x pop\n", state->pc, state->sp); +} + +static void FlagsZSP(State8080 *state, uint8_t value) +{ + state->cc.z = (value == 0); + state->cc.s = (0x80 == (value & 0x80)); + state->cc.p = parity(value, 8); +} + int emulate8080(State8080* state) { unsigned char *opcode = &(state->memory[state->pc]); - printf("%04x ", state->pc); + //printf("%04x ", state->pc); - disassemble8080(opcode); + //disassemble8080(opcode); state->pc++; switch(*opcode) { - case 0x00: break; // NOP does nothing - case 0x01: // LXI B, word - state->c = opcode[1]; - state->b = opcode[2]; - state->pc += 2; - break; - case 0x02: // STAX B - { - uint16_t offset = (state->b << 8) | state->c; - state->memory[offset] = state->a; - } - break; - case 0x03: // INX B - { - state->c++; - if (state->c == 0) { - state->b++; - } - state->cc.z = (state->b == 0); - state->cc.s = (0x80 == (state->b & 0x80)); - state->cc.p = parity(state->b, 8); - } - break; - case 0x04: // INR B - { - state->b++; - } - break; - case 0x05: // DCR B - { - uint8_t res = state->b - 1; - state->b = res; - state->cc.z = (res == 0); - state->cc.s = (0x80 == (res & 0x80)); - state->cc.p = parity(res, 8); - } - break; - case 0x06: // MVI B, byte - state->b = opcode[1]; - state->pc += 1; - break; - case 0x07: // RLC - { - uint8_t x = state->a; - state->a = ((x & 0x80) >> 7) | (x << 1); - state->cc.cy = (0x80 == (x & 0x80)); - } - break; - case 0x09: // DAD B - { - uint32_t h1 = (state->h << 8) | state->l; - uint32_t bc = (state->b << 8) | state->c; - uint32_t result = h1 + bc; - state->h = (result & 0xff00) >> 8; - state->l = result & 0xff; - state->cc.cy = ((result & 0xffff0000) != 0); - } - break; - - case 0x0a: // LDAX B - { - uint16_t address = (state->b << 8) | state->c; - state->a = state->memory[address]; - } - break; - - case 0x0d: // DCR C - { - uint8_t res = state->c - 1; - state->c = res; - state->cc.z = (res == 0); - state->cc.s = ((res & 0x80) == 0x80); - state->cc.p = parity(res, 8); - } - break; - case 0x0e: // MVI C, byte - state->c = opcode[1]; - state->pc++; - break; - case 0x0f: // RRC - { + case 0x00: break; //NOP + case 0x01: //LXI B,word + state->c = opcode[1]; + state->b = opcode[2]; + state->pc += 2; + break; + case 0x02: //STAX B + { + uint16_t offset=(state->b<<8) | state->c; + WriteMem(state, offset, state->a); + } + break; + case 0x03: //INX B + state->c++; + if (state->c == 0) + state->b++; + break; + case 0x04: //INR B + state->b += 1; + FlagsZSP(state,state->b); + break; + case 0x05: //DCR B + state->b -= 1; + FlagsZSP(state,state->b); + break; + case 0x06: //MVI B,byte + state->b = opcode[1]; + state->pc++; + break; + case 0x07: //RLC + { + uint8_t x = state->a; + state->a = ((x & 0x80) >> 7) | (x << 1); + state->cc.cy = (0x80 == (x&0x80)); + } + break; + case 0x08: UnimplementedInstruction(state); break; + case 0x09: //DAD B + { + uint32_t hl = (state->h << 8) | state->l; + uint32_t bc = (state->b << 8) | state->c; + uint32_t res = hl + bc; + state->h = (res & 0xff00) >> 8; + state->l = res & 0xff; + state->cc.cy = ((res & 0xffff0000) != 0); + } + break; + case 0x0a: //LDAX B + { + uint16_t offset=(state->b<<8) | state->c; + state->a = state->memory[offset]; + } + break; + case 0x0b: //DCX B + state->c -= 1; + if (state->c==0xff) + state->b-=1; + break; + case 0x0c: //INR C + state->c += 1; + FlagsZSP(state,state->c); + break; + + case 0x0d: //DCR C + state->c -= 1; + FlagsZSP(state,state->c); + break; + case 0x0e: //MVI C,byte + state->c = opcode[1]; + state->pc++; + break; + case 0x0f: //RRC + { uint8_t x = state->a; state->a = ((x & 1) << 7) | (x >> 1); - state->cc.cy = (1 == (x & 1)); - } - break; - case 0x11: // LXI D, word - { - state->d = opcode[2]; - state->e = opcode[1]; - state->pc += 2; - } - break; - case 0x13: // INX D - { - state->e++; - if (state->e == 0) { - state->d++; - }} - break; - case 0x16: // MVI D, byte - state->d = opcode[1]; - state->pc++; - break; - case 0x19: // DAD D - { - uint32_t h1 = (state->h << 8) | state->l; - uint32_t de = (state->d << 8) | state->e; - uint32_t result = h1 + de; - state->h = (result & 0xff00) >> 8; - state->l = result & 0xff; - state->cc.cy = ((result & 0xffff0000) != 0); - } - break; - case 0x1a: // LDAX D - { - uint16_t de = (state->d << 8) | state->e; - state->a = state->memory[de]; - } - break; - - case 0x21: // LXI H, word - { - state->h = opcode[2]; - state->l = opcode[1]; - state->pc += 2; - } - break; - case 0x22: // SHLD - { - uint16_t address = (opcode[2] << 8) | opcode[1]; - state->memory[address] = state->l; - state->memory[address+1] = state->h; - state->pc += 2; - } - break; - case 0x23: // INX H - { - state->l++; - if (state->l == 0) { - state->h++; - } - } - break; - case 0x26: // MVI H, byte - { - state->h = opcode[1]; - state->pc++; - } - break; - case 0x27: // DAA - { - if ((state->a & 0x0f) > 9) { - state->a += 6; - } else if ((state->a & 0xf0) > 0x90) { - uint16_t res = (uint16_t) state->a + 0x60; - state->a = res & 0xff; - state->cc.cy = (res > 0xff); - state->cc.z = ((res & 0xff) == 0); - state->cc.s = (0x80 == (res & 0x80)); - state->cc.p = parity((res & 0xff), 8); - } - } - break; - case 0x29: // DAD H - { - uint32_t hl = (state->h << 8) | state->l; - uint32_t result = hl + hl; - state->h = (result & 0xff00) >> 8; - state->l = result & 0xff; - state->cc.cy = ((result & 0xffff0000) != 0); - } - break; - - case 0x2a: // LHLD adress - { - uint16_t adress = (opcode[2]<<8) | (opcode[1]); - state->h = state->memory[adress]; - state->l = state->memory[adress+1]; - state->pc += 2; - } - break; - case 0x2b: // DCX H - { - state->l--; - if (state->l == 0xff) { - state->h--; - } - } - break; - case 0x2c: // INR L - { - state->l++; - state->cc.z = (state->l == 0); - state->cc.s = (0x80 == (state->l & 0x80)); - state->cc.p = parity(state->l, 8); - } - break; - case 0x2d: // DCR L - { - state->l--; - state->cc.z = (state->l == 0); - state->cc.s = (0x80 == (state->l & 0x80)); - state->cc.p = parity(state->l, 8); - } - break; - case 0x2e: // MVI L, Adress - state->l = opcode[1]; - state->pc++; - break; - case 0x2f: // CMA (NOT) - state->a = ~state->a; - break; - case 0x31: // LXI SP, word - state->sp = ((opcode[2] << 8) | opcode[1]); - state->pc += 2; - break; - case 0x32: // STA adress - { - uint16_t adress = (opcode[2]<<8) | (opcode[1]); - state->memory[adress] = state->a; - state->pc += 2; - } - break; - - case 0x34: // ICR M - { - uint16_t offset = (state->h << 8) | state->l; - uint8_t res = state->memory[offset] + 1; - state->cc.z = (res == 0); - state->cc.s = (0x80 == (res & 0x80)); - state->cc.p = parity(res, 8); - state->memory[offset] = res; - } - break; - case 0x35: // DCR M - { - uint16_t offset = (state->h << 8) | state->l; - uint8_t res = state->memory[offset] - 1; - state->cc.z = (res == 0); - state->cc.s = (0x80 == (res & 0x80)); - state->cc.p = parity(res, 8); - state->memory[offset] = res; - } - break; - case 0x36: // MVI M, byte - { - uint16_t adress = (state->h <<8) | (state->l); - state->memory[adress] = opcode[1]; - state->pc++; - } - break; - - case 0x37: // STC - state->cc.cy = 1; - break; - - case 0x3a: // LDA adress - { - uint16_t adress = (opcode[2]<<8) | (opcode[1]); - state->a = state->memory[adress]; - state->pc += 2; - } - break; - case 0x3b: // DCX SP - { - state->sp--; - } - break; - case 0x3c: // INR A - { - state->a++; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - } - break; - case 0x3d: // DCR A - { - state->a--; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - } - break; - - case 0x3e: // MVI A, byte - state->a = opcode[1]; - state->pc++; - break; - case 0x3f: // CMC - state->cc.cy = 0; - break; - case 0x41: // MOV B, C - state->b = state->c; - break; - case 0x42: // MOV B, D - state->b = state->d; - break; - case 0x43: // MOV B, E - state->b = state->e; - break; - case 0x44: // MOV B, H - state->b = state->h; - break; - case 0x45: // MOV B, L - state->b = state->l; - break; - case 0x46: // MOV B, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->b = state->memory[adress]; - } - case 0x47: // MOV B, A - state->b = state->a; - break; - case 0x48: // MOV C, B - state->c = state->b; - break; - case 0x49: // MOV C, C - break; - case 0x4a: // MOV C, D - state->c = state->d; - break; - case 0x4b: // MOV C, E - state->c = state->e; - break; - case 0x4c: // MOV C, H - state->c = state->h; - break; - case 0x4d: // MOV C, L - state->c = state->l; - break; - case 0x4e: // MOV C, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->c = state->memory[adress]; - } - break; - case 0x4f: // MOV C, A - state->c = state->a; - break; - case 0x50: // MOV D, B - state->d = state->b; - break; - case 0x51: // MOV D, C - state->d = state->c; - break; - case 0x52: // MOV D, D - break; - case 0x53: // MOV D, E - state->d = state->e; - break; - case 0x54: // MOV D, H - state->d = state->h; - break; - case 0x55: // MOV D, L - state->d = state->l; - break; - case 0x56: // MOV D, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->d = state->memory[adress]; - } - break; - case 0x57: // MOV D, A - state->d = state->a; - break; - case 0x58: // MOV E, B - state->e = state->b; - break; - case 0x59: // MOV E, C - state->e = state->c; - break; - case 0x5a: // MOV E, D - state->e = state->d; - break; - case 0x5b: // MOV E, E - break; - case 0x5c: // MOV E, H - state->e = state->h; - break; - case 0x5d: // MOV E, L - state->e = state->l; - break; - case 0x5e: // MOV E, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->e = state->memory[adress]; - } - break; - case 0x5f: // MOV E, A - state->e = state->a; - break; - case 0x60: // MOV H, B - state->h = state->b; - break; - case 0x61: // MOV H, C - state->h = state->c; - break; - case 0x62: // MOV H, D - state->h = state->d; - break; - case 0x63: // MOV H, E - state->h = state->e; - break; - case 0x64: // MOV H, H - break; - case 0x65: // MOV H, L - state->h = state->l; - break; - case 0x66: // MOV H, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->h = state->memory[adress]; - } - break; - case 0x67: // MOV H, A - { - state->h = state->a; - } - break; - case 0x68: // MOV L, B - state->l = state->b; - break; - case 0x69: // MOV L, C - state->l = state->c; - break; - case 0x6a: // MOV L, D - state->l = state->d; - break; - case 0x6b: // MOV L, E - state->l = state->e; - break; - case 0x6c: // MOV L, H - state->l = state->h; - break; - case 0x6d: // MOV L, L - break; - case 0x6e: // MOV L, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->l = state->memory[adress]; - } - break; - case 0x6f: // MOV L, A - state->l = state->a; - break; - case 0x77: // MOV M, A - { - uint16_t adress = (state->h<<8) | (state->l); - state->memory[adress] = state->a; - } - break; - case 0x7a: // MOV A, D - state->a = state->d; - break; - case 0x78: // MOV A, B - state->a = state->b; - break; - case 0x79: // MOV A, C - state->a = state->c; - break; - case 0x7b: // MOV A, E - state->a = state->e; - break; - case 0x7c: // MOV A, H - state->a = state->h; - break; - case 0x7d: // MOV A, L - state->a = state->l; - break; - case 0x7e: // MOV A, M - { - uint16_t adress = (state->h<<8) | (state->l); - state->a = state->memory[adress]; - } - break; - case 0x7f: // MOV A, A - break; - case 0x80: // ADD B - { - uint16_t answer = (uint16_t) state->a + (uint16_t) state->b; - state->cc.z = ((answer & 0xff) == 0); - state->cc.s = ((answer & 0x80) != 0); - state->cc.cy = (answer > 0xff); - state->cc.p = parity(answer & 0xff, 8); - state->a = answer & 0xff; - } - break; - - case 0x86: // ADD M - { - uint16_t offset = (state->h<<8) | (state->l); - uint16_t answer = (uint16_t) state->a + state->memory[offset]; - state->cc.z = ((answer & 0xff) == 0); - state->cc.s = ((answer & 0x80) != 0); - state->cc.cy = (answer > 0xff); - state->cc.p = parity(answer & 0xff, 8); - state->a = answer & 0xff; - } - break; - case 0x1f: // RAR - { - uint8_t x = state->a; - state->a = (state->cc.cy << 7) | (x >> 1); - state->cc.cy = (1 == (x & 1)); - } - break; - - case 0xa0: // ANA B - state->a = state->a & state->b; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa1: // ANA C - state->a = state->a & state->c; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa2: // ANA D - state->a = state->a & state->d; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa3: // ANA E - state->a = state->a & state->e; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa4: // ANA H - state->a = state->a & state->h; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa5: // ANA L - state->a = state->a & state->l; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xa6: // ANA HL - { - uint16_t adress = (state->h << 8) | state->l; - state->a = state->a & state->memory[adress]; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - } - break; - - case 0xa7: // ANA A - state->a &= state->a; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - case 0xa8: // XRA B - state->a ^= state->b; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - case 0xa9: // XRA C - state->a ^= state->c; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - case 0xaa: // XRA D - state->a ^= state->d; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - - case 0xab: // XRA E - state->a ^= state->e; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - - case 0xac: // XRA H - state->a ^= state->h; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - - case 0xad: // XRA L - state->a ^= state->d; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - case 0xae: // XRA HL - { - uint16_t adress = (state->h << 8) | state->l; - state->a ^= state->memory[adress]; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - } - break; - case 0xaf: // XRA A - state->a ^= state->a; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - state->cc.cy = state->cc.ac = 0; - break; - case 0xb0: // ORA B - state->a |= state->b; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb1: // ORA C - state->a |= state->c; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb2: // ORA D - state->a |= state->d; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb3: // ORA E - state->a |= state->e; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb4: // ORA H - state->a |= state->h; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb5: // ORA L - state->a |= state->l; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xb6: // ORA M - { - uint16_t offset = (state->h<<8) | (state->l); - state->a |= state->memory[offset]; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - } - break; - case 0xb7: // ORA A - state->a |= state->a; - state->cc.cy = state->cc.ac = 0; - state->cc.z = (state->a == 0); - state->cc.s = (0x80 == (state->a & 0x80)); - state->cc.p = parity(state->a, 8); - break; - case 0xc0: // RNZ - { - if (state->cc.z == 0) { - state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); - state->sp += 2; - } - } - break; - case 0xc1: // POP B - state->c = state->memory[state->sp]; - state->b = state->memory[state->sp+1]; - state->sp += 2; - break; - - case 0xc2: // JNZ adress - if (0 == state-> cc.z) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - break; - - case 0xc3: // JMP adress - state->pc = (opcode[2] << 8) | opcode[1]; - break; - case 0xc4: // CNZ adress - { - if (0 == state->cc.z) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = ret & 0xff; - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - - case 0xc5: // PUSH B - state->memory[state->sp-1] = state->b; - state->memory[state->sp-2] = state->c; - state->sp -= 2; - break; - case 0xc6: // ADI byte - { - uint16_t answer = (uint16_t) state->a + (uint16_t) opcode[1]; - state->cc.z = ((state->a & 0xff) == 0); - state->cc.s = ((state->a & 0x80) == 0x80); - state->cc.cy = (state->a > 0xff); - state->cc.p = parity(state->a & 0xff, 8); - state->pc++; - } - break; - - case 0xc8: // RZ - { - if (state->cc.z) { - state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); - state->sp += 2; - } - } - break; - case 0xc9: // RET - state->pc = (state->memory[state->sp+1] << 8) | state->memory[state->sp]; - state->sp += 2; - break; - case 0xca: // JZ adress - { - if (state->cc.z) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc +=2; - } - } - break; - case 0xcc: // CZ adress - { - if (state->cc.z == 1) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = ret & 0xff; - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; + state->cc.cy = (1 == (x&1)); + } + break; + + case 0x10: UnimplementedInstruction(state); break; + case 0x11: //LXI D,word + state->e = opcode[1]; + state->d = opcode[2]; + state->pc += 2; + break; + case 0x12: //STAX D + { + uint16_t offset=(state->d<<8) | state->e; + WriteMem(state, offset, state->a); + } + break; + case 0x13: //INX D + state->e++; + if (state->e == 0) + state->d++; + break; + case 0x14: //INR D + state->d += 1; + FlagsZSP(state,state->d); + break; + case 0x15: //DCR D + state->d -= 1; + FlagsZSP(state,state->d); + break; + case 0x16: //MVI D,byte + state->d = opcode[1]; + state->pc++; + break; + case 0x17: //RAL + { + uint8_t x = state->a; + state->a = state->cc.cy | (x << 1); + state->cc.cy = (0x80 == (x&0x80)); + } + break; + case 0x18: UnimplementedInstruction(state); break; + case 0x19: //DAD D + { + uint32_t hl = (state->h << 8) | state->l; + uint32_t de = (state->d << 8) | state->e; + uint32_t res = hl + de; + state->h = (res & 0xff00) >> 8; + state->l = res & 0xff; + state->cc.cy = ((res & 0xffff0000) != 0); + } + break; + case 0x1a: //LDAX D + { + uint16_t offset=(state->d<<8) | state->e; + state->a = state->memory[offset]; + } + break; + case 0x1b: //DCX D + state->e -= 1; + if (state->e==0xff) + state->d-=1; + break; + case 0x1c: //INR E + state->e += 1; + FlagsZSP(state,state->e); + break; - case 0xcd: // CALL adress + case 0x1d: //DCR E + state->e -= 1; + FlagsZSP(state,state->e); + break; + case 0x1e: //MVI E,byte + state->e = opcode[1]; + state->pc++; + break; + case 0x1f: //RAR + { + uint8_t x = state->a; + state->a = (state->cc.cy << 7) | (x >> 1); + state->cc.cy = (1 == (x&1)); + } + break; + case 0x20: UnimplementedInstruction(state); break; + case 0x21: //LXI H,word + state->l = opcode[1]; + state->h = opcode[2]; + state->pc += 2; + break; + case 0x22: //SHLD + { + uint16_t offset = opcode[1] | (opcode[2] << 8); + WriteMem(state, offset, state->l); + WriteMem(state, offset+1, state->h); + state->pc += 2; + } + break; + case 0x23: //INX H + state->l++; + if (state->l == 0) + state->h++; + break; + case 0x24: //INR H + state->h += 1; + FlagsZSP(state,state->h); + break; + case 0x25: //DCR H + state->h -= 1; + FlagsZSP(state,state->h); + break; + case 0x26: //MVI H,byte + state->h = opcode[1]; + state->pc++; + break; + case 0x27: + if ((state->a &0xf) > 9) + state->a += 6; + if ((state->a&0xf0) > 0x90) { - uint16_t ret = state -> pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; + uint16_t res = (uint16_t) state->a + 0x60; + state->a = res & 0xff; + ArithFlagsA(state, res); + } + break; + case 0x28: UnimplementedInstruction(state); break; + case 0x29: //DAD H + { + uint32_t hl = (state->h << 8) | state->l; + uint32_t res = hl + hl; + state->h = (res & 0xff00) >> 8; + state->l = res & 0xff; + state->cc.cy = ((res & 0xffff0000) != 0); + } + break; + case 0x2a: //LHLD adr + { + uint16_t offset = opcode[1] | (opcode[2] << 8); + state->l = state->memory[offset]; + state->h = state->memory[offset+1]; + state->pc += 2; + } + break; + case 0x2b: //DCX H + state->l -= 1; + if (state->l==0xff) + state->h-=1; + break; + case 0x2c: //INR L + state->l += 1; + FlagsZSP(state,state->l); + break; + case 0x2d: //DCR L + state->l -= 1; + FlagsZSP(state,state->l); + break; + case 0x2e: //MVI L,byte + state->l = opcode[1]; + state->pc++; + break; + case 0x2f: + state->a = ~state->a; //CMA + break; + case 0x30: UnimplementedInstruction(state); break; + case 0x31: //LXI SP,word + state->sp = (opcode[2]<<8) | opcode[1]; + state->pc += 2; + break; + case 0x32: //STA (word) + { + uint16_t offset = (opcode[2]<<8) | (opcode[1]); + WriteMem(state, offset, state->a); + state->pc += 2; + } + break; + case 0x33: //INX SP + state->sp++; + break; + case 0x34: //INR M + { + uint8_t res = ReadFromHL(state) + 1; + FlagsZSP(state, res); + WriteToHL(state, res); + } + break; + case 0x35: //DCR M + { + uint8_t res = ReadFromHL(state) - 1; + FlagsZSP(state, res); + WriteToHL(state, res); + } + break; + case 0x36: //MVI M,byte + { + WriteToHL(state, opcode[1]); + state->pc++; + } + break; + case 0x37: state->cc.cy = 1; break; + case 0x38: UnimplementedInstruction(state); break; + case 0x39: //DAD SP + { + uint32_t hl = (state->h << 8) | state->l; + uint32_t res = hl + state->sp; + state->h = (res & 0xff00) >> 8; + state->l = res & 0xff; + state->cc.cy = ((res & 0xffff0000) > 0); + } + break; + case 0x3a: //LDA (word) + { + uint16_t offset = (opcode[2]<<8) | (opcode[1]); + state->a = state->memory[offset]; + state->pc+=2; + } + break; + case 0x3b: //DCX SP + state->sp -= 1; + break; + case 0x3c: //INR A + state->a += 1; + FlagsZSP(state,state->a); + break; + case 0x3d: //DCR A + state->a -= 1; + FlagsZSP(state,state->a); + break; + case 0x3e: //MVI A,byte + state->a = opcode[1]; + state->pc++; + break; + case 0x3f: state->cc.cy = 0; break; + + case 0x40: state->b = state->b; break; + case 0x41: state->b = state->c; break; + case 0x42: state->b = state->d; break; + case 0x43: state->b = state->e; break; + case 0x44: state->b = state->h; break; + case 0x45: state->b = state->l; break; + case 0x46: state->b = ReadFromHL(state); break; + case 0x47: state->b = state->a; break; + + case 0x48: state->c = state->b; break; + case 0x49: state->c = state->c; break; + case 0x4a: state->c = state->d; break; + case 0x4b: state->c = state->e; break; + case 0x4c: state->c = state->h; break; + case 0x4d: state->c = state->l; break; + case 0x4e: state->c = ReadFromHL(state); break; + case 0x4f: state->c = state->a; break; + + case 0x50: state->d = state->b; break; + case 0x51: state->d = state->c; break; + case 0x52: state->d = state->d; break; + case 0x53: state->d = state->e; break; + case 0x54: state->d = state->h; break; + case 0x55: state->d = state->l; break; + case 0x56: state->d = ReadFromHL(state); break; + case 0x57: state->d = state->a; break; + + case 0x58: state->e = state->b; break; + case 0x59: state->e = state->c; break; + case 0x5a: state->e = state->d; break; + case 0x5b: state->e = state->e; break; + case 0x5c: state->e = state->h; break; + case 0x5d: state->e = state->l; break; + case 0x5e: state->e = ReadFromHL(state); break; + case 0x5f: state->e = state->a; break; + + case 0x60: state->h = state->b; break; + case 0x61: state->h = state->c; break; + case 0x62: state->h = state->d; break; + case 0x63: state->h = state->e; break; + case 0x64: state->h = state->h; break; + case 0x65: state->h = state->l; break; + case 0x66: state->h = ReadFromHL(state); break; + case 0x67: state->h = state->a; break; + + case 0x68: state->l = state->b; break; + case 0x69: state->l = state->c; break; + case 0x6a: state->l = state->d; break; + case 0x6b: state->l = state->e; break; + case 0x6c: state->l = state->h; break; + case 0x6d: state->l = state->l; break; + case 0x6e: state->l = ReadFromHL(state); break; + case 0x6f: state->l = state->a; break; + + case 0x70: WriteToHL(state, state->b); break; //MOV M,B + case 0x71: WriteToHL(state, state->c); break; //MOV M,C + case 0x72: WriteToHL(state, state->d); break; //MOV M,D + case 0x73: WriteToHL(state, state->e); break; //MOV M,E + case 0x74: WriteToHL(state, state->h); break; //MOV M,H + case 0x75: WriteToHL(state, state->l); break; //MOV M,L + case 0x76: break; //HLT + case 0x77: WriteToHL(state, state->a); break; //MOV M,A + + case 0x78: state->a = state->b; break; + case 0x79: state->a = state->c; break; + case 0x7a: state->a = state->d; break; + case 0x7b: state->a = state->e; break; + case 0x7c: state->a = state->h; break; + case 0x7d: state->a = state->l; break; + case 0x7e: state->a = ReadFromHL(state); break; + case 0x7f: break; + + case 0x80: { uint16_t res = (uint16_t) state->a + (uint16_t) state->b; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD B + case 0x81: { uint16_t res = (uint16_t) state->a + (uint16_t) state->c; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD C + case 0x82: { uint16_t res = (uint16_t) state->a + (uint16_t) state->d; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD D + case 0x83: { uint16_t res = (uint16_t) state->a + (uint16_t) state->e; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD E + case 0x84: { uint16_t res = (uint16_t) state->a + (uint16_t) state->h; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD H + case 0x85: { uint16_t res = (uint16_t) state->a + (uint16_t) state->l; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADD L + case 0x86: //ADD M + { + uint16_t res = (uint16_t) state->a + (uint16_t) ReadFromHL(state); + ArithFlagsA(state, res); + state->a=(res&0xff); + } break; + case 0x87: { uint16_t res = (uint16_t) state->a + (uint16_t) state->a; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC A + + case 0x88: { uint16_t res = (uint16_t) state->a + (uint16_t) state->b + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC B + case 0x89: { uint16_t res = (uint16_t) state->a + (uint16_t) state->c + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC C + case 0x8a: { uint16_t res = (uint16_t) state->a + (uint16_t) state->d + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC D + case 0x8b: { uint16_t res = (uint16_t) state->a + (uint16_t) state->e + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC E + case 0x8c: { uint16_t res = (uint16_t) state->a + (uint16_t) state->h + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC H + case 0x8d: { uint16_t res = (uint16_t) state->a + (uint16_t) state->l + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC L + case 0x8e: //ADC M + { + uint16_t res = (uint16_t) state->a + (uint16_t) ReadFromHL(state) + state->cc.cy; + ArithFlagsA(state, res); + state->a=(res&0xff); + } break; + case 0x8f: { uint16_t res = (uint16_t) state->a + (uint16_t) state->a + state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //ADC A + + + case 0x90: { uint16_t res = (uint16_t) state->a - (uint16_t) state->b; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB B + case 0x91: { uint16_t res = (uint16_t) state->a - (uint16_t) state->c; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB C + case 0x92: { uint16_t res = (uint16_t) state->a - (uint16_t) state->d; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB D + case 0x93: { uint16_t res = (uint16_t) state->a - (uint16_t) state->e; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB E + case 0x94: { uint16_t res = (uint16_t) state->a - (uint16_t) state->h; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB H + case 0x95: { uint16_t res = (uint16_t) state->a - (uint16_t) state->l; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB L + case 0x96: //SUB M + { + uint16_t res = (uint16_t) state->a - (uint16_t) ReadFromHL(state); + ArithFlagsA(state, res); + state->a=(res&0xff); + } break; + case 0x97: { uint16_t res = (uint16_t) state->a - (uint16_t) state->a; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SUB A + + case 0x98: { uint16_t res = (uint16_t) state->a - (uint16_t) state->b - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB B + case 0x99: { uint16_t res = (uint16_t) state->a - (uint16_t) state->c - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB C + case 0x9a: { uint16_t res = (uint16_t) state->a - (uint16_t) state->d - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB D + case 0x9b: { uint16_t res = (uint16_t) state->a - (uint16_t) state->e - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB E + case 0x9c: { uint16_t res = (uint16_t) state->a - (uint16_t) state->h - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB H + case 0x9d: { uint16_t res = (uint16_t) state->a - (uint16_t) state->l - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB L + case 0x9e: //SBB M + { + uint16_t res = (uint16_t) state->a - (uint16_t) ReadFromHL(state) - state->cc.cy; + ArithFlagsA(state, res); + state->a=(res&0xff); + } break; + case 0x9f: { uint16_t res = (uint16_t) state->a - (uint16_t) state->a - state->cc.cy; ArithFlagsA(state, res); state->a=(res&0xff); } break; //SBB A + + case 0xa0: state->a = state->a & state->b; LogicFlagsA(state); break; + case 0xa1: state->a = state->a & state->c; LogicFlagsA(state); break; + case 0xa2: state->a = state->a & state->d; LogicFlagsA(state); break; + case 0xa3: state->a = state->a & state->e; LogicFlagsA(state); break; + case 0xa4: state->a = state->a & state->h; LogicFlagsA(state); break; + case 0xa5: state->a = state->a & state->l; LogicFlagsA(state); break; + case 0xa6: state->a = state->a & ReadFromHL(state); LogicFlagsA(state); break; + case 0xa7: state->a = state->a & state->a; LogicFlagsA(state); break; + + case 0xa8: state->a = state->a ^ state->b; LogicFlagsA(state); break; + case 0xa9: state->a = state->a ^ state->c; LogicFlagsA(state); break; + case 0xaa: state->a = state->a ^ state->d; LogicFlagsA(state); break; + case 0xab: state->a = state->a ^ state->e; LogicFlagsA(state); break; + case 0xac: state->a = state->a ^ state->h; LogicFlagsA(state); break; + case 0xad: state->a = state->a ^ state->l; LogicFlagsA(state); break; + case 0xae: state->a = state->a ^ ReadFromHL(state); LogicFlagsA(state); break; + case 0xaf: state->a = state->a ^ state->a; LogicFlagsA(state); break; + + case 0xb0: state->a = state->a | state->b; LogicFlagsA(state); break; + case 0xb1: state->a = state->a | state->c; LogicFlagsA(state); break; + case 0xb2: state->a = state->a | state->d; LogicFlagsA(state); break; + case 0xb3: state->a = state->a | state->e; LogicFlagsA(state); break; + case 0xb4: state->a = state->a | state->h; LogicFlagsA(state); break; + case 0xb5: state->a = state->a | state->l; LogicFlagsA(state); break; + case 0xb6: state->a = state->a | ReadFromHL(state); LogicFlagsA(state); break; + case 0xb7: state->a = state->a | state->a; LogicFlagsA(state); break; + + case 0xb8: { uint16_t res = (uint16_t) state->a - (uint16_t) state->b; ArithFlagsA(state, res); } break; //CMP B + case 0xb9: { uint16_t res = (uint16_t) state->a - (uint16_t) state->c; ArithFlagsA(state, res); } break; //CMP C + case 0xba: { uint16_t res = (uint16_t) state->a - (uint16_t) state->d; ArithFlagsA(state, res); } break; //CMP D + case 0xbb: { uint16_t res = (uint16_t) state->a - (uint16_t) state->e; ArithFlagsA(state, res); } break; //CMP E + case 0xbc: { uint16_t res = (uint16_t) state->a - (uint16_t) state->h; ArithFlagsA(state, res); } break; //CMP H + case 0xbd: { uint16_t res = (uint16_t) state->a - (uint16_t) state->l; ArithFlagsA(state, res); } break; //CMP L + case 0xbe: { uint16_t res = (uint16_t) state->a - (uint16_t) ReadFromHL(state); ArithFlagsA(state, res); } break; //CMP L + case 0xbf: { uint16_t res = (uint16_t) state->a - (uint16_t) state->a; ArithFlagsA(state, res); } break; //CMP A + + case 0xc0: //RNZ + if (state->cc.z == 0) + { + state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); + state->sp += 2; + } + break; + + case 0xc1: //POP B + Pop(state, &state->b, &state->c); + break; + case 0xc2: //JNZ address + if (0 == state->cc.z) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xc3: //JMP address + state->pc = (opcode[2] << 8) | opcode[1]; + break; + case 0xc4: //CNZ adr + if (state->cc.z == 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + + case 0xc5: //PUSH B + Push(state, state->b, state->c); + break; + case 0xc6: //ADI byte + { + uint16_t x = (uint16_t) state->a + (uint16_t) opcode[1]; + FlagsZSP(state, x&0xff); + state->cc.cy = (x > 0xff); + state->a = x&0xff; + state->pc++; + } + break; + case 0xc7: //RST 0 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x0000; + } + break; + case 0xc8: //RZ + if (state->cc.z) + { + state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); + state->sp += 2; + } + break; + case 0xc9: //RET + state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); + state->sp += 2; + break; + case 0xca: //JZ adr + if (state->cc.z) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xcb: UnimplementedInstruction(state); break; + case 0xcc: //CZ adr + if (state->cc.z == 1) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; state->pc = (opcode[2] << 8) | opcode[1]; - } - break; - case 0xce: // ACI byte - { - uint16_t answer = (uint16_t) state->a + (uint16_t) opcode[1] + state->cc.cy; - state->cc.z = ((answer & 0xff) == 0); - state->cc.s = (((answer & 0xff) & 0x80) == 0x80); - state->cc.p = parity(answer & 0xff, 8); - state->cc.cy = (answer > 0xff); - state->a = answer & 0xff; - state->pc++; - } - break; - case 0xcf: // RST 1 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = 0x08; - } - break; - case 0xd0: // RNC - if (state->cc.cy == 0) { + } + else + state->pc += 2; + break; + case 0xcd: //CALL address + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + break; + case 0xce: //ACI byte + { + uint16_t x = state->a + opcode[1] + state->cc.cy; + FlagsZSP(state, x&0xff); + state->cc.cy = (x > 0xff); + state->a = x & 0xff; + state->pc++; + } + break; + case 0xcf: //RST 1 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x0008; + } + break; + + case 0xd0: //RNC + if (state->cc.cy == 0) + { + state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); + state->sp += 2; + } + break; + case 0xd1: //POP D + Pop(state, &state->d, &state->e); + break; + case 0xd2: //JNC + if (state->cc.cy == 0) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xd3: //OUT d8 + machineOut(state, opcode[1], state->a); + state->pc++; + break; + case 0xd4: //CNC adr + if (state->cc.cy == 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + case 0xd5: //PUSH D + Push(state, state->d, state->e); + break; + case 0xd6: //SUI byte + { + uint8_t x = state->a - opcode[1]; + FlagsZSP(state, x&0xff); + state->cc.cy = (state->a < opcode[1]); + state->a = x; + state->pc++; + } + break; + case 0xd7: //RST 2 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x10; + } + break; + case 0xd8: //RC + if (state->cc.cy != 0) + { state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); state->sp += 2; - } - break; - case 0xd1: // POP D - state->e = state->memory[state->sp]; - state->d = state->memory[state->sp+1]; - state->sp += 2; - break; - case 0xd2: // JNC adress - { - if (0 == state->cc.cy) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xd3: // OUT byte - { - uint8_t port = opcode[1]; - machineOut(state, port, 0x00); // PROBLEM: We need to pass a value to machineOUT - state->pc++; - } - break; - case 0xd4: // CNC Adress - { - if (state->cc.cy == 0) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = ((ret >> 8) & 0xff); - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xd5: // PUSH D - state->memory[state->sp-1] = state->d; - state->memory[state->sp-2] = state->e; - state->sp -= 2; - break; - case 0xd6: // SUI Byte - { - uint8_t x = state->a - opcode[1]; - state->cc.z = (x&0xff == 0); - state->cc.s = (0x80 == ((x&0xff) & 0x80)); - state->cc.p = parity(x&0xff, 8); - state->cc.cy = (state->a < opcode[1]); - state->a = x; - state->pc++; - } - break; - case 0xd7: // RST 2 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = ((ret >> 8) & 0xff); - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = 0x10; - } - break; - case 0xd8: // RC - { - if (state->cc.cy != 0) { - state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); - state->sp += 2; - } - } - break; - case 0xda: // JC adress - { - if (state->cc.cy != 0) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xdb: // IN byte - { - uint8_t port = opcode[1]; - state->a = machineIn(state, port); - state->pc++; - } - break; - case 0xdc: // CC Adress - { - if (state->cc.cy != 0) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = ((ret >> 8) & 0xff); - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xde: // SBI byte - { - uint16_t x = state->a - opcode[1] - state->cc.cy; - state->cc.z = (x&0xff == 0); - state->cc.s = (0x80 == ((x&0xff) & 0x80)); - state->cc.p = parity(x&0xff, 8); - state->cc.cy = (x > 0xff); - state->a = x & 0xff; - state->pc++; - } - break; - case 0xdf: // RST 3 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = ((ret >> 8) & 0xff); - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = 0x18; - } - break; - case 0xe0: // RPO - if (state->cc.p == 0) + } + break; + case 0xd9: UnimplementedInstruction(state); break; + case 0xda: //JC + if (state->cc.cy != 0) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xdb: //IN d8 + state->a = machineIn(state, opcode[1]); //Check if this works + state->pc++; + break; + case 0xdc: //CC adr + if (state->cc.cy != 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + case 0xdd: UnimplementedInstruction(state); break; + case 0xde: //SBI byte + { + uint16_t x = state->a - opcode[1] - state->cc.cy; + FlagsZSP(state, x&0xff); + state->cc.cy = (x > 0xff); + state->a = x & 0xff; + state->pc++; + } + break; + case 0xdf: //RST 3 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x18; + } + break; + + case 0xe0: //RPO + if (state->cc.p == 0) { state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); state->sp += 2; } break; - case 0xe1: // POP H + case 0xe1: //POP H + Pop(state, &state->h, &state->l); + break; + case 0xe2: //JPO + if (state->cc.p == 0) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xe3: //XTHL + { + uint8_t h = state->h; + uint8_t l = state->l; state->l = state->memory[state->sp]; - state->h = state->memory[state->sp+1]; - state->sp += 2; - break; - case 0xe2: // JPO adress - { - if (0 == state->cc.p) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xe3: // XTHL - { - uint8_t tmp = state->l; - state->l = state->memory[state->sp]; - state->memory[state->sp] = tmp; - tmp = state->h; - state->h = state->memory[state->sp+1]; - state->memory[state->sp+1] = tmp; - } - break; - - case 0xe4: // CPO adress - { - if (0 == state->cc.p) { - uint16_t ret = state -> pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xe5: // PUSH H - state->memory[state->sp-1] = state->h; - state->memory[state->sp-2] = state->l; - state->sp -= 2; - break; - case 0xe6: // ANI byte - { - uint8_t x = state->a & opcode[1]; - state->cc.z = (x == 0); - state->cc.s = (0x80 == (x & 0x80)); - state->cc.cy = 0; - state->cc.p = parity(x, 8); - state->pc++; - } - break; - case 0xe7: // RST 4 - { - uint16_t ret = state -> pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = 0x20; - } - break; - case 0xe8: // RPE - { - if (0 != state->cc.p) { - state->pc = state->memory[state->sp] | (state->memory[state->sp+1] << 8); - state->sp += 2; - } - } - break; - case 0xe9: // PCHL - state->pc = (state->h << 8) | state->l; + state->h = state->memory[state->sp+1]; + WriteMem(state, state->sp, l ); + WriteMem(state, state->sp+1, h ); + } break; - case 0xea: // JPE - if (state->cc.p != 0) + case 0xe4: //CPO adr + if (state->cc.p == 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; state->pc = (opcode[2] << 8) | opcode[1]; + } else state->pc += 2; break; - case 0xeb: // XCHG - { - uint8_t tmp = state->h; - state->h = state->d; - state->d = tmp; - tmp = state->l; - state->l = state->e; - state->e = tmp; - } - break; - case 0xec: // CPE Adress - { - if (state->cc.p != 0) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xee: // XRI Data - { - uint8_t x = state->a ^opcode[1]; - state->cc.z = (x == 0); - state->cc.s = (0x80 == (x & 0x80)); - state->cc.p = parity(x, 8); - state->cc.cy = 0; - state->a = x; - state->pc++; - } - break; - case 0xef: // RST 5 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -=2; - state->pc = 0x28; - } - break; - case 0xf0: // RP - { - if (state->cc.s == 0) { - state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); - state->pc += 2; - } - } - break; - case 0xf1: // POP PSW - { - state->a = state->memory[state->sp+1]; - uint8_t psw = state->memory[state->sp]; - state->cc.z = (0x01 == (psw & 0x01)); - state->cc.s = (0x02 == (psw & 0x02)); - state->cc.p = (0x04 == (psw & 0x04)); - state->cc.cy = (0x08 == (psw & 0x08)); - state->cc.ac = (0x10 == (psw & 0x10)); - state->sp += 2; - } - break; - case 0xf2: // JP Adress - { - if (state->cc.s == 0) { - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - case 0xf3: // DI - state->int_enable = 0; - break; - case 0xf4: // CP - { - if (state->cc.s == 0) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xf5: // PUSH PSW - state->memory[state->sp-1] = state->a; - state->memory[state->sp-2] = (state->cc.z | (state->cc.s << 1) | (state->cc.p << 2) | (state->cc.cy << 3) | (state->cc.ac << 4)); - state->sp -= 2; - break; - case 0xf6: // ORI - { - uint8_t x = state->a | opcode[1]; - state->cc.z = (x == 0); - state->cc.s = (0x80 == (x & 0x80)); - state->cc.p = parity(x, 8); - - state->cc.cy = 0; - state->a = x; - state->pc++; - } - break; - - case 0xf7: // RST 6 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -=2; - state->pc = 0x30; - } - break; - case 0xf8: //RM - if (state->cc.s != 0) + case 0xe5: //PUSH H + Push(state, state->h, state->l); + break; + case 0xe6: //ANI byte + { + state->a = state->a & opcode[1]; + LogicFlagsA(state); + state->pc++; + } + break; + case 0xe7: //RST 4 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x20; + } + break; + case 0xe8: //RPE + if (state->cc.p != 0) { state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); state->sp += 2; } break; - case 0xf9: // SPHL - state->sp = state->l | (state->h << 8); + case 0xe9: //PCHL + state->pc = (state->h << 8) | state->l; break; - case 0xfa: // JM - if (state->cc.s != 0) + case 0xea: //JPE + if (state->cc.p != 0) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xeb: //XCHG + { + uint8_t save1 = state->d; + uint8_t save2 = state->e; + state->d = state->h; + state->e = state->l; + state->h = save1; + state->l = save2; + } + break; + case 0xec: //CPE adr + if (state->cc.p != 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + case 0xed: UnimplementedInstruction(state); break; + case 0xee: //XRI data + { + uint8_t x = state->a ^ opcode[1]; + FlagsZSP(state, x); + state->cc.cy = 0; //data book says clear cy + state->a = x; + state->pc++; + } + break; + case 0xef: //RST 5 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x28; + } + break; + + case 0xf0: //RP + if (state->cc.s == 0) + { + state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); + state->sp += 2; + } + break; + case 0xf1: //POP PSW + Pop(state, &state->a,(unsigned char*) &state->cc); + break; + case 0xf2: + if (state->cc.s == 0) state->pc = (opcode[2] << 8) | opcode[1]; else state->pc += 2; break; - case 0xfb: // EI - state->int_enable = 1; - break; - case 0xfc: // CM - { - if (state->cc.s != 0) { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -= 2; - state->pc = (opcode[2] << 8) | opcode[1]; - } else { - state->pc += 2; - } - } - break; - case 0xfe: // CPI byte - { - uint8_t x = state->a - opcode[1]; - state->cc.z = (x == 0); - state->cc.s = (0x80 == (x & 0x80)); - state->cc.cy = (state->a < opcode[1]); - state->cc.p = parity(x, 8); - state->pc++; - } - break; - case 0xff: // RST 7 - { - uint16_t ret = state->pc+2; - state->memory[state->sp-1] = (ret >> 8) & 0xff; - state->memory[state->sp-2] = (ret & 0xff); - state->sp -=2; - state->pc = 0x38; - } - break; - default: unknownInstruction(state); break; + case 0xf3: state->int_enable = 0; break; + case 0xf4: //CP + if (state->cc.s == 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + + case 0xf5: //PUSH PSW + Push(state, state->a, *(unsigned char*)&state->cc); + break; + + case 0xf6: //ORI byte + { + //AC set if lower nibble of h was zero prior to dec + uint8_t x = state->a | opcode[1]; + FlagsZSP(state, x); + state->cc.cy = 0; + state->a = x; + state->pc++; + } + break; + case 0xf7: //RST 6 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x30; + } + break; + case 0xf8: //RM + if (state->cc.s != 0) + { + state->pc = state->memory[state->sp] | (state->memory[state->sp+1]<<8); + state->sp += 2; + } + break; + case 0xf9: //SPHL + state->sp = state->l | (state->h << 8); + break; + case 0xfa: //JM + if (state->cc.s != 0) + state->pc = (opcode[2] << 8) | opcode[1]; + else + state->pc += 2; + break; + case 0xfb: state->int_enable = 1; break; + case 0xfc: //CM + if (state->cc.s != 0) + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = (opcode[2] << 8) | opcode[1]; + } + else + state->pc += 2; + break; + + case 0xfd: UnimplementedInstruction(state); break; + case 0xfe: //CPI byte + { + uint8_t x = state->a - opcode[1]; + FlagsZSP(state, x); + state->cc.cy = (state->a < opcode[1]); + state->pc++; + } + break; + case 0xff: //RST 7 + { + uint16_t ret = state->pc+2; + WriteMem(state, state->sp-1, (ret >> 8) & 0xff); + WriteMem(state, state->sp-2, (ret & 0xff)); + state->sp = state->sp - 2; + state->pc = 0x38; + } + break; + default: UnimplementedInstruction(state); break; } - printState(state); + //printState(state); return cycles8080[*opcode]; } @@ -1735,48 +1564,6 @@ void read_Space_Invaders_ROM(State8080* state, const char* filename, int offset) fclose(file); } -void keyDown(uint8_t key) -{ - switch(key) { - case 0: // COIN - in_port |= 0x1; - break; - case 1: // LEFT - in_port |= 0x20; - break; - case 2: // RIGHT - in_port |= 0x40; - break; - case 3: // FIRE - in_port |= 0x10; - break; - case 4: // START - in_port |= 0x04; - break; - } -} - -void keyUp( uint8_t key) -{ - switch(key) { - case 0: // COIN - in_port &= ~0x1; - break; - case 1: // LEFT - in_port &= ~0x20; - break; - case 2: // RIGHT - in_port &= ~0x40; - break; - case 3: // FIRE - in_port &= ~0x10; - break; - case 4: // START - in_port &= ~0x04; - break; - } -} - typedef struct cpu_data { char done; int total_cycles_count; @@ -1791,12 +1578,14 @@ void *cpu(void* arg) { State8080* state = cpu->state; int counter; + sleep(2); + while (!done) { counter = emulate8080(cpu->state); cpu->total_cycles_count += counter; printf("Total cycles: %d\n", cpu->total_cycles_count); - //usleep(counter / 2); // EMULATION OF THE PROCESSOR Å PEED + //usleep(1); // EMULATION OF THE PROCESSOR Å PEED if ((cpu->total_cycles_count > 16000) && (state->int_enable)) //1/60 second has elapsed { //redraw screen() will be handeled by the gtk_main() function @@ -1813,15 +1602,12 @@ void *cpu(void* arg) { } } -// ===== GTK GRAPHICS ===== +//===== GTK GRAPHICS ===== static void draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data) { - uint8_t *video = malloc(sizeof(uint8_t) * 256 * 256); // Adjusted size // Clear the drawing area if you want //cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); //cairo_paint(cr); - - // Copying the bitmap to video output for (int i = 0; i < 224; i++) { for (int j = 0; j < 32; j++) { uint8_t byte = bitmap[i*32 + j]; @@ -1830,38 +1616,40 @@ static void draw_callback(GtkWidget *widget, cairo_t *cr, gpointer user_data) { int x = i; // swap x and y int y = 255 - (j*8 + p); // flip the y-coordinate if (x >= 0 && x < 256 && y >= 0 && y < 256) { // Check bounds - video[y*256 + x] = pixel; + if (pixel) { + cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); // Set color to white + } else { + cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); // Set color to black + } + + cairo_rectangle(cr, x * upscaleFactor, y * upscaleFactor, upscaleFactor, upscaleFactor); + cairo_fill(cr); } } } } - - // Rendering the graphics - for (int x = 0; x < 224; x++) { - for (int y = 0; y < 256; y++) { - if (video[y*256 + x]) { - cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); // Set color to white - } else { - cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); // Set color to black - } - - cairo_rectangle(cr, x * upscaleFactor, y * upscaleFactor, upscaleFactor, upscaleFactor); - cairo_fill(cr); - } - } - - free(video); } void on_about_clicked(GtkToolButton *toolbutton, gpointer user_data) { GtkWidget *dialog = gtk_about_dialog_new(); + GtkWidget *image = gtk_image_new_from_file("space.png"); + + GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); + gtk_box_pack_start(GTK_BOX(box), image, TRUE, TRUE, 0); + gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), "Lux8080-Emulator"); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), "This is a simple Intel 8080-Emulator for Space Invaders using C and GTK. Following the guide of @realemulator101"); - gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(dialog), "your logo"); + gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(dialog), "8080.ico"); + + GtkWidget *content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); + gtk_box_pack_start(GTK_BOX(content_area), box, TRUE, TRUE, 0); + + gtk_widget_show_all(box); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } + gboolean update_ui(gpointer data) { // Seems like GTK is not thread safe // we fix it with update_ui using gtk_main_iteration_do(FALSE) @@ -1884,6 +1672,19 @@ void on_size_changed(GtkComboBox *combo_box, gpointer user_data) { g_free(text); } +gboolean close_splash_screen(gpointer data) { + GtkWidget *splash_screen = (GtkWidget*)data; + gtk_widget_hide(splash_screen); + return FALSE; +} + +gboolean open_screen(gpointer data) { + GtkWidget *window = (GtkWidget*)data; + gtk_widget_show_all(window); + return FALSE; +} + + int main (int argc, char *argv[]) { @@ -1913,12 +1714,23 @@ int main (int argc, char *argv[]) { g_signal_connect(window, "key-release-event", G_CALLBACK(on_key_release), NULL); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); + // Splashscreen + + GtkWidget *splash_screen = gtk_window_new(GTK_WINDOW_POPUP); + gtk_window_set_position(GTK_WINDOW(splash_screen), GTK_WIN_POS_CENTER); + GtkWidget *image = gtk_image_new_from_file("space.png"); + gtk_container_add(GTK_CONTAINER(splash_screen), image); + gtk_widget_show_all(splash_screen); + g_timeout_add(2000, close_splash_screen, splash_screen); + g_timeout_add(2002, open_screen, window); + // Toolbar init GtkWidget *toolbar = gtk_toolbar_new(); GtkCssProvider *provider = gtk_css_provider_new(); gtk_css_provider_load_from_data(provider, "* { -GtkWidget-toolbar-style: both-horiz; }", -1, NULL); gtk_style_context_add_provider(gtk_widget_get_style_context(toolbar), GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER); + // Size option in the toolbar GtkToolItem *size = gtk_tool_item_new(); GtkWidget *combo_box = gtk_combo_box_text_new(); @@ -1935,6 +1747,10 @@ int main (int argc, char *argv[]) { gtk_toolbar_insert(GTK_TOOLBAR(toolbar), about, -1); g_signal_connect(about, "clicked", G_CALLBACK(on_about_clicked), NULL); + gtk_widget_set_can_focus(GTK_WIDGET(combo_box), FALSE); + gtk_widget_set_can_focus(GTK_WIDGET(about), FALSE); + + // Drawing area init bitmap = &(state->memory[0x2400]); GtkWidget *drawing_area = gtk_drawing_area_new(); @@ -1949,7 +1765,7 @@ int main (int argc, char *argv[]) { - gtk_widget_show_all(window); + //gtk_widget_show_all(window); // CPU-init cpu_data *cpu_eco = malloc(sizeof(cpu_data)); @@ -1964,8 +1780,9 @@ int main (int argc, char *argv[]) { // Main GTK Loop - g_timeout_add(200, update_ui, drawing_area); + g_timeout_add(80, update_ui, drawing_area); gtk_main(); + cpu_eco->done = 1; pthread_join(pid, NULL); free(state->memory); free(state); diff --git a/space.png b/space.png new file mode 100644 index 0000000000000000000000000000000000000000..692943d12832f976068bff9fe71e67bf75771b7d GIT binary patch literal 214893 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

^ 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/M>$w}UjCc-~2jeh`;pWP*}@26;}^^0WgkQ?65 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%0DfuzbK2lR)%C_)ozb+YSv>?4z>c)J=7F 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 AegFUf literal 0 HcmV?d00001