I'm currently still trying to get the floppy disk(which keeps double seeking still for some unknown reason?) and Windows 95 setup to run(with the issues still present). Can anyone see what's wrong with the CPU emulation?
CPU emulation files:
https://bitbucket.org/superfury/unipcem ... ?at=mastercpu.c: Basic CPU core support
opcodes(0F)_80(X)86.c/opcodes_NECV30.c: The basic instructions that are added each CPU(8086, NEC V30(actually 80186), 80286, 80386, 80486(Pentium only theoretically, currently still disabled due to being unable to run at cycle accuracy, not having it's added functionality besides CPUID implemented yet)).
modrm.c: ModR/M parsing, decoding and I/O support.
protection.c: Basic protected mode support, segmentation support etc.
flags.c: Basic flag calculations for common algorithmic instructions.
biu.c: BIU emulation.
paging.c: Paging support.
timings.c: Timings and instruction parse/decode information tables(which are used for handling instruction timings and instruction fetching/decoding).
protecteddebugging.c: Protected mode debugger register handling.
cpu_execution.c: Execution phase support for the CPU to handle different tasks through the BIU(memory I/O, task switching, interrupts, basic opcode phase(which handles running opcodes)).
multitasking.c: Handles the task switching(called by cpu_execution.c's handler during the task switch execution phase).
unkop.c: #UD handlers for different CPU generations.
cb_manager.c: Simple instruction generation for ROM code to handle internal emulation calls(using port I/O) and emulation entry point(which runs the emulator's starting code, which displays the initial yellow text option and loads ROMs and other testcases when running the internal BIOS before starting the normal emulation fully(after it loads the BIOS ROMs or uses the internal BIOS ROM option(untested for a long time)).
cpu_jmptbls(0f).c: Mapping of all supported (0F) instructions for all supported CPUs(read once when starting a CPU's emulation and translated(reduced) to a more simple lookup table (optimized) for the specified CPU).
Anyone can see what's going wrong? As far as I can see, the instructions match the manuals(as far as it's documented) completely(at least as far as the opcode bytes are concerned)?