public byte[] CloneSaveRam()
        {
            if (disposed)
            {
                if (_disposedSaveRam != null)
                {
                    return((byte[])_disposedSaveRam.Clone());
                }

                return(new byte[0]);
            }
            else
            {
                int    size = 0;
                IntPtr area = IntPtr.Zero;
                LibGPGX.gpgx_get_sram(ref area, ref size);
                if (size <= 0 || area == IntPtr.Zero)
                {
                    return(new byte[0]);
                }
                LibGPGX.gpgx_sram_prepread();

                byte[] ret = new byte[size];
                Marshal.Copy(area, ret, 0, size);
                return(ret);
            }
        }