* 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