Reply 100 of 235, by superfury
ALEKS wrote on 2021-05-12, 17:15:Then it appears the accelerator emulation code is still somehow faulty. Theoretically StarCraft would not be directly using the […]
Then it appears the accelerator emulation code is still somehow faulty. Theoretically StarCraft would not be directly using the video card but would pass through the Windows abstraction layer (including the driver).
I had myself some visual pixel artifacts but in my case they were all caused by bad hardware design which I corrected in the second revision of the PCB.
In your case it might be either memory timing errors (but in that case all the screen would get corrupted, not just the font rendering) or some obscure register settings that you haven't figured out, yet.
I have not had any time to follow this thread or look in the datasheet but once I free myself from other projects I will try to also take a look.
Well, in my emulator's case(at least with Starcraft), it looks like some kind of CPU bug somehow. I see it repeatedly faulting on the motherboard i430fx BIOS ROM(segment F000) in Virtual 8086 mode. Those are all faults writing to port 43h and 40h. The only others I see are ports 20h for interrupt acnowledge(what looks ;ike the PIT timer being acknowledged for it's IRQ0 handler, according to the IMR on the master PIC). Did see only one IRQ15 in there too (which was the secondary master CD-ROM drive containing the Starcraft CUE/ISO).
I do know it's feeding the accelerator incorrect data on the memory aperture most of the time (validated by forcing the A-character from the CGAA 8x8 font ROM as a replacement based on the x/y accelerator coordinates for the mixmap byte). And sometimes it's actually at least partially correct.
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io