BitWrangler wrote on 2021-06-02, 14:16:
The EDO doesn't hold it's output, the motherboard holds the EDO output.
No, it's the EDO itself. The main difference between FPM and EDO RAM chips is the behaviour of the RAM chip when /CAS goes inactive (i.e. high) after a read cycle, while /RAS stays active. On FPM chips, the data lines get tristated in this situation, whereas on EDO, the output is held on the data lines (hence the name "extended data out"). You could get EDO chips to release the bus while still keeping the page open if you deactivate the /OE pin ("output enable"), but this pin is not on the PS/2 simm connector. On PS/2 EDO SIMMs, /OE is permanently active (i.e. low).
I used to think that this is a flaw of the PS/2 SIMM standard that makes page-mode operation of EDO SIMMs nearly impossible, but I finally got to re-read the SiS 496/497 data sheet. While it provides a RAMOE pin that could be used to connect to the RAM /OE line, this signal is actually meant to be connected to a buffer chip between RAM and the chipset (and is intended to be ignored when there is no buffer chip, as on most consumer boards). Instead, the SiS 496 memory controller pulls a clever trick in EDO mode: After a read burst, it pulses /WE active while keeping /CAS inactive. According to EDO datasheets, activating /WE should be enough to free up the data bus, so that the processor can apply the new data that is going to be written as soon as /CAS will go low (activating /WE before /CAS is what RAM datasheets call an "early write", as /WE is earlier than /CAS). As the SiS 496 never pulls /CAS low, there is no actual write cycle happening (you could call it an "aborted early write" or "incomplete early write", but I never heard those terms). This killed my plan of modding an EDO module to have /OE on an NC pin and adding a bodge wire to the mainboard, as this is most likely unneeded. Instead, the RAM detection routine in the BIOS is the prime suspect now. It should detect if EDO RAMs are installed, and switch the chipset into EDO mode, so it generates the dummy /WE pulses, and thus prevent the bus conflict. In practice, all SiS 496/497 boards I had access to yet (Soyo SY-4SAW2, Asus PVI-486SP3) plain refuse to boot with EDO chips. The Asus board is extremely misleading by dropping into "flash recovery" mode (or trying to do so) if EDOs are installed, although the flash chip itself contains a good BIOS image.