i think there's also a shift register, or the ability to use one of the ports as a shift register. this is used by Creative's CMSDRV driver for another card ID scheme.
Top-level
i think there's also a shift register, or the ability to use one of the ports as a shift register. this is used by Creative's CMSDRV driver for another card ID scheme. 6 comments
and this is the routine that looks at the "shift register" on port 224h. other sources say that it always reads as 7F, but the MSB can change, and this code checks for a particular pattern. @tubetime I think they were just trying to hide the strings to make dumping the ROM, scanning the ROM for strings, and quickly changing them in a hex editor not an option. It's a lot of benefit for just a little extra work. @tubetime This article implies it's a custom PLA used to latch values for card identification. Maybe originally based on some obscure 40-pin off the shelf part? http://nerdlypleasures.blogspot.com/2012/10/all-you-ever-wanted-to-know-about.html |
speaking of the CMSDRV, i did some reverse engineering work on that as well. it uses self-modifying code and XOR "encryption" to try and prevent reverse engineering, lol.