VOGONS

Common searches


Search results

Display options

Re: Finding bugs in 8086-80386 emulation core?

Currently, 66h works as you say. But 67h only has effect on modr/m and mov to/from al/ax/eax with immediate offset(opcodes A0-A3). Wouldn't it cause problems if the stack size(SP vs ESP) can be overridden by 67h? Like with 67h PUSH [DS:ESI]? So both the parameters to store data(DS:ESI) and the stack …

Re: Finding bugs in 8086-80386 emulation core?

The operand size override will make it push/pop 32-bit registers and data on the stack and move stack data up or down 4 instead of 2 bytes(+/-=4 vs +/-=2) in real mode. The address size override(0x67) has no effect on stack, only modr/m and mov [imm16/32],al/ax/eax instructions. So it's ineffective …

Re: Finding bugs in 8086-80386 emulation core?

Thinking about it: SI should be 10h lower than the address of the place the PUSHA has pushed it's data? So the value of SI should be 0x7BAE, according to the instruction after the INT 13h(0x7BBE minus 0x10) and after the PUSHA? Edit: Just looked for occurrences of "SI,"(without quotation marks). It …

Re: Finding bugs in 8086-80386 emulation core?

Something I do notice, is that the SP register is exactly 0x10 higher after the INT 13h call returns(with 4 bytes in memory being skipped in the log). So maybe some problem in either the INT13h handler is occurring, or the code that executes directly after it returns(those missing 4 bytes of …

Re: Finding bugs in 8086-80386 emulation core?

I've been looking at the point where it examines the DPB table that's in the volume boot sector at address 24h. What's strange is: it reads the value(80h, hard disk number), substracts it with zero(CMP 80h,00h), but the JGE/JNL isn't followed, leading into some dead code, according to http://iks.cs. …

Re: Finding bugs in 8086-80386 emulation core?

A quick upload with all data, including the missing skipped executions(INT13 calls etc.): debugger_20170716_2225_complete.zip The instruction(s) that have the error should be in there somewhere. Edit: The code that's crashing and burning(the log) is the volume boot sector, not IO.SYS. It's supposed …

Re: Finding bugs in 8086-80386 emulation core?

Hmmm... Strange: When looking at the log executing the REP MOVSB to copy some table from the BIOS ROM(at F000:EFC7), I only see two bytes(0xDF and 0x02) being transferred(addresses: FEFC7=>522 and FEFC8=>523), interleaved with lots of (I assume) instruction fetches from RAM. Nothing's logged about …

Re: Finding bugs in 8086-80386 emulation core?

I've made a little dump of the boot sector, then the second stage of the boot sector after relocation and loading the second sector from disk: Filename debugger.log File size 341.55 KiB Downloads 21 downloads File comment UniPCemu running the second stage of the Windows 95 boot loader process(after …

Re: Finding bugs in 8086-80386 emulation core?

Looking into and stepping through the boot loader process, I see it loading two sectors from the harddisk, then eventually continuing on somewhere into zeroed RAM, which will eventually end up at 0000:FFFF. So it's the second stage of the boot loader that's going wrong(the part of the loader loaded …

Re: Finding bugs in 8086-80386 emulation core?

Just tried a Windows 95 harddisk image(From crazyc if I remember correctly, was a long time ago) with UniPCemu. After fixing a little bug causing the instruction fetcher to fetch modr/m parameters(or any data following the opcodes in general), when an error(like general protection faults or page …

Page 146 of 229