 					break;
 				case ZPG:
 					str += "ZPG $" + hexToStr(p1) + " = ";
-					str += hexToStr(X);
+					str += hexToStr(_mem[p1]);
 					break;
 				case IMP:
 					break;

		{
			_mem.position = 0x100 + SP;
			SP = (SP + 1) & 0xFF;
			return _mem.readByte();
		}
		
		private function readByte(addr:uint):int

{
	import flash.utils.ByteArray;
	import flash.utils.getTimer;
	import net.johnmercer.nes.utils.Debug;
	import net.johnmercer.nes.view.Emulator;
	/**
	 * ...
