VOGONS


i430fx motherboard emulation issues?

Topic actions

Reply 20 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

I notice something interesting on the primary master: it issues a 0xEC command(Identify), but never reads the result after it's IRQ is fired(status register stays 0x48 from the point the IRQ is raised)?

The CD-ROM drive boots and detects without issues on the secondary ATA drive? I also only see the secondary drive accessing the alternate status register, but not on the primary? Is that maybe because of the"Resource Conflict" mentioned before the memory checking starts?

Anyone knows more about it? The PCI IDE is the only actual PCI hardware. All others are plain ISA(everything Dosbox has as well, minus 3D graphics cards and non-SB and only having plain SB2.0 hardware installed. ThenFDC is at it's legacy address(3F0-3F7(3F7 only bit 7)).

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 21 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

Just split the i430fx architecture from the Compaq Deskpro 386 with PS/2 extensions architecture(effectively making it use it's own CMOS RAM and disabling any Compaq-specific extensions to the AT architecture).

So the Compaq's special 1MB-2MB RAM addressing no longer applies(it now applies to all RAM, so A20 affects just A20, not just the 1MB-2MB memory area like the Compaq Deskpro 386 does).
The Compaq Deskpro 386-specific extensions(mainly, the Compaq Relocation registers and status register(the registers at memory address 80C00000h) are now disabled on said architecture (they would also conflict with said architecture and be unable to support both at the same time, mainly due to the low RAM area mapping without remapping it uses (from 640KB to 1MB)).
The same applies to the 80286 memory hole area(15MB-16MB), which is now managed differently, like a real 80286 does(the BIOS ROM being mapped there as well).

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 22 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

After having improved the ATA harddisk Identify command(0xEC) to set the Drive Seek Complete bit when giving it's results, the AMI BIOS no longer complains about it 😁

Now it just still complains about that "Resource Conflict" and "Cache Memory Error". The Resource Conflict is probably some conflict with IDE hard drives?
But what causes such a "Cache Memory Error"? Is it trying to do something special with the caches that needs implementation(and doesn't run well with uncached I/O)?

Edit: After some HDD autoconfiguration, the Windows 95 RTM HDD image boots without visible issues! It also detects the full 128MB RAM! 😁

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 23 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

Just found a little bug in the caching of the final byte (or addressing within that word or dword past the final byte of the ROM) of BIOS ROMs: When the byte past the final byte of the ROM was addressed, the cache would misbehave and return garbage read from memory, instead of properly terminating access to become it's proper other device or hardware when that happens(the next ROM, start of a RAM block or nothing being connected(0xFF response)).

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 24 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

I've implemented a simple define in the memory registration handler that disables the whole caching behaviour used by the MMU and all conntected hardware on the MMIO bus(so all device handlers but the input/output ports(IN/OUT instructions)). It doesn't seem to have any effect on the error message "Cache Memory Error" that's displayed at the end of the POST.

Anyone knows what this error means? What does it imply?

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 25 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

I noticed someting interesting with the i430fx motherboard BIOS. When I try to boot Hiren's boot CD for running diagnostic software, while the primary master and slave are a HDD (containing WIndows 95 RTM and the second hard drive containing a non-OS(probably not related)) and the secondary master/slave are the CD-ROM drives(The CD-ROM is in the secondary master CD-ROM drive), it will fail to boot the bootable CD-ROM, with a MS-DOS 7.1 error saying it can't locate Windows files for some reason? Isn't CD-ROM booting supposed to circumvent this?

Is this a real issue on said machine? Or is this perhaps an issue with UniPCemu's CPU or hardware emulation for some yet unknown reason?

Did find some bugs in the Keyboard controller chip emulation, though(For opcodes F4,F5,F6, which didn't properly give a result code).

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases

Reply 26 of 26, by superfury

User metadata
Rank l33t
Rank
l33t

OK. Since PC-Doctor 3.0 can't seem to find any CPU errors, I'm trying the other program that's on the disc(Eurosoft PC-Check 5.50) again. It still says "Loading Drive Library..."...

The last protection fault I actually saw is from a read from port 0x64? Should that actually throw a protection fault with that software?

UniPCemu Git repository
UniPCemu for Android, Windows and PSP on itch.io
Older UniPCemu PC/Android/PSP releases