added Yuji Ojamada changes, improving compilation on newer platforms and inlcuding tasm support