VOGONS

Common searches


Search results

Display options

Re: PIC's IMR vs IRR vs IR?

in PC Emulation
If an IRQ line is raised, the bit is set in the IRR whether the line is masked or not. The IRQ will then fire when unmasked if the line is still high. If the line is lowered before unmasking the IRR bit will be cleared and no IRQ will fire. The only time you get a spurious IRQ is if the line is …

Re: Finding bugs in 8086-80386 emulation core?

in PC Emulation
You can tell it's in Standard mode by just looking at CR0. In Enhanced mode, paging would be enabled. As for why the IDT is mostly zero, that's probably impossible to tell with the information available. I can tell you that when run in a different emulator, descriptor 0x0008 points to the GDT and …

Re: Intel Inboard 386 XT/AT 386 emulation help?

in PC Emulation
I'm struggling with something: What is the effective operand/address size when CS is reloaded? So during extra push/pop operations(different kind of gates), how does the CPU determine to push/pop 16/32-bit address/data? The D/B bit in the descriptor sets the operand size. So if B is set in SS, it …

Re: x86 segment base vs expand down segments?

in PC Emulation
What happens when a stack(or any expand-down data) segment (descriptor) is indexed with a register while using a expand-down segment? Say ESP=0, it gets decreased to 0xFFFFFFC for a dword write, then writing a value to SS:FFFFFFFC. The SS segment descriptor base pointing to 0x400, what memory …

Re: Double fault or double faults?

in PC Emulation
The descriptor cache isn't reloaded until a new selector is loaded into the segment register. So if SS was 0 in real mode the descriptor cache will contain Base: 0x000000 Limit:0xffff Flags: 0x93 and it will stay that, even after a switch to pmode, until a new selector is loaded when the descriptor …

Re: UniPCemu's 80286 emulation bug help?

in PC Emulation
What program was it that used 80286-style "Task State Segment" descriptors? Was it an operating system running in Virtual 8086 Mode or Protected Mode (such as Windows/386 and higher or OS/2), or was it something else (such as a debugger)? The Ergo 286 DOS extender used in Turbo Debugger 286 (TD286. …

Re: UniPCemu's 80286 emulation bug help?

in PC Emulation
Edit: Hmmm... https://lists.ubuntu.com/archives/kernel-team/2014-November/049401.html So CPL is CS.RPL until the stack is valid. Then CPL is set to SS.DPL? Is that correct? So it's a hidden 2-bit 'register'? That's how I did it in the MAME 286 emulation (other than the hidden register part) and it …

Re: UniPCemu's 80286 emulation bug help?

in PC Emulation
Look at the list from the Pentium manual above, or the 486 manual , SS is checked before CS. I believe the 80386 manual you linked is wrong and they corrected it in the 80486 manual and there more more mistakes than that. Look at https://pdos.csail.mit.edu/6.828/2014/readings/i386/IRET.htm under " …

Re: UniPCemu's 80286 emulation bug help?

in PC Emulation
OK. But isn't the CPL the lowest 2 bits of the CS segment selector? Or is it the currently loaded CS DPL in the descriptor cache? Since any app can simply load CS with a different CPL by means of a JMP instruction to it's own segment selector? (CS&0xFFFC) The RPL of CS should always be equal to CPL …

Re: UniPCemu's 80286 emulation bug help?

in PC Emulation
- What does it mean with the segments being readable? That it's not paged out of RAM? Segments are always readable? Also, it can't check, since each segment can use different limit configurations combined with paging? Readability here just means they aren't execute only code segments. - Are the …

Re: Cycle-accurate Floppy Disk emulation(82077AA)?

in PC Emulation
What happens when a MT read on side 1 is issued? Does it read side 0 of the same track after it and finish, giving the result of side 1, next track? Multitrack reads end at eot on side 1. Btw, when is the head reloaded during implicit seek and read/write sectors? Is it first loaded, then seeking, …

Page 7 of 11