In Chinese phonological studies, there is a tendency not to talk about vowels and consonants, but rather to talk about initials, medials, and finals. This is because it is the framework used by Chinese scholars before Westerners scholars began studying the language. Also, it has to do with Sinitic syllable structure. I don't want things to get complicated here, but just know that all initials are consonants.
So here is a table showing the regular correspondence between Holo Taiwanese initials (Tai-lo romanization) and Mandarin initials (zhuyin). Since Taiwanese is "older" phonologically, we show the split in relationship to the Taiwanese sound.
The area with the most unstable and unpredicable correspondence is marked in red.
You'll notice some peculiar things about this. The aspirated initials are more stable than the unaspirated version; Mandarin ㄍ and ㄅ have an asymmetrical split ('g' does not generally become ㄎ while 'p' can become both ㄅ and ㄆ). Voiced initials that exist in Taiwanese but not Mandarin tend to disappear; 'n' and 'l' have easily cross over (but both are still relatively stable); and it is hardest to predict the pronounciation of the Mandarin retroflex initials in Taiwanese.
Note: I sorta made up the table data based on observations, so if anyone has something to add to it, please let me know.