* Alexander Polakov <p...@sdf.org> [120903 21:41]:
> Now back to "underlying issues": x86emu executes some code which causes
> parity check NMI (bit 7 set in port 0x61) to be generated, which causes
> drop to the debugger (I mistook it for a panic).

Nobody asked me which code exactly. But I'll tell you anyway.

000C1867 56                             push    si
000C1868 BE 38 02                       mov     si, 0x0238
000C186B 8B 34                          mov     si, [si]
000C186D 8B 74 10                       mov     si, [si+0x10]
000C1870 83 C6 04                       add     si, 0x04
000C1873 FC                             cld     
000C1874 B9 07 00                       mov     cx, 0x0007
000C1877 66 AD                          lods    eax, ds:[esi]
000C1879 E8 D5 F9                       call    0x000C1251
000C187C 83 C3 04                       add     bx, 0x04
000C187F E2 F6                          loop    0x000C1877
000C1881 5E                             pop     si
000C1882 C3                             ret     

NMI ... going to debugger
<...>
x86emu: SEGMASK: 0x0
x86emu: R_DS: 0xc000
x86emu: R_SS: 0x0
x86emu: R_CS: 0xc000
x86emu: R_ES: 0xc000
x86emu: R_FS: 0x0
x86emu: R_GS: 0x0
x86emu: R_IP: 0x1877
x86emu: R_SI: 0xe886
x86emu: R_ESI: 0xe886
x86emu: Now at 0xc1877, instruction: 0x66

Sometimes it's 0xc1878 or even 0xc187f.

So, if you feel like debugging this video bios/x86 emulation mess,
feel free to contact me, I can provide you with memory dump or
disassembled memory dump.

Reply via email to