First you search info about psx hardware and MIPS R3000A microprocessor (core of psx), then you choice an interpeter (easier) or recompiler (faster) and then you start to code.
If you have any question you can to enter in this IRC chanels #psxemu or #epsxe. Maybe here you find response to all your doubts. And yes, it's possible to code a emu in visual c++. As a matter of fact i'm using visual c++ to code my emu (still in development). Also you can to see in the follow web page for info:
http://psx.rules.org
Ah, incidentally my english it's pretty bad (i think than that it's obvious).
See ya.
Scar_T