gmc4 emulation initial commit