Fixed the fixes of the 64-bit recompiler;

Updated the ROM set link in README.md.
This commit is contained in:
OBattler
2018-10-08 04:40:12 +02:00
parent 018e58b51e
commit 0c602a8d26
2 changed files with 14 additions and 14 deletions

View File

@@ -47,7 +47,7 @@ guide:
7. In order to test your fresh build, replace the `86Box.exe` in your current 7. In order to test your fresh build, replace the `86Box.exe` in your current
86Box enviroment with your freshly built one. If you do not have a 86Box enviroment with your freshly built one. If you do not have a
pre-existing 86Box environment, download the latest successful build from pre-existing 86Box environment, download the latest successful build from
http://ci.86box.net, and the ROM set from http://tinyurl.com/rs20180914. http://ci.86box.net, and the ROM set from http://tinyurl.com/rs20181008.
8. Enjoy using and testing the emulator! :) 8. Enjoy using and testing the emulator! :)
If you encounter issues at any step or have additional questions, please join If you encounter issues at any step or have additional questions, please join

View File

@@ -904,7 +904,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
codeblock_t *block = &codeblock[block_current]; codeblock_t *block = &codeblock[block_current];
uint32_t op_32 = use32; uint32_t op_32 = use32;
uint32_t op_pc = new_pc; uint32_t op_pc = new_pc;
OpFn *op_table = (OpFn *) x86_dynarec_opcodes; const OpFn *op_table = (OpFn *) x86_dynarec_opcodes;
RecompOpFn *recomp_op_table = recomp_opcodes; RecompOpFn *recomp_op_table = recomp_opcodes;
int opcode_shift = 0; int opcode_shift = 0;
int opcode_mask = 0x3ff; int opcode_mask = 0x3ff;
@@ -929,7 +929,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
switch (opcode) switch (opcode)
{ {
case 0x0f: case 0x0f:
op_table = (OpFn *) x86_dynarec_opcodes_0f; op_table = x86_dynarec_opcodes_0f;
recomp_op_table = recomp_opcodes_0f; recomp_op_table = recomp_opcodes_0f;
over = 1; over = 1;
break; break;
@@ -967,7 +967,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
break; break;
case 0xd8: case 0xd8:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_d8_a32 : (OpFn *) x86_dynarec_opcodes_d8_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_d8_a32 : x86_dynarec_opcodes_d8_a16;
recomp_op_table = recomp_opcodes_d8; recomp_op_table = recomp_opcodes_d8;
opcode_shift = 3; opcode_shift = 3;
opcode_mask = 0x1f; opcode_mask = 0x1f;
@@ -977,7 +977,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xd9: case 0xd9:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_d9_a32 : (OpFn *) x86_dynarec_opcodes_d9_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_d9_a32 : x86_dynarec_opcodes_d9_a16;
recomp_op_table = recomp_opcodes_d9; recomp_op_table = recomp_opcodes_d9;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -986,7 +986,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xda: case 0xda:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_da_a32 : (OpFn *) x86_dynarec_opcodes_da_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_da_a32 : x86_dynarec_opcodes_da_a16;
recomp_op_table = recomp_opcodes_da; recomp_op_table = recomp_opcodes_da;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -995,7 +995,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xdb: case 0xdb:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_db_a32 : (OpFn *) x86_dynarec_opcodes_db_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_db_a32 : x86_dynarec_opcodes_db_a16;
recomp_op_table = recomp_opcodes_db; recomp_op_table = recomp_opcodes_db;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -1004,7 +1004,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xdc: case 0xdc:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_dc_a32 : (OpFn *) x86_dynarec_opcodes_dc_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_dc_a32 : x86_dynarec_opcodes_dc_a16;
recomp_op_table = recomp_opcodes_dc; recomp_op_table = recomp_opcodes_dc;
opcode_shift = 3; opcode_shift = 3;
opcode_mask = 0x1f; opcode_mask = 0x1f;
@@ -1014,7 +1014,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xdd: case 0xdd:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_dd_a32 : (OpFn *) x86_dynarec_opcodes_dd_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_dd_a32 : x86_dynarec_opcodes_dd_a16;
recomp_op_table = recomp_opcodes_dd; recomp_op_table = recomp_opcodes_dd;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -1023,7 +1023,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xde: case 0xde:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_de_a32 : (OpFn *) x86_dynarec_opcodes_de_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_de_a32 : x86_dynarec_opcodes_de_a16;
recomp_op_table = recomp_opcodes_de; recomp_op_table = recomp_opcodes_de;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -1032,7 +1032,7 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
block->flags |= CODEBLOCK_HAS_FPU; block->flags |= CODEBLOCK_HAS_FPU;
break; break;
case 0xdf: case 0xdf:
op_table = (op_32 & 0x200) ? (OpFn *) x86_dynarec_opcodes_df_a32 : (OpFn *) x86_dynarec_opcodes_df_a16; op_table = (op_32 & 0x200) ? x86_dynarec_opcodes_df_a32 : x86_dynarec_opcodes_df_a16;
recomp_op_table = recomp_opcodes_df; recomp_op_table = recomp_opcodes_df;
opcode_mask = 0xff; opcode_mask = 0xff;
over = 1; over = 1;
@@ -1045,11 +1045,11 @@ void codegen_generate_call(uint8_t opcode, OpFn op, uint32_t fetchdat, uint32_t
break; break;
case 0xf2: /*REPNE*/ case 0xf2: /*REPNE*/
op_table = (OpFn *) x86_dynarec_opcodes_REPNE; op_table = x86_dynarec_opcodes_REPNE;
recomp_op_table = recomp_opcodes_REPNE; recomp_op_table = recomp_opcodes_REPNE;
break; break;
case 0xf3: /*REPE*/ case 0xf3: /*REPE*/
op_table = (OpFn *) x86_dynarec_opcodes_REPE; op_table = x86_dynarec_opcodes_REPE;
recomp_op_table = recomp_opcodes_REPE; recomp_op_table = recomp_opcodes_REPE;
break; break;
@@ -1096,7 +1096,7 @@ generate_call:
if ((op_table == x86_dynarec_opcodes_REPNE || op_table == x86_dynarec_opcodes_REPE) && !op_table[opcode | op_32]) if ((op_table == x86_dynarec_opcodes_REPNE || op_table == x86_dynarec_opcodes_REPE) && !op_table[opcode | op_32])
{ {
op_table = (OpFn *) x86_dynarec_opcodes; op_table = x86_dynarec_opcodes;
recomp_op_table = recomp_opcodes; recomp_op_table = recomp_opcodes;
} }