First post, by enaiel
- Rank
- Member
Not sure where to put this question, is there a sub-forum for DOS programming? I need help decoding the datasheet of the PLL ICS94211: https://www.renesas.com/us/en/document/dst/94211-datasheet
I wanted to do some programming in DOS for fun, so I thought why not try to program a utility to change the FSB on VIA chipsets (yes, I know, not the easiest thing to start with!). Elitist 440BX owners have RayeR's SMB utility. Us poor VIA chipset owners have nothing.
It's been very difficult going due to a combination of badly documented specifications along with badly implemented implementations. Not to mention, a lot of information simply lost to time. I finally managed to make some decent progress and was actually able to read a block of data from the PLL :
8 bytes read (hex): 02 7F EF BD F7 FF 06 3F
If I'm reading the datasheet correctly, byte 0 is the "Functionality and frequency select register", so it should be returning the current FSB from the table on page 5 of that datasheet. The PC's FSB is currently running at 100 MHz, so from that table, byte 0 should contain the following information:
|Bit 7| 0 | FS3 - From table for 100 MHz FSB
|Bit 6| 1 | FS2 - From table for 100 MHz FSB
|Bit 5| 1 | FS1 - From table for 100 MHz FSB
|Bit 4| 1 | FS0 - From table for 100 MHz FSB
|Bit 3| 0 | 0- Frequency is selected by hardware select, latched inputs. 1- Frequency is selected by Bit 2,7:4
|Bit 2| 0 | From table for 100 MHz FSB
|Bit 1| 1 | 0- Normal. 1- Spread spectrum enable ± 0.35% Center Spread
|Bit 0| 0 | 0- Running. 1- Tristate all outputs
But that gives me 0b01110010 or 0x72 and not 0x02. What am I doing wrong?