This is the driver version 4.12.013 from the Matrox website. It says Windows 98 on the website but the driver installs on WIndows 95 and talks about Windows 95 in the Readme.
After installing correctly, it hangs PCem because it uses the following unimplemented features (discovered by attempting a fix and some logging): unknown atype 020 and 060 with every single opcode that supports it, atype 040 with line, ILOAD FILTER opcode. There might be more that I missed but I think that is it.
The Matrox documentation says atype 2 and 6 (the 020 and 060 PCem logs) are reserved and so is 5. So I am not sure why the driver is even using them.
Matrox Mystique Windows 95/98 driver hang
Re: Matrox Mystique Windows 95/98 driver hang
There's strange IRQ-related issues with it at this early WIP stage i've noticed on other boards (at least that's what the Powerdesk Diagnostics bring up), and the most stable setup right now is a ZP+Win95+4.10.01.4120
EDIT: Disabling the floppy drive in the bios can potentially produce a reboot loop at the My Computer window
EDIT: Disabling the floppy drive in the bios can potentially produce a reboot loop at the My Computer window
Re: Matrox Mystique Windows 95/98 driver hang
I looked at the code and it appears the machine I was attempting this on (the Shuttle) uses a 430VX chipset, it works on the ZP which has 430FX. For an experiment, I simply changed the 430VX's ID to that of 430FX, and the Matrox driver worked without issue on the other machine, so it appears to be Windows 95's poor support for 430VX chipset. Do you know where I could find a better Windows 95 driver for the 430VX chipset?
Update - Found Chipset driver (INF Update) version 3.3.0.2 and installed it, still same problem on 430VX.
Update - Found Chipset driver (INF Update) version 3.3.0.2 and installed it, still same problem on 430VX.
Re: Matrox Mystique Windows 95/98 driver hang
Doing more test, it appears the Matrox driver is being smart and enabling/disabling features depending on what chipset it detects it is on. It will do DMA on 430VX but not on 430FX.
Re: Matrox Mystique Windows 95/98 driver hang
After I made bit 3 settable on PCI register 7 (the Bus Master bit) as the Developer Specification says it should be, Window 95 now gives different errors on other chipsets (while still working on 430FX). Now it tries to do an iload_high in 32BGR mode (that code lacks a define for), I implemented that in a quick and dirty way just to get past it and then it tries to do an iload_write line open next which is also not implemented. If I disable the register writes that start DMA, Windows 95 boots but everything except for the icons is black. So it is at least trying to use valid commands now.