Place the olive oil in a large, heavy skillet over medium-high heat. Add the onions and cook for 1 minute. Add the mushrooms and 1 teaspoon of the salt. Saute, stirring occasionally, until all the moisture has evaporated and the mushrooms have cooked down, about 10 minutes. Add the Marsala and continue cooking until almost all the wine has evaporated, about 5 minutes.
Meanwhile, bring a large pot of water to a boil over high heat. Stir in remaining salt. Add the pasta and cook until tender but still firm to the bite, stirring occasionally, about 8 to 10 minutes. Drain pasta and add it into the mushrooms, Marsala and onions Add the artichoke hearts, Parmesan and cream and cook until the artichokes are heated through, about 5 minutes. Stir in the parsley and pepper. Transfer to a serving bowl and serve.