Preheat oven to 180 degrees C. Grease and flour a 23x33cm cake tin. In a mixing bowl, mix the flour, baking powder, 1/3 cup cocoa powder and 1/4 teaspoon salt together and set aside.
In a separate bowl, cream together 250g butter and 2 cups sugar until light and fluffy. Beat in the eggs one at a time, then stir in the 2 teaspoons vanilla. Add the flour mixture and mix until combined. Finally, fold in 1 cup walnuts.
Bake for 30 minutes, or until a skewer inserted into the cake comes out clean. Remove from oven and distribute marshmallows on top. Return to oven for 10 minutes or until marshmallow are melted. Allow to cool before icing.
In a mixing bowl, combine 125g butter, 1/3 cup cocoa, icing sugar, evaporated milk, vanilla and pinch of salt. Mix until smooth and spread on cake, then sprinkle with diced walnuts.