Eventually improved the seperation between the two sublevels of instruction steps(instruction level(the instruction handler itself) vs internal level(the general instruction handlers) vs modr/m level(which both can be on either instruction level or internal level)). Having seperated those properly, Windows 95 setup now continues on somewhat, without saying anything(eventually clearing the screen into what seems like graphics mode), ending up at an infinite HLT(with interrupt flag cleared).
Something I do see occuring, is that it's moving data using MOVSB between two memory areas, eventually executing RET and ending up into initialized RAM(Filled with 0x0000 words, which execute as a valid MOV instruction until eventually crashing)?
Anyone has a log at 3000kIPS(like from Dosbox) which shows what's running when executing MS-DOS 5.0 from the harddisk, then running the SETUP.EXE on the root of a Windows 95B CD-ROM?
Edit: Running it again with only HIMEM.SYS, VIDE-CDD.SYS and MSCDEX.EXE loaded in memory, it now crashes on a opcode 63h /5 #UD in real mode? It happens at C132:D4FA? That would equal physical address CE81A, which would be kind of strange, seeing as it's within the hard disk ROM? C6000 is the start of the hard disk ROM, which ends at C8000, but after that there's only the copy of the physical BIOS that's mapped as shadow RAM, which goes from E0000-FFFFF?
Edit: Managed to make a common emulator log of it running until the #UD(ARPL) instruction.
Edit: The compressed log:
The attachment debugger_Windows95setup_UniPCemu_20180505_1810_split.001.7z is no longer available
The attachment debugger_Windows95setup_UniPCemu_20180505_1810_split.002.7z is no longer available
To use, rename 001.7z to 7z.001 and 002.7z to 7z.002 and open the archive for the log file(7GB when extracted).
Can anyone see why the setup fails? What's going wrong?